Overview
CNI (Container Network Interface) defines how runtimes invoke network plugins to configure and release interfaces, IP addresses, routes, and related resources for Linux containers. The repository contains the specification, the Go `libcni` integration library, and `cnitool`; reference bridge and loopback plugins are maintained separately.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Standardize the contract between runtimes and network plugins
The specification defines configuration inputs such as container ID, network namespace, interface name, JSON configuration, and command behavior including ADD, DEL, and CHECK.
Support integrations and plugin testing with libcni and cnitool
libcni lets Go applications execute CNI configurations, while cnitool can exercise plugins without a full container runtime.
For connecting Kubernetes or container runtimes to interchangeable networking plugins
CNI provides the common interface used to invoke implementations such as Cilium, Calico, cloud-provider plugins, and other container-networking systems.
Sources: [2]
Separate the CNI specification from the actual network plugin and check version compatibility
This repository alone does not provide a complete container network. Confirm the lowest mutually supported CNI spec version across the runtime and plugins, and test upgrades before production deployment.
Official sources
- [1]containernetworking/cni repository(2026-09-20)
- [2]CNI README(2026-09-20)
- [3]CNI Apache-2.0 license(2026-09-20)
- [4]CNI specification(2026-09-20)
- [5]cnitool documentation(2026-09-20)
Supplemental curator note
CNI is not one Kubernetes networking product; it is the common interface that lets runtimes invoke plugins such as Cilium or Calico. This repository contains the specification, Go integration library, and cnitool, while reference networking plugins live in a separate repository.
Try it in 3 steps
- 1
Build cnitool from the CNI repository
Build the developer-oriented cnitool from the repository containing the CNI specification and libcni.
git clone https://github.com/containernetworking/cni.git && cd cni && go build -o ./bin/cnitool ./cnitool - 2
Build reference plugins from the separate repository
Bridge and other reference plugins are maintained separately from the CNI specification repository.
git clone https://github.com/containernetworking/plugins.git && cd plugins && ./build_linux.sh - 3
Exercise a plugin in an isolated network namespace
Verify ADD/CHECK/DEL behavior and CNI spec compatibility without touching the host production network.
Use cnitool with a temporary network namespace and a test CNI config
Growth
Growth trends · Last 30 days
6,118 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 1
- Open PRs
- 35
- Issues opened
- 1
- Issues closed
- 2
- PRs opened
- 3
- PRs merged
- 2
Issues
1 / 2
Pull requests
3 / 2
Maintenance
- Median first response
- 79 days
- Issue response rate
- 100% (1/1)
Based on up to the 100 newest issues opened by external users in the last 90 days. A first comment from an OWNER, MEMBER, or COLLABORATOR counts as a response; issues whose full comment history cannot be checked are excluded. The median and response rate update weekly.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- docker
- networking
- containers
- kubernetes
- Stars
- 6,118
- Forks
- 1,164
- Watchers
- 216
- Open issues
- 119
- Contributors
- 148
- Primary language
- Go
- License
- Apache-2.0
- Repository last updated
- Sep 14, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Kubernetes127,843 Stars
A cloud-native platform for deploying, maintaining, and scaling containers across hosts.
Go - RustDesk124,007 Stars
A cross-platform Rust remote desktop with NAT traversal, relay fallback, and optional self-hosted ID/relay infrastructure.
Rust - Supabase110,326 Stars
An open Postgres development platform combining Database, Auth, APIs, Realtime, Storage, and Functions.
TypeScript - Moby72,112 Stars
Docker's upstream open-source project for assembling container platforms from replaceable components.
Go - Ansible70,732 Stars
An agentless SSH-based platform for configuration, deployment, cloud, and network automation using human-readable descriptions.
Python
Report incorrect information
Tell us if any listing information is incorrect or outdated.