The Vector Packet Processing(VPP) platform is an extensible framework that provides
out-of-the-box production quality switch/router functionality.It is the open
source version of Cisco's Vector Packet Processing (VPP) technology(a high
performance packet-processing stack that can run on commodity CPUs). The
benefits of this implementation
of VPP are its high performance, proven technology, its modularity and
flexibility, and rich feature set.
VPP is open source
high-performance packet processing software. It leverages the Data Plane Development Kit (DPDK) to take advantage of fast I/O. DPDK
provides fast packet processing libraries and user space drivers. It receives
and send packets with a minimum number of CPU cycles by bypassing the kernel
and using a user poll mode driver. Details on how to configure DPDK can
be found in the DPDK Documentation. One of the benefits of this implementation of VPP is its
high performance on relatively low-power computing.
This high level of performance is based on the following highlights:
- High-performance user-space network stack for commodity hardware
- The same code for host, VMs, Linux containers
- Integrated vhost-user virtio backend for high speed VM-to-VM connectivity
- L2 and L3 functionality, multiple encapsulations
- Leverages best-of-breed open source driver technology: DPDK
- Extensible by use of plugins
- Control-plane / orchestration-plane via standards-based APIs
ref:
Vector Packet Processing(VPP) -
- https://fd.io/technology/
- https://wiki.fd.io/view/VPP/What_is_VPP%3F
- https://buildmedia.readthedocs.org/media/pdf/fdio-vpp/latest/fdio-vpp.pdf
- https://object-storage-ca-ymq-1.vexxhost.net/swift/v1/6e4619c416ff4bd19e1c087f27a43eea/www-assets-prod/presentation-media/VPP-Barcelona.pdf
Data Plane Development Kit (DPDK) overview -
- https://www.linuxjournal.com/content/userspace-networking-dpdk
- https://pdfs.semanticscholar.org/e6d9/e0b89795005d7d5d4b0464bf7271ddd02ac0.pdf
- https://doc.dpdk.org/guides/prog_guide/overview.html
- https://blog.selectel.com/introduction-dpdk-architecture-principles/
Build a Fast Network Stack with Vector Packet Processing
(VPP) on an Intel® Architecture Server - https://software.intel.com/en-us/articles/build-a-fast-network-stack-with-vpp-on-an-intel-architecture-server
VPP vs DPDK - https://www.dpdk.org/wp-content/uploads/sites/35/2016/08/Day02-Session04-ThomasHerbert-DPDKUSASummit2016.pdf
PVPP(Programmable Vector Packet Processing) - https://web.stanford.edu/~yo2seol/static/talks/pvpp-cisco.pdf