The Vector Packet Processor Logo

About VPP

  • Scalar vs Vector packet processing
  • The Packet Processing Graph
  • Network Stack Features
  • Host Stack
  • Additional features
  • Supported archs and OS
  • Performance
  • Release notes
  • VPP Supported Features

Use Cases

  • 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

Getting started

  • Downloading and Installing VPP
  • Running VPP
  • Progressive VPP Tutorial
  • Troubleshooting

Developer Documentation

  • Build, Run & Debug
  • Core Architecture
  • Core Features
  • Adding a new plugin or feature
  • Plugins
    • QUIC HostStack
    • Cloud NAT
    • Armada device plugin
    • Linux Control Plane Integration
    • SRv6 Plugins
      • SRv6 per-flow dynamic proxy
      • SRv6 dynamic proxy
      • SRv6 masquerading
      • SRv6 static proxy
      • SRv6 Mobile User Plane
      • SRv6 Mobile Runner
      • Sample SRv6 LocalSID documentation
    • 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
    • IP session redirect
    • BPF Trace Filter Function
    • HTTP Plugin
  • Device drivers
  • VPP Test Framework
  • VPP extra tools

Interfacing with VPP

  • The binary API
  • C api client
  • C++ api client
  • Go api (govpp)
  • Rust api client
  • Memif library (libmemif)
  • VAT2

Contributing

  • Getting a Patch Reviewed
  • Writing VPP Documentation
  • Reporting Bugs

Debug CLI

  • Getting Started with the debug CLI
  • Interface Commands
  • Reference

Configuration file

  • Getting started with the configuration
  • Configuration Reference
The Vector Packet Processor
  • Plugins
  • SRv6 Plugins
  • View page source

SRv6 Plugins

  • SRv6 per-flow dynamic proxy
    • Overview
    • CLI configuration
  • SRv6 dynamic proxy
    • SRv6 endpoint to SR-unaware appliance via dynamic proxy (End.AD)
  • SRv6 masquerading
    • SRv6 endpoint to SR-unaware appliance via masquerading (End.AM)
  • SRv6 static proxy
    • Overview
    • CLI configuration
    • Pseudocode
  • SRv6 Mobile User Plane
    • Introduction
    • Implementation
    • Configurations
  • SRv6 Mobile Runner
    • Common configurations
    • Drop-in for GTP-U over IPv4
  • Sample SRv6 LocalSID documentation
    • Introduction
    • Variables to watch for
    • Functions to watch for
    • Graph node
Previous Next

© Copyright 2018-2022, Linux Foundation.

Built with Sphinx using a theme provided by Read the Docs.
VPP versions v25.06
Other links
Project Home