This is a simple Docker CNI which integrates with the IPDK project. Specifically, it works with the IPDK P4 eBPF backend.
For more information about IPDK:
The docker plugin is used to create veth ports between the P4-eBPF switch namespace and the container's namespace.
Build the plugin:
$ go get
$ go build
Ensure that your plugin is discoverable
$ sudo cp ipdk.json /etc/docker/plugins/
Start the plugin
$ sudo ./ipdk-plugin &
To run the plugin such that it exposes a GW port into the host where docker is
running, add -hostports
to the command line:
$ sudo ./ipdk-plugin -hostports &
Note: Enable password less sudo to ensure the plugin will run in the background without prompting.