summaryrefslogtreecommitdiff
path: root/libnetwork/drivers_linux.go
diff options
context:
space:
mode:
authorCory Snider <csnider@mirantis.com>2023-01-24 18:19:26 -0500
committerCory Snider <csnider@mirantis.com>2023-01-27 11:47:42 -0500
commit28edc8e2d692cb47f1ec6bb32a6e346777e1250d (patch)
treecea33c9ef740c49dacd0bce02620b918a75ea0c9 /libnetwork/drivers_linux.go
parent5595311209cc915e8b0ace0a1bbd8b52a7baecb0 (diff)
downloaddocker-28edc8e2d692cb47f1ec6bb32a6e346777e1250d.tar.gz
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>
Diffstat (limited to 'libnetwork/drivers_linux.go')
-rw-r--r--libnetwork/drivers_linux.go14
1 files changed, 6 insertions, 8 deletions
diff --git a/libnetwork/drivers_linux.go b/libnetwork/drivers_linux.go
index 022e5c76a9..553b0d9e2d 100644
--- a/libnetwork/drivers_linux.go
+++ b/libnetwork/drivers_linux.go
@@ -7,18 +7,16 @@ import (
"github.com/docker/docker/libnetwork/drivers/macvlan"
"github.com/docker/docker/libnetwork/drivers/null"
"github.com/docker/docker/libnetwork/drivers/overlay"
- "github.com/docker/docker/libnetwork/drivers/remote"
)
func getInitializers() []initializer {
in := []initializer{
- {bridge.Init, "bridge"},
- {host.Init, "host"},
- {ipvlan.Init, "ipvlan"},
- {macvlan.Init, "macvlan"},
- {null.Init, "null"},
- {overlay.Init, "overlay"},
- {remote.Init, "remote"},
+ {bridge.Register, "bridge"},
+ {host.Register, "host"},
+ {ipvlan.Register, "ipvlan"},
+ {macvlan.Register, "macvlan"},
+ {null.Register, "null"},
+ {overlay.Register, "overlay"},
}
return in
}