From b4157d62463fc54621fed74b223fcada4811efd1 Mon Sep 17 00:00:00 2001 From: Jan Gelety Date: Thu, 13 Jul 2017 17:06:06 +0200 Subject: FIX: remove previous QEMU build when needed to change qsz Change-Id: I949f8800b45354c205c5a5d36ab2abeeb93409dc Signed-off-by: Jan Gelety --- docs/tag_documentation.rst | 12 + .../performance/performance_configuration.robot | 16 +- tests/vpp/perf/__init__.robot | 3 + ...-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot | 705 -------------------- ...ot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk.robot | 212 ------ ...asemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot | 741 +++++++++++++++++++++ ...2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrchk.robot | 214 ++++++ ...-dot1q-l2xcbase-eth-2vhost-1vm-ndrpdrdisc.robot | 684 ------------------- ...x520-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk.robot | 209 ------ ...-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot | 720 ++++++++++++++++++++ ...ot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrchk.robot | 211 ++++++ ...rn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot | 5 +- ...asemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot | 38 +- ...lrn-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot | 5 +- ...basemaclrn-eth-2vhostvr256-1vm-ndrpdrdisc.robot | 4 +- ...-l2bdbasemaclrn-eth-4vhost-2vm-ndrpdrdisc.robot | 548 --------------- ...asemaclrn-eth-4vhostvr1024-2vm-ndrpdrdisc.robot | 548 +++++++++++++++ ...p1x520-eth-l2xcbase-eth-2vhost-1vm-pdrchk.robot | 208 ------ ...se-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot | 5 +- ...-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot | 38 +- ...-eth-l2xcbase-eth-2vhostvr1024-1vm-pdrchk.robot | 210 ++++++ ...ase-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot | 5 +- ...h-l2xcbase-eth-2vhostvr256-1vm-ndrpdrdisc.robot | 4 +- ...20-eth-l2xcbase-eth-4vhost-2vm-ndrpdrdisc.robot | 549 --------------- ...-l2xcbase-eth-4vhostvr1024-2vm-ndrpdrdisc.robot | 549 +++++++++++++++ ...x520-ethip4-ip4base-eth-2vhost-1vm-pdrchk.robot | 209 ------ ...se-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot | 5 +- ...4-ip4base-eth-2vhostvr1024-1vm-ndrpdrdisc.robot | 38 +- ...thip4-ip4base-eth-2vhostvr1024-1vm-pdrchk.robot | 211 ++++++ ...ase-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot | 5 +- ...p4-ip4base-eth-2vhostvr256-1vm-ndrpdrdisc.robot | 4 +- ...-ethip4-ip4base-eth-4vhost-2vm-ndrpdrdisc.robot | 550 --------------- ...4-ip4base-eth-4vhostvr1024-2vm-ndrpdrdisc.robot | 550 +++++++++++++++ ...-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot | 675 ------------------- ...asemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot | 711 ++++++++++++++++++++ ...-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot | 658 ------------------ ...asemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot | 694 +++++++++++++++++++ ...-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot | 660 ------------------ ...asemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot | 696 +++++++++++++++++++ ...-l2bdbasemaclrn-eth-4vhost-2vm-ndrpdrdisc.robot | 588 ---------------- ...asemaclrn-eth-4vhostvr1024-2vm-ndrpdrdisc.robot | 588 ++++++++++++++++ ...10-eth-l2xcbase-eth-4vhost-2vm-ndrpdrdisc.robot | 588 ---------------- ...-l2xcbase-eth-4vhostvr1024-2vm-ndrpdrdisc.robot | 588 ++++++++++++++++ ...-ethip4-ip4base-eth-4vhost-2vm-ndrpdrdisc.robot | 588 ---------------- ...4-ip4base-eth-4vhostvr1024-2vm-ndrpdrdisc.robot | 588 ++++++++++++++++ 45 files changed, 7990 insertions(+), 7647 deletions(-) delete mode 100644 tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot delete mode 100644 tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk.robot create mode 100644 tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot create mode 100644 tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrchk.robot delete mode 100644 tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrpdrdisc.robot delete mode 100644 tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk.robot create mode 100644 tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot create mode 100644 tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrchk.robot delete mode 100644 tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrpdrdisc.robot create mode 100644 tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrpdrdisc.robot delete mode 100644 tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-pdrchk.robot create mode 100644 tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-pdrchk.robot delete mode 100644 tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-4vhost-2vm-ndrpdrdisc.robot create mode 100644 tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrpdrdisc.robot delete mode 100644 tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-pdrchk.robot create mode 100644 tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-pdrchk.robot delete mode 100644 tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-4vhost-2vm-ndrpdrdisc.robot create mode 100644 tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrpdrdisc.robot delete mode 100644 tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot create mode 100644 tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot delete mode 100644 tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot create mode 100644 tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot delete mode 100644 tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot create mode 100644 tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot delete mode 100644 tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrpdrdisc.robot create mode 100644 tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrpdrdisc.robot delete mode 100644 tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2xcbase-eth-4vhost-2vm-ndrpdrdisc.robot create mode 100644 tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrpdrdisc.robot delete mode 100644 tests/vpp/perf/vm_vhost/40ge2p1xl710-ethip4-ip4base-eth-4vhost-2vm-ndrpdrdisc.robot create mode 100644 tests/vpp/perf/vm_vhost/40ge2p1xl710-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrpdrdisc.robot diff --git a/docs/tag_documentation.rst b/docs/tag_documentation.rst index 3da5478af5..537beced67 100644 --- a/docs/tag_documentation.rst +++ b/docs/tag_documentation.rst @@ -323,6 +323,18 @@ Interface tags All test cases which uses VHOST. +.. topic:: VHOST_256 + + All test cases which uses VHOST with qemu queue size set to 256. + +.. topic:: VHOST_1024 + + All test cases which uses VHOST with qemu queue size set to 1024. + +.. topic:: CFS_OPT + + All test cases which uses VM with optimised scheduler policy. + .. topic:: TUNTAP All test cases which uses TUN and TAP. diff --git a/resources/libraries/robot/performance/performance_configuration.robot b/resources/libraries/robot/performance/performance_configuration.robot index 568114f15b..2469799d10 100644 --- a/resources/libraries/robot/performance/performance_configuration.robot +++ b/resources/libraries/robot/performance/performance_configuration.robot @@ -1132,8 +1132,9 @@ | | Run keyword | ${vm_name}.Qemu Add Vhost User If | ${sock2} | | ${apply_patch}= | Set Variable If | "${perf_qemu_qsz}" == "256" | ${False} | | ... | ${True} +| | ${force_install}= | Set Variable If | ${qemu_built} | ${False} | ${True} | | Run Keyword | ${vm_name}.Build QEMU | ${dut_node} -| | ... | apply_patch=${apply_patch} +| | ... | force_install=${force_install} | apply_patch=${apply_patch} | | Run keyword | ${vm_name}.Qemu Set Bin | ${perf_qemu_bin} | | Run keyword | ${vm_name}.Qemu Set Node | ${dut_node} | | Run keyword | ${vm_name}.Qemu Set Smp | ${count} | ${count} | 1 | 1 @@ -1177,6 +1178,8 @@ | | | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM${number} | | | ... | skip=${skip_cpus} | count=${vm_cpus} | qemu_id=${number} | | | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM${number} | ${vm2} +| | Run Keyword Unless | ${qemu_built} | Set Suite Variable | ${qemu_built} +| | ... | ${True} | Configure guest VM with dpdk-testpmd using SMT connected via vhost-user | | [Documentation] @@ -1213,8 +1216,9 @@ | | Run keyword | ${vm_name}.Qemu Add Vhost User If | ${sock2} | | ${apply_patch}= | Set Variable If | "${perf_qemu_qsz}" == "256" | ${False} | | ... | ${True} +| | ${force_install}= | Set Variable If | ${qemu_built} | ${False} | ${True} | | Run Keyword | ${vm_name}.Build QEMU | ${dut_node} -| | ... | apply_patch=${apply_patch} +| | ... | force_install=${force_install} | apply_patch=${apply_patch} | | Run keyword | ${vm_name}.Qemu Set Bin | ${perf_qemu_bin} | | Run keyword | ${vm_name}.Qemu Set Node | ${dut_node} | | Run keyword | ${vm_name}.Qemu Set Smp | ${count} | ${count} | 1 | 1 @@ -1278,8 +1282,9 @@ | | Run keyword | ${vm_name}.Qemu Add Vhost User If | ${sock2} | | ${apply_patch}= | Set Variable If | "${perf_qemu_qsz}" == "256" | ${False} | | ... | ${True} +| | ${force_install}= | Set Variable If | ${qemu_built} | ${False} | ${True} | | Run Keyword | ${vm_name}.Build QEMU | ${dut_node} -| | ... | apply_patch=${apply_patch} +| | ... | force_install=${force_install} | apply_patch=${apply_patch} | | Run keyword | ${vm_name}.Qemu Set Bin | ${perf_qemu_bin} | | Run keyword | ${vm_name}.Qemu Set Node | ${dut_node} | | Run keyword | ${vm_name}.Qemu Set Smp | ${count} | ${count} | 1 | 1 @@ -1331,6 +1336,8 @@ | | | ... | ${dut2-vhost-${number}-if2_mac} | skip=${skip_cpus} | | | ... | count=${vm_cpus} | qemu_id=${number} | | | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM${number} | ${vm2} +| | Run Keyword Unless | ${qemu_built} | Set Suite Variable | ${qemu_built} +| | ... | ${True} | Configure guest VM with dpdk-testpmd-mac using SMT connected via vhost-user | | [Documentation] @@ -1369,8 +1376,9 @@ | | Run keyword | ${vm_name}.Qemu Add Vhost User If | ${sock2} | | ${apply_patch}= | Set Variable If | "${perf_qemu_qsz}" == "256" | ${False} | | ... | ${True} +| | ${force_install}= | Set Variable If | ${qemu_built} | ${False} | ${True} | | Run Keyword | ${vm_name}.Build QEMU | ${dut_node} -| | ... | apply_patch=${apply_patch} +| | ... | force_install=${force_install} | apply_patch=${apply_patch} | | Run keyword | ${vm_name}.Qemu Set Bin | ${perf_qemu_bin} | | Run keyword | ${vm_name}.Qemu Set Node | ${dut_node} | | Run keyword | ${vm_name}.Qemu Set Smp | ${count} | ${count} | 1 | 1 diff --git a/tests/vpp/perf/__init__.robot b/tests/vpp/perf/__init__.robot index e7277fce31..61dd83aaaf 100644 --- a/tests/vpp/perf/__init__.robot +++ b/tests/vpp/perf/__init__.robot @@ -35,6 +35,8 @@ | | ... | - perf_vm_image - Guest VM disk image | | ... | - perf_qemu_bin - Path to QEMU binary | | ... | - perf_qemu_qsz - QEMU virtio queue size +| | ... | - use_tuned_cfs - Switch to set scheduler policy +| | ... | - qemu_built - Information if QEMU build is already prepared | | ... | | Set Global Variable | ${perf_trial_duration} | 10 | | Set Global Variable | ${perf_pdr_loss_acceptance} | 0.5 @@ -44,3 +46,4 @@ | | ... | /opt/qemu-2.5.0/bin/qemu-system-x86_64 | | Set Global Variable | ${perf_qemu_qsz} | 1024 | | Set Global Variable | ${use_tuned_cfs} | ${False} +| | Set Global Variable | ${qemu_built} | ${False} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot deleted file mode 100644 index 9b88f7f2d1..0000000000 --- a/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot +++ /dev/null @@ -1,705 +0,0 @@ -# Copyright (c) 2017 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| Library | resources.libraries.python.QemuUtils -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | DOT1Q | L2BDMACLRN | BASE | VHOST | VM -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Setup | Set up performance test -| Test Teardown | Tear down performance test with vhost and VM with dpdk-testpmd -| ... | ${min_rate}pps | ${framesize} | ${traffic_profile} -| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} -| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} -| ... -| Documentation | *RFC2544: Packet throughput L2BD test cases with vhost* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. 802.1q -| ... | tagging is applied on link between DUT1 and DUT2. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 bridge- -| ... | domain and MAC learning enabled. Qemu Guest is connected to VPP via -| ... | vhost-user interfaces. Guest is running DPDK testpmd interconnecting -| ... | vhost-user interfaces using 5 cores pinned to cpus 5-9 and 2048M -| ... | memory. Testpmd is using socket-mem=1024M (512x2M hugepages), 5 cores -| ... | (1 main core and 4 cores dedicated for io), forwarding mode is set to -| ... | io, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p10GE NIC X520 -| ... | Niantic by Intel. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using either binary search or linear search -| ... | algorithms with configured starting rate and final step that determines -| ... | throughput measurement resolution. Test packets are generated by TG on -| ... | links to DUTs. TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 253 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -| ${subid}= | 10 -| ${tag_rewrite}= | pop-1 -| ${vlan_overhead}= | ${4} -# X520-DA2 bandwidth limit -| ${s_limit} | ${10000000000} -# Socket names -| ${bd_id1}= | 1 -| ${bd_id2}= | 2 -| ${sock1}= | /tmp/sock-1-${bd_id1} -| ${sock2}= | /tmp/sock-1-${bd_id2} -# Traffic profile: -| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 - -*** Test Cases *** -| tc01-64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc02-64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | ... -| | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} - -| tc03-1518B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc04-1518B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | ... -| | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} - -| tc05-IMIX-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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 at\ -| | ... | 10GE linerate, step 10kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 1T1C | STHREAD | NDRDISC -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc06-IMIX-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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 at\ -| | ... | 10GE linerate, step 10kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} - -| tc07-64B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 64B | 2T2C | STHREAD | NDRDISC -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc08-64B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | ... -| | [Tags] | 64B | 2T2C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} - -| tc09-1518B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 1518B | 2T2C | STHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc10-1518B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | ... -| | [Tags] | 1518B | 2T2C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} - -| tc11-IMIX-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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 at\ -| | ... | 10GE linerate, step 10kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 2T2C | STHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc12-IMIX-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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 at\ -| | ... | 10GE linerate, step 10kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 2T2C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} - -| tc13-64B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 64B | 4T4C | STHREAD | NDRDISC -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc14-64B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | ... -| | [Tags] | 64B | 4T4C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} - -| tc15-1518B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 1518B | 4T4C | STHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc16-1518B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | ... -| | [Tags] | 1518B | 4T4C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} - -| tc17-IMIX-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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 at\ -| | ... | 10GE linerate, step 10kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 4T4C | STHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc18-IMIX-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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 at\ -| | ... | 10GE linerate, step 10kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 4T4C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk.robot deleted file mode 100644 index bab866795a..0000000000 --- a/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk.robot +++ /dev/null @@ -1,212 +0,0 @@ -# Copyright (c) 2017 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| Library | resources.libraries.python.QemuUtils -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PDRCHK -| ... | NIC_Intel-X520-DA2 | DOT1Q | L2BDMACLRN | BASE | VHOST | VM -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Setup | Set up performance test -| Test Teardown | Tear down performance pdrchk test with vhost and VM with dpdk-testpmd -| ... | ${rate}pps | ${framesize} | ${traffic_profile} -| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} -| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} -| ... -| Documentation | *RFC2544: Packet throughput L2BD test cases with vhost* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. 802.1q -| ... | tagging is applied on link between DUT1 and DUT2. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 bridge- -| ... | domain and MAC learning enabled. Qemu Guest is connected to VPP via -| ... | vhost-user interfaces. Guest is running DPDK testpmd interconnecting -| ... | vhost-user interfaces using 5 cores pinned to cpus 5-9 and 2048M -| ... | memory. Testpmd is using socket-mem=1024M (512x2M hugepages), 5 cores -| ... | (1 main core and 4 cores dedicated for io), forwarding mode is set to -| ... | io, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p10GE NIC X520 -| ... | Niantic by Intel. -| ... | *[Ver] TG verification:* TG verifies throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. Ref-PDR value is periodically updated acording to -| ... | formula: ref-PDR = 0.9x PDR, where PDR is found in RFC2544 long -| ... | performance tests for the same DUT configuration. Test packets are -| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 -| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with -| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 -| ... | and static payload. MAC addresses are matching MAC addresses of the -| ... | TG node interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -| ${subid}= | 10 -| ${tag_rewrite}= | pop-1 -# Socket names -| ${bd_id1}= | 1 -| ${bd_id2}= | 2 -| ${sock1}= | /tmp/sock-1-${bd_id1} -| ${sock2}= | /tmp/sock-1-${bd_id2} -# Traffic profile: -| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 - -*** Keywords *** -| Check PDR for L2 bridge domain with vhost and VM with dpdk-testpmd -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phy\ -| | ... | core, ${rxq} receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for ${framesize} Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Arguments] | ${framesize} | ${rate} | ${wt} | ${rxq} -| | ... -| | # Test Variables required for test and test teardown -| | 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} -| | Then Traffic should pass with partial loss | ${perf_trial_duration} -| | ... | ${rate} | ${framesize} | ${traffic_profile} -| | ... | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type} - -*** Test Cases *** -| tc01-64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 1 thread, 1 phy\ -| | ... | core, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 64B | 1T1C | STHREAD -| | ... -| | [Template] | Check PDR for L2 bridge domain with vhost and VM with dpdk-testpmd -| | framesize=${64} | rate=1.2mpps | wt=1 | rxq=1 - -| tc02-1518B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 1 thread, 1 phy\ -| | ... | core, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 1518B | 1T1C | STHREAD -| | ... -| | [Template] | Check PDR for L2 bridge domain with vhost and VM with dpdk-testpmd -| | framesize=${1518} | rate=350000pps | wt=1 | rxq=1 - -| tc03-IMIX-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 1 thread, 1 phy\ -| | ... | core, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | IMIX | 1T1C | STHREAD -| | ... -| | [Template] | Check PDR for L2 bridge domain with vhost and VM with dpdk-testpmd -| | framesize=IMIX_v4_1 | rate=0.9mpps | wt=1 | rxq=1 - -| tc04-64B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 2 threads, 2 phy\ -| | ... | cores, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 64B | 2T2C | MTHREAD -| | ... -| | [Template] | Check PDR for L2 bridge domain with vhost and VM with dpdk-testpmd -| | framesize=${64} | rate=2.2mpps | wt=2 | rxq=1 - -| tc05-1518B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 2 threads, 2 phy\ -| | ... | cores, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 1518B | 2T2C | MTHREAD -| | ... -| | [Template] | Check PDR for L2 bridge domain with vhost and VM with dpdk-testpmd -| | framesize=${1518} | rate=0.6mpps | wt=2 | rxq=1 - -| tc06-IMIX-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 2 threads, 2 phy\ -| | ... | cores, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | IMIX | 2T2C | MTHREAD -| | ... -| | [Template] | Check PDR for L2 bridge domain with vhost and VM with dpdk-testpmd -| | framesize=IMIX_v4_1 | rate=1.5pps | wt=2 | rxq=1 - -| tc07-64B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 4 threads, 4 phy\ -| | ... | cores, 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 64B | 4T4C | MTHREAD -| | ... -| | [Template] | Check PDR for L2 bridge domain with vhost and VM with dpdk-testpmd -| | framesize=${64} | rate=3.4mpps | wt=4 | rxq=2 - -| tc08-1518B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 4 threads, 4 phy\ -| | ... | cores, 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 1518B | 4T4C | MTHREAD -| | ... -| | [Template] | Check PDR for L2 bridge domain with vhost and VM with dpdk-testpmd -| | framesize=${1518} | rate=0.7mpps | wt=4 | rxq=2 - -| tc09-IMIX-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 4 threads, 4 phy\ -| | ... | cores, 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | IMIX | 4T4C | MTHREAD -| | ... -| | [Template] | Check PDR for L2 bridge domain with vhost and VM with dpdk-testpmd -| | framesize=IMIX_v4_1 | rate=2.2mpps | wt=4 | rxq=2 diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot new file mode 100644 index 0000000000..35b8825190 --- /dev/null +++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot @@ -0,0 +1,741 @@ +# Copyright (c) 2017 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance/performance_setup.robot +| Library | resources.libraries.python.QemuUtils +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | DOT1Q | L2BDMACLRN | BASE | VHOST | VM | VHOST_1024 +| ... +| Suite Setup | Set up 3-node performance topology with DUT's NIC model +| ... | L2 | Intel-X520-DA2 +| Suite Teardown | Tear down 3-node performance topology +| ... +| Test Setup | Set up performance test +| Test Teardown | Tear down performance test with vhost and VM with dpdk-testpmd +| ... | ${min_rate}pps | ${framesize} | ${traffic_profile} +| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} +| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} +| ... +| Documentation | *RFC2544: Packet throughput L2BD test cases with vhost* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. 802.1q +| ... | tagging is applied on link between DUT1 and DUT2. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 bridge- +| ... | domain and MAC learning enabled. Qemu Guest is connected to VPP via +| ... | vhost-user interfaces. Guest is running DPDK testpmd interconnecting +| ... | vhost-user interfaces using 5 cores pinned to cpus 5-9 and 2048M +| ... | memory. Testpmd is using socket-mem=1024M (512x2M hugepages), 5 cores +| ... | (1 main core and 4 cores dedicated for io), forwarding mode is set to +| ... | io, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p10GE NIC X520 +| ... | Niantic by Intel. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop +| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage +| ... | of packets transmitted. NDR and PDR are discovered for different +| ... | Ethernet L2 frame sizes using either binary search or linear search +| ... | algorithms with configured starting rate and final step that determines +| ... | throughput measurement resolution. Test packets are generated by TG on +| ... | links to DUTs. TG traffic profile contains two L3 flow-groups +| ... | (flow-group per direction, 253 flows per flow-group) with all packets +| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static +| ... | payload. MAC addresses are matching MAC addresses of the TG node +| ... | interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| ${subid}= | 10 +| ${tag_rewrite}= | pop-1 +| ${vlan_overhead}= | ${4} +# X520-DA2 bandwidth limit +| ${s_limit} | ${10000000000} +# Socket names +| ${bd_id1}= | 1 +| ${bd_id2}= | 2 +| ${sock1}= | /tmp/sock-1-${bd_id1} +| ${sock2}= | /tmp/sock-1-${bd_id2} +# Traffic profile: +| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 + +*** Test Cases *** +| tc01-64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC +| | ... +| | ${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} + +| tc02-64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | ... +| | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc03-1518B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC +| | ... +| | ${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} + +| tc04-1518B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | ... +| | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc05-IMIX-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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 at\ +| | ... | 10GE linerate, step 10kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 1T1C | STHREAD | NDRDISC +| | ... +| | ${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} + +| tc06-IMIX-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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 at\ +| | ... | 10GE linerate, step 10kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc07-64B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 64B | 2T2C | STHREAD | NDRDISC +| | ... +| | ${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} + +| tc08-64B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | ... +| | [Tags] | 64B | 2T2C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc09-1518B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 1518B | 2T2C | STHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc10-1518B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | ... +| | [Tags] | 1518B | 2T2C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc11-IMIX-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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 at\ +| | ... | 10GE linerate, step 10kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 2T2C | STHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc12-IMIX-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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 at\ +| | ... | 10GE linerate, step 10kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 2T2C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc13-64B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 64B | 4T4C | STHREAD | NDRDISC +| | ... +| | ${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} + +| tc14-64B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | ... +| | [Tags] | 64B | 4T4C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc15-1518B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 1518B | 4T4C | STHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc16-1518B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | ... +| | [Tags] | 1518B | 4T4C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc17-IMIX-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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 at\ +| | ... | 10GE linerate, step 10kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 4T4C | STHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc18-IMIX-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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 at\ +| | ... | 10GE linerate, step 10kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 4T4C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrchk.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrchk.robot new file mode 100644 index 0000000000..da076d7cd6 --- /dev/null +++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrchk.robot @@ -0,0 +1,214 @@ +# Copyright (c) 2017 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance/performance_setup.robot +| Library | resources.libraries.python.QemuUtils +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PDRCHK +| ... | NIC_Intel-X520-DA2 | DOT1Q | L2BDMACLRN | BASE | VHOST | VM | VHOST_1024 +| ... +| Suite Setup | Set up 3-node performance topology with DUT's NIC model +| ... | L2 | Intel-X520-DA2 +| Suite Teardown | Tear down 3-node performance topology +| ... +| Test Setup | Set up performance test +| Test Teardown | Tear down performance pdrchk test with vhost and VM with dpdk-testpmd +| ... | ${rate}pps | ${framesize} | ${traffic_profile} +| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} +| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} +| ... +| Documentation | *RFC2544: Packet throughput L2BD test cases with vhost* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. 802.1q +| ... | tagging is applied on link between DUT1 and DUT2. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 bridge- +| ... | domain and MAC learning enabled. Qemu Guest is connected to VPP via +| ... | vhost-user interfaces. Guest is running DPDK testpmd interconnecting +| ... | vhost-user interfaces using 5 cores pinned to cpus 5-9 and 2048M +| ... | memory. Testpmd is using socket-mem=1024M (512x2M hugepages), 5 cores +| ... | (1 main core and 4 cores dedicated for io), forwarding mode is set to +| ... | io, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p10GE NIC X520 +| ... | Niantic by Intel. +| ... | *[Ver] TG verification:* TG verifies throughput PDR (Partial Drop +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage +| ... | of packets transmitted. Ref-PDR value is periodically updated acording to +| ... | formula: ref-PDR = 0.9x PDR, where PDR is found in RFC2544 long +| ... | performance tests for the same DUT configuration. Test packets are +| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 +| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with +| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 +| ... | and static payload. MAC addresses are matching MAC addresses of the +| ... | TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| ${subid}= | 10 +| ${tag_rewrite}= | pop-1 +# Socket names +| ${bd_id1}= | 1 +| ${bd_id2}= | 2 +| ${sock1}= | /tmp/sock-1-${bd_id1} +| ${sock2}= | /tmp/sock-1-${bd_id2} +# Traffic profile: +| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 + +*** Keywords *** +| Check PDR for L2 bridge domain with vhost and VM with dpdk-testpmd +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phy\ +| | ... | core, ${rxq} receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for ${framesize} Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Arguments] | ${framesize} | ${rate} | ${wt} | ${rxq} +| | ... +| | # Test Variables required for test and test teardown +| | 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} + +*** Test Cases *** +| tc01-64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 1 thread, 1 phy\ +| | ... | core, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 64B | 1T1C | STHREAD +| | ... +| | [Template] | Check PDR for L2 bridge domain with vhost and VM with dpdk-testpmd +| | framesize=${64} | rate=1.2mpps | wt=1 | rxq=1 + +| tc02-1518B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 1 thread, 1 phy\ +| | ... | core, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 1518B | 1T1C | STHREAD +| | ... +| | [Template] | Check PDR for L2 bridge domain with vhost and VM with dpdk-testpmd +| | framesize=${1518} | rate=350000pps | wt=1 | rxq=1 + +| tc03-IMIX-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 1 thread, 1 phy\ +| | ... | core, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | IMIX | 1T1C | STHREAD +| | ... +| | [Template] | Check PDR for L2 bridge domain with vhost and VM with dpdk-testpmd +| | framesize=IMIX_v4_1 | rate=0.9mpps | wt=1 | rxq=1 + +| tc04-64B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 2 threads, 2 phy\ +| | ... | cores, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 64B | 2T2C | MTHREAD +| | ... +| | [Template] | Check PDR for L2 bridge domain with vhost and VM with dpdk-testpmd +| | framesize=${64} | rate=2.2mpps | wt=2 | rxq=1 + +| tc05-1518B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 2 threads, 2 phy\ +| | ... | cores, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 1518B | 2T2C | MTHREAD +| | ... +| | [Template] | Check PDR for L2 bridge domain with vhost and VM with dpdk-testpmd +| | framesize=${1518} | rate=0.6mpps | wt=2 | rxq=1 + +| tc06-IMIX-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 2 threads, 2 phy\ +| | ... | cores, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | IMIX | 2T2C | MTHREAD +| | ... +| | [Template] | Check PDR for L2 bridge domain with vhost and VM with dpdk-testpmd +| | framesize=IMIX_v4_1 | rate=1.5pps | wt=2 | rxq=1 + +| tc07-64B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 4 threads, 4 phy\ +| | ... | cores, 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 64B | 4T4C | MTHREAD +| | ... +| | [Template] | Check PDR for L2 bridge domain with vhost and VM with dpdk-testpmd +| | framesize=${64} | rate=3.4mpps | wt=4 | rxq=2 + +| tc08-1518B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 4 threads, 4 phy\ +| | ... | cores, 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 1518B | 4T4C | MTHREAD +| | ... +| | [Template] | Check PDR for L2 bridge domain with vhost and VM with dpdk-testpmd +| | framesize=${1518} | rate=0.7mpps | wt=4 | rxq=2 + +| tc09-IMIX-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 4 threads, 4 phy\ +| | ... | cores, 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | IMIX | 4T4C | MTHREAD +| | ... +| | [Template] | Check PDR for L2 bridge domain with vhost and VM with dpdk-testpmd +| | framesize=IMIX_v4_1 | rate=2.2mpps | wt=4 | rxq=2 diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrpdrdisc.robot deleted file mode 100644 index 258ebbbe57..0000000000 --- a/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrpdrdisc.robot +++ /dev/null @@ -1,684 +0,0 @@ -# Copyright (c) 2017 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| Library | resources.libraries.python.NodePath -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | DOT1Q | L2XCFWD | BASE | VHOST | VM -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Setup | Set up performance test -| Test Teardown | Tear down performance test with vhost and VM with dpdk-testpmd -| ... | ${min_rate}pps | ${framesize} | ${traffic_profile} -| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} -| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} -| ... -| Documentation | *RFC2544: Pkt throughput L2XC test cases with vhost* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. 802.1q -| ... | tagging is applied on link between DUT1 and DUT2. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. Qemu Guest is connected to VPP via vhost-user interfaces. -| ... | Guest is running DPDK testpmd interconnecting vhost-user interfaces -| ... | using 5 cores pinned to cpus 5-9 and 2048M memory. Testpmd is using -| ... | socket-mem=1024M (512x2M hugepages), 5 cores (1 main core and 4 cores -| ... | dedicated for io), forwarding mode is set to io, rxd/txd=256, -| ... | burst=64. DUT1, DUT2 are tested with 2p10GE NIC X520 Niantic by Intel. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using either binary search or linear search -| ... | algorithms with configured starting rate and final step that determines -| ... | throughput measurement resolution. Test packets are generated by TG on -| ... | links to DUTs. TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 253 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -| ${subid}= | 10 -| ${tag_rewrite}= | pop-1 -| ${vlan_overhead}= | ${4} -# Socket names -| ${sock1}= | /tmp/sock-1 -| ${sock2}= | /tmp/sock-2 -# X520-DA2 bandwidth limit -| ${s_limit}= | ${10000000000} -# Traffic profile: -| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 - -*** Test Cases *** -| tc01-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc02-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | ... -| | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} - -| tc03-1518B-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc04-1518B-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | ... -| | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} - -| tc05-IMIX-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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 at\ -| | ... | 10GE linerate, step 10kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 1T1C | STHREAD | NDRDISC -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc06-IMIX-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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 at\ -| | ... | 10GE linerate, step 10kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} - -| tc07-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 64B | 2T2C | STHREAD | NDRDISC -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc08-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | ... -| | [Tags] | 64B | 2T2C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} - -| tc09-1518B-2t2c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 1518B | 2T2C | STHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc10-1518B-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | ... -| | [Tags] | 1518B | 2T2C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} - -| tc11-IMIX-2t2c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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 at\ -| | ... | 10GE linerate, step 10kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 2T2C | STHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc12-IMIX-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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 at\ -| | ... | 10GE linerate, step 10kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 2T2C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} - -| tc13-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 64B | 4T4C | STHREAD | NDRDISC -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc14-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | ... -| | [Tags] | 64B | 4T4C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} - -| tc15-1518B-4t4c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 1518B | 4T4C | STHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc16-1518B-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | ... -| | [Tags] | 1518B | 4T4C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} - -| tc17-IMIX-4t4c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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 at\ -| | ... | 10GE linerate, step 10kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 4T4C | STHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc18-IMIX-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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 at\ -| | ... | 10GE linerate, step 10kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 4T4C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk.robot deleted file mode 100644 index 68b11c8348..0000000000 --- a/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk.robot +++ /dev/null @@ -1,209 +0,0 @@ -# Copyright (c) 2017 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| Library | resources.libraries.python.QemuUtils -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PDRCHK -| ... | NIC_Intel-X520-DA2 | DOT1Q | L2XCFWD | BASE | VHOST | VM -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Setup | Set up performance test -| Test Teardown | Tear down performance pdrchk test with vhost and VM with dpdk-testpmd -| ... | ${rate}pps | ${framesize} | ${traffic_profile} -| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} -| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} -| ... -| Documentation | *RFC2544: Packet throughput L2XC test cases with vhost* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. 802.1q -| ... | tagging is applied on link between DUT1 and DUT2. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. Qemu Guest is connected to VPP via -| ... | vhost-user interfaces. Guest is running DPDK testpmd interconnecting -| ... | vhost-user interfaces using 5 cores pinned to cpus 5-9 and 2048M -| ... | memory. Testpmd is using socket-mem=1024M (512x2M hugepages), 5 cores -| ... | (1 main core and 4 cores dedicated for io), forwarding mode is set to -| ... | io, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p10GE NIC X520 -| ... | Niantic by Intel. -| ... | *[Ver] TG verification:* TG verifies throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. Ref-PDR value is periodically updated acording to -| ... | formula: ref-PDR = 0.9x PDR, where PDR is found in RFC2544 long -| ... | performance tests for the same DUT configuration. Test packets are -| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 -| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with -| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 -| ... | and static payload. MAC addresses are matching MAC addresses of the -| ... | TG node interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -| ${subid}= | 10 -| ${tag_rewrite}= | pop-1 -# Socket names -| ${sock1}= | /tmp/sock-1 -| ${sock2}= | /tmp/sock-2 -# Traffic profile: -| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 - -*** Keywords *** -| Check PDR for L2XC with vhost and VM with dpdk-testpmd -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phy\ -| | ... | core, ${rxq} receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for ${framesize} Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Arguments] | ${framesize} | ${rate} | ${wt} | ${rxq} -| | ... -| | # Test Variables required for test and test teardown -| | 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} -| | Then Traffic should pass with partial loss | ${perf_trial_duration} -| | ... | ${rate} | ${framesize} | ${traffic_profile} -| | ... | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type} - -*** Test Cases *** -| tc01-64B-1t1c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy\ -| | ... | core, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 64B | 1T1C | STHREAD -| | ... -| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd -| | framesize=${64} | rate=1.4mpps | wt=1 | rxq=1 - -| tc02-1518B-1t1c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy\ -| | ... | core, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 1518B | 1T1C | STHREAD -| | ... -| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd -| | framesize=${1518} | rate=330000pps | wt=1 | rxq=1 - -| tc03-IMIX-1t1c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy\ -| | ... | core, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | IMIX | 1T1C | STHREAD -| | ... -| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd -| | framesize=IMIX_v4_1 | rate=1.0mpps | wt=1 | rxq=1 - -| tc04-64B-2t2c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy\ -| | ... | cores, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 64B | 2T2C | MTHREAD -| | ... -| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd -| | framesize=${64} | rate=1.4mpps | wt=2 | rxq=1 - -| tc05-1518B-2t2c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy\ -| | ... | cores, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 1518B | 2T2C | MTHREAD -| | ... -| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd -| | framesize=${1518} | rate=0.7mpps | wt=2 | rxq=1 - -| tc06-IMIX-2t2c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy\ -| | ... | cores, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | IMIX | 2T2C | MTHREAD -| | ... -| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd -| | framesize=IMIX_v4_1 | rate=1.6mpps | wt=2 | rxq=1 - -| tc07-64B-4t4c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy\ -| | ... | cores, 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 64B | 4T4C | MTHREAD -| | ... -| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd -| | framesize=${64} | rate=4.0mpps | wt=4 | rxq=2 - -| tc08-1518B-4t4c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy\ -| | ... | cores, 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 1518B | 4T4C | MTHREAD -| | ... -| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd -| | framesize=${1518} | rate=0.7mpps | wt=4 | rxq=2 - -| tc09-IMIX-4t4c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy\ -| | ... | cores, 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | IMIX | 4T4C | MTHREAD -| | ... -| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd -| | framesize=IMIX_v4_1 | rate=2.4mpps | wt=4 | rxq=2 diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot new file mode 100644 index 0000000000..9d39ca3682 --- /dev/null +++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot @@ -0,0 +1,720 @@ +# Copyright (c) 2017 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance/performance_setup.robot +| Library | resources.libraries.python.NodePath +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | DOT1Q | L2XCFWD | BASE | VHOST | VM | VHOST_1024 +| ... +| Suite Setup | Set up 3-node performance topology with DUT's NIC model +| ... | L2 | Intel-X520-DA2 +| Suite Teardown | Tear down 3-node performance topology +| ... +| Test Setup | Set up performance test +| Test Teardown | Tear down performance test with vhost and VM with dpdk-testpmd +| ... | ${min_rate}pps | ${framesize} | ${traffic_profile} +| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} +| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} +| ... +| Documentation | *RFC2544: Pkt throughput L2XC test cases with vhost* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. 802.1q +| ... | tagging is applied on link between DUT1 and DUT2. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- +| ... | connect. Qemu Guest is connected to VPP via vhost-user interfaces. +| ... | Guest is running DPDK testpmd interconnecting vhost-user interfaces +| ... | using 5 cores pinned to cpus 5-9 and 2048M memory. Testpmd is using +| ... | socket-mem=1024M (512x2M hugepages), 5 cores (1 main core and 4 cores +| ... | dedicated for io), forwarding mode is set to io, rxd/txd=256, +| ... | burst=64. DUT1, DUT2 are tested with 2p10GE NIC X520 Niantic by Intel. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop +| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage +| ... | of packets transmitted. NDR and PDR are discovered for different +| ... | Ethernet L2 frame sizes using either binary search or linear search +| ... | algorithms with configured starting rate and final step that determines +| ... | throughput measurement resolution. Test packets are generated by TG on +| ... | links to DUTs. TG traffic profile contains two L3 flow-groups +| ... | (flow-group per direction, 253 flows per flow-group) with all packets +| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static +| ... | payload. MAC addresses are matching MAC addresses of the TG node +| ... | interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| ${subid}= | 10 +| ${tag_rewrite}= | pop-1 +| ${vlan_overhead}= | ${4} +# Socket names +| ${sock1}= | /tmp/sock-1 +| ${sock2}= | /tmp/sock-2 +# X520-DA2 bandwidth limit +| ${s_limit}= | ${10000000000} +# Traffic profile: +| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 + +*** Test Cases *** +| tc01-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC +| | ... +| | ${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} + +| tc02-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | ... +| | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc03-1518B-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC +| | ... +| | ${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} + +| tc04-1518B-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | ... +| | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc05-IMIX-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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 at\ +| | ... | 10GE linerate, step 10kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 1T1C | STHREAD | NDRDISC +| | ... +| | ${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} + +| tc06-IMIX-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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 at\ +| | ... | 10GE linerate, step 10kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc07-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 64B | 2T2C | STHREAD | NDRDISC +| | ... +| | ${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} + +| tc08-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | ... +| | [Tags] | 64B | 2T2C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc09-1518B-2t2c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 1518B | 2T2C | STHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc10-1518B-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | ... +| | [Tags] | 1518B | 2T2C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc11-IMIX-2t2c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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 at\ +| | ... | 10GE linerate, step 10kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 2T2C | STHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc12-IMIX-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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 at\ +| | ... | 10GE linerate, step 10kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 2T2C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc13-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 64B | 4T4C | STHREAD | NDRDISC +| | ... +| | ${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} + +| tc14-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | ... +| | [Tags] | 64B | 4T4C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc15-1518B-4t4c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 1518B | 4T4C | STHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc16-1518B-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | ... +| | [Tags] | 1518B | 4T4C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc17-IMIX-4t4c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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 at\ +| | ... | 10GE linerate, step 10kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 4T4C | STHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc18-IMIX-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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 at\ +| | ... | 10GE linerate, step 10kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 4T4C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrchk.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrchk.robot new file mode 100644 index 0000000000..7716ce5e98 --- /dev/null +++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrchk.robot @@ -0,0 +1,211 @@ +# Copyright (c) 2017 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance/performance_setup.robot +| Library | resources.libraries.python.QemuUtils +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PDRCHK +| ... | NIC_Intel-X520-DA2 | DOT1Q | L2XCFWD | BASE | VHOST | VM | VHOST_1024 +| ... +| Suite Setup | Set up 3-node performance topology with DUT's NIC model +| ... | L2 | Intel-X520-DA2 +| Suite Teardown | Tear down 3-node performance topology +| ... +| Test Setup | Set up performance test +| Test Teardown | Tear down performance pdrchk test with vhost and VM with dpdk-testpmd +| ... | ${rate}pps | ${framesize} | ${traffic_profile} +| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} +| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} +| ... +| Documentation | *RFC2544: Packet throughput L2XC test cases with vhost* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. 802.1q +| ... | tagging is applied on link between DUT1 and DUT2. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- +| ... | connect. Qemu Guest is connected to VPP via +| ... | vhost-user interfaces. Guest is running DPDK testpmd interconnecting +| ... | vhost-user interfaces using 5 cores pinned to cpus 5-9 and 2048M +| ... | memory. Testpmd is using socket-mem=1024M (512x2M hugepages), 5 cores +| ... | (1 main core and 4 cores dedicated for io), forwarding mode is set to +| ... | io, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p10GE NIC X520 +| ... | Niantic by Intel. +| ... | *[Ver] TG verification:* TG verifies throughput PDR (Partial Drop +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage +| ... | of packets transmitted. Ref-PDR value is periodically updated acording to +| ... | formula: ref-PDR = 0.9x PDR, where PDR is found in RFC2544 long +| ... | performance tests for the same DUT configuration. Test packets are +| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 +| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with +| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 +| ... | and static payload. MAC addresses are matching MAC addresses of the +| ... | TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| ${subid}= | 10 +| ${tag_rewrite}= | pop-1 +# Socket names +| ${sock1}= | /tmp/sock-1 +| ${sock2}= | /tmp/sock-2 +# Traffic profile: +| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 + +*** Keywords *** +| Check PDR for L2XC with vhost and VM with dpdk-testpmd +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phy\ +| | ... | core, ${rxq} receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for ${framesize} Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Arguments] | ${framesize} | ${rate} | ${wt} | ${rxq} +| | ... +| | # Test Variables required for test and test teardown +| | 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} + +*** Test Cases *** +| tc01-64B-1t1c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy\ +| | ... | core, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 64B | 1T1C | STHREAD +| | ... +| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd +| | framesize=${64} | rate=1.4mpps | wt=1 | rxq=1 + +| tc02-1518B-1t1c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy\ +| | ... | core, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 1518B | 1T1C | STHREAD +| | ... +| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd +| | framesize=${1518} | rate=330000pps | wt=1 | rxq=1 + +| tc03-IMIX-1t1c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy\ +| | ... | core, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | IMIX | 1T1C | STHREAD +| | ... +| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd +| | framesize=IMIX_v4_1 | rate=1.0mpps | wt=1 | rxq=1 + +| tc04-64B-2t2c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy\ +| | ... | cores, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 64B | 2T2C | MTHREAD +| | ... +| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd +| | framesize=${64} | rate=1.4mpps | wt=2 | rxq=1 + +| tc05-1518B-2t2c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy\ +| | ... | cores, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 1518B | 2T2C | MTHREAD +| | ... +| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd +| | framesize=${1518} | rate=0.7mpps | wt=2 | rxq=1 + +| tc06-IMIX-2t2c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy\ +| | ... | cores, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | IMIX | 2T2C | MTHREAD +| | ... +| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd +| | framesize=IMIX_v4_1 | rate=1.6mpps | wt=2 | rxq=1 + +| tc07-64B-4t4c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy\ +| | ... | cores, 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 64B | 4T4C | MTHREAD +| | ... +| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd +| | framesize=${64} | rate=4.0mpps | wt=4 | rxq=2 + +| tc08-1518B-4t4c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy\ +| | ... | cores, 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 1518B | 4T4C | MTHREAD +| | ... +| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd +| | framesize=${1518} | rate=0.7mpps | wt=4 | rxq=2 + +| tc09-IMIX-4t4c-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy\ +| | ... | cores, 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | IMIX | 4T4C | MTHREAD +| | ... +| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd +| | framesize=IMIX_v4_1 | rate=2.4mpps | wt=4 | rxq=2 diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot index cc3682e2fe..282b4d71d4 100644 --- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot +++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot @@ -16,7 +16,8 @@ | Library | resources.libraries.python.QemuUtils | ... | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | DOT1Q | L2BDMACLRN | BASE | VHOST | VM +| ... | NIC_Intel-X520-DA2 | DOT1Q | L2BDMACLRN | BASE | VHOST | VM | VHOST_1024 +| ... | CFS_OPT | ... | Suite Setup | Set up 3-node performance topology with DUT's NIC model | ... | L2 | Intel-X520-DA2 @@ -99,6 +100,8 @@ | | ${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} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot index cf85f46c93..d74884e8e7 100644 --- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot +++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot @@ -16,7 +16,7 @@ | Library | resources.libraries.python.QemuUtils | ... | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | ETH | L2BDMACLRN | BASE | VHOST | VM +| ... | NIC_Intel-X520-DA2 | ETH | L2BDMACLRN | BASE | VHOST | VM | VHOST_1024 | ... | Suite Setup | Set up 3-node performance topology with DUT's NIC model | ... | L2 | Intel-X520-DA2 @@ -93,6 +93,8 @@ | | ${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} @@ -123,6 +125,8 @@ | | ${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} @@ -154,6 +158,8 @@ | | ${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} @@ -184,6 +190,8 @@ | | ${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} @@ -216,6 +224,8 @@ | | ${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} @@ -247,6 +257,8 @@ | | ${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} @@ -278,6 +290,8 @@ | | ${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} @@ -308,6 +322,8 @@ | | ${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} @@ -339,6 +355,8 @@ | | ${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} @@ -369,6 +387,8 @@ | | ${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} @@ -401,6 +421,8 @@ | | ${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} @@ -432,6 +454,8 @@ | | ${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} @@ -463,6 +487,8 @@ | | ${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} @@ -493,6 +519,8 @@ | | ${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} @@ -524,6 +552,8 @@ | | ${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} @@ -554,6 +584,8 @@ | | ${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} @@ -586,6 +618,8 @@ | | ${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} @@ -617,6 +651,8 @@ | | ${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} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot index 1cae1b37dd..8a236545e8 100644 --- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot +++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot @@ -16,7 +16,8 @@ | Library | resources.libraries.python.QemuUtils | ... | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | DOT1Q | L2BDMACLRN | BASE | VHOST | VM +| ... | NIC_Intel-X520-DA2 | DOT1Q | L2BDMACLRN | BASE | VHOST | VM | VHOST_256 +| ... | CFS_OPT | ... | Suite Setup | Set up 3-node performance topology with DUT's NIC model | ... | L2 | Intel-X520-DA2 @@ -114,6 +115,8 @@ | | ${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} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrpdrdisc.robot index 9e0005a60b..c5eff54f24 100644 --- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrpdrdisc.robot +++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrpdrdisc.robot @@ -16,7 +16,7 @@ | Library | resources.libraries.python.QemuUtils | ... | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | DOT1Q | L2BDMACLRN | BASE | VHOST | VM +| ... | NIC_Intel-X520-DA2 | DOT1Q | L2BDMACLRN | BASE | VHOST | VM | VHOST_256 | ... | Suite Setup | Set up 3-node performance topology with DUT's NIC model | ... | L2 | Intel-X520-DA2 @@ -112,6 +112,8 @@ | | ${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} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrpdrdisc.robot deleted file mode 100644 index ade616825a..0000000000 --- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrpdrdisc.robot +++ /dev/null @@ -1,548 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| Library | resources.libraries.python.QemuUtils -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | ETH | L2BDMACLRN | BASE | VHOST | VM -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| Suite Teardown | Tear down 3-node performance topology -| Test Setup | Set up performance test -| Test Teardown | Run Keywords -| ... | Show Bridge Domain Data On All DUTs -| ... | AND | Tear down performance test with vhost and VM with dpdk-testpmd -| ... | ${min_rate}pps | ${framesize} | ${traffic_profile} -| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} -| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} -| Documentation | *RFC2544: Pkt throughput L2BD test cases with vhost* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 bridge- -| ... | domains and MAC learning enabled. Qemu Guests are connected to VPP via -| ... | vhost-user interfaces. Guests are running DPDK testpmd interconnecting -| ... | vhost-user interfaces using 5 cores pinned to cpus 6-10 and 11-15 and -| ... | 2048M memory. Testpmd is using socket-mem=1024M (512x2M hugepages), -| ... | 5 cores (1 main core and 4 cores dedicated for io), forwarding mode is -| ... | set to io, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p10GE NIC -| ... | X520 Niantic by Intel. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using either binary search or linear search -| ... | algorithms with configured starting rate and final step that determines -| ... | throughput measurement resolution. Test packets are generated by TG on -| ... | links to DUTs. TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 253 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit}= | ${10000000000} -# CPU settings -| ${system_cpus}= | ${1} -| ${vpp_cpus}= | ${5} -| ${vm_cpus}= | ${5} -# Traffic profile: -| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 - -*** Test Cases *** -| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC -| | ${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} - -| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${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} - -| tc03-1518B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC -| | ${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} - -| tc04-1518B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${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} - -| tc05-IMIX-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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) -| | [Tags] | IMIX | 1T1C | STHREAD | NDRDISC -| | ${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} - -| tc06-IMIX-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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) -| | [Tags] | IMIX | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${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} - -| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | [Tags] | 64B | 2T2C | MTHREAD | NDRDISC -| | ${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} - -| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | [Tags] | 64B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${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} - -| tc09-1518B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | [Tags] | 1518B | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${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} - -| tc10-1518B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | [Tags] | 1518B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${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} - -| tc11-IMIX-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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) -| | [Tags] | IMIX | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${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} - -| tc12-IMIX-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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) -| | [Tags] | IMIX | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${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} - -| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | [Tags] | 64B | 4T4C | MTHREAD | NDRDISC -| | ${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} - -| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | [Tags] | 64B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${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} - -| tc15-1518B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | [Tags] | 1518B | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${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} - -| tc16-1518B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | [Tags] | 1518B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${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} - -| tc17-IMIX-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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) -| | [Tags] | IMIX | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${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} - -| tc18-IMIX-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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) -| | [Tags] | IMIX | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${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} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrpdrdisc.robot new file mode 100644 index 0000000000..5675290c85 --- /dev/null +++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrpdrdisc.robot @@ -0,0 +1,548 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance/performance_setup.robot +| Library | resources.libraries.python.QemuUtils +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | ETH | L2BDMACLRN | BASE | VHOST | VM | VHOST_1024 +| Suite Setup | Set up 3-node performance topology with DUT's NIC model +| ... | L2 | Intel-X520-DA2 +| Suite Teardown | Tear down 3-node performance topology +| Test Setup | Set up performance test +| Test Teardown | Run Keywords +| ... | Show Bridge Domain Data On All DUTs +| ... | AND | Tear down performance test with vhost and VM with dpdk-testpmd +| ... | ${min_rate}pps | ${framesize} | ${traffic_profile} +| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} +| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} +| Documentation | *RFC2544: Pkt throughput L2BD test cases with vhost* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 bridge- +| ... | domains and MAC learning enabled. Qemu Guests are connected to VPP via +| ... | vhost-user interfaces. Guests are running DPDK testpmd interconnecting +| ... | vhost-user interfaces using 5 cores pinned to cpus 6-10 and 11-15 and +| ... | 2048M memory. Testpmd is using socket-mem=1024M (512x2M hugepages), +| ... | 5 cores (1 main core and 4 cores dedicated for io), forwarding mode is +| ... | set to io, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p10GE NIC +| ... | X520 Niantic by Intel. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop +| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage +| ... | of packets transmitted. NDR and PDR are discovered for different +| ... | Ethernet L2 frame sizes using either binary search or linear search +| ... | algorithms with configured starting rate and final step that determines +| ... | throughput measurement resolution. Test packets are generated by TG on +| ... | links to DUTs. TG traffic profile contains two L3 flow-groups +| ... | (flow-group per direction, 253 flows per flow-group) with all packets +| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static +| ... | payload. MAC addresses are matching MAC addresses of the TG node +| ... | interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +# X520-DA2 bandwidth limit +| ${s_limit}= | ${10000000000} +# CPU settings +| ${system_cpus}= | ${1} +| ${vpp_cpus}= | ${5} +| ${vm_cpus}= | ${5} +# Traffic profile: +| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 + +*** Test Cases *** +| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC +| | ${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} + +| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${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} + +| tc03-1518B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC +| | ${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} + +| tc04-1518B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${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} + +| tc05-IMIX-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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) +| | [Tags] | IMIX | 1T1C | STHREAD | NDRDISC +| | ${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} + +| tc06-IMIX-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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) +| | [Tags] | IMIX | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${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} + +| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | [Tags] | 64B | 2T2C | MTHREAD | NDRDISC +| | ${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} + +| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | [Tags] | 64B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${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} + +| tc09-1518B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | [Tags] | 1518B | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${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} + +| tc10-1518B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | [Tags] | 1518B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${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} + +| tc11-IMIX-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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) +| | [Tags] | IMIX | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${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} + +| tc12-IMIX-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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) +| | [Tags] | IMIX | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${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} + +| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | [Tags] | 64B | 4T4C | MTHREAD | NDRDISC +| | ${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} + +| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | [Tags] | 64B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${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} + +| tc15-1518B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | [Tags] | 1518B | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${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} + +| tc16-1518B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | [Tags] | 1518B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${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} + +| tc17-IMIX-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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) +| | [Tags] | IMIX | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${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} + +| tc18-IMIX-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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) +| | [Tags] | IMIX | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${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} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-pdrchk.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-pdrchk.robot deleted file mode 100644 index 4fb03188bb..0000000000 --- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-pdrchk.robot +++ /dev/null @@ -1,208 +0,0 @@ -# Copyright (c) 2017 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| Library | resources.libraries.python.QemuUtils -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PDRCHK -| ... | NIC_Intel-X520-DA2 | ETH | L2XCFWD | BASE | VHOST | VM -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Setup | Set up performance test -| Test Teardown | Tear down performance pdrchk test with vhost and VM with dpdk-testpmd -| ... | ${rate}pps | ${framesize} | ${traffic_profile} -| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} -| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} -| ... -| Documentation | *RFC2544: Packet throughput L2XC test cases with vhost* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. 802.1q -| ... | tagging is applied on link between DUT1 and DUT2. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. Qemu Guest is connected to VPP via -| ... | vhost-user interfaces. Guest is running DPDK testpmd interconnecting -| ... | vhost-user interfaces using 5 cores pinned to cpus 5-9 and 2048M -| ... | memory. Testpmd is using socket-mem=1024M (512x2M hugepages), 5 cores -| ... | (1 main core and 4 cores dedicated for io), forwarding mode is set to -| ... | io, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p10GE NIC X520 -| ... | Niantic by Intel. -| ... | *[Ver] TG verification:* TG verifies throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. Ref-PDR value is periodically updated acording to -| ... | formula: ref-PDR = 0.9x PDR, where PDR is found in RFC2544 long -| ... | performance tests for the same DUT configuration. Test packets are -| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 -| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with -| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 -| ... | and static payload. MAC addresses are matching MAC addresses of the -| ... | TG node interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -| ${bd_id1}= | 1 -| ${bd_id2}= | 2 -| ${sock1}= | /tmp/sock-1-${bd_id1} -| ${sock2}= | /tmp/sock-1-${bd_id2} -# Traffic profile: -| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 - -*** Keywords *** -| Check PDR for L2XC with vhost and VM with dpdk-testpmd -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phy\ -| | ... | core, ${rxq} receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for ${framesize} Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Arguments] | ${framesize} | ${rate} | ${wt} | ${rxq} -| | ... -| | # Test Variables required for test and test teardown -| | 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} -| | Then Traffic should pass with partial loss | ${perf_trial_duration} -| | ... | ${rate} | ${framesize} | ${traffic_profile} -| | ... | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type} - -*** Test Cases *** -| tc01-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy\ -| | ... | core, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 64B | 1T1C | STHREAD -| | ... -| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd -| | framesize=${64} | rate=1.6mpps | wt=1 | rxq=1 - -| tc02-1518B-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy\ -| | ... | core, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 1518B | 1T1C | STHREAD -| | ... -| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd -| | framesize=${1518} | rate=400000pps | wt=1 | rxq=1 - -| tc03-IMIX-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy\ -| | ... | core, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | IMIX | 1T1C | STHREAD -| | ... -| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd -| | framesize=IMIX_v4_1 | rate=1.0mpps | wt=1 | rxq=1 - -| tc04-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy\ -| | ... | cores, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 64B | 2T2C | MTHREAD -| | ... -| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd -| | framesize=${64} | rate=3.0mpps | wt=2 | rxq=1 - -| tc05-1518B-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy\ -| | ... | cores, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 1518B | 2T2C | MTHREAD -| | ... -| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd -| | framesize=${1518} | rate=0.7mpps | wt=2 | rxq=1 - -| tc06-IMIX-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy\ -| | ... | cores, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | IMIX | 2T2C | MTHREAD -| | ... -| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd -| | framesize=IMIX_v4_1 | rate=2.0mpps | wt=2 | rxq=1 - -| tc07-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy\ -| | ... | cores, 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 64B | 4T4C | MTHREAD -| | ... -| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd -| | framesize=${64} | rate=4.2mpps | wt=4 | rxq=2 - -| tc08-1518B-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy\ -| | ... | cores, 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 1518B | 4T4C | MTHREAD -| | ... -| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd -| | framesize=${1518} | rate=0.7mpps | wt=4 | rxq=2 - -| tc09-IMIX-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy\ -| | ... | cores, 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | IMIX | 4T4C | MTHREAD -| | ... -| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd -| | framesize=IMIX_v4_1 | rate=3.0mpps | wt=4 | rxq=2 diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot index 52cc352e96..86f28c1bd4 100644 --- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot +++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot @@ -16,7 +16,8 @@ | Library | resources.libraries.python.QemuUtils | ... | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | DOT1Q | L2BDMACLRN | BASE | VHOST | VM +| ... | NIC_Intel-X520-DA2 | DOT1Q | L2BDMACLRN | BASE | VHOST | VM | VHOST_1024 +| ... | CFS_OPT | ... | Suite Setup | Set up 3-node performance topology with DUT's NIC model | ... | L2 | Intel-X520-DA2 @@ -96,6 +97,8 @@ | | ${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} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot index 7938b1e88f..df1a65da14 100644 --- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot +++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot @@ -16,7 +16,7 @@ | Library | resources.libraries.python.NodePath | ... | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | ETH | L2XCFWD | BASE | VHOST | VM +| ... | NIC_Intel-X520-DA2 | ETH | L2XCFWD | BASE | VHOST | VM | VHOST_1024 | ... | Suite Setup | Set up 3-node performance topology with DUT's NIC model | ... | L2 | Intel-X520-DA2 @@ -89,6 +89,8 @@ | | ${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} @@ -119,6 +121,8 @@ | | ${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} @@ -150,6 +154,8 @@ | | ${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} @@ -180,6 +186,8 @@ | | ${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} @@ -212,6 +220,8 @@ | | ${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} @@ -243,6 +253,8 @@ | | ${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} @@ -274,6 +286,8 @@ | | ${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} @@ -304,6 +318,8 @@ | | ${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} @@ -335,6 +351,8 @@ | | ${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} @@ -365,6 +383,8 @@ | | ${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} @@ -397,6 +417,8 @@ | | ${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} @@ -428,6 +450,8 @@ | | ${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} @@ -459,6 +483,8 @@ | | ${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} @@ -489,6 +515,8 @@ | | ${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} @@ -520,6 +548,8 @@ | | ${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} @@ -550,6 +580,8 @@ | | ${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} @@ -582,6 +614,8 @@ | | ${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} @@ -613,6 +647,8 @@ | | ${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} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-pdrchk.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-pdrchk.robot new file mode 100644 index 0000000000..14cb2c3da8 --- /dev/null +++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-pdrchk.robot @@ -0,0 +1,210 @@ +# Copyright (c) 2017 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance/performance_setup.robot +| Library | resources.libraries.python.QemuUtils +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PDRCHK +| ... | NIC_Intel-X520-DA2 | ETH | L2XCFWD | BASE | VHOST | VM | VHOST_1024 +| ... +| Suite Setup | Set up 3-node performance topology with DUT's NIC model +| ... | L2 | Intel-X520-DA2 +| Suite Teardown | Tear down 3-node performance topology +| ... +| Test Setup | Set up performance test +| Test Teardown | Tear down performance pdrchk test with vhost and VM with dpdk-testpmd +| ... | ${rate}pps | ${framesize} | ${traffic_profile} +| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} +| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} +| ... +| Documentation | *RFC2544: Packet throughput L2XC test cases with vhost* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. 802.1q +| ... | tagging is applied on link between DUT1 and DUT2. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- +| ... | connect. Qemu Guest is connected to VPP via +| ... | vhost-user interfaces. Guest is running DPDK testpmd interconnecting +| ... | vhost-user interfaces using 5 cores pinned to cpus 5-9 and 2048M +| ... | memory. Testpmd is using socket-mem=1024M (512x2M hugepages), 5 cores +| ... | (1 main core and 4 cores dedicated for io), forwarding mode is set to +| ... | io, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p10GE NIC X520 +| ... | Niantic by Intel. +| ... | *[Ver] TG verification:* TG verifies throughput PDR (Partial Drop +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage +| ... | of packets transmitted. Ref-PDR value is periodically updated acording to +| ... | formula: ref-PDR = 0.9x PDR, where PDR is found in RFC2544 long +| ... | performance tests for the same DUT configuration. Test packets are +| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 +| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with +| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 +| ... | and static payload. MAC addresses are matching MAC addresses of the +| ... | TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| ${bd_id1}= | 1 +| ${bd_id2}= | 2 +| ${sock1}= | /tmp/sock-1-${bd_id1} +| ${sock2}= | /tmp/sock-1-${bd_id2} +# Traffic profile: +| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 + +*** Keywords *** +| Check PDR for L2XC with vhost and VM with dpdk-testpmd +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phy\ +| | ... | core, ${rxq} receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for ${framesize} Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Arguments] | ${framesize} | ${rate} | ${wt} | ${rxq} +| | ... +| | # Test Variables required for test and test teardown +| | 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} + +*** Test Cases *** +| tc01-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy\ +| | ... | core, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 64B | 1T1C | STHREAD +| | ... +| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd +| | framesize=${64} | rate=1.6mpps | wt=1 | rxq=1 + +| tc02-1518B-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy\ +| | ... | core, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 1518B | 1T1C | STHREAD +| | ... +| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd +| | framesize=${1518} | rate=400000pps | wt=1 | rxq=1 + +| tc03-IMIX-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy\ +| | ... | core, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | IMIX | 1T1C | STHREAD +| | ... +| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd +| | framesize=IMIX_v4_1 | rate=1.0mpps | wt=1 | rxq=1 + +| tc04-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy\ +| | ... | cores, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 64B | 2T2C | MTHREAD +| | ... +| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd +| | framesize=${64} | rate=3.0mpps | wt=2 | rxq=1 + +| tc05-1518B-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy\ +| | ... | cores, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 1518B | 2T2C | MTHREAD +| | ... +| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd +| | framesize=${1518} | rate=0.7mpps | wt=2 | rxq=1 + +| tc06-IMIX-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy\ +| | ... | cores, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | IMIX | 2T2C | MTHREAD +| | ... +| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd +| | framesize=IMIX_v4_1 | rate=2.0mpps | wt=2 | rxq=1 + +| tc07-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy\ +| | ... | cores, 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 64B | 4T4C | MTHREAD +| | ... +| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd +| | framesize=${64} | rate=4.2mpps | wt=4 | rxq=2 + +| tc08-1518B-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy\ +| | ... | cores, 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 1518B | 4T4C | MTHREAD +| | ... +| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd +| | framesize=${1518} | rate=0.7mpps | wt=4 | rxq=2 + +| tc09-IMIX-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy\ +| | ... | cores, 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | IMIX | 4T4C | MTHREAD +| | ... +| | [Template] | Check PDR for L2XC with vhost and VM with dpdk-testpmd +| | framesize=IMIX_v4_1 | rate=3.0mpps | wt=4 | rxq=2 diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot index 18ee7e7a66..b0bd1ed426 100644 --- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot +++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot @@ -16,7 +16,8 @@ | Library | resources.libraries.python.QemuUtils | ... | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | DOT1Q | L2BDMACLRN | BASE | VHOST | VM +| ... | NIC_Intel-X520-DA2 | DOT1Q | L2BDMACLRN | BASE | VHOST | VM | VHOST_256 +| ... | CFS_OPT | ... | Suite Setup | Set up 3-node performance topology with DUT's NIC model | ... | L2 | Intel-X520-DA2 @@ -111,6 +112,8 @@ | | ${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} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-ndrpdrdisc.robot index c3bf892440..03f9f988f4 100644 --- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-ndrpdrdisc.robot +++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-ndrpdrdisc.robot @@ -16,7 +16,7 @@ | Library | resources.libraries.python.QemuUtils | ... | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | DOT1Q | L2BDMACLRN | BASE | VHOST | VM +| ... | NIC_Intel-X520-DA2 | DOT1Q | L2BDMACLRN | BASE | VHOST | VM | VHOST_256 | ... | Suite Setup | Set up 3-node performance topology with DUT's NIC model | ... | L2 | Intel-X520-DA2 @@ -109,6 +109,8 @@ | | ${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} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-4vhost-2vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-4vhost-2vm-ndrpdrdisc.robot deleted file mode 100644 index ed2635ae02..0000000000 --- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-4vhost-2vm-ndrpdrdisc.robot +++ /dev/null @@ -1,549 +0,0 @@ -# Copyright (c) 2017 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| Library | resources.libraries.python.NodePath -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | ETH | L2XCFWD | BASE | VHOST | VM -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Setup | Set up performance test -| Test Teardown | Tear down performance test with vhost and VM with dpdk-testpmd -| ... | ${min_rate}pps | ${framesize} | ${traffic_profile} -| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} -| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} -| ... -| Documentation | *RFC2544: Pkt throughput L2XC test cases with vhost* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connects. Qemu Guests are connected to VPP via vhost-user interfaces. -| ... | Guests are running DPDK testpmd interconnecting vhost-user interfaces -| ... | using 5 cores pinned to cpus 6-10 and 11-15 and 2048M memory. Testpmd is -| ... | using socket-mem=1024M (512x2M hugepages), 5 cores (1 main core and 4 -| ... | cores dedicated for io), forwarding mode is set to io, rxd/txd=256, -| ... | burst=64. DUT1, DUT2 are tested with 2p10GE NIC X520 Niantic by Intel. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using either binary search or linear search -| ... | algorithms with configured starting rate and final step that determines -| ... | throughput measurement resolution. Test packets are generated by TG on -| ... | links to DUTs. TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 253 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit} | ${10000000000} -#CPU settings -| ${system_cpus}= | ${1} -| ${vpp_cpus}= | ${5} -| ${vm_cpus}= | ${5} -# Traffic profile: -| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 - -*** Test Cases *** -| tc01-64B-1t1c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC -| | ${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} - -| tc02-64B-1t1c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${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} - -| tc03-1518B-1t1c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC -| | ${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} - -| tc04-1518B-1t1c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${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} - -| tc05-IMIX-1t1c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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) -| | [Tags] | IMIX | 1T1C | STHREAD | NDRDISC -| | ${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} - -| tc06-IMIX-1t1c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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) -| | [Tags] | IMIX | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${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} - -| tc07-64B-2t2c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | [Tags] | 64B | 2T2C | MTHREAD | NDRDISC -| | ${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} - -| tc08-64B-2t2c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | [Tags] | 64B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${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} - -| tc09-1518B-2t2c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | [Tags] | 1518B | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${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} - -| tc10-1518B-2t2c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | [Tags] | 1518B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${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} - -| tc11-IMIX-2t2c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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) -| | [Tags] | IMIX | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${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} - -| tc12-IMIX-2t2c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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) -| | [Tags] | IMIX | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${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} - -| tc13-64B-4t4c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | [Tags] | 64B | 4T4C | MTHREAD | NDRDISC -| | ${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} - -| tc14-64B-4t4c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | [Tags] | 64B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${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} - -| tc15-1518B-4t4c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | [Tags] | 1518B | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${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} - -| tc16-1518B-4t4c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | [Tags] | 1518B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${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} - -| tc17-IMIX-4t4c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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) -| | [Tags] | IMIX | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${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} - -| tc18-IMIX-4t4c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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) -| | [Tags] | IMIX | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${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} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrpdrdisc.robot new file mode 100644 index 0000000000..d2f3642ebd --- /dev/null +++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrpdrdisc.robot @@ -0,0 +1,549 @@ +# Copyright (c) 2017 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance/performance_setup.robot +| Library | resources.libraries.python.NodePath +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | ETH | L2XCFWD | BASE | VHOST | VM | VHOST_1024 +| ... +| Suite Setup | Set up 3-node performance topology with DUT's NIC model +| ... | L2 | Intel-X520-DA2 +| Suite Teardown | Tear down 3-node performance topology +| ... +| Test Setup | Set up performance test +| Test Teardown | Tear down performance test with vhost and VM with dpdk-testpmd +| ... | ${min_rate}pps | ${framesize} | ${traffic_profile} +| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} +| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} +| ... +| Documentation | *RFC2544: Pkt throughput L2XC test cases with vhost* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- +| ... | connects. Qemu Guests are connected to VPP via vhost-user interfaces. +| ... | Guests are running DPDK testpmd interconnecting vhost-user interfaces +| ... | using 5 cores pinned to cpus 6-10 and 11-15 and 2048M memory. Testpmd is +| ... | using socket-mem=1024M (512x2M hugepages), 5 cores (1 main core and 4 +| ... | cores dedicated for io), forwarding mode is set to io, rxd/txd=256, +| ... | burst=64. DUT1, DUT2 are tested with 2p10GE NIC X520 Niantic by Intel. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop +| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage +| ... | of packets transmitted. NDR and PDR are discovered for different +| ... | Ethernet L2 frame sizes using either binary search or linear search +| ... | algorithms with configured starting rate and final step that determines +| ... | throughput measurement resolution. Test packets are generated by TG on +| ... | links to DUTs. TG traffic profile contains two L3 flow-groups +| ... | (flow-group per direction, 253 flows per flow-group) with all packets +| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static +| ... | payload. MAC addresses are matching MAC addresses of the TG node +| ... | interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +# X520-DA2 bandwidth limit +| ${s_limit} | ${10000000000} +#CPU settings +| ${system_cpus}= | ${1} +| ${vpp_cpus}= | ${5} +| ${vm_cpus}= | ${5} +# Traffic profile: +| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 + +*** Test Cases *** +| tc01-64B-1t1c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC +| | ${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} + +| tc02-64B-1t1c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${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} + +| tc03-1518B-1t1c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC +| | ${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} + +| tc04-1518B-1t1c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${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} + +| tc05-IMIX-1t1c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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) +| | [Tags] | IMIX | 1T1C | STHREAD | NDRDISC +| | ${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} + +| tc06-IMIX-1t1c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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) +| | [Tags] | IMIX | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${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} + +| tc07-64B-2t2c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | [Tags] | 64B | 2T2C | MTHREAD | NDRDISC +| | ${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} + +| tc08-64B-2t2c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | [Tags] | 64B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${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} + +| tc09-1518B-2t2c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | [Tags] | 1518B | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${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} + +| tc10-1518B-2t2c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | [Tags] | 1518B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${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} + +| tc11-IMIX-2t2c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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) +| | [Tags] | IMIX | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${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} + +| tc12-IMIX-2t2c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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) +| | [Tags] | IMIX | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${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} + +| tc13-64B-4t4c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | [Tags] | 64B | 4T4C | MTHREAD | NDRDISC +| | ${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} + +| tc14-64B-4t4c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | [Tags] | 64B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${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} + +| tc15-1518B-4t4c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | [Tags] | 1518B | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${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} + +| tc16-1518B-4t4c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | [Tags] | 1518B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${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} + +| tc17-IMIX-4t4c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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) +| | [Tags] | IMIX | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${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} + +| tc18-IMIX-4t4c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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) +| | [Tags] | IMIX | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${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} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-pdrchk.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-pdrchk.robot deleted file mode 100644 index 46a44cb58b..0000000000 --- a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-pdrchk.robot +++ /dev/null @@ -1,209 +0,0 @@ -# Copyright (c) 2017 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| Library | resources.libraries.python.QemuUtils -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PDRCHK -| ... | NIC_Intel-X520-DA2 | ETH | IP4FWD | BASE | VHOST | VM -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L3 | Intel-X520-DA2 -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Setup | Set up performance test -| Test Teardown | Tear down performance pdrchk test with vhost and VM with dpdk-testpmd -| ... | ${rate}pps | ${framesize} | ${traffic_profile} -| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} -| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} -| ... -| Documentation | *RFC2544: Pkt throughput IPv4 test cases with vhost* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for IPv4 routing. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv4 -| ... | routing and two static IPv4 /24 route entries. Qemu Guest is connected -| ... | to VPP via vhost-user interfaces. Guest is running DPDK testpmd -| ... | interconnecting vhost-user interfaces using 5 cores pinned to cpus 5-9 -| ... | and 2048M memory. Testpmd is using socket-mem=1024M (512x2M hugepages), -| ... | 5 cores (1 main core and 4 cores dedicated for io), forwarding mode is -| ... | set to mac, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p10GE -| ... | NIC X520 Niantic by Intel. -| ... | *[Ver] TG verification:* TG verifies throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. Ref-PDR value is periodically updated acording to -| ... | formula: ref-PDR = 0.9x PDR, where PDR is found in RFC2544 long -| ... | performance tests for the same DUT configuration. Test packets are -| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 -| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with -| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 -| ... | and static payload. MAC addresses are matching MAC addresses of the -| ... | TG node interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -| ${sock1}= | /tmp/sock-1 -| ${sock2}= | /tmp/sock-2 -| ${fib_table_1}= | 100 -| ${fib_table_2}= | 101 -# Traffic profile: -| ${traffic_profile} | trex-sl-3n-ethip4-ip4src253 - -*** Keywords *** -| Check PDR for IPv4 routing with vhost and VM with dpdk-testpmd -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread, ${wt} phy\ -| | ... | core, ${rxq} receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for ${framesize} Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Arguments] | ${framesize} | ${rate} | ${wt} | ${rxq} -| | ... -| | # Test Variables required for test and test teardown -| | 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} -| | Then Traffic should pass with partial loss | ${perf_trial_duration} -| | ... | ${rate} | ${framesize} | ${traffic_profile} -| | ... | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type} - -*** Test Cases *** -| tc01-64B-1t1c-eth-ip4base-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy\ -| | ... | core, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 64B | 1T1C | STHREAD -| | ... -| | [Template] | Check PDR for IPv4 routing with vhost and VM with dpdk-testpmd -| | framesize=${64} | rate=2.5mpps | wt=1 | rxq=1 - -| tc02-1518B-1t1c-eth-ip4base-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy\ -| | ... | core, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 1518B | 1T1C | STHREAD -| | ... -| | [Template] | Check PDR for IPv4 routing with vhost and VM with dpdk-testpmd -| | framesize=${1518} | rate=300000pps | wt=1 | rxq=1 - -| tc03-IMIX-1t1c-eth-ip4base-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy\ -| | ... | core, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | IMIX | 1T1C | STHREAD -| | ... -| | [Template] | Check PDR for IPv4 routing with vhost and VM with dpdk-testpmd -| | framesize=IMIX_v4_1 | rate=0.9mpps | wt=1 | rxq=1 - -| tc04-64B-2t2c-eth-ip4base-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy\ -| | ... | cores, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 64B | 2T2C | MTHREAD -| | ... -| | [Template] | Check PDR for IPv4 routing with vhost and VM with dpdk-testpmd -| | framesize=${64} | rate=3.0mpps | wt=2 | rxq=1 - -| tc05-1518B-2t2c-eth-ip4base-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy\ -| | ... | cores, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 1518B | 2T2C | MTHREAD -| | ... -| | [Template] | Check PDR for IPv4 routing with vhost and VM with dpdk-testpmd -| | framesize=${1518} | rate=350000pps | wt=2 | rxq=1 - -| tc06-IMIX-2t2c-eth-ip4base-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy\ -| | ... | cores, 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | IMIX | 2T2C | MTHREAD -| | ... -| | [Template] | Check PDR for IPv4 routing with vhost and VM with dpdk-testpmd -| | framesize=IMIX_v4_1 | rate=2.0mpps | wt=2 | rxq=1 - -| tc07-64B-4t4c-eth-ip4base-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy\ -| | ... | cores, 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 64B | 4T4C | MTHREAD -| | ... -| | [Template] | Check PDR for IPv4 routing with vhost and VM with dpdk-testpmd -| | framesize=${64} | rate=3.8mpps | wt=4 | rxq=2 - -| tc08-1518B-4t4c-eth-ip4base-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy\ -| | ... | cores, 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | 1518B | 4T4C | MTHREAD -| | ... -| | [Template] | Check PDR for IPv4 routing with vhost and VM with dpdk-testpmd -| | framesize=${1518} | rate=350000pps | wt=4 | rxq=2 - -| tc09-IMIX-4t4c-eth-ip4base-eth-2vhost-1vm-pdrchk -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy\ -| | ... | cores, 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ -| | ... | throughput test at 2x ${rate}. -| | ... -| | [Tags] | IMIX | 4T4C | MTHREAD -| | ... -| | [Template] | Check PDR for IPv4 routing with vhost and VM with dpdk-testpmd -| | framesize=IMIX_v4_1 | rate=3.0mpps | wt=4 | rxq=2 diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot index a9b770a733..1f34de25bd 100644 --- a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot +++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot @@ -16,7 +16,8 @@ | Library | resources.libraries.python.QemuUtils | ... | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | DOT1Q | L2BDMACLRN | BASE | VHOST | VM +| ... | NIC_Intel-X520-DA2 | DOT1Q | L2BDMACLRN | BASE | VHOST | VM | VHOST_1024 +| ... | CFS_OPT | ... | Suite Setup | Set up 3-node performance topology with DUT's NIC model | ... | L3 | Intel-X520-DA2 @@ -101,6 +102,8 @@ | | ... | ${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} | | Run Keyword If | '${search_type}' == 'NDR' | | ... | Find NDR using binary search and pps | | ... | ${framesize} | ${binary_min} | ${binary_max} | ${traffic_profile} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdrdisc.robot index 22e733010a..c488d789f8 100644 --- a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdrdisc.robot +++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdrdisc.robot @@ -16,7 +16,7 @@ | Library | resources.libraries.python.QemuUtils | ... | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | ETH | IP4FWD | BASE | VHOST | VM +| ... | NIC_Intel-X520-DA2 | ETH | IP4FWD | BASE | VHOST | VM | VHOST_1024 | ... | Suite Setup | Set up 3-node performance topology with DUT's NIC model | ... | L3 | Intel-X520-DA2 @@ -94,6 +94,8 @@ | | ... | ${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} @@ -126,6 +128,8 @@ | | ... | ${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} @@ -159,6 +163,8 @@ | | ... | ${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} @@ -191,6 +197,8 @@ | | ... | ${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} @@ -225,6 +233,8 @@ | | ... | ${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} @@ -258,6 +268,8 @@ | | ... | ${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} @@ -291,6 +303,8 @@ | | ... | ${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} @@ -323,6 +337,8 @@ | | ... | ${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} @@ -356,6 +372,8 @@ | | ... | ${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} @@ -388,6 +406,8 @@ | | ... | ${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} @@ -422,6 +442,8 @@ | | ... | ${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} @@ -455,6 +477,8 @@ | | ... | ${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} @@ -488,6 +512,8 @@ | | ... | ${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} @@ -520,6 +546,8 @@ | | ... | ${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} @@ -553,6 +581,8 @@ | | ... | ${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} @@ -585,6 +615,8 @@ | | ... | ${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} @@ -619,6 +651,8 @@ | | ... | ${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} @@ -652,6 +686,8 @@ | | ... | ${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} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-pdrchk.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-pdrchk.robot new file mode 100644 index 0000000000..34e0cf8068 --- /dev/null +++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-pdrchk.robot @@ -0,0 +1,211 @@ +# Copyright (c) 2017 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance/performance_setup.robot +| Library | resources.libraries.python.QemuUtils +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PDRCHK +| ... | NIC_Intel-X520-DA2 | ETH | IP4FWD | BASE | VHOST | VM | VHOST_1024 +| ... +| Suite Setup | Set up 3-node performance topology with DUT's NIC model +| ... | L3 | Intel-X520-DA2 +| Suite Teardown | Tear down 3-node performance topology +| ... +| Test Setup | Set up performance test +| Test Teardown | Tear down performance pdrchk test with vhost and VM with dpdk-testpmd +| ... | ${rate}pps | ${framesize} | ${traffic_profile} +| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} +| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} +| ... +| Documentation | *RFC2544: Pkt throughput IPv4 test cases with vhost* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv4 +| ... | routing and two static IPv4 /24 route entries. Qemu Guest is connected +| ... | to VPP via vhost-user interfaces. Guest is running DPDK testpmd +| ... | interconnecting vhost-user interfaces using 5 cores pinned to cpus 5-9 +| ... | and 2048M memory. Testpmd is using socket-mem=1024M (512x2M hugepages), +| ... | 5 cores (1 main core and 4 cores dedicated for io), forwarding mode is +| ... | set to mac, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p10GE +| ... | NIC X520 Niantic by Intel. +| ... | *[Ver] TG verification:* TG verifies throughput PDR (Partial Drop +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage +| ... | of packets transmitted. Ref-PDR value is periodically updated acording to +| ... | formula: ref-PDR = 0.9x PDR, where PDR is found in RFC2544 long +| ... | performance tests for the same DUT configuration. Test packets are +| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 +| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with +| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 +| ... | and static payload. MAC addresses are matching MAC addresses of the +| ... | TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| ${sock1}= | /tmp/sock-1 +| ${sock2}= | /tmp/sock-2 +| ${fib_table_1}= | 100 +| ${fib_table_2}= | 101 +# Traffic profile: +| ${traffic_profile} | trex-sl-3n-ethip4-ip4src253 + +*** Keywords *** +| Check PDR for IPv4 routing with vhost and VM with dpdk-testpmd +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread, ${wt} phy\ +| | ... | core, ${rxq} receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for ${framesize} Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Arguments] | ${framesize} | ${rate} | ${wt} | ${rxq} +| | ... +| | # Test Variables required for test and test teardown +| | 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} + +*** Test Cases *** +| tc01-64B-1t1c-eth-ip4base-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy\ +| | ... | core, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 64B | 1T1C | STHREAD +| | ... +| | [Template] | Check PDR for IPv4 routing with vhost and VM with dpdk-testpmd +| | framesize=${64} | rate=2.5mpps | wt=1 | rxq=1 + +| tc02-1518B-1t1c-eth-ip4base-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy\ +| | ... | core, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 1518B | 1T1C | STHREAD +| | ... +| | [Template] | Check PDR for IPv4 routing with vhost and VM with dpdk-testpmd +| | framesize=${1518} | rate=300000pps | wt=1 | rxq=1 + +| tc03-IMIX-1t1c-eth-ip4base-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy\ +| | ... | core, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | IMIX | 1T1C | STHREAD +| | ... +| | [Template] | Check PDR for IPv4 routing with vhost and VM with dpdk-testpmd +| | framesize=IMIX_v4_1 | rate=0.9mpps | wt=1 | rxq=1 + +| tc04-64B-2t2c-eth-ip4base-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy\ +| | ... | cores, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 64B | 2T2C | MTHREAD +| | ... +| | [Template] | Check PDR for IPv4 routing with vhost and VM with dpdk-testpmd +| | framesize=${64} | rate=3.0mpps | wt=2 | rxq=1 + +| tc05-1518B-2t2c-eth-ip4base-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy\ +| | ... | cores, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 1518B | 2T2C | MTHREAD +| | ... +| | [Template] | Check PDR for IPv4 routing with vhost and VM with dpdk-testpmd +| | framesize=${1518} | rate=350000pps | wt=2 | rxq=1 + +| tc06-IMIX-2t2c-eth-ip4base-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy\ +| | ... | cores, 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | IMIX | 2T2C | MTHREAD +| | ... +| | [Template] | Check PDR for IPv4 routing with vhost and VM with dpdk-testpmd +| | framesize=IMIX_v4_1 | rate=2.0mpps | wt=2 | rxq=1 + +| tc07-64B-4t4c-eth-ip4base-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy\ +| | ... | cores, 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 64B | 4T4C | MTHREAD +| | ... +| | [Template] | Check PDR for IPv4 routing with vhost and VM with dpdk-testpmd +| | framesize=${64} | rate=3.8mpps | wt=4 | rxq=2 + +| tc08-1518B-4t4c-eth-ip4base-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy\ +| | ... | cores, 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-PDR for 1518 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | 1518B | 4T4C | MTHREAD +| | ... +| | [Template] | Check PDR for IPv4 routing with vhost and VM with dpdk-testpmd +| | framesize=${1518} | rate=350000pps | wt=4 | rxq=2 + +| tc09-IMIX-4t4c-eth-ip4base-eth-2vhost-1vm-pdrchk +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy\ +| | ... | cores, 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-PDR for 64 Byte frames using single trial\ +| | ... | throughput test at 2x ${rate}. +| | ... +| | [Tags] | IMIX | 4T4C | MTHREAD +| | ... +| | [Template] | Check PDR for IPv4 routing with vhost and VM with dpdk-testpmd +| | framesize=IMIX_v4_1 | rate=3.0mpps | wt=4 | rxq=2 diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot index 2e4754f553..8037c0d22a 100644 --- a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot +++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot @@ -16,7 +16,8 @@ | Library | resources.libraries.python.QemuUtils | ... | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | DOT1Q | L2BDMACLRN | BASE | VHOST | VM +| ... | NIC_Intel-X520-DA2 | DOT1Q | L2BDMACLRN | BASE | VHOST | VM | VHOST_256 +| ... | CFS_OPT | ... | Suite Setup | Set up 3-node performance topology with DUT's NIC model | ... | L3 | Intel-X520-DA2 @@ -116,6 +117,8 @@ | | ... | ${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} | | Run Keyword If | '${search_type}' == 'NDR' | | ... | Find NDR using binary search and pps | | ... | ${framesize} | ${binary_min} | ${binary_max} | ${traffic_profile} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-ndrpdrdisc.robot index 63196637ab..81a3851a6f 100644 --- a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-ndrpdrdisc.robot +++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-ndrpdrdisc.robot @@ -16,7 +16,7 @@ | Library | resources.libraries.python.QemuUtils | ... | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | DOT1Q | L2BDMACLRN | BASE | VHOST | VM +| ... | NIC_Intel-X520-DA2 | DOT1Q | L2BDMACLRN | BASE | VHOST | VM | VHOST_256 | ... | Suite Setup | Set up 3-node performance topology with DUT's NIC model | ... | L3 | Intel-X520-DA2 @@ -114,6 +114,8 @@ | | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} | | ... | ${dut2_vif2_mac} | | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | Run Keyword If | Not $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} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-4vhost-2vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-4vhost-2vm-ndrpdrdisc.robot deleted file mode 100644 index 5e1c9afca7..0000000000 --- a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-4vhost-2vm-ndrpdrdisc.robot +++ /dev/null @@ -1,550 +0,0 @@ -# Copyright (c) 2017 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| Library | resources.libraries.python.QemuUtils -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | ETH | IP4FWD | BASE | VHOST | VM -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L3 | Intel-X520-DA2 -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Setup | Set up performance test -| Test Teardown | Tear down performance test with vhost and VM with dpdk-testpmd -| ... | ${min_rate}pps | ${framesize} | ${traffic_profile} -| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} -| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} -| ... -| Documentation | *RFC2544: Pkt throughput IPv4 test cases with vhost* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for IPv4 routing. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv4 -| ... | routing and static IPv4 /24 route entries. Qemu Guests are connected -| ... | to VPP via vhost-user interfaces. Guests are running DPDK testpmd -| ... | interconnecting vhost-user interfaces using 5 cores pinned to cpus 6-10 -| ... | and 11-15 and 2048M memory. Testpmd is using socket-mem=1024M (512x2M -| ... | hugepages), 5 cores (1 main core and 4 cores dedicated for io), -| ... | forwarding mode is set to mac, rxd/txd=256, burst=64. DUT1, DUT2 are -| ... | tested with 2p10GE NIC X520 Niantic by Intel. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using either binary search or linear search -| ... | algorithms with configured starting rate and final step that determines -| ... | throughput measurement resolution. Test packets are generated by TG on -| ... | links to DUTs. TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 253 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit}= | ${10000000000} -# CPU settings -| ${system_cpus}= | ${1} -| ${vpp_cpus}= | ${5} -| ${vm_cpus}= | ${5} -# Traffic profile: -| ${traffic_profile} | trex-sl-3n-ethip4-ip4src253 - -*** Test Cases *** -| tc01-64B-1t1c-ethip4-ip4base-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc02-64B-1t1c-ethip4-ip4base-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc03-1518B-1t1c-ethip4-ip4base-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc04-1518B-1t1c-ethip4-ip4base-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc05-IMIX-1t1c-ethip4-ip4base-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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) -| | [Tags] | IMIX | 1T1C | STHREAD | NDRDISC -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc06-IMIX-1t1c-ethip4-ip4base-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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) -| | [Tags] | IMIX | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc07-64B-2t2c-ethip4-ip4base-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | [Tags] | 64B | 2T2C | MTHREAD | NDRDISC -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc08-64B-2t2c-ethip4-ip4base-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | [Tags] | 64B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc09-1518B-2t2c-ethip4-ip4base-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | [Tags] | 1518B | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc10-1518B-2t2c-ethip4-ip4base-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | [Tags] | 1518B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc11-IMIX-2t2c-ethip4-ip4base-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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) -| | [Tags] | IMIX | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc12-IMIX-2t2c-ethip4-ip4base-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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) -| | [Tags] | IMIX | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc13-64B-4t4c-ethip4-ip4base-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | [Tags] | 64B | 4T4C | MTHREAD | NDRDISC -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc14-64B-4t4c-ethip4-ip4base-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | [Tags] | 64B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc15-1518B-4t4c-ethip4-ip4base-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | [Tags] | 1518B | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc16-1518B-4t4c-ethip4-ip4base-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | [Tags] | 1518B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc17-IMIX-4t4c-ethip4-ip4base-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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) -| | [Tags] | IMIX | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc18-IMIX-4t4c-ethip4-ip4base-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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) -| | [Tags] | IMIX | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrpdrdisc.robot new file mode 100644 index 0000000000..63df95e148 --- /dev/null +++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrpdrdisc.robot @@ -0,0 +1,550 @@ +# Copyright (c) 2017 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance/performance_setup.robot +| Library | resources.libraries.python.QemuUtils +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | ETH | IP4FWD | BASE | VHOST | VM | VHOST_1024 +| ... +| Suite Setup | Set up 3-node performance topology with DUT's NIC model +| ... | L3 | Intel-X520-DA2 +| Suite Teardown | Tear down 3-node performance topology +| ... +| Test Setup | Set up performance test +| Test Teardown | Tear down performance test with vhost and VM with dpdk-testpmd +| ... | ${min_rate}pps | ${framesize} | ${traffic_profile} +| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} +| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} +| ... +| Documentation | *RFC2544: Pkt throughput IPv4 test cases with vhost* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv4 +| ... | routing and static IPv4 /24 route entries. Qemu Guests are connected +| ... | to VPP via vhost-user interfaces. Guests are running DPDK testpmd +| ... | interconnecting vhost-user interfaces using 5 cores pinned to cpus 6-10 +| ... | and 11-15 and 2048M memory. Testpmd is using socket-mem=1024M (512x2M +| ... | hugepages), 5 cores (1 main core and 4 cores dedicated for io), +| ... | forwarding mode is set to mac, rxd/txd=256, burst=64. DUT1, DUT2 are +| ... | tested with 2p10GE NIC X520 Niantic by Intel. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop +| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage +| ... | of packets transmitted. NDR and PDR are discovered for different +| ... | Ethernet L2 frame sizes using either binary search or linear search +| ... | algorithms with configured starting rate and final step that determines +| ... | throughput measurement resolution. Test packets are generated by TG on +| ... | links to DUTs. TG traffic profile contains two L3 flow-groups +| ... | (flow-group per direction, 253 flows per flow-group) with all packets +| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static +| ... | payload. MAC addresses are matching MAC addresses of the TG node +| ... | interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +# X520-DA2 bandwidth limit +| ${s_limit}= | ${10000000000} +# CPU settings +| ${system_cpus}= | ${1} +| ${vpp_cpus}= | ${5} +| ${vm_cpus}= | ${5} +# Traffic profile: +| ${traffic_profile} | trex-sl-3n-ethip4-ip4src253 + +*** Test Cases *** +| tc01-64B-1t1c-ethip4-ip4base-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc02-64B-1t1c-ethip4-ip4base-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc03-1518B-1t1c-ethip4-ip4base-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc04-1518B-1t1c-ethip4-ip4base-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc05-IMIX-1t1c-ethip4-ip4base-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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) +| | [Tags] | IMIX | 1T1C | STHREAD | NDRDISC +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc06-IMIX-1t1c-ethip4-ip4base-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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) +| | [Tags] | IMIX | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc07-64B-2t2c-ethip4-ip4base-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | [Tags] | 64B | 2T2C | MTHREAD | NDRDISC +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc08-64B-2t2c-ethip4-ip4base-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | [Tags] | 64B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc09-1518B-2t2c-ethip4-ip4base-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | [Tags] | 1518B | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc10-1518B-2t2c-ethip4-ip4base-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | [Tags] | 1518B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc11-IMIX-2t2c-ethip4-ip4base-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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) +| | [Tags] | IMIX | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc12-IMIX-2t2c-ethip4-ip4base-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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) +| | [Tags] | IMIX | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc13-64B-4t4c-ethip4-ip4base-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | [Tags] | 64B | 4T4C | MTHREAD | NDRDISC +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc14-64B-4t4c-ethip4-ip4base-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | [Tags] | 64B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc15-1518B-4t4c-ethip4-ip4base-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | [Tags] | 1518B | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc16-1518B-4t4c-ethip4-ip4base-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | [Tags] | 1518B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc17-IMIX-4t4c-ethip4-ip4base-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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) +| | [Tags] | IMIX | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc18-IMIX-4t4c-ethip4-ip4base-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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) +| | [Tags] | IMIX | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot deleted file mode 100644 index b24e0ca3c6..0000000000 --- a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot +++ /dev/null @@ -1,675 +0,0 @@ -# Copyright (c) 2017 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| Library | resources.libraries.python.QemuUtils -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | L2BDMACLRN | ENCAP | VXLAN | L2OVRLAY | IP4UNRLAY -| ... | VHOST | VM -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Setup | Set up performance test -| Test Teardown | Tear down performance test with vhost and VM with dpdk-testpmd -| ... | ${min_rate}pps | ${framesize} | ${traffic_profile} -| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} -| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} -| ... -| Documentation | *RFC2544: Packet throughput L2BD test cases with VXLANoIPv4 -| ... | and vhost* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. -| ... | Eth-IPv4-VXLAN-Eth-IPv4 is applied on link between DUT1 and DUT2. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 bridge- -| ... | domain and MAC learning enabled. Qemu Guest is connected to VPP via -| ... | vhost-user interfaces. Guest is running DPDK testpmd interconnecting -| ... | vhost-user interfaces using 5 cores pinned to cpus 5-9 and 2048M -| ... | memory. Testpmd is using socket-mem=1024M (512x2M hugepages), 5 cores -| ... | (1 main core and 4 cores dedicated for io), forwarding mode is set to -| ... | io, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p10GE NIC X520 -| ... | Niantic by Intel. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using either binary search or linear search -| ... | algorithms with configured starting rate and final step that determines -| ... | throughput measurement resolution. Test packets are generated by TG on -| ... | links to DUTs. TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 253 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544, RFC7348. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit} | ${10000000000} -| ${vxlan_overhead} | ${50} -# Socket names -| ${bd_id1}= | 1 -| ${bd_id2}= | 2 -| ${sock1}= | /tmp/sock-1-${bd_id1} -| ${sock2}= | /tmp/sock-1-${bd_id2} -# Traffic profile: -| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 - -*** Test Cases *** -| tc01-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 VXLANoIPv4 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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc02-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | ... -| | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 VXLANoIPv4 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} -| | 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} - -| tc03-1518B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 Apply startup configuration on all VPP DUTs -| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc04-1518B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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\ -| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 Apply startup configuration on all VPP DUTs -| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} -| | 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} - -| tc05-IMIX-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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 at\ -| | ... | 10GE linerate, step 5kpps. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | ... -| | [Tags] | IMIX | 1T1C | STHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${avg_framesize}= | Set Variable | ${403.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 Apply startup configuration on all VPP DUTs -| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc06-IMIX-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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 5kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | ... -| | [Tags] | IMIX | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${avg_framesize}= | Set Variable | ${403.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 Apply startup configuration on all VPP DUTs -| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} -| | 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} - -| tc07-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 64B | 2T2C | MTHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 VXLANoIPv4 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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc08-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | ... -| | [Tags] | 64B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 VXLANoIPv4 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} -| | 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} - -| tc09-1518B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 1518B | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 Apply startup configuration on all VPP DUTs -| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc10-1518B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | ... -| | [Tags] | 1518B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 Apply startup configuration on all VPP DUTs -| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} -| | 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} - -| tc11-IMIX-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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 5kpps. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | ... -| | [Tags] | IMIX | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${avg_framesize}= | Set Variable | ${403.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 Apply startup configuration on all VPP DUTs -| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc12-IMIX-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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 5kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | ... -| | [Tags] | IMIX | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${avg_framesize}= | Set Variable | ${403.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 Apply startup configuration on all VPP DUTs -| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} -| | 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} - -| tc13-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 64B | 4T4C | MTHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 VXLANoIPv4 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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc14-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | ... -| | [Tags] | 64B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 VXLANoIPv4 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} -| | 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} - -| tc15-1518B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 1518B | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 Apply startup configuration on all VPP DUTs -| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc16-1518B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | ... -| | [Tags] | 1518B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 Apply startup configuration on all VPP DUTs -| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} -| | 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} - -| tc17-IMIX-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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 5kpps. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | ... -| | [Tags] | IMIX | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${avg_framesize}= | Set Variable | ${403.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 Apply startup configuration on all VPP DUTs -| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc18-IMIX-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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 5kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | ... -| | [Tags] | IMIX | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${avg_framesize}= | Set Variable | ${403.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 Apply startup configuration on all VPP DUTs -| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} -| | 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} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot new file mode 100644 index 0000000000..090179a43e --- /dev/null +++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot @@ -0,0 +1,711 @@ +# Copyright (c) 2017 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance/performance_setup.robot +| Library | resources.libraries.python.QemuUtils +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | L2BDMACLRN | ENCAP | VXLAN | L2OVRLAY | IP4UNRLAY +| ... | VHOST | VM | VHOST_1024 +| ... +| Suite Setup | Set up 3-node performance topology with DUT's NIC model +| ... | L2 | Intel-X520-DA2 +| Suite Teardown | Tear down 3-node performance topology +| ... +| Test Setup | Set up performance test +| Test Teardown | Tear down performance test with vhost and VM with dpdk-testpmd +| ... | ${min_rate}pps | ${framesize} | ${traffic_profile} +| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} +| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} +| ... +| Documentation | *RFC2544: Packet throughput L2BD test cases with VXLANoIPv4 +| ... | and vhost* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. +| ... | Eth-IPv4-VXLAN-Eth-IPv4 is applied on link between DUT1 and DUT2. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 bridge- +| ... | domain and MAC learning enabled. Qemu Guest is connected to VPP via +| ... | vhost-user interfaces. Guest is running DPDK testpmd interconnecting +| ... | vhost-user interfaces using 5 cores pinned to cpus 5-9 and 2048M +| ... | memory. Testpmd is using socket-mem=1024M (512x2M hugepages), 5 cores +| ... | (1 main core and 4 cores dedicated for io), forwarding mode is set to +| ... | io, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p10GE NIC X520 +| ... | Niantic by Intel. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop +| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage +| ... | of packets transmitted. NDR and PDR are discovered for different +| ... | Ethernet L2 frame sizes using either binary search or linear search +| ... | algorithms with configured starting rate and final step that determines +| ... | throughput measurement resolution. Test packets are generated by TG on +| ... | links to DUTs. TG traffic profile contains two L3 flow-groups +| ... | (flow-group per direction, 253 flows per flow-group) with all packets +| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static +| ... | payload. MAC addresses are matching MAC addresses of the TG node +| ... | interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544, RFC7348. + +*** Variables *** +# X520-DA2 bandwidth limit +| ${s_limit} | ${10000000000} +| ${vxlan_overhead} | ${50} +# Socket names +| ${bd_id1}= | 1 +| ${bd_id2}= | 2 +| ${sock1}= | /tmp/sock-1-${bd_id1} +| ${sock2}= | /tmp/sock-1-${bd_id2} +# Traffic profile: +| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 + +*** Test Cases *** +| tc01-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 VXLANoIPv4 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} + +| tc02-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | ... +| | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 VXLANoIPv4 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} + +| tc03-1518B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 Apply startup configuration on all VPP DUTs +| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} + +| tc04-1518B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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\ +| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 Apply startup configuration on all VPP DUTs +| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} + +| tc05-IMIX-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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 at\ +| | ... | 10GE linerate, step 5kpps. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | ... +| | [Tags] | IMIX | 1T1C | STHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${avg_framesize}= | Set Variable | ${403.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 Apply startup configuration on all VPP DUTs +| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} + +| tc06-IMIX-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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 5kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | ... +| | [Tags] | IMIX | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${avg_framesize}= | Set Variable | ${403.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 Apply startup configuration on all VPP DUTs +| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} + +| tc07-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 64B | 2T2C | MTHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 VXLANoIPv4 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} + +| tc08-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | ... +| | [Tags] | 64B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 VXLANoIPv4 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} + +| tc09-1518B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 1518B | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 Apply startup configuration on all VPP DUTs +| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} + +| tc10-1518B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | ... +| | [Tags] | 1518B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 Apply startup configuration on all VPP DUTs +| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} + +| tc11-IMIX-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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 5kpps. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | ... +| | [Tags] | IMIX | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${avg_framesize}= | Set Variable | ${403.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 Apply startup configuration on all VPP DUTs +| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} + +| tc12-IMIX-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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 5kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | ... +| | [Tags] | IMIX | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${avg_framesize}= | Set Variable | ${403.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 Apply startup configuration on all VPP DUTs +| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} + +| tc13-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 64B | 4T4C | MTHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 VXLANoIPv4 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} + +| tc14-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | ... +| | [Tags] | 64B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 VXLANoIPv4 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} + +| tc15-1518B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 1518B | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 Apply startup configuration on all VPP DUTs +| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} + +| tc16-1518B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | ... +| | [Tags] | 1518B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vxlan_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 Apply startup configuration on all VPP DUTs +| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} + +| tc17-IMIX-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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 5kpps. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | ... +| | [Tags] | IMIX | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${avg_framesize}= | Set Variable | ${403.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 Apply startup configuration on all VPP DUTs +| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} + +| tc18-IMIX-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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 5kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | ... +| | [Tags] | IMIX | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${avg_framesize}= | Set Variable | ${403.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 Apply startup configuration on all VPP DUTs +| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 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} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot deleted file mode 100644 index 734b624666..0000000000 --- a/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot +++ /dev/null @@ -1,658 +0,0 @@ -# Copyright (c) 2017 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| Library | resources.libraries.python.QemuUtils -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | BASE | VHOST | VM -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X710 -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Setup | Set up performance test -| Test Teardown | Tear down performance test with vhost and VM with dpdk-testpmd -| ... | ${min_rate}pps | ${framesize} | ${traffic_profile} -| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} -| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} -| ... -| Documentation | *RFC2544: Pkt throughput L2BD test cases with vhost* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 bridge- -| ... | domain and MAC learning enabled. Qemu Guest is connected to VPP via -| ... | vhost-user interfaces. Guest is running DPDK testpmd interconnecting -| ... | vhost-user interfaces using 5 cores pinned to cpus on NUMA1 and 2048M -| ... | memory. Testpmd is using socket-mem=1024M (512x2M hugepages), 5 cores -| ... | (1 main core and 4 cores dedicated for io), forwarding mode is set to -| ... | io, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p10GE NIC X710 -| ... | by Intel. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using either binary search or linear search -| ... | algorithms with configured starting rate and final step that determines -| ... | throughput measurement resolution. Test packets are generated by TG on -| ... | links to DUTs. TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 253 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X710 bandwidth limit -| ${s_limit} | ${10000000000} -# Socket names -| ${bd_id1}= | 1 -| ${bd_id2}= | 2 -| ${sock1}= | /tmp/sock-1-${bd_id1} -| ${sock2}= | /tmp/sock-1-${bd_id2} -# Traffic profile: -| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 - -*** Test Cases *** -| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | ... -| | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} - -| tc03-1518B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc04-1518B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | ... -| | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} - -| tc05-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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) -| | ... -| | [Tags] | IMIX | 1T1C | STHREAD | NDRDISC -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc06-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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 5kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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 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} -| | 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} - -| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 64B | 2T2C | MTHREAD | NDRDISC -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | ... -| | [Tags] | 64B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} - -| tc09-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 1518B | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc10-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | ... -| | [Tags] | 1518B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} - -| tc11-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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 5kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc12-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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 5kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} - -| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 64B | 4T4C | MTHREAD | NDRDISC -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | ... -| | [Tags] | 64B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} - -| tc15-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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. -| | ... -| | [Tags] | 1518B | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc16-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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%. -| | ... -| | [Tags] | 1518B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} - -| tc17-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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 5kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc18-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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 5kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${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} -| | 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} diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot new file mode 100644 index 0000000000..ea364ff887 --- /dev/null +++ b/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot @@ -0,0 +1,694 @@ +# Copyright (c) 2017 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance/performance_setup.robot +| Library | resources.libraries.python.QemuUtils +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | BASE | VHOST | VM | VHOST_1024 +| ... +| Suite Setup | Set up 3-node performance topology with DUT's NIC model +| ... | L2 | Intel-X710 +| Suite Teardown | Tear down 3-node performance topology +| ... +| Test Setup | Set up performance test +| Test Teardown | Tear down performance test with vhost and VM with dpdk-testpmd +| ... | ${min_rate}pps | ${framesize} | ${traffic_profile} +| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} +| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} +| ... +| Documentation | *RFC2544: Pkt throughput L2BD test cases with vhost* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 bridge- +| ... | domain and MAC learning enabled. Qemu Guest is connected to VPP via +| ... | vhost-user interfaces. Guest is running DPDK testpmd interconnecting +| ... | vhost-user interfaces using 5 cores pinned to cpus on NUMA1 and 2048M +| ... | memory. Testpmd is using socket-mem=1024M (512x2M hugepages), 5 cores +| ... | (1 main core and 4 cores dedicated for io), forwarding mode is set to +| ... | io, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p10GE NIC X710 +| ... | by Intel. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop +| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage +| ... | of packets transmitted. NDR and PDR are discovered for different +| ... | Ethernet L2 frame sizes using either binary search or linear search +| ... | algorithms with configured starting rate and final step that determines +| ... | throughput measurement resolution. Test packets are generated by TG on +| ... | links to DUTs. TG traffic profile contains two L3 flow-groups +| ... | (flow-group per direction, 253 flows per flow-group) with all packets +| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static +| ... | payload. MAC addresses are matching MAC addresses of the TG node +| ... | interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +# X710 bandwidth limit +| ${s_limit} | ${10000000000} +# Socket names +| ${bd_id1}= | 1 +| ${bd_id2}= | 2 +| ${sock1}= | /tmp/sock-1-${bd_id1} +| ${sock2}= | /tmp/sock-1-${bd_id2} +# Traffic profile: +| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 + +*** Test Cases *** +| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC +| | ... +| | ${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} + +| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | ... +| | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc03-1518B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC +| | ... +| | ${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} + +| tc04-1518B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | ... +| | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc05-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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) +| | ... +| | [Tags] | IMIX | 1T1C | STHREAD | NDRDISC +| | ... +| | ${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} + +| tc06-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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 5kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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 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} + +| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 64B | 2T2C | MTHREAD | NDRDISC +| | ... +| | ${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} + +| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | ... +| | [Tags] | 64B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc09-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 1518B | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc10-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | ... +| | [Tags] | 1518B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc11-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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 5kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc12-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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 5kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 64B | 4T4C | MTHREAD | NDRDISC +| | ... +| | ${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} + +| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | ... +| | [Tags] | 64B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc15-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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. +| | ... +| | [Tags] | 1518B | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc16-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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%. +| | ... +| | [Tags] | 1518B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc17-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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 5kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${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} + +| tc18-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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 5kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${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} diff --git a/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot deleted file mode 100644 index b16a699e6a..0000000000 --- a/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot +++ /dev/null @@ -1,660 +0,0 @@ -# Copyright (c) 2017 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| Library | resources.libraries.python.QemuUtils -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-XL710 | ETH | L2BDMACLRN | BASE | VHOST | VM -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-XL710 -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Setup | Set up performance test -| Test Teardown | Tear down performance test with vhost and VM with dpdk-testpmd -| ... | ${min_rate}pps | ${framesize} | ${traffic_profile} -| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} -| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} -| ... -| Documentation | *RFC2544: Packet throughput L2BD test cases with vhost* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 bridge- -| ... | domain and MAC learning enabled. Qemu Guest is connected to VPP via -| ... | vhost-user interfaces. Guest is running DPDK testpmd interconnecting -| ... | vhost-user interfaces using 5 cores pinned to cpus on NUMA1 and 2048M -| ... | memory. Testpmd is using socket-mem=1024M (512x2M hugepages), 5 cores -| ... | (1 main core and 4 cores dedicated for io), forwarding mode is set to -| ... | io, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p40GE NIC XL710 -| ... | by Intel. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using either binary search or linear search -| ... | algorithms with configured starting rate and final step that determines -| ... | throughput measurement resolution. Test packets are generated by TG on -| ... | links to DUTs. TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 253 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# XL710-DA2 bandwidth limit ~49Gbps/2=24.5Gbps -| ${s_24.5G} | ${24500000000} -# XL710-DA2 Mpps limit 37.5Mpps/2=18.75Mpps -| ${s_18.75Mpps} | ${18750000} -# Socket names -| ${bd_id1}= | 1 -| ${bd_id2}= | 2 -| ${sock1}= | /tmp/sock-1-${bd_id1} -| ${sock2}= | /tmp/sock-1-${bd_id2} -# Traffic profile: -| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 - -*** Test Cases *** -| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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} -| | 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} - -| tc03-1518B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc04-1518B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} -| | 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} - -| tc05-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 5kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 1T1C | STHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc06-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 5kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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 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} -| | 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} - -| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 64B | 2T2C | MTHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 64B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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} -| | 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} - -| tc09-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 1518B | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc10-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 1518B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} -| | 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} - -| tc11-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 5kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc12-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 5kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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} -| | 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} - -| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 64B | 4T4C | MTHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 64B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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} -| | 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} - -| tc15-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 1518B | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc16-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 1518B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} -| | 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} - -| tc17-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 5kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| tc18-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 5kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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} -| | 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} diff --git a/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot new file mode 100644 index 0000000000..a6b05073b1 --- /dev/null +++ b/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot @@ -0,0 +1,696 @@ +# Copyright (c) 2017 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance/performance_setup.robot +| Library | resources.libraries.python.QemuUtils +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-XL710 | ETH | L2BDMACLRN | BASE | VHOST | VM | VHOST_1024 +| ... +| Suite Setup | Set up 3-node performance topology with DUT's NIC model +| ... | L2 | Intel-XL710 +| Suite Teardown | Tear down 3-node performance topology +| ... +| Test Setup | Set up performance test +| Test Teardown | Tear down performance test with vhost and VM with dpdk-testpmd +| ... | ${min_rate}pps | ${framesize} | ${traffic_profile} +| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} +| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} +| ... +| Documentation | *RFC2544: Packet throughput L2BD test cases with vhost* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 bridge- +| ... | domain and MAC learning enabled. Qemu Guest is connected to VPP via +| ... | vhost-user interfaces. Guest is running DPDK testpmd interconnecting +| ... | vhost-user interfaces using 5 cores pinned to cpus on NUMA1 and 2048M +| ... | memory. Testpmd is using socket-mem=1024M (512x2M hugepages), 5 cores +| ... | (1 main core and 4 cores dedicated for io), forwarding mode is set to +| ... | io, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p40GE NIC XL710 +| ... | by Intel. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop +| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage +| ... | of packets transmitted. NDR and PDR are discovered for different +| ... | Ethernet L2 frame sizes using either binary search or linear search +| ... | algorithms with configured starting rate and final step that determines +| ... | throughput measurement resolution. Test packets are generated by TG on +| ... | links to DUTs. TG traffic profile contains two L3 flow-groups +| ... | (flow-group per direction, 253 flows per flow-group) with all packets +| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static +| ... | payload. MAC addresses are matching MAC addresses of the TG node +| ... | interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +# XL710-DA2 bandwidth limit ~49Gbps/2=24.5Gbps +| ${s_24.5G} | ${24500000000} +# XL710-DA2 Mpps limit 37.5Mpps/2=18.75Mpps +| ${s_18.75Mpps} | ${18750000} +# Socket names +| ${bd_id1}= | 1 +| ${bd_id2}= | 2 +| ${sock1}= | /tmp/sock-1-${bd_id1} +| ${sock2}= | /tmp/sock-1-${bd_id2} +# Traffic profile: +| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 + +*** Test Cases *** +| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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} + +| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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} + +| tc03-1518B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} + +| tc04-1518B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} + +| tc05-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 5kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 1T1C | STHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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} + +| tc06-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 5kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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 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} + +| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 64B | 2T2C | MTHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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} + +| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 64B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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} + +| tc09-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 1518B | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} + +| tc10-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 1518B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} + +| tc11-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 5kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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} + +| tc12-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 5kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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} + +| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 64B | 4T4C | MTHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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} + +| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 64B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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} + +| tc15-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 1518B | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} + +| tc16-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 1518B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} + +| tc17-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 5kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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} + +| tc18-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 5kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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} diff --git a/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrpdrdisc.robot deleted file mode 100644 index c9fc7292b5..0000000000 --- a/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrpdrdisc.robot +++ /dev/null @@ -1,588 +0,0 @@ -# Copyright (c) 2017 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| Library | resources.libraries.python.QemuUtils -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-XL710 | ETH | L2BDMACLRN | BASE | VHOST | VM -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-XL710 -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Setup | Set up performance test -| Test Teardown | Tear down performance test with vhost and VM with dpdk-testpmd -| ... | ${min_rate}pps | ${framesize} | ${traffic_profile} -| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} -| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} -| ... -| Documentation | *RFC2544: Packet throughput L2BD test cases with vhost* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 bridge- -| ... | domain and MAC learning enabled. Qemu Guests are connected to VPP via -| ... | vhost-user interfaces. Guests are running DPDK testpmd interconnecting -| ... | vhost-user interfaces using 5 cores pinned to cpus on NUMA1 and 2048M -| ... | memory. Testpmd is using socket-mem=1024M (512x2M hugepages), 5 cores -| ... | (1 main core and 4 cores dedicated for io), forwarding mode is set to -| ... | io, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p40GE NIC XL710 -| ... | by Intel. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using either binary search or linear search -| ... | algorithms with configured starting rate and final step that determines -| ... | throughput measurement resolution. Test packets are generated by TG on -| ... | links to DUTs. TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 253 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# XL710-DA2 bandwidth limit ~49Gbps/2=24.5Gbps -| ${s_24.5G} | ${24500000000} -# XL710-DA2 Mpps limit 37.5Mpps/2=18.75Mpps -| ${s_18.75Mpps} | ${18750000} -# CPU settings -| ${system_cpus}= | ${1} -| ${vpp_cpus}= | ${5} -| ${vm_cpus}= | ${5} -# Traffic profile: -| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 - -*** Test Cases *** -| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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} - -| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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} - -| tc03-1518B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} - -| tc04-1518B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} - -| tc05-IMIX-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 1T1C | STHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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} - -| tc06-IMIX-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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} - -| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 64B | 2T2C | MTHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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} - -| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 64B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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} - -| tc09-1518B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 1518B | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} - -| tc10-1518B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 1518B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} - -| tc11-IMIX-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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} - -| tc12-IMIX-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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} - -| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 64B | 4T4C | MTHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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} - -| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 64B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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} - -| tc15-1518B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 1518B | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} - -| tc16-1518B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 1518B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} - -| tc17-IMIX-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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} - -| tc18-IMIX-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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} diff --git a/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrpdrdisc.robot new file mode 100644 index 0000000000..4d2777acf1 --- /dev/null +++ b/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrpdrdisc.robot @@ -0,0 +1,588 @@ +# Copyright (c) 2017 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance/performance_setup.robot +| Library | resources.libraries.python.QemuUtils +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-XL710 | ETH | L2BDMACLRN | BASE | VHOST | VM | VHOST_1024 +| ... +| Suite Setup | Set up 3-node performance topology with DUT's NIC model +| ... | L2 | Intel-XL710 +| Suite Teardown | Tear down 3-node performance topology +| ... +| Test Setup | Set up performance test +| Test Teardown | Tear down performance test with vhost and VM with dpdk-testpmd +| ... | ${min_rate}pps | ${framesize} | ${traffic_profile} +| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} +| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} +| ... +| Documentation | *RFC2544: Packet throughput L2BD test cases with vhost* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 bridge- +| ... | domain and MAC learning enabled. Qemu Guests are connected to VPP via +| ... | vhost-user interfaces. Guests are running DPDK testpmd interconnecting +| ... | vhost-user interfaces using 5 cores pinned to cpus on NUMA1 and 2048M +| ... | memory. Testpmd is using socket-mem=1024M (512x2M hugepages), 5 cores +| ... | (1 main core and 4 cores dedicated for io), forwarding mode is set to +| ... | io, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p40GE NIC XL710 +| ... | by Intel. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop +| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage +| ... | of packets transmitted. NDR and PDR are discovered for different +| ... | Ethernet L2 frame sizes using either binary search or linear search +| ... | algorithms with configured starting rate and final step that determines +| ... | throughput measurement resolution. Test packets are generated by TG on +| ... | links to DUTs. TG traffic profile contains two L3 flow-groups +| ... | (flow-group per direction, 253 flows per flow-group) with all packets +| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static +| ... | payload. MAC addresses are matching MAC addresses of the TG node +| ... | interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +# XL710-DA2 bandwidth limit ~49Gbps/2=24.5Gbps +| ${s_24.5G} | ${24500000000} +# XL710-DA2 Mpps limit 37.5Mpps/2=18.75Mpps +| ${s_18.75Mpps} | ${18750000} +# CPU settings +| ${system_cpus}= | ${1} +| ${vpp_cpus}= | ${5} +| ${vm_cpus}= | ${5} +# Traffic profile: +| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 + +*** Test Cases *** +| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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} + +| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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} + +| tc03-1518B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} + +| tc04-1518B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} + +| tc05-IMIX-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 1T1C | STHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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} + +| tc06-IMIX-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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} + +| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 64B | 2T2C | MTHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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} + +| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 64B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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} + +| tc09-1518B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 1518B | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} + +| tc10-1518B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 1518B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} + +| tc11-IMIX-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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} + +| tc12-IMIX-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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} + +| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 64B | 4T4C | MTHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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} + +| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 64B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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} + +| tc15-1518B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 1518B | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} + +| tc16-1518B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 1518B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} + +| tc17-IMIX-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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} + +| tc18-IMIX-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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} diff --git a/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2xcbase-eth-4vhost-2vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2xcbase-eth-4vhost-2vm-ndrpdrdisc.robot deleted file mode 100644 index 7d79bc2e78..0000000000 --- a/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2xcbase-eth-4vhost-2vm-ndrpdrdisc.robot +++ /dev/null @@ -1,588 +0,0 @@ -# Copyright (c) 2017 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| Library | resources.libraries.python.QemuUtils -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-XL710 | ETH | L2XCFWD | BASE | VHOST | VM -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-XL710 -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Setup | Set up performance test -| Test Teardown | Tear down performance test with vhost and VM with dpdk-testpmd -| ... | ${min_rate}pps | ${framesize} | ${traffic_profile} -| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} -| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} -| ... -| Documentation | *RFC2544: Packet throughput L2XC test cases with vhost* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connects. Qemu Guests are connected to VPP via vhost-user interfaces. -| ... | Guests are running DPDK testpmd interconnecting vhost-user interfaces -| ... | using 5 cores pinned to cpus on NUMA1 (cpus 24-28 and 29-34) and 2048M -| ... | memory. Testpmd is using socket-mem=1024M (512x2M hugepages), 5 cores -| ... | (1 main core and 4 cores dedicated for io), forwarding mode is set to -| ... | io, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p40GE NIC XL710 -| ... | by Intel. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using either binary search or linear search -| ... | algorithms with configured starting rate and final step that determines -| ... | throughput measurement resolution. Test packets are generated by TG on -| ... | links to DUTs. TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 253 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# XL710-DA2 bandwidth limit ~49Gbps/2=24.5Gbps -| ${s_24.5G} | ${24500000000} -# XL710-DA2 Mpps limit 37.5Mpps/2=18.75Mpps -| ${s_18.75Mpps} | ${18750000} -# CPU settings -| ${system_cpus}= | ${1} -| ${vpp_cpus}= | ${5} -| ${vm_cpus}= | ${5} -# Traffic profile: -| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 - -*** Test Cases *** -| tc01-64B-1t1c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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} - -| tc02-64B-1t1c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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} - -| tc03-1518B-1t1c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} - -| tc04-1518B-1t1c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} - -| tc05-IMIX-1t1c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 1T1C | STHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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} - -| tc06-IMIX-1t1c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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} - -| tc07-64B-2t2c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 64B | 2T2C | MTHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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} - -| tc08-64B-2t2c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 64B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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} - -| tc09-1518B-2t2c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 1518B | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} - -| tc10-1518B-2t2c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 1518B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} - -| tc11-IMIX-2t2c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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} - -| tc12-IMIX-2t2c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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} - -| tc13-64B-4t4c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 64B | 4T4C | MTHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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} - -| tc14-64B-4t4c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 64B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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} - -| tc15-1518B-4t4c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 1518B | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} - -| tc16-1518B-4t4c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 1518B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} - -| tc17-IMIX-4t4c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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} - -| tc18-IMIX-4t4c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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} diff --git a/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrpdrdisc.robot new file mode 100644 index 0000000000..8c1707286f --- /dev/null +++ b/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrpdrdisc.robot @@ -0,0 +1,588 @@ +# Copyright (c) 2017 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance/performance_setup.robot +| Library | resources.libraries.python.QemuUtils +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-XL710 | ETH | L2XCFWD | BASE | VHOST | VM | VHOST_1024 +| ... +| Suite Setup | Set up 3-node performance topology with DUT's NIC model +| ... | L2 | Intel-XL710 +| Suite Teardown | Tear down 3-node performance topology +| ... +| Test Setup | Set up performance test +| Test Teardown | Tear down performance test with vhost and VM with dpdk-testpmd +| ... | ${min_rate}pps | ${framesize} | ${traffic_profile} +| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} +| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} +| ... +| Documentation | *RFC2544: Packet throughput L2XC test cases with vhost* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- +| ... | connects. Qemu Guests are connected to VPP via vhost-user interfaces. +| ... | Guests are running DPDK testpmd interconnecting vhost-user interfaces +| ... | using 5 cores pinned to cpus on NUMA1 (cpus 24-28 and 29-34) and 2048M +| ... | memory. Testpmd is using socket-mem=1024M (512x2M hugepages), 5 cores +| ... | (1 main core and 4 cores dedicated for io), forwarding mode is set to +| ... | io, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p40GE NIC XL710 +| ... | by Intel. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop +| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage +| ... | of packets transmitted. NDR and PDR are discovered for different +| ... | Ethernet L2 frame sizes using either binary search or linear search +| ... | algorithms with configured starting rate and final step that determines +| ... | throughput measurement resolution. Test packets are generated by TG on +| ... | links to DUTs. TG traffic profile contains two L3 flow-groups +| ... | (flow-group per direction, 253 flows per flow-group) with all packets +| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static +| ... | payload. MAC addresses are matching MAC addresses of the TG node +| ... | interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +# XL710-DA2 bandwidth limit ~49Gbps/2=24.5Gbps +| ${s_24.5G} | ${24500000000} +# XL710-DA2 Mpps limit 37.5Mpps/2=18.75Mpps +| ${s_18.75Mpps} | ${18750000} +# CPU settings +| ${system_cpus}= | ${1} +| ${vpp_cpus}= | ${5} +| ${vm_cpus}= | ${5} +# Traffic profile: +| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254 + +*** Test Cases *** +| tc01-64B-1t1c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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} + +| tc02-64B-1t1c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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} + +| tc03-1518B-1t1c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} + +| tc04-1518B-1t1c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} + +| tc05-IMIX-1t1c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 1T1C | STHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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} + +| tc06-IMIX-1t1c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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} + +| tc07-64B-2t2c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 64B | 2T2C | MTHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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} + +| tc08-64B-2t2c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 64B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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} + +| tc09-1518B-2t2c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 1518B | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} + +| tc10-1518B-2t2c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 1518B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} + +| tc11-IMIX-2t2c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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} + +| tc12-IMIX-2t2c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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} + +| tc13-64B-4t4c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 64B | 4T4C | MTHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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} + +| tc14-64B-4t4c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 64B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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} + +| tc15-1518B-4t4c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 1518B | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} + +| tc16-1518B-4t4c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 1518B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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} + +| tc17-IMIX-4t4c-eth-l2xcbase-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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} + +| tc18-IMIX-4t4c-eth-l2xcbase-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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} diff --git a/tests/vpp/perf/vm_vhost/40ge2p1xl710-ethip4-ip4base-eth-4vhost-2vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/40ge2p1xl710-ethip4-ip4base-eth-4vhost-2vm-ndrpdrdisc.robot deleted file mode 100644 index 30e68e1f15..0000000000 --- a/tests/vpp/perf/vm_vhost/40ge2p1xl710-ethip4-ip4base-eth-4vhost-2vm-ndrpdrdisc.robot +++ /dev/null @@ -1,588 +0,0 @@ -# Copyright (c) 2017 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| Library | resources.libraries.python.QemuUtils -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-XL710 | ETH | IP4FWD | BASE | VHOST | VM -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L3 | Intel-XL710 -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Setup | Set up performance test -| Test Teardown | Tear down performance test with vhost and VM with dpdk-testpmd -| ... | ${min_rate}pps | ${framesize} | ${traffic_profile} -| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} -| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} -| ... -| Documentation | *RFC2544: Packet throughput IP14 test cases with vhost* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 forIPv4 routing. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv4 -| ... | routing and static IPv4 /24 route entries. Qemu Guests are connected to -| ... | VPP via vhost-user interfaces. Guests are running DPDK testpmd -| ... | interconnecting vhost-user interfaces using 5 cores pinned to cpus on -| ... | NUMA1 (cpus 24-28 and 29-34) and 2048M memory. Testpmd is using -| ... | socket-mem=1024M (512x2M hugepages), 5 cores (1 main core and 4 cores -| ... | dedicated for io), forwarding mode is set to io, rxd/txd=256, burst=64. -| ... | DUT1, DUT2 are tested with 2p40GE NIC XL710 by Intel. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using either binary search or linear search -| ... | algorithms with configured starting rate and final step that determines -| ... | throughput measurement resolution. Test packets are generated by TG on -| ... | links to DUTs. TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 253 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# XL710-DA2 bandwidth limit ~49Gbps/2=24.5Gbps -| ${s_24.5G} | ${24500000000} -# XL710-DA2 Mpps limit 37.5Mpps/2=18.75Mpps -| ${s_18.75Mpps} | ${18750000} -# CPU settings -| ${system_cpus}= | ${1} -| ${vpp_cpus}= | ${5} -| ${vm_cpus}= | ${5} -# Traffic profile: -| ${traffic_profile} | trex-sl-3n-ethip4-ip4src253 - -*** Test Cases *** -| tc01-64B-1t1c-eth-ip4base-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc02-64B-1t1c-eth-ip4base-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc03-1518B-1t1c-eth-ip4base-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc04-1518B-1t1c-eth-ip4base-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc05-IMIX-1t1c-eth-ip4base-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 1T1C | STHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc06-IMIX-1t1c-eth-ip4base-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc07-64B-2t2c-eth-ip4base-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 64B | 2T2C | MTHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc08-64B-2t2c-eth-ip4base-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 64B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc09-1518B-2t2c-eth-ip4base-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 1518B | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc10-1518B-2t2c-eth-ip4base-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 1518B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc11-IMIX-2t2c-eth-ip4base-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc12-IMIX-2t2c-eth-ip4base-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc13-64B-4t4c-eth-ip4base-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 64B | 4T4C | MTHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc14-64B-4t4c-eth-ip4base-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 64B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc15-1518B-4t4c-eth-ip4base-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... -| | [Tags] | 1518B | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc16-1518B-4t4c-eth-ip4base-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... -| | [Tags] | 1518B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc17-IMIX-4t4c-eth-ip4base-eth-4vhost-2vm-ndrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} - -| tc18-IMIX-4t4c-eth-ip4base-eth-4vhost-2vm-pdrdisc -| | [Documentation] -| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | IMIX | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} -| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology -| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} diff --git a/tests/vpp/perf/vm_vhost/40ge2p1xl710-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/40ge2p1xl710-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrpdrdisc.robot new file mode 100644 index 0000000000..bc8917d8ff --- /dev/null +++ b/tests/vpp/perf/vm_vhost/40ge2p1xl710-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrpdrdisc.robot @@ -0,0 +1,588 @@ +# Copyright (c) 2017 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance/performance_setup.robot +| Library | resources.libraries.python.QemuUtils +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-XL710 | ETH | IP4FWD | BASE | VHOST | VM | VHOST_1024 +| ... +| Suite Setup | Set up 3-node performance topology with DUT's NIC model +| ... | L3 | Intel-XL710 +| Suite Teardown | Tear down 3-node performance topology +| ... +| Test Setup | Set up performance test +| Test Teardown | Tear down performance test with vhost and VM with dpdk-testpmd +| ... | ${min_rate}pps | ${framesize} | ${traffic_profile} +| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs} +| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs} +| ... +| Documentation | *RFC2544: Packet throughput IP14 test cases with vhost* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 forIPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv4 +| ... | routing and static IPv4 /24 route entries. Qemu Guests are connected to +| ... | VPP via vhost-user interfaces. Guests are running DPDK testpmd +| ... | interconnecting vhost-user interfaces using 5 cores pinned to cpus on +| ... | NUMA1 (cpus 24-28 and 29-34) and 2048M memory. Testpmd is using +| ... | socket-mem=1024M (512x2M hugepages), 5 cores (1 main core and 4 cores +| ... | dedicated for io), forwarding mode is set to io, rxd/txd=256, burst=64. +| ... | DUT1, DUT2 are tested with 2p40GE NIC XL710 by Intel. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop +| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage +| ... | of packets transmitted. NDR and PDR are discovered for different +| ... | Ethernet L2 frame sizes using either binary search or linear search +| ... | algorithms with configured starting rate and final step that determines +| ... | throughput measurement resolution. Test packets are generated by TG on +| ... | links to DUTs. TG traffic profile contains two L3 flow-groups +| ... | (flow-group per direction, 253 flows per flow-group) with all packets +| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static +| ... | payload. MAC addresses are matching MAC addresses of the TG node +| ... | interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +# XL710-DA2 bandwidth limit ~49Gbps/2=24.5Gbps +| ${s_24.5G} | ${24500000000} +# XL710-DA2 Mpps limit 37.5Mpps/2=18.75Mpps +| ${s_18.75Mpps} | ${18750000} +# CPU settings +| ${system_cpus}= | ${1} +| ${vpp_cpus}= | ${5} +| ${vm_cpus}= | ${5} +# Traffic profile: +| ${traffic_profile} | trex-sl-3n-ethip4-ip4src253 + +*** Test Cases *** +| tc01-64B-1t1c-eth-ip4base-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc02-64B-1t1c-eth-ip4base-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc03-1518B-1t1c-eth-ip4base-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc04-1518B-1t1c-eth-ip4base-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc05-IMIX-1t1c-eth-ip4base-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 1T1C | STHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc06-IMIX-1t1c-eth-ip4base-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc07-64B-2t2c-eth-ip4base-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 64B | 2T2C | MTHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc08-64B-2t2c-eth-ip4base-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 64B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc09-1518B-2t2c-eth-ip4base-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 1518B | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc10-1518B-2t2c-eth-ip4base-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 1518B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc11-IMIX-2t2c-eth-ip4base-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc12-IMIX-2t2c-eth-ip4base-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc13-64B-4t4c-eth-ip4base-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 64B | 4T4C | MTHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc14-64B-4t4c-eth-ip4base-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 64B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc15-1518B-4t4c-eth-ip4base-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... +| | [Tags] | 1518B | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc16-1518B-4t4c-eth-ip4base-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... +| | [Tags] | 1518B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc17-IMIX-4t4c-eth-ip4base-eth-4vhost-2vm-ndrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} + +| tc18-IMIX-4t4c-eth-ip4base-eth-4vhost-2vm-pdrdisc +| | [Documentation] +| | ... | [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 40GE linerate, step 10kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | IMIX | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333} +| | ${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 IPv4 forwarding with vhost for '2' VMs in 3-node circular topology +| | And Configure '2' guest VMs with dpdk-testpmd-mac 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} -- cgit 1.2.3-korg