For Developers¶
The Developers section covers the following areas:
- Describes how to build different types of VPP images 
- Explains how to run VPP with and without GDB, with some GDB examples 
- Describes the steps required to get a patch reviewed and merged 
- Describes the VPP software architecture and identifies the associated four VPP layers 
- Describes the different components that are associated with each VPP layer 
- Explains how to Create, Add, Enable/Disable different ARC features 
- Discusses different aspects of Bounded-index Extensible Hashing (bihash), and how it is used in database lookups 
- Describes the different types of API support and how to integrate a plugin 
- Building VPP
- Running VPP
- GDB Examples
- Adding a plugin
- Getting a Patch Reviewed
- Software Architecture
- VPPINFRA (Infrastructure)
- VLIB (Vector Processing Library)- Init function discovery
- Node Graph Initialization
- Graph node dispatcher
- Graph dispatcher internals
- Vector Data Structure
- Scheduling Vectors
- Complications
- Next frames, next frame ownership
- dispatch_pending_node actions
- Process / thread model
- Process events
- Buffers
- Shared-memory message API
- Debug CLI
- Handing off buffers between threads
 
- Plugins
- VNET (VPP Network Stack)
- Feature Arcs
- Buffer Metadata
- Buffer Metadata Extensions
- Multi-architecture support
- Bounded-index Extensible Hashing (bihash)
- VPP API module
- Binary API Support
- Build System
- Event-logger
- G2 graphical event viewer
- FIB 2.0 Hierarchical, Protocol, Independent
- How to build a vpp dispatch trace aware Wireshark
- Punting Packets
- QUIC HostStack
- Cross compilation on MacOS