From 974897e8bcff8f3baeadf09b87840f530d8f41c1 Mon Sep 17 00:00:00 2001 From: pmikus Date: Thu, 30 Mar 2017 07:42:40 +0200 Subject: Fix: Naming of perf suites following conventions Change-Id: I39c3b6b1555a165f2103068a5296d92e0210f221 Signed-off-by: pmikus --- ...10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot | 285 -------- ...e2p1vic1227-eth-l2bdbasemaclrn-ndrpdrdisc.robot | 285 ++++++++ .../perf/10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot | 630 ------------------ .../10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot | 630 ++++++++++++++++++ ...t1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot | 722 -------------------- ...-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot | 722 ++++++++++++++++++++ ...520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot | 700 ------------------- ...-dot1q-l2xcbase-eth-2vhost-1vm-ndrpdrdisc.robot | 700 +++++++++++++++++++ .../perf/10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot | 608 ----------------- .../10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot | 608 +++++++++++++++++ ...eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot | 666 ------------------- ...-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot | 666 +++++++++++++++++++ .../10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot | 271 -------- ...10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot | 271 ++++++++ ...1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot | 665 ------------------- ...20-eth-l2xcbase-eth-2vhost-1vm-ndrpdrdisc.robot | 665 +++++++++++++++++++ tests/perf/10ge2p1x520-eth-l2xcbase-ndrdisc.robot | 510 -------------- .../perf/10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot | 510 ++++++++++++++ ...520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot | 593 ----------------- ...-ethip4-ip4base-copwhtlistbase-ndrpdrdisc.robot | 593 +++++++++++++++++ ...520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot | 701 -------------------- ...-ethip4-ip4base-eth-2vhost-1vm-ndrpdrdisc.robot | 701 ++++++++++++++++++++ ...p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot | 737 --------------------- ...520-ethip4-ip4base-iacldstbase-ndrpdrdisc.robot | 737 +++++++++++++++++++++ ...20-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot | 534 --------------- ...ethip4-ip4base-ipolicemarkbase-ndrpdrdisc.robot | 534 +++++++++++++++ .../perf/10ge2p1x520-ethip4-ip4base-ndrdisc.robot | 516 --------------- .../10ge2p1x520-ethip4-ip4base-ndrpdrdisc.robot | 516 +++++++++++++++ .../10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot | 499 -------------- ...0ge2p1x520-ethip4-ip4scale200k-ndrpdrdisc.robot | 499 ++++++++++++++ .../10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot | 499 -------------- ...10ge2p1x520-ethip4-ip4scale20k-ndrpdrdisc.robot | 499 ++++++++++++++ .../10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot | 517 --------------- .../10ge2p1x520-ethip4-ip4scale2m-ndrpdrdisc.robot | 517 +++++++++++++++ ...10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot | 623 ----------------- ...e2p1x520-ethip4lispip4-ip4base-ndrpdrdisc.robot | 623 +++++++++++++++++ ...10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot | 624 ----------------- ...e2p1x520-ethip4lispip6-ip4base-ndrpdrdisc.robot | 624 +++++++++++++++++ ...lan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot | 691 ------------------- ...-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot | 691 +++++++++++++++++++ ...p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot | 484 -------------- ...520-ethip4vxlan-l2bdbasemaclrn-ndrpdrdisc.robot | 484 ++++++++++++++ .../10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot | 456 ------------- ...ge2p1x520-ethip4vxlan-l2xcbase-ndrpdrdisc.robot | 456 +++++++++++++ ...520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot | 589 ---------------- ...-ethip6-ip6base-copwhtlistbase-ndrpdrdisc.robot | 589 ++++++++++++++++ ...p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot | 498 -------------- ...520-ethip6-ip6base-iacldstbase-ndrpdrdisc.robot | 498 ++++++++++++++ .../perf/10ge2p1x520-ethip6-ip6base-ndrdisc.robot | 460 ------------- .../10ge2p1x520-ethip6-ip6base-ndrpdrdisc.robot | 460 +++++++++++++ .../10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot | 499 -------------- ...0ge2p1x520-ethip6-ip6scale200k-ndrpdrdisc.robot | 499 ++++++++++++++ .../10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot | 499 -------------- ...10ge2p1x520-ethip6-ip6scale20k-ndrpdrdisc.robot | 499 ++++++++++++++ .../10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot | 499 -------------- .../10ge2p1x520-ethip6-ip6scale2m-ndrpdrdisc.robot | 499 ++++++++++++++ ...10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot | 624 ----------------- ...e2p1x520-ethip6lispip4-ip6base-ndrpdrdisc.robot | 624 +++++++++++++++++ ...10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot | 620 ----------------- ...e2p1x520-ethip6lispip6-ip6base-ndrpdrdisc.robot | 620 +++++++++++++++++ ...eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot | 674 ------------------- ...-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot | 674 +++++++++++++++++++ .../10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot | 271 -------- ...10ge2p1x710-eth-l2bdbasemaclrn-ndrpdrdisc.robot | 271 ++++++++ ...40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot | 349 ---------- ...e2p1vic1385-eth-l2bdbasemaclrn-ndrpdrdisc.robot | 349 ++++++++++ ...eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot | 676 ------------------- ...-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot | 676 +++++++++++++++++++ .../40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot | 220 ------ ...0ge2p1xl710-eth-l2bdbasemaclrn-ndrpdrdisc.robot | 220 ++++++ tests/perf/40ge2p1xl710-eth-l2xcbase-ndrdisc.robot | 257 ------- .../40ge2p1xl710-eth-l2xcbase-ndrpdrdisc.robot | 257 +++++++ .../perf/40ge2p1xl710-ethip4-ip4base-ndrdisc.robot | 264 -------- .../40ge2p1xl710-ethip4-ip4base-ndrpdrdisc.robot | 264 ++++++++ .../perf/40ge2p1xl710-ethip6-ip6base-ndrdisc.robot | 186 ------ .../40ge2p1xl710-ethip6-ip6base-ndrpdrdisc.robot | 186 ++++++ 76 files changed, 19716 insertions(+), 19716 deletions(-) delete mode 100644 tests/perf/10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot create mode 100644 tests/perf/10ge2p1vic1227-eth-l2bdbasemaclrn-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-eth-l2xcbase-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4-ip4base-iacldstbase-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-ethip4-ip4base-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4-ip4base-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4-ip4scale200k-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4-ip4scale20k-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4-ip4scale2m-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4lispip4-ip4base-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4lispip6-ip4base-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4vxlan-l2xcbase-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip6-ip6base-iacldstbase-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-ethip6-ip6base-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip6-ip6base-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip6-ip6scale200k-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip6-ip6scale20k-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip6-ip6scale2m-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip6lispip4-ip6base-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip6lispip6-ip6base-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot delete mode 100644 tests/perf/10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x710-eth-l2bdbasemaclrn-ndrpdrdisc.robot delete mode 100644 tests/perf/40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot create mode 100644 tests/perf/40ge2p1vic1385-eth-l2bdbasemaclrn-ndrpdrdisc.robot delete mode 100644 tests/perf/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot create mode 100644 tests/perf/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot delete mode 100644 tests/perf/40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot create mode 100644 tests/perf/40ge2p1xl710-eth-l2bdbasemaclrn-ndrpdrdisc.robot delete mode 100644 tests/perf/40ge2p1xl710-eth-l2xcbase-ndrdisc.robot create mode 100644 tests/perf/40ge2p1xl710-eth-l2xcbase-ndrpdrdisc.robot delete mode 100644 tests/perf/40ge2p1xl710-ethip4-ip4base-ndrdisc.robot create mode 100644 tests/perf/40ge2p1xl710-ethip4-ip4base-ndrpdrdisc.robot delete mode 100644 tests/perf/40ge2p1xl710-ethip6-ip6base-ndrdisc.robot create mode 100644 tests/perf/40ge2p1xl710-ethip6-ip6base-ndrpdrdisc.robot (limited to 'tests/perf') diff --git a/tests/perf/10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot b/tests/perf/10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot deleted file mode 100644 index 8d05d16c7d..0000000000 --- a/tests/perf/10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot +++ /dev/null @@ -1,285 +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.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Cisco-VIC-1227 | ETH | L2BDMACLRN | BASE -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L2 | Cisco-VIC-1227 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-bridge -| ... -| Documentation | *RFC2544: Pkt throughput L2BD test cases* -| ... -| ... | *[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. DUT1 and DUT2 tested with 2p10GE NIC -| ... | Cisco-VIC-1227. -| ... | *[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 *** -# Cisco-VIC-1227 bandwidth limit -| ${s_limit} | ${10000000000} - -*** Keywords *** -| L2 Bridge Domain NDR Binary Search -| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} -| | # Test Variables required for test teardown -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Set Test Documentation | [Cfg] DUT runs L2BD switching config with ${wt}\ -| | Set Test Documentation | thread, ${wt} phy core, ${rxq}\ | append=True -| | Set Test Documentation | receive queue per NIC port. | append=True -| | Set Test Documentation | [Ver] Find NDR for ${framesize} Byte\ | append=True -| | Set Test Documentation | frames using binary search start at\ | append=True -| | Set Test Documentation | 10GE linerate, step ${threshold}pps. | append=True -| | Add '${wt}' worker threads and rxqueues '${rxq}' in 3-node single-link topo -| | Add PCI devices to DUTs from 3-node single link topology -| | Run Keyword If | ${framesize} < ${1522} | Add No Multi Seg to all DUTs -| | Apply startup configuration on all VPP DUTs -| | L2 bridge domain initialized in a 3-node circular topology -| | Find NDR using binary search and pps -| | ... | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| L2 Bridge Domain PDR Binary Search -| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} -| | # Test Variables required for test teardown -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Set Test Documentation | [Cfg] DUT runs L2BD switching config with ${wt}\ -| | Set Test Documentation | thread, ${wt} phy core, ${rxq}\ | append=True -| | Set Test Documentation | receive queue per NIC port. | append=True -| | Set Test Documentation | [Ver] Find PDR for ${framesize} Byte\ | append=True -| | Set Test Documentation | frames using binary search start at\ | append=True -| | Set Test Documentation | 10GE linerate, step ${threshold}pps, | append=True -| | Set Test Documentation | LT=${perf_pdr_loss_acceptance} | append=True -| | Set Test Documentation | ${perf_pdr_loss_acceptance_type}. | append=True -| | Add '${wt}' worker threads and rxqueues '${rxq}' in 3-node single-link topo -| | Add PCI devices to DUTs from 3-node single link topology -| | Run Keyword If | ${framesize} < ${1522} | Add No Multi Seg to all DUTs -| | Apply startup configuration on all VPP DUTs -| | L2 bridge domain initialized in a 3-node circular topology -| | Find PDR using binary search and pps -| | ... | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge -| | ... | ${min_rate} | ${max_rate} | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type} - -*** Test Cases *** -| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${64} | ${100000} | 1 | 1 -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${64} | ${100000} | 1 | 1 -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc03-1518B-1t1c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${1518} | ${10000} | 1 | 1 -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1T1C | STHREAD | NDRDISC -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc04-1518B-1t1c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${1518} | ${10000} | 1 | 1 -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc05-9000B-1t1c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${9000} | ${10000} | 1 | 1 -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 10kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc06-9000B-1t1c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${9000} | ${10000} | 1 | 1 -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 10kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${64} | ${100000} | 2 | 1 -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${64} | ${100000} | 2 | 1 -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc09-1518B-2t2c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${1518} | ${10000} | 2 | 1 -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc10-1518B-2t2c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${1518} | ${10000} | 2 | 1 -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc11-9000B-2t2c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${9000} | ${10000} | 2 | 1 -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 10kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc12-9000B-2t2c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${9000} | ${10000} | 2 | 1 -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 10kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${64} | ${100000} | 4 | 2 -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc14-64B-4t4c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${64} | ${100000} | 4 | 2 -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc15-1518B-4t4c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${1518} | ${10000} | 4 | 2 -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc16-1518B-4t4c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${1518} | ${10000} | 4 | 2 -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc17-9000B-4t4c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${9000} | ${10000} | 4 | 2 -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 4 threads, 4 phy cores, 2 receive queues per NIC port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 10kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc18-9000B-4t4c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${9000} | ${10000} | 4 | 2 -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 4 threads, 4 phy cores, 2 receive queues per NIC port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 10kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | [Template] | L2 Bridge Domain PDR Binary Search diff --git a/tests/perf/10ge2p1vic1227-eth-l2bdbasemaclrn-ndrpdrdisc.robot b/tests/perf/10ge2p1vic1227-eth-l2bdbasemaclrn-ndrpdrdisc.robot new file mode 100644 index 0000000000..8d05d16c7d --- /dev/null +++ b/tests/perf/10ge2p1vic1227-eth-l2bdbasemaclrn-ndrpdrdisc.robot @@ -0,0 +1,285 @@ +# 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.robot +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Cisco-VIC-1227 | ETH | L2BDMACLRN | BASE +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L2 | Cisco-VIC-1227 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-bridge +| ... +| Documentation | *RFC2544: Pkt throughput L2BD test cases* +| ... +| ... | *[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. DUT1 and DUT2 tested with 2p10GE NIC +| ... | Cisco-VIC-1227. +| ... | *[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 *** +# Cisco-VIC-1227 bandwidth limit +| ${s_limit} | ${10000000000} + +*** Keywords *** +| L2 Bridge Domain NDR Binary Search +| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} +| | # Test Variables required for test teardown +| | Set Test Variable | ${framesize} +| | Set Test Variable | ${min_rate} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Set Test Documentation | [Cfg] DUT runs L2BD switching config with ${wt}\ +| | Set Test Documentation | thread, ${wt} phy core, ${rxq}\ | append=True +| | Set Test Documentation | receive queue per NIC port. | append=True +| | Set Test Documentation | [Ver] Find NDR for ${framesize} Byte\ | append=True +| | Set Test Documentation | frames using binary search start at\ | append=True +| | Set Test Documentation | 10GE linerate, step ${threshold}pps. | append=True +| | Add '${wt}' worker threads and rxqueues '${rxq}' in 3-node single-link topo +| | Add PCI devices to DUTs from 3-node single link topology +| | Run Keyword If | ${framesize} < ${1522} | Add No Multi Seg to all DUTs +| | Apply startup configuration on all VPP DUTs +| | L2 bridge domain initialized in a 3-node circular topology +| | Find NDR using binary search and pps +| | ... | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge +| | ... | ${min_rate} | ${max_rate} | ${threshold} + +| L2 Bridge Domain PDR Binary Search +| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} +| | # Test Variables required for test teardown +| | Set Test Variable | ${framesize} +| | Set Test Variable | ${min_rate} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Set Test Documentation | [Cfg] DUT runs L2BD switching config with ${wt}\ +| | Set Test Documentation | thread, ${wt} phy core, ${rxq}\ | append=True +| | Set Test Documentation | receive queue per NIC port. | append=True +| | Set Test Documentation | [Ver] Find PDR for ${framesize} Byte\ | append=True +| | Set Test Documentation | frames using binary search start at\ | append=True +| | Set Test Documentation | 10GE linerate, step ${threshold}pps, | append=True +| | Set Test Documentation | LT=${perf_pdr_loss_acceptance} | append=True +| | Set Test Documentation | ${perf_pdr_loss_acceptance_type}. | append=True +| | Add '${wt}' worker threads and rxqueues '${rxq}' in 3-node single-link topo +| | Add PCI devices to DUTs from 3-node single link topology +| | Run Keyword If | ${framesize} < ${1522} | Add No Multi Seg to all DUTs +| | Apply startup configuration on all VPP DUTs +| | L2 bridge domain initialized in a 3-node circular topology +| | Find PDR using binary search and pps +| | ... | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge +| | ... | ${min_rate} | ${max_rate} | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type} + +*** Test Cases *** +| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${64} | ${100000} | 1 | 1 +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${64} | ${100000} | 1 | 1 +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc03-1518B-1t1c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${1518} | ${10000} | 1 | 1 +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1T1C | STHREAD | NDRDISC +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc04-1518B-1t1c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${1518} | ${10000} | 1 | 1 +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc05-9000B-1t1c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${9000} | ${10000} | 1 | 1 +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 10kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc06-9000B-1t1c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${9000} | ${10000} | 1 | 1 +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 10kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${64} | ${100000} | 2 | 1 +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${64} | ${100000} | 2 | 1 +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc09-1518B-2t2c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${1518} | ${10000} | 2 | 1 +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc10-1518B-2t2c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${1518} | ${10000} | 2 | 1 +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc11-9000B-2t2c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${9000} | ${10000} | 2 | 1 +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 10kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc12-9000B-2t2c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${9000} | ${10000} | 2 | 1 +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 10kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${64} | ${100000} | 4 | 2 +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc14-64B-4t4c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${64} | ${100000} | 4 | 2 +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc15-1518B-4t4c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${1518} | ${10000} | 4 | 2 +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc16-1518B-4t4c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${1518} | ${10000} | 4 | 2 +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc17-9000B-4t4c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${9000} | ${10000} | 4 | 2 +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 4 threads, 4 phy cores, 2 receive queues per NIC port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 10kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc18-9000B-4t4c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${9000} | ${10000} | 4 | 2 +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 4 threads, 4 phy cores, 2 receive queues per NIC port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 10kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | [Template] | L2 Bridge Domain PDR Binary Search diff --git a/tests/perf/10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot b/tests/perf/10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot deleted file mode 100644 index 33f299a917..0000000000 --- a/tests/perf/10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot +++ /dev/null @@ -1,630 +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.robot -| Resource | resources/libraries/robot/tagging.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | L2XCFWD | BASE | DOT1AD -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-xconnect -| ... -| Documentation | *RFC2544: Pkt throughput L2XC with 802.1ad test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 xconnect. -| ... | 802.1ad tagging is applied on link between DUT1 and DUT2 with inner 4B -| ... | vlan tag (id=100) and outer 4B vlan tag (id=200). -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. DUT1 and DUT2 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 -| ${outer_vlan_id}= | 100 -| ${inner_vlan_id}= | 200 -| ${type_subif}= | two_tags -| ${tag_rewrite}= | pop-2 -# X520-DA2 bandwidth limit -| ${s_limit} | ${10000000000} - -*** Test Cases *** -| tc01-64B-1t1c-dot1ad-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-64B-1t1c-dot1ad-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1514B-1t1c-dot1ad-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 1514 Byte frames -| | ... | using binary search start at 10GE linerate, step 10kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${1514} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1514B-1t1c-dot1ad-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 1514 Byte frames -| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1514} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc05-9000B-1t1c-dot1ad-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-9000B-1t1c-dot1ad-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc07-64B-2t2c-dot1ad-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-64B-2t2c-dot1ad-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1514B-2t2c-dot1ad-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 1514 Byte frames -| | ... | using binary search start at 10GE linerate, step 10kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1514} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1514B-2t2c-dot1ad-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 1514 Byte frames -| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1514} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc11-9000B-2t2c-dot1ad-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-9000B-2t2c-dot1ad-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc13-64B-4t4c-dot1ad-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc14-64B-4t4c-dot1ad-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc15-1514B-4t4c-dot1ad-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 1514 Byte frames -| | ... | using binary search start at 10GE linerate, step 10kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1514} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc16-1514B-4t4c-dot1ad-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 1514 Byte frames -| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1514} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc17-9000B-4t4c-dot1ad-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc18-9000B-4t4c-dot1ad-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot new file mode 100644 index 0000000000..33f299a917 --- /dev/null +++ b/tests/perf/10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot @@ -0,0 +1,630 @@ +# 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.robot +| Resource | resources/libraries/robot/tagging.robot +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | L2XCFWD | BASE | DOT1AD +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L2 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-xconnect +| ... +| Documentation | *RFC2544: Pkt throughput L2XC with 802.1ad test cases* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 xconnect. +| ... | 802.1ad tagging is applied on link between DUT1 and DUT2 with inner 4B +| ... | vlan tag (id=100) and outer 4B vlan tag (id=200). +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- +| ... | connect. DUT1 and DUT2 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 +| ${outer_vlan_id}= | 100 +| ${inner_vlan_id}= | 200 +| ${type_subif}= | two_tags +| ${tag_rewrite}= | pop-2 +# X520-DA2 bandwidth limit +| ${s_limit} | ${10000000000} + +*** Test Cases *** +| tc01-64B-1t1c-dot1ad-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-64B-1t1c-dot1ad-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1514B-1t1c-dot1ad-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 1514 Byte frames +| | ... | using binary search start at 10GE linerate, step 10kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${1514} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1514B-1t1c-dot1ad-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 1514 Byte frames +| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1514} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc05-9000B-1t1c-dot1ad-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-9000B-1t1c-dot1ad-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc07-64B-2t2c-dot1ad-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-64B-2t2c-dot1ad-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1514B-2t2c-dot1ad-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 1514 Byte frames +| | ... | using binary search start at 10GE linerate, step 10kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1514} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1514B-2t2c-dot1ad-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 1514 Byte frames +| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1514} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc11-9000B-2t2c-dot1ad-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-9000B-2t2c-dot1ad-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc13-64B-4t4c-dot1ad-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc14-64B-4t4c-dot1ad-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc15-1514B-4t4c-dot1ad-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 1514 Byte frames +| | ... | using binary search start at 10GE linerate, step 10kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1514} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc16-1514B-4t4c-dot1ad-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 1514 Byte frames +| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1514} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc17-9000B-4t4c-dot1ad-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc18-9000B-4t4c-dot1ad-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot b/tests/perf/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot deleted file mode 100644 index 1e78f1dc53..0000000000 --- a/tests/perf/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot +++ /dev/null @@ -1,722 +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.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 | 3-node Performance Suite Setup with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test with vhost and VM with dpdk-testpmd teardown -| ... | ${min_rate}pps | ${framesize} | 3-node-bridge -| ... | 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} - - -*** 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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} -| | ... | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} -| | ... | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} -| | ... | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} -| | ... | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} -| | ... | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} -| | ... | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} -| | ... | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} -| | ... | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} -| | ... | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} -| | ... | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} -| | ... | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} -| | ... | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} -| | ... | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} -| | ... | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} -| | ... | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} -| | ... | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} -| | ... | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} -| | ... | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot new file mode 100644 index 0000000000..1e78f1dc53 --- /dev/null +++ b/tests/perf/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot @@ -0,0 +1,722 @@ +# 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.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 | 3-node Performance Suite Setup with DUT's NIC model +| ... | L2 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test with vhost and VM with dpdk-testpmd teardown +| ... | ${min_rate}pps | ${framesize} | 3-node-bridge +| ... | 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} + + +*** 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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} +| | ... | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} +| | ... | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} +| | ... | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} +| | ... | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} +| | ... | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} +| | ... | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} +| | ... | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} +| | ... | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} +| | ... | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} +| | ... | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} +| | ... | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} +| | ... | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} +| | ... | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} +| | ... | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} +| | ... | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} +| | ... | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} +| | ... | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid} +| | ... | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot b/tests/perf/10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot deleted file mode 100644 index 575bda7b59..0000000000 --- a/tests/perf/10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot +++ /dev/null @@ -1,700 +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.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 | 3-node Performance Suite Setup with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test with vhost and VM with dpdk-testpmd teardown -| ... | ${min_rate}pps | ${framesize} | 3-node-xconnect -| ... | 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} - -*** 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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrpdrdisc.robot new file mode 100644 index 0000000000..575bda7b59 --- /dev/null +++ b/tests/perf/10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrpdrdisc.robot @@ -0,0 +1,700 @@ +# 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.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 | 3-node Performance Suite Setup with DUT's NIC model +| ... | L2 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test with vhost and VM with dpdk-testpmd teardown +| ... | ${min_rate}pps | ${framesize} | 3-node-xconnect +| ... | 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} + +*** 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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User and VLAN initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot b/tests/perf/10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot deleted file mode 100644 index 74d8bd886b..0000000000 --- a/tests/perf/10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot +++ /dev/null @@ -1,608 +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.robot -| Resource | resources/libraries/robot/tagging.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | L2XCFWD | BASE | DOT1Q -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-xconnect -| ... -| Documentation | *RFC2544: Pkt throughput L2XC with 802.1q test cases* -| ... -| ... | *[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. DUT1 and DUT2 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 -# X520-DA2 bandwidth limit -| ${s_limit} | ${10000000000} - -*** Test Cases *** -| tc01-64B-1t1c-dot1q-l2xcbase-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 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN dot1q subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-64B-1t1c-dot1q-l2xcbase-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 100kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN dot1q subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1518B-1t1c-dot1q-l2xcbase-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] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN dot1q subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1518B-1t1c-dot1q-l2xcbase-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] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN dot1q subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc05-9000B-1t1c-dot1q-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN dot1q subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-9000B-1t1c-dot1q-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN dot1q subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc07-64B-2t2c-dot1q-l2xcbase-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 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN dot1q subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-64B-2t2c-dot1q-l2xcbase-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 100kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN dot1q subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1518B-2t2c-dot1q-l2xcbase-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] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN dot1q subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1518B-2t2c-dot1q-l2xcbase-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] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN dot1q subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc11-9000B-2t2c-dot1q-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN dot1q subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-9000B-2t2c-dot1q-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN dot1q subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc13-64B-4t4c-dot1q-l2xcbase-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 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN dot1q subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc14-64B-4t4c-dot1q-l2xcbase-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 100kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN dot1q subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc15-1518B-4t4c-dot1q-l2xcbase-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] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN dot1q subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc16-1518B-4t4c-dot1q-l2xcbase-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] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN dot1q subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc17-9000B-4t4c-dot1q-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN dot1q subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc18-9000B-4t4c-dot1q-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And VPP interfaces in path are up in a 3-node circular topology -| | When VLAN dot1q subinterfaces initialized on 3-node topology -| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} -| | And L2 tag rewrite method setup on interfaces -| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} -| | ... | ${tag_rewrite} -| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect -| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} -| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot new file mode 100644 index 0000000000..74d8bd886b --- /dev/null +++ b/tests/perf/10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot @@ -0,0 +1,608 @@ +# 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.robot +| Resource | resources/libraries/robot/tagging.robot +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | L2XCFWD | BASE | DOT1Q +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L2 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-xconnect +| ... +| Documentation | *RFC2544: Pkt throughput L2XC with 802.1q test cases* +| ... +| ... | *[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. DUT1 and DUT2 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 +# X520-DA2 bandwidth limit +| ${s_limit} | ${10000000000} + +*** Test Cases *** +| tc01-64B-1t1c-dot1q-l2xcbase-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 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN dot1q subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-64B-1t1c-dot1q-l2xcbase-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 100kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN dot1q subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1518B-1t1c-dot1q-l2xcbase-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] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN dot1q subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1518B-1t1c-dot1q-l2xcbase-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] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN dot1q subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc05-9000B-1t1c-dot1q-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN dot1q subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-9000B-1t1c-dot1q-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN dot1q subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc07-64B-2t2c-dot1q-l2xcbase-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 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN dot1q subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-64B-2t2c-dot1q-l2xcbase-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 100kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN dot1q subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1518B-2t2c-dot1q-l2xcbase-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] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN dot1q subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1518B-2t2c-dot1q-l2xcbase-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] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN dot1q subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc11-9000B-2t2c-dot1q-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN dot1q subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-9000B-2t2c-dot1q-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN dot1q subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc13-64B-4t4c-dot1q-l2xcbase-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 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN dot1q subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc14-64B-4t4c-dot1q-l2xcbase-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 100kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN dot1q subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc15-1518B-4t4c-dot1q-l2xcbase-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] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN dot1q subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc16-1518B-4t4c-dot1q-l2xcbase-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] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN dot1q subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc17-9000B-4t4c-dot1q-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN dot1q subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc18-9000B-4t4c-dot1q-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 4} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN dot1q subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot b/tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot deleted file mode 100644 index 3f4309a91a..0000000000 --- a/tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot +++ /dev/null @@ -1,666 +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.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 | 3-node Performance Suite Setup with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test with vhost and VM with dpdk-testpmd teardown -| ... | ${min_rate}pps | ${framesize} | 3-node-bridge -| ... | 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 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 *** -# 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} - -*** 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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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 10kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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 10kpps. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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 10kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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 10kpps. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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 10kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot new file mode 100644 index 0000000000..3f4309a91a --- /dev/null +++ b/tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot @@ -0,0 +1,666 @@ +# 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.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 | 3-node Performance Suite Setup with DUT's NIC model +| ... | L2 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test with vhost and VM with dpdk-testpmd teardown +| ... | ${min_rate}pps | ${framesize} | 3-node-bridge +| ... | 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 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 *** +# 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} + +*** 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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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 10kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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 10kpps. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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 10kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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 10kpps. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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 10kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot b/tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot deleted file mode 100644 index dff612f0a9..0000000000 --- a/tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot +++ /dev/null @@ -1,271 +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.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | ETH | L2BDMACLRN | BASE -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-bridge -| ... -| Documentation | *RFC2544: Pkt throughput L2BD test cases* -| ... -| ... | *[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. DUT1 and DUT2 tested with 2p10GE NI -| ... | 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} - -*** Keywords *** -| L2 Bridge Domain NDR Binary Search -| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Add '${wt}' worker threads and rxqueues '${rxq}' in 3-node single-link topo -| | Add PCI devices to DUTs from 3-node single link topology -| | ${get_framesize}= | Get Frame Size | ${framesize} -| | Run Keyword If | ${get_framesize} < ${1522} | Add No Multi Seg to all DUTs -| | Apply startup configuration on all VPP DUTs -| | L2 bridge domain initialized in a 3-node circular topology -| | Find NDR using binary search and pps -| | ... | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| L2 Bridge Domain PDR Binary Search -| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Add '${wt}' worker threads and rxqueues '${rxq}' in 3-node single-link topo -| | Add PCI devices to DUTs from 3-node single link topology -| | ${get_framesize}= | Get Frame Size | ${framesize} -| | Run Keyword If | ${get_framesize} < ${1522} | Add No Multi Seg to all DUTs -| | Apply startup configuration on all VPP DUTs -| | L2 bridge domain initialized in a 3-node circular topology -| | Find PDR using binary search and pps -| | ... | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge -| | ... | ${min_rate} | ${max_rate} | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type} - -*** Test Cases *** -| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${64} | ${100000} | 1 | 1 -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps. -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${64} | ${100000} | 1 | 1 -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps, LT=0.5%. -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc03-1518B-1t1c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${1518} | ${10000} | 1 | 1 -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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. -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc04-1518B-1t1c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${1518} | ${10000} | 1 | 1 -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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%. -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc05-9000B-1t1c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${9000} | ${10000} | 1 | 1 -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 10kpps. -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc06-9000B-1t1c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${9000} | ${10000} | 1 | 1 -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 10kpps, LT=0.5%. -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${64} | ${100000} | 2 | 1 -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps. -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${64} | ${100000} | 2 | 1 -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps, LT=0.5%. -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc09-1518B-2t2c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${1518} | ${10000} | 2 | 1 -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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. -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc10-1518B-2t2c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${1518} | ${10000} | 2 | 1 -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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%. -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc11-9000B-2t2c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${9000} | ${10000} | 2 | 1 -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 10kpps. -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc12-9000B-2t2c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${9000} | ${10000} | 2 | 1 -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 10kpps, LT=0.5%. -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${64} | ${100000} | 4 | 2 -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps. -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc14-64B-4t4c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${64} | ${100000} | 4 | 2 -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps, LT=0.5%. -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc15-1518B-4t4c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${1518} | ${10000} | 4 | 2 -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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. -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc16-1518B-4t4c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${1518} | ${10000} | 4 | 2 -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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%. -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc17-9000B-4t4c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${9000} | ${10000} | 4 | 2 -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 4 threads, 4 phy cores, 2 receive queues per NIC port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 10kpps. -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc18-9000B-4t4c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${9000} | ${10000} | 4 | 2 -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 4 threads, 4 phy cores, 2 receive queues per NIC port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 10kpps, LT=0.5%. -| | [Template] | L2 Bridge Domain PDR Binary Search diff --git a/tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot new file mode 100644 index 0000000000..dff612f0a9 --- /dev/null +++ b/tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot @@ -0,0 +1,271 @@ +# 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.robot +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | ETH | L2BDMACLRN | BASE +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L2 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-bridge +| ... +| Documentation | *RFC2544: Pkt throughput L2BD test cases* +| ... +| ... | *[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. DUT1 and DUT2 tested with 2p10GE NI +| ... | 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} + +*** Keywords *** +| L2 Bridge Domain NDR Binary Search +| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} +| | Set Test Variable | ${framesize} +| | Set Test Variable | ${min_rate} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Add '${wt}' worker threads and rxqueues '${rxq}' in 3-node single-link topo +| | Add PCI devices to DUTs from 3-node single link topology +| | ${get_framesize}= | Get Frame Size | ${framesize} +| | Run Keyword If | ${get_framesize} < ${1522} | Add No Multi Seg to all DUTs +| | Apply startup configuration on all VPP DUTs +| | L2 bridge domain initialized in a 3-node circular topology +| | Find NDR using binary search and pps +| | ... | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge +| | ... | ${min_rate} | ${max_rate} | ${threshold} + +| L2 Bridge Domain PDR Binary Search +| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} +| | Set Test Variable | ${framesize} +| | Set Test Variable | ${min_rate} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Add '${wt}' worker threads and rxqueues '${rxq}' in 3-node single-link topo +| | Add PCI devices to DUTs from 3-node single link topology +| | ${get_framesize}= | Get Frame Size | ${framesize} +| | Run Keyword If | ${get_framesize} < ${1522} | Add No Multi Seg to all DUTs +| | Apply startup configuration on all VPP DUTs +| | L2 bridge domain initialized in a 3-node circular topology +| | Find PDR using binary search and pps +| | ... | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge +| | ... | ${min_rate} | ${max_rate} | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type} + +*** Test Cases *** +| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${64} | ${100000} | 1 | 1 +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps. +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${64} | ${100000} | 1 | 1 +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps, LT=0.5%. +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc03-1518B-1t1c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${1518} | ${10000} | 1 | 1 +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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. +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc04-1518B-1t1c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${1518} | ${10000} | 1 | 1 +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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%. +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc05-9000B-1t1c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${9000} | ${10000} | 1 | 1 +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 10kpps. +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc06-9000B-1t1c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${9000} | ${10000} | 1 | 1 +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 10kpps, LT=0.5%. +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${64} | ${100000} | 2 | 1 +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps. +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${64} | ${100000} | 2 | 1 +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps, LT=0.5%. +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc09-1518B-2t2c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${1518} | ${10000} | 2 | 1 +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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. +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc10-1518B-2t2c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${1518} | ${10000} | 2 | 1 +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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%. +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc11-9000B-2t2c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${9000} | ${10000} | 2 | 1 +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 10kpps. +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc12-9000B-2t2c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${9000} | ${10000} | 2 | 1 +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 10kpps, LT=0.5%. +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${64} | ${100000} | 4 | 2 +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps. +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc14-64B-4t4c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${64} | ${100000} | 4 | 2 +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps, LT=0.5%. +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc15-1518B-4t4c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${1518} | ${10000} | 4 | 2 +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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. +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc16-1518B-4t4c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${1518} | ${10000} | 4 | 2 +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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%. +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc17-9000B-4t4c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${9000} | ${10000} | 4 | 2 +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 4 threads, 4 phy cores, 2 receive queues per NIC port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 10kpps. +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc18-9000B-4t4c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${9000} | ${10000} | 4 | 2 +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 4 threads, 4 phy cores, 2 receive queues per NIC port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 10kpps, LT=0.5%. +| | [Template] | L2 Bridge Domain PDR Binary Search diff --git a/tests/perf/10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot b/tests/perf/10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot deleted file mode 100644 index 17a339328a..0000000000 --- a/tests/perf/10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot +++ /dev/null @@ -1,665 +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.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 | 3-node Performance Suite Setup with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test with vhost and VM with dpdk-testpmd teardown -| ... | ${min_rate}pps | ${framesize} | 3-node-xconnect -| ... | 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- -| ... | 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 *** -| ${bd_id1}= | 1 -| ${bd_id2}= | 2 -| ${sock1}= | /tmp/sock-1-${bd_id1} -| ${sock2}= | /tmp/sock-1-${bd_id2} -# X520-DA2 bandwidth limit -| ${s_limit} | ${10000000000} - -*** 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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1518B-1t1c-eth-l2xcbase-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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 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 5kpps. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-IMIX-1t1c-eth-l2xcbase-eth-2vhost-1vm-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 5kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1518B-2t2c-eth-l2xcbase-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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 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 5kpps. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-IMIX-2t2c-eth-l2xcbase-eth-2vhost-1vm-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 5kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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 frame \ -| | ... | size using binary search start at 10GE linerate, step 5kpps. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${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 frame \ -| | ... | size using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - diff --git a/tests/perf/10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrpdrdisc.robot new file mode 100644 index 0000000000..17a339328a --- /dev/null +++ b/tests/perf/10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrpdrdisc.robot @@ -0,0 +1,665 @@ +# 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.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 | 3-node Performance Suite Setup with DUT's NIC model +| ... | L2 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test with vhost and VM with dpdk-testpmd teardown +| ... | ${min_rate}pps | ${framesize} | 3-node-xconnect +| ... | 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- +| ... | 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 *** +| ${bd_id1}= | 1 +| ${bd_id2}= | 2 +| ${sock1}= | /tmp/sock-1-${bd_id1} +| ${sock2}= | /tmp/sock-1-${bd_id2} +# X520-DA2 bandwidth limit +| ${s_limit} | ${10000000000} + +*** 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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1518B-1t1c-eth-l2xcbase-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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 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 5kpps. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-IMIX-1t1c-eth-l2xcbase-eth-2vhost-1vm-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 5kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1518B-2t2c-eth-l2xcbase-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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 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 5kpps. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-IMIX-2t2c-eth-l2xcbase-eth-2vhost-1vm-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 5kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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 frame \ +| | ... | size using binary search start at 10GE linerate, step 5kpps. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${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 frame \ +| | ... | size using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 xconnect with Vhost-User initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + diff --git a/tests/perf/10ge2p1x520-eth-l2xcbase-ndrdisc.robot b/tests/perf/10ge2p1x520-eth-l2xcbase-ndrdisc.robot deleted file mode 100644 index 475c32db4a..0000000000 --- a/tests/perf/10ge2p1x520-eth-l2xcbase-ndrdisc.robot +++ /dev/null @@ -1,510 +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.robot -| Library | resources.libraries.python.InterfaceUtil -| Library | resources.libraries.python.NodePath -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | ETH | L2XCFWD | BASE -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-xconnect -| ... -| Documentation | *RFC2544: Pkt throughput L2XC test cases* -| ... -| ... | *[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- -| ... | connect. DUT1 and DUT2 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} - -*** Test Cases *** -| tc01-64B-1t1c-eth-l2xcbase-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 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-64B-1t1c-eth-l2xcbase-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 100kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1518B-1t1c-eth-l2xcbase-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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1518B-1t1c-eth-l2xcbase-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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc05-9000B-1t1c-eth-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-9000B-1t1c-eth-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc07-64B-2t2c-eth-l2xcbase-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 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-64B-2t2c-eth-l2xcbase-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 100kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1518B-2t2c-eth-l2xcbase-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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1518B-2t2c-eth-l2xcbase-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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc11-9000B-2t2c-eth-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-9000B-2t2c-eth-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc13-64B-4t4c-eth-l2xcbase-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 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc14-64B-4t4c-eth-l2xcbase-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 100kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc15-1518B-4t4c-eth-l2xcbase-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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc16-1518B-4t4c-eth-l2xcbase-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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc17-9000B-4t4c-eth-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc18-9000B-4t4c-eth-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc19-IMIX-1t1c-eth-l2xcbase-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 100kpps. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add all PCI devices to all DUTs -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc20-IMIX-1t1c-eth-l2xcbase-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 100kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add all PCI devices to all DUTs -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot new file mode 100644 index 0000000000..475c32db4a --- /dev/null +++ b/tests/perf/10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot @@ -0,0 +1,510 @@ +# 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.robot +| Library | resources.libraries.python.InterfaceUtil +| Library | resources.libraries.python.NodePath +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | ETH | L2XCFWD | BASE +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L2 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-xconnect +| ... +| Documentation | *RFC2544: Pkt throughput L2XC test cases* +| ... +| ... | *[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- +| ... | connect. DUT1 and DUT2 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} + +*** Test Cases *** +| tc01-64B-1t1c-eth-l2xcbase-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 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-64B-1t1c-eth-l2xcbase-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 100kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1518B-1t1c-eth-l2xcbase-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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1518B-1t1c-eth-l2xcbase-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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc05-9000B-1t1c-eth-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-9000B-1t1c-eth-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc07-64B-2t2c-eth-l2xcbase-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 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-64B-2t2c-eth-l2xcbase-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 100kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1518B-2t2c-eth-l2xcbase-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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1518B-2t2c-eth-l2xcbase-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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc11-9000B-2t2c-eth-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-9000B-2t2c-eth-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc13-64B-4t4c-eth-l2xcbase-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 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc14-64B-4t4c-eth-l2xcbase-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 100kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc15-1518B-4t4c-eth-l2xcbase-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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc16-1518B-4t4c-eth-l2xcbase-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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc17-9000B-4t4c-eth-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc18-9000B-4t4c-eth-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc19-IMIX-1t1c-eth-l2xcbase-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 100kpps. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc20-IMIX-1t1c-eth-l2xcbase-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 100kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot deleted file mode 100644 index b6afedc547..0000000000 --- a/tests/perf/10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot +++ /dev/null @@ -1,593 +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.robot -| Library | resources.libraries.python.Cop -| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT1']} -| ... | WITH NAME | dut1_v4 -| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT2']} -| ... | WITH NAME | dut2_v4 -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | ETH | IP4FWD | FEATURE | COPWHLIST -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L3 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-IPv4 -| ... -| Documentation | *RFC2544: Pkt throughput IPv4 whitelist test cases* -| ... -| ... | *[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, two static IPv4 /24 routes and IPv4 COP security whitelist -| ... | ingress /24 filter entries applied on links TG - DUT1 and DUT2 - TG. -| ... | DUT1 and DUT2 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} - -*** Test Cases *** -| tc01-64B-1t1c-ethip4-ip4base-copwhtlistbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local -| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-64B-1t1c-ethip4-ip4base-copwhtlistbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 100kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local -| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1518B-1t1c-ethip4-ip4base-copwhtlistbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local -| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1518B-1t1c-ethip4-ip4base-copwhtlistbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local -| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc05-9000B-1t1c-ethip4-ip4base-copwhtlistbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local -| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-9000B-1t1c-ethip4-ip4base-copwhtlistbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local -| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc07-64B-2t2c-ethip4-ip4base-copwhtlistbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local -| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-64B-2t2c-ethip4-ip4base-copwhtlistbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 100kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local -| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1518B-2t2c-ethip4-ip4base-copwhtlistbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local -| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1518B-2t2c-ethip4-ip4base-copwhtlistbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local -| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc11-9000B-2t2c-ethip4-ip4base-copwhtlistbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local -| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-9000B-2t2c-ethip4-ip4base-copwhtlistbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local -| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc13-64B-4t4c-ethip4-ip4base-copwhtlistbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR -| | ... | for 64 Byte frames using binary search start at 10GE linerate, -| | ... | step 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local -| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc14-64B-4t4c-ethip4-ip4base-copwhtlistbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find PDR -| | ... | for 64 Byte frames using binary search start at 10GE linerate, -| | ... | step 100kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local -| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc15-1518B-4t4c-ethip4-ip4base-copwhtlistbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR -| | ... | for 1518 Byte frames using binary search start at 10GE linerate, -| | ... | step 10kpps. -| | [Tags] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local -| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc16-1518B-4t4c-ethip4-ip4base-copwhtlistbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local -| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc17-9000B-4t4c-ethip4-ip4base-copwhtlistbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local -| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc18-9000B-4t4c-ethip4-ip4base-copwhtlistbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find PDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local -| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrpdrdisc.robot new file mode 100644 index 0000000000..b6afedc547 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrpdrdisc.robot @@ -0,0 +1,593 @@ +# 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.robot +| Library | resources.libraries.python.Cop +| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT1']} +| ... | WITH NAME | dut1_v4 +| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT2']} +| ... | WITH NAME | dut2_v4 +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | ETH | IP4FWD | FEATURE | COPWHLIST +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L3 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-IPv4 +| ... +| Documentation | *RFC2544: Pkt throughput IPv4 whitelist test cases* +| ... +| ... | *[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, two static IPv4 /24 routes and IPv4 COP security whitelist +| ... | ingress /24 filter entries applied on links TG - DUT1 and DUT2 - TG. +| ... | DUT1 and DUT2 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} + +*** Test Cases *** +| tc01-64B-1t1c-ethip4-ip4base-copwhtlistbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local +| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-64B-1t1c-ethip4-ip4base-copwhtlistbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 100kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local +| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1518B-1t1c-ethip4-ip4base-copwhtlistbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local +| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1518B-1t1c-ethip4-ip4base-copwhtlistbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local +| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc05-9000B-1t1c-ethip4-ip4base-copwhtlistbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local +| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-9000B-1t1c-ethip4-ip4base-copwhtlistbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local +| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc07-64B-2t2c-ethip4-ip4base-copwhtlistbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local +| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-64B-2t2c-ethip4-ip4base-copwhtlistbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 100kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local +| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1518B-2t2c-ethip4-ip4base-copwhtlistbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local +| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1518B-2t2c-ethip4-ip4base-copwhtlistbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local +| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc11-9000B-2t2c-ethip4-ip4base-copwhtlistbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local +| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-9000B-2t2c-ethip4-ip4base-copwhtlistbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local +| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc13-64B-4t4c-ethip4-ip4base-copwhtlistbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR +| | ... | for 64 Byte frames using binary search start at 10GE linerate, +| | ... | step 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local +| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc14-64B-4t4c-ethip4-ip4base-copwhtlistbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find PDR +| | ... | for 64 Byte frames using binary search start at 10GE linerate, +| | ... | step 100kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local +| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc15-1518B-4t4c-ethip4-ip4base-copwhtlistbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR +| | ... | for 1518 Byte frames using binary search start at 10GE linerate, +| | ... | step 10kpps. +| | [Tags] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local +| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc16-1518B-4t4c-ethip4-ip4base-copwhtlistbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local +| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc17-9000B-4t4c-ethip4-ip4base-copwhtlistbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local +| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc18-9000B-4t4c-ethip4-ip4base-copwhtlistbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find PDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 10.10.10.0 | 24 | 1 | local +| | And Add fib table | ${dut2} | 20.20.20.0 | 24 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip4 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip4 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot deleted file mode 100644 index bde5fe832c..0000000000 --- a/tests/perf/10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot +++ /dev/null @@ -1,701 +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.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 | 3-node Performance Suite Setup with DUT's NIC model -| ... | L3 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test with vhost and VM with dpdk-testpmd teardown -| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4 -| ... | 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 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} -| ${sock1}= | /tmp/sock-1 -| ${sock2}= | /tmp/sock-2 -| ${fib_table_1}= | 100 -| ${fib_table_2}= | 101 - -*** Test Cases *** -| tc01-64B-1t1c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} -| | ... | ${dut1_vif2_mac} -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} -| | ... | ${dut2_vif2_mac} -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-64B-1t1c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} -| | ... | ${dut1_vif2_mac} -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} -| | ... | ${dut2_vif2_mac} -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1518B-1t1c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} -| | ... | ${dut1_vif2_mac} -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} -| | ... | ${dut2_vif2_mac} -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1518B-1t1c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} -| | ... | ${dut1_vif2_mac} -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} -| | ... | ${dut2_vif2_mac} -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc05-IMIX-1t1c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} -| | ... | ${dut1_vif2_mac} -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} -| | ... | ${dut2_vif2_mac} -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-IMIX-1t1c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} -| | ... | ${dut1_vif2_mac} -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} -| | ... | ${dut2_vif2_mac} -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc07-64B-2t2c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} -| | ... | ${dut1_vif2_mac} -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} -| | ... | ${dut2_vif2_mac} -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-64B-2t2c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} -| | ... | ${dut1_vif2_mac} -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} -| | ... | ${dut2_vif2_mac} -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1518B-2t2c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} -| | ... | ${dut1_vif2_mac} -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} -| | ... | ${dut2_vif2_mac} -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1518B-2t2c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} -| | ... | ${dut1_vif2_mac} -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} -| | ... | ${dut2_vif2_mac} -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc11-IMIX-2t2c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} -| | ... | ${dut1_vif2_mac} -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} -| | ... | ${dut2_vif2_mac} -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-IMIX-2t2c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} -| | ... | ${dut1_vif2_mac} -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} -| | ... | ${dut2_vif2_mac} -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc13-64B-4t4c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} -| | ... | ${dut1_vif2_mac} -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} -| | ... | ${dut2_vif2_mac} -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc14-64B-4t4c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} -| | ... | ${dut1_vif2_mac} -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} -| | ... | ${dut2_vif2_mac} -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc15-1518B-4t4c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} -| | ... | ${dut1_vif2_mac} -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} -| | ... | ${dut2_vif2_mac} -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc16-1518B-4t4c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} -| | ... | ${dut1_vif2_mac} -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} -| | ... | ${dut2_vif2_mac} -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc17-IMIX-4t4c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} -| | ... | ${dut1_vif2_mac} -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} -| | ... | ${dut2_vif2_mac} -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc18-IMIX-4t4c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology -| | ... | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} -| | ... | ${dut1_vif2_mac} -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} -| | ... | ${dut2_vif2_mac} -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrpdrdisc.robot new file mode 100644 index 0000000000..bde5fe832c --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrpdrdisc.robot @@ -0,0 +1,701 @@ +# 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.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 | 3-node Performance Suite Setup with DUT's NIC model +| ... | L3 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test with vhost and VM with dpdk-testpmd teardown +| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4 +| ... | 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 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} +| ${sock1}= | /tmp/sock-1 +| ${sock2}= | /tmp/sock-2 +| ${fib_table_1}= | 100 +| ${fib_table_2}= | 101 + +*** Test Cases *** +| tc01-64B-1t1c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} +| | ... | ${dut1_vif2_mac} +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} +| | ... | ${dut2_vif2_mac} +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-64B-1t1c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} +| | ... | ${dut1_vif2_mac} +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} +| | ... | ${dut2_vif2_mac} +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1518B-1t1c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} +| | ... | ${dut1_vif2_mac} +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} +| | ... | ${dut2_vif2_mac} +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1518B-1t1c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} +| | ... | ${dut1_vif2_mac} +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} +| | ... | ${dut2_vif2_mac} +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc05-IMIX-1t1c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} +| | ... | ${dut1_vif2_mac} +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} +| | ... | ${dut2_vif2_mac} +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-IMIX-1t1c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} +| | ... | ${dut1_vif2_mac} +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} +| | ... | ${dut2_vif2_mac} +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc07-64B-2t2c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} +| | ... | ${dut1_vif2_mac} +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} +| | ... | ${dut2_vif2_mac} +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-64B-2t2c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} +| | ... | ${dut1_vif2_mac} +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} +| | ... | ${dut2_vif2_mac} +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1518B-2t2c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} +| | ... | ${dut1_vif2_mac} +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} +| | ... | ${dut2_vif2_mac} +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1518B-2t2c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} +| | ... | ${dut1_vif2_mac} +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} +| | ... | ${dut2_vif2_mac} +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc11-IMIX-2t2c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} +| | ... | ${dut1_vif2_mac} +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} +| | ... | ${dut2_vif2_mac} +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-IMIX-2t2c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} +| | ... | ${dut1_vif2_mac} +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} +| | ... | ${dut2_vif2_mac} +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc13-64B-4t4c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} +| | ... | ${dut1_vif2_mac} +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} +| | ... | ${dut2_vif2_mac} +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc14-64B-4t4c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} +| | ... | ${dut1_vif2_mac} +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} +| | ... | ${dut2_vif2_mac} +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc15-1518B-4t4c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} +| | ... | ${dut1_vif2_mac} +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} +| | ... | ${dut2_vif2_mac} +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc16-1518B-4t4c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} +| | ... | ${dut1_vif2_mac} +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} +| | ... | ${dut2_vif2_mac} +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc17-IMIX-4t4c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} +| | ... | ${dut1_vif2_mac} +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} +| | ... | ${dut2_vif2_mac} +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc18-IMIX-4t4c-ethip4-ip4base-eth-2vhost-1vm-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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding with Vhost initialized in a 3-node circular topology +| | ... | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 | ${dut1_vif1_mac} +| | ... | ${dut1_vif2_mac} +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd-mac connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 | ${dut2_vif1_mac} +| | ... | ${dut2_vif2_mac} +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot deleted file mode 100644 index ee33e0761a..0000000000 --- a/tests/perf/10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot +++ /dev/null @@ -1,737 +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.robot -| Library | resources.libraries.python.Classify.Classify -| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT1']} -| ... | WITH NAME | dut1_v4 -| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT2']} -| ... | WITH NAME | dut2_v4 -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | ETH | IP4FWD | FEATURE | IACLDST -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L3 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-IPv4 -| ... -| Documentation | *RFC2544: Pkt throughput IPv4 iAcl whitelist test cases* -| ... -| ... | *[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, two static IPv4 /24 routes and IPv4 iAcl security whitelist -| ... | ingress /24 filter entries applied on links TG - DUT1 and DUT2 - TG. -| ... | DUT1 and DUT2 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} - -*** Test Cases *** -| tc01-64B-1t1c-ethip4-ip4base-iacldstbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut1} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 20.20.20.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut2} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 10.10.10.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-64B-1t1c-ethip4-ip4base-iacldstbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 100kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut1} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 20.20.20.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut2} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 10.10.10.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1518B-1t1c-ethip4-ip4base-iacldstbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut1} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 20.20.20.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut2} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 10.10.10.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1518B-1t1c-ethip4-ip4base-iacldstbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut1} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 20.20.20.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut2} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 10.10.10.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc05-9000B-1t1c-ethip4-ip4base-iacldstbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut1} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 20.20.20.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut2} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 10.10.10.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-9000B-1t1c-ethip4-ip4base-iacldstbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut1} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 20.20.20.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut2} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 10.10.10.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc07-64B-2t2c-ethip4-ip4base-iacldstbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut1} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 20.20.20.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut2} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 10.10.10.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-64B-2t2c-ethip4-ip4base-iacldstbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 100kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut1} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 20.20.20.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut2} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 10.10.10.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1518B-2t2c-ethip4-ip4base-iacldstbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut1} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 20.20.20.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut2} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 10.10.10.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1518B-2t2c-ethip4-ip4base-iacldstbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut1} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 20.20.20.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut2} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 10.10.10.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc11-9000B-2t2c-ethip4-ip4base-iacldstbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut1} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 20.20.20.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut2} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 10.10.10.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-9000B-2t2c-ethip4-ip4base-iacldstbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut1} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 20.20.20.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut2} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 10.10.10.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc13-64B-4t4c-ethip4-ip4base-iacldstbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR -| | ... | for 64 Byte frames using binary search start at 10GE linerate, -| | ... | step 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut1} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 20.20.20.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut2} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 10.10.10.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc14-64B-4t4c-ethip4-ip4base-iacldstbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find PDR -| | ... | for 64 Byte frames using binary search start at 10GE linerate, -| | ... | step 100kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut1} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 20.20.20.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut2} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 10.10.10.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc15-1518B-4t4c-ethip4-ip4base-iacldstbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR -| | ... | for 1518 Byte frames using binary search start at 10GE linerate, -| | ... | step 10kpps. -| | [Tags] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut1} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 20.20.20.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut2} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 10.10.10.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc16-1518B-4t4c-ethip4-ip4base-iacldstbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut1} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 20.20.20.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut2} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 10.10.10.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc17-9000B-4t4c-ethip4-ip4base-iacldstbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut1} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 20.20.20.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut2} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 10.10.10.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc18-9000B-4t4c-ethip4-ip4base-iacldstbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find PDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut1} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 20.20.20.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut2} | ip4 | dst -| | And Vpp Configures Classify Session L3 -| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} -| | ... | ip4 | dst | 10.10.10.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4base-iacldstbase-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-ethip4-ip4base-iacldstbase-ndrpdrdisc.robot new file mode 100644 index 0000000000..ee33e0761a --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4-ip4base-iacldstbase-ndrpdrdisc.robot @@ -0,0 +1,737 @@ +# 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.robot +| Library | resources.libraries.python.Classify.Classify +| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT1']} +| ... | WITH NAME | dut1_v4 +| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT2']} +| ... | WITH NAME | dut2_v4 +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | ETH | IP4FWD | FEATURE | IACLDST +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L3 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-IPv4 +| ... +| Documentation | *RFC2544: Pkt throughput IPv4 iAcl whitelist test cases* +| ... +| ... | *[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, two static IPv4 /24 routes and IPv4 iAcl security whitelist +| ... | ingress /24 filter entries applied on links TG - DUT1 and DUT2 - TG. +| ... | DUT1 and DUT2 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} + +*** Test Cases *** +| tc01-64B-1t1c-ethip4-ip4base-iacldstbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut1} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 20.20.20.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut2} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 10.10.10.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-64B-1t1c-ethip4-ip4base-iacldstbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 100kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut1} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 20.20.20.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut2} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 10.10.10.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1518B-1t1c-ethip4-ip4base-iacldstbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut1} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 20.20.20.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut2} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 10.10.10.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1518B-1t1c-ethip4-ip4base-iacldstbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut1} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 20.20.20.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut2} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 10.10.10.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc05-9000B-1t1c-ethip4-ip4base-iacldstbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut1} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 20.20.20.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut2} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 10.10.10.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-9000B-1t1c-ethip4-ip4base-iacldstbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut1} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 20.20.20.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut2} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 10.10.10.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc07-64B-2t2c-ethip4-ip4base-iacldstbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut1} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 20.20.20.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut2} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 10.10.10.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-64B-2t2c-ethip4-ip4base-iacldstbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 100kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut1} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 20.20.20.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut2} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 10.10.10.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1518B-2t2c-ethip4-ip4base-iacldstbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut1} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 20.20.20.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut2} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 10.10.10.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1518B-2t2c-ethip4-ip4base-iacldstbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut1} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 20.20.20.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut2} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 10.10.10.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc11-9000B-2t2c-ethip4-ip4base-iacldstbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut1} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 20.20.20.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut2} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 10.10.10.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-9000B-2t2c-ethip4-ip4base-iacldstbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut1} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 20.20.20.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut2} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 10.10.10.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc13-64B-4t4c-ethip4-ip4base-iacldstbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR +| | ... | for 64 Byte frames using binary search start at 10GE linerate, +| | ... | step 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut1} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 20.20.20.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut2} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 10.10.10.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc14-64B-4t4c-ethip4-ip4base-iacldstbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find PDR +| | ... | for 64 Byte frames using binary search start at 10GE linerate, +| | ... | step 100kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut1} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 20.20.20.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut2} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 10.10.10.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc15-1518B-4t4c-ethip4-ip4base-iacldstbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR +| | ... | for 1518 Byte frames using binary search start at 10GE linerate, +| | ... | step 10kpps. +| | [Tags] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut1} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 20.20.20.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut2} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 10.10.10.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc16-1518B-4t4c-ethip4-ip4base-iacldstbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut1} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 20.20.20.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut2} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 10.10.10.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc17-9000B-4t4c-ethip4-ip4base-iacldstbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut1} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 20.20.20.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut2} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 10.10.10.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc18-9000B-4t4c-ethip4-ip4base-iacldstbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find PDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut1} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 20.20.20.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx} +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut2} | ip4 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip4 | dst | 10.10.10.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot deleted file mode 100644 index 02cc4d71db..0000000000 --- a/tests/perf/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot +++ /dev/null @@ -1,534 +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.robot -| Library | resources.libraries.python.Policer -| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT1']} -| ... | WITH NAME | dut1_v4 -| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT2']} -| ... | WITH NAME | dut2_v4 -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | IP4FWD | BASE | DOT1Q -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L3 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-IPv4 -| ... -| Documentation | *RFC2544: Pkt throughput IPv4 policer test cases* -| ... -| ... | *[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 and policer with 2R3C -| ... | color-aware configuration. Policer is applied on links TG - DUT1 and -| ... | DUT2 - TG. DUT1 and DUT2 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 -| ... | generated payload. MAC addresses are matching MAC addresses of the TG -| ... | node interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544, RFC2698. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit} | ${10000000000} -| ${cir}= | ${100} -| ${eir}= | ${150} - -*** Test Cases *** -| tc01-64B-1t1c-ethip4-ip4base-ipolicemarkbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer 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 \ -| | ... | 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Set Test Variable | ${cb} | ${framesize} -| | Set Test Variable | ${eb} | ${framesize} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-64B-1t1c-ethip4-ip4base-ipolicemarkbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer 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 \ -| | ... | 100kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Set Test Variable | ${cb} | ${framesize} -| | Set Test Variable | ${eb} | ${framesize} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1518B-1t1c-ethip4-ip4base-ipolicemarkbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer 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] | 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} -| | Set Test Variable | ${cb} | ${framesize} -| | Set Test Variable | ${eb} | ${framesize} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1518B-1t1c-ethip4-ip4base-ipolicemarkbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer 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] | 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} -| | Set Test Variable | ${cb} | ${framesize} -| | Set Test Variable | ${eb} | ${framesize} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc05-9000B-1t1c-ethip4-ip4base-ipolicemarkbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 thread, 1 \ -| | ... | phy core, 1 receive queue per NIC port. [Ver] Find NDR for 9000 \ -| | ... | Byte frames using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Set Test Variable | ${cb} | ${framesize} -| | Set Test Variable | ${eb} | ${framesize} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-9000B-1t1c-ethip4-ip4base-ipolicemarkbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 thread, 1 \ -| | ... | phy core, 1 receive queue per NIC port. [Ver] Find PDR for 9000 \ -| | ... | Byte frames using binary search start at 10GE linerate, step 5kpps, \ -| | ... | LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Set Test Variable | ${cb} | ${framesize} -| | Set Test Variable | ${eb} | ${framesize} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc07-64B-2t2c-ethip4-ip4base-ipolicemarkbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer 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 \ -| | ... | 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Set Test Variable | ${cb} | ${framesize} -| | Set Test Variable | ${eb} | ${framesize} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-64B-2t2c-ethip4-ip4base-ipolicemarkbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer 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 \ -| | ... | 100kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Set Test Variable | ${cb} | ${framesize} -| | Set Test Variable | ${eb} | ${framesize} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1518B-2t2c-ethip4-ip4base-ipolicemarkbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer 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] | 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} -| | Set Test Variable | ${cb} | ${framesize} -| | Set Test Variable | ${eb} | ${framesize} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1518B-2t2c-ethip4-ip4base-ipolicemarkbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer 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] | 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} -| | Set Test Variable | ${cb} | ${framesize} -| | Set Test Variable | ${eb} | ${framesize} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc11-9000B-2t2c-ethip4-ip4base-ipolicemarkbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 threads, 2 \ -| | ... | phy cores, 1 receive queue per NIC port. [Ver] Find NDR for 9000 \ -| | ... | Byte frames using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Set Test Variable | ${cb} | ${framesize} -| | Set Test Variable | ${eb} | ${framesize} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-9000B-2t2c-ethip4-ip4base-ipolicemarkbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 threads, 2 \ -| | ... | phy cores, 1 receive queue per NIC port. [Ver] Find PDR for 9000 \ -| | ... | Byte frames using binary search start at 10GE linerate, step 5kpps, \ -| | ... | LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Set Test Variable | ${cb} | ${framesize} -| | Set Test Variable | ${eb} | ${framesize} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc13-64B-4t4c-ethip4-ip4base-ipolicemarkbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 threads, 4 \ -| | ... | phy cores, 2 receive queue per NIC port. [Ver] Find NDR for 64 \ -| | ... | Byte frames using binary search start at 10GE linerate, step 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Set Test Variable | ${cb} | ${framesize} -| | Set Test Variable | ${eb} | ${framesize} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc14-64B-4t4c-ethip4-ip4base-ipolicemarkbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 threads, 4 \ -| | ... | phy cores, 2 receive queue per NIC port. [Ver] Find PDR for 64 \ -| | ... | Byte frames using binary search start at 10GE linerate, step \ -| | ... | 100kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Set Test Variable | ${cb} | ${framesize} -| | Set Test Variable | ${eb} | ${framesize} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc15-1518B-4t4c-ethip4-ip4base-ipolicemarkbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 threads, 4 \ -| | ... | phy cores, 2 receive queue per NIC port. [Ver] Find NDR for 1518 \ -| | ... | Byte frames using binary search start at 10GE linerate, step 10kpps. -| | [Tags] | 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} -| | Set Test Variable | ${cb} | ${framesize} -| | Set Test Variable | ${eb} | ${framesize} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc16-1518B-4t4c-ethip4-ip4base-ipolicemarkbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 threads, 4 \ -| | ... | phy cores, 2 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] | 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} -| | Set Test Variable | ${cb} | ${framesize} -| | Set Test Variable | ${eb} | ${framesize} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc17-9000B-4t4c-ethip4-ip4base-ipolicemarkbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 threads, 4 \ -| | ... | phy cores, 2 receive queue per NIC port. [Ver] Find NDR for 9000 \ -| | ... | Byte frames using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Set Test Variable | ${cb} | ${framesize} -| | Set Test Variable | ${eb} | ${framesize} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc18-9000B-4t4c-ethip4-ip4base-ipolicemarkbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 threads, 4 \ -| | ... | phy cores, 2 receive queue per NIC port. [Ver] Find PDR for 9000 \ -| | ... | Byte frames using binary search start at 10GE linerate, step 5kpps, \ -| | ... | LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Set Test Variable | ${cb} | ${framesize} -| | Set Test Variable | ${eb} | ${framesize} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrpdrdisc.robot new file mode 100644 index 0000000000..02cc4d71db --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrpdrdisc.robot @@ -0,0 +1,534 @@ +# 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.robot +| Library | resources.libraries.python.Policer +| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT1']} +| ... | WITH NAME | dut1_v4 +| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT2']} +| ... | WITH NAME | dut2_v4 +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | IP4FWD | BASE | DOT1Q +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L3 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-IPv4 +| ... +| Documentation | *RFC2544: Pkt throughput IPv4 policer test cases* +| ... +| ... | *[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 and policer with 2R3C +| ... | color-aware configuration. Policer is applied on links TG - DUT1 and +| ... | DUT2 - TG. DUT1 and DUT2 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 +| ... | generated payload. MAC addresses are matching MAC addresses of the TG +| ... | node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544, RFC2698. + +*** Variables *** +# X520-DA2 bandwidth limit +| ${s_limit} | ${10000000000} +| ${cir}= | ${100} +| ${eir}= | ${150} + +*** Test Cases *** +| tc01-64B-1t1c-ethip4-ip4base-ipolicemarkbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer 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 \ +| | ... | 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Set Test Variable | ${cb} | ${framesize} +| | Set Test Variable | ${eb} | ${framesize} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-64B-1t1c-ethip4-ip4base-ipolicemarkbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer 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 \ +| | ... | 100kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Set Test Variable | ${cb} | ${framesize} +| | Set Test Variable | ${eb} | ${framesize} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1518B-1t1c-ethip4-ip4base-ipolicemarkbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer 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] | 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} +| | Set Test Variable | ${cb} | ${framesize} +| | Set Test Variable | ${eb} | ${framesize} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1518B-1t1c-ethip4-ip4base-ipolicemarkbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer 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] | 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} +| | Set Test Variable | ${cb} | ${framesize} +| | Set Test Variable | ${eb} | ${framesize} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc05-9000B-1t1c-ethip4-ip4base-ipolicemarkbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 thread, 1 \ +| | ... | phy core, 1 receive queue per NIC port. [Ver] Find NDR for 9000 \ +| | ... | Byte frames using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Set Test Variable | ${cb} | ${framesize} +| | Set Test Variable | ${eb} | ${framesize} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-9000B-1t1c-ethip4-ip4base-ipolicemarkbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 thread, 1 \ +| | ... | phy core, 1 receive queue per NIC port. [Ver] Find PDR for 9000 \ +| | ... | Byte frames using binary search start at 10GE linerate, step 5kpps, \ +| | ... | LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Set Test Variable | ${cb} | ${framesize} +| | Set Test Variable | ${eb} | ${framesize} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc07-64B-2t2c-ethip4-ip4base-ipolicemarkbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer 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 \ +| | ... | 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Set Test Variable | ${cb} | ${framesize} +| | Set Test Variable | ${eb} | ${framesize} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-64B-2t2c-ethip4-ip4base-ipolicemarkbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer 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 \ +| | ... | 100kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Set Test Variable | ${cb} | ${framesize} +| | Set Test Variable | ${eb} | ${framesize} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1518B-2t2c-ethip4-ip4base-ipolicemarkbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer 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] | 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} +| | Set Test Variable | ${cb} | ${framesize} +| | Set Test Variable | ${eb} | ${framesize} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1518B-2t2c-ethip4-ip4base-ipolicemarkbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer 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] | 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} +| | Set Test Variable | ${cb} | ${framesize} +| | Set Test Variable | ${eb} | ${framesize} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc11-9000B-2t2c-ethip4-ip4base-ipolicemarkbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 threads, 2 \ +| | ... | phy cores, 1 receive queue per NIC port. [Ver] Find NDR for 9000 \ +| | ... | Byte frames using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Set Test Variable | ${cb} | ${framesize} +| | Set Test Variable | ${eb} | ${framesize} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-9000B-2t2c-ethip4-ip4base-ipolicemarkbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 threads, 2 \ +| | ... | phy cores, 1 receive queue per NIC port. [Ver] Find PDR for 9000 \ +| | ... | Byte frames using binary search start at 10GE linerate, step 5kpps, \ +| | ... | LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Set Test Variable | ${cb} | ${framesize} +| | Set Test Variable | ${eb} | ${framesize} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc13-64B-4t4c-ethip4-ip4base-ipolicemarkbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 threads, 4 \ +| | ... | phy cores, 2 receive queue per NIC port. [Ver] Find NDR for 64 \ +| | ... | Byte frames using binary search start at 10GE linerate, step 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Set Test Variable | ${cb} | ${framesize} +| | Set Test Variable | ${eb} | ${framesize} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc14-64B-4t4c-ethip4-ip4base-ipolicemarkbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 threads, 4 \ +| | ... | phy cores, 2 receive queue per NIC port. [Ver] Find PDR for 64 \ +| | ... | Byte frames using binary search start at 10GE linerate, step \ +| | ... | 100kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Set Test Variable | ${cb} | ${framesize} +| | Set Test Variable | ${eb} | ${framesize} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc15-1518B-4t4c-ethip4-ip4base-ipolicemarkbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 threads, 4 \ +| | ... | phy cores, 2 receive queue per NIC port. [Ver] Find NDR for 1518 \ +| | ... | Byte frames using binary search start at 10GE linerate, step 10kpps. +| | [Tags] | 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} +| | Set Test Variable | ${cb} | ${framesize} +| | Set Test Variable | ${eb} | ${framesize} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc16-1518B-4t4c-ethip4-ip4base-ipolicemarkbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 threads, 4 \ +| | ... | phy cores, 2 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] | 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} +| | Set Test Variable | ${cb} | ${framesize} +| | Set Test Variable | ${eb} | ${framesize} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc17-9000B-4t4c-ethip4-ip4base-ipolicemarkbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 threads, 4 \ +| | ... | phy cores, 2 receive queue per NIC port. [Ver] Find NDR for 9000 \ +| | ... | Byte frames using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Set Test Variable | ${cb} | ${framesize} +| | Set Test Variable | ${eb} | ${framesize} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc18-9000B-4t4c-ethip4-ip4base-ipolicemarkbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 threads, 4 \ +| | ... | phy cores, 2 receive queue per NIC port. [Ver] Find PDR for 9000 \ +| | ... | Byte frames using binary search start at 10GE linerate, step 5kpps, \ +| | ... | LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Set Test Variable | ${cb} | ${framesize} +| | Set Test Variable | ${eb} | ${framesize} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4base-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip4-ip4base-ndrdisc.robot deleted file mode 100644 index 2b009b2777..0000000000 --- a/tests/perf/10ge2p1x520-ethip4-ip4base-ndrdisc.robot +++ /dev/null @@ -1,516 +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.robot -| Library | resources.libraries.python.topology.Topology -| Library | resources.libraries.python.NodePath -| Library | resources.libraries.python.InterfaceUtil -| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT1']} -| ... | WITH NAME | dut1_v4 -| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT2']} -| ... | WITH NAME | dut2_v4 -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | ETH | IP4FWD | BASE -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L3 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-IPv4 -| ... -| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases* -| ... -| ... | *[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. DUT1 and DUT2 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} - -*** Test Cases *** -| tc01-64B-1t1c-ethip4-ip4base-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 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-64B-1t1c-ethip4-ip4base-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 100kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1518B-1t1c-ethip4-ip4base-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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1518B-1t1c-ethip4-ip4base-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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc05-9000B-1t1c-ethip4-ip4base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-9000B-1t1c-ethip4-ip4base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc07-64B-2t2c-ethip4-ip4base-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 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-64B-2t2c-ethip4-ip4base-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 100kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1518B-2t2c-ethip4-ip4base-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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1518B-2t2c-ethip4-ip4base-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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc11-9000B-2t2c-ethip4-ip4base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-9000B-2t2c-ethip4-ip4base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc13-64B-4t4c-ethip4-ip4base-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 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc14-64B-4t4c-ethip4-ip4base-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 100kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc15-1518B-4t4c-ethip4-ip4base-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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc16-1518B-4t4c-ethip4-ip4base-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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc17-9000B-4t4c-ethip4-ip4base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc18-9000B-4t4c-ethip4-ip4base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc19-IMIX-1t1c-ethip4-ip4base-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 100kpps. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add all PCI devices to all DUTs -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc20-IMIX-1t1c-ethip4-ip4base-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 100kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add all PCI devices to all DUTs -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4base-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-ethip4-ip4base-ndrpdrdisc.robot new file mode 100644 index 0000000000..2b009b2777 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4-ip4base-ndrpdrdisc.robot @@ -0,0 +1,516 @@ +# 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.robot +| Library | resources.libraries.python.topology.Topology +| Library | resources.libraries.python.NodePath +| Library | resources.libraries.python.InterfaceUtil +| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT1']} +| ... | WITH NAME | dut1_v4 +| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT2']} +| ... | WITH NAME | dut2_v4 +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | ETH | IP4FWD | BASE +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L3 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-IPv4 +| ... +| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases* +| ... +| ... | *[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. DUT1 and DUT2 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} + +*** Test Cases *** +| tc01-64B-1t1c-ethip4-ip4base-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 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-64B-1t1c-ethip4-ip4base-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 100kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1518B-1t1c-ethip4-ip4base-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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1518B-1t1c-ethip4-ip4base-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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc05-9000B-1t1c-ethip4-ip4base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-9000B-1t1c-ethip4-ip4base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc07-64B-2t2c-ethip4-ip4base-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 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-64B-2t2c-ethip4-ip4base-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 100kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1518B-2t2c-ethip4-ip4base-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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1518B-2t2c-ethip4-ip4base-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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc11-9000B-2t2c-ethip4-ip4base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-9000B-2t2c-ethip4-ip4base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc13-64B-4t4c-ethip4-ip4base-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 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc14-64B-4t4c-ethip4-ip4base-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 100kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc15-1518B-4t4c-ethip4-ip4base-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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc16-1518B-4t4c-ethip4-ip4base-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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc17-9000B-4t4c-ethip4-ip4base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc18-9000B-4t4c-ethip4-ip4base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc19-IMIX-1t1c-ethip4-ip4base-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 100kpps. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc20-IMIX-1t1c-ethip4-ip4base-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 100kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot deleted file mode 100644 index 99905e27fb..0000000000 --- a/tests/perf/10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot +++ /dev/null @@ -1,499 +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.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | ETH | IP4FWD | SCALE | FIB_200K -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L3 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-IPv4-dst-${rts_per_flow} -| ... -| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases* -| ... -| ... | *[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 2x100k static IPv4 /32 route entries. DUT1 and DUT2 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, 100k 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. Incrementing of IP.dst (IPv4 destination address) field -| ... | is applied to both streams. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit} | ${10000000000} -| ${rts_per_flow}= | 100000 - -*** Test Cases *** -| tc01-64B-1t1c-ethip4-ip4scale200k-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 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-64B-1t1c-ethip4-ip4scale200k-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 100kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1518B-1t1c-ethip4-ip4scale200k-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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1518B-1t1c-ethip4-ip4scale200k-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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc05-9000B-1t1c-ethip4-ip4scale200k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-9000B-1t1c-ethip4-ip4scale200k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc07-64B-2t2c-ethip4-ip4scale200k-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 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-64B-2t2c-ethip4-ip4scale200k-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 100kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1518B-2t2c-ethip4-ip4scale200k-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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1518B-2t2c-ethip4-ip4scale200k-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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc11-9000B-2t2c-ethip4-ip4scale200k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-9000B-2t2c-ethip4-ip4scale200k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc13-64B-4t4c-ethip4-ip4scale200k-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 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc14-64B-4t4c-ethip4-ip4scale200k-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 100kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc15-1518B-4t4c-ethip4-ip4scale200k-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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc16-1518B-4t4c-ethip4-ip4scale200k-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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc17-9000B-4t4c-ethip4-ip4scale200k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc18-9000B-4t4c-ethip4-ip4scale200k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4scale200k-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-ethip4-ip4scale200k-ndrpdrdisc.robot new file mode 100644 index 0000000000..99905e27fb --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4-ip4scale200k-ndrpdrdisc.robot @@ -0,0 +1,499 @@ +# 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.robot +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | ETH | IP4FWD | SCALE | FIB_200K +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L3 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-IPv4-dst-${rts_per_flow} +| ... +| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases* +| ... +| ... | *[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 2x100k static IPv4 /32 route entries. DUT1 and DUT2 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, 100k 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. Incrementing of IP.dst (IPv4 destination address) field +| ... | is applied to both streams. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +# X520-DA2 bandwidth limit +| ${s_limit} | ${10000000000} +| ${rts_per_flow}= | 100000 + +*** Test Cases *** +| tc01-64B-1t1c-ethip4-ip4scale200k-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 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-64B-1t1c-ethip4-ip4scale200k-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 100kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1518B-1t1c-ethip4-ip4scale200k-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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1518B-1t1c-ethip4-ip4scale200k-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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc05-9000B-1t1c-ethip4-ip4scale200k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-9000B-1t1c-ethip4-ip4scale200k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc07-64B-2t2c-ethip4-ip4scale200k-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 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-64B-2t2c-ethip4-ip4scale200k-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 100kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1518B-2t2c-ethip4-ip4scale200k-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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1518B-2t2c-ethip4-ip4scale200k-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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc11-9000B-2t2c-ethip4-ip4scale200k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-9000B-2t2c-ethip4-ip4scale200k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc13-64B-4t4c-ethip4-ip4scale200k-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 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc14-64B-4t4c-ethip4-ip4scale200k-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 100kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc15-1518B-4t4c-ethip4-ip4scale200k-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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc16-1518B-4t4c-ethip4-ip4scale200k-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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc17-9000B-4t4c-ethip4-ip4scale200k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc18-9000B-4t4c-ethip4-ip4scale200k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot deleted file mode 100644 index 1101b1383e..0000000000 --- a/tests/perf/10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot +++ /dev/null @@ -1,499 +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.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | ETH | IP4FWD | SCALE | FIB_20K -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L3 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-IPv4-dst-${rts_per_flow} -| ... -| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases* -| ... -| ... | *[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 2x10k static IPv4 /32 route entries. DUT1 and DUT2 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, 10k 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. Incrementing of IP.dst (IPv4 destination address) field -| ... | is applied to both streams. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit} | ${10000000000} -| ${rts_per_flow}= | ${10000} - -*** Test Cases *** -| tc01-64B-1t1c-ethip4-ip4scale20k-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 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-64B-1t1c-ethip4-ip4scale20k-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 100kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1518B-1t1c-ethip4-ip4scale20k-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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1518B-1t1c-ethip4-ip4scale20k-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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc05-9000B-1t1c-ethip4-ip4scale20k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-9000B-1t1c-ethip4-ip4scale20k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc07-64B-2t2c-ethip4-ip4scale20k-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 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-64B-2t2c-ethip4-ip4scale20k-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 100kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1518B-2t2c-ethip4-ip4scale20k-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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1518B-2t2c-ethip4-ip4scale20k-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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc11-9000B-2t2c-ethip4-ip4scale20k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-9000B-2t2c-ethip4-ip4scale20k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc13-64B-4t4c-ethip4-ip4scale20k-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 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc14-64B-4t4c-ethip4-ip4scale20k-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 100kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc15-1518B-4t4c-ethip4-ip4scale20k-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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc16-1518B-4t4c-ethip4-ip4scale20k-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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc17-9000B-4t4c-ethip4-ip4scale20k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc18-9000B-4t4c-ethip4-ip4scale20k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4scale20k-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-ethip4-ip4scale20k-ndrpdrdisc.robot new file mode 100644 index 0000000000..1101b1383e --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4-ip4scale20k-ndrpdrdisc.robot @@ -0,0 +1,499 @@ +# 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.robot +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | ETH | IP4FWD | SCALE | FIB_20K +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L3 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-IPv4-dst-${rts_per_flow} +| ... +| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases* +| ... +| ... | *[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 2x10k static IPv4 /32 route entries. DUT1 and DUT2 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, 10k 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. Incrementing of IP.dst (IPv4 destination address) field +| ... | is applied to both streams. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +# X520-DA2 bandwidth limit +| ${s_limit} | ${10000000000} +| ${rts_per_flow}= | ${10000} + +*** Test Cases *** +| tc01-64B-1t1c-ethip4-ip4scale20k-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 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-64B-1t1c-ethip4-ip4scale20k-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 100kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1518B-1t1c-ethip4-ip4scale20k-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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1518B-1t1c-ethip4-ip4scale20k-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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc05-9000B-1t1c-ethip4-ip4scale20k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-9000B-1t1c-ethip4-ip4scale20k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc07-64B-2t2c-ethip4-ip4scale20k-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 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-64B-2t2c-ethip4-ip4scale20k-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 100kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1518B-2t2c-ethip4-ip4scale20k-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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1518B-2t2c-ethip4-ip4scale20k-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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc11-9000B-2t2c-ethip4-ip4scale20k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-9000B-2t2c-ethip4-ip4scale20k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc13-64B-4t4c-ethip4-ip4scale20k-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 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc14-64B-4t4c-ethip4-ip4scale20k-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 100kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc15-1518B-4t4c-ethip4-ip4scale20k-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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc16-1518B-4t4c-ethip4-ip4scale20k-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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc17-9000B-4t4c-ethip4-ip4scale20k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc18-9000B-4t4c-ethip4-ip4scale20k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot deleted file mode 100644 index da654591e4..0000000000 --- a/tests/perf/10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot +++ /dev/null @@ -1,517 +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.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | ETH | IP4FWD | SCALE | FIB_2M -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L3 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-IPv4-dst-${rts_per_flow} -| ... -| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases* -| ... -| ... | *[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 2x1M static IPv4 /32 route entries. DUT1 and DUT2 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, 1M 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. Incrementing of IP.dst (IPv4 destination address) field -| ... | is applied to both streams. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit} | ${10000000000} -| ${rts_per_flow}= | ${1000000} - -*** Test Cases *** -| tc01-64B-1t1c-ethip4-ip4scale2m-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 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Add Heapsize Config to all DUTs | 3G -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-64B-1t1c-ethip4-ip4scale2m-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 100kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Add Heapsize Config to all DUTs | 3G -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1518B-1t1c-ethip4-ip4scale2m-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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Add Heapsize Config to all DUTs | 3G -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1518B-1t1c-ethip4-ip4scale2m-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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Add Heapsize Config to all DUTs | 3G -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc05-9000B-1t1c-ethip4-ip4scale2m-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add Heapsize Config to all DUTs | 3G -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-9000B-1t1c-ethip4-ip4scale2m-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add Heapsize Config to all DUTs | 3G -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc07-64B-2t2c-ethip4-ip4scale2m-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 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Add Heapsize Config to all DUTs | 3G -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-64B-2t2c-ethip4-ip4scale2m-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 100kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Add Heapsize Config to all DUTs | 3G -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1518B-2t2c-ethip4-ip4scale2m-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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Add Heapsize Config to all DUTs | 3G -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1518B-2t2c-ethip4-ip4scale2m-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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Add Heapsize Config to all DUTs | 3G -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc11-9000B-2t2c-ethip4-ip4scale2m-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add Heapsize Config to all DUTs | 3G -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-9000B-2t2c-ethip4-ip4scale2m-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add Heapsize Config to all DUTs | 3G -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc13-64B-4t4c-ethip4-ip4scale2m-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 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Add Heapsize Config to all DUTs | 3G -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc14-64B-4t4c-ethip4-ip4scale2m-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 100kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Add Heapsize Config to all DUTs | 3G -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc15-1518B-4t4c-ethip4-ip4scale2m-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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Add Heapsize Config to all DUTs | 3G -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc16-1518B-4t4c-ethip4-ip4scale2m-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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Add Heapsize Config to all DUTs | 3G -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc17-9000B-4t4c-ethip4-ip4scale2m-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add Heapsize Config to all DUTs | 3G -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc18-9000B-4t4c-ethip4-ip4scale2m-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add Heapsize Config to all DUTs | 3G -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv4-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4scale2m-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-ethip4-ip4scale2m-ndrpdrdisc.robot new file mode 100644 index 0000000000..da654591e4 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4-ip4scale2m-ndrpdrdisc.robot @@ -0,0 +1,517 @@ +# 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.robot +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | ETH | IP4FWD | SCALE | FIB_2M +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L3 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-IPv4-dst-${rts_per_flow} +| ... +| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases* +| ... +| ... | *[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 2x1M static IPv4 /32 route entries. DUT1 and DUT2 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, 1M 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. Incrementing of IP.dst (IPv4 destination address) field +| ... | is applied to both streams. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +# X520-DA2 bandwidth limit +| ${s_limit} | ${10000000000} +| ${rts_per_flow}= | ${1000000} + +*** Test Cases *** +| tc01-64B-1t1c-ethip4-ip4scale2m-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 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Add Heapsize Config to all DUTs | 3G +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-64B-1t1c-ethip4-ip4scale2m-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 100kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Add Heapsize Config to all DUTs | 3G +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1518B-1t1c-ethip4-ip4scale2m-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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Add Heapsize Config to all DUTs | 3G +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1518B-1t1c-ethip4-ip4scale2m-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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Add Heapsize Config to all DUTs | 3G +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc05-9000B-1t1c-ethip4-ip4scale2m-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add Heapsize Config to all DUTs | 3G +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-9000B-1t1c-ethip4-ip4scale2m-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add Heapsize Config to all DUTs | 3G +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc07-64B-2t2c-ethip4-ip4scale2m-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 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Add Heapsize Config to all DUTs | 3G +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-64B-2t2c-ethip4-ip4scale2m-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 100kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Add Heapsize Config to all DUTs | 3G +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1518B-2t2c-ethip4-ip4scale2m-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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Add Heapsize Config to all DUTs | 3G +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1518B-2t2c-ethip4-ip4scale2m-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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Add Heapsize Config to all DUTs | 3G +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc11-9000B-2t2c-ethip4-ip4scale2m-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add Heapsize Config to all DUTs | 3G +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-9000B-2t2c-ethip4-ip4scale2m-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add Heapsize Config to all DUTs | 3G +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc13-64B-4t4c-ethip4-ip4scale2m-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 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Add Heapsize Config to all DUTs | 3G +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc14-64B-4t4c-ethip4-ip4scale2m-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 100kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Add Heapsize Config to all DUTs | 3G +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc15-1518B-4t4c-ethip4-ip4scale2m-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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Add Heapsize Config to all DUTs | 3G +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc16-1518B-4t4c-ethip4-ip4scale2m-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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Add Heapsize Config to all DUTs | 3G +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc17-9000B-4t4c-ethip4-ip4scale2m-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add Heapsize Config to all DUTs | 3G +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc18-9000B-4t4c-ethip4-ip4scale2m-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add Heapsize Config to all DUTs | 3G +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv4-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot deleted file mode 100644 index 8c676db2f3..0000000000 --- a/tests/perf/10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot +++ /dev/null @@ -1,623 +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.robot -| Resource | resources/libraries/robot/lisp/lisp_static_adjacency.robot -| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT1']} -| ... | WITH NAME | dut1_v4 -| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT2']} -| ... | WITH NAME | dut2_v4 -| Variables | resources/test_data/lisp/performance/lisp_static_adjacency.py -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | IP4FWD | ENCAP | LISP | IP4UNRLAY | IP4OVRLAY -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L3 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-IPv4 -| ... -| Documentation | *RFC6830: Pkt throughput Lisp test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-LISP-IPv4 on DUT1-DUT2,\ -| ... | Eth-IPv4 on TG-DUTn for IPv4 routing over LISPoIPv4 tunnel. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv4\ -| ... | routing and static routes. LISPoIPv4 tunnel is configured between DUT1\ -| ... | and DUT2. DUT1 and DUT2 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 -| ... | *[Ref] Applicable standard specifications:* RFC6830. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit} | ${10000000000} - -*** Test Cases *** -| tc01-64B-1t1c-ethip4lispip4-ip4base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ -| | ... | filters 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 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} -| | ... | ${dut2_to_tg_ip4} | ${prefix4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} -| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-64B-1t1c-ethip4lispip4-ip4base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ -| | ... | filters 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 100kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} -| | ... | ${dut2_to_tg_ip4} | ${prefix4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} -| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1480B-1t1c-ethip4lispip4-ip4base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ -| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 1480 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 10kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${1480} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} -| | ... | ${dut2_to_tg_ip4} | ${prefix4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} -| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1480B-1t1c-ethip4lispip4-ip4base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ -| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 1480 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 10kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1480} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} -| | ... | ${dut2_to_tg_ip4} | ${prefix4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} -| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc05-9000B-1t1c-ethip4lispip4-ip4base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ -| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 5kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} -| | ... | ${dut2_to_tg_ip4} | ${prefix4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} -| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-9000B-1t1c-ethip4lispip4-ip4base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ -| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} -| | ... | ${dut2_to_tg_ip4} | ${prefix4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} -| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc07-64B-2t2c-ethip4lispip4-ip4base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ -| | ... | filters 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 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} -| | ... | ${dut2_to_tg_ip4} | ${prefix4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} -| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-64B-2t2c-ethip4lispip4-ip4base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ -| | ... | filters 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 100kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} -| | ... | ${dut2_to_tg_ip4} | ${prefix4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} -| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1480B-2t2c-ethip4lispip4-ip4base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ -| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 1480 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 10kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1480} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} -| | ... | ${dut2_to_tg_ip4} | ${prefix4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} -| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1480B-2t2c-ethip4lispip4-ip4base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ -| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 1480 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 10kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1480} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} -| | ... | ${dut2_to_tg_ip4} | ${prefix4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} -| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc11-9000B-2t2c-ethip4lispip4-ip4base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ -| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 5kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} -| | ... | ${dut2_to_tg_ip4} | ${prefix4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} -| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-9000B-2t2c-ethip4lispip4-ip4base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ -| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} -| | ... | ${dut2_to_tg_ip4} | ${prefix4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} -| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc13-64B-4t4c-ethip4lispip4-ip4base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ -| | ... | filters 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 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} -| | ... | ${dut2_to_tg_ip4} | ${prefix4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} -| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc14-64B-4t4c-ethip4lispip4-ip4base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ -| | ... | filters 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 100kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} -| | ... | ${dut2_to_tg_ip4} | ${prefix4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} -| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc15-1480B-4t4c-ethip4lispip4-ip4base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ -| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 1480 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 10kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1480} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} -| | ... | ${dut2_to_tg_ip4} | ${prefix4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} -| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc16-1480B-4t4c-ethip4lispip4-ip4base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ -| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 1480 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 10kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1480} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} -| | ... | ${dut2_to_tg_ip4} | ${prefix4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} -| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc17-9000B-4t4c-ethip4lispip4-ip4base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ -| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 5kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} -| | ... | ${dut2_to_tg_ip4} | ${prefix4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} -| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc18-9000B-4t4c-ethip4lispip4-ip4base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ -| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} -| | ... | ${dut2_to_tg_ip4} | ${prefix4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} -| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4lispip4-ip4base-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-ethip4lispip4-ip4base-ndrpdrdisc.robot new file mode 100644 index 0000000000..8c676db2f3 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4lispip4-ip4base-ndrpdrdisc.robot @@ -0,0 +1,623 @@ +# 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.robot +| Resource | resources/libraries/robot/lisp/lisp_static_adjacency.robot +| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT1']} +| ... | WITH NAME | dut1_v4 +| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT2']} +| ... | WITH NAME | dut2_v4 +| Variables | resources/test_data/lisp/performance/lisp_static_adjacency.py +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | IP4FWD | ENCAP | LISP | IP4UNRLAY | IP4OVRLAY +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L3 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-IPv4 +| ... +| Documentation | *RFC6830: Pkt throughput Lisp test cases* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-LISP-IPv4 on DUT1-DUT2,\ +| ... | Eth-IPv4 on TG-DUTn for IPv4 routing over LISPoIPv4 tunnel. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv4\ +| ... | routing and static routes. LISPoIPv4 tunnel is configured between DUT1\ +| ... | and DUT2. DUT1 and DUT2 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 +| ... | *[Ref] Applicable standard specifications:* RFC6830. + +*** Variables *** +# X520-DA2 bandwidth limit +| ${s_limit} | ${10000000000} + +*** Test Cases *** +| tc01-64B-1t1c-ethip4lispip4-ip4base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ +| | ... | filters 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 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} +| | ... | ${dut2_to_tg_ip4} | ${prefix4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} +| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-64B-1t1c-ethip4lispip4-ip4base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ +| | ... | filters 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 100kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} +| | ... | ${dut2_to_tg_ip4} | ${prefix4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} +| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1480B-1t1c-ethip4lispip4-ip4base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ +| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 1480 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 10kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${1480} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} +| | ... | ${dut2_to_tg_ip4} | ${prefix4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} +| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1480B-1t1c-ethip4lispip4-ip4base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ +| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 1480 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1480} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} +| | ... | ${dut2_to_tg_ip4} | ${prefix4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} +| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc05-9000B-1t1c-ethip4lispip4-ip4base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ +| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 5kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} +| | ... | ${dut2_to_tg_ip4} | ${prefix4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} +| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-9000B-1t1c-ethip4lispip4-ip4base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ +| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} +| | ... | ${dut2_to_tg_ip4} | ${prefix4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} +| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc07-64B-2t2c-ethip4lispip4-ip4base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ +| | ... | filters 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 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} +| | ... | ${dut2_to_tg_ip4} | ${prefix4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} +| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-64B-2t2c-ethip4lispip4-ip4base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ +| | ... | filters 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 100kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} +| | ... | ${dut2_to_tg_ip4} | ${prefix4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} +| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1480B-2t2c-ethip4lispip4-ip4base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ +| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 1480 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 10kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1480} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} +| | ... | ${dut2_to_tg_ip4} | ${prefix4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} +| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1480B-2t2c-ethip4lispip4-ip4base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ +| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 1480 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1480} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} +| | ... | ${dut2_to_tg_ip4} | ${prefix4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} +| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc11-9000B-2t2c-ethip4lispip4-ip4base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ +| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 5kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} +| | ... | ${dut2_to_tg_ip4} | ${prefix4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} +| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-9000B-2t2c-ethip4lispip4-ip4base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ +| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} +| | ... | ${dut2_to_tg_ip4} | ${prefix4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} +| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc13-64B-4t4c-ethip4lispip4-ip4base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ +| | ... | filters 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 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} +| | ... | ${dut2_to_tg_ip4} | ${prefix4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} +| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc14-64B-4t4c-ethip4lispip4-ip4base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ +| | ... | filters 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 100kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} +| | ... | ${dut2_to_tg_ip4} | ${prefix4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} +| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc15-1480B-4t4c-ethip4lispip4-ip4base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ +| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 1480 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 10kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1480} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} +| | ... | ${dut2_to_tg_ip4} | ${prefix4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} +| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc16-1480B-4t4c-ethip4lispip4-ip4base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ +| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 1480 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1480} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} +| | ... | ${dut2_to_tg_ip4} | ${prefix4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} +| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc17-9000B-4t4c-ethip4lispip4-ip4base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ +| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 5kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} +| | ... | ${dut2_to_tg_ip4} | ${prefix4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} +| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc18-9000B-4t4c-ethip4lispip4-ip4base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 LISP remote static mappings and whitelist\ +| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4} | ${dut1_to_tg_ip4} | ${dut2_to_dut1_ip4} +| | ... | ${dut2_to_tg_ip4} | ${prefix4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} +| | ... | ${dut1_ip4_static_adjacency} | ${dut2_ip4_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot deleted file mode 100644 index d49ae42b60..0000000000 --- a/tests/perf/10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot +++ /dev/null @@ -1,624 +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.robot -| Resource | resources/libraries/robot/lisp/lisp_static_adjacency.robot -| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT1']} -| ... | WITH NAME | dut1_v4 -| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT2']} -| ... | WITH NAME | dut2_v4 -| Variables | resources/test_data/lisp/performance/lisp_static_adjacency.py -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | IP4FWD | ENCAP | LISP | IP6UNRLAY | IP4OVRLAY -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L3 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-IPv4 -| ... -| Documentation | *RFC6830: Pkt throughput Lisp test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-LISP-IPv6 on DUT1-DUT2 and\ -| ... | Eth-IPv4 on TG-DUTn for IPv4 routing over LISPoIPv6 tunnel.\ -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv4\ -| ... | routing and static routes. LISPoIPv6 tunnel is configured\ -| ... | between DUT1 and DUT2. DUT1 and DUT2 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\ -| ... | *[Ref] Applicable standard specifications:* RFC6830. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit} | ${10000000000} - -*** Test Cases *** -| tc01-64B-1t1c-ethip4lispip6-ip4base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters 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 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} -| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} -| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-64B-1t1c-ethip4lispip6-ip4base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters 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 100kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} -| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} -| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1460B-1t1c-ethip4lispip6-ip4base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 1460 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${1460} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} -| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} -| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1460B-1t1c-ethip4lispip6-ip4base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 1460 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 10kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1460} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} -| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} -| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc05-9000B-1t1c-ethip4lispip6-ip4base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 5kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} -| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} -| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-9000B-1t1c-ethip4lispip6-ip4base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} -| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} -| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc07-64B-2t2c-ethip4lispip6-ip4base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters 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 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} -| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} -| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-64B-2t2c-ethip4lispip6-ip4base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters 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 100kpps. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} -| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} -| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1460B-2t2c-ethip4lispip6-ip4base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 1460 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 10kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1460} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} -| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} -| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1460B-2t2c-ethip4lispip6-ip4base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 1460 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 10kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1460} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} -| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} -| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc11-9000B-2t2c-ethip4lispip6-ip4base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 5kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} -| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} -| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-9000B-2t2c-ethip4lispip6-ip4base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} -| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} -| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc13-64B-4t4c-ethip4lispip6-ip4base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters 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 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} -| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} -| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc14-64B-4t4c-ethip4lispip6-ip4base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters 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 100kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} -| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} -| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc15-1460B-4t4c-ethip4lispip6-ip4base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 1460 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 10kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1460} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} -| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} -| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc16-1460B-4t4c-ethip4lispip6-ip4base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 1460 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 10kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1460} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} -| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} -| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc17-9000B-4t4c-ethip4lispip6-ip4base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 5kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} -| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} -| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc18-9000B-4t4c-ethip4lispip6-ip4base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} -| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} -| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4lispip6-ip4base-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-ethip4lispip6-ip4base-ndrpdrdisc.robot new file mode 100644 index 0000000000..d49ae42b60 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4lispip6-ip4base-ndrpdrdisc.robot @@ -0,0 +1,624 @@ +# 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.robot +| Resource | resources/libraries/robot/lisp/lisp_static_adjacency.robot +| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT1']} +| ... | WITH NAME | dut1_v4 +| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT2']} +| ... | WITH NAME | dut2_v4 +| Variables | resources/test_data/lisp/performance/lisp_static_adjacency.py +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | IP4FWD | ENCAP | LISP | IP6UNRLAY | IP4OVRLAY +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L3 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-IPv4 +| ... +| Documentation | *RFC6830: Pkt throughput Lisp test cases* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-LISP-IPv6 on DUT1-DUT2 and\ +| ... | Eth-IPv4 on TG-DUTn for IPv4 routing over LISPoIPv6 tunnel.\ +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv4\ +| ... | routing and static routes. LISPoIPv6 tunnel is configured\ +| ... | between DUT1 and DUT2. DUT1 and DUT2 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\ +| ... | *[Ref] Applicable standard specifications:* RFC6830. + +*** Variables *** +# X520-DA2 bandwidth limit +| ${s_limit} | ${10000000000} + +*** Test Cases *** +| tc01-64B-1t1c-ethip4lispip6-ip4base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters 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 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} +| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} +| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-64B-1t1c-ethip4lispip6-ip4base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters 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 100kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} +| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} +| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1460B-1t1c-ethip4lispip6-ip4base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 1460 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${1460} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} +| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} +| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1460B-1t1c-ethip4lispip6-ip4base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 1460 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1460} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} +| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} +| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc05-9000B-1t1c-ethip4lispip6-ip4base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 5kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} +| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} +| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-9000B-1t1c-ethip4lispip6-ip4base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} +| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} +| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc07-64B-2t2c-ethip4lispip6-ip4base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters 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 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} +| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} +| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-64B-2t2c-ethip4lispip6-ip4base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters 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 100kpps. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} +| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} +| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1460B-2t2c-ethip4lispip6-ip4base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 1460 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 10kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1460} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} +| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} +| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1460B-2t2c-ethip4lispip6-ip4base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 1460 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1460} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} +| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} +| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc11-9000B-2t2c-ethip4lispip6-ip4base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 5kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} +| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} +| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-9000B-2t2c-ethip4lispip6-ip4base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} +| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} +| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc13-64B-4t4c-ethip4lispip6-ip4base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters 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 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} +| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} +| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc14-64B-4t4c-ethip4lispip6-ip4base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters 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 100kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} +| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} +| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc15-1460B-4t4c-ethip4lispip6-ip4base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 1460 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 10kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1460} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} +| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} +| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc16-1460B-4t4c-ethip4lispip6-ip4base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 1460 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1460} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} +| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} +| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc17-9000B-4t4c-ethip4lispip6-ip4base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 5kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} +| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} +| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc18-9000B-4t4c-ethip4lispip6-ip4base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv4 over IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip4o6} | ${dut1_to_tg_ip4o6} | ${dut2_to_dut1_ip4o6} +| | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | ${dut_prefix4o6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} | ${dut2_ip4o6_eid} +| | ... | ${dut1_ip4o6_static_adjacency} | ${dut2_ip4o6_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot deleted file mode 100644 index 34f9a5f8ee..0000000000 --- a/tests/perf/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot +++ /dev/null @@ -1,691 +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.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 | 3-node Performance Suite Setup with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test with vhost and VM with dpdk-testpmd teardown -| ... | ${min_rate}pps | ${framesize} | 3-node-bridge -| ... | 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} - -*** 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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot new file mode 100644 index 0000000000..34f9a5f8ee --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot @@ -0,0 +1,691 @@ +# 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.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 | 3-node Performance Suite Setup with DUT's NIC model +| ... | L2 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test with vhost and VM with dpdk-testpmd teardown +| ... | ${min_rate}pps | ${framesize} | 3-node-bridge +| ... | 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} + +*** 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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot deleted file mode 100644 index d83fbc4142..0000000000 --- a/tests/perf/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot +++ /dev/null @@ -1,484 +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.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | L2BDMACLRN | ENCAP | VXLAN | L2OVRLAY | IP4UNRLAY -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-bridge -| ... -| Documentation | *RFC2544: Packet throughput L2BD with VXLANoIPv4 test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 bridge domain on TG-DUTn. -| ... | 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. VXLAN tunnels are configured between L2BDs on DUT1 and DUT2. -| ... | DUT1 and DUT2 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 -| ... | generated 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} - -*** Test Cases *** -| tc01-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD forwarding 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 100kpps. -| | ... -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD forwarding 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 100kpps, LT=0.5%. -| | ... -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1518B-1t1c-ethip4vxlan-l2bdbasemaclrn-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD forwarding 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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1518B-1t1c-ethip4vxlan-l2bdbasemaclrn-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD forwarding 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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc05-9000B-1t1c-ethip4vxlan-l2bdbasemaclrn-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD forwarding config with 1 thread, 1 phy core,\ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 5kpps. -| | ... -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-9000B-1t1c-ethip4vxlan-l2bdbasemaclrn-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD forwarding config with 1 thread, 1 phy core,\ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 5kpps, LT=0.5%. -| | ... -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc07-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD forwarding 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 100kpps. -| | ... -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD forwarding 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 100kpps, LT=0.5%. -| | ... -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1518B-2t2c-ethip4vxlan-l2bdbasemaclrn-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD forwarding 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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1518B-2t2c-ethip4vxlan-l2bdbasemaclrn-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD forwarding 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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc11-9000B-2t2c-ethip4vxlan-l2bdbasemaclrn-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD forwarding config with 2 threads, 2 phy cores,\ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 5kpps. -| | ... -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-9000B-2t2c-ethip4vxlan-l2bdbasemaclrn-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD forwarding config with 2 threads, 2 phy cores,\ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 5kpps, LT=0.5%. -| | ... -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc13-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD forwarding 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 100kpps. -| | ... -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc14-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD forwarding 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 100kpps, LT=0.5%. -| | ... -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc15-1518B-4t4c-ethip4vxlan-l2bdbasemaclrn-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD forwarding 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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc16-1518B-4t4c-ethip4vxlan-l2bdbasemaclrn-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD forwarding 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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc17-9000B-4t4c-ethip4vxlan-l2bdbasemaclrn-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD forwarding config with 4 threads, 4 phy cores,\ -| | ... | 2 receive queues per NIC port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 5kpps. -| | ... -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc18-9000B-4t4c-ethip4vxlan-l2bdbasemaclrn-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD forwarding config with 4 threads, 4 phy cores,\ -| | ... | 2 receive queues per NIC port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 5kpps, LT=0.5%. -| | ... -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrpdrdisc.robot new file mode 100644 index 0000000000..d83fbc4142 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrpdrdisc.robot @@ -0,0 +1,484 @@ +# 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.robot +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | L2BDMACLRN | ENCAP | VXLAN | L2OVRLAY | IP4UNRLAY +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L2 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-bridge +| ... +| Documentation | *RFC2544: Packet throughput L2BD with VXLANoIPv4 test cases* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 bridge domain on TG-DUTn. +| ... | 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. VXLAN tunnels are configured between L2BDs on DUT1 and DUT2. +| ... | DUT1 and DUT2 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 +| ... | generated 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} + +*** Test Cases *** +| tc01-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD forwarding 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 100kpps. +| | ... +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD forwarding 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 100kpps, LT=0.5%. +| | ... +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1518B-1t1c-ethip4vxlan-l2bdbasemaclrn-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD forwarding 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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1518B-1t1c-ethip4vxlan-l2bdbasemaclrn-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD forwarding 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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc05-9000B-1t1c-ethip4vxlan-l2bdbasemaclrn-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD forwarding config with 1 thread, 1 phy core,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 5kpps. +| | ... +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-9000B-1t1c-ethip4vxlan-l2bdbasemaclrn-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD forwarding config with 1 thread, 1 phy core,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 5kpps, LT=0.5%. +| | ... +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc07-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD forwarding 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 100kpps. +| | ... +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD forwarding 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 100kpps, LT=0.5%. +| | ... +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1518B-2t2c-ethip4vxlan-l2bdbasemaclrn-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD forwarding 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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1518B-2t2c-ethip4vxlan-l2bdbasemaclrn-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD forwarding 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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc11-9000B-2t2c-ethip4vxlan-l2bdbasemaclrn-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD forwarding config with 2 threads, 2 phy cores,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 5kpps. +| | ... +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-9000B-2t2c-ethip4vxlan-l2bdbasemaclrn-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD forwarding config with 2 threads, 2 phy cores,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 5kpps, LT=0.5%. +| | ... +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc13-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD forwarding 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 100kpps. +| | ... +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc14-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD forwarding 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 100kpps, LT=0.5%. +| | ... +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc15-1518B-4t4c-ethip4vxlan-l2bdbasemaclrn-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD forwarding 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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc16-1518B-4t4c-ethip4vxlan-l2bdbasemaclrn-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD forwarding 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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc17-9000B-4t4c-ethip4vxlan-l2bdbasemaclrn-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD forwarding config with 4 threads, 4 phy cores,\ +| | ... | 2 receive queues per NIC port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 5kpps. +| | ... +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc18-9000B-4t4c-ethip4vxlan-l2bdbasemaclrn-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD forwarding config with 4 threads, 4 phy cores,\ +| | ... | 2 receive queues per NIC port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 5kpps, LT=0.5%. +| | ... +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot deleted file mode 100644 index 4e31313cd4..0000000000 --- a/tests/perf/10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot +++ /dev/null @@ -1,456 +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.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | L2XCFWD | ENCAP | VXLAN | L2OVRLAY | IP4UNRLAY -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-bridge -| ... -| Documentation | *RFC2544: Pkt throughput L2XC with VXLANoIPv4 test cases* -| ... -| ... | *[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 on TG-DUTn. -| ... | Eth-IPv4-VXLAN-Eth-IPv4 is applied on link between DUT1 and DUT2. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. VXLAN tunnels are configured between L2XCs on DUT1 and DUT2. -| ... | DUT1 and DUT2 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 -| ... | generated 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} - -*** Test Cases *** -| tc01-64B-1t1c-ethip4vxlan-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-64B-1t1c-ethip4vxlan-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1518B-1t1c-ethip4vxlan-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding 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] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1518B-1t1c-ethip4vxlan-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding 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] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc05-9000B-1t1c-ethip4vxlan-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-9000B-1t1c-ethip4vxlan-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc07-64B-2t2c-ethip4vxlan-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-64B-2t2c-ethip4vxlan-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1518B-2t2c-ethip4vxlan-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding 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] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1518B-2t2c-ethip4vxlan-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding 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] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc11-9000B-2t2c-ethip4vxlan-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-9000B-2t2c-ethip4vxlan-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc13-64B-4t4c-ethip4vxlan-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc14-64B-4t4c-ethip4vxlan-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc15-1518B-4t4c-ethip4vxlan-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding 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] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc16-1518B-4t4c-ethip4vxlan-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding 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] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc17-9000B-4t4c-ethip4vxlan-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc18-9000B-4t4c-ethip4vxlan-l2xcbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4vxlan-l2xcbase-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-ethip4vxlan-l2xcbase-ndrpdrdisc.robot new file mode 100644 index 0000000000..4e31313cd4 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4vxlan-l2xcbase-ndrpdrdisc.robot @@ -0,0 +1,456 @@ +# 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.robot +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | L2XCFWD | ENCAP | VXLAN | L2OVRLAY | IP4UNRLAY +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L2 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-bridge +| ... +| Documentation | *RFC2544: Pkt throughput L2XC with VXLANoIPv4 test cases* +| ... +| ... | *[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 on TG-DUTn. +| ... | Eth-IPv4-VXLAN-Eth-IPv4 is applied on link between DUT1 and DUT2. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- +| ... | connect. VXLAN tunnels are configured between L2XCs on DUT1 and DUT2. +| ... | DUT1 and DUT2 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 +| ... | generated 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} + +*** Test Cases *** +| tc01-64B-1t1c-ethip4vxlan-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-64B-1t1c-ethip4vxlan-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1518B-1t1c-ethip4vxlan-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding 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] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1518B-1t1c-ethip4vxlan-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding 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] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc05-9000B-1t1c-ethip4vxlan-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-9000B-1t1c-ethip4vxlan-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc07-64B-2t2c-ethip4vxlan-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-64B-2t2c-ethip4vxlan-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1518B-2t2c-ethip4vxlan-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding 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] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1518B-2t2c-ethip4vxlan-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding 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] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc11-9000B-2t2c-ethip4vxlan-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-9000B-2t2c-ethip4vxlan-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc13-64B-4t4c-ethip4vxlan-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc14-64B-4t4c-ethip4vxlan-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding 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 100kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc15-1518B-4t4c-ethip4vxlan-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding 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] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc16-1518B-4t4c-ethip4vxlan-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding 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] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc17-9000B-4t4c-ethip4vxlan-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc18-9000B-4t4c-ethip4vxlan-l2xcbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 50} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect with VXLANoIPv4 initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot deleted file mode 100644 index c87fb7cbcd..0000000000 --- a/tests/perf/10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot +++ /dev/null @@ -1,589 +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.robot -| Library | resources.libraries.python.Cop -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | ETH | IP6FWD | FEATURE | COPWHLIST -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L3 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-IPv6 -| ... -| Documentation | *RFC2544: Pkt throughput IPv6 whitelist test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 for IPv6 routing. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv6 -| ... | routing, two static IPv6 /64 routes and IPv6 COP security whitelist -| ... | ingress /64 filter entries applied on links TG - DUT1 and DUT2 - TG. -| ... | DUT1 and DUT2 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, IPv6 header 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} - -*** Test Cases *** -| tc01-78B-1t1c-ethip6-ip6base-copwhtlistbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR -| | ... | for 78 Byte frames using binary search start at 10GE linerate, -| | ... | step 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv6 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local -| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-78B-1t1c-ethip6-ip6base-copwhtlistbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR -| | ... | for 78 Byte frames using binary search start at 10GE linerate, -| | ... | step 100kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv6 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local -| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1518B-1t1c-ethip6-ip6base-copwhtlistbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters 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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv6 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local -| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1518B-1t1c-ethip6-ip6base-copwhtlistbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters 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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv6 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local -| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc05-9000B-1t1c-ethip6-ip6base-copwhtlistbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv6 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local -| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-9000B-1t1c-ethip6-ip6base-copwhtlistbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv6 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local -| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc07-78B-2t2c-ethip6-ip6base-copwhtlistbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR -| | ... | for 78 Byte frames using binary search start at 10GE linerate, -| | ... | step 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv6 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local -| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-78B-2t2c-ethip6-ip6base-copwhtlistbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR -| | ... | for 78 Byte frames using binary search start at 10GE linerate, -| | ... | step 100kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv6 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local -| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1518B-2t2c-ethip6-ip6base-copwhtlistbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters 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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv6 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local -| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1518B-2t2c-ethip6-ip6base-copwhtlistbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters 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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv6 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local -| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc11-9000B-2t2c-ethip6-ip6base-copwhtlistbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv6 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local -| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-9000B-2t2c-ethip6-ip6base-copwhtlistbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv6 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local -| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc13-78B-4t4c-ethip6-ip6base-copwhtlistbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR -| | ... | for 78 Byte frames using binary search start at 10GE linerate, -| | ... | step 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv6 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local -| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc14-78B-4t4c-ethip6-ip6base-copwhtlistbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find PDR -| | ... | for 78 Byte frames using binary search start at 10GE linerate, -| | ... | step 100kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv6 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local -| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc15-1518B-4t4c-ethip6-ip6base-copwhtlistbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR -| | ... | for 1518 Byte frames using binary search start at 10GE linerate, -| | ... | step 10kpps. -| | [Tags] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv6 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local -| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc16-1518B-4t4c-ethip6-ip6base-copwhtlistbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When IPv6 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local -| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc17-9000B-4t4c-ethip6-ip6base-copwhtlistbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv6 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local -| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc18-9000B-4t4c-ethip6-ip6base-copwhtlistbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find PDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When IPv6 forwarding initialized in a 3-node circular topology -| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local -| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local -| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 -| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 -| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable -| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrpdrdisc.robot new file mode 100644 index 0000000000..c87fb7cbcd --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrpdrdisc.robot @@ -0,0 +1,589 @@ +# 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.robot +| Library | resources.libraries.python.Cop +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | ETH | IP6FWD | FEATURE | COPWHLIST +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L3 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-IPv6 +| ... +| Documentation | *RFC2544: Pkt throughput IPv6 whitelist test cases* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 for IPv6 routing. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv6 +| ... | routing, two static IPv6 /64 routes and IPv6 COP security whitelist +| ... | ingress /64 filter entries applied on links TG - DUT1 and DUT2 - TG. +| ... | DUT1 and DUT2 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, IPv6 header 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} + +*** Test Cases *** +| tc01-78B-1t1c-ethip6-ip6base-copwhtlistbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR +| | ... | for 78 Byte frames using binary search start at 10GE linerate, +| | ... | step 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv6 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local +| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-78B-1t1c-ethip6-ip6base-copwhtlistbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR +| | ... | for 78 Byte frames using binary search start at 10GE linerate, +| | ... | step 100kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv6 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local +| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1518B-1t1c-ethip6-ip6base-copwhtlistbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters 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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv6 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local +| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1518B-1t1c-ethip6-ip6base-copwhtlistbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters 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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv6 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local +| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc05-9000B-1t1c-ethip6-ip6base-copwhtlistbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv6 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local +| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-9000B-1t1c-ethip6-ip6base-copwhtlistbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv6 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local +| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc07-78B-2t2c-ethip6-ip6base-copwhtlistbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR +| | ... | for 78 Byte frames using binary search start at 10GE linerate, +| | ... | step 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv6 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local +| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-78B-2t2c-ethip6-ip6base-copwhtlistbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR +| | ... | for 78 Byte frames using binary search start at 10GE linerate, +| | ... | step 100kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv6 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local +| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1518B-2t2c-ethip6-ip6base-copwhtlistbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters 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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv6 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local +| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1518B-2t2c-ethip6-ip6base-copwhtlistbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters 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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv6 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local +| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc11-9000B-2t2c-ethip6-ip6base-copwhtlistbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv6 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local +| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-9000B-2t2c-ethip6-ip6base-copwhtlistbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv6 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local +| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc13-78B-4t4c-ethip6-ip6base-copwhtlistbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR +| | ... | for 78 Byte frames using binary search start at 10GE linerate, +| | ... | step 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv6 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local +| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc14-78B-4t4c-ethip6-ip6base-copwhtlistbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find PDR +| | ... | for 78 Byte frames using binary search start at 10GE linerate, +| | ... | step 100kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv6 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local +| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc15-1518B-4t4c-ethip6-ip6base-copwhtlistbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR +| | ... | for 1518 Byte frames using binary search start at 10GE linerate, +| | ... | step 10kpps. +| | [Tags] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv6 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local +| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc16-1518B-4t4c-ethip6-ip6base-copwhtlistbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When IPv6 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local +| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc17-9000B-4t4c-ethip6-ip6base-copwhtlistbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv6 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local +| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc18-9000B-4t4c-ethip6-ip6base-copwhtlistbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find PDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When IPv6 forwarding initialized in a 3-node circular topology +| | And Add fib table | ${dut1} | 2001:1:: | 64 | 1 | local +| | And Add fib table | ${dut2} | 2001:2:: | 64 | 1 | local +| | And COP Add whitelist Entry | ${dut1} | ${dut1_if1} | ip6 | 1 +| | And COP Add whitelist Entry | ${dut2} | ${dut2_if2} | ip6 | 1 +| | And COP interface enable or disable | ${dut1} | ${dut1_if1} | enable +| | And COP interface enable or disable | ${dut2} | ${dut2_if2} | enable +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot deleted file mode 100644 index 5e515da144..0000000000 --- a/tests/perf/10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot +++ /dev/null @@ -1,498 +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.robot -| Library | resources.libraries.python.Classify.Classify -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | ETH | IP6FWD | FEATURE | IACLDST -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L3 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-IPv6 -| ... -| Documentation | *RFC2544: Pkt throughput IPv6 iAcl whitelist test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 for IPv6 routing. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv6 -| ... | routing, two static IPv6 /64 routes and IPv6 iAcl security whitelist -| ... | ingress /64 filter entries applied on links TG - DUT1 and DUT2 - TG. -| ... | DUT1 and DUT2 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, IPv6 header and generated 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} - -*** Test Cases *** -| tc01-78B-1t1c-ethip6-ip6base-iacldstbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR -| | ... | for 78 Byte frames using binary search start at 10GE linerate, -| | ... | step 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | And IPv6 iAcl whitelist initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-78B-1t1c-ethip6-ip6base-iacldstbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR -| | ... | for 78 Byte frames using binary search start at 10GE linerate, -| | ... | step 100kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | And IPv6 iAcl whitelist initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1518B-1t1c-ethip6-ip6base-iacldstbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters 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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | And IPv6 iAcl whitelist initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1518B-1t1c-ethip6-ip6base-iacldstbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters 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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | And IPv6 iAcl whitelist initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc05-9000B-1t1c-ethip6-ip6base-iacldstbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | And IPv6 iAcl whitelist initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-9000B-1t1c-ethip6-ip6base-iacldstbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | And IPv6 iAcl whitelist initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc07-78B-2t2c-ethip6-ip6base-iacldstbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR -| | ... | for 78 Byte frames using binary search start at 10GE linerate, -| | ... | step 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | And IPv6 iAcl whitelist initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-78B-2t2c-ethip6-ip6base-iacldstbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR -| | ... | for 78 Byte frames using binary search start at 10GE linerate, -| | ... | step 100kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | And IPv6 iAcl whitelist initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1518B-2t2c-ethip6-ip6base-iacldstbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters 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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | And IPv6 iAcl whitelist initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1518B-2t2c-ethip6-ip6base-iacldstbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters 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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | And IPv6 iAcl whitelist initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc11-9000B-2t2c-ethip6-ip6base-iacldstbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | And IPv6 iAcl whitelist initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-9000B-2t2c-ethip6-ip6base-iacldstbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | And IPv6 iAcl whitelist initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc13-78B-4t4c-ethip6-ip6base-iacldstbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR -| | ... | for 78 Byte frames using binary search start at 10GE linerate, -| | ... | step 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | And IPv6 iAcl whitelist initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc14-78B-4t4c-ethip6-ip6base-iacldstbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find PDR -| | ... | for 78 Byte frames using binary search start at 10GE linerate, -| | ... | step 100kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | And IPv6 iAcl whitelist initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc15-1518B-4t4c-ethip6-ip6base-iacldstbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR -| | ... | for 1518 Byte frames using binary search start at 10GE linerate, -| | ... | step 10kpps. -| | [Tags] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | And IPv6 iAcl whitelist initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc16-1518B-4t4c-ethip6-ip6base-iacldstbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | And IPv6 iAcl whitelist initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc17-9000B-4t4c-ethip6-ip6base-iacldstbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | And IPv6 iAcl whitelist initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc18-9000B-4t4c-ethip6-ip6base-iacldstbase-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find PDR -| | ... | for 9000 Byte frames using binary search start at 10GE linerate, -| | ... | step 5kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | And IPv6 iAcl whitelist initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6-ip6base-iacldstbase-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-ethip6-ip6base-iacldstbase-ndrpdrdisc.robot new file mode 100644 index 0000000000..5e515da144 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6-ip6base-iacldstbase-ndrpdrdisc.robot @@ -0,0 +1,498 @@ +# 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.robot +| Library | resources.libraries.python.Classify.Classify +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | ETH | IP6FWD | FEATURE | IACLDST +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L3 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-IPv6 +| ... +| Documentation | *RFC2544: Pkt throughput IPv6 iAcl whitelist test cases* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 for IPv6 routing. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv6 +| ... | routing, two static IPv6 /64 routes and IPv6 iAcl security whitelist +| ... | ingress /64 filter entries applied on links TG - DUT1 and DUT2 - TG. +| ... | DUT1 and DUT2 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, IPv6 header and generated 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} + +*** Test Cases *** +| tc01-78B-1t1c-ethip6-ip6base-iacldstbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR +| | ... | for 78 Byte frames using binary search start at 10GE linerate, +| | ... | step 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | And IPv6 iAcl whitelist initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-78B-1t1c-ethip6-ip6base-iacldstbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR +| | ... | for 78 Byte frames using binary search start at 10GE linerate, +| | ... | step 100kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | And IPv6 iAcl whitelist initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1518B-1t1c-ethip6-ip6base-iacldstbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters 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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | And IPv6 iAcl whitelist initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1518B-1t1c-ethip6-ip6base-iacldstbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters 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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | And IPv6 iAcl whitelist initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc05-9000B-1t1c-ethip6-ip6base-iacldstbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | And IPv6 iAcl whitelist initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-9000B-1t1c-ethip6-ip6base-iacldstbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | And IPv6 iAcl whitelist initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc07-78B-2t2c-ethip6-ip6base-iacldstbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR +| | ... | for 78 Byte frames using binary search start at 10GE linerate, +| | ... | step 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | And IPv6 iAcl whitelist initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-78B-2t2c-ethip6-ip6base-iacldstbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR +| | ... | for 78 Byte frames using binary search start at 10GE linerate, +| | ... | step 100kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | And IPv6 iAcl whitelist initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1518B-2t2c-ethip6-ip6base-iacldstbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters 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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | And IPv6 iAcl whitelist initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1518B-2t2c-ethip6-ip6base-iacldstbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters 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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | And IPv6 iAcl whitelist initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc11-9000B-2t2c-ethip6-ip6base-iacldstbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | And IPv6 iAcl whitelist initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-9000B-2t2c-ethip6-ip6base-iacldstbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | And IPv6 iAcl whitelist initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc13-78B-4t4c-ethip6-ip6base-iacldstbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR +| | ... | for 78 Byte frames using binary search start at 10GE linerate, +| | ... | step 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | And IPv6 iAcl whitelist initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc14-78B-4t4c-ethip6-ip6base-iacldstbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find PDR +| | ... | for 78 Byte frames using binary search start at 10GE linerate, +| | ... | step 100kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | And IPv6 iAcl whitelist initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc15-1518B-4t4c-ethip6-ip6base-iacldstbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR +| | ... | for 1518 Byte frames using binary search start at 10GE linerate, +| | ... | step 10kpps. +| | [Tags] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | And IPv6 iAcl whitelist initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc16-1518B-4t4c-ethip6-ip6base-iacldstbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | And IPv6 iAcl whitelist initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc17-9000B-4t4c-ethip6-ip6base-iacldstbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | And IPv6 iAcl whitelist initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc18-9000B-4t4c-ethip6-ip6base-iacldstbase-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find PDR +| | ... | for 9000 Byte frames using binary search start at 10GE linerate, +| | ... | step 5kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | And IPv6 iAcl whitelist initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6-ip6base-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip6-ip6base-ndrdisc.robot deleted file mode 100644 index 38cd52b5a5..0000000000 --- a/tests/perf/10ge2p1x520-ethip6-ip6base-ndrdisc.robot +++ /dev/null @@ -1,460 +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.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | ETH | IP6FWD | BASE -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L3 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-IPv6 -| ... -| Documentation | *RFC2544: Pkt throughput IPv6 routing test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 for IPv6 routing. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv6 -| ... | routing and two static IPv6 /64 route entries. DUT1 and DUT2 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, IPv6 header 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} - -*** Test Cases *** -| tc01-78B-1t1c-ethip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-78B-1t1c-ethip6-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1518B-1t1c-ethip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1518B-1t1c-ethip6-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc05-9000B-1t1c-ethip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-9000B-1t1c-ethip6-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc07-78B-2t2c-ethip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-78B-2t2c-ethip6-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1518B-2t2c-ethip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1518B-2t2c-ethip6-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc11-9000B-2t2c-ethip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-9000B-2t2c-ethip6-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc13-78B-4t4c-ethip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc14-78B-4t4c-ethip6-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc15-1518B-4t4c-ethip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc16-1518B-4t4c-ethip6-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc17-9000B-4t4c-ethip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc18-9000B-4t4c-ethip6-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6-ip6base-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-ethip6-ip6base-ndrpdrdisc.robot new file mode 100644 index 0000000000..38cd52b5a5 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6-ip6base-ndrpdrdisc.robot @@ -0,0 +1,460 @@ +# 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.robot +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | ETH | IP6FWD | BASE +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L3 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-IPv6 +| ... +| Documentation | *RFC2544: Pkt throughput IPv6 routing test cases* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 for IPv6 routing. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv6 +| ... | routing and two static IPv6 /64 route entries. DUT1 and DUT2 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, IPv6 header 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} + +*** Test Cases *** +| tc01-78B-1t1c-ethip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-78B-1t1c-ethip6-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1518B-1t1c-ethip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1518B-1t1c-ethip6-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc05-9000B-1t1c-ethip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-9000B-1t1c-ethip6-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc07-78B-2t2c-ethip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-78B-2t2c-ethip6-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1518B-2t2c-ethip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1518B-2t2c-ethip6-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc11-9000B-2t2c-ethip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-9000B-2t2c-ethip6-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc13-78B-4t4c-ethip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc14-78B-4t4c-ethip6-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc15-1518B-4t4c-ethip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc16-1518B-4t4c-ethip6-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc17-9000B-4t4c-ethip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc18-9000B-4t4c-ethip6-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot deleted file mode 100644 index 44e9efd676..0000000000 --- a/tests/perf/10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot +++ /dev/null @@ -1,499 +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.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | ETH | IP6FWD | SCALE | FIB_200K -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L3 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-IPv6-dst-${rts_per_flow} -| ... -| Documentation | *RFC2544: Pkt throughput IPv6 routing test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 for IPv6 routing. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv6 -| ... | routing and 2x100k static IPv6 /64 route entries. DUT1 and DUT2 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, 100k flows per flow-group) with all packets -| ... | containing Ethernet header, IPv6 header withq IP and static payload. -| ... | MAC addresses are matching MAC addresses of the TG node interfaces. -| ... | Incrementing of IP.dst (IPv6 destination address) field is applied to -| ... | both streams. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit} | ${10000000000} -| ${rts_per_flow}= | ${100000} - -*** Test Cases *** -| tc01-78B-1t1c-ethip6-ip6scale200k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-78B-1t1c-ethip6-ip6scale200k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1518B-1t1c-ethip6-ip6scale200k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1518B-1t1c-ethip6-ip6scale200k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc05-9000B-1t1c-ethip6-ip6scale200k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-9000B-1t1c-ethip6-ip6scale200k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc07-78B-2t2c-ethip6-ip6scale200k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-78B-2t2c-ethip6-ip6scale200k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1518B-2t2c-ethip6-ip6scale200k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1518B-2t2c-ethip6-ip6scale200k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc11-9000B-2t2c-ethip6-ip6scale200k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-9000B-2t2c-ethip6-ip6scale200k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc13-78B-4t4c-ethip6-ip6scale200k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc14-78B-4t4c-ethip6-ip6scale200k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc15-1518B-4t4c-ethip6-ip6scale200k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc16-1518B-4t4c-ethip6-ip6scale200k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc17-9000B-4t4c-ethip6-ip6scale200k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc18-9000B-4t4c-ethip6-ip6scale200k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6-ip6scale200k-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-ethip6-ip6scale200k-ndrpdrdisc.robot new file mode 100644 index 0000000000..44e9efd676 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6-ip6scale200k-ndrpdrdisc.robot @@ -0,0 +1,499 @@ +# 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.robot +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | ETH | IP6FWD | SCALE | FIB_200K +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L3 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-IPv6-dst-${rts_per_flow} +| ... +| Documentation | *RFC2544: Pkt throughput IPv6 routing test cases* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 for IPv6 routing. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv6 +| ... | routing and 2x100k static IPv6 /64 route entries. DUT1 and DUT2 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, 100k flows per flow-group) with all packets +| ... | containing Ethernet header, IPv6 header withq IP and static payload. +| ... | MAC addresses are matching MAC addresses of the TG node interfaces. +| ... | Incrementing of IP.dst (IPv6 destination address) field is applied to +| ... | both streams. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +# X520-DA2 bandwidth limit +| ${s_limit} | ${10000000000} +| ${rts_per_flow}= | ${100000} + +*** Test Cases *** +| tc01-78B-1t1c-ethip6-ip6scale200k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-78B-1t1c-ethip6-ip6scale200k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1518B-1t1c-ethip6-ip6scale200k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1518B-1t1c-ethip6-ip6scale200k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc05-9000B-1t1c-ethip6-ip6scale200k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-9000B-1t1c-ethip6-ip6scale200k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc07-78B-2t2c-ethip6-ip6scale200k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-78B-2t2c-ethip6-ip6scale200k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1518B-2t2c-ethip6-ip6scale200k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1518B-2t2c-ethip6-ip6scale200k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc11-9000B-2t2c-ethip6-ip6scale200k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-9000B-2t2c-ethip6-ip6scale200k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc13-78B-4t4c-ethip6-ip6scale200k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc14-78B-4t4c-ethip6-ip6scale200k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc15-1518B-4t4c-ethip6-ip6scale200k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc16-1518B-4t4c-ethip6-ip6scale200k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc17-9000B-4t4c-ethip6-ip6scale200k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc18-9000B-4t4c-ethip6-ip6scale200k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot deleted file mode 100644 index 35dc6aecba..0000000000 --- a/tests/perf/10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot +++ /dev/null @@ -1,499 +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.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | ETH | IP6FWD | SCALE | FIB_20K -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L3 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-IPv6-dst-${rts_per_flow} -| ... -| Documentation | *RFC2544: Pkt throughput IPv6 routing test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 for IPv6 routing. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv6 -| ... | routing and 2x10k static IPv6 /64 route entries. DUT1 and DUT2 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, 10k flows per flow-group) with all packets -| ... | containing Ethernet header, IPv6 header withq IP and static payload. -| ... | MAC addresses are matching MAC addresses of the TG node interfaces. -| ... | Incrementing of IP.dst (IPv6 destination address) field is applied to -| ... | both streams. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit} | ${10000000000} -| ${rts_per_flow}= | ${10000} - -*** Test Cases *** -| tc01-78B-1t1c-ethip6-ip6scale20k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-78B-1t1c-ethip6-ip6scale20k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1518B-1t1c-ethip6-ip6scale20k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1518B-1t1c-ethip6-ip6scale20k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc05-9000B-1t1c-ethip6-ip6scale20k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-9000B-1t1c-ethip6-ip6scale20k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc07-78B-2t2c-ethip6-ip6scale20k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-78B-2t2c-ethip6-ip6scale20k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1518B-2t2c-ethip6-ip6scale20k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1518B-2t2c-ethip6-ip6scale20k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc11-9000B-2t2c-ethip6-ip6scale20k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-9000B-2t2c-ethip6-ip6scale20k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc13-78B-4t4c-ethip6-ip6scale20k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc14-78B-4t4c-ethip6-ip6scale20k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc15-1518B-4t4c-ethip6-ip6scale20k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc16-1518B-4t4c-ethip6-ip6scale20k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc17-9000B-4t4c-ethip6-ip6scale20k-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc18-9000B-4t4c-ethip6-ip6scale20k-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6-ip6scale20k-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-ethip6-ip6scale20k-ndrpdrdisc.robot new file mode 100644 index 0000000000..35dc6aecba --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6-ip6scale20k-ndrpdrdisc.robot @@ -0,0 +1,499 @@ +# 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.robot +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | ETH | IP6FWD | SCALE | FIB_20K +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L3 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-IPv6-dst-${rts_per_flow} +| ... +| Documentation | *RFC2544: Pkt throughput IPv6 routing test cases* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 for IPv6 routing. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv6 +| ... | routing and 2x10k static IPv6 /64 route entries. DUT1 and DUT2 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, 10k flows per flow-group) with all packets +| ... | containing Ethernet header, IPv6 header withq IP and static payload. +| ... | MAC addresses are matching MAC addresses of the TG node interfaces. +| ... | Incrementing of IP.dst (IPv6 destination address) field is applied to +| ... | both streams. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +# X520-DA2 bandwidth limit +| ${s_limit} | ${10000000000} +| ${rts_per_flow}= | ${10000} + +*** Test Cases *** +| tc01-78B-1t1c-ethip6-ip6scale20k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-78B-1t1c-ethip6-ip6scale20k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1518B-1t1c-ethip6-ip6scale20k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1518B-1t1c-ethip6-ip6scale20k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc05-9000B-1t1c-ethip6-ip6scale20k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-9000B-1t1c-ethip6-ip6scale20k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc07-78B-2t2c-ethip6-ip6scale20k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-78B-2t2c-ethip6-ip6scale20k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1518B-2t2c-ethip6-ip6scale20k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1518B-2t2c-ethip6-ip6scale20k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc11-9000B-2t2c-ethip6-ip6scale20k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-9000B-2t2c-ethip6-ip6scale20k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc13-78B-4t4c-ethip6-ip6scale20k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc14-78B-4t4c-ethip6-ip6scale20k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc15-1518B-4t4c-ethip6-ip6scale20k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc16-1518B-4t4c-ethip6-ip6scale20k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc17-9000B-4t4c-ethip6-ip6scale20k-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc18-9000B-4t4c-ethip6-ip6scale20k-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot deleted file mode 100644 index d91af1d2aa..0000000000 --- a/tests/perf/10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot +++ /dev/null @@ -1,499 +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.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | ETH | IP6FWD | SCALE | FIB_2M -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L3 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-IPv6-dst-${rts_per_flow} -| ... -| Documentation | *RFC2544: Pkt throughput IPv6 routing test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 for IPv6 routing. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv6 -| ... | routing and 2x1M static IPv6 /64 route entries. DUT1 and DUT2 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, 1M flows per flow-group) with all packets -| ... | containing Ethernet header, IPv6 header withq IP and static payload. -| ... | MAC addresses are matching MAC addresses of the TG node interfaces. -| ... | Incrementing of IP.dst (IPv6 destination address) field is applied to -| ... | both streams. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit} | ${10000000000} -| ${rts_per_flow}= | ${1000000} - -*** Test Cases *** -| tc01-78B-1t1c-ethip6-ip6scale2m-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-78B-1t1c-ethip6-ip6scale2m-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1518B-1t1c-ethip6-ip6scale2m-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1518B-1t1c-ethip6-ip6scale2m-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc05-9000B-1t1c-ethip6-ip6scale2m-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-9000B-1t1c-ethip6-ip6scale2m-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc07-78B-2t2c-ethip6-ip6scale2m-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-78B-2t2c-ethip6-ip6scale2m-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1518B-2t2c-ethip6-ip6scale2m-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1518B-2t2c-ethip6-ip6scale2m-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc11-9000B-2t2c-ethip6-ip6scale2m-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-9000B-2t2c-ethip6-ip6scale2m-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc13-78B-4t4c-ethip6-ip6scale2m-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc14-78B-4t4c-ethip6-ip6scale2m-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 78 Byte frames -| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc15-1518B-4t4c-ethip6-ip6scale2m-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc16-1518B-4t4c-ethip6-ip6scale2m-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc17-9000B-4t4c-ethip6-ip6scale2m-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc18-9000B-4t4c-ethip6-ip6scale2m-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames -| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | And Scale IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${rts_per_flow} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} -| | ... | 3-node-IPv6-dst-${rts_per_flow} -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6-ip6scale2m-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-ethip6-ip6scale2m-ndrpdrdisc.robot new file mode 100644 index 0000000000..d91af1d2aa --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6-ip6scale2m-ndrpdrdisc.robot @@ -0,0 +1,499 @@ +# 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.robot +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | ETH | IP6FWD | SCALE | FIB_2M +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L3 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-IPv6-dst-${rts_per_flow} +| ... +| Documentation | *RFC2544: Pkt throughput IPv6 routing test cases* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 for IPv6 routing. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv6 +| ... | routing and 2x1M static IPv6 /64 route entries. DUT1 and DUT2 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, 1M flows per flow-group) with all packets +| ... | containing Ethernet header, IPv6 header withq IP and static payload. +| ... | MAC addresses are matching MAC addresses of the TG node interfaces. +| ... | Incrementing of IP.dst (IPv6 destination address) field is applied to +| ... | both streams. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +# X520-DA2 bandwidth limit +| ${s_limit} | ${10000000000} +| ${rts_per_flow}= | ${1000000} + +*** Test Cases *** +| tc01-78B-1t1c-ethip6-ip6scale2m-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-78B-1t1c-ethip6-ip6scale2m-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1518B-1t1c-ethip6-ip6scale2m-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1518B-1t1c-ethip6-ip6scale2m-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc05-9000B-1t1c-ethip6-ip6scale2m-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-9000B-1t1c-ethip6-ip6scale2m-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc07-78B-2t2c-ethip6-ip6scale2m-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-78B-2t2c-ethip6-ip6scale2m-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1518B-2t2c-ethip6-ip6scale2m-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1518B-2t2c-ethip6-ip6scale2m-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc11-9000B-2t2c-ethip6-ip6scale2m-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-9000B-2t2c-ethip6-ip6scale2m-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc13-78B-4t4c-ethip6-ip6scale2m-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc14-78B-4t4c-ethip6-ip6scale2m-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 78 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc15-1518B-4t4c-ethip6-ip6scale2m-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc16-1518B-4t4c-ethip6-ip6scale2m-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc17-9000B-4t4c-ethip6-ip6scale2m-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc18-9000B-4t4c-ethip6-ip6scale2m-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | And Scale IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${rts_per_flow} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} +| | ... | 3-node-IPv6-dst-${rts_per_flow} +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot deleted file mode 100644 index dbd7f7b29f..0000000000 --- a/tests/perf/10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot +++ /dev/null @@ -1,624 +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.robot -| Resource | resources/libraries/robot/lisp/lisp_static_adjacency.robot -| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT1']} -| ... | WITH NAME | dut1_v4 -| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT2']} -| ... | WITH NAME | dut2_v4 -| Variables | resources/test_data/lisp/performance/lisp_static_adjacency.py -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | IP6FWD | ENCAP | LISP | IP4UNRLAY | IP6OVRLAY -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L3 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-IPv6 -| ... -| Documentation | *RFC6830: Pkt throughput Lisp test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv6-LISP-IPv4 on DUT1-DUT2,\ -| ... | Eth-IPv6 on TG-DUTn for IPv6 routing over LISPoIPv4 tunnel. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv6\ -| ... | routing and static routes. LISPoIPv4 tunnel is configured between\ -| ... | DUT1 and DUT2. DUT1 and DUT2 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 -| ... | *[Ref] Applicable standard specifications:* RFC6830. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit} | ${10000000000} - -*** Test Cases *** -| tc01-78B-1t1c-ethip6lispip4-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 78 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} -| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} -| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-78B-1t1c-ethip6lispip4-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 78 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 100kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} -| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} -| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1460B-1t1c-ethip6lispip4-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 1460 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 10kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${1460} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} -| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} -| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1460B-1t1c-ethip6lispip4-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 1460 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 10kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1460} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} -| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} -| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc05-9000B-1t1c-ethip6lispip4-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 5kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} -| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} -| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-9000B-1t1c-ethip6lispip4-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} -| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} -| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc07-78B-2t2c-ethip6lispip4-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 78 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} -| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} -| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-78B-2t2c-ethip6lispip4-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 78 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 100kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} -| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} -| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1460B-2t2c-ethip6lispip4-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 1460 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 10kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1460} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} -| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} -| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1460B-2t2c-ethip6lispip4-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 1460 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 10kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1460} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} -| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} -| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc11-9000B-2t2c-ethip6lispip4-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 10kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} -| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} -| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-9000B-2t2c-ethip6lispip4-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} -| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} -| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc13-78B-4t4c-ethip6lispip4-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 78 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} -| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} -| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc14-78B-4t4c-ethip6lispip4-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 78 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 100kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} -| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} -| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc15-1460B-4t4c-ethip6lispip4-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 1460 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 10kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1460} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} -| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} -| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc16-1460B-4t4c-ethip6lispip4-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 1460 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 10kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1460} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} -| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} -| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc17-9000B-4t4c-ethip6lispip4-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 5kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} -| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} -| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc18-9000B-4t4c-ethip6lispip4-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} -| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} -| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6lispip4-ip6base-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-ethip6lispip4-ip6base-ndrpdrdisc.robot new file mode 100644 index 0000000000..dbd7f7b29f --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6lispip4-ip6base-ndrpdrdisc.robot @@ -0,0 +1,624 @@ +# 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.robot +| Resource | resources/libraries/robot/lisp/lisp_static_adjacency.robot +| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT1']} +| ... | WITH NAME | dut1_v4 +| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT2']} +| ... | WITH NAME | dut2_v4 +| Variables | resources/test_data/lisp/performance/lisp_static_adjacency.py +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | IP6FWD | ENCAP | LISP | IP4UNRLAY | IP6OVRLAY +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L3 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-IPv6 +| ... +| Documentation | *RFC6830: Pkt throughput Lisp test cases* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv6-LISP-IPv4 on DUT1-DUT2,\ +| ... | Eth-IPv6 on TG-DUTn for IPv6 routing over LISPoIPv4 tunnel. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv6\ +| ... | routing and static routes. LISPoIPv4 tunnel is configured between\ +| ... | DUT1 and DUT2. DUT1 and DUT2 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 +| ... | *[Ref] Applicable standard specifications:* RFC6830. + +*** Variables *** +# X520-DA2 bandwidth limit +| ${s_limit} | ${10000000000} + +*** Test Cases *** +| tc01-78B-1t1c-ethip6lispip4-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 78 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} +| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} +| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-78B-1t1c-ethip6lispip4-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 78 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 100kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} +| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} +| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1460B-1t1c-ethip6lispip4-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 1460 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 10kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${1460} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} +| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} +| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1460B-1t1c-ethip6lispip4-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 1460 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1460} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} +| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} +| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc05-9000B-1t1c-ethip6lispip4-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 5kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} +| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} +| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-9000B-1t1c-ethip6lispip4-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} +| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} +| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc07-78B-2t2c-ethip6lispip4-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 78 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} +| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} +| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-78B-2t2c-ethip6lispip4-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 78 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 100kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} +| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} +| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1460B-2t2c-ethip6lispip4-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 1460 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 10kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1460} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} +| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} +| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1460B-2t2c-ethip6lispip4-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 1460 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1460} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} +| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} +| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc11-9000B-2t2c-ethip6lispip4-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 10kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} +| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} +| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-9000B-2t2c-ethip6lispip4-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} +| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} +| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc13-78B-4t4c-ethip6lispip4-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 78 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} +| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} +| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc14-78B-4t4c-ethip6lispip4-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 78 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 100kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} +| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} +| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc15-1460B-4t4c-ethip6lispip4-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 1460 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 10kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1460} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} +| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} +| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc16-1460B-4t4c-ethip6lispip4-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 1460 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1460} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} +| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} +| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc17-9000B-4t4c-ethip6lispip4-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 5kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} +| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} +| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc18-9000B-4t4c-ethip6lispip4-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4} +| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} +| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot deleted file mode 100644 index 2cc52af330..0000000000 --- a/tests/perf/10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot +++ /dev/null @@ -1,620 +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.robot -| Resource | resources/libraries/robot/lisp/lisp_static_adjacency.robot -| Variables | resources/test_data/lisp/performance/lisp_static_adjacency.py -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X520-DA2 | IP6FWD | ENCAP | LISP | IP6UNRLAY | IP6OVRLAY -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L3 | Intel-X520-DA2 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-IPv6 -| ... -| Documentation | *RFC6830: Pkt throughput Lisp test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv6-LISP-IPv6 on DUT1-DUT2,\ -| ... | Eth-IPv6 on TG-DUTn for IPv6 routing over LISPoIPv6 tunnel. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv6\ -| ... | routing and static routes. LISPoIPv6 tunnel is configured between\ -| ... | DUT1 and DUT2. DUT1 and DUT2 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\ -| ... | *[Ref] Applicable standard specifications:* RFC6830. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit} | ${10000000000} - -*** Test Cases *** -| tc01-78B-1t1c-ethip6lispip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 78 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} -| | ... | ${dut2_to_tg_ip6} | ${prefix6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} -| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-78B-1t1c-ethip6lispip6-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 78 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 100kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} -| | ... | ${dut2_to_tg_ip6} | ${prefix6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} -| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1460B-1t1c-ethip6lispip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 1460 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 10kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${1460} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} -| | ... | ${dut2_to_tg_ip6} | ${prefix6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} -| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc04-1460B-1t1c-ethip6lispip6-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 1460 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 10kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1460} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} -| | ... | ${dut2_to_tg_ip6} | ${prefix6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} -| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc05-9000B-1t1c-ethip6lispip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 5kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} -| | ... | ${dut2_to_tg_ip6} | ${prefix6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} -| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc06-9000B-1t1c-ethip6lispip6-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} -| | ... | ${dut2_to_tg_ip6} | ${prefix6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} -| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc07-78B-2t2c-ethip6lispip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 78 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} -| | ... | ${dut2_to_tg_ip6} | ${prefix6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} -| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-78B-2t2c-ethip6lispip6-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 78 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 100kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} -| | ... | ${dut2_to_tg_ip6} | ${prefix6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} -| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1460B-2t2c-ethip6lispip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 1460 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 10kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1460} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} -| | ... | ${dut2_to_tg_ip6} | ${prefix6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} -| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc10-1460B-2t2c-ethip6lispip6-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 1460 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 10kpps, LT=0.5%. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1460} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} -| | ... | ${dut2_to_tg_ip6} | ${prefix6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} -| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc11-9000B-2t2c-ethip6lispip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 5kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} -| | ... | ${dut2_to_tg_ip6} | ${prefix6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} -| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc12-9000B-2t2c-ethip6lispip6-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 5kpps. -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} -| | ... | ${dut2_to_tg_ip6} | ${prefix6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} -| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc13-78B-4t4c-ethip6lispip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 78 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} -| | ... | ${dut2_to_tg_ip6} | ${prefix6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} -| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc14-78B-4t4c-ethip6lispip6-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 78 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 100kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} -| | ... | ${dut2_to_tg_ip6} | ${prefix6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} -| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc15-1460B-4t4c-ethip6lispip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 1460 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1460} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} -| | ... | ${dut2_to_tg_ip6} | ${prefix6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} -| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc16-1460B-4t4c-ethip6lispip6-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 1460 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 10kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${1460} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} -| | ... | ${dut2_to_tg_ip6} | ${prefix6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} -| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc17-9000B-4t4c-ethip6lispip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ -| | ... | port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 5kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} -| | ... | ${dut2_to_tg_ip6} | ${prefix6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} -| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc18-9000B-4t4c-ethip6lispip6-ip6base-pdrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ -| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ -| | ... | port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ -| | ... | at 10GE linerate, step 5kpps, LT=0.5%. -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | ${9000} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When Lisp IPv6 forwarding initialized in a 3-node circular topology -| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} -| | ... | ${dut2_to_tg_ip6} | ${prefix6} -| | And Set up Lisp topology -| | ... | ${dut1} | ${dut1_if2} | ${NONE} -| | ... | ${dut2} | ${dut2_if1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} -| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6lispip6-ip6base-ndrpdrdisc.robot b/tests/perf/10ge2p1x520-ethip6lispip6-ip6base-ndrpdrdisc.robot new file mode 100644 index 0000000000..2cc52af330 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6lispip6-ip6base-ndrpdrdisc.robot @@ -0,0 +1,620 @@ +# 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.robot +| Resource | resources/libraries/robot/lisp/lisp_static_adjacency.robot +| Variables | resources/test_data/lisp/performance/lisp_static_adjacency.py +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X520-DA2 | IP6FWD | ENCAP | LISP | IP6UNRLAY | IP6OVRLAY +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L3 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-IPv6 +| ... +| Documentation | *RFC6830: Pkt throughput Lisp test cases* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv6-LISP-IPv6 on DUT1-DUT2,\ +| ... | Eth-IPv6 on TG-DUTn for IPv6 routing over LISPoIPv6 tunnel. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv6\ +| ... | routing and static routes. LISPoIPv6 tunnel is configured between\ +| ... | DUT1 and DUT2. DUT1 and DUT2 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\ +| ... | *[Ref] Applicable standard specifications:* RFC6830. + +*** Variables *** +# X520-DA2 bandwidth limit +| ${s_limit} | ${10000000000} + +*** Test Cases *** +| tc01-78B-1t1c-ethip6lispip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 78 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} +| | ... | ${dut2_to_tg_ip6} | ${prefix6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} +| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-78B-1t1c-ethip6lispip6-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 78 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 100kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} +| | ... | ${dut2_to_tg_ip6} | ${prefix6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} +| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1460B-1t1c-ethip6lispip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 1460 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 10kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${1460} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} +| | ... | ${dut2_to_tg_ip6} | ${prefix6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} +| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc04-1460B-1t1c-ethip6lispip6-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 1460 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1460} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} +| | ... | ${dut2_to_tg_ip6} | ${prefix6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} +| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc05-9000B-1t1c-ethip6lispip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 5kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} +| | ... | ${dut2_to_tg_ip6} | ${prefix6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} +| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc06-9000B-1t1c-ethip6lispip6-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} +| | ... | ${dut2_to_tg_ip6} | ${prefix6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} +| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc07-78B-2t2c-ethip6lispip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 78 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} +| | ... | ${dut2_to_tg_ip6} | ${prefix6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} +| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-78B-2t2c-ethip6lispip6-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 78 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 100kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} +| | ... | ${dut2_to_tg_ip6} | ${prefix6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} +| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1460B-2t2c-ethip6lispip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 1460 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 10kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1460} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} +| | ... | ${dut2_to_tg_ip6} | ${prefix6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} +| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc10-1460B-2t2c-ethip6lispip6-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 1460 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1460} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} +| | ... | ${dut2_to_tg_ip6} | ${prefix6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} +| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc11-9000B-2t2c-ethip6lispip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 5kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} +| | ... | ${dut2_to_tg_ip6} | ${prefix6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} +| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc12-9000B-2t2c-ethip6lispip6-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 5kpps. +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} +| | ... | ${dut2_to_tg_ip6} | ${prefix6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} +| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc13-78B-4t4c-ethip6lispip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 78 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} +| | ... | ${dut2_to_tg_ip6} | ${prefix6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} +| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc14-78B-4t4c-ethip6lispip6-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 78 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 100kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} +| | ... | ${dut2_to_tg_ip6} | ${prefix6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} +| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc15-1460B-4t4c-ethip6lispip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 1460 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1460} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} +| | ... | ${dut2_to_tg_ip6} | ${prefix6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} +| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc16-1460B-4t4c-ethip6lispip6-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 1460 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${1460} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} +| | ... | ${dut2_to_tg_ip6} | ${prefix6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} +| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc17-9000B-4t4c-ethip6lispip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ +| | ... | port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 5kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} +| | ... | ${dut2_to_tg_ip6} | ${prefix6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} +| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc18-9000B-4t4c-ethip6lispip6-ip6base-pdrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\ +| | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\ +| | ... | port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\ +| | ... | at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | ${9000} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 8} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When Lisp IPv6 forwarding initialized in a 3-node circular topology +| | ... | ${dut1_to_dut2_ip6} | ${dut1_to_tg_ip6} | ${dut2_to_dut1_ip6} +| | ... | ${dut2_to_tg_ip6} | ${prefix6} +| | And Set up Lisp topology +| | ... | ${dut1} | ${dut1_if2} | ${NONE} +| | ... | ${dut2} | ${dut2_if1} | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6_eid} | ${dut2_ip6_eid} +| | ... | ${dut1_ip6_static_adjacency} | ${dut2_ip6_static_adjacency} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot b/tests/perf/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot deleted file mode 100644 index 27eec1bc7e..0000000000 --- a/tests/perf/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot +++ /dev/null @@ -1,674 +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.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 | 3-node Performance Suite Setup with DUT's NIC model -| ... | L2 | Intel-X710 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test with vhost and VM with dpdk-testpmd teardown -| ... | ${min_rate}pps | ${framesize} | 3-node-bridge -| ... | 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} - -*** 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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot b/tests/perf/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot new file mode 100644 index 0000000000..27eec1bc7e --- /dev/null +++ b/tests/perf/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot @@ -0,0 +1,674 @@ +# 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.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 | 3-node Performance Suite Setup with DUT's NIC model +| ... | L2 | Intel-X710 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test with vhost and VM with dpdk-testpmd teardown +| ... | ${min_rate}pps | ${framesize} | 3-node-bridge +| ... | 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} + +*** 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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot b/tests/perf/10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot deleted file mode 100644 index 9ff8368eb4..0000000000 --- a/tests/perf/10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot +++ /dev/null @@ -1,271 +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.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | BASE -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L2 | Intel-X710 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-bridge -| ... -| Documentation | *RFC2544: Pkt throughput L2BD test cases* -| ... -| ... | *[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. DUT1 and DUT2 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} - -*** Keywords *** -| L2 Bridge Domain NDR Binary Search -| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Add '${wt}' worker threads and rxqueues '${rxq}' in 3-node single-link topo -| | Add PCI devices to DUTs from 3-node single link topology -| | ${get_framesize}= | Get Frame Size | ${framesize} -| | Run Keyword If | ${get_framesize} < ${1522} | Add No Multi Seg to all DUTs -| | Apply startup configuration on all VPP DUTs -| | L2 bridge domain initialized in a 3-node circular topology -| | Find NDR using binary search and pps -| | ... | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| L2 Bridge Domain PDR Binary Search -| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Add '${wt}' worker threads and rxqueues '${rxq}' in 3-node single-link topo -| | Add PCI devices to DUTs from 3-node single link topology -| | ${get_framesize}= | Get Frame Size | ${framesize} -| | Run Keyword If | ${get_framesize} < ${1522} | Add No Multi Seg to all DUTs -| | Apply startup configuration on all VPP DUTs -| | L2 bridge domain initialized in a 3-node circular topology -| | Find PDR using binary search and pps -| | ... | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge -| | ... | ${min_rate} | ${max_rate} | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type} - -*** Test Cases *** -| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${64} | ${100000} | 1 | 1 -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps. -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${64} | ${100000} | 1 | 1 -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps, LT=0.5%. -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc03-1518B-1t1c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${1518} | ${10000} | 1 | 1 -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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. -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc04-1518B-1t1c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${1518} | ${10000} | 1 | 1 -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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%. -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc05-9000B-1t1c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${9000} | ${10000} | 1 | 1 -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 10kpps. -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc06-9000B-1t1c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${9000} | ${10000} | 1 | 1 -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 10kpps, LT=0.5%. -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${64} | ${100000} | 2 | 1 -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps. -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${64} | ${100000} | 2 | 1 -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps, LT=0.5%. -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc09-1518B-2t2c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${1518} | ${10000} | 2 | 1 -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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. -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc10-1518B-2t2c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${1518} | ${10000} | 2 | 1 -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps, LT=0.5%. -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc11-9000B-2t2c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${9000} | ${10000} | 2 | 1 -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 10kpps. -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc12-9000B-2t2c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${9000} | ${10000} | 2 | 1 -| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 10kpps, LT=0.5%. -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${64} | ${100000} | 4 | 2 -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps. -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc14-64B-4t4c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${64} | ${100000} | 4 | 2 -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps, LT=0.5%. -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc15-1518B-4t4c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${1518} | ${10000} | 4 | 2 -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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. -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc16-1518B-4t4c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${1518} | ${10000} | 4 | 2 -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 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%. -| | [Template] | L2 Bridge Domain PDR Binary Search - -| tc17-9000B-4t4c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${9000} | ${10000} | 4 | 2 -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 4 threads, 4 phy cores, 2 receive queues per NIC port. -| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 10kpps. -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc18-9000B-4t4c-eth-l2bdbasemaclrn-pdrdisc -| | ... | ${9000} | ${10000} | 4 | 2 -| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 4 threads, 4 phy cores, 2 receive queues per NIC port. -| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ -| | ... | linerate, step 10kpps, LT=0.5%. -| | [Template] | L2 Bridge Domain PDR Binary Search diff --git a/tests/perf/10ge2p1x710-eth-l2bdbasemaclrn-ndrpdrdisc.robot b/tests/perf/10ge2p1x710-eth-l2bdbasemaclrn-ndrpdrdisc.robot new file mode 100644 index 0000000000..9ff8368eb4 --- /dev/null +++ b/tests/perf/10ge2p1x710-eth-l2bdbasemaclrn-ndrpdrdisc.robot @@ -0,0 +1,271 @@ +# 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.robot +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | BASE +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L2 | Intel-X710 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-bridge +| ... +| Documentation | *RFC2544: Pkt throughput L2BD test cases* +| ... +| ... | *[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. DUT1 and DUT2 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} + +*** Keywords *** +| L2 Bridge Domain NDR Binary Search +| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} +| | Set Test Variable | ${framesize} +| | Set Test Variable | ${min_rate} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Add '${wt}' worker threads and rxqueues '${rxq}' in 3-node single-link topo +| | Add PCI devices to DUTs from 3-node single link topology +| | ${get_framesize}= | Get Frame Size | ${framesize} +| | Run Keyword If | ${get_framesize} < ${1522} | Add No Multi Seg to all DUTs +| | Apply startup configuration on all VPP DUTs +| | L2 bridge domain initialized in a 3-node circular topology +| | Find NDR using binary search and pps +| | ... | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge +| | ... | ${min_rate} | ${max_rate} | ${threshold} + +| L2 Bridge Domain PDR Binary Search +| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} +| | Set Test Variable | ${framesize} +| | Set Test Variable | ${min_rate} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Add '${wt}' worker threads and rxqueues '${rxq}' in 3-node single-link topo +| | Add PCI devices to DUTs from 3-node single link topology +| | ${get_framesize}= | Get Frame Size | ${framesize} +| | Run Keyword If | ${get_framesize} < ${1522} | Add No Multi Seg to all DUTs +| | Apply startup configuration on all VPP DUTs +| | L2 bridge domain initialized in a 3-node circular topology +| | Find PDR using binary search and pps +| | ... | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge +| | ... | ${min_rate} | ${max_rate} | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type} + +*** Test Cases *** +| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${64} | ${100000} | 1 | 1 +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps. +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${64} | ${100000} | 1 | 1 +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps, LT=0.5%. +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc03-1518B-1t1c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${1518} | ${10000} | 1 | 1 +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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. +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc04-1518B-1t1c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${1518} | ${10000} | 1 | 1 +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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%. +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc05-9000B-1t1c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${9000} | ${10000} | 1 | 1 +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 10kpps. +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc06-9000B-1t1c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${9000} | ${10000} | 1 | 1 +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 10kpps, LT=0.5%. +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${64} | ${100000} | 2 | 1 +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps. +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${64} | ${100000} | 2 | 1 +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps, LT=0.5%. +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc09-1518B-2t2c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${1518} | ${10000} | 2 | 1 +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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. +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc10-1518B-2t2c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${1518} | ${10000} | 2 | 1 +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps, LT=0.5%. +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc11-9000B-2t2c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${9000} | ${10000} | 2 | 1 +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 10kpps. +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc12-9000B-2t2c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${9000} | ${10000} | 2 | 1 +| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 10kpps, LT=0.5%. +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${64} | ${100000} | 4 | 2 +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps. +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc14-64B-4t4c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${64} | ${100000} | 4 | 2 +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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 100kpps, LT=0.5%. +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc15-1518B-4t4c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${1518} | ${10000} | 4 | 2 +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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. +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc16-1518B-4t4c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${1518} | ${10000} | 4 | 2 +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 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%. +| | [Template] | L2 Bridge Domain PDR Binary Search + +| tc17-9000B-4t4c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${9000} | ${10000} | 4 | 2 +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 4 threads, 4 phy cores, 2 receive queues per NIC port. +| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 10kpps. +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc18-9000B-4t4c-eth-l2bdbasemaclrn-pdrdisc +| | ... | ${9000} | ${10000} | 4 | 2 +| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 4 threads, 4 phy cores, 2 receive queues per NIC port. +| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\ +| | ... | linerate, step 10kpps, LT=0.5%. +| | [Template] | L2 Bridge Domain PDR Binary Search diff --git a/tests/perf/40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot b/tests/perf/40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot deleted file mode 100644 index 879bfa427b..0000000000 --- a/tests/perf/40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot +++ /dev/null @@ -1,349 +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.robot -| Library | resources.libraries.python.NodePath -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Cisco-VIC-1385 | ETH | L2BDMACLRN | BASE -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L2 | Cisco-VIC-1385 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-bridge -| ... -| Documentation | *RFC2544: Pkt throughput L2BD test cases* -| ... -| ... | *[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. DUT1 and DUT2 tested with 2p40GE NIC -| ... | NIC_Cisco-VIC-1385. -| ... | *[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 (TG) bandwidth limit ~49Gbps/2=24.5Gbps -| ${s_24.5G} | ${24500000000} -# XL710-DA2 Mpps (TG) limit 37.5Mpps/2=18.75Mpps -| ${s_18.75Mpps} | ${18750000} - -*** Test Cases *** -| tc01-64B-1t1c-eth-l2bdbasemaclrn-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\ -| | ... | 18.75Mpps rate, step 100kpps. -| | ... -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc02-64B-1t1c-eth-l2bdbasemaclrn-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\ -| | ... | 18.75Mpps rate, step 100kpps. -| | ... -| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc03-1518B-1t1c-eth-l2bdbasemaclrn-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\ -| | ... | 24.5G rate, step 10kpps. -| | ... -| | [Tags] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc05-9000B-1t1c-eth-l2bdbasemaclrn-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\ -| | ... | 24.5G rate, step 10kpps. -| | ... -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${9000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc07-64B-2t2c-eth-l2bdbasemaclrn-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\ -| | ... | 18.75Mpps rate, step 100kpps. -| | ... -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc08-64B-2t2c-eth-l2bdbasemaclrn-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\ -| | ... | 18.75Mpps rate, step 100kpps. -| | ... -| | [Tags] | 2T2C | MTHREAD | PDR | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain initialized in a 3-node circular topology -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} - -| tc09-1518B-2t2c-eth-l2bdbasemaclrn-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\ -| | ... | 24.5G rate, step 10kpps. -| | ... -| | [Tags] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc13-64B-4t4c-eth-l2bdbasemaclrn-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\ -| | ... | 18.75Mpps rate, step 100kpps. -| | ... -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc15-1518B-4t4c-eth-l2bdbasemaclrn-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\ -| | ... | 24.5G rate, step 10kpps. -| | ... -| | [Tags] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc19-IMIX-1t1c-eth-l2bdbasemaclrn-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\ -| | ... | 24.5G rate, step 100kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${100000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add all PCI devices to all DUTs -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc20-IMIX-2t2c-eth-l2bdbasemaclrn-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 2 thread, 2 phy core,\ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Find NDR for IMIX_v4_1 frame size using binary search start at\ -| | ... | 24.5G rate, step 100kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${100000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add all PCI devices to all DUTs -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc21-IMIX-4t4c-eth-l2bdbasemaclrn-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with 4 thread, 4 phy core,\ -| | ... | 2 receive queue per NIC port. -| | ... | [Ver] Find NDR for IMIX_v4_1 frame size using binary search start at\ -| | ... | 24.5G rate, step 100kpps. -| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) -| | ... -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${100000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add all PCI devices to all DUTs -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 bridge domain initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} diff --git a/tests/perf/40ge2p1vic1385-eth-l2bdbasemaclrn-ndrpdrdisc.robot b/tests/perf/40ge2p1vic1385-eth-l2bdbasemaclrn-ndrpdrdisc.robot new file mode 100644 index 0000000000..879bfa427b --- /dev/null +++ b/tests/perf/40ge2p1vic1385-eth-l2bdbasemaclrn-ndrpdrdisc.robot @@ -0,0 +1,349 @@ +# 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.robot +| Library | resources.libraries.python.NodePath +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Cisco-VIC-1385 | ETH | L2BDMACLRN | BASE +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L2 | Cisco-VIC-1385 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-bridge +| ... +| Documentation | *RFC2544: Pkt throughput L2BD test cases* +| ... +| ... | *[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. DUT1 and DUT2 tested with 2p40GE NIC +| ... | NIC_Cisco-VIC-1385. +| ... | *[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 (TG) bandwidth limit ~49Gbps/2=24.5Gbps +| ${s_24.5G} | ${24500000000} +# XL710-DA2 Mpps (TG) limit 37.5Mpps/2=18.75Mpps +| ${s_18.75Mpps} | ${18750000} + +*** Test Cases *** +| tc01-64B-1t1c-eth-l2bdbasemaclrn-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\ +| | ... | 18.75Mpps rate, step 100kpps. +| | ... +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc02-64B-1t1c-eth-l2bdbasemaclrn-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\ +| | ... | 18.75Mpps rate, step 100kpps. +| | ... +| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc03-1518B-1t1c-eth-l2bdbasemaclrn-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\ +| | ... | 24.5G rate, step 10kpps. +| | ... +| | [Tags] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc05-9000B-1t1c-eth-l2bdbasemaclrn-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\ +| | ... | 24.5G rate, step 10kpps. +| | ... +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${9000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc07-64B-2t2c-eth-l2bdbasemaclrn-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\ +| | ... | 18.75Mpps rate, step 100kpps. +| | ... +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc08-64B-2t2c-eth-l2bdbasemaclrn-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\ +| | ... | 18.75Mpps rate, step 100kpps. +| | ... +| | [Tags] | 2T2C | MTHREAD | PDR | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain initialized in a 3-node circular topology +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} + +| tc09-1518B-2t2c-eth-l2bdbasemaclrn-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\ +| | ... | 24.5G rate, step 10kpps. +| | ... +| | [Tags] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc13-64B-4t4c-eth-l2bdbasemaclrn-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\ +| | ... | 18.75Mpps rate, step 100kpps. +| | ... +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc15-1518B-4t4c-eth-l2bdbasemaclrn-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\ +| | ... | 24.5G rate, step 10kpps. +| | ... +| | [Tags] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc19-IMIX-1t1c-eth-l2bdbasemaclrn-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\ +| | ... | 24.5G rate, step 100kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${100000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc20-IMIX-2t2c-eth-l2bdbasemaclrn-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 2 thread, 2 phy core,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Find NDR for IMIX_v4_1 frame size using binary search start at\ +| | ... | 24.5G rate, step 100kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${100000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc21-IMIX-4t4c-eth-l2bdbasemaclrn-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with 4 thread, 4 phy core,\ +| | ... | 2 receive queue per NIC port. +| | ... | [Ver] Find NDR for IMIX_v4_1 frame size using binary search start at\ +| | ... | 24.5G rate, step 100kpps. +| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) +| | ... +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ... +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${100000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 bridge domain initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} diff --git a/tests/perf/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot b/tests/perf/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot deleted file mode 100644 index 3fc4444cb5..0000000000 --- a/tests/perf/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot +++ /dev/null @@ -1,676 +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.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 | 3-node Performance Suite Setup with DUT's NIC model -| ... | L2 | Intel-XL710 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test with vhost and VM with dpdk-testpmd teardown -| ... | ${min_rate}pps | ${framesize} | 3-node-bridge -| ... | 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} - -*** 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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology -| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} -| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 -| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} -| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup -| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 -| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} -| | And Setup scheduler policy for VPP on all DUTs -| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} -| | ... | ${threshold} | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot b/tests/perf/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot new file mode 100644 index 0000000000..3fc4444cb5 --- /dev/null +++ b/tests/perf/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot @@ -0,0 +1,676 @@ +# 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.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 | 3-node Performance Suite Setup with DUT's NIC model +| ... | L2 | Intel-XL710 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test with vhost and VM with dpdk-testpmd teardown +| ... | ${min_rate}pps | ${framesize} | 3-node-bridge +| ... | 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} + +*** 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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${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] | 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 rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | When L2 bridge domains with Vhost-User initialized in a 3-node circular topology +| | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} +| | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1 +| | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1} +| | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup +| | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1 +| | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2} +| | And Setup scheduler policy for VPP on all DUTs +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate} +| | ... | ${threshold} | ${perf_pdr_loss_acceptance} +| | ... | ${perf_pdr_loss_acceptance_type} diff --git a/tests/perf/40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot b/tests/perf/40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot deleted file mode 100644 index ac8d19c19d..0000000000 --- a/tests/perf/40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot +++ /dev/null @@ -1,220 +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.robot -| Library | resources.libraries.python.NodePath -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-XL710 | ETH | L2BDMACLRN | BASE -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L2 | Intel-XL710 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-bridge -| ... -| Documentation | *RFC2544: Pkt throughput L2BD test cases* -| ... -| ... | *[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. DUT1 and DUT2 tested with 2p40GE NIC\ -| ... | XL710-DA2 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} - -*** Keywords *** -| L2 Bridge Domain NDR Binary Search BW limit -| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} | ${s_limit} -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Add '${wt}' worker threads and rxqueues '${rxq}' in 3-node single-link topo -| | Add PCI devices to DUTs from 3-node single link topology -| | ${get_framesize}= | Get Frame Size | ${framesize} -| | Run Keyword If | ${get_framesize} < ${1522} | Add No Multi Seg to all DUTs -| | Apply startup configuration on all VPP DUTs -| | L2 bridge domain initialized in a 3-node circular topology -| | Find NDR using binary search and pps -| | ... | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| L2 Bridge Domain NDR Binary Search -| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} | ${s_limit} -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} -| | ${max_rate}= | Set Variable | ${s_limit} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Add '${wt}' worker threads and rxqueues '${rxq}' in 3-node single-link topo -| | Add PCI devices to DUTs from 3-node single link topology -| | ${get_framesize}= | Get Frame Size | ${framesize} -| | Run Keyword If | ${get_framesize} < ${1522} | Add No Multi Seg to all DUTs -| | Apply startup configuration on all VPP DUTs -| | L2 bridge domain initialized in a 3-node circular topology -| | Find NDR using binary search and pps -| | ... | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge -| | ... | ${min_rate} | ${max_rate} | ${threshold} - -| L2 Bridge Domain PDR Binary Search BW limit -| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} | ${s_limit} -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Add '${wt}' worker threads and rxqueues '${rxq}' in 3-node single-link topo -| | Add PCI devices to DUTs from 3-node single link topology -| | ${get_framesize}= | Get Frame Size | ${framesize} -| | Run Keyword If | ${get_framesize} < ${1522} | Add No Multi Seg to all DUTs -| | Apply startup configuration on all VPP DUTs -| | L2 bridge domain initialized in a 3-node circular topology -| | Find PDR using binary search and pps -| | ... | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge -| | ... | ${min_rate} | ${max_rate} | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type} - -| L2 Bridge Domain PDR Binary Search -| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} | ${s_limit} -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Add '${wt}' worker threads and rxqueues '${rxq}' in 3-node single-link topo -| | Add PCI devices to DUTs from 3-node single link topology -| | ${get_framesize}= | Get Frame Size | ${framesize} -| | Run Keyword If | ${get_framesize} < ${1522} | Add No Multi Seg to all DUTs -| | Apply startup configuration on all VPP DUTs -| | L2 bridge domain initialized in a 3-node circular topology -| | Find PDR using binary search and pps -| | ... | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge -| | ... | ${min_rate} | ${max_rate} | ${threshold} -| | ... | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type} - -*** Test Cases *** -| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${64} | ${100000} | 1 | 1 | ${s_18.75Mpps} -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. -| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at\ -| | ... | 18.75Mpps rate, step 100kpps. -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc03-1518B-1t1c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${1518} | ${10000} | 1 | 1 | ${s_24.5G} -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. -| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at\ -| | ... | 24.5G rate, step 10kpps. -| | [Template] | L2 Bridge Domain NDR Binary Search BW limit - -| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${64} | ${100000} | 2 | 1 | ${s_18.75Mpps} -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. -| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at\ -| | ... | 18.75Mpps rate, step 100kpps. -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc09-1518B-2t2c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${1518} | ${10000} | 2 | 1 | ${s_24.5G} -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. -| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at\ -| | ... | 24.5G rate, step 10kpps. -| | [Template] | L2 Bridge Domain NDR Binary Search BW limit - -| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${64} | ${100000} | 4 | 2 | ${s_18.75Mpps} -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 4 threads, 4 phy cores, 2 receive queues per NIC port. -| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at\ -| | ... | 18.75Mpps rate, step 100kpps. -| | [Template] | L2 Bridge Domain NDR Binary Search - -| tc15-1518B-4t4c-eth-l2bdbasemaclrn-ndrdisc -| | ... | ${1518} | ${10000} | 4 | 2 | ${s_24.5G} -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 4 threads, 4 phy cores, 2 receive queues per NIC port. -| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at\ -| | ... | 24.5G rate, step 10kpps. -| | [Template] | L2 Bridge Domain NDR Binary Search BW limit - -| tc19-IMIX-1t1c-eth-l2bdbasemaclrn-ndrdisc -| | ... | IMIX_v4_1 | ${100000} | 1 | 1 | ${s_24.5G} -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. -| | ... | [Ver] Find NDR for IMIX_v4_1 frames using binary search start at\ -| | ... | 24.5G rate, step 100kpps. -| | [Template] | L2 Bridge Domain NDR Binary Search BW limit - -| tc20-IMIX-2t2c-eth-l2bdbasemaclrn-ndrdisc -| | ... | IMIX_v4_1 | ${100000} | 2 | 1 | ${s_24.5G} -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. -| | ... | [Ver] Find NDR for IMIX_v4_1 frames using binary search start at\ -| | ... | 24.5G rate, step 100kpps. -| | [Template] | L2 Bridge Domain NDR Binary Search BW limit - -| tc21-IMIX-4t4c-eth-l2bdbasemaclrn-ndrdisc -| | ... | IMIX_v4_1 | ${100000} | 4 | 2 | ${s_24.5G} -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD switching config with with\ -| | ... | 4 threads, 4 phy cores, 2 receive queues per NIC port. -| | ... | [Ver] Find NDR for IMIX_v4_1 frames using binary search start at\ -| | ... | 24.5G rate, step 100kpps. -| | [Template] | L2 Bridge Domain NDR Binary Search BW limit diff --git a/tests/perf/40ge2p1xl710-eth-l2bdbasemaclrn-ndrpdrdisc.robot b/tests/perf/40ge2p1xl710-eth-l2bdbasemaclrn-ndrpdrdisc.robot new file mode 100644 index 0000000000..ac8d19c19d --- /dev/null +++ b/tests/perf/40ge2p1xl710-eth-l2bdbasemaclrn-ndrpdrdisc.robot @@ -0,0 +1,220 @@ +# 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.robot +| Library | resources.libraries.python.NodePath +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-XL710 | ETH | L2BDMACLRN | BASE +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L2 | Intel-XL710 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-bridge +| ... +| Documentation | *RFC2544: Pkt throughput L2BD test cases* +| ... +| ... | *[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. DUT1 and DUT2 tested with 2p40GE NIC\ +| ... | XL710-DA2 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} + +*** Keywords *** +| L2 Bridge Domain NDR Binary Search BW limit +| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} | ${s_limit} +| | Set Test Variable | ${framesize} +| | Set Test Variable | ${min_rate} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Add '${wt}' worker threads and rxqueues '${rxq}' in 3-node single-link topo +| | Add PCI devices to DUTs from 3-node single link topology +| | ${get_framesize}= | Get Frame Size | ${framesize} +| | Run Keyword If | ${get_framesize} < ${1522} | Add No Multi Seg to all DUTs +| | Apply startup configuration on all VPP DUTs +| | L2 bridge domain initialized in a 3-node circular topology +| | Find NDR using binary search and pps +| | ... | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge +| | ... | ${min_rate} | ${max_rate} | ${threshold} + +| L2 Bridge Domain NDR Binary Search +| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} | ${s_limit} +| | Set Test Variable | ${framesize} +| | Set Test Variable | ${min_rate} +| | ${max_rate}= | Set Variable | ${s_limit} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Add '${wt}' worker threads and rxqueues '${rxq}' in 3-node single-link topo +| | Add PCI devices to DUTs from 3-node single link topology +| | ${get_framesize}= | Get Frame Size | ${framesize} +| | Run Keyword If | ${get_framesize} < ${1522} | Add No Multi Seg to all DUTs +| | Apply startup configuration on all VPP DUTs +| | L2 bridge domain initialized in a 3-node circular topology +| | Find NDR using binary search and pps +| | ... | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge +| | ... | ${min_rate} | ${max_rate} | ${threshold} + +| L2 Bridge Domain PDR Binary Search BW limit +| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} | ${s_limit} +| | Set Test Variable | ${framesize} +| | Set Test Variable | ${min_rate} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Add '${wt}' worker threads and rxqueues '${rxq}' in 3-node single-link topo +| | Add PCI devices to DUTs from 3-node single link topology +| | ${get_framesize}= | Get Frame Size | ${framesize} +| | Run Keyword If | ${get_framesize} < ${1522} | Add No Multi Seg to all DUTs +| | Apply startup configuration on all VPP DUTs +| | L2 bridge domain initialized in a 3-node circular topology +| | Find PDR using binary search and pps +| | ... | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge +| | ... | ${min_rate} | ${max_rate} | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type} + +| L2 Bridge Domain PDR Binary Search +| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} | ${s_limit} +| | Set Test Variable | ${framesize} +| | Set Test Variable | ${min_rate} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Add '${wt}' worker threads and rxqueues '${rxq}' in 3-node single-link topo +| | Add PCI devices to DUTs from 3-node single link topology +| | ${get_framesize}= | Get Frame Size | ${framesize} +| | Run Keyword If | ${get_framesize} < ${1522} | Add No Multi Seg to all DUTs +| | Apply startup configuration on all VPP DUTs +| | L2 bridge domain initialized in a 3-node circular topology +| | Find PDR using binary search and pps +| | ... | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge +| | ... | ${min_rate} | ${max_rate} | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type} + +*** Test Cases *** +| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${64} | ${100000} | 1 | 1 | ${s_18.75Mpps} +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. +| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at\ +| | ... | 18.75Mpps rate, step 100kpps. +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc03-1518B-1t1c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${1518} | ${10000} | 1 | 1 | ${s_24.5G} +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. +| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at\ +| | ... | 24.5G rate, step 10kpps. +| | [Template] | L2 Bridge Domain NDR Binary Search BW limit + +| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${64} | ${100000} | 2 | 1 | ${s_18.75Mpps} +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. +| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at\ +| | ... | 18.75Mpps rate, step 100kpps. +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc09-1518B-2t2c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${1518} | ${10000} | 2 | 1 | ${s_24.5G} +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. +| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at\ +| | ... | 24.5G rate, step 10kpps. +| | [Template] | L2 Bridge Domain NDR Binary Search BW limit + +| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${64} | ${100000} | 4 | 2 | ${s_18.75Mpps} +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 4 threads, 4 phy cores, 2 receive queues per NIC port. +| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at\ +| | ... | 18.75Mpps rate, step 100kpps. +| | [Template] | L2 Bridge Domain NDR Binary Search + +| tc15-1518B-4t4c-eth-l2bdbasemaclrn-ndrdisc +| | ... | ${1518} | ${10000} | 4 | 2 | ${s_24.5G} +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 4 threads, 4 phy cores, 2 receive queues per NIC port. +| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at\ +| | ... | 24.5G rate, step 10kpps. +| | [Template] | L2 Bridge Domain NDR Binary Search BW limit + +| tc19-IMIX-1t1c-eth-l2bdbasemaclrn-ndrdisc +| | ... | IMIX_v4_1 | ${100000} | 1 | 1 | ${s_24.5G} +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. +| | ... | [Ver] Find NDR for IMIX_v4_1 frames using binary search start at\ +| | ... | 24.5G rate, step 100kpps. +| | [Template] | L2 Bridge Domain NDR Binary Search BW limit + +| tc20-IMIX-2t2c-eth-l2bdbasemaclrn-ndrdisc +| | ... | IMIX_v4_1 | ${100000} | 2 | 1 | ${s_24.5G} +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. +| | ... | [Ver] Find NDR for IMIX_v4_1 frames using binary search start at\ +| | ... | 24.5G rate, step 100kpps. +| | [Template] | L2 Bridge Domain NDR Binary Search BW limit + +| tc21-IMIX-4t4c-eth-l2bdbasemaclrn-ndrdisc +| | ... | IMIX_v4_1 | ${100000} | 4 | 2 | ${s_24.5G} +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD switching config with with\ +| | ... | 4 threads, 4 phy cores, 2 receive queues per NIC port. +| | ... | [Ver] Find NDR for IMIX_v4_1 frames using binary search start at\ +| | ... | 24.5G rate, step 100kpps. +| | [Template] | L2 Bridge Domain NDR Binary Search BW limit diff --git a/tests/perf/40ge2p1xl710-eth-l2xcbase-ndrdisc.robot b/tests/perf/40ge2p1xl710-eth-l2xcbase-ndrdisc.robot deleted file mode 100644 index c80d6f901a..0000000000 --- a/tests/perf/40ge2p1xl710-eth-l2xcbase-ndrdisc.robot +++ /dev/null @@ -1,257 +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.robot -| Library | resources.libraries.python.InterfaceUtil -| Library | resources.libraries.python.NodePath -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-XL710 | ETH | L2XCFWD | BASE -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L2 | Intel-XL710 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-xconnect -| ... -| Documentation | *RFC2544: Pkt throughput L2XC test cases* -| ... -| ... | *[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- -| ... | connect. DUT1 and DUT2 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} - -*** Test Cases *** -| tc01-64B-1t1c-eth-l2xcbase-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 18.75Mpps rate, step 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | 64 -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc03-1518B-1t1c-eth-l2xcbase-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 24.5G rate, step 10kpps. -| | [Tags] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc07-64B-2t2c-eth-l2xcbase-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 18.75Mpps rate, step 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | 64 -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc09-1518B-2t2c-eth-l2xcbase-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 24.5G rate, step 10kpps. -| | [Tags] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc13-64B-4t4c-eth-l2xcbase-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 18.75Mpps rate, step 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | 64 -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc15-1518B-4t4c-eth-l2xcbase-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 24.5G rate, step 10kpps. -| | [Tags] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc19-IMIX-1t1c-eth-l2xcbase-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 24.5G rate, step 100kpps. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${100000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add all PCI devices to all DUTs -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc20-IMIX-2t2c-eth-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 2 thread, 2 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size -| | ... | using binary search start at 24.5G rate, step 100kpps. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${100000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add all PCI devices to all DUTs -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc21-IMIX-4t4c-eth-l2xcbase-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 4 thread, 4 phy core, \ -| | ... | 2 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size -| | ... | using binary search start at 24.5G rate, step 100kpps. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${100000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add all PCI devices to all DUTs -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And L2 xconnect initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-xconnect -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} diff --git a/tests/perf/40ge2p1xl710-eth-l2xcbase-ndrpdrdisc.robot b/tests/perf/40ge2p1xl710-eth-l2xcbase-ndrpdrdisc.robot new file mode 100644 index 0000000000..c80d6f901a --- /dev/null +++ b/tests/perf/40ge2p1xl710-eth-l2xcbase-ndrpdrdisc.robot @@ -0,0 +1,257 @@ +# 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.robot +| Library | resources.libraries.python.InterfaceUtil +| Library | resources.libraries.python.NodePath +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-XL710 | ETH | L2XCFWD | BASE +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L2 | Intel-XL710 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-xconnect +| ... +| Documentation | *RFC2544: Pkt throughput L2XC test cases* +| ... +| ... | *[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- +| ... | connect. DUT1 and DUT2 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} + +*** Test Cases *** +| tc01-64B-1t1c-eth-l2xcbase-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 18.75Mpps rate, step 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | 64 +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc03-1518B-1t1c-eth-l2xcbase-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 24.5G rate, step 10kpps. +| | [Tags] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc07-64B-2t2c-eth-l2xcbase-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 18.75Mpps rate, step 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | 64 +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc09-1518B-2t2c-eth-l2xcbase-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 24.5G rate, step 10kpps. +| | [Tags] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc13-64B-4t4c-eth-l2xcbase-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 18.75Mpps rate, step 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | 64 +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc15-1518B-4t4c-eth-l2xcbase-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 24.5G rate, step 10kpps. +| | [Tags] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc19-IMIX-1t1c-eth-l2xcbase-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 24.5G rate, step 100kpps. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${100000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc20-IMIX-2t2c-eth-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 2 thread, 2 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size +| | ... | using binary search start at 24.5G rate, step 100kpps. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${100000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc21-IMIX-4t4c-eth-l2xcbase-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 4 thread, 4 phy core, \ +| | ... | 2 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size +| | ... | using binary search start at 24.5G rate, step 100kpps. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${100000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And L2 xconnect initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} diff --git a/tests/perf/40ge2p1xl710-ethip4-ip4base-ndrdisc.robot b/tests/perf/40ge2p1xl710-ethip4-ip4base-ndrdisc.robot deleted file mode 100644 index cc04ea0d5c..0000000000 --- a/tests/perf/40ge2p1xl710-ethip4-ip4base-ndrdisc.robot +++ /dev/null @@ -1,264 +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.robot -| Library | resources.libraries.python.topology.Topology -| Library | resources.libraries.python.NodePath -| Library | resources.libraries.python.InterfaceUtil -| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT1']} -| ... | WITH NAME | dut1_v4 -| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT2']} -| ... | WITH NAME | dut2_v4 -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-XL710 | ETH | IP4FWD | BASE -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L3 | Intel-XL710 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-IPv4 -| ... -| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases* -| ... -| ... | *[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. DUT1 and DUT2 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} - -*** Test Cases *** -| tc01-64B-1t1c-ethip4-ip4base-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 18.75Mpps rate, step 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc03-1518B-1t1c-ethip4-ip4base-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 24.5G rate, step 10kpps. -| | [Tags] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc07-64B-2t2c-ethip4-ip4base-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 18.75Mpps rate, step 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc09-1518B-2t2c-ethip4-ip4base-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 24.5G rate, step 10kpps. -| | [Tags] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc13-64B-4t4c-ethip4-ip4base-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 18.75Mpps rate, step 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc15-1518B-4t4c-ethip4-ip4base-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 24.5G rate, step 10kpps. -| | [Tags] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc19-IMIX-1t1c-ethip4-ip4base-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 24.5G rate, step 100kpps. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${100000} -| | ${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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add all PCI devices to all DUTs -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc20-IMIX-2t2c-ethip4-ip4base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 thread, 2 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size -| | ... | using binary search start at 24.5G rate, step 100kpps. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${100000} -| | ${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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add all PCI devices to all DUTs -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc21-IMIX-4t4c-ethip4-ip4base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 thread, 4 phy core, \ -| | ... | 2 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size -| | ... | using binary search start at 24.5G rate, step 100kpps. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${min_rate}= | Set Variable | ${100000} -| | ${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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add all PCI devices to all DUTs -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv4 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv4 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - diff --git a/tests/perf/40ge2p1xl710-ethip4-ip4base-ndrpdrdisc.robot b/tests/perf/40ge2p1xl710-ethip4-ip4base-ndrpdrdisc.robot new file mode 100644 index 0000000000..cc04ea0d5c --- /dev/null +++ b/tests/perf/40ge2p1xl710-ethip4-ip4base-ndrpdrdisc.robot @@ -0,0 +1,264 @@ +# 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.robot +| Library | resources.libraries.python.topology.Topology +| Library | resources.libraries.python.NodePath +| Library | resources.libraries.python.InterfaceUtil +| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT1']} +| ... | WITH NAME | dut1_v4 +| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT2']} +| ... | WITH NAME | dut2_v4 +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-XL710 | ETH | IP4FWD | BASE +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L3 | Intel-XL710 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-IPv4 +| ... +| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases* +| ... +| ... | *[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. DUT1 and DUT2 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} + +*** Test Cases *** +| tc01-64B-1t1c-ethip4-ip4base-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 18.75Mpps rate, step 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc03-1518B-1t1c-ethip4-ip4base-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 24.5G rate, step 10kpps. +| | [Tags] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc07-64B-2t2c-ethip4-ip4base-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 18.75Mpps rate, step 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc09-1518B-2t2c-ethip4-ip4base-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 24.5G rate, step 10kpps. +| | [Tags] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc13-64B-4t4c-ethip4-ip4base-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 18.75Mpps rate, step 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${64} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc15-1518B-4t4c-ethip4-ip4base-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 24.5G rate, step 10kpps. +| | [Tags] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc19-IMIX-1t1c-ethip4-ip4base-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 24.5G rate, step 100kpps. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${100000} +| | ${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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc20-IMIX-2t2c-ethip4-ip4base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 thread, 2 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size +| | ... | using binary search start at 24.5G rate, step 100kpps. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${100000} +| | ${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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc21-IMIX-4t4c-ethip4-ip4base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 thread, 4 phy core, \ +| | ... | 2 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size +| | ... | using binary search start at 24.5G rate, step 100kpps. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH +| | ${framesize}= | Set Variable | IMIX_v4_1 +| | ${min_rate}= | Set Variable | ${100000} +| | ${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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv4 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv4 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + diff --git a/tests/perf/40ge2p1xl710-ethip6-ip6base-ndrdisc.robot b/tests/perf/40ge2p1xl710-ethip6-ip6base-ndrdisc.robot deleted file mode 100644 index b8d33045b9..0000000000 --- a/tests/perf/40ge2p1xl710-ethip6-ip6base-ndrdisc.robot +++ /dev/null @@ -1,186 +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.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC -| ... | NIC_Intel-XL710 | ETH | IP6FWD | BASE -| ... -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L3 | Intel-XL710 -| Suite Teardown | 3-node Performance Suite Teardown -| ... -| Test Setup | Performance test setup -| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} -| ... | 3-node-IPv6 -| ... -| Documentation | *RFC2544: Pkt throughput IPv6 routing test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 for IPv6 routing. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv6 -| ... | routing and two static IPv6 /64 route entries. DUT1 and DUT2 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, IPv6 header 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} - -*** Test Cases *** -| tc01-78B-1t1c-ethip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 78 Byte frames -| | ... | using binary search start at 18.75Mpps rate, step 100kpps. -| | [Tags] | 1T1C | STHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc03-1518B-1t1c-ethip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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 24.5G rate, step 10kpps. -| | [Tags] | 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} -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc07-78B-2t2c-ethip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 78 Byte frames -| | ... | using binary search start at 18.75Mpps rate, step 100kpps. -| | [Tags] | 2T2C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc09-1518B-2t2c-ethip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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 24.5G rate, step 10kpps. -| | [Tags] | 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} -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc13-78B-4t4c-ethip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 78 Byte frames -| | ... | using binary search start at 18.75Mpps rate, step 100kpps. -| | [Tags] | 4T4C | MTHREAD | NDRDISC -| | ${framesize}= | Set Variable | ${78} -| | ${min_rate}= | Set Variable | ${100000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} - -| tc15-1518B-4t4c-ethip6-ip6base-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 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 24.5G rate, step 10kpps. -| | [Tags] | 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} -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to DUTs from 3-node single link topology -| | And Add No Multi Seg to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And IPv6 forwarding initialized in a 3-node circular topology -| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} -| | ... | ${binary_max} | 3-node-IPv6 -| | ... | ${min_rate} | ${max_rate} -| | ... | ${threshold} diff --git a/tests/perf/40ge2p1xl710-ethip6-ip6base-ndrpdrdisc.robot b/tests/perf/40ge2p1xl710-ethip6-ip6base-ndrpdrdisc.robot new file mode 100644 index 0000000000..b8d33045b9 --- /dev/null +++ b/tests/perf/40ge2p1xl710-ethip6-ip6base-ndrpdrdisc.robot @@ -0,0 +1,186 @@ +# 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.robot +| ... +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC +| ... | NIC_Intel-XL710 | ETH | IP6FWD | BASE +| ... +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L3 | Intel-XL710 +| Suite Teardown | 3-node Performance Suite Teardown +| ... +| Test Setup | Performance test setup +| Test Teardown | Performance test teardown | ${min_rate}pps | ${framesize} +| ... | 3-node-IPv6 +| ... +| Documentation | *RFC2544: Pkt throughput IPv6 routing test cases* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 for IPv6 routing. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv6 +| ... | routing and two static IPv6 /64 route entries. DUT1 and DUT2 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, IPv6 header 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} + +*** Test Cases *** +| tc01-78B-1t1c-ethip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 78 Byte frames +| | ... | using binary search start at 18.75Mpps rate, step 100kpps. +| | [Tags] | 1T1C | STHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc03-1518B-1t1c-ethip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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 24.5G rate, step 10kpps. +| | [Tags] | 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} +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc07-78B-2t2c-ethip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 78 Byte frames +| | ... | using binary search start at 18.75Mpps rate, step 100kpps. +| | [Tags] | 2T2C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc09-1518B-2t2c-ethip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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 24.5G rate, step 10kpps. +| | [Tags] | 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} +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc13-78B-4t4c-ethip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 78 Byte frames +| | ... | using binary search start at 18.75Mpps rate, step 100kpps. +| | [Tags] | 4T4C | MTHREAD | NDRDISC +| | ${framesize}= | Set Variable | ${78} +| | ${min_rate}= | Set Variable | ${100000} +| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| tc15-1518B-4t4c-ethip6-ip6base-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 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 24.5G rate, step 10kpps. +| | [Tags] | 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} +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to DUTs from 3-node single link topology +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And IPv6 forwarding initialized in a 3-node circular topology +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-IPv6 +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} -- cgit 1.2.3-korg