Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The testbed setup is shown in the above diagram. DUT stands for Device Under Test

Test Framework


TypeDescription
SmartNICsBlueField v1, 25Gbps
DPDKversion 19.11
vSwitchOVS-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-DPDKOF rulesTrafficpktgen ppsreceived pps (hw)received pps (no hw)PMD idle cycles w/ hw offloadPMD 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 encapsulation24.6Mpps23.9Mpps74515699%0%


Single PF, Single VF


OVS-DPDKOF rulesTrafficpktgen ppsreceived pps (hw)received pps (no hw)PMD idle cycles w/ hw offloadPMD 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 encapsulation24.6Mpps23.8Mpps74709799%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)

62416199%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)

52414499%0%


Single PF, 4 VFs (only test with offloaded)

OVS-DPDKOF rulesTrafficpktgen ppsreceived 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.6Mpps5891903578131057678255380159

23258808

~ 23.2Mpps

...