diff --git a/libnetwork/default_gateway.go b/libnetwork/default_gateway.go index 173d926905..98cc21f73d 100644 --- a/libnetwork/default_gateway.go +++ b/libnetwork/default_gateway.go @@ -4,7 +4,6 @@ import ( "fmt" "github.com/docker/libnetwork/netlabel" - "github.com/docker/libnetwork/options" "github.com/docker/libnetwork/types" ) @@ -92,25 +91,6 @@ func (sb *sandbox) clearDefaultGW() error { return nil } -func (c *controller) createGWNetwork() (Network, error) { - netOption := options.Generic{ - "BridgeName": libnGWNetwork, - "EnableICC": false, - "EnableIPMasquerade": true, - } - - n, err := c.NewNetwork("bridge", libnGWNetwork, - NetworkOptionGeneric(options.Generic{ - netlabel.GenericData: netOption, - netlabel.EnableIPv6: false, - })) - - if err != nil { - return nil, fmt.Errorf("error creating external connectivity network: %v", err) - } - return n, err -} - func (sb *sandbox) needDefaultGW() bool { var needGW bool diff --git a/libnetwork/default_gateway_freebsd.go b/libnetwork/default_gateway_freebsd.go new file mode 100644 index 0000000000..a82687391a --- /dev/null +++ b/libnetwork/default_gateway_freebsd.go @@ -0,0 +1,7 @@ +package libnetwork + +import "github.com/docker/libnetwork/types" + +func (c *controller) createGWNetwork() (Network, error) { + return nil, types.NotImplementedErrorf("default gateway functionality is not implemented in freebsd") +} diff --git a/libnetwork/default_gateway_linux.go b/libnetwork/default_gateway_linux.go new file mode 100644 index 0000000000..c7f812778f --- /dev/null +++ b/libnetwork/default_gateway_linux.go @@ -0,0 +1,29 @@ +package libnetwork + +import ( + "fmt" + "strconv" + + "github.com/docker/libnetwork/drivers/bridge" + "github.com/docker/libnetwork/netlabel" + "github.com/docker/libnetwork/options" +) + +func (c *controller) createGWNetwork() (Network, error) { + netOption := map[string]string{ + bridge.BridgeName: libnGWNetwork, + bridge.EnableICC: strconv.FormatBool(false), + bridge.EnableIPMasquerade: strconv.FormatBool(true), + } + + n, err := c.NewNetwork("bridge", libnGWNetwork, + NetworkOptionGeneric(options.Generic{ + netlabel.GenericData: netOption, + netlabel.EnableIPv6: false, + })) + + if err != nil { + return nil, fmt.Errorf("error creating external connectivity network: %v", err) + } + return n, err +} diff --git a/libnetwork/default_gateway_windows.go b/libnetwork/default_gateway_windows.go new file mode 100644 index 0000000000..48eee2ba1d --- /dev/null +++ b/libnetwork/default_gateway_windows.go @@ -0,0 +1,7 @@ +package libnetwork + +import "github.com/docker/libnetwork/types" + +func (c *controller) createGWNetwork() (Network, error) { + return nil, types.NotImplementedErrorf("default gateway functionality is not implemented in windows") +}