Packages

This section identifies the different VPP packages and describes their contents.

vpp

Vector Packet Processing executables. This is the primary package that must be installed to use VPP. This package contains:

  • vpp - the vector packet engine

  • vpp_api_test - vector packet engine API test tool

  • vpp_json_test - vector packet engine JSON test tool

vpp-lib

Vector Packet Processing runtime libraries. The ‘vpp’ package depends on this package, so it will always be installed. This package contains the VPP shared libraries, including:

  • vppinfra - Foundation library supporting vectors, hashes, bitmaps, pools, and string formatting.

  • svm - vm library

  • vlib - vector processing library

  • vlib-api - binary API library

  • vnet - network stack library

vpp-plugins

Vector Packet Processing plugin modules.

  • abf - Access Control List (ACL) Based Forwarding

  • acl - Access Control Lists (ACL)

  • adl - Allow/deny list plugin

  • af_xdp - AF_XDP Device Plugin

  • avf - Intel Adaptive Virtual Function (AVF) Device Driver

  • builtinurl - vpp built-in URL support

  • cdp - Cisco Discovery Protocol (CDP)

  • cnat - CNat Translate

  • crypto_ipsecmb - Intel IPSEC Multi-buffer Crypto Engine

  • crypto_native - Intel IA32 Software Crypto Engine

  • crypto_openssl - OpenSSL Crypto Engine

  • crypto_sw_scheduler - SW Scheduler Crypto Async Engine plugin

  • ct6 - IPv6 Connection Tracker

  • dhcp - Dynamic Host Configuration Protocol (DHCP)

  • dns - Simple DNS name resolver

  • dpdk - Data Plane Development Kit (DPDK)

  • flowprobe - Flow per Packet

  • gbp - Group Based Policy (GBP)

  • geneve - GENEVE Tunnels

  • gtpu - GPRS Tunnelling Protocol, User Data (GTPv1-U)

  • hs_apps - Host Stack Applications

  • http_static - HTTP Static Server

  • igmp - Internet Group Management Protocol (IGMP)

  • ikev2 - Internet Key Exchange (IKEv2) Protocol

  • ila - Identifier Locator Addressing (ILA) for IPv6

  • ioam - Inbound Operations, Administration, and Maintenance (OAM)

  • l2e - Layer 2 (L2) Emulation

  • l2tp - Layer 2 Tunneling Protocol v3 (L2TP)

  • l3xc - L3 Cross-Connect (L3XC)

  • lacp - Link Aggregation Control Protocol (LACP)

  • lb - Load Balancer (LB)

  • lisp - Locator ID Separation Protocol (LISP)

  • lldp - Link Layer Discovery Protocol (LLDP)

  • mactime - Time-based MAC Source Address Filter

  • map - Mapping of Address and Port (MAP)

  • marvell - Marvell PP2 Device Driver

  • mdata - Buffer metadata change tracker.

  • memif - Packet Memory Interface (memif) – Experimental

  • nat - Deterministic NAT (CGN)

  • nsh - Network Service Header (NSH)

  • nsim - Network Delay Simulator

  • oddbuf - Awkward chained buffer geometry generator

  • perfmon - Performance Monitor

  • ping - Ping (ping)

  • pppoe - PPP over Ethernet (PPPoE)

  • quic - Quic transport protocol

  • rdma - RDMA IBverbs Device Driver

  • srv6-ad - Dynamic Segment Routing for IPv6 (SRv6) Proxy

  • srv6-am - Masquerading Segment Routing for IPv6 (SRv6) Proxy

  • srv6-as - Static Segment Routing for IPv6 (SRv6) Proxy

  • srv6-mobile - SRv6 GTP Endpoint Functions

  • stn - VPP Steals the NIC (STN) for Container Integration

  • svs - Source Virtual Routing and Fowarding (VRF) Select

  • tlsmbedtls - Transport Layer Security (TLS) Engine, Mbedtls Based

  • tlsopenssl - Transport Layer Security (TLS) Engine, OpenSSL Based

  • tlspicotls - Transport Layer Security (TLS) Engine, Picotls Based

  • tracedump - Streaming packet trace dump plugin

  • unittest - C unit tests

  • urpf - Unicast Reverse Path Forwarding (uRPF)

  • vmxnet3 - VMWare Vmxnet3 Device Driver

  • vrrp - VRRP v3 (RFC 5798)

  • wireguard - Wireguard Protocol

vpp-dbg

Vector Packet Processing debug symbols.

vpp-dev

Vector Packet Processing development support. This package contains development support files for the VPP libraries.

vpp-api-python

Python binding for the VPP Binary API.

vpp-api-lua

Lua binding for the VPP Binary API.

vpp-selinux-policy

This package contains the VPP Custom SELinux Policy. It is only generated for Fedora and CentOS distros. For those distros, the ‘vpp’ package depends on this package, so it will always be installed. It will not enable SELinux on the system. It will install a Custom VPP SELinux policy that will be used if SELinux is enabled at any time.