
* Add support for `deviceID` runtime config attribute Signed-off-by: Adrian Chiris <adrianc@mellanox.com>
67 lines
1.6 KiB
Markdown
67 lines
1.6 KiB
Markdown
# 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](https://github.com/containernetworking/cni/blob/master/CONVENTIONS.md):
|
|
* `deviceID`: A PCI address of the network device, e.g `0000:00:1f.6`
|
|
|
|
## Example configuration
|
|
|
|
A sample configuration with `device` property looks like:
|
|
|
|
```json
|
|
{
|
|
"cniVersion": "0.3.1",
|
|
"type": "host-device",
|
|
"device": "enp0s1"
|
|
}
|
|
```
|
|
|
|
A sample configuration with `pciBusID` property looks like:
|
|
|
|
```json
|
|
{
|
|
"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:
|
|
```json
|
|
{
|
|
"cniVersion": "0.3.1",
|
|
"type": "host-device",
|
|
"capabilities": {
|
|
"deviceID": true
|
|
}
|
|
}
|
|
```
|
|
2. From plugin perspective:
|
|
```json
|
|
{
|
|
"cniVersion": "0.3.1",
|
|
"type": "host-device",
|
|
"runtimeConfig": {
|
|
"deviceID": "0000:3d:00.1"
|
|
}
|
|
}
|
|
```
|