moby/libnetwork/drivers_linux.go
Cory Snider 28edc8e2d6 libnet: convert to new-style driver registration
Per the Interface Segregation Principle, network drivers should not have
to depend on GetPluginGetter methods they do not use. The remote network
driver is the only one which needs a PluginGetter, and it is already
special-cased in Controller so there is no sense warping the interfaces
to achieve a foolish consistency. Replace all other network drivers' Init
functions with Register functions which take a driverapi.Registerer
argument instead of a driverapi.DriverCallback. Add back in Init wrapper
functions for only the drivers which Swarmkit references so that
Swarmkit can continue to build.

Refactor the libnetwork Controller to use the new drvregistry.Networks
and drvregistry.IPAMs driver registries in place of the legacy ones.

Signed-off-by: Cory Snider <csnider@mirantis.com>
2023-01-27 11:47:42 -05:00

22 lines
613 B
Go

package libnetwork
import (
"github.com/docker/docker/libnetwork/drivers/bridge"
"github.com/docker/docker/libnetwork/drivers/host"
"github.com/docker/docker/libnetwork/drivers/ipvlan"
"github.com/docker/docker/libnetwork/drivers/macvlan"
"github.com/docker/docker/libnetwork/drivers/null"
"github.com/docker/docker/libnetwork/drivers/overlay"
)
func getInitializers() []initializer {
in := []initializer{
{bridge.Register, "bridge"},
{host.Register, "host"},
{ipvlan.Register, "ipvlan"},
{macvlan.Register, "macvlan"},
{null.Register, "null"},
{overlay.Register, "overlay"},
}
return in
}