1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/libnetwork/bridge/setup_verify.go
Arnaud Porterie 46864de1d7 WIP - Fixed CIDR v4 and v6
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-02-22 21:32:48 -08:00

26 lines
810 B
Go

package bridge
import "fmt"
func SetupVerifyConfiguredAddresses(i *Interface) error {
// Fetch a single IPv4 and a slice of IPv6 addresses from the bridge.
addrv4, addrsv6, err := i.Addresses()
if err != nil {
return err
}
// Verify that the bridge IPv4 address matches the requested configuration.
if i.Config.AddressIPv4 != nil && !addrv4.IP.Equal(i.Config.AddressIPv4.IP) {
return fmt.Errorf("Bridge IPv4 (%s) does not match requested configuration %s", addrv4.IP, i.Config.AddressIPv4.IP)
}
// Verify that one of the bridge IPv6 addresses matches the requested
// configuration.
for _, addrv6 := range addrsv6 {
if addrv6.String() == BridgeIPv6.String() {
return nil
}
}
return fmt.Errorf("Bridge IPv6 addresses do not match the expected bridge configuration %s", BridgeIPv6)
}