Skip to content

Commit fe40bf1

Browse files
Merge pull request #361 from rabi/remove_check
Allow both ipv4/ipv6 provisioning interface ips
2 parents 9b1fcb2 + e79e77e commit fe40bf1

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

containers/agent/provision_ip_discovery.go

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,17 +118,26 @@ func getInterfaceIP(interfaceName string) (string, bool) {
118118
panic(err.Error())
119119
}
120120

121+
var ipv4Addr, ipv6Addr string
121122
for _, addr := range addrs {
122123
ipObj, _, err := net.ParseCIDR(addr.String())
123124
if err != nil || ipObj == nil {
124125
glog.V(0).Infof("WARNING: Cannot parse IP address for interface %s: %v", interfaceName, err)
125126
continue
126127
}
127128

128-
if ipObj = ipObj.To4(); ipObj != nil {
129-
return ipObj.String(), intfFound
129+
if ipObj.To4() != nil {
130+
ipv4Addr = ipObj.String()
131+
} else {
132+
ipv6Addr = ipObj.String()
130133
}
131-
glog.V(0).Infof("INFO: Ignoring IPv6 address (%s) on interface %s", addr, interfaceName)
134+
}
135+
// Prefer IPv4, but fall back to IPv6 if no IPv4 is found
136+
if ipv4Addr != "" {
137+
return ipv4Addr, intfFound
138+
}
139+
if ipv6Addr != "" {
140+
return ipv6Addr, intfFound
132141
}
133142
}
134143
}

0 commit comments

Comments
 (0)