What is the Vector Packet Processor (VPP)
FD.io’s Vector Packet Processor (VPP) is a fast, scalable layer 2-4 multi-platform network stack. It runs in Linux Userspace on multiple architectures including x86, ARM, and Power architectures.
VPP’s high performance network stack is quickly becoming the network stack of choice for applications around the world.
VPP is continually being enhanced through the extensive use of plugins. The Data Plane Development Kit (DPDK) is a great example of this. It provides some important features and drivers for VPP.
VPP supports integration with OpenStack and Kubernetes. Network management features include configuration, counters, sampling and more. For developers, VPP includes high-performance event-logging, and multiple kinds of packet tracing. Development debug images include complete symbol tables, and extensive consistency checking.
Some VPP Use-cases include vSwitches, vRouters, Gateways, Firewalls and Load-Balancers, to name a few.
For more details click on the links below or press next.
- VPP with Containers
- VPP with Iperf3 and TRex
- VPP in the Cloud
- VPP with Virtual Machines
- VPP with VMware/Vmxnet3
- VPP as a Home Gateway
- Access Control Lists with VPP
- Generating traffic with VPP
- Web applications with VPP
- Simulating networks with VPP
- Stateless Traffic Gen with VPP
- IKEv2 with VPP
- VPP in kubernetes (Contiv/Deprecated)
- VPP Container Test Bench
- Build, Run & Debug
- Core Architecture
- Core Features
- Adding a new plugin or feature
- Plugins
- QUIC HostStack
- Cloud NAT
- Linux Control Plane Integration
- SRv6 Plugins
- Marvell device plugin
- LLDP Protocol
- Stateful NAT64
- Active-Passive NAT HA
- NAT44-ED: NAT44 Endpoint Dependent
- PNAT 1:1 match & rewrite NAT
- Load Balancer plugin
- LACP Protocol
- IPFIX flow record plugin
- MAP and Lw4o6
- Buffer metadata change tracker
- DHCPv6 prefix delegation
- Inband OAM (iOAM)
- Wireguard vpp-plugin
- SRTP Protocol
- Multicore support for ACL plugin
- ACL plugin constant-time lookup
- ACL Lookup contexts
- Buffers monitoring plugin
- Device drivers
- VPP Test Framework
- Overview
- Anatomy of a test case
- Logging
- Parallel test execution
- Test temporary directory and VPP life cycle
- Virtual environment
- Naming conventions
- Automatically generated addresses
- Packet flow in the VPP Test Framework
- Test framework objects
- How VPP APIs/CLIs are called
- Utility methods
- Example: how to add a new test
- VPP extra tools
- Getting Started with the debug CLI
- Interface Commands
- Reference
- ARP and Loopback CLI
- Circular Journal
- Command line session
- DPDK Crypto
- DPDK and pcap tx
- Host Interface
- Image Version Information
- Init functions
- Interface
- Layer 2 CLI
- Layer 3 IP CLI
- Network Delay Simulator
- Static HTTP Server
- Unix Interface
- VLIB application library
- VXLAN CLI
- VXLAN-GBP CLI
- Perfmon cli reference
- Gbp cli reference
- L2e cli reference
- netmap
- Abf cli reference
- Acl cli reference
- Adl cli reference
- Af_xdp cli reference
- Arping cli reference
- Avf cli reference
- Bufmon cli reference
- Builtinurl cli reference
- Cdp cli reference
- Cnat cli reference
- Crypto_sw_scheduler cli reference
- Ct6 cli reference
- Dhcp cli reference
- Dispatch-trace cli reference
- Dns cli reference
- Cryptodev cli reference
- Flowprobe cli reference
- Geneve cli reference
- Gtpu cli reference
- Hs_apps cli reference
- Igmp cli reference
- Ikev2 cli reference
- Ila cli reference
- Ip6 cli reference
- Encap cli reference
- Export cli reference
- Export-vxlan-gpe cli reference
- Ip6 cli reference
- Lib-pot cli reference
- Lib-trace cli reference
- Lib-vxlan-gpe cli reference
- Udp-ping cli reference
- L2tp cli reference
- L3xc cli reference
- Lacp cli reference
- Lb cli reference
- Linux-cp cli reference
- Test cli reference
- Lisp-cp cli reference
- Lisp-gpe cli reference
- Test cli reference
- Lldp cli reference
- Mactime cli reference
- Map cli reference
- Pp2 cli reference
- Mdata cli reference
- Memif cli reference
- Mss_clamp cli reference
- Det44 cli reference
- Dslite cli reference
- Nat44-ed cli reference
- Nat44-ei cli reference
- Nat64 cli reference
- Nat66 cli reference
- Pnat cli reference
- Nsh cli reference
- Nsh-md2-ioam cli reference
- Export-nsh-md2-ioam cli reference
- Oddbuf cli reference
- Perfmon cli reference
- Ping cli reference
- Pppoe cli reference
- Prom cli reference
- Quic cli reference
- Rdma cli reference
- Snort cli reference
- Stn cli reference
- Svs cli reference
- Tlsopenssl cli reference
- Tracedump cli reference
- Unittest cli reference
- Urpf cli reference
- Vmxnet3 cli reference
- Vrrp cli reference
- Wireguard cli reference
- Dma cli reference
- Pci cli reference
- Stats cli reference
- Vlibapi cli reference
- Vlibmemory cli reference
- Adj cli reference
- Arp cli reference
- Bfd cli reference
- Bier cli reference
- Bonding cli reference
- Classify cli reference
- Crypto cli reference
- Pipe cli reference
- Tap cli reference
- Dpo cli reference
- Feature cli reference
- Fib cli reference
- Flow cli reference
- Gre cli reference
- Gso cli reference
- Hash cli reference
- Interface cli reference
- Ip-neighbor cli reference
- Reass cli reference
- Ip6-nd cli reference
- Ipfix-export cli reference
- Ipip cli reference
- Ipsec cli reference
- Lawful-intercept cli reference
- Mfib cli reference
- Mpls cli reference
- Pg cli reference
- Policer cli reference
- Qos cli reference
- Session cli reference
- Span cli reference
- Srmpls cli reference
- Srv6 cli reference
- Syslog cli reference
- Tcp cli reference
- Teib cli reference
- Udp cli reference
- Unix cli reference
- Vxlan-gpe cli reference
- Api cli reference
- App cli reference
- Vnet cli reference
- vHost User
- Getting started with the configuration
- Configuration Reference
- The unix section
- The api-trace Section
- The api-segment Section
- The socksvr Section
- The cpu Section
- The buffers Section
- The dpdk Section
- The plugins Section
- Some Advanced Parameters:
- acl-plugin Section
- api-queue Section
- cj Section
- dns Section
- ethernet Section
- heapsize Section
- ip Section
- ip6 Section
- l2learn Section
- l2tp Section
- logging Section
- mactime Section
- “map” Parameters
- nat Section
- oam Section
- physmem Section
- tapcli Section
- tcp Section
- tls Section
- tuntap Section
- vhost-user Section
- vlib Section
About this documentation
VPP Version : 22.10-release
Built on : 23 November 2022