Contiv-VPP is a CNI plugin for Kubernetes that employs a programmable CNF vSwitch based on FD.io VPP offering feature-rich, high-performance cloud-native networking and services.
For more details see https://contivpp.io/
- kube-proxy implementation on VPP - in the userspace (full implemenatation of k8s services & k8s policies)
- support for multiple interfaces per pod, including memif interfaces
- support for multiple isolated L2 or L3 networks
- IPv6 support, segment routing implementation of k8s services (SRv6)
- service chaining between pods for CNF workloads
Release | Version | Date |
---|---|---|
Latest stable release |
Please see the CHANGELOG for a full list of changes on every release.
The docs folder contains lots of documentation. For the beginning, you can start with:
- ARCHITECTURE for high-level description of Contiv-VPP components and operation,
- NETWORKING for detailed description on how the network is programmed with Contiv-VPP,
- DEVELOPER GUIDE for details on how Contiv-VPP works internally.
You can get started with Contiv-VPP in one of the following ways:
-
Use the Contiv-VPP Vagrant Installation instructions to start a simulated Kubernetes cluster with a couple of hosts running in VirtualBox VMs. This is the easiest way to bring up a cluster for exploring the capabilities and features of Contiv-VPP.
-
Use the Contiv-specific kubeadm install instructions to manually install Kubernetes with Contiv-VPP networking on one or more bare-metal servers.
-
Use the Arm64-specific kubeadm install instructions to manually install Kubernetes with Contiv-VPP networking on one or more bare-metal servers of Arm64 platform.
-
Use the Calico-VPP Vagrant to explore deployment of VPP in Calico clusters, where some of the nodes can be running plain Calico (without VPP) and some of the nodes can be running Calico with VPP.
-
Try Contiv-VPP UI web browser user interface on top of Contiv-VPP, it runs in Vagrant deployments as well as on bare-metal.
Please refer to the Contiv-VPP configuration and troubleshooting document.
In order to report a bug, please file an issue in GitHub. Please provide the information described in Bug Reports README.
Slack Channel: https://contivvpp.slack.com/ (invite).
If you are interested in contributing, please see the contribution guidelines.