# README
cnitool
cnitool
is a simple program that executes a CNI configuration. It will
add or remove an interface in an already-created network namespace.
Environment Variables
NETCONFPATH
: This environment variable needs to be set to a directory. It defaults to/etc/cni/net.d
. Thecnitool
searches for CNI configuration files in this directory with the extension*.conf
or*.json
. It loads all the CNI configuration files in this directory and if it finds a CNI configuration with thenetwork name
given to the cnitool it returns the corresponding CNI configuration, else it returnsnil
.CNI_PATH
: For a given CNI configurationcnitool
will search for the corresponding CNI plugin in this path.
Example invocation
First, install cnitool:
go get github.com/containernetworking/cni
go install github.com/containernetworking/cni/cnitool
Then, check out and build the plugins. All commands should be run from this directory.
git clone https://github.com/containernetworking/plugins.git
cd plugins
./build_linux.sh
# or
./build_windows.sh
Create a network configuration
echo '{"cniVersion":"0.4.0","name":"myptp","type":"ptp","ipMasq":true,"ipam":{"type":"host-local","subnet":"172.16.29.0/24","routes":[{"dst":"0.0.0.0/0"}]}}' | sudo tee /etc/cni/net.d/10-myptp.conf
Create a network namespace. This will be called testing
:
sudo ip netns add testing
Add the container to the network:
sudo CNI_PATH=./bin cnitool add myptp /var/run/netns/testing
Check whether the container's networking is as expected (ONLY for spec v0.4.0+):
sudo CNI_PATH=./bin cnitool check myptp /var/run/netns/testing
Test that it works:
sudo ip -n testing addr
sudo ip netns exec testing ping -c 1 4.2.2.2
And clean up:
sudo CNI_PATH=./bin cnitool del myptp /var/run/netns/testing
sudo ip netns del testing
# Constants
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author