Async Rust client for VPP's binary API over Unix sockets.
Handles the 16-byte framing, big-endian serde for message types, and control-ping-based reply streaming. Generated message types for common VPP modules (interface, ip, punt, …) are included under src/generated/.
cargo build --releaseuse vpp_api::VppClient;
let client = VppClient::connect("/run/vpp/api.sock").await?;
let interfaces = client
.send_dump(vpp_api::interface::SwInterfaceDump::default())
.await?;See examples/ for more complete patterns.
.api.json files from a VPP source checkout feed a standalone generator (codegen/). Checked-in api-json/ files come from VPP 25.10 (not yet a submodule of this repo — see TODOs).
MPL-2.0. See LICENSE.