8.8. VM VHOST

8.8.1. 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc suite

8.8.1.1. tc01-64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User and VLAN in a 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.1.2. tc02-64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User and VLAN in a 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.1.3. tc03-1518B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User and VLAN in a 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.1.4. tc04-1518B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User and VLAN in a 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.1.5. tc05-IMIX-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${avg_framesize}=  Set Variable  ${357.833}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${avg_framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User and VLAN in a 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.1.6. tc06-IMIX-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${avg_framesize}=  Set Variable  ${357.833}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${avg_framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User and VLAN in a 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.1.7. tc07-64B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User and VLAN in a 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.1.8. tc08-64B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User and VLAN in a 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.1.9. tc09-1518B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User and VLAN in a 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.1.10. tc10-1518B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User and VLAN in a 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.1.11. tc11-IMIX-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${avg_framesize}=  Set Variable  ${357.833}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${avg_framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User and VLAN in a 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.1.12. tc12-IMIX-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${avg_framesize}=  Set Variable  ${357.833}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${avg_framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User and VLAN in a 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.1.13. tc13-64B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User and VLAN in a 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.1.14. tc14-64B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User and VLAN in a 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.1.15. tc15-1518B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User and VLAN in a 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.1.16. tc16-1518B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User and VLAN in a 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.1.17. tc17-IMIX-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${avg_framesize}=  Set Variable  ${357.833}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${avg_framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User and VLAN in a 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.1.18. tc18-IMIX-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${avg_framesize}=  Set Variable  ${357.833}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${avg_framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User and VLAN in a 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.2. 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrchk suite

8.8.2.1. tc01-64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phycore, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${64}  rate=1.2mpps  wt=1  rxq=1

8.8.2.2. tc02-1518B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phycore, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 1518 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${1518}  rate=350000pps  wt=1  rxq=1

8.8.2.3. tc03-IMIX-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phycore, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=IMIX_v4_1  rate=0.9mpps  wt=1  rxq=1

8.8.2.4. tc04-64B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phycores, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${64}  rate=2.2mpps  wt=2  rxq=1

8.8.2.5. tc05-1518B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phycores, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 1518 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${1518}  rate=0.6mpps  wt=2  rxq=1

8.8.2.6. tc06-IMIX-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phycores, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=IMIX_v4_1  rate=1.5pps  wt=2  rxq=1

8.8.2.7. tc07-64B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phycores, 2 receive queues per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${64}  rate=3.4mpps  wt=4  rxq=2

8.8.2.8. tc08-1518B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phycores, 2 receive queues per NIC port. [Ver] Verify ref-PDR for 1518 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${1518}  rate=0.7mpps  wt=4  rxq=2

8.8.2.9. tc09-IMIX-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phycores, 2 receive queues per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=IMIX_v4_1  rate=2.2mpps  wt=4  rxq=2

8.8.2.10. Check PDR for L2 bridge domain with vhost and VM with dpdk-testpmd

[Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phycore, ${rxq} receive queue per NIC port. [Ver] Verify ref-PDR for ${framesize} Byte frames using single trialthroughput test at 2x ${rate}.


Set Test Variable  ${framesize}
Set Test Variable  ${rate}
${get_framesize}=  Get Frame Size  ${framesize}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Run Keyword If  ${get_framesize} < ${1522}  Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User and VLAN in a 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Traffic should pass with partial loss  ${perf_trial_duration}  ${rate}  ${framesize}  ${traffic_profile}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.3. 10ge2p1x520-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc suite

8.8.3.1. tc01-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User and VLAN in 3-node circular topology  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.3.2. tc02-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User and VLAN in 3-node circular topology  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.3.3. tc03-1518B-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User and VLAN in 3-node circular topology  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.3.4. tc04-1518B-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User and VLAN in 3-node circular topology  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.3.5. tc05-IMIX-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${avg_framesize}=  Set Variable  ${357.833}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${avg_framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User and VLAN in 3-node circular topology  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.3.6. tc06-IMIX-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${avg_framesize}=  Set Variable  ${357.833}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${avg_framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User and VLAN in 3-node circular topology  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.3.7. tc07-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User and VLAN in 3-node circular topology  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.3.8. tc08-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User and VLAN in 3-node circular topology  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.3.9. tc09-1518B-2t2c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User and VLAN in 3-node circular topology  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.3.10. tc10-1518B-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User and VLAN in 3-node circular topology  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.3.11. tc11-IMIX-2t2c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${avg_framesize}=  Set Variable  ${357.833}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${avg_framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User and VLAN in 3-node circular topology  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.3.12. tc12-IMIX-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${avg_framesize}=  Set Variable  ${357.833}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${avg_framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User and VLAN in 3-node circular topology  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.3.13. tc13-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User and VLAN in 3-node circular topology  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.3.14. tc14-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User and VLAN in 3-node circular topology  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.3.15. tc15-1518B-4t4c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User and VLAN in 3-node circular topology  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.3.16. tc16-1518B-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize + ${vlan_overhead}}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User and VLAN in 3-node circular topology  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.3.17. tc17-IMIX-4t4c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${avg_framesize}=  Set Variable  ${357.833}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${avg_framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User and VLAN in 3-node circular topology  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.3.18. tc18-IMIX-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${avg_framesize}=  Set Variable  ${357.833}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${avg_framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User and VLAN in 3-node circular topology  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.4. 10ge2p1x520-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrchk suite

8.8.4.1. tc01-64B-1t1c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phycore, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${64}  rate=1.4mpps  wt=1  rxq=1

8.8.4.2. tc02-1518B-1t1c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phycore, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 1518 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${1518}  rate=330000pps  wt=1  rxq=1

8.8.4.3. tc03-IMIX-1t1c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phycore, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=IMIX_v4_1  rate=1.0mpps  wt=1  rxq=1

8.8.4.4. tc04-64B-2t2c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phycores, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${64}  rate=1.4mpps  wt=2  rxq=1

8.8.4.5. tc05-1518B-2t2c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phycores, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 1518 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${1518}  rate=0.7mpps  wt=2  rxq=1

8.8.4.6. tc06-IMIX-2t2c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phycores, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=IMIX_v4_1  rate=1.6mpps  wt=2  rxq=1

8.8.4.7. tc07-64B-4t4c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phycores, 2 receive queues per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${64}  rate=4.0mpps  wt=4  rxq=2

8.8.4.8. tc08-1518B-4t4c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phycores, 2 receive queues per NIC port. [Ver] Verify ref-PDR for 1518 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${1518}  rate=0.7mpps  wt=4  rxq=2

8.8.4.9. tc09-IMIX-4t4c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phycores, 2 receive queues per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=IMIX_v4_1  rate=2.4mpps  wt=4  rxq=2

8.8.4.10. Check PDR for L2XC with vhost and VM with dpdk-testpmd

[Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phycore, ${rxq} receive queue per NIC port. [Ver] Verify ref-PDR for ${framesize} Byte frames using single trialthroughput test at 2x ${rate}.


Set Test Variable  ${framesize}
Set Test Variable  ${rate}
${get_framesize}=  Get Frame Size  ${framesize}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Run Keyword If  ${get_framesize} < ${1522}  Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User and VLAN in 3-node circular topology  ${sock1}  ${sock2}  ${subid}  ${tag_rewrite}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Traffic should pass with partial loss  ${perf_trial_duration}  ${rate}  ${framesize}  ${traffic_profile}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.5. 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc suite

8.8.5.1. tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=1  rxq=1  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.5.2. tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=1  rxq=1  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.5.3. tc03-1518B-1t1c-etc-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=1  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.5.4. tc04-1518B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=1  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.5.5. tc05-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=1  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.5.6. tc06-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=1  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.5.7. tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=2  rxq=1  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.5.8. tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=2  rxq=1  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.5.9. tc09-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=2  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.5.10. tc10-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=2  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.5.11. tc11-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=2  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.5.12. tc12-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=2  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.5.13. tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=4  rxq=2  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.5.14. tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=4  rxq=2  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.5.15. tc15-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=4  rxq=2  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.5.16. tc16-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=4  rxq=2  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.5.17. tc17-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=4  rxq=2  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.5.18. tc18-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=4  rxq=2  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.5.19. Discover NDR or PDR for L2 Bridge Domain with VM


Set Test Variable  ${use_tuned_cfs}  ${True}
Set Test Variable  ${framesize}
Set Test Variable  ${min_rate}
${get_framesize}=  Set Variable If  "${framesize}" == "IMIX_v4_1"  ${avg_imix_framesize}  ${framesize}
${max_rate}=  Calculate pps  ${s_limit}  ${get_framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Run Keyword If  ${get_framesize} < ${1522}  Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User in 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
Setup Scheduler Policy for Vpp On All DUTs
Run Keyword If  '${search_type}' == 'NDR'  Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ELSE IF  '${search_type}' == 'PDR'  Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.6. 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc suite

8.8.6.1. tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User in 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.6.2. tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User in 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.6.3. tc03-1518B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User in 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.6.4. tc04-1518B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User in 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.6.5. tc05-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 5kpps. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User in 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.6.6. tc06-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User in 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.6.7. tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User in 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.6.8. tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User in 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.6.9. tc09-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User in 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.6.10. tc10-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User in 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.6.11. tc11-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User in 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.6.12. tc12-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User in 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.6.13. tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User in 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.6.14. tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User in 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.6.15. tc15-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User in 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.6.16. tc16-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User in 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.6.17. tc17-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User in 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.6.18. tc18-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find PDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User in 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.7. 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc suite

8.8.7.1. tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=1  rxq=1  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.7.2. tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=1  rxq=1  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.7.3. tc03-1518B-1t1c-etc-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=1  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.7.4. tc04-1518B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=1  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.7.5. tc05-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=1  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.7.6. tc06-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=1  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.7.7. tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=2  rxq=1  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.7.8. tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=2  rxq=1  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.7.9. tc09-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=2  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.7.10. tc10-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=2  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.7.11. tc11-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=2  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.7.12. tc12-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=2  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.7.13. tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=4  rxq=2  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.7.14. tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=4  rxq=2  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.7.15. tc15-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=4  rxq=2  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.7.16. tc16-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=4  rxq=2  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.7.17. tc17-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=4  rxq=2  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.7.18. tc18-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=4  rxq=2  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.7.19. Discover NDR or PDR for L2 Bridge Domain with VM

[Cfg] DUT runs L2BD switching config with required number of threads,phy cores and receive queues per NIC port. [Ver] Find NDR or PDR for defined frame size using binary searchstart at 10GE linerate with specified step.

Arguments: - wt - Number of worker threads to be used. Type: integer - rxq - Number of Rx queues to be used. Type: integer - framesize - L2 Frame Size [B]. Type: integer - min_rate - Lower limit of search [pps]. Type: float - search_type - Type of the search - non drop rate (NDR) or partial drop rare (PDR). Type: string


Set Test Variable  ${perf_qemu_qsz}  256
Set Test Variable  ${use_tuned_cfs}  ${True}
Set Test Variable  ${framesize}
Set Test Variable  ${min_rate}
${get_framesize}=  Set Variable If  "${framesize}" == "IMIX_v4_1"  ${avg_imix_framesize}  ${framesize}
${max_rate}=  Calculate pps  ${s_limit}  ${get_framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Run Keyword If  ${get_framesize} < ${1522}  Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User in 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
Setup Scheduler Policy for Vpp On All DUTs
Run Keyword If  '${search_type}' == 'NDR'  Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ELSE IF  '${search_type}' == 'PDR'  Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.8. 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrpdrdisc suite

8.8.8.1. tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=1  rxq=1  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.8.2. tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=1  rxq=1  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.8.3. tc03-1518B-1t1c-etc-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=1  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.8.4. tc04-1518B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=1  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.8.5. tc05-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=1  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.8.6. tc06-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=1  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.8.7. tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=2  rxq=1  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.8.8. tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=2  rxq=1  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.8.9. tc09-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=2  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.8.10. tc10-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=2  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.8.11. tc11-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=2  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.8.12. tc12-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=2  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.8.13. tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=4  rxq=2  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.8.14. tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=4  rxq=2  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.8.15. tc15-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=4  rxq=2  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.8.16. tc16-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=4  rxq=2  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.8.17. tc17-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=4  rxq=2  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.8.18. tc18-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=4  rxq=2  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.8.19. Discover NDR or PDR for L2 Bridge Domain with VM

[Cfg] DUT runs L2BD switching config with required number of threads,phy cores and receive queues per NIC port. [Ver] Find NDR or PDR for defined frame size using binary searchstart at 10GE linerate with specified step.

Arguments: - wt - Number of worker threads to be used. Type: integer - rxq - Number of Rx queues to be used. Type: integer - framesize - L2 Frame Size [B]. Type: integer - min_rate - Lower limit of search [pps]. Type: float - search_type - Type of the search - non drop rate (NDR) or partial drop rare (PDR). Type: string


Set Test Variable  ${perf_qemu_qsz}  256
Set Test Variable  ${framesize}
Set Test Variable  ${min_rate}
${get_framesize}=  Set Variable If  "${framesize}" == "IMIX_v4_1"  ${avg_imix_framesize}  ${framesize}
${max_rate}=  Calculate pps  ${s_limit}  ${get_framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Run Keyword If  ${get_framesize} < ${1522}  Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User in 3-node circular topology  ${bd_id1}  ${bd_id2}  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
Run Keyword If  '${search_type}' == 'NDR'  Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ELSE IF  '${search_type}' == 'PDR'  Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.9. 10ge2p1x520-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrpdrdisc suite

8.8.9.1. tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User for '2' VMs in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.9.2. tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User for '2' VMs in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.9.3. tc03-1518B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User for '2' VMs in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.9.4. tc04-1518B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User for '2' VMs in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.9.5. tc05-IMIX-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User for '2' VMs in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.9.6. tc06-IMIX-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User for '2' VMs in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.9.7. tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User for '2' VMs in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.9.8. tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User for '2' VMs in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.9.9. tc09-1518B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User for '2' VMs in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.9.10. tc10-1518B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User for '2' VMs in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.9.11. tc11-IMIX-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User for '2' VMs in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.9.12. tc12-IMIX-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User for '2' VMs in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.9.13. tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User for '2' VMs in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.9.14. tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User for '2' VMs in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.9.15. tc15-1518B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User for '2' VMs in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.9.16. tc16-1518B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User for '2' VMs in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.9.17. tc17-IMIX-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User for '2' VMs in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.9.18. tc18-IMIX-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find PDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 bridge domains with Vhost-User for '2' VMs in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.10. 10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc suite

8.8.10.1. tc01-64B-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=1  rxq=1  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.10.2. tc02-64B-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=1  rxq=1  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.10.3. tc03-1518B-1t1c-etc-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=1  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.10.4. tc04-1518B-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=1  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.10.5. tc05-IMIX-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=1  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.10.6. tc06-IMIX-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=1  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.10.7. tc07-64B-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=2  rxq=1  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.10.8. tc08-64B-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=2  rxq=1  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.10.9. tc09-1518B-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=2  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.10.10. tc10-1518B-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=2  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.10.11. tc11-IMIX-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=2  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.10.12. tc12-IMIX-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=2  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.10.13. tc13-64B-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=4  rxq=2  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.10.14. tc14-64B-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=4  rxq=2  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.10.15. tc15-1518B-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=4  rxq=2  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.10.16. tc16-1518B-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=4  rxq=2  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.10.17. tc17-IMIX-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=4  rxq=2  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.10.18. tc18-IMIX-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=4  rxq=2  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.10.19. Discover NDR or PDR for L2 xconnect with VM


Set Test Variable  ${use_tuned_cfs}  ${True}
Set Test Variable  ${framesize}
Set Test Variable  ${min_rate}
${get_framesize}=  Set Variable If  "${framesize}" == "IMIX_v4_1"  ${avg_imix_framesize}  ${framesize}
${max_rate}=  Calculate pps  ${s_limit}  ${get_framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Run Keyword If  ${get_framesize} < ${1522}  Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
Setup Scheduler Policy for Vpp On All DUTs
Run Keyword If  '${search_type}' == 'NDR'  Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ELSE IF  '${search_type}' == 'PDR'  Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.11. 10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc suite

8.8.11.1. tc01-64B-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.11.2. tc02-64B-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.11.3. tc03-1518B-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.11.4. tc04-1518B-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.11.5. tc05-IMIX-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.11.6. tc06-IMIX-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.11.7. tc07-64B-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.11.8. tc08-64B-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.11.9. tc09-1518B-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.11.10. tc10-1518B-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.11.11. tc11-IMIX-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.11.12. tc12-IMIX-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.11.13. tc13-64B-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.11.14. tc14-64B-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.11.15. tc15-1518B-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.11.16. tc16-1518B-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.11.17. tc17-IMIX-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.11.18. tc18-IMIX-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find PDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.12. 10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-pdrchk suite

8.8.12.1. tc01-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phycore, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${64}  rate=1.6mpps  wt=1  rxq=1

8.8.12.2. tc02-1518B-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phycore, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 1518 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${1518}  rate=400000pps  wt=1  rxq=1

8.8.12.3. tc03-IMIX-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phycore, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=IMIX_v4_1  rate=1.0mpps  wt=1  rxq=1

8.8.12.4. tc04-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phycores, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${64}  rate=3.0mpps  wt=2  rxq=1

8.8.12.5. tc05-1518B-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phycores, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 1518 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${1518}  rate=0.7mpps  wt=2  rxq=1

8.8.12.6. tc06-IMIX-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phycores, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=IMIX_v4_1  rate=2.0mpps  wt=2  rxq=1

8.8.12.7. tc07-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phycores, 2 receive queues per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${64}  rate=4.2mpps  wt=4  rxq=2

8.8.12.8. tc08-1518B-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phycores, 2 receive queues per NIC port. [Ver] Verify ref-PDR for 1518 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${1518}  rate=0.7mpps  wt=4  rxq=2

8.8.12.9. tc09-IMIX-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phycores, 2 receive queues per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=IMIX_v4_1  rate=3.0mpps  wt=4  rxq=2

8.8.12.10. Check PDR for L2XC with vhost and VM with dpdk-testpmd

[Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phycore, ${rxq} receive queue per NIC port. [Ver] Verify ref-PDR for ${framesize} Byte frames using single trialthroughput test at 2x ${rate}.


Set Test Variable  ${framesize}
Set Test Variable  ${rate}
${get_framesize}=  Get Frame Size  ${framesize}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Run Keyword If  ${get_framesize} < ${1522}  Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Traffic should pass with partial loss  ${perf_trial_duration}  ${rate}  ${framesize}  ${traffic_profile}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.13. 10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc suite

8.8.13.1. tc01-64B-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=1  rxq=1  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.13.2. tc02-64B-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=1  rxq=1  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.13.3. tc03-1518B-1t1c-etc-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=1  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.13.4. tc04-1518B-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=1  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.13.5. tc05-IMIX-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=1  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.13.6. tc06-IMIX-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=1  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.13.7. tc07-64B-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=2  rxq=1  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.13.8. tc08-64B-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=2  rxq=1  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.13.9. tc09-1518B-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=2  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.13.10. tc10-1518B-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=2  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.13.11. tc11-IMIX-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=2  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.13.12. tc12-IMIX-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=2  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.13.13. tc13-64B-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=4  rxq=2  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.13.14. tc14-64B-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=4  rxq=2  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.13.15. tc15-1518B-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=4  rxq=2  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.13.16. tc16-1518B-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=4  rxq=2  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.13.17. tc17-IMIX-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=4  rxq=2  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.13.18. tc18-IMIX-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=4  rxq=2  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.13.19. Discover NDR or PDR for L2 xconnect with VM

[Cfg] DUT runs L2XC switching config with required number of threads,phy cores and receive queues per NIC port. [Ver] Find NDR or PDR for defined frame size using binary searchstart at 10GE linerate with specified step.

Arguments: - wt - Number of worker threads to be used. Type: integer - rxq - Number of Rx queues to be used. Type: integer - framesize - L2 Frame Size [B]. Type: integer - min_rate - Lower limit of search [pps]. Type: float - search_type - Type of the search - non drop rate (NDR) or partial drop rare (PDR). Type: string


Set Test Variable  ${perf_qemu_qsz}  256
Set Test Variable  ${use_tuned_cfs}  ${True}
Set Test Variable  ${framesize}
Set Test Variable  ${min_rate}
${get_framesize}=  Set Variable If  "${framesize}" == "IMIX_v4_1"  ${avg_imix_framesize}  ${framesize}
${max_rate}=  Calculate pps  ${s_limit}  ${get_framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Run Keyword If  ${get_framesize} < ${1522}  Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
Setup Scheduler Policy for Vpp On All DUTs
Run Keyword If  '${search_type}' == 'NDR'  Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ELSE IF  '${search_type}' == 'PDR'  Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.14. 10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-ndrpdrdisc suite

8.8.14.1. tc01-64B-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=1  rxq=1  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.14.2. tc02-64B-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=1  rxq=1  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.14.3. tc03-1518B-1t1c-etc-l2xcbase-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=1  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.14.4. tc04-1518B-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=1  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.14.5. tc05-IMIX-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=1  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.14.6. tc06-IMIX-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=1  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.14.7. tc07-64B-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=2  rxq=1  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.14.8. tc08-64B-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=2  rxq=1  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.14.9. tc09-1518B-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=2  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.14.10. tc10-1518B-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=2  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.14.11. tc11-IMIX-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=2  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.14.12. tc12-IMIX-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=2  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.14.13. tc13-64B-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=4  rxq=2  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.14.14. tc14-64B-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=4  rxq=2  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.14.15. tc15-1518B-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=4  rxq=2  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.14.16. tc16-1518B-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=4  rxq=2  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.14.17. tc17-IMIX-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=4  rxq=2  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.14.18. tc18-IMIX-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=4  rxq=2  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.14.19. Discover NDR or PDR for L2 xconnect with VM

[Cfg] DUT runs L2XC switching config with required number of threads,phy cores and receive queues per NIC port. [Ver] Find NDR or PDR for defined frame size using binary searchstart at 10GE linerate with specified step.

Arguments: - wt - Number of worker threads to be used. Type: integer - rxq - Number of Rx queues to be used. Type: integer - framesize - L2 Frame Size [B]. Type: integer - min_rate - Lower limit of search [pps]. Type: float - search_type - Type of the search - non drop rate (NDR) or partial drop rare (PDR). Type: string


Set Test Variable  ${perf_qemu_qsz}  256
Set Test Variable  ${framesize}
Set Test Variable  ${min_rate}
${get_framesize}=  Set Variable If  "${framesize}" == "IMIX_v4_1"  ${avg_imix_framesize}  ${framesize}
${max_rate}=  Calculate pps  ${s_limit}  ${get_framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Run Keyword If  ${get_framesize} < ${1522}  Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
Run Keyword If  '${search_type}' == 'NDR'  Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ELSE IF  '${search_type}' == 'PDR'  Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.15. 10ge2p1x520-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrpdrdisc suite

8.8.15.1. tc01-64B-1t1c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User for '2' in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.15.2. tc02-64B-1t1c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User for '2' in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.15.3. tc03-1518B-1t1c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User for '2' in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.15.4. tc04-1518B-1t1c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User for '2' in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.15.5. tc05-IMIX-1t1c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User for '2' in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.15.6. tc06-IMIX-1t1c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User for '2' in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.15.7. tc07-64B-2t2c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User for '2' in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.15.8. tc08-64B-2t2c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User for '2' in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.15.9. tc09-1518B-2t2c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User for '2' in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.15.10. tc10-1518B-2t2c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User for '2' in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.15.11. tc11-IMIX-2t2c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User for '2' in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.15.12. tc12-IMIX-2t2c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User for '2' in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.15.13. tc13-64B-4t4c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User for '2' in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.15.14. tc14-64B-4t4c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User for '2' in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.15.15. tc15-1518B-4t4c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User for '2' in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.15.16. tc16-1518B-4t4c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User for '2' in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.15.17. tc17-IMIX-4t4c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User for '2' in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.15.18. tc18-IMIX-4t4c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc

[Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find PDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize L2 xconnect with Vhost-User for '2' in 3-node circular topology
  And Configure '2' guest VMs with dpdk-testpmd connected via vhost-user in 3-node circular topology
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.16. 10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc suite

8.8.16.1. tc01-64B-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=1  rxq=1  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.16.2. tc02-64B-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=1  rxq=1  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.16.3. tc03-1518B-1t1c-etc-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=1  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.16.4. tc04-1518B-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=1  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.16.5. tc05-IMIX-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=1  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.16.6. tc06-IMIX-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=1  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.16.7. tc07-64B-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=2  rxq=1  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.16.8. tc08-64B-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=2  rxq=1  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.16.9. tc09-1518B-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=2  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.16.10. tc10-1518B-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=2  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.16.11. tc11-IMIX-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=2  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.16.12. tc12-IMIX-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=2  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.16.13. tc13-64B-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=4  rxq=2  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.16.14. tc14-64B-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=4  rxq=2  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.16.15. tc15-1518B-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=4  rxq=2  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.16.16. tc16-1518B-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=4  rxq=2  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.16.17. tc17-IMIX-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=4  rxq=2  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.16.18. tc18-IMIX-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=4  rxq=2  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.16.19. Discover NDR or PDR for IPv4 forwarding with VM


Set Test Variable  ${use_tuned_cfs}  ${True}
Set Test Variable  ${framesize}
Set Test Variable  ${min_rate}
${get_framesize}=  Set Variable If  "${framesize}" == "IMIX_v4_1"  ${avg_imix_framesize}  ${framesize}
${max_rate}=  Calculate pps  ${s_limit}  ${get_framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Run Keyword If  ${get_framesize} < ${1522}  Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize IPv4 forwarding with vhost in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1  ${dut1_vif1_mac}  ${dut1_vif2_mac}
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1  ${dut2_vif1_mac}  ${dut2_vif2_mac}
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
Setup Scheduler Policy for Vpp On All DUTs
Run Keyword If  '${search_type}' == 'NDR'  Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ELSE IF  '${search_type}' == 'PDR'  Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.17. 10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdrdisc suite

8.8.17.1. tc01-64B-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize IPv4 forwarding with vhost in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1  ${dut1_vif1_mac}  ${dut1_vif2_mac}
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1  ${dut2_vif1_mac}  ${dut2_vif2_mac}
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.17.2. tc02-64B-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize IPv4 forwarding with vhost in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1  ${dut1_vif1_mac}  ${dut1_vif2_mac}
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1  ${dut2_vif1_mac}  ${dut2_vif2_mac}
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.17.3. tc03-1518B-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize IPv4 forwarding with vhost in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1  ${dut1_vif1_mac}  ${dut1_vif2_mac}
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1  ${dut2_vif1_mac}  ${dut2_vif2_mac}
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.17.4. tc04-1518B-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize IPv4 forwarding with vhost in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1  ${dut1_vif1_mac}  ${dut1_vif2_mac}
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1  ${dut2_vif1_mac}  ${dut2_vif2_mac}
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.17.5. tc05-IMIX-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize IPv4 forwarding with vhost in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1  ${dut1_vif1_mac}  ${dut1_vif2_mac}
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1  ${dut2_vif1_mac}  ${dut2_vif2_mac}
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.17.6. tc06-IMIX-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize IPv4 forwarding with vhost in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1  ${dut1_vif1_mac}  ${dut1_vif2_mac}
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1  ${dut2_vif1_mac}  ${dut2_vif2_mac}
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.17.7. tc07-64B-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize IPv4 forwarding with vhost in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1  ${dut1_vif1_mac}  ${dut1_vif2_mac}
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1  ${dut2_vif1_mac}  ${dut2_vif2_mac}
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.17.8. tc08-64B-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize IPv4 forwarding with vhost in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1  ${dut1_vif1_mac}  ${dut1_vif2_mac}
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1  ${dut2_vif1_mac}  ${dut2_vif2_mac}
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.17.9. tc09-1518B-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize IPv4 forwarding with vhost in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1  ${dut1_vif1_mac}  ${dut1_vif2_mac}
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1  ${dut2_vif1_mac}  ${dut2_vif2_mac}
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.17.10. tc10-1518B-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize IPv4 forwarding with vhost in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1  ${dut1_vif1_mac}  ${dut1_vif2_mac}
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1  ${dut2_vif1_mac}  ${dut2_vif2_mac}
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.17.11. tc11-IMIX-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize IPv4 forwarding with vhost in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1  ${dut1_vif1_mac}  ${dut1_vif2_mac}
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1  ${dut2_vif1_mac}  ${dut2_vif2_mac}
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.17.12. tc12-IMIX-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize IPv4 forwarding with vhost in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1  ${dut1_vif1_mac}  ${dut1_vif2_mac}
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1  ${dut2_vif1_mac}  ${dut2_vif2_mac}
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.17.13. tc13-64B-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize IPv4 forwarding with vhost in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1  ${dut1_vif1_mac}  ${dut1_vif2_mac}
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1  ${dut2_vif1_mac}  ${dut2_vif2_mac}
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.17.14. tc14-64B-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${64}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize IPv4 forwarding with vhost in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1  ${dut1_vif1_mac}  ${dut1_vif2_mac}
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1  ${dut2_vif1_mac}  ${dut2_vif2_mac}
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.17.15. tc15-1518B-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize IPv4 forwarding with vhost in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1  ${dut1_vif1_mac}  ${dut1_vif2_mac}
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1  ${dut2_vif1_mac}  ${dut2_vif2_mac}
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.17.16. tc16-1518B-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE linerate, step 10kpps, LT=0.5%.


${framesize}=  Set Variable  ${1518}
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize IPv4 forwarding with vhost in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1  ${dut1_vif1_mac}  ${dut1_vif2_mac}
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1  ${dut2_vif1_mac}  ${dut2_vif2_mac}
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.17.17. tc17-IMIX-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrdisc

[Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize IPv4 forwarding with vhost in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1  ${dut1_vif1_mac}  ${dut1_vif2_mac}
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1  ${dut2_vif1_mac}  ${dut2_vif2_mac}
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}

8.8.17.18. tc18-IMIX-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-pdrdisc

[Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, 2 receive queues per NIC port. [Ver] Find PDR for IMIX_v4_1 frame size using binary search start at 10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B;16x570B;4x1518B)


${framesize}=  Set Variable  IMIX_v4_1
${min_rate}=  Set Variable  ${10000}
${max_rate}=  Calculate pps  ${s_limit}  ${framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize IPv4 forwarding with vhost in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1  ${dut1_vif1_mac}  ${dut1_vif2_mac}
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1  ${dut2_vif1_mac}  ${dut2_vif2_mac}
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.18. 10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-pdrchk suite

8.8.18.1. tc01-64B-1t1c-eth-ip4base-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs IPv4 routing config with 1 thread, 1 phycore, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${64}  rate=2.5mpps  wt=1  rxq=1

8.8.18.2. tc02-1518B-1t1c-eth-ip4base-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs IPv4 routing config with 1 thread, 1 phycore, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 1518 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${1518}  rate=300000pps  wt=1  rxq=1

8.8.18.3. tc03-IMIX-1t1c-eth-ip4base-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs IPv4 routing config with 1 thread, 1 phycore, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=IMIX_v4_1  rate=0.9mpps  wt=1  rxq=1

8.8.18.4. tc04-64B-2t2c-eth-ip4base-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs IPv4 routing config with 2 threads, 2 phycores, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${64}  rate=3.0mpps  wt=2  rxq=1

8.8.18.5. tc05-1518B-2t2c-eth-ip4base-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs IPv4 routing config with 2 threads, 2 phycores, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 1518 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${1518}  rate=350000pps  wt=2  rxq=1

8.8.18.6. tc06-IMIX-2t2c-eth-ip4base-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs IPv4 routing config with 2 threads, 2 phycores, 1 receive queue per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=IMIX_v4_1  rate=2.0mpps  wt=2  rxq=1

8.8.18.7. tc07-64B-4t4c-eth-ip4base-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs IPv4 routing config with 4 threads, 4 phycores, 2 receive queues per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${64}  rate=3.8mpps  wt=4  rxq=2

8.8.18.8. tc08-1518B-4t4c-eth-ip4base-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs IPv4 routing config with 4 threads, 4 phycores, 2 receive queues per NIC port. [Ver] Verify ref-PDR for 1518 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=${1518}  rate=350000pps  wt=4  rxq=2

8.8.18.9. tc09-IMIX-4t4c-eth-ip4base-eth-2vhost-1vm-pdrchk

[Cfg] DUT runs IPv4 routing config with 4 threads, 4 phycores, 2 receive queues per NIC port. [Ver] Verify ref-PDR for 64 Byte frames using single trialthroughput test at 2x ${rate}.


framesize=IMIX_v4_1  rate=3.0mpps  wt=4  rxq=2

8.8.18.10. Check PDR for IPv4 routing with vhost and VM with dpdk-testpmd

[Cfg] DUT runs IPv4 routing config with ${wt} thread, ${wt} phycore, ${rxq} receive queue per NIC port. [Ver] Verify ref-PDR for ${framesize} Byte frames using single trialthroughput test at 2x ${rate}.


Set Test Variable  ${framesize}
Set Test Variable  ${rate}
${get_framesize}=  Get Frame Size  ${framesize}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Run Keyword If  ${get_framesize} < ${1522}  Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize IPv4 forwarding with vhost in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1  ${dut1_vif1_mac}  ${dut1_vif2_mac}
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1  ${dut2_vif1_mac}  ${dut2_vif2_mac}
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
 Then Traffic should pass with partial loss  ${perf_trial_duration}  ${rate}  ${framesize}  ${traffic_profile}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.19. 10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc suite

8.8.19.1. tc01-64B-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=1  rxq=1  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.19.2. tc02-64B-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=1  rxq=1  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.19.3. tc03-1518B-1t1c–ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=1  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.19.4. tc04-1518B-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=1  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.19.5. tc05-IMIX-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=1  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.19.6. tc06-IMIX-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=1  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.19.7. tc07-64B-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=2  rxq=1  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.19.8. tc08-64B-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=2  rxq=1  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.19.9. tc09-1518B-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=2  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.19.10. tc10-1518B-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=2  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.19.11. tc11-IMIX-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=2  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.19.12. tc12-IMIX-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=2  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.19.13. tc13-64B-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=4  rxq=2  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.19.14. tc14-64B-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=4  rxq=2  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.19.15. tc15-1518B-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=4  rxq=2  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.19.16. tc16-1518B-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=4  rxq=2  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.19.17. tc17-IMIX-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrdisc

[Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=4  rxq=2  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.19.18. tc18-IMIX-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-pdrdisc

[Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=4  rxq=2  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.19.19. Discover NDR or PDR for IPv4 forwarding with VM

[Cfg] DUT runs IP4 routing config with required number of threads,phy cores and receive queues per NIC port. [Ver] Find NDR or PDR for defined frame size using binary searchstart at 10GE linerate with specified step.

Arguments: - wt - Number of worker threads to be used. Type: integer - rxq - Number of Rx queues to be used. Type: integer - framesize - L2 Frame Size [B]. Type: integer - min_rate - Lower limit of search [pps]. Type: float - search_type - Type of the search - non drop rate (NDR) or partial drop rare (PDR). Type: string


Set Test Variable  ${perf_qemu_qsz}  256
Set Test Variable  ${use_tuned_cfs}  ${True}
Set Test Variable  ${framesize}
Set Test Variable  ${min_rate}
${get_framesize}=  Set Variable If  "${framesize}" == "IMIX_v4_1"  ${avg_imix_framesize}  ${framesize}
${max_rate}=  Calculate pps  ${s_limit}  ${get_framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
  And Add PCI devices to DUTs in 3-node single link topology
  And Run Keyword If  ${get_framesize} < ${1522}  Add no multi seg to all DUTs
  And Apply startup configuration on all VPP DUTs
 When Initialize IPv4 forwarding with vhost in 3-node circular topology  ${sock1}  ${sock2}
${vm1}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut1}  ${sock1}  ${sock2}  DUT1_VM1  ${dut1_vif1_mac}  ${dut1_vif2_mac}
Set To Dictionary  ${dut1_vm_refs}  DUT1_VM1  ${vm1}
${vm2}=  And Configure guest VM with dpdk-testpmd-mac connected via vhost-user  ${dut2}  ${sock1}  ${sock2}  DUT2_VM1  ${dut2_vif1_mac}  ${dut2_vif2_mac}
Set To Dictionary  ${dut2_vm_refs}  DUT2_VM1  ${vm2}
Run Keyword Unless  ${qemu_built}  Set Suite Variable  ${qemu_built}  ${True}
Setup Scheduler Policy for Vpp On All DUTs
Run Keyword If  '${search_type}' == 'NDR'  Find NDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ELSE IF  '${search_type}' == 'PDR'  Find PDR using binary search and pps  ${framesize}  ${binary_min}  ${binary_max}  ${traffic_profile}  ${min_rate}  ${max_rate}  ${threshold}  ${perf_pdr_loss_acceptance}  ${perf_pdr_loss_acceptance_type}

8.8.20. 10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-ndrpdrdisc suite

8.8.20.1. tc01-64B-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs IP4 routing config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=1  rxq=1  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.20.2. tc02-64B-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs IP4 routing config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=1  rxq=1  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.20.3. tc03-1518B-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs IP4 routing config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=1  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.20.4. tc04-1518B-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs IP4 routing config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=1  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.20.5. tc05-IMIX-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs IP4 routing config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=1  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.20.6. tc06-IMIX-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs IP4 routing config with 1 thread, 1 phy core,1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=1  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.20.7. tc07-64B-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs IP4 routing config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=2  rxq=1  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.20.8. tc08-64B-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs IP4 routing config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=2  rxq=1  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.20.9. tc09-1518B-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs IP4 routing config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=2  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.20.10. tc10-1518B-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs IP4 routing config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=2  rxq=1  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.20.11. tc11-IMIX-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs IP4 routing config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=2  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.20.12. tc12-IMIX-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs IP4 routing config with 2 threads, 2 phy cores,1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=2  rxq=1  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.20.13. tc13-64B-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs IP4 routing config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=4  rxq=2  framesize=${64}  min_rate=${10000}  search_type=NDR

8.8.20.14. tc14-64B-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs IP4 routing config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for 64 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=4  rxq=2  framesize=${64}  min_rate=${10000}  search_type=PDR

8.8.20.15. tc15-1518B-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs IP4 routing config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps.


wt=4  rxq=2  framesize=${1518}  min_rate=${10000}  search_type=NDR

8.8.20.16. tc16-1518B-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs IP4 routing config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for 1518 Byte frames using binary search start at 10GElinerate, step 10kpps, LT=0.5%.


wt=4  rxq=2  framesize=${1518}  min_rate=${10000}  search_type=PDR

8.8.20.17. tc17-IMIX-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-ndrdisc

[Cfg] DUT runs IP4 routing config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=4  rxq=2  framesize=IMIX_v4_1  min_rate=${10000}  search_type=NDR

8.8.20.18. tc18-IMIX-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-pdrdisc

[Cfg] DUT runs IP4 routing config with 4 threads, 4 phy cores,2 receive queues per NIC port. [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at10GE linerate, step 10kpps, LT=0.5%. IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)


wt=4  rxq=2  framesize=IMIX_v4_1  min_rate=${10000}  search_type=PDR

8.8.20.19. Discover NDR or PDR for IPv4 forwarding with VM

[Cfg] DUT runs IP4 routing config with required number of threads,phy cores and receive queues per NIC port. [Ver] Find NDR or PDR for defined frame size using binary searchstart at 10GE linerate with specified step.

Arguments: - wt - Number of worker threads to be used. Type: integer - rxq - Number of Rx queues to be used. Type: integer - framesize - L2 Frame Size [B]. Type: integer - min_rate - Lower limit of search [pps]. Type: float - search_type - Type of the search - non drop rate (NDR) or partial drop rare (PDR). Type: string


Set Test Variable  ${perf_qemu_qsz}  256
Set Test Variable  ${framesize}
Set Test Variable  ${min_rate}
${get_framesize}=  Set Variable If  "${framesize}" == "IMIX_v4_1"  ${avg_imix_framesize}  ${framesize}
${max_rate}=  Calculate pps  ${s_limit}  ${get_framesize}
${binary_min}=  Set Variable  ${min_rate}
${binary_max}=  Set Variable  ${max_rate}
${threshold}=  Set Variable  ${min_rate}
${dut1_vm_refs}=  Create Dictionary
${dut2_vm_refs}=  Create Dictionary
Set Test Variable  ${dut1_vm_refs}
Set Test Variable  ${dut2_vm_refs}
Given Add '${wt}' worker threads and '${rxq}