Design and development of a vendor-specific compiler, based on P4C, an alpha-quality reference compiler for the P4 programming language, that generates low-level commands for SmartNIC traffic configuration from a user-provided P4 program.
Telecommunications technology solutions provider with a primary focus on SmartNIC manufacturing.
- Since the configuration of FPGA-based NICs is usually difficult and time-consuming, the Customer had a need to embed P4 support in their products to define configuration templates and make them unified for different types of NICs.
- The Customer’s ultimate goal was to improve the user experience of their end clients and to provide them with added value enabled by P4 compatibility.
- The presented solution included Docker-based P4 compiler build infrastructure, template P4 programs for specific use cases, and the infrastructure for P4 program validation.
- Two P4-based applications were developed to design the Customer’s NIC pipeline structure for particular L2 and L3 networking use cases:
- The L2 forwarding P4 program describes a pipeline implementing Port-VLAN filtering, ACL filtering, and L2 forwarding.
- The L3 forwarding P4 program describes a pipeline in three stages: Port-VLAN-DMAC filtering, ACL filtering, and L3 forwarding.
- The provided P4C backend performs P4 program validation, parsing and translation into specific hardware target (FPGA-based NIC API), significantly simplifying NIC configuration by substituting a vendor-specific CLI with P4-based approach. This allows end users to configure multiple NICs with a P4 program and specify run-time parameters via P4Runtime interface.
- Compatibility with P4 enables the Customer to enhance the user experience for their end clients by simplifying and standardizing the configuration process of their hardware.
- Implementation of the solution allows the Customer to stay on top of technology trends and strengthen competitive advantage by enabling its applicability for CORD architecture and 5G networks.
- The Customer received the opportunity to generate new revenue streams through additional services derived from P4 technology, such as development of custom P4 applications, compilation services, prototyping and related trainings.