code: 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 {
  			client, err := getPluginClient(ap)
  			if err != nil {
  				return err
  			}
  			newPluginHandler(ap.Name(), client)
  		}
  	}
  	handleFunc(driverapi.NetworkPluginEndpointType, newPluginHandler)
  
  	return nil
  }
docs: // Init makes sure a remote driver is registered when a network driver
  // plugin is activated.