2016-07-05 20:49:31 +00:00
|
|
|
package libnetwork
|
|
|
|
|
|
|
|
import (
|
2021-04-06 00:24:47 +00:00
|
|
|
"github.com/docker/docker/libnetwork/drvregistry"
|
|
|
|
"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"
|
2016-07-05 20:49:31 +00:00
|
|
|
)
|
|
|
|
|
2018-01-18 22:30:51 +00:00
|
|
|
func initIPAMDrivers(r *drvregistry.DrvRegistry, lDs, gDs interface{}, addressPool []*ipamutils.NetworkToSplit) error {
|
|
|
|
builtinIpam.SetDefaultIPAddressPool(addressPool)
|
2016-07-05 20:49:31 +00:00
|
|
|
for _, fn := range [](func(ipamapi.Callback, interface{}, interface{}) error){
|
|
|
|
builtinIpam.Init,
|
|
|
|
remoteIpam.Init,
|
|
|
|
nullIpam.Init,
|
|
|
|
} {
|
|
|
|
if err := fn(r, lDs, gDs); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|