Brussels / 4 & 5 February 2023


"CNI Unleashed"

How to deal with CNI plugin chains.

Creating a CNI plugin is a simple, but mostly undocumented, task. If you add plugin chaining the complexity is lofted by a layer. We’ll be getting you to where you can create your base plugin and add it to a chain, and inspect the links of that chain, the CNI result passed between each. With CNI chains each plugin depends on information created at the previous step in the chain. We’ll be relying on tools such as cnitool, dummy CNI plugins to chain and custom json configs. We'll show the tools we use every day to create a multi-step CNI plugin in a NetworkAttachmentDefinition. We’ll talk about how to use different capabilities, handle logging and writing a custom plugin in the chain. We’ll revisit concepts from the CNI spec such as prevResult and go from zero to a working multi-chain CNI plugin. We'll talk about how we architect CNI plugins to make debugging easier, and how to deploy them in a testing and production environment.


Photo of Miguel Barroso Miguel Barroso
Photo of Daniel Mellado Daniel Mellado