package libnetwork import ( "github.com/docker/docker/libnetwork/ipamapi" builtinIpam "github.com/docker/docker/libnetwork/ipams/builtin" nullIpam "github.com/docker/docker/libnetwork/ipams/null" remoteIpam "github.com/docker/docker/libnetwork/ipams/remote" "github.com/docker/docker/libnetwork/ipamutils" "github.com/docker/docker/pkg/plugingetter" ) func initIPAMDrivers(r ipamapi.Registerer, pg plugingetter.PluginGetter, addressPool []*ipamutils.NetworkToSplit) error { // TODO: pass address pools as arguments to builtinIpam.Init instead of // indirectly through global mutable state. Swarmkit references that // function so changing its signature breaks the build. if err := builtinIpam.SetDefaultIPAddressPool(addressPool); err != nil { return err } for _, fn := range [](func(ipamapi.Registerer) error){ builtinIpam.Register, nullIpam.Register, } { if err := fn(r); err != nil { return err } } return remoteIpam.Register(r, pg) }