f96b9bf761
libnetwork.NetworkController is an interface with a single implementation. https://github.com/golang/go/wiki/CodeReviewComments#interfaces Signed-off-by: Cory Snider <csnider@mirantis.com>
32 lines
701 B
Go
32 lines
701 B
Go
package libnetwork
|
|
|
|
import (
|
|
"fmt"
|
|
"strconv"
|
|
|
|
"github.com/docker/docker/libnetwork/drivers/bridge"
|
|
)
|
|
|
|
const libnGWNetwork = "docker_gwbridge"
|
|
|
|
func getPlatformOption() EndpointOption {
|
|
return nil
|
|
}
|
|
|
|
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, "",
|
|
NetworkOptionDriverOpts(netOption),
|
|
NetworkOptionEnableIPv6(false),
|
|
)
|
|
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error creating external connectivity network: %v", err)
|
|
}
|
|
return n, err
|
|
}
|