...
The testbed setup is shown in the above diagram. DUT stands for Device Under Test
Test Framework
Type | Description |
---|---|
SmartNICs | BlueField v1, 25Gbps |
DPDK | version 19.11 |
vSwitch | OVS-DPDK 2.12 with VXLAN DECAP/ENCAP offload enabled. |
...
Code Block |
---|
root@bluefield:/home/ovs-dpdk# ovs-vsctl list open_vswitch _uuid : 2dccd148-526c-44a5-9351-67b04c5e2da4 bridges : [22334686-733a-445e-9130-a42009a3586e, 38af610d-01f7-497d-878b-c6b6a44abf6a] cur_cfg : 10 datapath_types : [netdev, system] datapaths : {} db_version : [] dpdk_initialized : true dpdk_version : "DPDK 19.11.0" external_ids : {} iface_types : [dpdk, dpdkr, dpdkvhostuser, dpdkvhostuserclient, erspan, geneve, gre, internal, ip6erspan, ip6gre, lisp, patch, stt, system, tap, vxlan] manager_options : [] next_cfg : 10 other_config : {dpdk-extra="-w 03:00.1,representor=[0,65535] --legacy-mem ", dpdk-init="true", hw-offload="true"} ovs_version : [] ssl : [] statistics : {cpu="16", file_systems="/,13521220,3918464 /data,243823,2064 /boot,357176,61104", load_average="1.41,1.37,1.36", memory="16337652,5589928,1707640,0,0", process_ovs-vswitchd="5959388,256352,11515170,0,11484792,11484792,7", process_ovsdb-server="12620,6260,13190,0,68233832,68233832,6"} system_type : [] system_version : [] |
...
Traffic Generator
We will use DPDK pktgen as the Traffic Generator.
...
25 cases are skipped due to the configuration.
Test Results
Packet Forwarding Performance Results
Single PF
OVS-DPDK | OF rules | Traffic | pktgen pps | received pps (hw) | received pps (no hw) | PMD idle cycles w/ hw offload | PMD idle cycles w/o hw offload |
---|---|---|---|---|---|---|---|
1 PMD(s) | Directly forwarding without match "in_port=vxlan-vtp, actions=output: pf1hpf" | single TCP flow with VXLAN encapsulation | 24.6Mpps | 23.9Mpps | 745156 | 99% | 0% |
Single PF, Single VF
OVS-DPDK | OF rules | Traffic | pktgen pps | received pps (hw) | received pps (no hw) | PMD idle cycles w/ hw offload | PMD idle cycles w/o hw offload |
---|---|---|---|---|---|---|---|
1 PMD(s) | Directly forwarding without match "in_port=vxlan-vtp, actions=output: pf1vf0" | single TCP flow with VXLAN encapsulation | 24.6Mpps | 23.8Mpps | 747097 | 99% | 0% |
1 PMD(s) | match and forwarding 100 rules "in_port=vxlan-vtp,ip,nw_dst=10.1.1.[1-100] actions=pf1vf0" | 100 flows with nw_dst=10.1.1.[1-100] | 24.6Mpps | 21.6Mpps (100 megaflows offloaded) | 624161 | 99% | 0% |
1 PMD(s) | match and forwarding 1000 rules "in_port=vxlan-vtp,ip,nw_dst=10.1.[1-10].[1-100] actions=pf1vf0" | 1000 flows with nw_dst=10.1.[1-10].[1-100] 891 flows (due to pktgen limit, only 891 flows are loaded) | 24.6Mpps | 23.3Mpps (891 megaflows offloaded) | 524144 | 99% | 0% |
Single PF, 4 VFs (only test with offloaded)
OVS-DPDK | OF rules | Traffic | pktgen pps | received pps (VF0) | received pps (VF1) | received pps (VF2) | received pps (VF3) | in total |
---|---|---|---|---|---|---|---|---|
1 PMD(s) | match and forwarding 1000 rules "in_port=vxlan-vtp,ip,nw_dst=10.1.[1-10].[1-25] actions=pf1vf0" "in_port=vxlan-vtp,ip,nw_dst=10.1.[1-10].[26-50] actions=pf1vf1" "in_port=vxlan-vtp,ip,nw_dst=10.1.[1-10].[51-75] actions=pf1vf2" "in_port=vxlan-vtp,ip,nw_dst=10.1.[1-10].[75-100] actions=pf1vf3" | 1000 flows with nw_dst=10.1.[1-10].[1-100] 891 flows (due to pktgen limit, only 891 flows are loaded) | 24.6Mpps | 5891903 | 5781310 | 5767825 | 5380159 | 23258808 ~ 23.2Mpps |
...