Data plane programming enables the programmability of network devices with domain-specific programming languages, like P4. One commonly used P4-programmable hardware target is the Intel Tofino switching ASIC. The runtime behavior of an implemented P4 program on Tofino can be configured with shell scripts or a Python library from Barefoot provided with the Tofino. Both are limited in their capabilities and usability. This paper introduces the Rust Barefoot Runtime (RBFRT), a Rust-based control plane library. The RBFRT provides a fast and memory-safe interface to configure the Intel Tofino. We showed that the RBFRT achieves a higher insertion rate for MAT entries and has a shorter response time compared to the Python library.
翻译:数据平面编程通过领域特定编程语言(如 P4)实现了网络设备的可编程性。Intel Tofino 交换专用集成电路是一种常用的 P4 可编程硬件目标平台。在 Tofino 上实现的 P4 程序的运行时行为,可通过随 Tofino 提供的 Barefoot 公司开发的 Shell 脚本或 Python 库进行配置。然而,这两种方式在功能与易用性方面均存在局限。本文介绍了 Rust Barefoot 运行时(RBFRT),这是一个基于 Rust 语言开发的控制平面库。RBFRT 为配置 Intel Tofino 提供了一个快速且内存安全的接口。我们通过实验证明,与 Python 库相比,RBFRT 在匹配-动作表条目插入速率方面更高,且响应时间更短。