rbfrt 0.1.9

Rust library for interaction with Intel Tofino(TM) BFRT switch interface.
Documentation

Rust BF Runtime Interface (RBFRT)

image Build with badge image build

Overview

This repository contains the source code of Rust Barefoot Runtime (RBFRT): Fast Runtime Control for the Intel Tofino (preprint paper).

The RBFRT is a Rust-based control plane library. It provides a fast and memory-safe interface to configure the Intel Tofino. It uses gRPC and the official Protobuf definitions of the Open-Tofino GitHub repository.

Features

  • BFRuntime gRPC Interface - High-level table, register, and digest operations

  • Thrift PD API Support (optional) - Low-level platform-dependent operations

    • Port MTU configuration
    • Traffic Manager (TM) APIs
    • Multicast and pipeline management

    To enable the optional Thrift PD API support in your project, activate the thrift-support feature:

    [dependencies]
    rbfrt = { version = "0.1.9", features = ["thrift-support"] }
    

Documentation

The documentation of this crate is deployed as a GitHub page.

Cite

If you use RBFRT in any of your publications, please cite the following papers:

  1. E. Zink, M. Flüchter, S. Lindner, F. Ihle, and M. Menth: Rust Barefoot Runtime (RBFRT): Fast Runtime Control for the Intel Tofino, in KuVS Workshop on Network Softwarization (KuVS NetSoft), Apr. 2025, online
@article{ZiFl25,
  title  = {{Rust Barefoot Runtime (RBFRT): Fast Runtime Control for the Intel Tofino}},
  author = {Etienne Zink and Moritz Flüchter and Steffen Lindner and Fabian Ihle and Michael Menth},
  journal = {{KuVS Workshop on Network Softwarization (KuVS NetSoft)}}
  year   = 2025,
  month  = apr
}