mirror of
https://github.com/clearlinux/libnetwork.git
synced 2026-05-13 10:03:35 +00:00
Default IPAM to use ipamutils pkg
Signed-off-by: Alessandro Boch <aboch@docker.com>
This commit is contained in:
@@ -28,8 +28,12 @@ func init() {
|
||||
// and returns its IPv4 and IPv6 addresses in CIDR form. If the interface does not exist,
|
||||
// it chooses from a predifined list the first IPv4 address which does not conflict
|
||||
// with other interfaces on the system.
|
||||
func ElectInterfaceAddresses(name string) ([]*net.IPNet, []*net.IPNet, error) {
|
||||
var v4Nets, v6Nets []*net.IPNet
|
||||
func ElectInterfaceAddresses(name string) (*net.IPNet, []*net.IPNet, error) {
|
||||
var (
|
||||
v4Net *net.IPNet
|
||||
v6Nets []*net.IPNet
|
||||
err error
|
||||
)
|
||||
|
||||
link, _ := netlink.LinkByName(name)
|
||||
if link != nil {
|
||||
@@ -41,24 +45,23 @@ func ElectInterfaceAddresses(name string) ([]*net.IPNet, []*net.IPNet, error) {
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
for _, nlAddr := range v4addr {
|
||||
v4Nets = append(v4Nets, nlAddr.IPNet)
|
||||
if len(v4addr) > 0 {
|
||||
v4Net = v4addr[0].IPNet
|
||||
}
|
||||
for _, nlAddr := range v6addr {
|
||||
v6Nets = append(v6Nets, nlAddr.IPNet)
|
||||
}
|
||||
}
|
||||
|
||||
if link == nil || len(v4Nets) == 0 {
|
||||
if link == nil || v4Net == nil {
|
||||
// Choose from predifined broad networks
|
||||
v4Net, err := FindAvailableNetwork(PredefinedBroadNetworks)
|
||||
v4Net, err = FindAvailableNetwork(PredefinedBroadNetworks)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
v4Nets = append(v4Nets, v4Net)
|
||||
}
|
||||
|
||||
return v4Nets, v6Nets, nil
|
||||
return v4Net, v6Nets, nil
|
||||
}
|
||||
|
||||
// FindAvailableNetwork returns a network from the passed list which does not
|
||||
|
||||
@@ -77,7 +77,7 @@ func TestElectInterfaceAddress(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if len(ipv4Nw) == 0 {
|
||||
if ipv4Nw == nil {
|
||||
t.Fatalf("unexpected empty ipv4 network addresses")
|
||||
}
|
||||
|
||||
@@ -85,8 +85,8 @@ func TestElectInterfaceAddress(t *testing.T) {
|
||||
t.Fatalf("unexpected empty ipv4 network addresses")
|
||||
}
|
||||
|
||||
if nws != ipv4Nw[0].String() {
|
||||
t.Fatalf("expected %s. got %s", nws, ipv4Nw[0])
|
||||
if nws != ipv4Nw.String() {
|
||||
t.Fatalf("expected %s. got %s", nws, ipv4Nw)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user