cns 79192cb1f1 host-device: Bring interfaces down before moving.
When trying to move a master and slave interface into a container it is not
possible without first bringing the interfaces down. This change ensures
that the interface is set to down prior to trying to move the interface
into the container. This matches the behaviour on moving an interface out
of the container.

Signed-off-by: cns <christopher.swindle@metaswitch.com>
2020-05-17 20:46:43 +01:00
..

host-device

Move an already-existing device into a container.

Overview

This simple plugin will move the requested device from the host's network namespace to the container's. IPAM configuration can be used for this plugin.

Network configuration reference

The device can be specified with any one of four properties:

  • device: The device name, e.g. eth0, can0
  • hwaddr: A MAC address
  • kernelpath: The kernel device kobj, e.g. /sys/devices/pci0000:00/0000:00:1f.6
  • pciBusID: A PCI address of network device, e.g 0000:00:1f.6

For this plugin, CNI_IFNAME will be ignored. Upon DEL, the device will be moved back.

The plugin also supports the following capability argument:

  • deviceID: A PCI address of the network device, e.g 0000:00:1f.6

Example configuration

A sample configuration with device property looks like:

{
	"cniVersion": "0.3.1",
	"type": "host-device",
	"device": "enp0s1"
}

A sample configuration with pciBusID property looks like:

{
	"cniVersion": "0.3.1",
	"type": "host-device",
	"pciBusID": "0000:3d:00.1"
}

A sample configuration utilizing deviceID runtime configuration looks like:

  1. From operator perspective:
    {
       "cniVersion": "0.3.1",
       "type": "host-device",
       "capabilities": {
       	"deviceID":  true
       }
    }
    
  2. From plugin perspective:
    {
    	"cniVersion": "0.3.1",
    	"type": "host-device",
    	"runtimeConfig": {
    		"deviceID":  "0000:3d:00.1"
    	}
    }