diff --git a/daemon/daemon_unix.go b/daemon/daemon_unix.go index 9ee29059cb..2e8cc32040 100644 --- a/daemon/daemon_unix.go +++ b/daemon/daemon_unix.go @@ -35,7 +35,6 @@ import ( "github.com/moby/moby/v2/daemon/libnetwork/drivers/bridge" "github.com/moby/moby/v2/daemon/libnetwork/netlabel" "github.com/moby/moby/v2/daemon/libnetwork/nlwrap" - "github.com/moby/moby/v2/daemon/libnetwork/options" lntypes "github.com/moby/moby/v2/daemon/libnetwork/types" "github.com/moby/moby/v2/daemon/pkg/opts" volumemounts "github.com/moby/moby/v2/daemon/volume/mounts" @@ -927,17 +926,15 @@ func networkPlatformOptions(conf *config.Config) []nwconfig.Option { return []nwconfig.Option{ nwconfig.OptionRootless(conf.Rootless), nwconfig.OptionUserlandProxy(conf.EnableUserlandProxy, conf.UserlandProxyPath), - nwconfig.OptionDriverConfig("bridge", options.Generic{ - netlabel.GenericData: options.Generic{ - "EnableIPForwarding": conf.BridgeConfig.EnableIPForward, - "DisableFilterForwardDrop": conf.BridgeConfig.DisableFilterForwardDrop, - "EnableIPTables": conf.BridgeConfig.EnableIPTables, - "EnableIP6Tables": conf.BridgeConfig.EnableIP6Tables, - "EnableProxy": conf.EnableUserlandProxy && conf.UserlandProxyPath != "", - "ProxyPath": conf.UserlandProxyPath, - "AllowDirectRouting": conf.BridgeConfig.AllowDirectRouting, - "AcceptFwMark": conf.BridgeConfig.BridgeAcceptFwMark, - }, + nwconfig.OptionBridgeConfig(bridge.Configuration{ + EnableIPForwarding: conf.BridgeConfig.EnableIPForward, + DisableFilterForwardDrop: conf.BridgeConfig.DisableFilterForwardDrop, + EnableIPTables: conf.BridgeConfig.EnableIPTables, + EnableIP6Tables: conf.BridgeConfig.EnableIP6Tables, + EnableProxy: conf.EnableUserlandProxy && conf.UserlandProxyPath != "", + ProxyPath: conf.UserlandProxyPath, + AllowDirectRouting: conf.BridgeConfig.AllowDirectRouting, + AcceptFwMark: conf.BridgeConfig.BridgeAcceptFwMark, }), } } diff --git a/daemon/libnetwork/config/config.go b/daemon/libnetwork/config/config.go index 8118aa1ae6..69056e5fb6 100644 --- a/daemon/libnetwork/config/config.go +++ b/daemon/libnetwork/config/config.go @@ -18,6 +18,8 @@ const ( // Config encapsulates configurations of various Libnetwork components type Config struct { + PlatformConfig + DataDir string // ExecRoot is the base-path for libnetwork external key listeners // (created in "/libnetwork/.sock"), @@ -31,7 +33,6 @@ type Config struct { DefaultNetwork string DefaultDriver string Labels []string - driverCfg map[string]map[string]any ClusterProvider cluster.Provider NetworkControlPlaneMTU int DefaultAddressPool []*ipamutils.NetworkToSplit @@ -47,7 +48,6 @@ type Config struct { // New creates a new Config and initializes it with the given Options. func New(opts ...Option) *Config { cfg := &Config{ - driverCfg: make(map[string]map[string]any), DatastoreBucket: datastore.DefaultBucket, } @@ -60,10 +60,6 @@ func New(opts ...Option) *Config { return cfg } -func (c *Config) DriverConfig(name string) map[string]any { - return c.driverCfg[name] -} - // Option is an option setter function type used to pass various configurations // to the controller type Option func(c *Config) @@ -91,13 +87,6 @@ func OptionDefaultAddressPoolConfig(addressPool []*ipamutils.NetworkToSplit) Opt } } -// OptionDriverConfig returns an option setter for driver configuration. -func OptionDriverConfig(networkType string, config map[string]any) Option { - return func(c *Config) { - c.driverCfg[networkType] = config - } -} - // OptionDataDir function returns an option setter for data folder func OptionDataDir(dataDir string) Option { return func(c *Config) { diff --git a/daemon/libnetwork/config/config_linux.go b/daemon/libnetwork/config/config_linux.go index a63db18596..190ea52b47 100644 --- a/daemon/libnetwork/config/config_linux.go +++ b/daemon/libnetwork/config/config_linux.go @@ -1,6 +1,21 @@ package config -import "github.com/moby/moby/v2/daemon/libnetwork/osl" +import ( + "github.com/moby/moby/v2/daemon/libnetwork/drivers/bridge" + "github.com/moby/moby/v2/daemon/libnetwork/osl" +) + +// PlatformConfig defines platform-specific configuration. +type PlatformConfig struct { + BridgeConfig bridge.Configuration +} + +// OptionBridgeConfig returns an option setter for bridge driver config. +func OptionBridgeConfig(config bridge.Configuration) Option { + return func(c *Config) { + c.BridgeConfig = config + } +} // optionExecRoot on Linux sets both the controller's ExecRoot and osl.basePath. func optionExecRoot(execRoot string) Option { diff --git a/daemon/libnetwork/config/config_windows.go b/daemon/libnetwork/config/config_windows.go index c48a84b196..73625f5cc8 100644 --- a/daemon/libnetwork/config/config_windows.go +++ b/daemon/libnetwork/config/config_windows.go @@ -1,5 +1,8 @@ package config +// PlatformConfig defines platform-specific configuration. +type PlatformConfig struct{} + // optionExecRoot is a no-op on non-unix platforms. func optionExecRoot(execRoot string) Option { return func(*Config) {} diff --git a/daemon/libnetwork/controller.go b/daemon/libnetwork/controller.go index c0430117ea..f4e84b8820 100644 --- a/daemon/libnetwork/controller.go +++ b/daemon/libnetwork/controller.go @@ -46,7 +46,6 @@ package libnetwork import ( "context" "fmt" - "maps" "net" "path/filepath" "runtime" @@ -188,7 +187,7 @@ func New(ctx context.Context, cfgOptions ...config.Option) (_ *Controller, retEr return nil, err } - if err := registerNetworkDrivers(&c.drvRegistry, c.store, &c.pmRegistry, c.makeDriverConfig); err != nil { + if err := registerNetworkDrivers(&c.drvRegistry, c.cfg, c.store, &c.pmRegistry); err != nil { return nil, err } @@ -384,10 +383,6 @@ func (c *Controller) agentStopComplete() { c.mu.Unlock() } -func (c *Controller) makeDriverConfig(ntype string) map[string]any { - return maps.Clone(c.cfg.DriverConfig(ntype)) -} - // ID returns the controller's unique identity. func (c *Controller) ID() string { return c.id diff --git a/daemon/libnetwork/controller_linux.go b/daemon/libnetwork/controller_linux.go index 2c93e4b4f8..ce7fa866d9 100644 --- a/daemon/libnetwork/controller_linux.go +++ b/daemon/libnetwork/controller_linux.go @@ -10,8 +10,6 @@ import ( "github.com/moby/moby/api/types/system" "github.com/moby/moby/v2/daemon/libnetwork/internal/nftables" "github.com/moby/moby/v2/daemon/libnetwork/iptables" - "github.com/moby/moby/v2/daemon/libnetwork/netlabel" - "github.com/moby/moby/v2/daemon/libnetwork/options" "github.com/moby/moby/v2/daemon/libnetwork/osl" ) @@ -34,24 +32,11 @@ func (c *Controller) FirewallBackend() *system.FirewallInfo { // enabledIptablesVersions returns the iptables versions that are enabled // for the controller. func (c *Controller) enabledIptablesVersions() []iptables.IPVersion { - c.mu.Lock() - defer c.mu.Unlock() - if c.cfg == nil { - return nil - } - // parse map cfg["bridge"]["generic"]["EnableIPTable"] - cfgBridge := c.cfg.DriverConfig("bridge") - cfgGeneric, ok := cfgBridge[netlabel.GenericData].(options.Generic) - if !ok { - return nil - } - var versions []iptables.IPVersion - if enabled, ok := cfgGeneric["EnableIPTables"].(bool); enabled || !ok { - // iptables is enabled unless user explicitly disabled it + if c.cfg.BridgeConfig.EnableIPTables { versions = append(versions, iptables.IPv4) } - if enabled, _ := cfgGeneric["EnableIP6Tables"].(bool); enabled { + if c.cfg.BridgeConfig.EnableIP6Tables { versions = append(versions, iptables.IPv6) } return versions diff --git a/daemon/libnetwork/drivers/bridge/bridge_linux.go b/daemon/libnetwork/drivers/bridge/bridge_linux.go index 7361aaa296..a86f4fd953 100644 --- a/daemon/libnetwork/drivers/bridge/bridge_linux.go +++ b/daemon/libnetwork/drivers/bridge/bridge_linux.go @@ -188,7 +188,7 @@ func newDriver(store *datastore.Store, pms *drvregistry.PortMappers) *driver { } // Register registers a new instance of bridge driver. -func Register(r driverapi.Registerer, store *datastore.Store, pms *drvregistry.PortMappers, config map[string]any) error { +func Register(r driverapi.Registerer, store *datastore.Store, pms *drvregistry.PortMappers, config Configuration) error { d := newDriver(store, pms) if err := d.configure(config); err != nil { return err @@ -496,23 +496,7 @@ func (n *bridgeNetwork) getEndpoint(eid string) (*bridgeEndpoint, error) { return nil, nil } -func (d *driver) configure(option map[string]any) error { - var config Configuration - switch opt := option[netlabel.GenericData].(type) { - case options.Generic: - opaqueConfig, err := options.GenerateFromModel(opt, &Configuration{}) - if err != nil { - return err - } - config = *opaqueConfig.(*Configuration) - case *Configuration: - config = *opt - case nil: - // No GenericData option set. Use defaults. - default: - return errdefs.InvalidParameter(fmt.Errorf("invalid configuration type (%T) passed", opt)) - } - +func (d *driver) configure(config Configuration) error { var err error d.firewaller, err = newFirewaller(context.Background(), firewaller.Config{ IPv4: config.EnableIPTables, diff --git a/daemon/libnetwork/drivers/bridge/bridge_linux_test.go b/daemon/libnetwork/drivers/bridge/bridge_linux_test.go index b0c47bfa1f..933347bda5 100644 --- a/daemon/libnetwork/drivers/bridge/bridge_linux_test.go +++ b/daemon/libnetwork/drivers/bridge/bridge_linux_test.go @@ -277,11 +277,6 @@ func TestCreateFullOptions(t *testing.T) { defer netnsutils.SetupTestOSContext(t)() d := newDriver(storeutils.NewTempStore(t), &drvregistry.PortMappers{}) - config := &Configuration{ - EnableIPForwarding: true, - EnableIPTables: true, - } - // Test this scenario: Default gw address does not belong to // container network and it's greater than bridge address cnw, _ := types.ParseCIDR("172.16.122.0/24") @@ -289,10 +284,10 @@ func TestCreateFullOptions(t *testing.T) { br, _ := types.ParseCIDR("172.16.0.1/16") defgw, _ := types.ParseCIDR("172.16.0.100/16") - genericOption := make(map[string]any) - genericOption[netlabel.GenericData] = config - - if err := d.configure(genericOption); err != nil { + if err := d.configure(Configuration{ + EnableIPForwarding: true, + EnableIPTables: true, + }); err != nil { t.Fatalf("Failed to setup driver config: %v", err) } @@ -331,7 +326,7 @@ func TestCreateFullOptions(t *testing.T) { func TestCreateNoConfig(t *testing.T) { defer netnsutils.SetupTestOSContext(t)() d := newDriver(storeutils.NewTempStore(t), &drvregistry.PortMappers{}) - err := d.configure(nil) + err := d.configure(Configuration{}) assert.NilError(t, err) netconfig := &networkConfiguration{BridgeName: DefaultBridgeName, EnableIPv4: true} @@ -347,13 +342,9 @@ func TestCreateFullOptionsLabels(t *testing.T) { defer netnsutils.SetupTestOSContext(t)() d := newDriver(storeutils.NewTempStore(t), &drvregistry.PortMappers{}) - config := &Configuration{ + if err := d.configure(Configuration{ EnableIPForwarding: true, - } - genericOption := make(map[string]any) - genericOption[netlabel.GenericData] = config - - if err := d.configure(genericOption); err != nil { + }); err != nil { t.Fatalf("Failed to setup driver config: %v", err) } @@ -534,7 +525,7 @@ func TestCreate(t *testing.T) { d := newDriver(storeutils.NewTempStore(t), &drvregistry.PortMappers{}) - if err := d.configure(nil); err != nil { + if err := d.configure(Configuration{}); err != nil { t.Fatalf("Failed to setup driver config: %v", err) } @@ -560,7 +551,7 @@ func TestCreateFail(t *testing.T) { d := newDriver(storeutils.NewTempStore(t), &drvregistry.PortMappers{}) - if err := d.configure(nil); err != nil { + if err := d.configure(Configuration{}); err != nil { t.Fatalf("Failed to setup driver config: %v", err) } @@ -591,18 +582,14 @@ func TestCreateMultipleNetworks(t *testing.T) { assert.Check(t, is.Len(slices.Collect(maps.Keys(got)), 0), "Rules for bridges have not been deleted") } - config := &Configuration{ + if err := d.configure(Configuration{ EnableIPTables: true, - } - genericOption := make(map[string]any) - genericOption[netlabel.GenericData] = config - - if err := d.configure(genericOption); err != nil { + }); err != nil { t.Fatalf("Failed to setup driver config: %v", err) } config1 := &networkConfiguration{BridgeName: "net_test_1", EnableIPv4: true} - genericOption = make(map[string]any) + genericOption := make(map[string]any) genericOption[netlabel.GenericData] = config1 if err := d.CreateNetwork(context.Background(), "1", genericOption, nil, getIPv4Data(t), nil); err != nil { t.Fatalf("Failed to create bridge: %v", err) @@ -798,13 +785,9 @@ func testQueryEndpointInfo(t *testing.T, ulPxyEnabled bool) { d := newDriver(storeutils.NewTempStore(t), &pms) portallocator.Get().ReleaseAll() - config := &Configuration{ + if err := d.configure(Configuration{ EnableIPTables: true, - } - genericOption := make(map[string]any) - genericOption[netlabel.GenericData] = config - - if err := d.configure(genericOption); err != nil { + }); err != nil { t.Fatalf("Failed to setup driver config: %v", err) } @@ -813,7 +796,7 @@ func testQueryEndpointInfo(t *testing.T, ulPxyEnabled bool) { EnableIPv4: true, EnableICC: false, } - genericOption = make(map[string]any) + genericOption := make(map[string]any) genericOption[netlabel.GenericData] = netconfig ipdList := getIPv4Data(t) @@ -901,13 +884,9 @@ func TestLinkContainers(t *testing.T) { d := newDriver(storeutils.NewTempStore(t), &drvregistry.PortMappers{}) - config := &Configuration{ + if err := d.configure(Configuration{ EnableIPTables: true, - } - genericOption := make(map[string]any) - genericOption[netlabel.GenericData] = config - - if err := d.configure(genericOption); err != nil { + }); err != nil { t.Fatalf("Failed to setup driver config: %v", err) } @@ -916,7 +895,7 @@ func TestLinkContainers(t *testing.T) { EnableIPv4: true, EnableICC: false, } - genericOption = make(map[string]any) + genericOption := make(map[string]any) genericOption[netlabel.GenericData] = netconfig ipdList := getIPv4Data(t) @@ -1170,7 +1149,7 @@ func TestSetDefaultGw(t *testing.T) { d := newDriver(storeutils.NewTempStore(t), &drvregistry.PortMappers{}) - if err := d.configure(nil); err != nil { + if err := d.configure(Configuration{}); err != nil { t.Fatalf("Failed to setup driver config: %v", err) } @@ -1220,7 +1199,7 @@ func TestCreateWithExistingBridge(t *testing.T) { defer netnsutils.SetupTestOSContext(t)() d := newDriver(storeutils.NewTempStore(t), &drvregistry.PortMappers{}) - if err := d.configure(nil); err != nil { + if err := d.configure(Configuration{}); err != nil { t.Fatalf("Failed to setup driver config: %v", err) } @@ -1293,7 +1272,7 @@ func TestCreateParallel(t *testing.T) { d := newDriver(storeutils.NewTempStore(t), &drvregistry.PortMappers{}) portallocator.Get().ReleaseAll() - if err := d.configure(nil); err != nil { + if err := d.configure(Configuration{}); err != nil { t.Fatalf("Failed to setup driver config: %v", err) } @@ -1342,11 +1321,10 @@ func useStubFirewaller(t *testing.T) { func TestSetupIP6TablesWithHostIPv4(t *testing.T) { defer netnsutils.SetupTestOSContext(t)() d := newDriver(storeutils.NewTempStore(t), &drvregistry.PortMappers{}) - dc := &Configuration{ + if err := d.configure(Configuration{ EnableIPTables: true, EnableIP6Tables: true, - } - if err := d.configure(map[string]any{netlabel.GenericData: dc}); err != nil { + }); err != nil { t.Fatal(err) } nc := &networkConfiguration{ diff --git a/daemon/libnetwork/drivers/bridge/network_linux_test.go b/daemon/libnetwork/drivers/bridge/network_linux_test.go index 20eb3422ec..2d5221fe2d 100644 --- a/daemon/libnetwork/drivers/bridge/network_linux_test.go +++ b/daemon/libnetwork/drivers/bridge/network_linux_test.go @@ -17,7 +17,7 @@ import ( func TestLinkCreate(t *testing.T) { defer netnsutils.SetupTestOSContext(t)() d := newDriver(storeutils.NewTempStore(t), &drvregistry.PortMappers{}) - err := d.configure(nil) + err := d.configure(Configuration{}) assert.NilError(t, err) mtu := 1490 @@ -80,7 +80,7 @@ func TestLinkCreate(t *testing.T) { func TestLinkCreateTwo(t *testing.T) { defer netnsutils.SetupTestOSContext(t)() d := newDriver(storeutils.NewTempStore(t), &drvregistry.PortMappers{}) - err := d.configure(nil) + err := d.configure(Configuration{}) assert.NilError(t, err) option := map[string]any{ @@ -108,7 +108,7 @@ func TestLinkCreateTwo(t *testing.T) { func TestLinkCreateNoEnableIPv6(t *testing.T) { defer netnsutils.SetupTestOSContext(t)() d := newDriver(storeutils.NewTempStore(t), &drvregistry.PortMappers{}) - err := d.configure(nil) + err := d.configure(Configuration{}) assert.NilError(t, err) option := map[string]any{ @@ -133,7 +133,7 @@ func TestLinkCreateNoEnableIPv6(t *testing.T) { func TestLinkDelete(t *testing.T) { defer netnsutils.SetupTestOSContext(t)() d := newDriver(storeutils.NewTempStore(t), &drvregistry.PortMappers{}) - err := d.configure(nil) + err := d.configure(Configuration{}) assert.NilError(t, err) option := map[string]any{ diff --git a/daemon/libnetwork/drivers/bridge/port_mapping_linux_test.go b/daemon/libnetwork/drivers/bridge/port_mapping_linux_test.go index 898728c073..4effdfbfc4 100644 --- a/daemon/libnetwork/drivers/bridge/port_mapping_linux_test.go +++ b/daemon/libnetwork/drivers/bridge/port_mapping_linux_test.go @@ -43,13 +43,9 @@ func TestPortMappingConfig(t *testing.T) { d := newDriver(storeutils.NewTempStore(t), &pms) - config := &Configuration{ + if err := d.configure(Configuration{ EnableIPTables: true, - } - genericOption := make(map[string]any) - genericOption[netlabel.GenericData] = config - - if err := d.configure(genericOption); err != nil { + }); err != nil { t.Fatalf("Failed to setup driver config: %v", err) } @@ -132,14 +128,10 @@ func TestPortMappingV6Config(t *testing.T) { d := newDriver(storeutils.NewTempStore(t), &pms) - config := &Configuration{ + if err := d.configure(Configuration{ EnableIPTables: true, EnableIP6Tables: true, - } - genericOption := make(map[string]any) - genericOption[netlabel.GenericData] = config - - if err := d.configure(genericOption); err != nil { + }); err != nil { t.Fatalf("Failed to setup driver config: %v", err) } @@ -782,14 +774,11 @@ func TestAddPortMappings(t *testing.T) { bridge: &bridgeInterface{}, driver: newDriver(storeutils.NewTempStore(t), pms), } - genericOption := map[string]any{ - netlabel.GenericData: &Configuration{ - EnableIPTables: true, - EnableIP6Tables: true, - EnableProxy: tc.enableProxy, - }, - } - err = n.driver.configure(genericOption) + err = n.driver.configure(Configuration{ + EnableIPTables: true, + EnableIP6Tables: true, + EnableProxy: tc.enableProxy, + }) assert.NilError(t, err) fwn, err := n.newFirewallerNetwork(context.Background()) assert.NilError(t, err) diff --git a/daemon/libnetwork/drivers_linux.go b/daemon/libnetwork/drivers_linux.go index 9f75658b5d..285756816b 100644 --- a/daemon/libnetwork/drivers_linux.go +++ b/daemon/libnetwork/drivers_linux.go @@ -19,31 +19,24 @@ import ( "github.com/moby/moby/v2/daemon/libnetwork/portmappers/routed" ) -func registerNetworkDrivers(r driverapi.Registerer, store *datastore.Store, pms *drvregistry.PortMappers, driverConfig func(string) map[string]any) error { +func registerNetworkDrivers(r driverapi.Registerer, cfg *config.Config, store *datastore.Store, pms *drvregistry.PortMappers) error { for _, nr := range []struct { ntype string - register func(driverapi.Registerer, *datastore.Store, map[string]any) error + register func() error }{ - {ntype: bridge.NetworkType, register: func(r driverapi.Registerer, store *datastore.Store, cfg map[string]any) error { - return bridge.Register(r, store, pms, cfg) - }}, - {ntype: host.NetworkType, register: func(r driverapi.Registerer, _ *datastore.Store, _ map[string]any) error { - return host.Register(r) - }}, - {ntype: ipvlan.NetworkType, register: func(r driverapi.Registerer, store *datastore.Store, _ map[string]any) error { - return ipvlan.Register(r, store) - }}, - {ntype: macvlan.NetworkType, register: func(r driverapi.Registerer, store *datastore.Store, _ map[string]any) error { - return macvlan.Register(r, store) - }}, - {ntype: null.NetworkType, register: func(r driverapi.Registerer, _ *datastore.Store, _ map[string]any) error { - return null.Register(r) - }}, - {ntype: overlay.NetworkType, register: func(r driverapi.Registerer, _ *datastore.Store, _ map[string]any) error { - return overlay.Register(r) - }}, + { + ntype: bridge.NetworkType, + register: func() error { + return bridge.Register(r, store, pms, cfg.BridgeConfig) + }, + }, + {ntype: host.NetworkType, register: func() error { return host.Register(r) }}, + {ntype: ipvlan.NetworkType, register: func() error { return ipvlan.Register(r, store) }}, + {ntype: macvlan.NetworkType, register: func() error { return macvlan.Register(r, store) }}, + {ntype: null.NetworkType, register: func() error { return null.Register(r) }}, + {ntype: overlay.NetworkType, register: func() error { return overlay.Register(r) }}, } { - if err := nr.register(r, store, driverConfig(nr.ntype)); err != nil { + if err := nr.register(); err != nil { return fmt.Errorf("failed to register %q driver: %w", nr.ntype, err) } } diff --git a/daemon/libnetwork/drivers_unsupported.go b/daemon/libnetwork/drivers_unsupported.go index 2a862792cd..9e23c44100 100644 --- a/daemon/libnetwork/drivers_unsupported.go +++ b/daemon/libnetwork/drivers_unsupported.go @@ -2,8 +2,6 @@ package libnetwork -import "github.com/moby/moby/v2/daemon/libnetwork/driverapi" - -func registerNetworkDrivers(r driverapi.Registerer, driverConfig func(string) map[string]any) error { +func registerNetworkDrivers(cfg *config.Config, r driverapi.Registerer, store *datastore.Store, pms *drvregistry.PortMappers) error { return nil } diff --git a/daemon/libnetwork/drivers_windows.go b/daemon/libnetwork/drivers_windows.go index 1f28f42c6e..e971519f28 100644 --- a/daemon/libnetwork/drivers_windows.go +++ b/daemon/libnetwork/drivers_windows.go @@ -13,7 +13,7 @@ import ( "github.com/moby/moby/v2/daemon/libnetwork/drvregistry" ) -func registerNetworkDrivers(r driverapi.Registerer, store *datastore.Store, _ *drvregistry.PortMappers, _ func(string) map[string]any) error { +func registerNetworkDrivers(r driverapi.Registerer, _ *config.Config, store *datastore.Store, _ *drvregistry.PortMappers) error { for _, nr := range []struct { ntype string register func(driverapi.Registerer) error diff --git a/daemon/libnetwork/firewall_linux_test.go b/daemon/libnetwork/firewall_linux_test.go index 4f035b91b4..caae86a119 100644 --- a/daemon/libnetwork/firewall_linux_test.go +++ b/daemon/libnetwork/firewall_linux_test.go @@ -12,8 +12,6 @@ import ( "github.com/moby/moby/v2/daemon/libnetwork/drivers/bridge" "github.com/moby/moby/v2/daemon/libnetwork/internal/nftables" "github.com/moby/moby/v2/daemon/libnetwork/iptables" - "github.com/moby/moby/v2/daemon/libnetwork/netlabel" - "github.com/moby/moby/v2/daemon/libnetwork/options" "github.com/moby/moby/v2/internal/testutils/netnsutils" "gotest.tools/v3/assert" is "gotest.tools/v3/assert/cmp" @@ -70,11 +68,9 @@ func TestUserChain(t *testing.T) { c, err := New( context.Background(), config.OptionDataDir(t.TempDir()), - config.OptionDriverConfig("bridge", map[string]any{ - netlabel.GenericData: options.Generic{ - "EnableIPTables": tc.iptables, - "EnableIP6Tables": tc.iptables, - }, + config.OptionBridgeConfig(bridge.Configuration{ + EnableIPTables: tc.iptables, + EnableIP6Tables: tc.iptables, })) assert.NilError(t, err) defer c.Stop() diff --git a/daemon/libnetwork/libnetwork_linux_test.go b/daemon/libnetwork/libnetwork_linux_test.go index d09fb5acf6..ba476ab92e 100644 --- a/daemon/libnetwork/libnetwork_linux_test.go +++ b/daemon/libnetwork/libnetwork_linux_test.go @@ -48,10 +48,8 @@ func newController(t *testing.T) *libnetwork.Controller { c, err := libnetwork.New( context.Background(), config.OptionDataDir(t.TempDir()), - config.OptionDriverConfig(bridgeNetType, map[string]any{ - netlabel.GenericData: options.Generic{ - "EnableIPForwarding": true, - }, + config.OptionBridgeConfig(bridge.Configuration{ + EnableIPForwarding: true, }), config.OptionDefaultAddressPoolConfig(ipamutils.GetLocalScopeDefaultNetworks()), ) diff --git a/daemon/libnetwork/sandbox_unix_test.go b/daemon/libnetwork/sandbox_unix_test.go index 610fdf3547..b05f620348 100644 --- a/daemon/libnetwork/sandbox_unix_test.go +++ b/daemon/libnetwork/sandbox_unix_test.go @@ -20,12 +20,11 @@ import ( ) func getTestEnv(t *testing.T, opts ...[]NetworkOption) (*Controller, []*Network) { - const netType = "bridge" c, err := New( context.Background(), config.OptionDataDir(t.TempDir()), - config.OptionDriverConfig(netType, map[string]any{ - netlabel.GenericData: options.Generic{"EnableIPForwarding": true}, + config.OptionBridgeConfig(bridge.Configuration{ + EnableIPForwarding: true, }), config.OptionDefaultAddressPoolConfig(ipamutils.GetLocalScopeDefaultNetworks()), ) @@ -49,7 +48,7 @@ func getTestEnv(t *testing.T, opts ...[]NetworkOption) (*Controller, []*Network) }), } newOptions = append(newOptions, opt...) - n, err := c.NewNetwork(context.Background(), netType, name, "", newOptions...) + n, err := c.NewNetwork(context.Background(), bridge.NetworkType, name, "", newOptions...) if err != nil { t.Fatal(err) } diff --git a/daemon/libnetwork/store_test.go b/daemon/libnetwork/store_test.go index 75bce4b682..b1657a48b8 100644 --- a/daemon/libnetwork/store_test.go +++ b/daemon/libnetwork/store_test.go @@ -5,17 +5,12 @@ import ( "testing" "github.com/moby/moby/v2/daemon/libnetwork/config" - "github.com/moby/moby/v2/daemon/libnetwork/netlabel" - "github.com/moby/moby/v2/daemon/libnetwork/options" ) func testLocalBackend(t *testing.T, path, bucket string) { cfgOptions := []config.Option{ config.OptionDataDir(path), func(c *config.Config) { c.DatastoreBucket = bucket }, - config.OptionDriverConfig("host", map[string]any{ - netlabel.GenericData: options.Generic{}, - }), } testController, err := New(context.Background(), cfgOptions...)