Using ONOS SDN controller with P4-programmable smartNICs to offload VNFs
Low-level programming
SDN & NFV
Hardware integration
Solution PoC
Business background
Client type
A data center provider
Business goal
Increase network performance in a data center by offloading Virtual Network Functions (VNFs) to smartNIC
Our approach
Provide a team of network and software engineers with expertise in SDN and software development (as well as low-level hardware programming)
Create a solution architecture
Develop a PoC to offload an example VNF (firewall) to the smartNIC
Set up and test the PoC
Reuse the PoC for other virtual network functions (load balancer, NAT, etc.)
Business benefits
Increased performance: offloading VNFs to the smartNIC optimized overall network performance in DC by reducing the delays.
Increased flexibility: using a programmable smartNIC made it possible to quickly change the configuration on it to adjust to the dynamic and evolving distribution of workloads throughout the entire datacenter.
Compatibility assured: integrating a smartNIC with the existing SDN controller allows for operational simplicity and consistency with the overall intra-DC networking policies.
Technical highlights
Used a Netronome Agilio smartNIC offering P4 support.
Developed an example firewall implementation in P4 for the smartNIC.
Selected ONOS, an open-source SDN controller with P4Runtime support to control the smartNIC.
Developed a dedicated smartNIC proxy software that converts P4Runtime protocol to the Thrift protocol to control the smartNIC data plane.
Developed a custom control plane application in ONOS.