Download Latest Version v1.3.0 source code.zip (193.9 kB)
Email in envelope

Get an email when there's a new version of CNI

Home / v1.2.0
Name Modified Size InfoDownloads / Week
Parent folder
CNI spec v1.1 _ libcni v1.2.0 source code.tar.gz 2024-04-15 2.2 MB
CNI spec v1.1 _ libcni v1.2.0 source code.zip 2024-04-15 2.3 MB
README.md 2024-04-15 2.0 kB
Totals: 3 Items   4.5 MB 0

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:

:::json
{
  "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

Other improvements

  • (#911). libcni: add specific type for CHECK not supported
  • (#1072). tolerate invalid cni caches for deletion
  • (#1054). Add Version() to CNI interface
Source: README.md, updated 2024-04-15