Expand description
§Framework for writing high-performance VPP plugins in Rust
VPP is a high performance packet processing with support for a large number of features, and enables writing plugins to extend its functionality.
This crate provides the core functionality for writing VPP plugins in Rust. It includes bindings to the VPP C API, as well as abstractions for writing VPP nodes, with the goal of having performance parity with C plugins for fast path packet processing.
§Features
The following features are available:
experimental: Used for functionality and types that aren’t tested or are not part of the stable API yet as aspects of them might still be under consideration. APIs conditional on this feature may be added, changed or removed without the semantic versioning reflecting this.
Re-exports§
pub extern crate bitflags;
Modules§
- bindings
- Bindings to VPP’s C API
- vlib
- VPP application library
- vlibapi
- VPP API library
- vnet
- VPP networking
- vppinfra
- VPP core library
Macros§
- const_
assert - Compile-time assertion
- vec
- Creates a
Vec<T>from a list of elements - vlib_
plugin_ register - Register the plugin so that it can be loaded by VPP
- vnet_
feature_ init - Registers a VPP feature
Attribute Macros§
- vlib_
cli_ command - Creates a CLI command function
- vlib_
init_ function - Marks a function as an VPP plugin init function.
- vlib_
node - Registers a VPP node and associated function
Derive Macros§
- Error
Counters - Derives the ErrorCounters trait for a VPP error counter enum
- Next
Nodes - Derives the NextNodes trait for a VPP next node enum