ABSTRACT
The advent of P4 as a protocol-independent and platform-independent network packet processing language has revolutionized the way networks are designed and the way networking devices are programmed. There are few programmable devices, whether ASICs or FPGA-based devices, that are designed with P4 programmability as the end goal right from the beginning. As a consequence, although these packet processing engines are programmable, writing a P4 compiler for these targets requires overcoming some technical challenges. Our team has worked on a variety of packet processing pipelines in recent years, in this article, we are presenting some of these challenges as well as the solutions we found to work around them.
Supplemental Material
- The P4 Language Consortium. 2021. P416 Language Specification v1.2.2. https://p4.org/p4-spec/docs/P4-16-v1.2.2.htmlGoogle Scholar
- The P4 Language Consortium. 2021. P4_16 reference compiler code from https://github.com/p4lang/p4cGoogle Scholar
- The P4 Language Consortium. 2021. P4Runtime Specification. https://p4.org/p4-spec/p4runtime/v1.0.0/P4Runtime-Spec.html.Google Scholar
Index Terms
- Writing P4 compiler backend for packet processing engines
Recommendations
P4-To-VHDL
Automatic generation of parser and deparser blocks capable to process traffic at speed of 100Gbps.Protocol independent (can be used not only in computer networks).Easy implementation of the final application because both modules (parser and deparser) ...
The P4->NetFPGA Workflow for Line-Rate Packet Processing
FPGA '19: Proceedings of the 2019 ACM/SIGDA International Symposium on Field-Programmable Gate ArraysP4 has emerged as the de facto standard language for describing how network packets should be processed, and is becoming widely used by network owners, systems developers, researchers and in the classroom. The goal of the work presented here is to make ...
P4-Compatible High-Level Synthesis of Low Latency 100 Gb/s Streaming Packet Parsers in FPGAs
FPGA '18: Proceedings of the 2018 ACM/SIGDA International Symposium on Field-Programmable Gate ArraysPacket parsing is a key step in SDN-aware devices. Packet parsers in SDN networks need to be both reconfigurable and fast, to support the evolving network protocols and the increasing multi-gigabit data rates. The combination of packet processing ...
Comments