Skip to main content

Crate vpp_plugin

Crate vpp_plugin 

Source
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§

ErrorCounters
Derives the ErrorCounters trait for a VPP error counter enum
NextNodes
Derives the NextNodes trait for a VPP next node enum