hotfix(routing): unmap ipv4-in-ipv6 when converting

This commit is contained in:
Quentin McGaw
2023-05-22 08:03:52 +00:00
parent eed62fdc6d
commit 3100cc1e5e
2 changed files with 2 additions and 5 deletions

View File

@@ -39,5 +39,5 @@ func netIPToNetipAddress(ip net.IP) (address netip.Addr) {
if !ok { if !ok {
panic(fmt.Sprintf("converting %#v to netip.Addr failed", ip)) panic(fmt.Sprintf("converting %#v to netip.Addr failed", ip))
} }
return address return address.Unmap()
} }

View File

@@ -46,10 +46,7 @@ func (r *Routing) assignedIP(interfaceName string, family int) (ip netip.Addr, e
continue continue
} }
// Ensure we don't return an IPv6-wrapped IPv4 address return ip, nil
// since netip.Address String method works differently than
// net.IP String method for this kind of addresses.
return ip.Unmap(), nil
} }
return ip, fmt.Errorf("%w: interface %s in %d addresses", return ip, fmt.Errorf("%w: interface %s in %d addresses",
errInterfaceIPNotFound, interfaceName, len(addresses)) errInterfaceIPNotFound, interfaceName, len(addresses))