// Init registers a new instance of bridge driver func Init(dc driverapi.DriverCallback, config map[string]interface{}) error { if _, err := os.Stat("/proc/sys/net/bridge"); err != nil { if out, err := exec.Command("modprobe", "-va", "bridge", "br_netfilter").CombinedOutput(); err != nil { logrus.Warnf("Running modprobe bridge br_netfilter failed with message: %s, error: %v", out, err) } } if out, err := exec.Command("modprobe", "-va", "nf_nat").CombinedOutput(); err != nil { logrus.Warnf("Running modprobe nf_nat failed with message: `%s`, error: %v", strings.TrimSpace(string(out)), err) } if out, err := exec.Command("modprobe", "-va", "xt_conntrack").CombinedOutput(); err != nil { logrus.Warnf("Running modprobe xt_conntrack failed with message: `%s`, error: %v", strings.TrimSpace(string(out)), err) } if err := iptables.FirewalldInit(); err != nil { logrus.Debugf("Fail to initialize firewalld: %v, using raw iptables instead", err) } d := newDriver() if err := d.configure(config); err != nil { return err } c := driverapi.Capability{ DataScope: datastore.LocalScope, } return dc.RegisterDriver(networkType, d, c) }
// Init makes sure a remote driver is registered when a network driver // plugin is activated. func Init(dc driverapi.DriverCallback, config map[string]interface{}) error { newPluginHandler := func(name string, client *plugins.Client) { // negotiate driver capability with client d := newDriver(name, client) c, err := d.(*driver).getCapabilities() if err != nil { logrus.Errorf("error getting capability for %s due to %v", name, err) return } if err = dc.RegisterDriver(name, d, *c); err != nil { logrus.Errorf("error registering driver for %s due to %v", name, err) } } // Unit test code is unaware of a true PluginStore. So we fall back to v1 plugins. handleFunc := plugins.Handle if pg := dc.GetPluginGetter(); pg != nil { handleFunc = pg.Handle activePlugins := pg.GetAllManagedPluginsByCap(driverapi.NetworkPluginEndpointType) for _, ap := range activePlugins { newPluginHandler(ap.Name(), ap.Client()) } } handleFunc(driverapi.NetworkPluginEndpointType, newPluginHandler) return nil }
// Init registers a new instance of overlay driver func Init(dc driverapi.DriverCallback, config map[string]interface{}) error { c := driverapi.Capability{ DataScope: datastore.GlobalScope, } d := &driver{ networks: networkTable{}, peerDb: peerNetworkMap{ mp: map[string]*peerMap{}, }, secMap: &encrMap{nodes: map[string][]*spi{}}, config: config, } if data, ok := config[netlabel.GlobalKVClient]; ok { var err error dsc, ok := data.(discoverapi.DatastoreConfigData) if !ok { return types.InternalErrorf("incorrect data in datastore configuration: %v", data) } d.store, err = datastore.NewDataStoreFromConfig(dsc) if err != nil { return types.InternalErrorf("failed to initialize data store: %v", err) } } return dc.RegisterDriver(networkType, d, c) }
// Init makes sure a remote driver is registered when a network driver // plugin is activated. func Init(dc driverapi.DriverCallback) error { plugins.Handle(driverapi.NetworkPluginEndpointType, func(name string, client *plugins.Client) { if err := dc.RegisterDriver(name, newDriver(name, client)); err != nil { log.Errorf("error registering driver for %s due to %v", name, err) } }) return nil }
// Init registers a new instance of bridge driver func Init(dc driverapi.DriverCallback) error { // try to modprobe bridge first // see gh#12177 if out, err := exec.Command("modprobe", "-va", "bridge", "nf_nat", "br_netfilter").Output(); err != nil { logrus.Warnf("Running modprobe bridge nf_nat failed with message: %s, error: %v", out, err) } return dc.RegisterDriver(networkType, newDriver()) }
// Init registers a new instance of overlay driver func Init(dc driverapi.DriverCallback, config map[string]interface{}) error { c := driverapi.Capability{ DataScope: datastore.GlobalScope, } d := &driver{ networks: networkTable{}, peerDb: peerNetworkMap{ mp: map[string]*peerMap{}, }, secMap: &encrMap{nodes: map[string][]*spi{}}, config: config, } if data, ok := config[netlabel.GlobalKVClient]; ok { var err error dsc, ok := data.(discoverapi.DatastoreConfigData) if !ok { return types.InternalErrorf("incorrect data in datastore configuration: %v", data) } d.store, err = datastore.NewDataStoreFromConfig(dsc) if err != nil { return types.InternalErrorf("failed to initialize data store: %v", err) } } if data, ok := config[netlabel.LocalKVClient]; ok { var err error dsc, ok := data.(discoverapi.DatastoreConfigData) if !ok { return types.InternalErrorf("incorrect data in datastore configuration: %v", data) } d.localStore, err = datastore.NewDataStoreFromConfig(dsc) if err != nil { return types.InternalErrorf("failed to initialize local data store: %v", err) } } if err := d.restoreEndpoints(); err != nil { logrus.Warnf("Failure during overlay endpoints restore: %v", err) } // If an error happened when the network join the sandbox during the endpoints restore // we should reset it now along with the once variable, so that subsequent endpoint joins // outside of the restore path can potentially fix the network join and succeed. for nid, n := range d.networks { if n.initErr != nil { logrus.Infof("resetting init error and once variable for network %s after unsuccesful endpoint restore: %v", nid, n.initErr) n.initErr = nil n.once = &sync.Once{} } } return dc.RegisterDriver(networkType, d, c) }
// Init registers a new instance of bridge driver func Init(dc driverapi.DriverCallback, config map[string]interface{}) error { d := newDriver() if err := d.configure(config); err != nil { return err } c := driverapi.Capability{ DataScope: datastore.LocalScope, } return dc.RegisterDriver(networkType, d, c) }
// Init initializes and registers the libnetwork ipvlan driver func Init(dc driverapi.DriverCallback, config map[string]interface{}) error { c := driverapi.Capability{ DataScope: datastore.LocalScope, } d := &driver{ networks: networkTable{}, } d.initStore(config) return dc.RegisterDriver(ipvlanType, d, c) }
// Init makes sure a remote driver is registered when a network driver // plugin is activated. func Init(dc driverapi.DriverCallback) error { plugins.Handle(driverapi.NetworkPluginEndpointType, func(name string, client *plugins.Client) { c := driverapi.Capability{ DataScope: datastore.GlobalScope, } if err := dc.RegisterDriver(name, newDriver(name, client), c); err != nil { log.Errorf("error registering driver for %s due to %v", name, err) } }) return nil }
// Init registers a new instance of bridge driver func Init(dc driverapi.DriverCallback) error { // try to modprobe bridge first // see gh#12177 if out, err := exec.Command("modprobe", "-va", "bridge", "nf_nat", "br_netfilter").Output(); err != nil { logrus.Warnf("Running modprobe bridge nf_nat failed with message: %s, error: %v", out, err) } if err := iptables.RemoveExistingChain(DockerChain, iptables.Nat); err != nil { logrus.Warnf("Failed to remove existing iptables entries in %s : %v", DockerChain, err) } return dc.RegisterDriver(networkType, newDriver()) }
// Init does the necessary work to register remote drivers func Init(dc driverapi.DriverCallback) error { plugins.Handle(driverapi.NetworkPluginEndpointType, func(name string, client *plugins.Client) { // TODO : Handhake with the Remote Plugin goes here newDriver := &driver{networkType: name, endpoint: client} if err := dc.RegisterDriver(name, newDriver); err != nil { log.Errorf("Error registering Driver for %s due to %v", name, err) } }) return nil }
// Init registers a new instance of overlay driver func Init(dc driverapi.DriverCallback) error { once.Do(onceInit) c := driverapi.Capability{ Scope: driverapi.GlobalScope, } return dc.RegisterDriver(networkType, &driver{ networks: networkTable{}, peerDb: peerNetworkMap{ mp: map[types.UUID]peerMap{}, }, }, c) }
// Init makes sure a remote driver is registered when a network driver // plugin is activated. func Init(dc driverapi.DriverCallback, config map[string]interface{}) error { plugins.Handle(driverapi.NetworkPluginEndpointType, func(name string, client *plugins.Client) { // negotiate driver capability with client d := newDriver(name, client) c, err := d.(*driver).getCapabilities() if err != nil { log.Errorf("error getting capability for %s due to %v", name, err) return } if err = dc.RegisterDriver(name, d, *c); err != nil { log.Errorf("error registering driver for %s due to %v", name, err) } }) return nil }
// Init registers a new instance of overlay driver func Init(dc driverapi.DriverCallback, config map[string]interface{}) error { c := driverapi.Capability{ DataScope: datastore.GlobalScope, } d := &driver{ networks: networkTable{}, peerDb: peerNetworkMap{ mp: map[string]*peerMap{}, }, config: config, } return dc.RegisterDriver(networkType, d, c) }
// Init registers a new instance of bridge driver func Init(dc driverapi.DriverCallback) error { // try to modprobe bridge first // see gh#12177 if out, err := exec.Command("modprobe", "-va", "bridge", "nf_nat", "br_netfilter").CombinedOutput(); err != nil { logrus.Warnf("Running modprobe bridge nf_nat br_netfilter failed with message: %s, error: %v", out, err) } if err := iptables.FirewalldInit(); err != nil { logrus.Debugf("Fail to initialize firewalld: %v, using raw iptables instead", err) } if err := iptables.RemoveExistingChain(DockerChain, iptables.Nat); err != nil { logrus.Warnf("Failed to remove existing iptables entries in %s : %v", DockerChain, err) } c := driverapi.Capability{ Scope: driverapi.LocalScope, } return dc.RegisterDriver(networkType, newDriver(), c) }
// Init registers a new instance of overlay driver func Init(dc driverapi.DriverCallback, config map[string]interface{}) error { var err error c := driverapi.Capability{ DataScope: datastore.GlobalScope, } d := &driver{ networks: networkTable{}, config: config, } d.vxlanIdm, err = idm.New(nil, "vxlan-id", 1, vxlanIDEnd) if err != nil { return fmt.Errorf("failed to initialize vxlan id manager: %v", err) } return dc.RegisterDriver(networkType, d, c) }
// Init registers a new instance of overlay driver func Init(dc driverapi.DriverCallback, config map[string]interface{}) error { once.Do(onceInit) c := driverapi.Capability{ Scope: driverapi.GlobalScope, } d := &driver{ networks: networkTable{}, peerDb: peerNetworkMap{ mp: map[string]peerMap{}, }, } if err := d.configure(config); err != nil { return err } return dc.RegisterDriver(networkType, d, c) }
// Init registers a new instance of bridge driver func Init(dc driverapi.DriverCallback) error { if _, err := os.Stat("/proc/sys/net/bridge"); err != nil { if out, err := exec.Command("modprobe", "-va", "bridge", "br_netfilter").CombinedOutput(); err != nil { logrus.Warnf("Running modprobe bridge br_netfilter failed with message: %s, error: %v", out, err) } } if out, err := exec.Command("modprobe", "-va", "nf_nat").CombinedOutput(); err != nil { logrus.Warnf("Running modprobe nf_nat failed with message: `%s`, error: %v", strings.TrimSpace(string(out)), err) } if err := iptables.FirewalldInit(); err != nil { logrus.Debugf("Fail to initialize firewalld: %v, using raw iptables instead", err) } if err := iptables.RemoveExistingChain(DockerChain, iptables.Nat); err != nil { logrus.Warnf("Failed to remove existing iptables entries in %s : %v", DockerChain, err) } c := driverapi.Capability{ Scope: driverapi.LocalScope, } return dc.RegisterDriver(networkType, newDriver(), c) }
// Init registers a new instance of overlay driver func Init(dc driverapi.DriverCallback, config map[string]interface{}) error { c := driverapi.Capability{ DataScope: datastore.GlobalScope, } d := &driver{ networks: networkTable{}, config: config, } if data, ok := config[netlabel.GlobalKVClient]; ok { var err error dsc, ok := data.(discoverapi.DatastoreConfigData) if !ok { return types.InternalErrorf("incorrect data in datastore configuration: %v", data) } d.store, err = datastore.NewDataStoreFromConfig(dsc) if err != nil { return types.InternalErrorf("failed to initialize data store: %v", err) } } if data, ok := config[netlabel.LocalKVClient]; ok { var err error dsc, ok := data.(discoverapi.DatastoreConfigData) if !ok { return types.InternalErrorf("incorrect data in datastore configuration: %v", data) } d.localStore, err = datastore.NewDataStoreFromConfig(dsc) if err != nil { return types.InternalErrorf("failed to initialize local data store: %v", err) } } d.restoreEndpoints() return dc.RegisterDriver(networkType, d, c) }
func badDriverInit(reg driverapi.DriverCallback, opt map[string]interface{}) error { return reg.RegisterDriver(badDriverName, &bd, driverapi.Capability{DataScope: datastore.LocalScope}) }
// Init registers a new instance of host driver func Init(dc driverapi.DriverCallback) error { c := driverapi.Capability{ DataScope: datastore.LocalScope, } return dc.RegisterDriver(networkType, &driver{}, c) }
// Init registers a new instance of host driver func Init(dc driverapi.DriverCallback) error { return dc.RegisterDriver(networkType, &driver{}) }
// Init registers a new instance of null driver func Init(dc driverapi.DriverCallback, config map[string]interface{}) error { c := driverapi.Capability{ DataScope: datastore.LocalScope, } return dc.RegisterDriver(networkType, &driver{}, c) }