123456789101112131415161718192021222324252627282930 |
- 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)
- }
|