From e3ed9257cd7ef50b44eca72ef7d9ae6c7c792647 Mon Sep 17 00:00:00 2001 From: pmikus Date: Wed, 16 Nov 2016 16:45:05 +0100 Subject: CSIT-469 Rename performance suites Rename performance suites and add more TAGS Change-Id: I6a5251bb6e380fe2a47a6ec1c1aeb4a9f70c5ce3 Signed-off-by: pmikus --- docs/tag_documentation.rst | 352 ++- .../perf/10ge2p1x520-dot1ad-l2xcbase-ndrchk.robot | 283 +++ .../perf/10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot | 631 ++++++ tests/perf/10ge2p1x520-dot1q-l2xcbase-ndrchk.robot | 270 +++ .../perf/10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot | 609 +++++ ...eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot | 668 ++++++ .../10ge2p1x520-eth-l2bdbasemaclrn-ndrchk.robot | 194 ++ .../10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot | 272 +++ ...1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot | 668 ++++++ tests/perf/10ge2p1x520-eth-l2xcbase-ndrchk.robot | 194 ++ tests/perf/10ge2p1x520-eth-l2xcbase-ndrdisc.robot | 511 +++++ ...x520-ethip4-ip4base-copwhtlistbase-ndrchk.robot | 251 ++ ...520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot | 593 +++++ ...520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot | 705 ++++++ ...2p1x520-ethip4-ip4base-iacldstbase-ndrchk.robot | 323 +++ ...p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot | 736 ++++++ ...520-ethip4-ip4base-ipolicemarkbase-ndrchk.robot | 228 ++ ...20-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot | 533 +++++ tests/perf/10ge2p1x520-ethip4-ip4base-ndrchk.robot | 198 ++ .../perf/10ge2p1x520-ethip4-ip4base-ndrdisc.robot | 515 +++++ .../10ge2p1x520-ethip4-ip4scale200k-ndrchk.robot | 213 ++ .../10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot | 499 ++++ .../10ge2p1x520-ethip4-ip4scale20k-ndrchk.robot | 213 ++ .../10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot | 499 ++++ .../10ge2p1x520-ethip4-ip4scale2m-ndrchk.robot | 222 ++ .../10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot | 517 +++++ .../10ge2p1x520-ethip4lispip4-ip4base-ndrchk.robot | 273 +++ ...10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot | 637 ++++++ .../10ge2p1x520-ethip4lispip6-ip4base-ndrchk.robot | 272 +++ ...10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot | 639 ++++++ .../10ge2p1x520-ethip4vxlan-l2xcbase-ndrchk.robot | 191 ++ .../10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot | 457 ++++ ...x520-ethip6-ip6base-copwhtlistbase-ndrchk.robot | 249 ++ ...520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot | 590 +++++ ...2p1x520-ethip6-ip6base-iacldstbase-ndrchk.robot | 204 ++ ...p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot | 499 ++++ tests/perf/10ge2p1x520-ethip6-ip6base-ndrchk.robot | 194 ++ .../perf/10ge2p1x520-ethip6-ip6base-ndrdisc.robot | 461 ++++ .../10ge2p1x520-ethip6-ip6scale200k-ndrchk.robot | 213 ++ .../10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot | 499 ++++ .../10ge2p1x520-ethip6-ip6scale20k-ndrchk.robot | 213 ++ .../10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot | 499 ++++ .../10ge2p1x520-ethip6-ip6scale2m-ndrchk.robot | 213 ++ .../10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot | 499 ++++ .../10ge2p1x520-ethip6lispip4-ip6base-ndrchk.robot | 272 +++ ...10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot | 638 ++++++ .../10ge2p1x520-ethip6lispip6-ip6base-ndrchk.robot | 269 +++ ...10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot | 634 ++++++ .../10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot | 272 +++ .../40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot | 222 ++ tests/perf/40ge2p1xl710-eth-l2xcbase-ndrdisc.robot | 258 +++ .../perf/40ge2p1xl710-ethip4-ip4base-ndrdisc.robot | 263 +++ .../perf/40ge2p1xl710-ethip6-ip6base-ndrdisc.robot | 187 ++ tests/perf/Bridge_Domain_Intel-X520-DA2.robot | 272 --- tests/perf/Bridge_Domain_Intel-X710-DA2.robot | 272 --- tests/perf/Bridge_Domain_Intel-XL710.robot | 222 -- .../Long_Bridge_Domain_Vhost_Intel-X520-DA2.robot | 668 ------ tests/perf/Long_IPv4_Cop_Intel-X520-DA2.robot | 593 ----- tests/perf/Long_IPv4_Fib_200k_Intel-X520-DA2.robot | 499 ---- tests/perf/Long_IPv4_Fib_20k_Intel-X520-DA2.robot | 499 ---- tests/perf/Long_IPv4_Fib_2M_Intel-X520-DA2.robot | 517 ----- tests/perf/Long_IPv4_Intel-X520-DA2.robot | 515 ----- tests/perf/Long_IPv4_Intel-XL710.robot | 263 --- tests/perf/Long_IPv4_Policer_Intel-X520-DA2.robot | 533 ----- tests/perf/Long_IPv4_Vhost_Intel-X520-DA2.robot | 705 ------ tests/perf/Long_IPv4_iAcl_Intel-X520-DA2.robot | 736 ------ tests/perf/Long_IPv6_Cop_Intel-X520-DA2.robot | 590 ----- tests/perf/Long_IPv6_Fib_200k_Intel-X520-DA2.robot | 499 ---- tests/perf/Long_IPv6_Fib_20k_Intel-X520-DA2.robot | 499 ---- tests/perf/Long_IPv6_Fib_2M_Intel-X520-DA2.robot | 499 ---- tests/perf/Long_IPv6_Intel-X520-DA2.robot | 461 ---- tests/perf/Long_IPv6_Intel-XL710.robot | 187 -- tests/perf/Long_IPv6_iAcl_Intel-X520-DA2.robot | 499 ---- tests/perf/Long_Lisp_Intel-X520-DA2.robot | 2391 -------------------- .../perf/Long_Xconnect_Dot1ad_Intel-X520-DA2.robot | 631 ------ .../perf/Long_Xconnect_Dot1q_Intel-X520-DA2.robot | 609 ----- tests/perf/Long_Xconnect_Intel-X520-DA2.robot | 511 ----- tests/perf/Long_Xconnect_Intel-XL710.robot | 258 --- .../perf/Long_Xconnect_Vhost_Intel-X520-DA2.robot | 668 ------ .../Long_Xconnect_Vxlan_Ipv4_Intel-X520-DA2.robot | 457 ---- .../perf/Short_Bridge_Domain_Intel-X520-DA2.robot | 194 -- tests/perf/Short_IPv4_Cop_Intel-X520-DA2.robot | 251 -- .../perf/Short_IPv4_Fib_200k_Intel-X520-DA2.robot | 213 -- tests/perf/Short_IPv4_Fib_20k_Intel-X520-DA2.robot | 213 -- tests/perf/Short_IPv4_Fib_2M_Intel-X520-DA2.robot | 222 -- tests/perf/Short_IPv4_Intel-X520-DA2.robot | 198 -- tests/perf/Short_IPv4_Policer_Intel-X520-DA2.robot | 228 -- tests/perf/Short_IPv4_iAcl_Intel-X520-DA2.robot | 323 --- tests/perf/Short_IPv6_Cop_Intel-X520-DA2.robot | 249 -- .../perf/Short_IPv6_Fib_200k_Intel-X520-DA2.robot | 213 -- tests/perf/Short_IPv6_Fib_20k_Intel-X520-DA2.robot | 213 -- tests/perf/Short_IPv6_Fib_2M_Intel-X520-DA2.robot | 213 -- tests/perf/Short_IPv6_Intel-X520-DA2.robot | 194 -- tests/perf/Short_IPv6_iAcl_Intel-X520-DA2.robot | 204 -- tests/perf/Short_Lisp_Intel-X520-DA2.robot | 943 -------- .../Short_Xconnect_Dot1ad_Intel-X520-DA2.robot | 283 --- .../perf/Short_Xconnect_Dot1q_Intel-X520-DA2.robot | 270 --- tests/perf/Short_Xconnect_Intel-X520-DA2.robot | 194 -- .../Short_Xconnect_Vxlan_Ipv4_Intel-X520-DA2.robot | 191 -- 99 files changed, 20638 insertions(+), 20138 deletions(-) create mode 100644 tests/perf/10ge2p1x520-dot1ad-l2xcbase-ndrchk.robot create mode 100644 tests/perf/10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-dot1q-l2xcbase-ndrchk.robot create mode 100644 tests/perf/10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-ndrchk.robot create mode 100644 tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-eth-l2xcbase-ndrchk.robot create mode 100644 tests/perf/10ge2p1x520-eth-l2xcbase-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrchk.robot create mode 100644 tests/perf/10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4-ip4base-iacldstbase-ndrchk.robot create mode 100644 tests/perf/10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrchk.robot create mode 100644 tests/perf/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4-ip4base-ndrchk.robot create mode 100644 tests/perf/10ge2p1x520-ethip4-ip4base-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4-ip4scale200k-ndrchk.robot create mode 100644 tests/perf/10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4-ip4scale20k-ndrchk.robot create mode 100644 tests/perf/10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4-ip4scale2m-ndrchk.robot create mode 100644 tests/perf/10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4lispip4-ip4base-ndrchk.robot create mode 100644 tests/perf/10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4lispip6-ip4base-ndrchk.robot create mode 100644 tests/perf/10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip4vxlan-l2xcbase-ndrchk.robot create mode 100644 tests/perf/10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrchk.robot create mode 100644 tests/perf/10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip6-ip6base-iacldstbase-ndrchk.robot create mode 100644 tests/perf/10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip6-ip6base-ndrchk.robot create mode 100644 tests/perf/10ge2p1x520-ethip6-ip6base-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip6-ip6scale200k-ndrchk.robot create mode 100644 tests/perf/10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip6-ip6scale20k-ndrchk.robot create mode 100644 tests/perf/10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip6-ip6scale2m-ndrchk.robot create mode 100644 tests/perf/10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip6lispip4-ip6base-ndrchk.robot create mode 100644 tests/perf/10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x520-ethip6lispip6-ip6base-ndrchk.robot create mode 100644 tests/perf/10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot create mode 100644 tests/perf/10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot create mode 100644 tests/perf/40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot create mode 100644 tests/perf/40ge2p1xl710-eth-l2xcbase-ndrdisc.robot create mode 100644 tests/perf/40ge2p1xl710-ethip4-ip4base-ndrdisc.robot create mode 100644 tests/perf/40ge2p1xl710-ethip6-ip6base-ndrdisc.robot delete mode 100644 tests/perf/Bridge_Domain_Intel-X520-DA2.robot delete mode 100644 tests/perf/Bridge_Domain_Intel-X710-DA2.robot delete mode 100644 tests/perf/Bridge_Domain_Intel-XL710.robot delete mode 100644 tests/perf/Long_Bridge_Domain_Vhost_Intel-X520-DA2.robot delete mode 100644 tests/perf/Long_IPv4_Cop_Intel-X520-DA2.robot delete mode 100644 tests/perf/Long_IPv4_Fib_200k_Intel-X520-DA2.robot delete mode 100644 tests/perf/Long_IPv4_Fib_20k_Intel-X520-DA2.robot delete mode 100644 tests/perf/Long_IPv4_Fib_2M_Intel-X520-DA2.robot delete mode 100644 tests/perf/Long_IPv4_Intel-X520-DA2.robot delete mode 100644 tests/perf/Long_IPv4_Intel-XL710.robot delete mode 100644 tests/perf/Long_IPv4_Policer_Intel-X520-DA2.robot delete mode 100644 tests/perf/Long_IPv4_Vhost_Intel-X520-DA2.robot delete mode 100644 tests/perf/Long_IPv4_iAcl_Intel-X520-DA2.robot delete mode 100644 tests/perf/Long_IPv6_Cop_Intel-X520-DA2.robot delete mode 100644 tests/perf/Long_IPv6_Fib_200k_Intel-X520-DA2.robot delete mode 100644 tests/perf/Long_IPv6_Fib_20k_Intel-X520-DA2.robot delete mode 100644 tests/perf/Long_IPv6_Fib_2M_Intel-X520-DA2.robot delete mode 100644 tests/perf/Long_IPv6_Intel-X520-DA2.robot delete mode 100644 tests/perf/Long_IPv6_Intel-XL710.robot delete mode 100644 tests/perf/Long_IPv6_iAcl_Intel-X520-DA2.robot delete mode 100644 tests/perf/Long_Lisp_Intel-X520-DA2.robot delete mode 100644 tests/perf/Long_Xconnect_Dot1ad_Intel-X520-DA2.robot delete mode 100644 tests/perf/Long_Xconnect_Dot1q_Intel-X520-DA2.robot delete mode 100644 tests/perf/Long_Xconnect_Intel-X520-DA2.robot delete mode 100644 tests/perf/Long_Xconnect_Intel-XL710.robot delete mode 100644 tests/perf/Long_Xconnect_Vhost_Intel-X520-DA2.robot delete mode 100644 tests/perf/Long_Xconnect_Vxlan_Ipv4_Intel-X520-DA2.robot delete mode 100644 tests/perf/Short_Bridge_Domain_Intel-X520-DA2.robot delete mode 100644 tests/perf/Short_IPv4_Cop_Intel-X520-DA2.robot delete mode 100644 tests/perf/Short_IPv4_Fib_200k_Intel-X520-DA2.robot delete mode 100644 tests/perf/Short_IPv4_Fib_20k_Intel-X520-DA2.robot delete mode 100644 tests/perf/Short_IPv4_Fib_2M_Intel-X520-DA2.robot delete mode 100644 tests/perf/Short_IPv4_Intel-X520-DA2.robot delete mode 100644 tests/perf/Short_IPv4_Policer_Intel-X520-DA2.robot delete mode 100644 tests/perf/Short_IPv4_iAcl_Intel-X520-DA2.robot delete mode 100644 tests/perf/Short_IPv6_Cop_Intel-X520-DA2.robot delete mode 100644 tests/perf/Short_IPv6_Fib_200k_Intel-X520-DA2.robot delete mode 100644 tests/perf/Short_IPv6_Fib_20k_Intel-X520-DA2.robot delete mode 100644 tests/perf/Short_IPv6_Fib_2M_Intel-X520-DA2.robot delete mode 100644 tests/perf/Short_IPv6_Intel-X520-DA2.robot delete mode 100644 tests/perf/Short_IPv6_iAcl_Intel-X520-DA2.robot delete mode 100644 tests/perf/Short_Lisp_Intel-X520-DA2.robot delete mode 100644 tests/perf/Short_Xconnect_Dot1ad_Intel-X520-DA2.robot delete mode 100644 tests/perf/Short_Xconnect_Dot1q_Intel-X520-DA2.robot delete mode 100644 tests/perf/Short_Xconnect_Intel-X520-DA2.robot delete mode 100644 tests/perf/Short_Xconnect_Vxlan_Ipv4_Intel-X520-DA2.robot diff --git a/docs/tag_documentation.rst b/docs/tag_documentation.rst index ab5e2d1345..e0be374ee2 100644 --- a/docs/tag_documentation.rst +++ b/docs/tag_documentation.rst @@ -1,131 +1,331 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. +.. |copy| unicode:: 0xA9 .. copyright sign + +| Copyright |copy| 2016 Cisco and/or its affiliates. +| Licensed under the Apache License, Version 2.0 (the "License"); +| you may not use this file except in compliance with the License. +| You may obtain a copy of the License at: +| +| http://www.apache.org/licenses/LICENSE-2.0 +| +| Unless required by applicable law or agreed to in writing, software +| distributed under the License is distributed on an "AS IS" BASIS, +| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +| See the License for the specific language governing permissions and +| limitations under the License. + + +.. contents:: Table of Contents + :depth: 2 + + +TAGs and their descriptions +=========================== Documentation for tags used to select and identify test cases. -List of TAGs and their descriptions -=================================== Topology TAGs ------------- -3_NODE_DOUBLE_LINK_TOPO +.. topic:: 3_NODE_DOUBLE_LINK_TOPO + 3 nodes connected in a circular topology with two links interconnecting the devices. -3_NODE_SINGLE_LINK_TOPO +.. topic:: 3_NODE_SINGLE_LINK_TOPO + 3 nodes connected in a circular topology with at least one link interconnecting devices. Objective TAGs -------------- -SKIP_PATCH +.. topic:: SKIP_PATCH + Test case(s) marked to not run in case of vpp-csit-verify (i.e. VPP patch) and csit-vpp-verify jobs (i.e. CSIT patch). + Environment TAGs ---------------- -HW_ENV +.. topic:: HW_ENV + DUTs and TGs are running on bare metal. -VM_ENV +.. topic:: VM_ENV + DUTs and TGs are running in virtual environment. -VPP_VM_ENV +.. topic:: VPP_VM_ENV + DUTs with VPP and capable of running Virtual Machine. -DUT Setup TAGs --------------- -1_THREAD_NOHTT_RSS_1 - 1 worker thread pinned to dedicated core without use of Hyper-threading - technology with 1 thread per interface. Main thread pinned to core 0. +Scaling TAGs +------------ -2_THREAD_NOHTT_RSS_1 - 2 worker threads each pinned to dedicated core without use of Hyper-threading - technology with 1 thread per interface. Main thread pinned to core 0. +.. topic:: FIB_20K -4_THREAD_NOHTT_RSS_2 - 4 worker threads each pinned to dedicated core without use of Hyper-threading - technology with 2 threads per interface. Main thread pinned to core 0. + 2x10,000 entries in single fib table -6_THREAD_NOHTT_RSS_3 - 6 worker threads each pinned to dedicated core without use of Hyper-threading - technology with 3 threads per interface. Main thread pinned to core 0. +.. topic:: FIB_200K -8_THREAD_HTT_RSS_4 - 8 worker threads each pinned to dedicated core without use of Hyper-threading - technology with 4 threads per interface. Main thread pinned to core 0. + 2x100,000 entries in single fib table -SINGLE_THREAD - All single threaded test cases. +.. topic:: FIB_2M -MULTI_THREAD - All test cases with more then one thread. + 2x1,000,000 entries in single fib table -Performance testing TAGs ------------------------- -PERFTEST +Tags marking the kinds of tags +------------------------------ + +.. topic:: FUNCTEST + + All functional test cases. + +.. topic:: PERFTEST + All performance test cases. -PERFTEST_VHOST - All performance test cases that include testing of VHOST with VM. -PERFTEST_SHORT - Performance of DUT should pass specific value. Each test case run is - executed for 10 seconds. +Performance testing tags +------------------------ + +.. topic:: PDRDISC -PERFTEST_LONG - Find performance of DUT based on RFC2544 with linear/binary/combined - search. Each test case run is executed for 60 seconds. + Partial Drop Rate evaluation of single run result, with non-zero packet + loss tolerance (LT) expressed in percentage of packets transmitted. -PDR - Partial Drop Rate evaluation of single run result. Loss acceptance of - dropped packets from number of sent packet is set as variable in frames or - percentage. +.. topic:: NDRDISC -NDR Non Drop Rate evaluation of results. Loss acceptance of dropped packets is set to zero lost packets. -Scaling TAGs +.. topic:: NDRCHK + + Performance tests where TG verifies DUTs' throughput at ref-NDR (reference + Non Drop Rate) with zero packet loss tolerance. + +.. topic:: NDRPDRDISC + + Find performance of DUT based on RFC2544 with linear / binary / combined + search. (Previous LONG tests.) + + +Test type tags +-------------- + +.. topic:: BASE + + Baseline test cases, no encapsulation, no feature(s) configured in tests. + +.. topic:: SCALE + + Scale test cases. + +.. topic:: ENCAP + + Test cases where encapsulation is used. Use also encapsulation tag(s). + +.. topic:: FEATURE + + At least one feature is configured in test cases. Use also feature tag(s). + + +Forwarding mode tags +-------------------- + +.. topic:: L2BDMACSTAT + + VPP L2 bridge-domain, L2 MAC static. + +.. topic:: L2BDMACLRN + + VPP L2 bridge-domain, L2 MAC learning. + +.. topic:: L2XCFWD + + VPP L2 point-to-point cross-connect. + +.. topic:: IP4FWD + + VPP IPv4 routed forwarding. + +.. topic:: IP6FWD + + VPP IPv6 routed forwarding. + + +Underlay tags +---------- + +.. topic:: IP4UNRLAY + + IPv4 underlay. + +.. topic:: IP6UNRLAY + + IPv6 underlay. + +.. topic:: MPLSUNRLAY + + MPLS underlay. + + +Overlay tags +---------- + +.. topic:: L2OVRLAY + + L2 overlay. + +.. topic:: IP4OVRLAY + + IPv4 overlay (IPv4 payload). + +.. topic:: IP6OVRLAY + + IPv6 overlay (IPv6 payload). + + +Encapsulation tags +------------------ + +.. topic:: ETH + + All test cases with base Ethernet (no encapsulation). + +.. topic:: DOT1Q + + All test cases with dot1q. + +.. topic:: DOT1AD + + All test cases with dot1ad. + +.. topic:: LISP + + All test cases with LISP. + +.. topic:: LISPGPE + + All test cases with LISP-GPE. + +.. topic:: VXLAN + + All test cases with Vxlan. + +.. topic:: VXLANGPE + + All test cases with VXLAN-GPE. + +.. topic:: GRE + + All test cases with GRE. + + +Interface tags +-------------- + +.. topic:: PHY + + All test cases which use physical interface(s). + +.. topic:: VHOST + + All test cases which uses VHOST. + +.. topic:: TUNTAP + + All test cases which uses TUN and TAP. + +.. topic:: AFPKT + + All test cases which uses AFPKT. + +.. topic:: NETMAP + + All test cases which uses Netmap. + + +Feature tags ------------ -FIB_20K - 2x10,000 entries in single fib table +.. topic:: IACLDST -FIB_200K - 2x100,000 entries in single fib table + iACL destination. -FIB_2M - 2x1,000,000 entries in single fib table +.. topic:: COPWHLIST + + COP whitelist. + + +Client-workload tags +-------------------- + +.. topic:: VM + + All test cases which use at least one virtual machine. + +.. topic:: LXC + + All test cases which use Linux container. + +.. topic:: APP + + All test cases with specific APP use. + + +Multi-threading tags +-------------------- + +.. topic:: STHREAD + + All test cases using single poll mode thread. + +.. topic:: MTHREAD + + All test cases using more then one poll mode driver thread. + +.. topic:: 1NUMA + + All test cases with packet processing on single socket. + +.. topic:: 2NUMA + + All test cases with packet processing on two sockets. + +.. topic:: SMT + + All test cases with symmetric Multi-Threading (HyperThreading) enabled. + +.. topic:: NOSMT + + All test cases with symmetric Multi-Threading (HyperThreading) disabled. + +.. topic:: 1T1C + + 1 worker thread pinned to 1 dedicated physical core. 1 receive queue per + interface. Main thread pinned to core 0. + +.. topic:: 2T2C + + 2 worker threads pinned to 2 dedicated physical cores. 1 receive queue per + interface. Main thread pinned to core 0. + +.. topic:: 4T4C -LISP TAGs ---------- -LISP - All Lisp test cases. + 4 worker threads pinned to 4 dedicated physical cores. 2 receive queues per + interface. Main thread pinned to core 0. -LISP_IPv4 - Test Lisp in IPv4 topology. +.. topic:: 6T6C -LISP_IPv6 - Test Lisp in IPv6 topology. + 6 worker threads pinned to 6 dedicated physical cores. 3 receive queues per + interface. Main thread pinned to core 0. -LISP_IPv4oIPv6 - Test IPv4 over IPv6 topology. +.. topic:: 8T8C -LISP_IPv6oIPv4 - Test IPv6 over IPv4 topology. + 8 worker threads pinned to 8 dedicated physical cores. 4 receive queues per + interface. Main thread pinned to core 0. diff --git a/tests/perf/10ge2p1x520-dot1ad-l2xcbase-ndrchk.robot b/tests/perf/10ge2p1x520-dot1ad-l2xcbase-ndrchk.robot new file mode 100644 index 0000000000..5bbc018d68 --- /dev/null +++ b/tests/perf/10ge2p1x520-dot1ad-l2xcbase-ndrchk.robot @@ -0,0 +1,283 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Resource | resources/libraries/robot/tagging.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT +| ... | NIC_Intel-X520-DA2 +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| Documentation | *Reference NDR throughput L2XC with 802.1ad verify 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:* In short performance tests, TG verifies +| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet +| ... | loss tolerance. Ref-NDR value is periodically updated acording to +| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long +| ... | performance tests for the same DUT configuration. Test packets are +| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 +| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with +| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 +| ... | and static payload. MAC addresses are matching MAC addresses of the +| ... | TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| ${subid}= | 10 +| ${outer_vlan_id}= | 100 +| ${inner_vlan_id}= | 200 +| ${type_subif}= | two_tags +| ${tag_rewrite}= | pop-2 + +*** Test Cases *** +| TC01: Verify 64B ref-NDR at 2x 2.9Mpps - DUT L2XC with 802.1ad - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC with 802.1ad config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 2.9mpps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC02: Verify 1514B ref-NDR at 2x 810.635kpps - DUT L2XC with 802.1ad - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC with 802.1ad config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1514 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 1514 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 810635pps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC03: Verify 9000B ref-NDR at 2x 138.458kpps - DUT L2XC with 802.1ad - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC with 802.1ad config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138458pps +| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC04: Verify 64B ref-NDR at 2x 7Mpps - DUT L2XC with 802.1ad - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC with 802.1ad config with 2 thread, 2 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 7.0mpps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC05: Verify 1514B ref-NDR at 2x 810.635kpps - DUT L2XC with 802.1ad - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC with 802.1ad config with 2 thread, 2 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1514 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1514 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 810635pps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC06: Verify 9000B ref-NDR at 2x 138.458kpps - DUT L2XC with 802.1ad - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC with 802.1ad config with 2 thread, 2 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138458pps +| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC07: Verify 64B ref-NDR at 2x 8Mpps - DUT L2XC with 802.1ad - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC with 802.1ad config with 4 thread, 4 phy core, \ +| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 8.0mpps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC08: Verify 1514B ref-NDR at 2x 810.635kpps - DUT L2XC with 802.1ad - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC with 802.1ad config with 4 thread, 4 phy core, \ +| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 1514 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1514 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 810635pps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC09: Verify 9000B ref-NDR at 2x 138.458kpps - DUT L2XC with 802.1ad - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC with 802.1ad config with 4 thread, 4 phy core, \ +| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138458pps +| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect diff --git a/tests/perf/10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot b/tests/perf/10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot new file mode 100644 index 0000000000..f289c32ae4 --- /dev/null +++ b/tests/perf/10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot @@ -0,0 +1,631 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Resource | resources/libraries/robot/tagging.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | NIC_Intel-X520-DA2 +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-xconnect +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| 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 NDR binary search - DUT L2XC with 802.1ad - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT L2XC with 802.1ad - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1514B NDR binary search - DUT L2XC with 802.1ad - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT L2XC with 802.1ad - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: 9000B NDR binary search - DUT L2XC with 802.1ad - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT L2XC with 802.1ad - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 64B NDR binary search - DUT L2XC with 802.1ad - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT L2XC with 802.1ad - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1514B NDR binary search - DUT L2XC with 802.1ad - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with 802.1ad - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: 9000B NDR binary search - DUT L2XC with 802.1ad - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with 802.1ad - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 64B NDR binary search - DUT L2XC with 802.1ad - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT L2XC with 802.1ad - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1514B NDR binary search - DUT L2XC with 802.1ad - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with 802.1ad - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: 9000B NDR binary search - DUT L2XC with 802.1ad - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with 802.1ad - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-dot1q-l2xcbase-ndrchk.robot b/tests/perf/10ge2p1x520-dot1q-l2xcbase-ndrchk.robot new file mode 100644 index 0000000000..530bfd0e96 --- /dev/null +++ b/tests/perf/10ge2p1x520-dot1q-l2xcbase-ndrchk.robot @@ -0,0 +1,270 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Resource | resources/libraries/robot/tagging.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT +| ... | NIC_Intel-X520-DA2 +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| Documentation | *Reference NDR throughput L2XC with 802.1q verify 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:* In short performance tests, TG verifies +| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet +| ... | loss tolerance. Ref-NDR value is periodically updated acording to +| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long +| ... | performance tests for the same DUT configuration. Test packets are +| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 +| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with +| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 +| ... | and static payload. MAC addresses are matching MAC addresses of the +| ... | TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| ${subid}= | 10 +| ${tag_rewrite}= | pop-1 + +*** Test Cases *** +| TC01: Verify 64B ref-NDR at 2x 2.9Mpps - DUT 802.1q - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 2.9mpps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC02: Verify 1518B ref-NDR at 2x 720kpps - DUT 802.1q - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 720000pps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC03: Verify 9000B ref-NDR at 2x 120kpps - DUT 802.1q - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 120000pps +| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC04: Verify 64B ref-NDR at 2x 7Mpps - DUT 802.1q - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 7.0mpps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC05: Verify 1518B ref-NDR at 2x 720kpps - DUT 802.1q - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 720000pps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC06: Verify 9000B ref-NDR at 2x 120kpps - DUT 802.1q - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 120000pps +| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC07: Verify 64B ref-NDR at 2x 11Mpps - DUT 802.1q - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 11.0mpps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC08: Verify 1518B ref-NDR at 2x 720kpps - DUT 802.1q - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 720000pps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC09: Verify 9000B ref-NDR at 2x 120kpps - DUT 802.1q - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 120000pps +| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect diff --git a/tests/perf/10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot b/tests/perf/10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot new file mode 100644 index 0000000000..2bb435d5c2 --- /dev/null +++ b/tests/perf/10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot @@ -0,0 +1,609 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Resource | resources/libraries/robot/tagging.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | NIC_Intel-X520-DA2 +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-xconnect +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| 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 NDR binary search - DUT L2XC with 802.1q - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT L2XC with 802.1q - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1518B NDR binary search - DUT L2XC with 802.1q - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT L2XC with 802.1q - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: 9000B NDR binary search - DUT L2XC with 802.1q - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT L2XC with 802.1q - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 64B NDR binary search - DUT L2XC with 802.1q - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT L2XC with 802.1q - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1518B NDR binary search - DUT L2XC with 802.1q - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with 802.1q - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: 9000B NDR binary search - DUT L2XC with 802.1q - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with 802.1q - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 64B NDR binary search - DUT L2XC with 802.1q - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT L2XC with 802.1q - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1518B NDR binary search - DUT L2XC with 802.1q - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with 802.1q - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: 9000B NDR binary search - DUT L2XC with 802.1q - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with 802.1q - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_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 new file mode 100644 index 0000000000..fb30b1f64d --- /dev/null +++ b/tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot @@ -0,0 +1,668 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Library | resources.libraries.python.QemuUtils +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | PERFTEST_VHOST | NIC_Intel-X520-DA2 | PERFTEST_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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-bridge +| ... | fail_on_loss=${False} +| ... | AND | Show Vpp Vhost On All DUTs +| ... | AND | Remove startup configuration of VPP from all DUTs +| ... | AND | Guest VM with dpdk-testpmd Teardown | ${dut1} +| ... | ${dut1_vm_refs} +| ... | AND | Guest VM with dpdk-testpmd Teardown | ${dut2} +| ... | ${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 NDR binary search - DUT L2BD-VHOST - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT L2BD-VHOST - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1518B NDR binary search - DUT L2BD-VHOST - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_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 PDR binary search - DUT L2BD-VHOST - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: IMIX_v4_1 NDR binary search - DUT L2BD-VHOST - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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_v4_1 PDR binary search - DUT L2BD-VHOST - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 64B NDR binary search - DUT L2BD-VHOST - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT L2BD-VHOST - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1518B NDR binary search - DUT L2BD-VHOST - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2BD-VHOST - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: IMIX_v4_1 NDR binary search - DUT L2BD-VHOST - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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_v4_1 PDR binary search - DUT L2BD-VHOST - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 64B NDR binary search - DUT L2BD-VHOST - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT L2BD-VHOST - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1518B NDR binary search - DUT L2BD-VHOST - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2BD-VHOST - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: IMIX_v4_1 NDR binary search - DUT L2BD-VHOST - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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_v4_1 PDR binary search - DUT L2BD-VHOST - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-ndrchk.robot b/tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-ndrchk.robot new file mode 100644 index 0000000000..91b792a5e8 --- /dev/null +++ b/tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-ndrchk.robot @@ -0,0 +1,194 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Library | resources.libraries.python.NodePath +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT +| ... | NIC_Intel-X520-DA2 | PERFTEST_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 | Setup all DUTs before test +| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| Documentation | *Reference NDR throughput L2BD verify 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 +| ... | X520 Niantic by Intel. +| ... | *[Ver] TG verification:* In short performance tests, TG verifies +| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet +| ... | loss tolerance. Ref-NDR value is periodically updated acording to +| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long +| ... | performance tests for the same DUT configuration. Test packets are +| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 +| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with +| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 +| ... | and static payload. MAC addresses are matching MAC addresses of the +| ... | TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Test Cases *** +| TC01: Verify 64B ref-NDR at 2x 3.2Mpps - DUT L2BD - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 3.2mpps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-bridge + +| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT L2BD - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-bridge + +| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT L2BD - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '1' 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 initialized in a 3-node circular topology +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-bridge + +| TC04: Verify 64B ref-NDR at 2x 6.9Mpps - DUT L2BD - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 6.9mpps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-bridge + +| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT L2BD - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-bridge + +| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT L2BD - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '2' 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 initialized in a 3-node circular topology +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-bridge + +| TC07: Verify 64B ref-NDR at 2x 7.4Mpps - DUT L2BD - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 7.4mpps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-bridge + +| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT L2BD - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-bridge + +| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT L2BD - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '4' 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 initialized in a 3-node circular topology +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-bridge diff --git a/tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot b/tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot new file mode 100644 index 0000000000..e6ac4bfa37 --- /dev/null +++ b/tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot @@ -0,0 +1,272 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | NIC_Intel-X520-DA2 | PERFTEST_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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-bridge +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| 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} +| | ... | ${glob_loss_acceptance} | ${glob_loss_acceptance_type} + +*** Test Cases *** +| TC01: 64B NDR binary search - DUT L2BD - 1thread 1core 1rxq +| | ... | ${64} | ${100000} | 1 | 1 +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | [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 PDR binary search - DUT L2BD - 1thread 1core 1rxq +| | ... | ${64} | ${100000} | 1 | 1 +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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 NDR binary search - DUT L2BD - 1thread 1core 1rxq +| | ... | ${1518} | ${10000} | 1 | 1 +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | [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 PDR binary search - DUT L2BD - 1thread 1core 1rxq +| | ... | ${1518} | ${10000} | 1 | 1 +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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 NDR binary search - DUT L2BD - 1thread 1core 1rxq +| | ... | ${9000} | ${10000} | 1 | 1 +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | [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 PDR binary search - DUT L2BD - 1thread 1core 1rxq +| | ... | ${9000} | ${10000} | 1 | 1 +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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 NDR binary search - DUT L2BD - 2thread 2core 1rxq +| | ... | ${64} | ${100000} | 2 | 1 +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | [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 PDR binary search - DUT L2BD - 2thread 2core 1rxq +| | ... | ${64} | ${100000} | 2 | 1 +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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 NDR binary search - DUT L2BD - 2thread 2core 1rxq +| | ... | ${1518} | ${10000} | 2 | 1 +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2BD - 2thread 2core 1rxq +| | ... | ${1518} | ${10000} | 2 | 1 +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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 NDR binary search - DUT L2BD - 2thread 2core 1rxq +| | ... | ${9000} | ${10000} | 2 | 1 +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2BD - 2thread 2core 1rxq +| | ... | ${9000} | ${10000} | 2 | 1 +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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 NDR binary search - DUT L2BD - 4thread 4core 2rxq +| | ... | ${64} | ${100000} | 4 | 2 +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | [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 PDR binary search - DUT L2BD - 4thread 4core 2rxq +| | ... | ${64} | ${100000} | 4 | 2 +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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 NDR binary search - DUT L2BD - 4thread 4core 2rxq +| | ... | ${1518} | ${10000} | 4 | 2 +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2BD - 4thread 4core 2rxq +| | ... | ${1518} | ${10000} | 4 | 2 +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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 NDR binary search - DUT L2BD - 4thread 4core 2rxq +| | ... | ${9000} | ${10000} | 4 | 2 +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2BD - 4thread 4core 2rxq +| | ... | ${9000} | ${10000} | 4 | 2 +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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 new file mode 100644 index 0000000000..a1c3826daf --- /dev/null +++ b/tests/perf/10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot @@ -0,0 +1,668 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Library | resources.libraries.python.NodePath +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | PERFTEST_VHOST | NIC_Intel-X520-DA2 | PERFTEST_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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-bridge +| ... | fail_on_loss=${False} +| ... | AND | Show Vpp Vhost On All DUTs +| ... | AND | Remove startup configuration of VPP from all DUTs +| ... | AND | Guest VM with dpdk-testpmd Teardown | ${dut1} +| ... | ${dut1_vm_refs} +| ... | AND | Guest VM with dpdk-testpmd Teardown | ${dut2} +| ... | ${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 NDR binary search - DUT L2XC-VHOST - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT L2XC-VHOST - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1518B NDR binary search - DUT L2XC-VHOST - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_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 PDR binary search - DUT L2XC-VHOST - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: IMIX_v4_1 NDR binary search - DUT L2XC-VHOST - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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_v4_1 PDR binary search - DUT L2XC-VHOST - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 64B NDR binary search - DUT L2XC-VHOST - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT L2XC-VHOST - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1518B NDR binary search - DUT L2XC-VHOST - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC-VHOST - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: IMIX_v4_1 NDR binary search - DUT L2XC-VHOST - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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_v4_1 PDR binary search - DUT L2XC-VHOST - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 64B NDR binary search - DUT L2XC-VHOST - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT L2XC-VHOST - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1518B NDR binary search - DUT L2XC-VHOST - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC-VHOST - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: IMIX_v4_1 NDR binary search - DUT L2XC-VHOST - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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_v4_1 PDR binary search - DUT L2XC-VHOST - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + diff --git a/tests/perf/10ge2p1x520-eth-l2xcbase-ndrchk.robot b/tests/perf/10ge2p1x520-eth-l2xcbase-ndrchk.robot new file mode 100644 index 0000000000..c832af41d7 --- /dev/null +++ b/tests/perf/10ge2p1x520-eth-l2xcbase-ndrchk.robot @@ -0,0 +1,194 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Library | resources.libraries.python.InterfaceUtil +| Library | resources.libraries.python.NodePath +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT +| ... | NIC_Intel-X520-DA2 | PERFTEST_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 | Setup all DUTs before test +| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| Documentation | *Reference NDR throughput L2XC verify 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:* In short performance tests, TG verifies +| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet +| ... | loss tolerance. Ref-NDR value is periodically updated acording to +| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long +| ... | performance tests for the same DUT configuration. Test packets are +| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 +| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with +| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 +| ... | and static payload. MAC addresses are matching MAC addresses of the +| ... | TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Test Cases *** +| TC01: Verify 64B ref-NDR at 2x 3.6Mpps - DUT L2XC - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 3.6mpps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT L2XC - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT L2XC - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC04: Verify 64B ref-NDR at 2x 8.3Mpps - DUT L2XC - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 8.3mpps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC05: Verify 1518B ref-NDR at 2x 812.43kpps - DUT L2XC - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT L2XC - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC07: Verify 64B ref-NDR at 2x 9.3Mpps - DUT L2XC - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 9.3mpps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT L2XC - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT L2XC - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect diff --git a/tests/perf/10ge2p1x520-eth-l2xcbase-ndrdisc.robot b/tests/perf/10ge2p1x520-eth-l2xcbase-ndrdisc.robot new file mode 100644 index 0000000000..8ba5476c49 --- /dev/null +++ b/tests/perf/10ge2p1x520-eth-l2xcbase-ndrdisc.robot @@ -0,0 +1,511 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Library | resources.libraries.python.InterfaceUtil +| Library | resources.libraries.python.NodePath +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | NIC_Intel-X520-DA2 | PERFTEST_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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-xconnect +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| 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 NDR binary search - DUT L2XC - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT L2XC - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1518B NDR binary search - DUT L2XC - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | 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 PDR binary search - DUT L2XC - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: 9000B NDR binary search - DUT L2XC - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT L2XC - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 64B NDR binary search - DUT L2XC - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT L2XC - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1518B NDR binary search - DUT L2XC - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: 9000B NDR binary search - DUT L2XC - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 64B NDR binary search - DUT L2XC - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT L2XC - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1518B NDR binary search - DUT L2XC - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: 9000B NDR binary search - DUT L2XC - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC19: IMIX_v4_1 NDR binary search - DUT L2XC - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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_v4_1 PDR binary search - DUT L2XC - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrchk.robot b/tests/perf/10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrchk.robot new file mode 100644 index 0000000000..462b119bee --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrchk.robot @@ -0,0 +1,251 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.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 | PERFTEST_SHORT +| ... | NIC_Intel-X520-DA2 +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| Documentation | *Reference NDR throughput IPv4 whitelist verify 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:* In short performance tests, TG verifies +| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet +| ... | loss tolerance. Ref-NDR value is periodically updated acording to +| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long +| ... | performance tests for the same DUT configuration. Test packets are +| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 +| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with +| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 +| ... | and static payload. MAC addresses are matching MAC addresses of the +| ... | TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Test Cases *** +| TC01: Verify 64B ref-NDR at 2x 3.5Mpps - DUT IPv4 whitelist - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 64 Byte frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 3.5mpps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 whitelist - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 whitelist - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC04: Verify 64B ref-NDR at 2x 6.6Mpps - DUT IPv4 whitelist - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 64 Byte frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 6.6mpps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 whitelist - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 whitelist - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC07: Verify 64B ref-NDR at 2x 10.0Mpps - DUT IPv4 whitelist - 4threads 4cores 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 64 Byte frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 10.0mpps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 whitelist - 4threads 4cores 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 whitelist - 4threads 4cores 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 diff --git a/tests/perf/10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot new file mode 100644 index 0000000000..1f6614192d --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot @@ -0,0 +1,593 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.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 | PERFTEST_LONG +| ... | NIC_Intel-X520-DA2 +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4 +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| 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 NDR binary search - DUT IPv4 whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1518B NDR binary search - DUT IPv4 whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | 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 PDR binary search - DUT IPv4 whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: 9000B NDR binary search - DUT IPv4 whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 64B NDR binary search - DUT IPv4 whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1518B NDR binary search - DUT IPv4 whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: 9000B NDR binary search - DUT IPv4 whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 64B NDR binary search - DUT IPv4 whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1518B NDR binary search - DUT IPv4 whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: 9000B NDR binary search - DUT IPv4 whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_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 new file mode 100644 index 0000000000..25beeaa234 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot @@ -0,0 +1,705 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Library | resources.libraries.python.QemuUtils +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | PERFTEST_VHOST | NIC_Intel-X520-DA2 | PERFTEST_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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4 +| ... | fail_on_loss=${False} +| ... | AND | Show Vpp Vhost On All DUTs +| ... | AND | Remove startup configuration of VPP from all DUTs +| ... | AND | Guest VM with dpdk-testpmd Teardown | ${dut1} +| ... | ${dut1_vm_refs} +| ... | AND | Guest VM with dpdk-testpmd Teardown | ${dut2} +| ... | ${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 NDR binary search - DUT IPv4-VHOST - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4-VHOST - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1518B NDR binary search - DUT IPv4-VHOST - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} +| | ${binary_min}= | Set Variable | ${min_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 PDR binary search - DUT IPv4-VHOST - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: IMIX_v4_1 NDR binary search - DUT IPv4-VHOST - 1thread 1core 1rxq +| | [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 5kpps. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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_v4_1 PDR binary search - DUT IPv4-VHOST - 1thread 1core 1rxq +| | [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 5kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 64B NDR binary search - DUT IPv4-VHOST - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4-VHOST - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1518B NDR binary search - DUT IPv4-VHOST - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4-VHOST - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: IMIX_v4_1 NDR binary search - DUT IPv4-VHOST - 2threads 2cores 1rxq +| | [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 5kpps. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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_v4_1 PDR binary search - DUT IPv4-VHOST - 2threads 2cores 1rxq +| | [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 5kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 64B NDR binary search - DUT IPv4-VHOST - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4-VHOST - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1518B NDR binary search - DUT IPv4-VHOST - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4-VHOST - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: IMIX_v4_1 NDR binary search - DUT IPv4-VHOST - 4threads 4cores 2rxq +| | [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 5kpps. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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_v4_1 PDR binary search - DUT IPv4-VHOST - 4threads 4cores 2rxq +| | [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 5kpps, LT=0.5%. +| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + + diff --git a/tests/perf/10ge2p1x520-ethip4-ip4base-iacldstbase-ndrchk.robot b/tests/perf/10ge2p1x520-ethip4-ip4base-iacldstbase-ndrchk.robot new file mode 100644 index 0000000000..d0836bbce0 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4-ip4base-iacldstbase-ndrchk.robot @@ -0,0 +1,323 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.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 | PERFTEST_SHORT +| ... | NIC_Intel-X520-DA2 +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| Documentation | *Reference NDR throughput IPv4 whitelist verify 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:* In short performance tests, TG verifies +| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet +| ... | loss tolerance. Ref-NDR value is periodically updated acording to +| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long +| ... | performance tests for the same DUT configuration. Test packets are +| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 +| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with +| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 +| ... | and static payload. MAC addresses are matching MAC addresses of the +| ... | TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Test Cases *** +| TC01: Verify 64B ref-NDR at 2x 3.1Mpps - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 64 Byte frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 3.1mpps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC04: Verify 64B ref-NDR at 2x 5.8Mpps - DUT IPv4 iAcl whitelist - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 64 Byte frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 5.8mpps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 iAcl whitelist - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 iAcl whitelist - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC07: Verify 64B ref-NDR at 2x 7.8Mpps - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 64 Byte frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 7.8mpps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 +| | ${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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 diff --git a/tests/perf/10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot new file mode 100644 index 0000000000..d5e9877d4c --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot @@ -0,0 +1,736 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.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 | PERFTEST_LONG +| ... | NIC_Intel-X520-DA2 +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4 +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| 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 NDR binary search - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1518B NDR binary search - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | 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 PDR binary search - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: 9000B NDR binary search - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 64B NDR binary search - DUT IPv4 iAcl whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 iAcl whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1518B NDR binary search - DUT IPv4 iAcl whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 iAcl whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: 9000B NDR binary search - DUT IPv4 iAcl whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 iAcl whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 64B NDR binary search - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1518B NDR binary search - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: 9000B NDR binary search - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrchk.robot b/tests/perf/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrchk.robot new file mode 100644 index 0000000000..125b1e68d0 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrchk.robot @@ -0,0 +1,228 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.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 | PERFTEST_SHORT +| ... | NIC_Intel-X520-DA2 +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| Documentation | *Reference NDR throughput IPv4 policer verify 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:* In short performance tests, TG verifies +| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet +| ... | loss tolerance. Ref-NDR value is periodically updated acording to +| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long +| ... | performance tests for the same DUT configuration. Test packets are +| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 +| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with +| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 +| ... | and static payload. MAC addresses are matching MAC addresses of the +| ... | TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544, RFC2698. + +*** Variables *** +| ${cir}= | ${100} +| ${eir}= | ${150} + +*** Test Cases *** +| TC01: Verify 64B ref-NDR at 2x 3.1Mpps - DUT IPv4 2r3c-ca policer - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 thread, 1 phy \ +| | ... | core, 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 \ +| | ... | Byte frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 3.1mpps +| | 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 +| | And IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 2r3c-ca policer - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 thread, 1 phy \ +| | ... | core, 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 \ +| | ... | Byte frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 2r3c-ca policer - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 thread, 1 phy \ +| | ... | core, 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 \ +| | ... | Byte frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | 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 +| | And IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC04: Verify 64B ref-NDR at 2x 5.6Mpps - DUT IPv4 2r3c-ca policer - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 threads, 2 \ +| | ... | phy cores, 1 receive queue per NIC port. [Ver] Verify ref-NDR for \ +| | ... | 64 Byte frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 5.6mpps +| | 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 +| | And IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 2r3c-ca policer - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 threads, 2 \ +| | ... | phy cores, 1 receive queue per NIC port. [Ver] Verify ref-NDR for \ +| | ... | 1518 Byte frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | 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 +| | And IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 2r3c-ca policer - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 threads, 2 \ +| | ... | phy cores, 1 receive queue per NIC port. [Ver] Verify ref-NDR for \ +| | ... | 9000 Byte frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | 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 +| | And IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC07: Verify 64B ref-NDR at 2x 8.9Mpps - DUT IPv4 2r3c-ca policer - 4threads 4cores 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 thread, 4 \ +| | ... | phy core, 2 receive queue per NIC port. [Ver] Verify ref-NDR for 64 \ +| | ... | Byte frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 8.9mpps +| | 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 +| | And IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 2r3c-ca policer - 4threads 4cores 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 thread, 4 \ +| | ... | phy core, 2 receive queue per NIC port. [Ver] Verify ref-NDR for \ +| | ... | 1518 Byte frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | 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 +| | And IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 2r3c-ca policer - 4threads 4cores 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 thread, 4 \ +| | ... | phy core, 2 receive queue per NIC port. [Ver] Verify ref-NDR for \ +| | ... | 9000 Byte frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | 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 +| | And IPv4 forwarding initialized in a 3-node circular topology +| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 diff --git a/tests/perf/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot new file mode 100644 index 0000000000..d691bf9292 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot @@ -0,0 +1,533 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.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 | PERFTEST_LONG +| ... | NIC_Intel-X520-DA2 +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4 +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| 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 NDR binary search - DUT IPv4 2r3c-ca policer - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 2r3c-ca policer - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1518B NDR binary search - DUT IPv4 2r3c-ca policer - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${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 PDR binary search - DUT IPv4 2r3c-ca policer - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: 9000B NDR binary search - DUT IPv4 2r3c-ca policer - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 2r3c-ca policer - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 64B NDR binary search - DUT IPv4 2r3c-ca policer - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 2r3c-ca policer - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1518B NDR binary search - DUT IPv4 2r3c-ca policer - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 2r3c-ca policer - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: 9000B NDR binary search - DUT IPv4 2r3c-ca policer - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 2r3c-ca policer - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 64B NDR binary search - DUT IPv4 2r3c-ca policer - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 2r3c-ca policer - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1518B NDR binary search - DUT IPv4 2r3c-ca policer - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 2r3c-ca policer - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: 9000B NDR binary search - DUT IPv4 2r3c-ca policer - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 2r3c-ca policer - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4base-ndrchk.robot b/tests/perf/10ge2p1x520-ethip4-ip4base-ndrchk.robot new file mode 100644 index 0000000000..73efd44ced --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4-ip4base-ndrchk.robot @@ -0,0 +1,198 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.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 | PERFTEST_SHORT +| ... | NIC_Intel-X520-DA2 | PERFTEST_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 | Setup all DUTs before test +| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| Documentation | *Reference NDR throughput IPv4 routing verify 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:* In short performance tests, TG verifies +| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet +| ... | loss tolerance. Ref-NDR value is periodically updated acording to +| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long +| ... | performance tests for the same DUT configuration. Test packets are +| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 +| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with +| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 +| ... | and static payload. MAC addresses are matching MAC addresses of the +| ... | TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Test Cases *** +| TC01: Verify 64B ref-NDR at 2x 3.5Mpps - DUT IPv4 - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 3.5mpps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC04: Verify 64B ref-NDR at 2x 7.5Mpps - DUT IPv4 - 2threads, 2cores, 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 7.5mpps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 - 2threads, 2cores, 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 - 2threads, 2cores, 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC07: Verify 64B ref-NDR at 2x 10.0Mpps - DUT IPv4 - 4threads, 4cores, 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 10.0mpps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 - 4threads, 4cores, 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 - 4threads, 4cores, 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 diff --git a/tests/perf/10ge2p1x520-ethip4-ip4base-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip4-ip4base-ndrdisc.robot new file mode 100644 index 0000000000..93397d42af --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4-ip4base-ndrdisc.robot @@ -0,0 +1,515 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.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 | PERFTEST_LONG +| ... | NIC_Intel-X520-DA2 | PERFTEST_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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4 +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| 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 NDR binary search - DUT IPv4 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1518B NDR binary search - DUT IPv4 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | 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 PDR binary search - DUT IPv4 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: 9000B NDR binary search - DUT IPv4 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 64B NDR binary search - DUT IPv4 - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1518B NDR binary search - DUT IPv4 - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: 9000B NDR binary search - DUT IPv4 - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 64B NDR binary search - DUT IPv4 - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1518B NDR binary search - DUT IPv4 - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: 9000B NDR binary search - DUT IPv4 - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC19: IMIX_v4_1 NDR binary search - DUT IPv4 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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_v4_1 PDR binary search - DUT IPv4 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4scale200k-ndrchk.robot b/tests/perf/10ge2p1x520-ethip4-ip4scale200k-ndrchk.robot new file mode 100644 index 0000000000..ffbce804c0 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4-ip4scale200k-ndrchk.robot @@ -0,0 +1,213 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT +| ... | FIB_200K | NIC_Intel-X520-DA2 | PERFTEST_SCALE +| 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 | Setup all DUTs before test +| Test Teardown | Run Keyword | Remove startup configuration of VPP from all DUTs +| Documentation | *Reference NDR throughput IPv4 routing verify 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:* In short performance tests, TG verifies +| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet +| ... | loss tolerance. Ref-NDR value is periodically updated acording to +| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long +| ... | performance tests for the same DUT confiiguration. 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. Incrementing of IP.dst (IPv4 destination address) +| ... | field is applied to both streams. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| ${rts_per_flow}= | 100000 + +*** Test Cases *** +| TC01: Verify 64B ref-NDR at 2x 3.5Mpps - DUT IPv4 Fib 2x100k - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 3.5mpps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 Fib 2x100k - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 Fib 2x100k - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC04: Verify 64B ref-NDR at 2x 7.5Mpps - DUT IPv4 Fib 2x100k - 2threads, 2cores, 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 7.5mpps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 Fib 2x100k - 2threads, 2cores, 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 Fib 2x100k - 2threads, 2cores, 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC07: Verify 64B ref-NDR at 2x 10.0Mpps - DUT IPv4 Fib 2x100k - 4threads, 4cores, 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 10.0mpps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 Fib 2x100k - 4threads, 4cores, 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 Fib 2x100k - 4threads, 4cores, 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot new file mode 100644 index 0000000000..695c0f834b --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot @@ -0,0 +1,499 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | FIB_200K | NIC_Intel-X520-DA2 | PERFTEST_SCALE +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4-dst-${rts_per_flow} +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| 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 NDR binary search - DUT IPv4 Fib 2x100k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 Fib 2x100k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1518B NDR binary search - DUT IPv4 Fib 2x100k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | 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 PDR binary search - DUT IPv4 Fib 2x100k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: 9000B NDR binary search - DUT IPv4 Fib 2x100k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 Fib 2x100k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 64B NDR binary search - DUT IPv4 Fib 2x100k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 Fib 2x100k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1518B NDR binary search - DUT IPv4 Fib 2x100k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x100k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: 9000B NDR binary search - DUT IPv4 Fib 2x100k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x100k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 64B NDR binary search - DUT IPv4 Fib 2x100k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 Fib 2x100k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1518B NDR binary search - DUT IPv4 Fib 2x100k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x100k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: 9000B NDR binary search - DUT IPv4 Fib 2x100k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x100k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4scale20k-ndrchk.robot b/tests/perf/10ge2p1x520-ethip4-ip4scale20k-ndrchk.robot new file mode 100644 index 0000000000..96e65b3f0e --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4-ip4scale20k-ndrchk.robot @@ -0,0 +1,213 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT +| ... | FIB_20K | NIC_Intel-X520-DA2 | PERFTEST_SCALE +| 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 | Setup all DUTs before test +| Test Teardown | Run Keyword | Remove startup configuration of VPP from all DUTs +| Documentation | *Reference NDR throughput IPv4 routing verify 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:* In short performance tests, TG verifies +| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet +| ... | loss tolerance. Ref-NDR value is periodically updated acording to +| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long +| ... | performance tests for the same DUT confiiguration. 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. Incrementing of IP.dst (IPv4 destination address) +| ... | field is applied to both streams. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| ${rts_per_flow}= | 10000 + +*** Test Cases *** +| TC01: Verify 64B ref-NDR at 2x 3.5Mpps - DUT IPv4 Fib 2x10k - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 3.5mpps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 Fib 2x10k - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 Fib 2x10k - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC04: Verify 64B ref-NDR at 2x 7.5Mpps - DUT IPv4 Fib 2x10k - 2threads, 2cores, 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 7.5mpps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 Fib 2x10k - 2threads, 2cores, 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 Fib 2x10k - 2threads, 2cores, 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC07: Verify 64B ref-NDR at 2x 10.0Mpps - DUT IPv4 Fib 2x10k - 4threads, 4cores, 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 10.0mpps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 Fib 2x10k - 4threads, 4cores, 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 Fib 2x10k - 4threads, 4cores, 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot new file mode 100644 index 0000000000..41f53ec53e --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot @@ -0,0 +1,499 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | FIB_20K | NIC_Intel-X520-DA2 | PERFTEST_SCALE +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4-dst-${rts_per_flow} +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| 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 NDR binary search - DUT IPv4 Fib 2x10k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 Fib 2x10k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1518B NDR binary search - DUT IPv4 Fib 2x10k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | 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 PDR binary search - DUT IPv4 Fib 2x10k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: 9000B NDR binary search - DUT IPv4 Fib 2x10k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 Fib 2x10k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 64B NDR binary search - DUT IPv4 Fib 2x10k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 Fib 2x10k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1518B NDR binary search - DUT IPv4 Fib 2x10k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x10k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: 9000B NDR binary search - DUT IPv4 Fib 2x10k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x10k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 64B NDR binary search - DUT IPv4 Fib 2x10k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 Fib 2x10k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1518B NDR binary search - DUT IPv4 Fib 2x10k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x10k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: 9000B NDR binary search - DUT IPv4 Fib 2x10k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x10k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4scale2m-ndrchk.robot b/tests/perf/10ge2p1x520-ethip4-ip4scale2m-ndrchk.robot new file mode 100644 index 0000000000..459ce0e252 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4-ip4scale2m-ndrchk.robot @@ -0,0 +1,222 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT +| ... | FIB_2M | NIC_Intel-X520-DA2 | PERFTEST_SCALE +| 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 | Setup all DUTs before test +| Test Teardown | Run Keyword | Remove startup configuration of VPP from all DUTs +| Documentation | *Reference NDR throughput IPv4 routing verify 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:* In short performance tests, TG verifies +| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet +| ... | loss tolerance. Ref-NDR value is periodically updated acording to +| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long +| ... | performance tests for the same DUT confiiguration. 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. Incrementing of IP.dst (IPv4 destination address) +| ... | field is applied to both streams. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| ${rts_per_flow}= | 1000000 + +*** Test Cases *** +| TC01: Verify 64B ref-NDR at 2x 3.5Mpps - DUT IPv4 Fib 2x1M - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 3.5mpps +| | Given Add '1' worker threads and rxqueues '1' in 3-node 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 Fib 2x1M - 1thread 1core 1rxq +| | [Documentation] +| | ... | Verify ref-NDR for 1518 Byte frames using single trial throughput +| | ... | test. DUT runs IPv4 routing config with 1 thread, 1 phy core, 1 +| | ... | receive queue per NIC port. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '1' worker threads and rxqueues '1' in 3-node 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 Fib 2x1M - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '1' worker 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC04: Verify 64B ref-NDR at 2x 7.5Mpps - DUT IPv4 Fib 2x1M - 2threads, 2cores, 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 7.5mpps +| | Given Add '2' worker threads and rxqueues '1' in 3-node 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 Fib 2x1M - 2threads, 2cores, 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '2' worker threads and rxqueues '1' in 3-node 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 Fib 2x1M - 2threads, 2cores, 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '2' worker 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC07: Verify 64B ref-NDR at 2x 10.0Mpps - DUT IPv4 Fib 2x1M - 4threads, 4cores, 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 10.0mpps +| | Given Add '4' worker threads and rxqueues '2' in 3-node 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 Fib 2x1M - 4threads, 4cores, 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '4' worker threads and rxqueues '2' in 3-node 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} + +| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 Fib 2x1M - 4threads, 4cores, 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '4' worker 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv4-dst-${rts_per_flow} diff --git a/tests/perf/10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot new file mode 100644 index 0000000000..3fe011ffb9 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot @@ -0,0 +1,517 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | FIB_2M | NIC_Intel-X520-DA2 | PERFTEST_SCALE +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4-dst-${rts_per_flow} +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| 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 NDR binary search - DUT IPv4 Fib 2x1M - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 Fib 2x1M - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1518B NDR binary search - DUT IPv4 Fib 2x1M - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | 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 PDR binary search - DUT IPv4 Fib 2x1M - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: 9000B NDR binary search - DUT IPv4 Fib 2x1M - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 Fib 2x1M - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 64B NDR binary search - DUT IPv4 Fib 2x1M - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 Fib 2x1M - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1518B NDR binary search - DUT IPv4 Fib 2x1M - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x1M - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: 9000B NDR binary search - DUT IPv4 Fib 2x1M - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x1M - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 64B NDR binary search - DUT IPv4 Fib 2x1M - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv4 Fib 2x1M - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1518B NDR binary search - DUT IPv4 Fib 2x1M - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x1M - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: 9000B NDR binary search - DUT IPv4 Fib 2x1M - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x1M - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4lispip4-ip4base-ndrchk.robot b/tests/perf/10ge2p1x520-ethip4lispip4-ip4base-ndrchk.robot new file mode 100644 index 0000000000..778d5ea305 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4lispip4-ip4base-ndrchk.robot @@ -0,0 +1,273 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.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 +# import additional Lisp settings from resource file +| Variables | resources/test_data/lisp/performance/lisp_static_adjacency.py +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT +| ... | NIC_Intel-X520-DA2 | PERFTEST_ENCAP | LISP +| 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 | Setup all DUTs before test +| Test Teardown | Run Keyword | Remove startup configuration of VPP from all DUTs +| Documentation | *Reference NDR throughput Lisp tunnel verify 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:* In short performance tests, TG verifies\ +| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet\ +| ... | loss tolerance. Ref-NDR value is periodically updated acording to\ +| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long\ +| ... | performance tests for the same DUT confiiguration. 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. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Test Cases *** +| TC01: Verify 64B ref-NDR at 2x 1.9Mpps - DUT IPv4 - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 64 Byte frames using single trial throughput\ +| | ... | test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv4 +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 1.9mpps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC02: Verify 1480B ref-NDR at 2x 740kpps - DUT IPv4 - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 1480 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv4 +| | ${framesize}= | Set Variable | 1480 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 740000pps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC03: Verify 9000B ref-NDR at 2x 120kpps - DUT IPv4 - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv4 +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 120000pps +| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC04: Verify 64B ref-NDR at 2x 3.6Mpps - DUT IPv4 - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 2 threads, 2 phy cores,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 64 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv4 +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 3.6mpps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC05: Verify 1480B ref-NDR at 2x 740kpps - DUT IPv4 - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 2 threads, 2 phy cores,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 1480 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv4 +| | ${framesize}= | Set Variable | 1480 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 740000pps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC06: Verify 9000B ref-NDR at 2x 120kpps - DUT IPv4 - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 2 threads, 2 phy cores,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv4 +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 120000pps +| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC07: Verify 64B ref-NDR at 2x 3.5Mpps - DUT IPv4 - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores,\ +| | ... | 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-NDR for 64 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv4 +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 3.5mpps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC08: Verify 1480B ref-NDR at 2x 740kpps - DUT IPv4 - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores,\ +| | ... | 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-NDR for 1480 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv4 +| | ${framesize}= | Set Variable | 1480 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 740000pps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC09: Verify 9000B ref-NDR at 2x 120kpps - DUT IPv4 - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores,\ +| | ... | 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv4 +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 120000pps +| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + diff --git a/tests/perf/10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot new file mode 100644 index 0000000000..d831c76f2c --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot @@ -0,0 +1,637 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.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 +# import additional Lisp settings from resource file +| Variables | resources/test_data/lisp/performance/lisp_static_adjacency.py +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | NIC_Intel-X520-DA2 | PERFTEST_ENCAP | LISP +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4 +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| 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 NDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv4 +| | ${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 PDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv4 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1480B NDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv4 +| | ${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 PDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv4 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: 9000B NDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv4 +| | ${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 PDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv4 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 64B NDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv4 +| | ${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 PDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv4 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1480B NDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv4 +| | ... | 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 PDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv4 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: 9000B NDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv4 +| | ... | 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 PDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv4 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 64B NDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv4 +| | ${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 PDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv4 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1480B NDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv4 +| | ... | 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 PDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv4 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: 9000B NDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv4 +| | ... | 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 PDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv4 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip4lispip6-ip4base-ndrchk.robot b/tests/perf/10ge2p1x520-ethip4lispip6-ip4base-ndrchk.robot new file mode 100644 index 0000000000..d349428f04 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4lispip6-ip4base-ndrchk.robot @@ -0,0 +1,272 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.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 +# import additional Lisp settings from resource file +| Variables | resources/test_data/lisp/performance/lisp_static_adjacency.py +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT +| ... | NIC_Intel-X520-DA2 | PERFTEST_ENCAP | LISP +| 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 | Setup all DUTs before test +| Test Teardown | Run Keyword | Remove startup configuration of VPP from all DUTs +| Documentation | *Reference NDR throughput Lisp tunnel verify 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,\ +| ... | 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:* In short performance tests, TG verifies\ +| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet\ +| ... | loss tolerance. Ref-NDR value is periodically updated acording to\ +| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long +| ... | performance tests for the same DUT confiiguration. 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 or IPv6 header with\ +| ... | IP protocol=61 and generated payload. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Test Cases *** +| TC01: Verify 64B ref-NDR at 2x 1.53Mpps - DUT IPv4oIPv6 - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 64 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv4oIPv6 +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 1.53mpps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC02: Verify 1460B ref-NDR at 2x 720kpps - DUT IPv4oIPv6 - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 1460 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv4oIPv6 +| | ${framesize}= | Set Variable | 1460 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 720000pps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC03: Verify 9000B ref-NDR at 2x 120kpps - DUT IPv4oIPv6 - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv4oIPv6 +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 120000pps +| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC04: Verify 64B ref-NDR at 2x 3.25Mpps - DUT IPv4oIPv6 - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 2 threads, 2 phy cores,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 64 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 3.25mpps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC05: Verify 1460B ref-NDR at 2x 720kpps - DUT IPv4oIPv6 - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 2 threads, 2 phy cores,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 1460 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 +| | ${framesize}= | Set Variable | 1460 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 720000pps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC06: Verify 9000B ref-NDR at 2x 120kpps - DUT IPv4oIPv6 - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 2 threads, 2 phy cores,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 120000pps +| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC07: Verify 64B ref-NDR at 2x 3.12Mpps - DUT IPv4oIPv6 - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores,\ +| | ... | 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-NDR for 64 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 3.12mpps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC08: Verify 1460B ref-NDR at 2x 720kpps - DUT IPv4oIPv6 - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores,\ +| | ... | 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-NDR for 1460 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 +| | ${framesize}= | Set Variable | 1460 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 720000pps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 + +| TC09: Verify 9000B ref-NDR at 2x 120kpps - DUT IPv4oIPv6 - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores,\ +| | ... | 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 120000pps +| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 diff --git a/tests/perf/10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot new file mode 100644 index 0000000000..ceb08d205a --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot @@ -0,0 +1,639 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.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 +# import additional Lisp settings from resource file +| Variables | resources/test_data/lisp/performance/lisp_static_adjacency.py +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | NIC_Intel-X520-DA2 | PERFTEST_ENCAP | LISP +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4 +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| 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 NDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv4oIPv6 +| | ${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 PDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv4oIPv6 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1460B NDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv4oIPv6 +| | ${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 PDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv4oIPv6 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: 9000B NDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv4oIPv6 +| | ${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 PDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv4oIPv6 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 64B NDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 +| | ${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 PDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv4oIPv6 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1460B NDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 +| | ... | 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 PDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv4oIPv6 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: 9000B NDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 +| | ... | 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 PDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv4oIPv6 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 64B NDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 +| | ${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 PDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv4oIPv6 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1460B NDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 +| | ... | 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 PDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv4oIPv6 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: 9000B NDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 +| | ... | 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 PDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv4oIPv6 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + diff --git a/tests/perf/10ge2p1x520-ethip4vxlan-l2xcbase-ndrchk.robot b/tests/perf/10ge2p1x520-ethip4vxlan-l2xcbase-ndrchk.robot new file mode 100644 index 0000000000..730d3d4b96 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4vxlan-l2xcbase-ndrchk.robot @@ -0,0 +1,191 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT +| ... | NIC_Intel-X520-DA2 | PERFTEST_ENCAP +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| Documentation | *Reference NDR throughput L2XC with VXLANoIPv4 verify 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:* In short performance tests, TG verifies +| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet +| ... | loss tolerance. Ref-NDR value is periodically updated acording to +| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long +| ... | performance tests for the same DUT configuration. Test packets are +| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 +| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with +| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 +| ... | and generated payload. MAC addresses are matching MAC addresses of the +| ... | TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544, RFC7348. + +*** Test Cases *** +| TC01: Verify 64B ref-NDR at 2x 2.4Mpps - DUT L2XC with VXLANoIPv4 - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 2.4mpps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC02: Verify 1518B ref-NDR at 2x 787.153kpps - DUT L2XC with VXLANoIPv4 - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 787153pps +| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC03: Verify 9000B ref-NDR at 2x 137.816kpps - DUT L2XC with VXLANoIPv4 - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 137816pps +| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC04: Verify 64B ref-NDR at 2x 5.2Mpps - DUT L2XC with VXLANoIPv4 - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 2 thread, 2 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 5.2mpps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC05: Verify 1518B ref-NDR at 2x 787.153kpps - DUT L2XC with VXLANoIPv4 - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 2 thread, 2 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 787153pps +| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC06: Verify 9000B ref-NDR at 2x 137.816kpps - DUT L2XC with VXLANoIPv4 - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 2 thread, 2 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 137816pps +| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC07: Verify 64B ref-NDR at 2x 8.4Mpps - DUT L2XC with VXLANoIPv4 - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 4 thread, 4 phy core, \ +| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 8.4mpps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC08: Verify 1518B ref-NDR at 2x 787.153kpps - DUT L2XC with VXLANoIPv4 - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 4 thread, 4 phy core, \ +| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 787153pps +| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC09: Verify 9000B ref-NDR at 2x 137.816kpps - DUT L2XC with VXLANoIPv4 - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 4 thread, 4 phy core, \ +| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 137816pps +| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect diff --git a/tests/perf/10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot new file mode 100644 index 0000000000..f52c01cfd7 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot @@ -0,0 +1,457 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | NIC_Intel-X520-DA2 | PERFTEST_ENCAP +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-xconnect +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| 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 NDR binary search - DUT L2XC with VXLANoIPv4 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT L2XC with VXLANoIPv4 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1518B NDR binary search - DUT L2XC with VXLANoIPv4 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT L2XC with VXLANoIPv4 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: 9000B NDR binary search - DUT L2XC with VXLANoIPv4 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT L2XC with VXLANoIPv4 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 64B NDR binary search - DUT L2XC with VXLANoIPv4 - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT L2XC with VXLANoIPv4 - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1518B NDR binary search - DUT L2XC with VXLANoIPv4 - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with VXLANoIPv4 - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: 9000B NDR binary search - DUT L2XC with VXLANoIPv4 - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with VXLANoIPv4 - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 64B NDR binary search - DUT L2XC with VXLANoIPv4 - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT L2XC with VXLANoIPv4 - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1518B NDR binary search - DUT L2XC with VXLANoIPv4 - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with VXLANoIPv4 - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: 9000B NDR binary search - DUT L2XC with VXLANoIPv4 - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with VXLANoIPv4 - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrchk.robot b/tests/perf/10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrchk.robot new file mode 100644 index 0000000000..7494e4fc2e --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrchk.robot @@ -0,0 +1,249 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Library | resources.libraries.python.Cop +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT +| ... | NIC_Intel-X520-DA2 +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| Documentation | *Reference NDR throughput IPv6 whitelist verify 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 /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:* In short performance tests, TG verifies +| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet +| ... | loss tolerance. Ref-NDR value is periodically updated acording to +| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long +| ... | performance tests for the same DUT configuration. Test packets are +| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 +| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with +| ... | all packets containing Ethernet header, IPv6 header and static +| ... | payload. MAC addresses are matching MAC addresses of the TG node +| ... | interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Test Cases *** +| TC01: Verify 78B ref-NDR at 2x 2.8Mpps - DUT IPv6 whitelist - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 78 Byte frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 2.8mpps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 whitelist - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC03: Verify 9000B ref-NDR at 2x 138.580kpps - DUT IPv6 whitelist - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC04: Verify 78B ref-NDR at 2x 4.9Mpps - DUT IPv6 whitelist - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 78 Byte frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 4.9mpps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 whitelist - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 whitelist - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC07: Verify 78B ref-NDR at 2x 10.1Mpps - DUT IPv6 whitelist - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 78 Byte frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 10.1mpps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 whitelist - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 whitelist - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 diff --git a/tests/perf/10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot new file mode 100644 index 0000000000..d7eee8a5a4 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot @@ -0,0 +1,590 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Library | resources.libraries.python.Cop +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | NIC_Intel-X520-DA2 +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-IPv6 +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| 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 NDR binary search - DUT IPv6 whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1518B NDR binary search - DUT IPv6 whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | 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 PDR binary search - DUT IPv6 whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: 9000B NDR binary search - DUT IPv6 whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 78B NDR binary search - DUT IPv6 whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1518B NDR binary search - DUT IPv6 whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: 9000B NDR binary search - DUT IPv6 whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 78B NDR binary search - DUT IPv6 whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1518B NDR binary search - DUT IPv6 whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: 9000B NDR binary search - DUT IPv6 whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6-ip6base-iacldstbase-ndrchk.robot b/tests/perf/10ge2p1x520-ethip6-ip6base-iacldstbase-ndrchk.robot new file mode 100644 index 0000000000..5d1a4e23e0 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6-ip6base-iacldstbase-ndrchk.robot @@ -0,0 +1,204 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Library | resources.libraries.python.Classify.Classify +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT +| ... | NIC_Intel-X520-DA2 +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| Documentation | *Reference NDR throughput IPv6 whitelist verify 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:* In short performance tests, TG verifies +| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet +| ... | loss tolerance. Ref-NDR value is periodically updated acording to +| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long +| ... | performance tests for the same DUT confiiguration. 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. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Test Cases *** +| TC01: Verify 78B ref-NDR at 2x 2.9Mpps - DUT IPv6 iAcl whitelist - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 78 Byte frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 2.9mpps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 iAcl whitelist - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 iAcl whitelist - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC04: Verify 78B ref-NDR at 2x 5.4Mpps - DUT IPv6 iAcl whitelist - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 78 Byte frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 5.4mpps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 iAcl whitelist - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 iAcl whitelist - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC07: Verify 78B ref-NDR at 2x 9.5Mpps - DUT IPv6 iAcl whitelist - 4threads 4cores 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 78 Byte frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 9.5mpps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 iAcl whitelist - 4threads 4cores 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 iAcl whitelist - 4threads 4cores 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ +| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify +| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 diff --git a/tests/perf/10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot new file mode 100644 index 0000000000..b344998cca --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot @@ -0,0 +1,499 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Library | resources.libraries.python.Classify.Classify +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | NIC_Intel-X520-DA2 | PERFTEST_ENCAP +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-IPv6 +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| 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 NDR binary search - DUT IPv6 iAcl whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 iAcl whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1518B NDR binary search - DUT IPv6 iAcl whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | 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 PDR binary search - DUT IPv6 iAcl whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: 9000B NDR binary search - DUT IPv6 iAcl whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 iAcl whitelist - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 78B NDR binary search - DUT IPv6 iAcl whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 iAcl whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1518B NDR binary search - DUT IPv6 iAcl whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 iAcl whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: 9000B NDR binary search - DUT IPv6 iAcl whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 iAcl whitelist - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 78B NDR binary search - DUT IPv6 iAcl whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 iAcl whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1518B NDR binary search - DUT IPv6 iAcl whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 iAcl whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: 9000B NDR binary search - DUT IPv6 iAcl whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 iAcl whitelist - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6-ip6base-ndrchk.robot b/tests/perf/10ge2p1x520-ethip6-ip6base-ndrchk.robot new file mode 100644 index 0000000000..509f32ce1d --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6-ip6base-ndrchk.robot @@ -0,0 +1,194 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT +| ... | NIC_Intel-X520-DA2 | PERFTEST_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 | Setup all DUTs before test +| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| Documentation | *Reference NDR throughput IPv6 routing verify 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:* In short performance tests, TG verifies +| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet +| ... | loss tolerance. Ref-NDR value is periodically updated acording to +| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long +| ... | performance tests for the same DUT configuration. Test packets are +| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 +| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with +| ... | all packets containing Ethernet header, IPv6 header and static +| ... | payload. MAC addresses are matching MAC addresses of the TG node +| ... | interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Test Cases *** +| TC01: Verify 78B ref-NDR at 2x 2.9Mpps - DUT IPv6 - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 78 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 2.9mpps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC04: Verify 78B ref-NDR at 2x 5.9Mpps - DUT IPv6 - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 78 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 5.9mpps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC07: Verify 78B ref-NDR at 2x 7.3Mpps - DUT IPv6 - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 78 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 7.3mpps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 diff --git a/tests/perf/10ge2p1x520-ethip6-ip6base-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip6-ip6base-ndrdisc.robot new file mode 100644 index 0000000000..8f549e655a --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6-ip6base-ndrdisc.robot @@ -0,0 +1,461 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | NIC_Intel-X520-DA2 | PERFTEST_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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-IPv6 +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| 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 NDR binary search - DUT IPv6 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1518B NDR binary search - DUT IPv6 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | 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 PDR binary search - DUT IPv6 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: 9000B NDR binary search - DUT IPv6 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 78B NDR binary search - DUT IPv6 - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1518B NDR binary search - DUT IPv6 - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: 9000B NDR binary search - DUT IPv6 - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 78B NDR binary search - DUT IPv6 - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1518B NDR binary search - DUT IPv6 - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: 9000B NDR binary search - DUT IPv6 - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6-ip6scale200k-ndrchk.robot b/tests/perf/10ge2p1x520-ethip6-ip6scale200k-ndrchk.robot new file mode 100644 index 0000000000..e068e47711 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6-ip6scale200k-ndrchk.robot @@ -0,0 +1,213 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT +| ... | FIB_200K | NIC_Intel-X520-DA2 | PERFTEST_SCALE +| 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 | Setup all DUTs before test +| Test Teardown | Run Keyword | Remove startup configuration of VPP from all DUTs +| Documentation | *Reference NDR throughput IPv6 routing verify 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:* In short performance tests, TG verifies +| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet +| ... | loss tolerance. Ref-NDR value is periodically updated acording to +| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long +| ... | performance tests for the same DUT confiiguration. 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 and static +| ... | payload. Incrementing of IP.dst (IPv6 destination address) field is +| ... | applied to both streams. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| ${rts_per_flow}= | 100000 + +*** Test Cases *** +| TC01: Verify 78B ref-NDR at 2x 2.9Mpps - DUT IPv6 Fib 2x100k - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 78 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 2.9mpps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 Fib 2x100k - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 Fib 2x100k - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC04: Verify 78B ref-NDR at 2x 5.9Mpps - DUT IPv6 Fib 2x100k - 2threads, 2cores, 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 thread, 2 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 78 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 5.9mpps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 Fib 2x100k - 2threads, 2cores, 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 thread, 2 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 Fib 2x100k - 2threads, 2cores, 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 thread, 2 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC07: Verify 78B ref-NDR at 2x 10.3Mpps - DUT IPv6 Fib 2x100k - 4threads, 4cores, 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 thread, 4 phy core, \ +| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 78 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 10.3mpps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 Fib 2x100k - 4threads, 4cores, 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 thread, 4 phy core, \ +| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 Fib 2x100k - 4threads, 4cores, 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 thread, 4 phy core, \ +| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} diff --git a/tests/perf/10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot new file mode 100644 index 0000000000..de04511a6b --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot @@ -0,0 +1,499 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | FIB_200K | NIC_Intel-X520-DA2 | PERFTEST_SCALE +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-IPv6-dst-${rts_per_flow} +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| 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 NDR binary search - DUT IPv6 Fib 2x100k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 Fib 2x100k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1518B NDR binary search - DUT IPv6 Fib 2x100k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | 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 PDR binary search - DUT IPv6 Fib 2x100k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: 9000B NDR binary search - DUT IPv6 Fib 2x100k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 Fib 2x100k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 78B NDR binary search - DUT IPv6 Fib 2x100k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 Fib 2x100k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1518B NDR binary search - DUT IPv6 Fib 2x100k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x100k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: 9000B NDR binary search - DUT IPv6 Fib 2x100k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x100k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 78B NDR binary search - DUT IPv6 Fib 2x100k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 Fib 2x100k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1518B NDR binary search - DUT IPv6 Fib 2x100k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x100k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: 9000B NDR binary search - DUT IPv6 Fib 2x100k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x100k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6-ip6scale20k-ndrchk.robot b/tests/perf/10ge2p1x520-ethip6-ip6scale20k-ndrchk.robot new file mode 100644 index 0000000000..327d74b81a --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6-ip6scale20k-ndrchk.robot @@ -0,0 +1,213 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT +| ... | FIB_20K | NIC_Intel-X520-DA2 | PERFTEST_SCALE +| 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 | Setup all DUTs before test +| Test Teardown | Run Keyword | Remove startup configuration of VPP from all DUTs +| Documentation | *Reference NDR throughput IPv6 routing verify 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:* In short performance tests, TG verifies +| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet +| ... | loss tolerance. Ref-NDR value is periodically updated acording to +| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long +| ... | performance tests for the same DUT confiiguration. 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 and static +| ... | payload. Incrementing of IP.dst (IPv6 destination address) field is +| ... | applied to both streams. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| ${rts_per_flow}= | 10000 + +*** Test Cases *** +| TC01: Verify 78B ref-NDR at 2x 2.9Mpps - DUT IPv6 Fib 2x10k - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 78 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 2.9mpps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 Fib 2x10k - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 Fib 2x10k - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC04: Verify 78B ref-NDR at 2x 5.9Mpps - DUT IPv6 Fib 2x10k - 2threads, 2cores, 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 thread, 2 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 78 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 5.9mpps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 Fib 2x10k - 2threads, 2cores, 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 thread, 2 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 Fib 2x10k - 2threads, 2cores, 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 thread, 2 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC07: Verify 78B ref-NDR at 2x 10.0Mpps - DUT IPv6 Fib 2x10k - 4threads, 4cores, 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 thread, 4 phy core, \ +| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 78 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 10.0mpps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 Fib 2x10k - 4threads, 4cores, 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 thread, 4 phy core, \ +| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 Fib 2x10k - 4threads, 4cores, 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 thread, 4 phy core, \ +| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} diff --git a/tests/perf/10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot new file mode 100644 index 0000000000..56e4ab5328 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot @@ -0,0 +1,499 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | FIB_20K | NIC_Intel-X520-DA2 | PERFTEST_SCALE +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-IPv6-dst-${rts_per_flow} +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| 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 NDR binary search - DUT IPv6 Fib 2x10k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 Fib 2x10k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1518B NDR binary search - DUT IPv6 Fib 2x10k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | 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 PDR binary search - DUT IPv6 Fib 2x10k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: 9000B NDR binary search - DUT IPv6 Fib 2x10k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 Fib 2x10k - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 78B NDR binary search - DUT IPv6 Fib 2x10k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 Fib 2x10k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1518B NDR binary search - DUT IPv6 Fib 2x10k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x10k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: 9000B NDR binary search - DUT IPv6 Fib 2x10k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x10k - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 78B NDR binary search - DUT IPv6 Fib 2x10k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 Fib 2x10k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1518B NDR binary search - DUT IPv6 Fib 2x10k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x10k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: 9000B NDR binary search - DUT IPv6 Fib 2x10k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x10k - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6-ip6scale2m-ndrchk.robot b/tests/perf/10ge2p1x520-ethip6-ip6scale2m-ndrchk.robot new file mode 100644 index 0000000000..1884d2101c --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6-ip6scale2m-ndrchk.robot @@ -0,0 +1,213 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT +| ... | FIB_2M | NIC_Intel-X520-DA2 | PERFTEST_SCALE +| 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 | Setup all DUTs before test +| Test Teardown | Run Keyword | Remove startup configuration of VPP from all DUTs +| Documentation | *Reference NDR throughput IPv6 routing verify 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:* In short performance tests, TG verifies +| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet +| ... | loss tolerance. Ref-NDR value is periodically updated acording to +| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long +| ... | performance tests for the same DUT confiiguration. 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 and static +| ... | payload. Incrementing of IP.dst (IPv6 destination address) field is +| ... | applied to both streams. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| ${rts_per_flow}= | 1000000 + +*** Test Cases *** +| TC01: Verify 78B ref-NDR at 2x 2.3Mpps - DUT IPv6 Fib 2x1M - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 78 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 2.3mpps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 Fib 2x1M - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 Fib 2x1M - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC04: Verify 78B ref-NDR at 2x 4.9Mpps - DUT IPv6 Fib 2x1M - 2threads, 2cores, 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 thread, 2 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 78 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 4.9mpps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 Fib 2x1M - 2threads, 2cores, 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 thread, 2 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 Fib 2x1M - 2threads, 2cores, 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 2 thread, 2 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC07: Verify 78B ref-NDR at 2x 9.5Mpps - DUT IPv6 Fib 2x1M - 4threads, 4cores, 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 thread, 4 phy core, \ +| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 78 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 9.5mpps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 Fib 2x1M - 4threads, 4cores, 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 thread, 4 phy core, \ +| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 812743pps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} + +| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 Fib 2x1M - 4threads, 4cores, 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs IPv6 routing config with 4 thread, 4 phy core, \ +| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138580pps +| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} +| | ... | 3-node-IPv6-dst-${rts_per_flow} diff --git a/tests/perf/10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot new file mode 100644 index 0000000000..7b5b137c07 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot @@ -0,0 +1,499 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | FIB_2M | NIC_Intel-X520-DA2 | PERFTEST_SCALE +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-IPv6-dst-${rts_per_flow} +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| 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 NDR binary search - DUT IPv6 Fib 2x1M - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 Fib 2x1M - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1518B NDR binary search - DUT IPv6 Fib 2x1M - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | ${1518} +| | ${min_rate}= | Set Variable | ${10000} +| | ${max_rate}= | 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 PDR binary search - DUT IPv6 Fib 2x1M - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: 9000B NDR binary search - DUT IPv6 Fib 2x1M - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 Fib 2x1M - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 78B NDR binary search - DUT IPv6 Fib 2x1M - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 Fib 2x1M - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1518B NDR binary search - DUT IPv6 Fib 2x1M - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x1M - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: 9000B NDR binary search - DUT IPv6 Fib 2x1M - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x1M - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 78B NDR binary search - DUT IPv6 Fib 2x1M - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${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 PDR binary search - DUT IPv6 Fib 2x1M - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1518B NDR binary search - DUT IPv6 Fib 2x1M - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x1M - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: 9000B NDR binary search - DUT IPv6 Fib 2x1M - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x1M - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6lispip4-ip6base-ndrchk.robot b/tests/perf/10ge2p1x520-ethip6lispip4-ip6base-ndrchk.robot new file mode 100644 index 0000000000..985a56c5aa --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6lispip4-ip6base-ndrchk.robot @@ -0,0 +1,272 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.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 +# import additional Lisp settings from resource file +| Variables | resources/test_data/lisp/performance/lisp_static_adjacency.py +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT +| ... | NIC_Intel-X520-DA2 | PERFTEST_ENCAP | LISP +| 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 | Setup all DUTs before test +| Test Teardown | Run Keyword | Remove startup configuration of VPP from all DUTs +| Documentation | *Reference NDR throughput Lisp tunnel verify 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:* In short performance tests, TG verifies\ +| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet\ +| ... | loss tolerance. Ref-NDR value is periodically updated acording to\ +| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long\ +| ... | performance tests for the same DUT confiiguration. 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 or IPv6 header with\ +| ... | IP protocol=61 and generated payload. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Test Cases *** +| TC01: Verify 78B ref-NDR at 2x 1.75Mpps - DUT IPv6oIPv4 - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 78 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv6oIPv4 +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 1.75mpps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC02: Verify 1460B ref-NDR at 2x 720kpps - DUT IPv6oIPv4 - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 1460 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv6oIPv4 +| | ${framesize}= | Set Variable | 1460 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 720000pps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC03: Verify 9000B ref-NDR at 2x 120kpps - DUT IPv6oIPv4 - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv6oIPv4 +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 120000pps +| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC04: Verify 78B ref-NDR at 2x 3.42Mpps - DUT IPv6oIPv4 - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 2 threads, 2 phy cores,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 78 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 3.42mpps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC05: Verify 1460B ref-NDR at 2x 720kpps - DUT IPv6oIPv4 - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 2 threads, 2 phy cores,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 1460 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 +| | ${framesize}= | Set Variable | 1460 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 720000pps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC06: Verify 9000B ref-NDR at 2x 120kpps - DUT IPv6oIPv4 - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 2 threads, 2 phy cores,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 120000pps +| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC07: Verify 78B ref-NDR at 2x 3.42Mpps - DUT IPv6oIPv4 - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores,\ +| | ... | 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-NDR for 78 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 3.42mpps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC08: Verify 1460B ref-NDR at 2x 720Kpps - DUT IPv6oIPv4 - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores,\ +| | ... | 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-NDR for 1460 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 +| | ${framesize}= | Set Variable | 1460 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 720000pps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC09: Verify 9000B ref-NDR at 2x 120Kpps - DUT IPv6oIPv4 - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores,\ +| | ... | 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 120000pps +| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 diff --git a/tests/perf/10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot new file mode 100644 index 0000000000..d38aa0dd50 --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot @@ -0,0 +1,638 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.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 +# import additional Lisp settings from resource file +| Variables | resources/test_data/lisp/performance/lisp_static_adjacency.py +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | NIC_Intel-X520-DA2 | PERFTEST_ENCAP | LISP +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-IPv6 +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| 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 NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv6oIPv4 +| | ${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 PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv6IPv4 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1460B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv6oIPv4 +| | ${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 PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv6oIPv4 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: 9000B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv6oIPv4 +| | ${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 PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv6oIPv4 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 78B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 +| | ${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 PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv6oIPv4 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1460B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 +| | ... | 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 PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv6oIPv4 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: 9000B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 +| | ... | 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 PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv6oIPv4 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 78B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 +| | ${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 PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv6oIPv4 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1460B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 +| | ... | 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 PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv6oIPv4 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: 9000B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 +| | ... | 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 PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv6oIPv4 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x520-ethip6lispip6-ip6base-ndrchk.robot b/tests/perf/10ge2p1x520-ethip6lispip6-ip6base-ndrchk.robot new file mode 100644 index 0000000000..bd18ec321a --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6lispip6-ip6base-ndrchk.robot @@ -0,0 +1,269 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Resource | resources/libraries/robot/lisp/lisp_static_adjacency.robot +# import additional Lisp settings from resource file +| Variables | resources/test_data/lisp/performance/lisp_static_adjacency.py +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT +| ... | NIC_Intel-X520-DA2 | PERFTEST_ENCAP | LISP +| 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 | Setup all DUTs before test +| Test Teardown | Run Keyword | Remove startup configuration of VPP from all DUTs +| Documentation | *Reference NDR throughput Lisp tunnel verify 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-ICMPv6 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:* In short performance tests, TG verifies\ +| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet\ +| ... | loss tolerance. Ref-NDR value is periodically updated acording to\ +| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long\ +| ... | performance tests for the same DUT confiiguration. 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 with\ +| ... | IP protocol=61 and generated payload. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Test Cases *** +| TC01: Verify 78B ref-NDR at 2x 1.56Mpps - DUT IPv6 - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 78 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv6 +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 1.56mpps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC02: Verify 1460B ref-NDR at 2x 740kpps - DUT IPv6 - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 1460 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv6 +| | ${framesize}= | Set Variable | 1460 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 740000pps +| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC03: Verify 9000B ref-NDR at 2x 120kpps - DUT IPv6 - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv6 +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 120000pps +| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC04: Verify 78B ref-NDR at 2x 3.2Mpps - DUT IPv6 - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 2 thread, 2 phy core,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 78 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv6 +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 3.2mpps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC05: Verify 1460B ref-NDR at 2x 740kpps - DUT IPv6 - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 2 threads, 2 phy cores,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 1460 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv6 +| | ${framesize}= | Set Variable | 1460 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 740000pps +| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC06: Verify 9000B ref-NDR at 2x 120kpps - DUT IPv6 - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 2 threads, 2 phy cores,\ +| | ... | 1 receive queue per NIC port. +| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv6 +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 120000pps +| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC07: Verify 78B ref-NDR at 2x 3.2Mpps - DUT IPv6 - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores,\ +| | ... | 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-NDR for 78 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv6 +| | ${framesize}= | Set Variable | 78 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 3.2mpps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC08: Verify 1460B ref-NDR at 2x 740kpps - DUT IPv6 - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores,\ +| | ... | 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-NDR for 1460 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv6 +| | ${framesize}= | Set Variable | 1460 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 740000pps +| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo +| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + +| TC09: Verify 9000B ref-NDR at 2x 120kpps - DUT IPv6 - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores,\ +| | ... | 2 receive queues per NIC port. +| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial\ +| | ... | throughput test. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv6 +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 120000pps +| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv6 + diff --git a/tests/perf/10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot b/tests/perf/10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot new file mode 100644 index 0000000000..edbd70cd9d --- /dev/null +++ b/tests/perf/10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot @@ -0,0 +1,634 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Resource | resources/libraries/robot/lisp/lisp_static_adjacency.robot +# import additional Lisp settings from resource file +| Variables | resources/test_data/lisp/performance/lisp_static_adjacency.py +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | NIC_Intel-X520-DA2 | PERFTEST_ENCAP | LISP +| 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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-IPv6 +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| 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 NDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv6 +| | ${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 PDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv6 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1460B NDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv6 +| | ${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 PDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv6 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: 9000B NDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv6 +| | ${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 PDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv6 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 78B NDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv6 +| | ${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 PDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv6 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1460B NDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv6 +| | ... | 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 PDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv6 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: 9000B NDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv6 +| | ... | 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 PDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv6 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 78B NDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv6 +| | ${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 PDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv6 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1460B NDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv6 +| | ... | 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 PDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv6 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: 9000B NDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv6 +| | ... | 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 PDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv6 +| | ... | 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} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot b/tests/perf/10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot new file mode 100644 index 0000000000..b646bcc230 --- /dev/null +++ b/tests/perf/10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot @@ -0,0 +1,272 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | NIC_Intel-X710 | PERFTEST_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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-bridge +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| 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} +| | ... | ${glob_loss_acceptance} | ${glob_loss_acceptance_type} + +*** Test Cases *** +| TC01: 64B NDR binary search - DUT L2BD - 1thread 1core 1rxq +| | ... | ${64} | ${100000} | 1 | 1 +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | [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 PDR binary search - DUT L2BD - 1thread 1core 1rxq +| | ... | ${64} | ${100000} | 1 | 1 +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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 NDR binary search - DUT L2BD - 1thread 1core 1rxq +| | ... | ${1518} | ${10000} | 1 | 1 +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | [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 PDR binary search - DUT L2BD - 1thread 1core 1rxq +| | ... | ${1518} | ${10000} | 1 | 1 +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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 NDR binary search - DUT L2BD - 1thread 1core 1rxq +| | ... | ${9000} | ${10000} | 1 | 1 +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | [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 PDR binary search - DUT L2BD - 1thread 1core 1rxq +| | ... | ${9000} | ${10000} | 1 | 1 +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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 NDR binary search - DUT L2BD - 2thread 2core 1rxq +| | ... | ${64} | ${100000} | 2 | 1 +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | [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 PDR binary search - DUT L2BD - 2thread 2core 1rxq +| | ... | ${64} | ${100000} | 2 | 1 +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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 NDR binary search - DUT L2BD - 2thread 2core 1rxq +| | ... | ${1518} | ${10000} | 2 | 1 +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2BD - 2thread 2core 1rxq +| | ... | ${1518} | ${10000} | 2 | 1 +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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 NDR binary search - DUT L2BD - 2thread 2core 1rxq +| | ... | ${9000} | ${10000} | 2 | 1 +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2BD - 2thread 2core 1rxq +| | ... | ${9000} | ${10000} | 2 | 1 +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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 NDR binary search - DUT L2BD - 4thread 4core 2rxq +| | ... | ${64} | ${100000} | 4 | 2 +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | [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 PDR binary search - DUT L2BD - 4thread 4core 2rxq +| | ... | ${64} | ${100000} | 4 | 2 +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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 NDR binary search - DUT L2BD - 4thread 4core 2rxq +| | ... | ${1518} | ${10000} | 4 | 2 +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2BD - 4thread 4core 2rxq +| | ... | ${1518} | ${10000} | 4 | 2 +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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 NDR binary search - DUT L2BD - 4thread 4core 2rxq +| | ... | ${9000} | ${10000} | 4 | 2 +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2BD - 4thread 4core 2rxq +| | ... | ${9000} | ${10000} | 4 | 2 +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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/40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot b/tests/perf/40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot new file mode 100644 index 0000000000..8241f244ae --- /dev/null +++ b/tests/perf/40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot @@ -0,0 +1,222 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Library | resources.libraries.python.NodePath +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | NIC_Intel-XL710 | PERFTEST_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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-bridge +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| 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} +| | ... | ${glob_loss_acceptance} | ${glob_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} +| | ... | ${glob_loss_acceptance} | ${glob_loss_acceptance_type} + +*** Test Cases *** +| TC01: 64B NDR binary search - DUT L2BD - 1thread 1core 1rxq +| | ... | ${64} | ${100000} | 1 | 1 | ${s_18.75Mpps} +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | [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 NDR binary search - DUT L2BD - 1thread 1core 1rxq +| | ... | ${1518} | ${10000} | 1 | 1 | ${s_24.5G} +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | [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 NDR binary search - DUT L2BD - 2thread 2core 1rxq +| | ... | ${64} | ${100000} | 2 | 1 | ${s_18.75Mpps} +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | [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 NDR binary search - DUT L2BD - 2thread 2core 1rxq +| | ... | ${1518} | ${10000} | 2 | 1 | ${s_24.5G} +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 NDR binary search - DUT L2BD - 4thread 4core 2rxq +| | ... | ${64} | ${100000} | 4 | 2 | ${s_18.75Mpps} +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | [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 NDR binary search - DUT L2BD - 4thread 4core 2rxq +| | ... | ${1518} | ${10000} | 4 | 2 | ${s_24.5G} +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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_v4_1 NDR binary search - DUT L2BD - 1thread 1core 1rxq +| | ... | IMIX_v4_1 | ${100000} | 1 | 1 | ${s_24.5G} +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | [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_v4_1 NDR binary search - DUT L2BD - 2thread 2core 1rxq +| | ... | IMIX_v4_1 | ${100000} | 2 | 1 | ${s_24.5G} +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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_v4_1 NDR binary search - DUT L2BD - 4thread 4core 2rxq +| | ... | IMIX_v4_1 | ${100000} | 4 | 2 | ${s_24.5G} +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 new file mode 100644 index 0000000000..654b8209ad --- /dev/null +++ b/tests/perf/40ge2p1xl710-eth-l2xcbase-ndrdisc.robot @@ -0,0 +1,258 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Library | resources.libraries.python.InterfaceUtil +| Library | resources.libraries.python.NodePath +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | NIC_Intel-XL710 | PERFTEST_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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-xconnect +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| 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 NDR binary search - DUT L2XC - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 NDR binary search - DUT L2XC - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 NDR binary search - DUT L2XC - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${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 NDR binary search - DUT L2XC - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 NDR binary search - DUT L2XC - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${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 NDR binary search - DUT L2XC - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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_v4_1 NDR binary search - DUT L2XC - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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_v4_1 NDR binary search - DUT L2XC - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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_v4_1 NDR binary search - DUT L2XC - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 new file mode 100644 index 0000000000..e8379052a6 --- /dev/null +++ b/tests/perf/40ge2p1xl710-ethip4-ip4base-ndrdisc.robot @@ -0,0 +1,263 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.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 | PERFTEST_LONG +| ... | NIC_Intel-XL710 | PERFTEST_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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4 +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| 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 NDR binary search - DUT IPv4 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 NDR binary search - DUT IPv4 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 NDR binary search - DUT IPv4 - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${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 NDR binary search - DUT IPv4 - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 NDR binary search - DUT IPv4 - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${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 NDR binary search - DUT IPv4 - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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_v4_1 NDR binary search - DUT IPv4 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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_v4_1 NDR binary search - DUT IPv4 - 2thread 2core 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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_v4_1 NDR binary search - DUT IPv4 - 4thread 4core 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 new file mode 100644 index 0000000000..ec42917aa0 --- /dev/null +++ b/tests/perf/40ge2p1xl710-ethip6-ip6base-ndrdisc.robot @@ -0,0 +1,187 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/performance.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | NIC_Intel-XL710 | PERFTEST_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 | Setup all DUTs before test +| Test Teardown | Run Keywords +| ... | Run Keyword If Test Failed +| ... | Traffic should pass with no loss | 10 +| ... | ${min_rate}pps | ${framesize} | 3-node-IPv6 +| ... | fail_on_loss=${False} +| ... | AND | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| 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 NDR binary search - DUT IPv6 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 NDR binary search - DUT IPv6 - 1thread 1core 1rxq +| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${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 NDR binary search - DUT IPv6 - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${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 NDR binary search - DUT IPv6 - 2threads 2cores 1rxq +| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 NDR binary search - DUT IPv6 - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${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 NDR binary search - DUT IPv6 - 4threads 4cores 2rxq +| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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/Bridge_Domain_Intel-X520-DA2.robot b/tests/perf/Bridge_Domain_Intel-X520-DA2.robot deleted file mode 100644 index ab1703053f..0000000000 --- a/tests/perf/Bridge_Domain_Intel-X520-DA2.robot +++ /dev/null @@ -1,272 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-bridge -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| 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} -| | ... | ${glob_loss_acceptance} | ${glob_loss_acceptance_type} - -*** Test Cases *** -| TC01: 64B NDR binary search - DUT L2BD - 1thread 1core 1rxq -| | ... | ${64} | ${100000} | 1 | 1 -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | [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 PDR binary search - DUT L2BD - 1thread 1core 1rxq -| | ... | ${64} | ${100000} | 1 | 1 -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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 NDR binary search - DUT L2BD - 1thread 1core 1rxq -| | ... | ${1518} | ${10000} | 1 | 1 -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | [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 PDR binary search - DUT L2BD - 1thread 1core 1rxq -| | ... | ${1518} | ${10000} | 1 | 1 -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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 NDR binary search - DUT L2BD - 1thread 1core 1rxq -| | ... | ${9000} | ${10000} | 1 | 1 -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | [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 PDR binary search - DUT L2BD - 1thread 1core 1rxq -| | ... | ${9000} | ${10000} | 1 | 1 -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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 NDR binary search - DUT L2BD - 2thread 2core 1rxq -| | ... | ${64} | ${100000} | 2 | 1 -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | [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 PDR binary search - DUT L2BD - 2thread 2core 1rxq -| | ... | ${64} | ${100000} | 2 | 1 -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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 NDR binary search - DUT L2BD - 2thread 2core 1rxq -| | ... | ${1518} | ${10000} | 2 | 1 -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2BD - 2thread 2core 1rxq -| | ... | ${1518} | ${10000} | 2 | 1 -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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 NDR binary search - DUT L2BD - 2thread 2core 1rxq -| | ... | ${9000} | ${10000} | 2 | 1 -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2BD - 2thread 2core 1rxq -| | ... | ${9000} | ${10000} | 2 | 1 -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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 NDR binary search - DUT L2BD - 4thread 4core 2rxq -| | ... | ${64} | ${100000} | 4 | 2 -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | [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 PDR binary search - DUT L2BD - 4thread 4core 2rxq -| | ... | ${64} | ${100000} | 4 | 2 -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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 NDR binary search - DUT L2BD - 4thread 4core 2rxq -| | ... | ${1518} | ${10000} | 4 | 2 -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2BD - 4thread 4core 2rxq -| | ... | ${1518} | ${10000} | 4 | 2 -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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 NDR binary search - DUT L2BD - 4thread 4core 2rxq -| | ... | ${9000} | ${10000} | 4 | 2 -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2BD - 4thread 4core 2rxq -| | ... | ${9000} | ${10000} | 4 | 2 -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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/Bridge_Domain_Intel-X710-DA2.robot b/tests/perf/Bridge_Domain_Intel-X710-DA2.robot deleted file mode 100644 index 2dc66362d0..0000000000 --- a/tests/perf/Bridge_Domain_Intel-X710-DA2.robot +++ /dev/null @@ -1,272 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG -| ... | NIC_Intel-X710 -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L2 | Intel-X710 -| Suite Teardown | 3-node Performance Suite Teardown -| Test Setup | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-bridge -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| 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} -| | ... | ${glob_loss_acceptance} | ${glob_loss_acceptance_type} - -*** Test Cases *** -| TC01: 64B NDR binary search - DUT L2BD - 1thread 1core 1rxq -| | ... | ${64} | ${100000} | 1 | 1 -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | [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 PDR binary search - DUT L2BD - 1thread 1core 1rxq -| | ... | ${64} | ${100000} | 1 | 1 -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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 NDR binary search - DUT L2BD - 1thread 1core 1rxq -| | ... | ${1518} | ${10000} | 1 | 1 -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | [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 PDR binary search - DUT L2BD - 1thread 1core 1rxq -| | ... | ${1518} | ${10000} | 1 | 1 -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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 NDR binary search - DUT L2BD - 1thread 1core 1rxq -| | ... | ${9000} | ${10000} | 1 | 1 -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | [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 PDR binary search - DUT L2BD - 1thread 1core 1rxq -| | ... | ${9000} | ${10000} | 1 | 1 -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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 NDR binary search - DUT L2BD - 2thread 2core 1rxq -| | ... | ${64} | ${100000} | 2 | 1 -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | [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 PDR binary search - DUT L2BD - 2thread 2core 1rxq -| | ... | ${64} | ${100000} | 2 | 1 -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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 NDR binary search - DUT L2BD - 2thread 2core 1rxq -| | ... | ${1518} | ${10000} | 2 | 1 -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2BD - 2thread 2core 1rxq -| | ... | ${1518} | ${10000} | 2 | 1 -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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 NDR binary search - DUT L2BD - 2thread 2core 1rxq -| | ... | ${9000} | ${10000} | 2 | 1 -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2BD - 2thread 2core 1rxq -| | ... | ${9000} | ${10000} | 2 | 1 -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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 NDR binary search - DUT L2BD - 4thread 4core 2rxq -| | ... | ${64} | ${100000} | 4 | 2 -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | [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 PDR binary search - DUT L2BD - 4thread 4core 2rxq -| | ... | ${64} | ${100000} | 4 | 2 -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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 NDR binary search - DUT L2BD - 4thread 4core 2rxq -| | ... | ${1518} | ${10000} | 4 | 2 -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2BD - 4thread 4core 2rxq -| | ... | ${1518} | ${10000} | 4 | 2 -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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 NDR binary search - DUT L2BD - 4thread 4core 2rxq -| | ... | ${9000} | ${10000} | 4 | 2 -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2BD - 4thread 4core 2rxq -| | ... | ${9000} | ${10000} | 4 | 2 -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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/Bridge_Domain_Intel-XL710.robot b/tests/perf/Bridge_Domain_Intel-XL710.robot deleted file mode 100644 index edefb2cada..0000000000 --- a/tests/perf/Bridge_Domain_Intel-XL710.robot +++ /dev/null @@ -1,222 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Library | resources.libraries.python.NodePath -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG -| ... | NIC_Intel-XL710 -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L2 | Intel-XL710 -| Suite Teardown | 3-node Performance Suite Teardown -| Test Setup | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-bridge -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| 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} -| | ... | ${glob_loss_acceptance} | ${glob_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} -| | ... | ${glob_loss_acceptance} | ${glob_loss_acceptance_type} - -*** Test Cases *** -| TC01: 64B NDR binary search - DUT L2BD - 1thread 1core 1rxq -| | ... | ${64} | ${100000} | 1 | 1 | ${s_18.75Mpps} -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | [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 NDR binary search - DUT L2BD - 1thread 1core 1rxq -| | ... | ${1518} | ${10000} | 1 | 1 | ${s_24.5G} -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | [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 NDR binary search - DUT L2BD - 2thread 2core 1rxq -| | ... | ${64} | ${100000} | 2 | 1 | ${s_18.75Mpps} -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | [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 NDR binary search - DUT L2BD - 2thread 2core 1rxq -| | ... | ${1518} | ${10000} | 2 | 1 | ${s_24.5G} -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 NDR binary search - DUT L2BD - 4thread 4core 2rxq -| | ... | ${64} | ${100000} | 4 | 2 | ${s_18.75Mpps} -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | [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 NDR binary search - DUT L2BD - 4thread 4core 2rxq -| | ... | ${1518} | ${10000} | 4 | 2 | ${s_24.5G} -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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_v4_1 NDR binary search - DUT L2BD - 1thread 1core 1rxq -| | ... | IMIX_v4_1 | ${100000} | 1 | 1 | ${s_24.5G} -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | [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_v4_1 NDR binary search - DUT L2BD - 2thread 2core 1rxq -| | ... | IMIX_v4_1 | ${100000} | 2 | 1 | ${s_24.5G} -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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_v4_1 NDR binary search - DUT L2BD - 4thread 4core 2rxq -| | ... | IMIX_v4_1 | ${100000} | 4 | 2 | ${s_24.5G} -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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/Long_Bridge_Domain_Vhost_Intel-X520-DA2.robot b/tests/perf/Long_Bridge_Domain_Vhost_Intel-X520-DA2.robot deleted file mode 100644 index cef94c1b44..0000000000 --- a/tests/perf/Long_Bridge_Domain_Vhost_Intel-X520-DA2.robot +++ /dev/null @@ -1,668 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Library | resources.libraries.python.QemuUtils -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG -| ... | PERFTEST_VHOST | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-bridge -| ... | fail_on_loss=${False} -| ... | AND | Show Vpp Vhost On All DUTs -| ... | AND | Remove startup configuration of VPP from all DUTs -| ... | AND | Guest VM with dpdk-testpmd Teardown | ${dut1} -| ... | ${dut1_vm_refs} -| ... | AND | Guest VM with dpdk-testpmd Teardown | ${dut2} -| ... | ${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 NDR binary search - DUT L2BD-VHOST - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT L2BD-VHOST - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC03: 1518B NDR binary search - DUT L2BD-VHOST - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_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 PDR binary search - DUT L2BD-VHOST - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC05: IMIX_v4_1 NDR binary search - DUT L2BD-VHOST - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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_v4_1 PDR binary search - DUT L2BD-VHOST - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC07: 64B NDR binary search - DUT L2BD-VHOST - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT L2BD-VHOST - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC09: 1518B NDR binary search - DUT L2BD-VHOST - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2BD-VHOST - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC11: IMIX_v4_1 NDR binary search - DUT L2BD-VHOST - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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_v4_1 PDR binary search - DUT L2BD-VHOST - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC13: 64B NDR binary search - DUT L2BD-VHOST - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT L2BD-VHOST - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC15: 1518B NDR binary search - DUT L2BD-VHOST - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2BD-VHOST - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC17: IMIX_v4_1 NDR binary search - DUT L2BD-VHOST - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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_v4_1 PDR binary search - DUT L2BD-VHOST - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/Long_IPv4_Cop_Intel-X520-DA2.robot b/tests/perf/Long_IPv4_Cop_Intel-X520-DA2.robot deleted file mode 100644 index 1f6614192d..0000000000 --- a/tests/perf/Long_IPv4_Cop_Intel-X520-DA2.robot +++ /dev/null @@ -1,593 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.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 | PERFTEST_LONG -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4 -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| 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 NDR binary search - DUT IPv4 whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC03: 1518B NDR binary search - DUT IPv4 whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | 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 PDR binary search - DUT IPv4 whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC05: 9000B NDR binary search - DUT IPv4 whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC07: 64B NDR binary search - DUT IPv4 whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC09: 1518B NDR binary search - DUT IPv4 whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC11: 9000B NDR binary search - DUT IPv4 whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC13: 64B NDR binary search - DUT IPv4 whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC15: 1518B NDR binary search - DUT IPv4 whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC17: 9000B NDR binary search - DUT IPv4 whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - diff --git a/tests/perf/Long_IPv4_Fib_200k_Intel-X520-DA2.robot b/tests/perf/Long_IPv4_Fib_200k_Intel-X520-DA2.robot deleted file mode 100644 index 920321bff2..0000000000 --- a/tests/perf/Long_IPv4_Fib_200k_Intel-X520-DA2.robot +++ /dev/null @@ -1,499 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG -| ... | FIB_200K | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4-dst-${rts_per_flow} -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| 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 NDR binary search - DUT IPv4 Fib 2x100k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 Fib 2x100k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC03: 1518B NDR binary search - DUT IPv4 Fib 2x100k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | 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 PDR binary search - DUT IPv4 Fib 2x100k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC05: 9000B NDR binary search - DUT IPv4 Fib 2x100k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 Fib 2x100k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC07: 64B NDR binary search - DUT IPv4 Fib 2x100k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 Fib 2x100k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC09: 1518B NDR binary search - DUT IPv4 Fib 2x100k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x100k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC11: 9000B NDR binary search - DUT IPv4 Fib 2x100k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x100k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC13: 64B NDR binary search - DUT IPv4 Fib 2x100k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 Fib 2x100k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC15: 1518B NDR binary search - DUT IPv4 Fib 2x100k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x100k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC17: 9000B NDR binary search - DUT IPv4 Fib 2x100k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x100k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/Long_IPv4_Fib_20k_Intel-X520-DA2.robot b/tests/perf/Long_IPv4_Fib_20k_Intel-X520-DA2.robot deleted file mode 100644 index de1999bbbd..0000000000 --- a/tests/perf/Long_IPv4_Fib_20k_Intel-X520-DA2.robot +++ /dev/null @@ -1,499 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG -| ... | FIB_20K | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4-dst-${rts_per_flow} -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| 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 NDR binary search - DUT IPv4 Fib 2x10k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 Fib 2x10k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC03: 1518B NDR binary search - DUT IPv4 Fib 2x10k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | 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 PDR binary search - DUT IPv4 Fib 2x10k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC05: 9000B NDR binary search - DUT IPv4 Fib 2x10k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 Fib 2x10k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC07: 64B NDR binary search - DUT IPv4 Fib 2x10k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 Fib 2x10k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC09: 1518B NDR binary search - DUT IPv4 Fib 2x10k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x10k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC11: 9000B NDR binary search - DUT IPv4 Fib 2x10k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x10k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC13: 64B NDR binary search - DUT IPv4 Fib 2x10k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 Fib 2x10k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC15: 1518B NDR binary search - DUT IPv4 Fib 2x10k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x10k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC17: 9000B NDR binary search - DUT IPv4 Fib 2x10k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x10k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/Long_IPv4_Fib_2M_Intel-X520-DA2.robot b/tests/perf/Long_IPv4_Fib_2M_Intel-X520-DA2.robot deleted file mode 100644 index fa9b1bdac8..0000000000 --- a/tests/perf/Long_IPv4_Fib_2M_Intel-X520-DA2.robot +++ /dev/null @@ -1,517 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG -| ... | FIB_2M | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4-dst-${rts_per_flow} -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| 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 NDR binary search - DUT IPv4 Fib 2x1M - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 Fib 2x1M - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC03: 1518B NDR binary search - DUT IPv4 Fib 2x1M - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | 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 PDR binary search - DUT IPv4 Fib 2x1M - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC05: 9000B NDR binary search - DUT IPv4 Fib 2x1M - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 Fib 2x1M - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC07: 64B NDR binary search - DUT IPv4 Fib 2x1M - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 Fib 2x1M - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC09: 1518B NDR binary search - DUT IPv4 Fib 2x1M - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x1M - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC11: 9000B NDR binary search - DUT IPv4 Fib 2x1M - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x1M - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC13: 64B NDR binary search - DUT IPv4 Fib 2x1M - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 Fib 2x1M - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC15: 1518B NDR binary search - DUT IPv4 Fib 2x1M - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x1M - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC17: 9000B NDR binary search - DUT IPv4 Fib 2x1M - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 Fib 2x1M - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/Long_IPv4_Intel-X520-DA2.robot b/tests/perf/Long_IPv4_Intel-X520-DA2.robot deleted file mode 100644 index b9f68c520a..0000000000 --- a/tests/perf/Long_IPv4_Intel-X520-DA2.robot +++ /dev/null @@ -1,515 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.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 | PERFTEST_LONG -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4 -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| 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 NDR binary search - DUT IPv4 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC03: 1518B NDR binary search - DUT IPv4 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | 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 PDR binary search - DUT IPv4 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC05: 9000B NDR binary search - DUT IPv4 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC07: 64B NDR binary search - DUT IPv4 - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC09: 1518B NDR binary search - DUT IPv4 - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC11: 9000B NDR binary search - DUT IPv4 - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC13: 64B NDR binary search - DUT IPv4 - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC15: 1518B NDR binary search - DUT IPv4 - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC17: 9000B NDR binary search - DUT IPv4 - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC19: IMIX_v4_1 NDR binary search - DUT IPv4 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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_v4_1 PDR binary search - DUT IPv4 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/Long_IPv4_Intel-XL710.robot b/tests/perf/Long_IPv4_Intel-XL710.robot deleted file mode 100644 index d9d2757f53..0000000000 --- a/tests/perf/Long_IPv4_Intel-XL710.robot +++ /dev/null @@ -1,263 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.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 | PERFTEST_LONG -| ... | NIC_Intel-XL710 -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L3 | Intel-XL710 -| Suite Teardown | 3-node Performance Suite Teardown -| Test Setup | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4 -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| 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 NDR binary search - DUT IPv4 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 NDR binary search - DUT IPv4 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 NDR binary search - DUT IPv4 - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${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 NDR binary search - DUT IPv4 - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 NDR binary search - DUT IPv4 - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${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 NDR binary search - DUT IPv4 - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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_v4_1 NDR binary search - DUT IPv4 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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_v4_1 NDR binary search - DUT IPv4 - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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_v4_1 NDR binary search - DUT IPv4 - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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/Long_IPv4_Policer_Intel-X520-DA2.robot b/tests/perf/Long_IPv4_Policer_Intel-X520-DA2.robot deleted file mode 100644 index d691bf9292..0000000000 --- a/tests/perf/Long_IPv4_Policer_Intel-X520-DA2.robot +++ /dev/null @@ -1,533 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.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 | PERFTEST_LONG -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4 -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| 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 NDR binary search - DUT IPv4 2r3c-ca policer - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 2r3c-ca policer - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC03: 1518B NDR binary search - DUT IPv4 2r3c-ca policer - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${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 PDR binary search - DUT IPv4 2r3c-ca policer - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC05: 9000B NDR binary search - DUT IPv4 2r3c-ca policer - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 2r3c-ca policer - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC07: 64B NDR binary search - DUT IPv4 2r3c-ca policer - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 2r3c-ca policer - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC09: 1518B NDR binary search - DUT IPv4 2r3c-ca policer - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 2r3c-ca policer - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC11: 9000B NDR binary search - DUT IPv4 2r3c-ca policer - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 2r3c-ca policer - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC13: 64B NDR binary search - DUT IPv4 2r3c-ca policer - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 2r3c-ca policer - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC15: 1518B NDR binary search - DUT IPv4 2r3c-ca policer - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 2r3c-ca policer - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC17: 9000B NDR binary search - DUT IPv4 2r3c-ca policer - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 2r3c-ca policer - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/Long_IPv4_Vhost_Intel-X520-DA2.robot b/tests/perf/Long_IPv4_Vhost_Intel-X520-DA2.robot deleted file mode 100644 index 4ee03b30ae..0000000000 --- a/tests/perf/Long_IPv4_Vhost_Intel-X520-DA2.robot +++ /dev/null @@ -1,705 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Library | resources.libraries.python.QemuUtils -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG -| ... | PERFTEST_VHOST | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4 -| ... | fail_on_loss=${False} -| ... | AND | Show Vpp Vhost On All DUTs -| ... | AND | Remove startup configuration of VPP from all DUTs -| ... | AND | Guest VM with dpdk-testpmd Teardown | ${dut1} -| ... | ${dut1_vm_refs} -| ... | AND | Guest VM with dpdk-testpmd Teardown | ${dut2} -| ... | ${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 NDR binary search - DUT IPv4-VHOST - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4-VHOST - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC03: 1518B NDR binary search - DUT IPv4-VHOST - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_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 PDR binary search - DUT IPv4-VHOST - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC05: IMIX_v4_1 NDR binary search - DUT IPv4-VHOST - 1thread 1core 1rxq -| | [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 5kpps. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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_v4_1 PDR binary search - DUT IPv4-VHOST - 1thread 1core 1rxq -| | [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 5kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC07: 64B NDR binary search - DUT IPv4-VHOST - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4-VHOST - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC09: 1518B NDR binary search - DUT IPv4-VHOST - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4-VHOST - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC11: IMIX_v4_1 NDR binary search - DUT IPv4-VHOST - 2threads 2cores 1rxq -| | [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 5kpps. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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_v4_1 PDR binary search - DUT IPv4-VHOST - 2threads 2cores 1rxq -| | [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 5kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC13: 64B NDR binary search - DUT IPv4-VHOST - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4-VHOST - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC15: 1518B NDR binary search - DUT IPv4-VHOST - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4-VHOST - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC17: IMIX_v4_1 NDR binary search - DUT IPv4-VHOST - 4threads 4cores 2rxq -| | [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 5kpps. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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_v4_1 PDR binary search - DUT IPv4-VHOST - 4threads 4cores 2rxq -| | [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 5kpps, LT=0.5%. -| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B) -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - - diff --git a/tests/perf/Long_IPv4_iAcl_Intel-X520-DA2.robot b/tests/perf/Long_IPv4_iAcl_Intel-X520-DA2.robot deleted file mode 100644 index d5e9877d4c..0000000000 --- a/tests/perf/Long_IPv4_iAcl_Intel-X520-DA2.robot +++ /dev/null @@ -1,736 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.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 | PERFTEST_LONG -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4 -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| 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 NDR binary search - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC03: 1518B NDR binary search - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | 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 PDR binary search - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC05: 9000B NDR binary search - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC07: 64B NDR binary search - DUT IPv4 iAcl whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 iAcl whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC09: 1518B NDR binary search - DUT IPv4 iAcl whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 iAcl whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC11: 9000B NDR binary search - DUT IPv4 iAcl whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 iAcl whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC13: 64B NDR binary search - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC15: 1518B NDR binary search - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC17: 9000B NDR binary search - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/Long_IPv6_Cop_Intel-X520-DA2.robot b/tests/perf/Long_IPv6_Cop_Intel-X520-DA2.robot deleted file mode 100644 index d7eee8a5a4..0000000000 --- a/tests/perf/Long_IPv6_Cop_Intel-X520-DA2.robot +++ /dev/null @@ -1,590 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Library | resources.libraries.python.Cop -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-IPv6 -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| 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 NDR binary search - DUT IPv6 whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC03: 1518B NDR binary search - DUT IPv6 whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | 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 PDR binary search - DUT IPv6 whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC05: 9000B NDR binary search - DUT IPv6 whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC07: 78B NDR binary search - DUT IPv6 whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC09: 1518B NDR binary search - DUT IPv6 whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC11: 9000B NDR binary search - DUT IPv6 whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC13: 78B NDR binary search - DUT IPv6 whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC15: 1518B NDR binary search - DUT IPv6 whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC17: 9000B NDR binary search - DUT IPv6 whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/Long_IPv6_Fib_200k_Intel-X520-DA2.robot b/tests/perf/Long_IPv6_Fib_200k_Intel-X520-DA2.robot deleted file mode 100644 index 82f5ad0675..0000000000 --- a/tests/perf/Long_IPv6_Fib_200k_Intel-X520-DA2.robot +++ /dev/null @@ -1,499 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG -| ... | FIB_200K | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-IPv6-dst-${rts_per_flow} -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| 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 NDR binary search - DUT IPv6 Fib 2x100k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 Fib 2x100k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC03: 1518B NDR binary search - DUT IPv6 Fib 2x100k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | 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 PDR binary search - DUT IPv6 Fib 2x100k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC05: 9000B NDR binary search - DUT IPv6 Fib 2x100k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 Fib 2x100k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC07: 78B NDR binary search - DUT IPv6 Fib 2x100k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 Fib 2x100k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC09: 1518B NDR binary search - DUT IPv6 Fib 2x100k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x100k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC11: 9000B NDR binary search - DUT IPv6 Fib 2x100k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x100k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC13: 78B NDR binary search - DUT IPv6 Fib 2x100k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 Fib 2x100k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC15: 1518B NDR binary search - DUT IPv6 Fib 2x100k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x100k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC17: 9000B NDR binary search - DUT IPv6 Fib 2x100k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x100k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/Long_IPv6_Fib_20k_Intel-X520-DA2.robot b/tests/perf/Long_IPv6_Fib_20k_Intel-X520-DA2.robot deleted file mode 100644 index f779650d8e..0000000000 --- a/tests/perf/Long_IPv6_Fib_20k_Intel-X520-DA2.robot +++ /dev/null @@ -1,499 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG -| ... | FIB_20K | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-IPv6-dst-${rts_per_flow} -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| 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 NDR binary search - DUT IPv6 Fib 2x10k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 Fib 2x10k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC03: 1518B NDR binary search - DUT IPv6 Fib 2x10k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | 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 PDR binary search - DUT IPv6 Fib 2x10k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC05: 9000B NDR binary search - DUT IPv6 Fib 2x10k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 Fib 2x10k - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC07: 78B NDR binary search - DUT IPv6 Fib 2x10k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 Fib 2x10k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC09: 1518B NDR binary search - DUT IPv6 Fib 2x10k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x10k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC11: 9000B NDR binary search - DUT IPv6 Fib 2x10k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x10k - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC13: 78B NDR binary search - DUT IPv6 Fib 2x10k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 Fib 2x10k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC15: 1518B NDR binary search - DUT IPv6 Fib 2x10k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x10k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC17: 9000B NDR binary search - DUT IPv6 Fib 2x10k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x10k - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/Long_IPv6_Fib_2M_Intel-X520-DA2.robot b/tests/perf/Long_IPv6_Fib_2M_Intel-X520-DA2.robot deleted file mode 100644 index c9619fedba..0000000000 --- a/tests/perf/Long_IPv6_Fib_2M_Intel-X520-DA2.robot +++ /dev/null @@ -1,499 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG -| ... | FIB_2M | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-IPv6-dst-${rts_per_flow} -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| 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 NDR binary search - DUT IPv6 Fib 2x1M - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 Fib 2x1M - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC03: 1518B NDR binary search - DUT IPv6 Fib 2x1M - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | 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 PDR binary search - DUT IPv6 Fib 2x1M - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC05: 9000B NDR binary search - DUT IPv6 Fib 2x1M - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 Fib 2x1M - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC07: 78B NDR binary search - DUT IPv6 Fib 2x1M - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 Fib 2x1M - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC09: 1518B NDR binary search - DUT IPv6 Fib 2x1M - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x1M - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC11: 9000B NDR binary search - DUT IPv6 Fib 2x1M - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x1M - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC13: 78B NDR binary search - DUT IPv6 Fib 2x1M - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 Fib 2x1M - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC15: 1518B NDR binary search - DUT IPv6 Fib 2x1M - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x1M - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC17: 9000B NDR binary search - DUT IPv6 Fib 2x1M - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 Fib 2x1M - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/Long_IPv6_Intel-X520-DA2.robot b/tests/perf/Long_IPv6_Intel-X520-DA2.robot deleted file mode 100644 index 62a52042c1..0000000000 --- a/tests/perf/Long_IPv6_Intel-X520-DA2.robot +++ /dev/null @@ -1,461 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-IPv6 -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| 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 NDR binary search - DUT IPv6 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC03: 1518B NDR binary search - DUT IPv6 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | 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 PDR binary search - DUT IPv6 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC05: 9000B NDR binary search - DUT IPv6 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC07: 78B NDR binary search - DUT IPv6 - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC09: 1518B NDR binary search - DUT IPv6 - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC11: 9000B NDR binary search - DUT IPv6 - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC13: 78B NDR binary search - DUT IPv6 - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC15: 1518B NDR binary search - DUT IPv6 - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC17: 9000B NDR binary search - DUT IPv6 - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/Long_IPv6_Intel-XL710.robot b/tests/perf/Long_IPv6_Intel-XL710.robot deleted file mode 100644 index 260f701633..0000000000 --- a/tests/perf/Long_IPv6_Intel-XL710.robot +++ /dev/null @@ -1,187 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG -| ... | NIC_Intel-XL710 -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L3 | Intel-XL710 -| Suite Teardown | 3-node Performance Suite Teardown -| Test Setup | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-IPv6 -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| 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 NDR binary search - DUT IPv6 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 NDR binary search - DUT IPv6 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 NDR binary search - DUT IPv6 - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${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 NDR binary search - DUT IPv6 - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 NDR binary search - DUT IPv6 - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${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 NDR binary search - DUT IPv6 - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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/Long_IPv6_iAcl_Intel-X520-DA2.robot b/tests/perf/Long_IPv6_iAcl_Intel-X520-DA2.robot deleted file mode 100644 index 790d03cc4c..0000000000 --- a/tests/perf/Long_IPv6_iAcl_Intel-X520-DA2.robot +++ /dev/null @@ -1,499 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Library | resources.libraries.python.Classify.Classify -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-IPv6 -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| 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 NDR binary search - DUT IPv6 iAcl whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 iAcl whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC03: 1518B NDR binary search - DUT IPv6 iAcl whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | 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 PDR binary search - DUT IPv6 iAcl whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC05: 9000B NDR binary search - DUT IPv6 iAcl whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 iAcl whitelist - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC07: 78B NDR binary search - DUT IPv6 iAcl whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 iAcl whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC09: 1518B NDR binary search - DUT IPv6 iAcl whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 iAcl whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC11: 9000B NDR binary search - DUT IPv6 iAcl whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 iAcl whitelist - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC13: 78B NDR binary search - DUT IPv6 iAcl whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT IPv6 iAcl whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC15: 1518B NDR binary search - DUT IPv6 iAcl whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 iAcl whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC17: 9000B NDR binary search - DUT IPv6 iAcl whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT IPv6 iAcl whitelist - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/Long_Lisp_Intel-X520-DA2.robot b/tests/perf/Long_Lisp_Intel-X520-DA2.robot deleted file mode 100644 index 8938e21466..0000000000 --- a/tests/perf/Long_Lisp_Intel-X520-DA2.robot +++ /dev/null @@ -1,2391 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.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 -# import additional Lisp settings from resource file -| Variables | resources/test_data/lisp/performance/lisp_static_adjacency.py -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4 -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| 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-ICMPv4 on DUT1-DUT2, -| ... | Eth-IPv4-ICMPv4 on TG-DUTn for IPv4 routing over LISPoIPv4 tunnel; -| ... | Eth-IPv6-LISP-IPv6-ICMPv6 on DUT1-DUT2, Eth-IPv6-ICMPv6 on TG-DUTn for -| ... | IPv6 routing over LISPoIPv6 tunnel; Eth-IPv6-LISP-IPv4-ICMPv4 on -| ... | DUT1-DUT2, Eth-IPv4-ICMPv4 on TG-DUTn for IPv4 routing over LISPoIPv6 -| ... | tunnel; Eth-IPv4-LISP-IPv6-ICMPv6 on DUT1-DUT2, Eth-IPv6-ICMPv6 on -| ... | TG-DUTn for IPv6 routing over LISPoIPv4 tunnel. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv4 (IPv6) -| ... | routing and static routes. LISPoIPv4 (oIPv6) 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 NDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv4 -| | ${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 PDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv4 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC03: 1480B NDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv4 -| | ${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 PDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv4 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC05: 9000B NDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv4 -| | ${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 PDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv4 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC07: 64B NDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv4 -| | ${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 PDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv4 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC09: 1480B NDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv4 -| | ... | 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 PDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv4 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC11: 9000B NDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv4 -| | ... | 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 PDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv4 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC13: 64B NDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv4 -| | ${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 PDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv4 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC15: 1480B NDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv4 -| | ... | 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 PDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv4 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC17: 9000B NDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv4 -| | ... | 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 PDR binary search - DUT IPv4 over LISPoIPv4 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv4 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC19: 78B NDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv6 -| | ${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} - -| TC20: 78B PDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv6 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC21: 1460B NDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv6 -| | ${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} - -| TC22: 1460B PDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv6 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC23: 9000B NDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv6 -| | ${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} - -| TC24: 9000B PDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv6 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC25: 78B NDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv6 -| | ${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} - -| TC26: 78B PDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv6 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC27: 1460B NDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv6 -| | ... | 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} - -| TC28: 1460B PDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv6 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC29: 9000B NDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv6 -| | ... | 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} - -| TC30: 9000B PDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv6 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC31: 78B NDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv6 -| | ${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} - -| TC32: 78B PDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv6 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC33: 1460B NDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv6 -| | ... | 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} - -| TC34: 1460B PDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv6 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC35: 9000B NDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv6 -| | ... | 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} - -| TC36: 9000B PDR binary search - DUT IPv6 over LISPoIPv6 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv6 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC37: 64B NDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv4oIPv6 -| | ${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} - -| TC38: 64B PDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv4oIPv6 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC39: 1460B NDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv4oIPv6 -| | ${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} - -| TC40: 1460B PDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv4oIPv6 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC41: 9000B NDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv4oIPv6 -| | ${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} - -| TC42: 9000B PDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv4oIPv6 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC43: 64B NDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 -| | ${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} - -| TC44: 64B PDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv4oIPv6 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC45: 1460B NDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 -| | ... | 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} - -| TC46: 1460B PDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv4oIPv6 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC47: 9000B NDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 -| | ... | 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} - -| TC48: 9000B PDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv4oIPv6 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC49: 64B NDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 -| | ${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} - -| TC50: 64B PDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv4oIPv6 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC51: 1460B NDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 -| | ... | 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} - -| TC52: 1460B PDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv4oIPv6 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC53: 9000B NDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 -| | ... | 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} - -| TC54: 9000B PDR binary search - DUT IPv4 over LISPoIPv6 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv4oIPv6 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC55: 78B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv6oIPv4 -| | ${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} - -| TC56: 78B PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv6IPv4 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC57: 1460B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv6oIPv4 -| | ${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} - -| TC58: 1460B PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv6oIPv4 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC59: 9000B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv6oIPv4 -| | ${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} - -| TC60: 9000B PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv6oIPv4 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC61: 78B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 -| | ${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} - -| TC62: 78B PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv6oIPv4 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC63: 1460B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 -| | ... | 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} - -| TC64: 1460B PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv6oIPv4 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC65: 9000B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 -| | ... | 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} - -| TC66: 9000B PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 2thread 2core 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv6oIPv4 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC67: 78B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 -| | ${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} - -| TC68: 78B PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv6oIPv4 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC69: 1460B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 -| | ... | 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} - -| TC70: 1460B PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv6oIPv4 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC71: 9000B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 -| | ... | 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} - -| TC72: 9000B PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 4thread 4core 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv6oIPv4 -| | ... | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/Long_Xconnect_Dot1ad_Intel-X520-DA2.robot b/tests/perf/Long_Xconnect_Dot1ad_Intel-X520-DA2.robot deleted file mode 100644 index f289c32ae4..0000000000 --- a/tests/perf/Long_Xconnect_Dot1ad_Intel-X520-DA2.robot +++ /dev/null @@ -1,631 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Resource | resources/libraries/robot/tagging.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-xconnect -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| 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 NDR binary search - DUT L2XC with 802.1ad - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT L2XC with 802.1ad - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC03: 1514B NDR binary search - DUT L2XC with 802.1ad - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT L2XC with 802.1ad - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC05: 9000B NDR binary search - DUT L2XC with 802.1ad - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT L2XC with 802.1ad - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC07: 64B NDR binary search - DUT L2XC with 802.1ad - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT L2XC with 802.1ad - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC09: 1514B NDR binary search - DUT L2XC with 802.1ad - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with 802.1ad - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC11: 9000B NDR binary search - DUT L2XC with 802.1ad - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with 802.1ad - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC13: 64B NDR binary search - DUT L2XC with 802.1ad - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT L2XC with 802.1ad - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC15: 1514B NDR binary search - DUT L2XC with 802.1ad - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with 802.1ad - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC17: 9000B NDR binary search - DUT L2XC with 802.1ad - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with 802.1ad - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/Long_Xconnect_Dot1q_Intel-X520-DA2.robot b/tests/perf/Long_Xconnect_Dot1q_Intel-X520-DA2.robot deleted file mode 100644 index 2bb435d5c2..0000000000 --- a/tests/perf/Long_Xconnect_Dot1q_Intel-X520-DA2.robot +++ /dev/null @@ -1,609 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Resource | resources/libraries/robot/tagging.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-xconnect -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| 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 NDR binary search - DUT L2XC with 802.1q - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT L2XC with 802.1q - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC03: 1518B NDR binary search - DUT L2XC with 802.1q - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT L2XC with 802.1q - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC05: 9000B NDR binary search - DUT L2XC with 802.1q - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT L2XC with 802.1q - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC07: 64B NDR binary search - DUT L2XC with 802.1q - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT L2XC with 802.1q - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC09: 1518B NDR binary search - DUT L2XC with 802.1q - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with 802.1q - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC11: 9000B NDR binary search - DUT L2XC with 802.1q - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with 802.1q - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC13: 64B NDR binary search - DUT L2XC with 802.1q - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT L2XC with 802.1q - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC15: 1518B NDR binary search - DUT L2XC with 802.1q - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with 802.1q - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC17: 9000B NDR binary search - DUT L2XC with 802.1q - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with 802.1q - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/Long_Xconnect_Intel-X520-DA2.robot b/tests/perf/Long_Xconnect_Intel-X520-DA2.robot deleted file mode 100644 index 6a45286d59..0000000000 --- a/tests/perf/Long_Xconnect_Intel-X520-DA2.robot +++ /dev/null @@ -1,511 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Library | resources.libraries.python.InterfaceUtil -| Library | resources.libraries.python.NodePath -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-xconnect -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| 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 NDR binary search - DUT L2XC - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT L2XC - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC03: 1518B NDR binary search - DUT L2XC - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | 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 PDR binary search - DUT L2XC - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC05: 9000B NDR binary search - DUT L2XC - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT L2XC - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC07: 64B NDR binary search - DUT L2XC - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT L2XC - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC09: 1518B NDR binary search - DUT L2XC - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC11: 9000B NDR binary search - DUT L2XC - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC13: 64B NDR binary search - DUT L2XC - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT L2XC - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC15: 1518B NDR binary search - DUT L2XC - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC17: 9000B NDR binary search - DUT L2XC - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC19: IMIX_v4_1 NDR binary search - DUT L2XC - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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_v4_1 PDR binary search - DUT L2XC - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/Long_Xconnect_Intel-XL710.robot b/tests/perf/Long_Xconnect_Intel-XL710.robot deleted file mode 100644 index 3916b533f5..0000000000 --- a/tests/perf/Long_Xconnect_Intel-XL710.robot +++ /dev/null @@ -1,258 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Library | resources.libraries.python.InterfaceUtil -| Library | resources.libraries.python.NodePath -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG -| ... | NIC_Intel-XL710 -| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model -| ... | L2 | Intel-XL710 -| Suite Teardown | 3-node Performance Suite Teardown -| Test Setup | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-xconnect -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| 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 NDR binary search - DUT L2XC - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 NDR binary search - DUT L2XC - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 NDR binary search - DUT L2XC - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${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 NDR binary search - DUT L2XC - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 NDR binary search - DUT L2XC - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${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 NDR binary search - DUT L2XC - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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_v4_1 NDR binary search - DUT L2XC - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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_v4_1 NDR binary search - DUT L2XC - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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_v4_1 NDR binary search - DUT L2XC - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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/Long_Xconnect_Vhost_Intel-X520-DA2.robot b/tests/perf/Long_Xconnect_Vhost_Intel-X520-DA2.robot deleted file mode 100644 index d64b325068..0000000000 --- a/tests/perf/Long_Xconnect_Vhost_Intel-X520-DA2.robot +++ /dev/null @@ -1,668 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Library | resources.libraries.python.NodePath -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG -| ... | PERFTEST_VHOST | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-bridge -| ... | fail_on_loss=${False} -| ... | AND | Show Vpp Vhost On All DUTs -| ... | AND | Remove startup configuration of VPP from all DUTs -| ... | AND | Guest VM with dpdk-testpmd Teardown | ${dut1} -| ... | ${dut1_vm_refs} -| ... | AND | Guest VM with dpdk-testpmd Teardown | ${dut2} -| ... | ${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 NDR binary search - DUT L2XC-VHOST - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT L2XC-VHOST - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC03: 1518B NDR binary search - DUT L2XC-VHOST - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize} -| | ${binary_min}= | Set Variable | ${min_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 PDR binary search - DUT L2XC-VHOST - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC05: IMIX_v4_1 NDR binary search - DUT L2XC-VHOST - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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_v4_1 PDR binary search - DUT L2XC-VHOST - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC07: 64B NDR binary search - DUT L2XC-VHOST - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT L2XC-VHOST - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC09: 1518B NDR binary search - DUT L2XC-VHOST - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC-VHOST - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC11: IMIX_v4_1 NDR binary search - DUT L2XC-VHOST - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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_v4_1 PDR binary search - DUT L2XC-VHOST - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC13: 64B NDR binary search - DUT L2XC-VHOST - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT L2XC-VHOST - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC15: 1518B NDR binary search - DUT L2XC-VHOST - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC-VHOST - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC17: IMIX_v4_1 NDR binary search - DUT L2XC-VHOST - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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_v4_1 PDR binary search - DUT L2XC-VHOST - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - diff --git a/tests/perf/Long_Xconnect_Vxlan_Ipv4_Intel-X520-DA2.robot b/tests/perf/Long_Xconnect_Vxlan_Ipv4_Intel-X520-DA2.robot deleted file mode 100644 index cb74e0d854..0000000000 --- a/tests/perf/Long_Xconnect_Vxlan_Ipv4_Intel-X520-DA2.robot +++ /dev/null @@ -1,457 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Run Keyword If Test Failed -| ... | Traffic should pass with no loss | 10 -| ... | ${min_rate}pps | ${framesize} | 3-node-xconnect -| ... | fail_on_loss=${False} -| ... | AND | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| 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 NDR binary search - DUT L2XC with VXLANoIPv4 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT L2XC with VXLANoIPv4 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC03: 1518B NDR binary search - DUT L2XC with VXLANoIPv4 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT L2XC with VXLANoIPv4 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC05: 9000B NDR binary search - DUT L2XC with VXLANoIPv4 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${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 PDR binary search - DUT L2XC with VXLANoIPv4 - 1thread 1core 1rxq -| | [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] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC07: 64B NDR binary search - DUT L2XC with VXLANoIPv4 - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT L2XC with VXLANoIPv4 - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC09: 1518B NDR binary search - DUT L2XC with VXLANoIPv4 - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with VXLANoIPv4 - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC11: 9000B NDR binary search - DUT L2XC with VXLANoIPv4 - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with VXLANoIPv4 - 2threads 2cores 1rxq -| | [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] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC13: 64B NDR binary search - DUT L2XC with VXLANoIPv4 - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${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 PDR binary search - DUT L2XC with VXLANoIPv4 - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC15: 1518B NDR binary search - DUT L2XC with VXLANoIPv4 - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with VXLANoIPv4 - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} - -| TC17: 9000B NDR binary search - DUT L2XC with VXLANoIPv4 - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | 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 PDR binary search - DUT L2XC with VXLANoIPv4 - 4threads 4cores 2rxq -| | [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] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | 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} -| | ... | ${glob_loss_acceptance} -| | ... | ${glob_loss_acceptance_type} diff --git a/tests/perf/Short_Bridge_Domain_Intel-X520-DA2.robot b/tests/perf/Short_Bridge_Domain_Intel-X520-DA2.robot deleted file mode 100644 index 5bde927a35..0000000000 --- a/tests/perf/Short_Bridge_Domain_Intel-X520-DA2.robot +++ /dev/null @@ -1,194 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Library | resources.libraries.python.NodePath -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| Documentation | *Reference NDR throughput L2BD verify 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 -| ... | X520 Niantic by Intel. -| ... | *[Ver] TG verification:* In short performance tests, TG verifies -| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet -| ... | loss tolerance. Ref-NDR value is periodically updated acording to -| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long -| ... | performance tests for the same DUT configuration. Test packets are -| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 -| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with -| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 -| ... | and static payload. MAC addresses are matching MAC addresses of the -| ... | TG node interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Test Cases *** -| TC01: Verify 64B ref-NDR at 2x 3.2Mpps - DUT L2BD - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 3.2mpps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-bridge - -| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT L2BD - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-bridge - -| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT L2BD - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '1' 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 initialized in a 3-node circular topology -| | Then Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-bridge - -| TC04: Verify 64B ref-NDR at 2x 6.9Mpps - DUT L2BD - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 6.9mpps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-bridge - -| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT L2BD - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-bridge - -| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT L2BD - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '2' 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 initialized in a 3-node circular topology -| | Then Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-bridge - -| TC07: Verify 64B ref-NDR at 2x 7.4Mpps - DUT L2BD - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 7.4mpps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-bridge - -| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT L2BD - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-bridge - -| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT L2BD - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '4' 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 initialized in a 3-node circular topology -| | Then Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-bridge diff --git a/tests/perf/Short_IPv4_Cop_Intel-X520-DA2.robot b/tests/perf/Short_IPv4_Cop_Intel-X520-DA2.robot deleted file mode 100644 index 462b119bee..0000000000 --- a/tests/perf/Short_IPv4_Cop_Intel-X520-DA2.robot +++ /dev/null @@ -1,251 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.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 | PERFTEST_SHORT -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| Documentation | *Reference NDR throughput IPv4 whitelist verify 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:* In short performance tests, TG verifies -| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet -| ... | loss tolerance. Ref-NDR value is periodically updated acording to -| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long -| ... | performance tests for the same DUT configuration. Test packets are -| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 -| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with -| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 -| ... | and static payload. MAC addresses are matching MAC addresses of the -| ... | TG node interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Test Cases *** -| TC01: Verify 64B ref-NDR at 2x 3.5Mpps - DUT IPv4 whitelist - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 64 Byte frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 3.5mpps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 whitelist - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 whitelist - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC04: Verify 64B ref-NDR at 2x 6.6Mpps - DUT IPv4 whitelist - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 64 Byte frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 6.6mpps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 whitelist - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 whitelist - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC07: Verify 64B ref-NDR at 2x 10.0Mpps - DUT IPv4 whitelist - 4threads 4cores 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 64 Byte frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 10.0mpps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 whitelist - 4threads 4cores 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 whitelist - 4threads 4cores 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 diff --git a/tests/perf/Short_IPv4_Fib_200k_Intel-X520-DA2.robot b/tests/perf/Short_IPv4_Fib_200k_Intel-X520-DA2.robot deleted file mode 100644 index 1644676082..0000000000 --- a/tests/perf/Short_IPv4_Fib_200k_Intel-X520-DA2.robot +++ /dev/null @@ -1,213 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT -| ... | FIB_200K | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keyword | Remove startup configuration of VPP from all DUTs -| Documentation | *Reference NDR throughput IPv4 routing verify 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:* In short performance tests, TG verifies -| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet -| ... | loss tolerance. Ref-NDR value is periodically updated acording to -| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long -| ... | performance tests for the same DUT confiiguration. 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. Incrementing of IP.dst (IPv4 destination address) -| ... | field is applied to both streams. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -| ${rts_per_flow}= | 100000 - -*** Test Cases *** -| TC01: Verify 64B ref-NDR at 2x 3.5Mpps - DUT IPv4 Fib 2x100k - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 3.5mpps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 Fib 2x100k - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 Fib 2x100k - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC04: Verify 64B ref-NDR at 2x 7.5Mpps - DUT IPv4 Fib 2x100k - 2threads, 2cores, 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 7.5mpps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 Fib 2x100k - 2threads, 2cores, 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 Fib 2x100k - 2threads, 2cores, 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC07: Verify 64B ref-NDR at 2x 10.0Mpps - DUT IPv4 Fib 2x100k - 4threads, 4cores, 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 10.0mpps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 Fib 2x100k - 4threads, 4cores, 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 Fib 2x100k - 4threads, 4cores, 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} diff --git a/tests/perf/Short_IPv4_Fib_20k_Intel-X520-DA2.robot b/tests/perf/Short_IPv4_Fib_20k_Intel-X520-DA2.robot deleted file mode 100644 index 877d88b3ab..0000000000 --- a/tests/perf/Short_IPv4_Fib_20k_Intel-X520-DA2.robot +++ /dev/null @@ -1,213 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT -| ... | FIB_20K | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keyword | Remove startup configuration of VPP from all DUTs -| Documentation | *Reference NDR throughput IPv4 routing verify 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:* In short performance tests, TG verifies -| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet -| ... | loss tolerance. Ref-NDR value is periodically updated acording to -| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long -| ... | performance tests for the same DUT confiiguration. 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. Incrementing of IP.dst (IPv4 destination address) -| ... | field is applied to both streams. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -| ${rts_per_flow}= | 10000 - -*** Test Cases *** -| TC01: Verify 64B ref-NDR at 2x 3.5Mpps - DUT IPv4 Fib 2x10k - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 3.5mpps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 Fib 2x10k - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 Fib 2x10k - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC04: Verify 64B ref-NDR at 2x 7.5Mpps - DUT IPv4 Fib 2x10k - 2threads, 2cores, 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 7.5mpps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 Fib 2x10k - 2threads, 2cores, 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 Fib 2x10k - 2threads, 2cores, 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC07: Verify 64B ref-NDR at 2x 10.0Mpps - DUT IPv4 Fib 2x10k - 4threads, 4cores, 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 10.0mpps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 Fib 2x10k - 4threads, 4cores, 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 Fib 2x10k - 4threads, 4cores, 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} diff --git a/tests/perf/Short_IPv4_Fib_2M_Intel-X520-DA2.robot b/tests/perf/Short_IPv4_Fib_2M_Intel-X520-DA2.robot deleted file mode 100644 index fc371731dd..0000000000 --- a/tests/perf/Short_IPv4_Fib_2M_Intel-X520-DA2.robot +++ /dev/null @@ -1,222 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT -| ... | FIB_2M | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keyword | Remove startup configuration of VPP from all DUTs -| Documentation | *Reference NDR throughput IPv4 routing verify 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:* In short performance tests, TG verifies -| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet -| ... | loss tolerance. Ref-NDR value is periodically updated acording to -| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long -| ... | performance tests for the same DUT confiiguration. 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. Incrementing of IP.dst (IPv4 destination address) -| ... | field is applied to both streams. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -| ${rts_per_flow}= | 1000000 - -*** Test Cases *** -| TC01: Verify 64B ref-NDR at 2x 3.5Mpps - DUT IPv4 Fib 2x1M - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 3.5mpps -| | Given Add '1' worker threads and rxqueues '1' in 3-node 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 Fib 2x1M - 1thread 1core 1rxq -| | [Documentation] -| | ... | Verify ref-NDR for 1518 Byte frames using single trial throughput -| | ... | test. DUT runs IPv4 routing config with 1 thread, 1 phy core, 1 -| | ... | receive queue per NIC port. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '1' worker threads and rxqueues '1' in 3-node 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 Fib 2x1M - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '1' worker 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC04: Verify 64B ref-NDR at 2x 7.5Mpps - DUT IPv4 Fib 2x1M - 2threads, 2cores, 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 7.5mpps -| | Given Add '2' worker threads and rxqueues '1' in 3-node 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 Fib 2x1M - 2threads, 2cores, 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '2' worker threads and rxqueues '1' in 3-node 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 Fib 2x1M - 2threads, 2cores, 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '2' worker 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC07: Verify 64B ref-NDR at 2x 10.0Mpps - DUT IPv4 Fib 2x1M - 4threads, 4cores, 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 10.0mpps -| | Given Add '4' worker threads and rxqueues '2' in 3-node 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 Fib 2x1M - 4threads, 4cores, 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '4' worker threads and rxqueues '2' in 3-node 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} - -| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 Fib 2x1M - 4threads, 4cores, 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '4' worker 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv4-dst-${rts_per_flow} diff --git a/tests/perf/Short_IPv4_Intel-X520-DA2.robot b/tests/perf/Short_IPv4_Intel-X520-DA2.robot deleted file mode 100644 index 8f47bcaa01..0000000000 --- a/tests/perf/Short_IPv4_Intel-X520-DA2.robot +++ /dev/null @@ -1,198 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.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 | PERFTEST_SHORT -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| Documentation | *Reference NDR throughput IPv4 routing verify 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:* In short performance tests, TG verifies -| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet -| ... | loss tolerance. Ref-NDR value is periodically updated acording to -| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long -| ... | performance tests for the same DUT configuration. Test packets are -| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 -| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with -| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 -| ... | and static payload. MAC addresses are matching MAC addresses of the -| ... | TG node interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Test Cases *** -| TC01: Verify 64B ref-NDR at 2x 3.5Mpps - DUT IPv4 - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 3.5mpps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC04: Verify 64B ref-NDR at 2x 7.5Mpps - DUT IPv4 - 2threads, 2cores, 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 7.5mpps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 - 2threads, 2cores, 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 - 2threads, 2cores, 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC07: Verify 64B ref-NDR at 2x 10.0Mpps - DUT IPv4 - 4threads, 4cores, 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 10.0mpps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 - 4threads, 4cores, 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 - 4threads, 4cores, 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 diff --git a/tests/perf/Short_IPv4_Policer_Intel-X520-DA2.robot b/tests/perf/Short_IPv4_Policer_Intel-X520-DA2.robot deleted file mode 100644 index 125b1e68d0..0000000000 --- a/tests/perf/Short_IPv4_Policer_Intel-X520-DA2.robot +++ /dev/null @@ -1,228 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.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 | PERFTEST_SHORT -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| Documentation | *Reference NDR throughput IPv4 policer verify 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:* In short performance tests, TG verifies -| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet -| ... | loss tolerance. Ref-NDR value is periodically updated acording to -| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long -| ... | performance tests for the same DUT configuration. Test packets are -| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 -| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with -| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 -| ... | and static payload. MAC addresses are matching MAC addresses of the -| ... | TG node interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544, RFC2698. - -*** Variables *** -| ${cir}= | ${100} -| ${eir}= | ${150} - -*** Test Cases *** -| TC01: Verify 64B ref-NDR at 2x 3.1Mpps - DUT IPv4 2r3c-ca policer - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 thread, 1 phy \ -| | ... | core, 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 \ -| | ... | Byte frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 3.1mpps -| | 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 -| | And IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 2r3c-ca policer - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 thread, 1 phy \ -| | ... | core, 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 \ -| | ... | Byte frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 2r3c-ca policer - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 thread, 1 phy \ -| | ... | core, 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 \ -| | ... | Byte frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | 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 -| | And IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC04: Verify 64B ref-NDR at 2x 5.6Mpps - DUT IPv4 2r3c-ca policer - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 threads, 2 \ -| | ... | phy cores, 1 receive queue per NIC port. [Ver] Verify ref-NDR for \ -| | ... | 64 Byte frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 5.6mpps -| | 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 -| | And IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 2r3c-ca policer - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 threads, 2 \ -| | ... | phy cores, 1 receive queue per NIC port. [Ver] Verify ref-NDR for \ -| | ... | 1518 Byte frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | 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 -| | And IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 2r3c-ca policer - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 threads, 2 \ -| | ... | phy cores, 1 receive queue per NIC port. [Ver] Verify ref-NDR for \ -| | ... | 9000 Byte frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | 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 -| | And IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC07: Verify 64B ref-NDR at 2x 8.9Mpps - DUT IPv4 2r3c-ca policer - 4threads 4cores 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 thread, 4 \ -| | ... | phy core, 2 receive queue per NIC port. [Ver] Verify ref-NDR for 64 \ -| | ... | Byte frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 8.9mpps -| | 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 -| | And IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 2r3c-ca policer - 4threads 4cores 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 thread, 4 \ -| | ... | phy core, 2 receive queue per NIC port. [Ver] Verify ref-NDR for \ -| | ... | 1518 Byte frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | 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 -| | And IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 2r3c-ca policer - 4threads 4cores 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 thread, 4 \ -| | ... | phy core, 2 receive queue per NIC port. [Ver] Verify ref-NDR for \ -| | ... | 9000 Byte frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | 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 -| | And IPv4 forwarding initialized in a 3-node circular topology -| | And IPv4 policer 2r3c-'ca' initialized in a 3-node circular topology -| | Then Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 diff --git a/tests/perf/Short_IPv4_iAcl_Intel-X520-DA2.robot b/tests/perf/Short_IPv4_iAcl_Intel-X520-DA2.robot deleted file mode 100644 index d0836bbce0..0000000000 --- a/tests/perf/Short_IPv4_iAcl_Intel-X520-DA2.robot +++ /dev/null @@ -1,323 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.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 | PERFTEST_SHORT -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| Documentation | *Reference NDR throughput IPv4 whitelist verify 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:* In short performance tests, TG verifies -| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet -| ... | loss tolerance. Ref-NDR value is periodically updated acording to -| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long -| ... | performance tests for the same DUT configuration. Test packets are -| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 -| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with -| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 -| ... | and static payload. MAC addresses are matching MAC addresses of the -| ... | TG node interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Test Cases *** -| TC01: Verify 64B ref-NDR at 2x 3.1Mpps - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 64 Byte frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 3.1mpps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC04: Verify 64B ref-NDR at 2x 5.8Mpps - DUT IPv4 iAcl whitelist - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 64 Byte frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 5.8mpps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 iAcl whitelist - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 iAcl whitelist - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC07: Verify 64B ref-NDR at 2x 7.8Mpps - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 64 Byte frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 7.8mpps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 -| | ${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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 diff --git a/tests/perf/Short_IPv6_Cop_Intel-X520-DA2.robot b/tests/perf/Short_IPv6_Cop_Intel-X520-DA2.robot deleted file mode 100644 index 7494e4fc2e..0000000000 --- a/tests/perf/Short_IPv6_Cop_Intel-X520-DA2.robot +++ /dev/null @@ -1,249 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Library | resources.libraries.python.Cop -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| Documentation | *Reference NDR throughput IPv6 whitelist verify 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 /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:* In short performance tests, TG verifies -| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet -| ... | loss tolerance. Ref-NDR value is periodically updated acording to -| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long -| ... | performance tests for the same DUT configuration. Test packets are -| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 -| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with -| ... | all packets containing Ethernet header, IPv6 header and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Test Cases *** -| TC01: Verify 78B ref-NDR at 2x 2.8Mpps - DUT IPv6 whitelist - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 78 Byte frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 2.8mpps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 whitelist - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC03: Verify 9000B ref-NDR at 2x 138.580kpps - DUT IPv6 whitelist - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC04: Verify 78B ref-NDR at 2x 4.9Mpps - DUT IPv6 whitelist - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 78 Byte frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 4.9mpps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 whitelist - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 whitelist - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC07: Verify 78B ref-NDR at 2x 10.1Mpps - DUT IPv6 whitelist - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 78 Byte frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 10.1mpps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 whitelist - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 whitelist - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 diff --git a/tests/perf/Short_IPv6_Fib_200k_Intel-X520-DA2.robot b/tests/perf/Short_IPv6_Fib_200k_Intel-X520-DA2.robot deleted file mode 100644 index 8e391ab6f4..0000000000 --- a/tests/perf/Short_IPv6_Fib_200k_Intel-X520-DA2.robot +++ /dev/null @@ -1,213 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT -| ... | FIB_200K | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keyword | Remove startup configuration of VPP from all DUTs -| Documentation | *Reference NDR throughput IPv6 routing verify 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:* In short performance tests, TG verifies -| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet -| ... | loss tolerance. Ref-NDR value is periodically updated acording to -| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long -| ... | performance tests for the same DUT confiiguration. 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 and static -| ... | payload. Incrementing of IP.dst (IPv6 destination address) field is -| ... | applied to both streams. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -| ${rts_per_flow}= | 100000 - -*** Test Cases *** -| TC01: Verify 78B ref-NDR at 2x 2.9Mpps - DUT IPv6 Fib 2x100k - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 78 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 2.9mpps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 Fib 2x100k - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 Fib 2x100k - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC04: Verify 78B ref-NDR at 2x 5.9Mpps - DUT IPv6 Fib 2x100k - 2threads, 2cores, 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 thread, 2 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 78 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 5.9mpps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 Fib 2x100k - 2threads, 2cores, 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 thread, 2 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 Fib 2x100k - 2threads, 2cores, 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 thread, 2 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC07: Verify 78B ref-NDR at 2x 10.3Mpps - DUT IPv6 Fib 2x100k - 4threads, 4cores, 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 thread, 4 phy core, \ -| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 78 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 10.3mpps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 Fib 2x100k - 4threads, 4cores, 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 thread, 4 phy core, \ -| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 Fib 2x100k - 4threads, 4cores, 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 thread, 4 phy core, \ -| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} diff --git a/tests/perf/Short_IPv6_Fib_20k_Intel-X520-DA2.robot b/tests/perf/Short_IPv6_Fib_20k_Intel-X520-DA2.robot deleted file mode 100644 index 925c1b2e31..0000000000 --- a/tests/perf/Short_IPv6_Fib_20k_Intel-X520-DA2.robot +++ /dev/null @@ -1,213 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT -| ... | FIB_20K | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keyword | Remove startup configuration of VPP from all DUTs -| Documentation | *Reference NDR throughput IPv6 routing verify 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:* In short performance tests, TG verifies -| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet -| ... | loss tolerance. Ref-NDR value is periodically updated acording to -| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long -| ... | performance tests for the same DUT confiiguration. 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 and static -| ... | payload. Incrementing of IP.dst (IPv6 destination address) field is -| ... | applied to both streams. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -| ${rts_per_flow}= | 10000 - -*** Test Cases *** -| TC01: Verify 78B ref-NDR at 2x 2.9Mpps - DUT IPv6 Fib 2x10k - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 78 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 2.9mpps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 Fib 2x10k - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 Fib 2x10k - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC04: Verify 78B ref-NDR at 2x 5.9Mpps - DUT IPv6 Fib 2x10k - 2threads, 2cores, 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 thread, 2 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 78 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 5.9mpps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 Fib 2x10k - 2threads, 2cores, 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 thread, 2 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 Fib 2x10k - 2threads, 2cores, 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 thread, 2 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC07: Verify 78B ref-NDR at 2x 10.0Mpps - DUT IPv6 Fib 2x10k - 4threads, 4cores, 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 thread, 4 phy core, \ -| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 78 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 10.0mpps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 Fib 2x10k - 4threads, 4cores, 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 thread, 4 phy core, \ -| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 Fib 2x10k - 4threads, 4cores, 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 thread, 4 phy core, \ -| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} diff --git a/tests/perf/Short_IPv6_Fib_2M_Intel-X520-DA2.robot b/tests/perf/Short_IPv6_Fib_2M_Intel-X520-DA2.robot deleted file mode 100644 index bf11df9616..0000000000 --- a/tests/perf/Short_IPv6_Fib_2M_Intel-X520-DA2.robot +++ /dev/null @@ -1,213 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT -| ... | FIB_2M | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keyword | Remove startup configuration of VPP from all DUTs -| Documentation | *Reference NDR throughput IPv6 routing verify 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:* In short performance tests, TG verifies -| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet -| ... | loss tolerance. Ref-NDR value is periodically updated acording to -| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long -| ... | performance tests for the same DUT confiiguration. 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 and static -| ... | payload. Incrementing of IP.dst (IPv6 destination address) field is -| ... | applied to both streams. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -| ${rts_per_flow}= | 1000000 - -*** Test Cases *** -| TC01: Verify 78B ref-NDR at 2x 2.3Mpps - DUT IPv6 Fib 2x1M - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 78 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 2.3mpps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 Fib 2x1M - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 Fib 2x1M - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC04: Verify 78B ref-NDR at 2x 4.9Mpps - DUT IPv6 Fib 2x1M - 2threads, 2cores, 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 thread, 2 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 78 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 4.9mpps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 Fib 2x1M - 2threads, 2cores, 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 thread, 2 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 Fib 2x1M - 2threads, 2cores, 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 thread, 2 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC07: Verify 78B ref-NDR at 2x 9.5Mpps - DUT IPv6 Fib 2x1M - 4threads, 4cores, 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 thread, 4 phy core, \ -| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 78 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 9.5mpps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 Fib 2x1M - 4threads, 4cores, 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 thread, 4 phy core, \ -| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} - -| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 Fib 2x1M - 4threads, 4cores, 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 thread, 4 phy core, \ -| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} -| | ... | 3-node-IPv6-dst-${rts_per_flow} diff --git a/tests/perf/Short_IPv6_Intel-X520-DA2.robot b/tests/perf/Short_IPv6_Intel-X520-DA2.robot deleted file mode 100644 index 62442c7487..0000000000 --- a/tests/perf/Short_IPv6_Intel-X520-DA2.robot +++ /dev/null @@ -1,194 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| Documentation | *Reference NDR throughput IPv6 routing verify 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:* In short performance tests, TG verifies -| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet -| ... | loss tolerance. Ref-NDR value is periodically updated acording to -| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long -| ... | performance tests for the same DUT configuration. Test packets are -| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 -| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with -| ... | all packets containing Ethernet header, IPv6 header and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Test Cases *** -| TC01: Verify 78B ref-NDR at 2x 2.9Mpps - DUT IPv6 - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 78 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 2.9mpps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC04: Verify 78B ref-NDR at 2x 5.9Mpps - DUT IPv6 - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 78 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 5.9mpps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC07: Verify 78B ref-NDR at 2x 7.3Mpps - DUT IPv6 - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 78 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 7.3mpps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 diff --git a/tests/perf/Short_IPv6_iAcl_Intel-X520-DA2.robot b/tests/perf/Short_IPv6_iAcl_Intel-X520-DA2.robot deleted file mode 100644 index 5d1a4e23e0..0000000000 --- a/tests/perf/Short_IPv6_iAcl_Intel-X520-DA2.robot +++ /dev/null @@ -1,204 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Library | resources.libraries.python.Classify.Classify -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords -| ... | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| Documentation | *Reference NDR throughput IPv6 whitelist verify 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:* In short performance tests, TG verifies -| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet -| ... | loss tolerance. Ref-NDR value is periodically updated acording to -| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long -| ... | performance tests for the same DUT confiiguration. 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. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Test Cases *** -| TC01: Verify 78B ref-NDR at 2x 2.9Mpps - DUT IPv6 iAcl whitelist - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 78 Byte frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 2.9mpps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 iAcl whitelist - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 iAcl whitelist - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC04: Verify 78B ref-NDR at 2x 5.4Mpps - DUT IPv6 iAcl whitelist - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 78 Byte frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 5.4mpps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC05: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 iAcl whitelist - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 iAcl whitelist - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC07: Verify 78B ref-NDR at 2x 9.5Mpps - DUT IPv6 iAcl whitelist - 4threads 4cores 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 78 Byte frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 9.5mpps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT IPv6 iAcl whitelist - 4threads 4cores 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 1518 Byte frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT IPv6 iAcl whitelist - 4threads 4cores 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs IPv6 routing and whitelist filters config with \ -| | ... | 4 thread, 4 phy core, 2 receive queue per NIC port. [Ver] Verify -| | ... | ref-NDR for 9000 Byte frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 diff --git a/tests/perf/Short_Lisp_Intel-X520-DA2.robot b/tests/perf/Short_Lisp_Intel-X520-DA2.robot deleted file mode 100644 index cde3ed33fa..0000000000 --- a/tests/perf/Short_Lisp_Intel-X520-DA2.robot +++ /dev/null @@ -1,943 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.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 -# import additional Lisp settings from resource file -| Variables | resources/test_data/lisp/performance/lisp_static_adjacency.py -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keyword | Remove startup configuration of VPP from all DUTs -| Documentation | *Reference NDR throughput Lisp tunnel verify 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-ICMPv4 on DUT1-DUT2, -| ... | Eth-IPv4-ICMPv4 on TG-DUTn for IPv4 routing over LISPoIPv4 tunnel; -| ... | Eth-IPv6-LISP-IPv6-ICMPv6 on DUT1-DUT2, Eth-IPv6-ICMPv6 on TG-DUTn for -| ... | IPv6 routing over LISPoIPv6 tunnel; Eth-IPv6-LISP-IPv4-ICMPv4 on -| ... | DUT1-DUT2, Eth-IPv4-ICMPv4 on TG-DUTn for IPv4 routing over LISPoIPv6 -| ... | tunnel; Eth-IPv4-LISP-IPv6-ICMPv6 on DUT1-DUT2, Eth-IPv6-ICMPv6 on -| ... | TG-DUTn for IPv6 routing over LISPoIPv4 tunnel. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv4 (IPv6) -| ... | routing and static routes. LISPoIPv4 (oIPv6) tunnel is configured -| ... | between DUT1 and DUT2. DUT1 and DUT2 tested with 2p10GE NIC X520 Niantic -| ... | by Intel. -| ... | *[Ver] TG verification:* In short performance tests, TG verifies -| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet -| ... | loss tolerance. Ref-NDR value is periodically updated acording to -| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long -| ... | performance tests for the same DUT confiiguration. 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 or IPv6 header with -| ... | IP protocol=61 and generated payload. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Test Cases *** -| TC01: Verify 64B ref-NDR at 2x 1.9Mpps - DUT IPv4 - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 64 Byte frames using single trial throughput -| | ... | test. -| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD | NDR | LISP_IPv4 -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 1.9mpps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC02: Verify 1480B ref-NDR at 2x 740kpps - DUT IPv4 - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 1480 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD | NDR | LISP_IPv4 -| | ${framesize}= | Set Variable | 1480 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 740000pps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC03: Verify 9000B ref-NDR at 2x 120kpps - DUT IPv4 - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD | NDR | LISP_IPv4 -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 120000pps -| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC04: Verify 64B ref-NDR at 2x 3.6Mpps - DUT IPv4 - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 64 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD | NDR | LISP_IPv4 -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 3.6mpps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC05: Verify 1480B ref-NDR at 2x 740kpps - DUT IPv4 - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 1480 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD | NDR | LISP_IPv4 -| | ${framesize}= | Set Variable | 1480 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 740000pps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC06: Verify 9000B ref-NDR at 2x 120kpps - DUT IPv4 - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD | NDR | LISP_IPv4 -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 120000pps -| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC07: Verify 64B ref-NDR at 2x 3.5Mpps - DUT IPv4 - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-NDR for 64 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD | NDR | LISP_IPv4 -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 3.5mpps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC08: Verify 1480B ref-NDR at 2x 740kpps - DUT IPv4 - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-NDR for 1480 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD | NDR | LISP_IPv4 -| | ${framesize}= | Set Variable | 1480 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 740000pps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC09: Verify 9000B ref-NDR at 2x 120kpps - DUT IPv4 - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD | NDR | LISP_IPv4 -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 120000pps -| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC10: Verify 78B ref-NDR at 2x 1.56Mpps - DUT IPv6 - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 78 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD | NDR | LISP_IPv6 -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 1.56mpps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC11: Verify 1460B ref-NDR at 2x 740kpps - DUT IPv6 - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 1460 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD | NDR | LISP_IPv6 -| | ${framesize}= | Set Variable | 1460 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 740000pps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC12: Verify 9000B ref-NDR at 2x 120kpps - DUT IPv6 - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD | NDR | LISP_IPv6 -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 120000pps -| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC13: Verify 78B ref-NDR at 2x 3.2Mpps - DUT IPv6 - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 2 thread, 2 phy core, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 78 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD | NDR | LISP_IPv6 -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 3.2mpps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC14: Verify 1460B ref-NDR at 2x 740kpps - DUT IPv6 - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 1460 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD | NDR | LISP_IPv6 -| | ${framesize}= | Set Variable | 1460 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 740000pps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC15: Verify 9000B ref-NDR at 2x 120kpps - DUT IPv6 - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD | NDR | LISP_IPv6 -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 120000pps -| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC16: Verify 78B ref-NDR at 2x 3.2Mpps - DUT IPv6 - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-NDR for 78 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD | NDR | LISP_IPv6 -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 3.2mpps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC17: Verify 1460B ref-NDR at 2x 740kpps - DUT IPv6 - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-NDR for 1460 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD | NDR | LISP_IPv6 -| | ${framesize}= | Set Variable | 1460 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 740000pps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC18: Verify 9000B ref-NDR at 2x 120kpps - DUT IPv6 - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD | NDR | LISP_IPv6 -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 120000pps -| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC19: Verify 64B ref-NDR at 2x 1.53Mpps - DUT IPv4oIPv6 - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 64 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD | NDR | LISP_IPv4oIPv6 -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 1.53mpps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC20: Verify 1460B ref-NDR at 2x 720kpps - DUT IPv4oIPv6 - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 1460 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD | NDR | LISP_IPv4oIPv6 -| | ${framesize}= | Set Variable | 1460 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 720000pps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC21: Verify 9000B ref-NDR at 2x 120kpps - DUT IPv4oIPv6 - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD | NDR | LISP_IPv4oIPv6 -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 120000pps -| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC22: Verify 64B ref-NDR at 2x 3.25Mpps - DUT IPv4oIPv6 - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 64 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 3.25mpps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC23: Verify 1460B ref-NDR at 2x 720kpps - DUT IPv4oIPv6 - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 1460 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 -| | ${framesize}= | Set Variable | 1460 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 720000pps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC24: Verify 9000B ref-NDR at 2x 120kpps - DUT IPv4oIPv6 - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 120000pps -| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC25: Verify 64B ref-NDR at 2x 3.12Mpps - DUT IPv4oIPv6 - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-NDR for 64 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 3.12mpps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC26: Verify 1460B ref-NDR at 2x 720kpps - DUT IPv4oIPv6 - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-NDR for 1460 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 -| | ${framesize}= | Set Variable | 1460 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 720000pps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC27: Verify 9000B ref-NDR at 2x 120kpps - DUT IPv4oIPv6 - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD | NDR | LISP_IPv4oIPv6 -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 120000pps -| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv4 - -| TC28: Verify 78B ref-NDR at 2x 1.75Mpps - DUT IPv6oIPv4 - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 78 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD | NDR | LISP_IPv6oIPv4 -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 1.75mpps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC29: Verify 1460B ref-NDR at 2x 720kpps - DUT IPv6oIPv4 - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 1460 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD | NDR | LISP_IPv6oIPv4 -| | ${framesize}= | Set Variable | 1460 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 720000pps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC30: Verify 9000B ref-NDR at 2x 120kpps - DUT IPv6oIPv4 - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD | NDR | LISP_IPv6oIPv4 -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 120000pps -| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC31: Verify 78B ref-NDR at 2x 3.42Mpps - DUT IPv6oIPv4 - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 78 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 3.42mpps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC32: Verify 1460B ref-NDR at 2x 720kpps - DUT IPv6oIPv4 - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 1460 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 -| | ${framesize}= | Set Variable | 1460 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 720000pps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC33: Verify 9000B ref-NDR at 2x 120kpps - DUT IPv6oIPv4 - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. -| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 120000pps -| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC34: Verify 78B ref-NDR at 2x 3.42Mpps - DUT IPv6oIPv4 - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-NDR for 78 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 -| | ${framesize}= | Set Variable | 78 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 3.42mpps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC35: Verify 1460B ref-NDR at 2x 720Kpps - DUT IPv6oIPv4 - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-NDR for 1460 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 -| | ${framesize}= | Set Variable | 1460 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 720000pps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 - -| TC36: Verify 9000B ref-NDR at 2x 120Kpps - DUT IPv6oIPv4 - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs LISP tunnel config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. -| | ... | [Ver] Verify ref-NDR for 9000 Byte frames using single trial -| | ... | throughput test. -| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD | NDR | LISP_IPv6oIPv4 -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 120000pps -| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-IPv6 diff --git a/tests/perf/Short_Xconnect_Dot1ad_Intel-X520-DA2.robot b/tests/perf/Short_Xconnect_Dot1ad_Intel-X520-DA2.robot deleted file mode 100644 index 5bbc018d68..0000000000 --- a/tests/perf/Short_Xconnect_Dot1ad_Intel-X520-DA2.robot +++ /dev/null @@ -1,283 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Resource | resources/libraries/robot/tagging.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| Documentation | *Reference NDR throughput L2XC with 802.1ad verify 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:* In short performance tests, TG verifies -| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet -| ... | loss tolerance. Ref-NDR value is periodically updated acording to -| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long -| ... | performance tests for the same DUT configuration. Test packets are -| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 -| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with -| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 -| ... | and static payload. MAC addresses are matching MAC addresses of the -| ... | TG node interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -| ${subid}= | 10 -| ${outer_vlan_id}= | 100 -| ${inner_vlan_id}= | 200 -| ${type_subif}= | two_tags -| ${tag_rewrite}= | pop-2 - -*** Test Cases *** -| TC01: Verify 64B ref-NDR at 2x 2.9Mpps - DUT L2XC with 802.1ad - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC with 802.1ad config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 2.9mpps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC02: Verify 1514B ref-NDR at 2x 810.635kpps - DUT L2XC with 802.1ad - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC with 802.1ad config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1514 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 1514 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 810635pps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC03: Verify 9000B ref-NDR at 2x 138.458kpps - DUT L2XC with 802.1ad - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC with 802.1ad config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138458pps -| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC04: Verify 64B ref-NDR at 2x 7Mpps - DUT L2XC with 802.1ad - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC with 802.1ad config with 2 thread, 2 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 7.0mpps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC05: Verify 1514B ref-NDR at 2x 810.635kpps - DUT L2XC with 802.1ad - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC with 802.1ad config with 2 thread, 2 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1514 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1514 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 810635pps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC06: Verify 9000B ref-NDR at 2x 138.458kpps - DUT L2XC with 802.1ad - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC with 802.1ad config with 2 thread, 2 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138458pps -| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC07: Verify 64B ref-NDR at 2x 8Mpps - DUT L2XC with 802.1ad - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC with 802.1ad config with 4 thread, 4 phy core, \ -| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 8.0mpps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC08: Verify 1514B ref-NDR at 2x 810.635kpps - DUT L2XC with 802.1ad - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC with 802.1ad config with 4 thread, 4 phy core, \ -| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 1514 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1514 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 810635pps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC09: Verify 9000B ref-NDR at 2x 138.458kpps - DUT L2XC with 802.1ad - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC with 802.1ad config with 4 thread, 4 phy core, \ -| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138458pps -| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect diff --git a/tests/perf/Short_Xconnect_Dot1q_Intel-X520-DA2.robot b/tests/perf/Short_Xconnect_Dot1q_Intel-X520-DA2.robot deleted file mode 100644 index 530bfd0e96..0000000000 --- a/tests/perf/Short_Xconnect_Dot1q_Intel-X520-DA2.robot +++ /dev/null @@ -1,270 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Resource | resources/libraries/robot/tagging.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| Documentation | *Reference NDR throughput L2XC with 802.1q verify 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:* In short performance tests, TG verifies -| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet -| ... | loss tolerance. Ref-NDR value is periodically updated acording to -| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long -| ... | performance tests for the same DUT configuration. Test packets are -| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 -| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with -| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 -| ... | and static payload. MAC addresses are matching MAC addresses of the -| ... | TG node interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -| ${subid}= | 10 -| ${tag_rewrite}= | pop-1 - -*** Test Cases *** -| TC01: Verify 64B ref-NDR at 2x 2.9Mpps - DUT 802.1q - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 2.9mpps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC02: Verify 1518B ref-NDR at 2x 720kpps - DUT 802.1q - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 720000pps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC03: Verify 9000B ref-NDR at 2x 120kpps - DUT 802.1q - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 120000pps -| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC04: Verify 64B ref-NDR at 2x 7Mpps - DUT 802.1q - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 7.0mpps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC05: Verify 1518B ref-NDR at 2x 720kpps - DUT 802.1q - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 720000pps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC06: Verify 9000B ref-NDR at 2x 120kpps - DUT 802.1q - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 120000pps -| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC07: Verify 64B ref-NDR at 2x 11Mpps - DUT 802.1q - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 11.0mpps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC08: Verify 1518B ref-NDR at 2x 720kpps - DUT 802.1q - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 720000pps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC09: Verify 9000B ref-NDR at 2x 120kpps - DUT 802.1q - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 120000pps -| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect diff --git a/tests/perf/Short_Xconnect_Intel-X520-DA2.robot b/tests/perf/Short_Xconnect_Intel-X520-DA2.robot deleted file mode 100644 index e62529fea2..0000000000 --- a/tests/perf/Short_Xconnect_Intel-X520-DA2.robot +++ /dev/null @@ -1,194 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Library | resources.libraries.python.InterfaceUtil -| Library | resources.libraries.python.NodePath -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| Documentation | *Reference NDR throughput L2XC verify 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:* In short performance tests, TG verifies -| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet -| ... | loss tolerance. Ref-NDR value is periodically updated acording to -| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long -| ... | performance tests for the same DUT configuration. Test packets are -| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 -| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with -| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 -| ... | and static payload. MAC addresses are matching MAC addresses of the -| ... | TG node interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Test Cases *** -| TC01: Verify 64B ref-NDR at 2x 3.6Mpps - DUT L2XC - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 3.6mpps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC02: Verify 1518B ref-NDR at 2x 812.74kpps - DUT L2XC - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC03: Verify 9000B ref-NDR at 2x 138.58kpps - DUT L2XC - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC04: Verify 64B ref-NDR at 2x 8.3Mpps - DUT L2XC - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 8.3mpps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC05: Verify 1518B ref-NDR at 2x 812.43kpps - DUT L2XC - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC06: Verify 9000B ref-NDR at 2x 138.58kpps - DUT L2XC - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC config with 2 threads, 2 phy cores, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC07: Verify 64B ref-NDR at 2x 9.3Mpps - DUT L2XC - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 9.3mpps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC08: Verify 1518B ref-NDR at 2x 812.74kpps - DUT L2XC - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 812743pps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC09: Verify 9000B ref-NDR at 2x 138.58kpps - DUT L2XC - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC config with 4 threads, 4 phy cores, \ -| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 138580pps -| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect diff --git a/tests/perf/Short_Xconnect_Vxlan_Ipv4_Intel-X520-DA2.robot b/tests/perf/Short_Xconnect_Vxlan_Ipv4_Intel-X520-DA2.robot deleted file mode 100644 index 0e005f7f82..0000000000 --- a/tests/perf/Short_Xconnect_Vxlan_Ipv4_Intel-X520-DA2.robot +++ /dev/null @@ -1,191 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT -| ... | NIC_Intel-X520-DA2 -| 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 | Setup all DUTs before test -| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs -| ... | AND | Show vpp trace dump on all DUTs -| Documentation | *Reference NDR throughput L2XC with VXLANoIPv4 verify 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:* In short performance tests, TG verifies -| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet -| ... | loss tolerance. Ref-NDR value is periodically updated acording to -| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long -| ... | performance tests for the same DUT configuration. Test packets are -| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 -| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with -| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 -| ... | and generated payload. MAC addresses are matching MAC addresses of the -| ... | TG node interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544, RFC7348. - -*** Test Cases *** -| TC01: Verify 64B ref-NDR at 2x 2.4Mpps - DUT L2XC with VXLANoIPv4 - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 2.4mpps -| | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC02: Verify 1518B ref-NDR at 2x 787.153kpps - DUT L2XC with VXLANoIPv4 - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 787153pps -| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC03: Verify 9000B ref-NDR at 2x 137.816kpps - DUT L2XC with VXLANoIPv4 - 1thread 1core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 137816pps -| | Given Add '1' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC04: Verify 64B ref-NDR at 2x 5.2Mpps - DUT L2XC with VXLANoIPv4 - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 2 thread, 2 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 5.2mpps -| | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC05: Verify 1518B ref-NDR at 2x 787.153kpps - DUT L2XC with VXLANoIPv4 - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 2 thread, 2 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 787153pps -| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC06: Verify 9000B ref-NDR at 2x 137.816kpps - DUT L2XC with VXLANoIPv4 - 2thread 2core 1rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 2 thread, 2 phy core, \ -| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 137816pps -| | Given Add '2' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC07: Verify 64B ref-NDR at 2x 8.4Mpps - DUT L2XC with VXLANoIPv4 - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 4 thread, 4 phy core, \ -| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 64 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 8.4mpps -| | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo -| | And Add PCI devices to 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC08: Verify 1518B ref-NDR at 2x 787.153kpps - DUT L2XC with VXLANoIPv4 - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 4 thread, 4 phy core, \ -| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 1518 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 787153pps -| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect - -| TC09: Verify 9000B ref-NDR at 2x 137.816kpps - DUT L2XC with VXLANoIPv4 - 4thread 4core 2rxq -| | [Documentation] -| | ... | [Cfg] DUT runs L2XC switching config with 4 thread, 4 phy core, \ -| | ... | 2 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte -| | ... | frames using single trial throughput test. -| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR -| | ${framesize}= | Set Variable | 9000 -| | ${duration}= | Set Variable | 10 -| | ${rate}= | Set Variable | 137816pps -| | Given Add '4' 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 Traffic should pass with no loss | ${duration} | ${rate} -| | ... | ${framesize} | 3-node-xconnect -- cgit 1.2.3-korg