From da0a006b14e2c575bd702a5660ec176a01b02fc0 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Sun, 1 Nov 2020 00:21:20 +0100 Subject: [PATCH] drivers/bridge: dont use types.ParseCIDR() for fixed value Signed-off-by: Sebastiaan van Stijn --- libnetwork/drivers/bridge/setup_ipv6.go | 14 ++------------ libnetwork/drivers/bridge/setup_ipv6_test.go | 4 ++-- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/libnetwork/drivers/bridge/setup_ipv6.go b/libnetwork/drivers/bridge/setup_ipv6.go index c34d2b371e..c3bb431ce2 100644 --- a/libnetwork/drivers/bridge/setup_ipv6.go +++ b/libnetwork/drivers/bridge/setup_ipv6.go @@ -8,29 +8,19 @@ import ( "net" "os" - "github.com/docker/docker/libnetwork/types" "github.com/sirupsen/logrus" "github.com/vishvananda/netlink" ) -var bridgeIPv6 *net.IPNet +// bridgeIPv6 is the default, link-local IPv6 address for the bridge (fe80::1/64) +var bridgeIPv6 = &net.IPNet{IP: net.ParseIP("fe80::1"), Mask: net.CIDRMask(64, 128)} const ( - bridgeIPv6Str = "fe80::1/64" ipv6ForwardConfPerm = 0644 ipv6ForwardConfDefault = "/proc/sys/net/ipv6/conf/default/forwarding" ipv6ForwardConfAll = "/proc/sys/net/ipv6/conf/all/forwarding" ) -func init() { - // We allow ourselves to panic in this special case because we indicate a - // failure to parse a compile-time define constant. - var err error - if bridgeIPv6, err = types.ParseCIDR(bridgeIPv6Str); err != nil { - panic(fmt.Sprintf("Cannot parse default bridge IPv6 address %q: %v", bridgeIPv6Str, err)) - } -} - func setupBridgeIPv6(config *networkConfiguration, i *bridgeInterface) error { procFile := "/proc/sys/net/ipv6/conf/" + config.BridgeName + "/disable_ipv6" ipv6BridgeData, err := ioutil.ReadFile(procFile) diff --git a/libnetwork/drivers/bridge/setup_ipv6_test.go b/libnetwork/drivers/bridge/setup_ipv6_test.go index d27388f445..f58a595bbb 100644 --- a/libnetwork/drivers/bridge/setup_ipv6_test.go +++ b/libnetwork/drivers/bridge/setup_ipv6_test.go @@ -43,14 +43,14 @@ func TestSetupIPv6(t *testing.T) { var found bool for _, addr := range addrsv6 { - if bridgeIPv6Str == addr.IPNet.String() { + if bridgeIPv6.String() == addr.IPNet.String() { found = true break } } if !found { - t.Fatalf("Bridge device does not have requested IPv6 address %v", bridgeIPv6Str) + t.Fatalf("Bridge device does not have requested IPv6 address %v", bridgeIPv6) } }