This is libcni v1.2.0, which releases the new CNI spec version v1.1.0.
Major changes:
GC verb
The GC verb allows runtimes to specify the set of known-good attachments, allowing plugins to clean up stale and leaked resources such as IPAM reservations. Libcni will also synthesize a CNI DEL for any stale cached attachments, so all users will have a form of GC, even if their plugins do not support CNI v1.1
STATUS verb
The STATUS verb allows a plugin to report its readiness to accept ADD requests. Runtimes such as containerd and cri-o will no longer have to rely merely on the presence of a CNI configuration file to determine network readiness.
Version negotiation
CNI configurations may now contain multiple versions, so that an administrator can opportunistically update the protocol version without breaking older runtimes:
{
"cniVersion": "1.0.0",
"cniVersions": ["1.0.0", "1.1.0"]
}
New fields
A number of new fields have been added to the result type:
- (#1060). Add MTU to CNI result
- (#1068). Add Scope property for routes Fixes: #598
- (#1069). Add SocketPath/PciID to Interface struct This is to resolve: #1050
- (#1062). Add table ID property for routes Fixes #1061
- (#1041). Add route attributes - MTU, AdvMSS, Priority