Running P4 Programs on General Programmable Network Interconnection Chips

ChenYunFei Lu,Zhu Tang,Wei Peng,Gaofeng Lv,Peng Xun
DOI: https://doi.org/10.1109/FCCE58525.2023.00008
2023-01-01
Abstract:Programming protocol-independent packet processors (P4) is currently the most widespread data plane programming language. It allows programmer to specify how data plane process packets with basic match-action operations. To use P4, programmers generally need a programmable switch with Barefoot’s interconnection chip Tofino/Tofino2, and almost all programmable switches that support P4 are based on these chips. However, many traditional interconnection chips only provide SDK API written in C language, even they contain match-action style programmable components. To solve this problem, we designed and implemented a new P4C compiler backend for transforming the P4 program to frequently-used SDK APIs of network interconnection chips. Finally, we validate the prototype implementation and make some lines of codes comparison of our compiler backend through experiments on our target interconnection chip.
What problem does this paper attempt to address?