我要评分
获取效率
正确性
完整性
易理解

OVS Flow Table NIC Acceleration

OVS Flow Table NIC Acceleration (Based on Mellanox)

The OVS flow table NIC acceleration solution works based on the Mellanox ConnectX-5 SmartNIC. It accelerates OVS flow tables in kernel mode and supports single-root I/O virtualization (SR-IOV). This solution offloads flow tables from OVS to NICs, uses NICs to search for and forward packets, and directly receives and transmits packets on VMs. It fully utilizes forwarding capabilities of hardware, greatly accelerating packet search and forwarding and improving network performance.

Figure 1 shows the architecture of this solution. OVS Flow Table Normalization describes the architecture and components.

Figure 1 Architecture of OVS flow table NIC acceleration based on Mellanox

In OVS non-offload mode, after a packet is received from the NIC, it is processed in the kernel protocol stack and then forwarded to the VM after OVS searches for the flow table. In offload mode, after a packet is received, the NIC directly searches for the offloaded flow table. After the table is found, the packet is sent to the VM through the SR-IOV function. This greatly shortens the forwarding path and leverages the NIC for flow table search, and therefore releases CPU resources.

In addition to receiving and transmitting packets, the Mellanox ConnectX-5 SmartNIC also stores and forwards flow tables.

  • Stores flow tables offloaded from software and provides the flow table management function.
  • Searches for flow tables and forwards the packets to the corresponding virtual function (VF) based on the flow table rules. The VM receives messages from the SmartNIC for communication.
  • Sends the packets to the kernel if no flow table is matched. After the matching is complete in the kernel, the matched flow table is offloaded to the NIC.

For details about how to deploy and verify the Mellanox ConnectX-5 NIC powered by the OVS flow table NIC acceleration feature on the Kunpeng platform, see OVS Flow Table NIC Acceleration Feature Guide.

OVS Flow Table NIC Acceleration (Based on the SP680 SmartNIC)

Different from the Mellanox-based OVS flow table NIC acceleration solution, the SP680-based OVS flow table NIC acceleration solution uses the Data Plane Development Kit (DPDK) and the OVS software framework, which accelerates user-mode OVS flow table offload and supports the NIC VirtIO passthrough mode. OVS offloads flow tables to NICs, uses NICs to search for and forward packets, and directly receives and sends the forwarded packets on VMs. This solution fully utilizes forwarding capabilities of hardware, greatly accelerating packet search and forwarding and improving network performance.

Figure 2 shows the architecture of the SP680-based OVS flow table NIC acceleration solution.

Figure 2 Architecture of OVS flow table NIC acceleration based on SP680

After receiving the first data packet, the NIC sends the packet via DPDK to OVS. OVS generates a flow table and sends the flow table to libdpak_ovs. libdpak_ovs converts the OVS flow table into a precise flow table supported by the SP680 SmartNIC and offloads it to hardware through the user-mode driver. For subsequent packets, the SP680 SmartNIC can directly forward them based on the precise flow table without sending them to OVS for query.