CSIT-469 Rename performance suites 56/3856/16
authorpmikus <pmikus@cisco.com>
Wed, 16 Nov 2016 15:45:05 +0000 (16:45 +0100)
committerPeter Mikus <pmikus@cisco.com>
Tue, 10 Jan 2017 11:42:01 +0000 (11:42 +0000)
Rename performance suites and add more TAGS

Change-Id: I6a5251bb6e380fe2a47a6ec1c1aeb4a9f70c5ce3
Signed-off-by: pmikus <pmikus@cisco.com>
55 files changed:
docs/tag_documentation.rst
tests/perf/10ge2p1x520-dot1ad-l2xcbase-ndrchk.robot [moved from tests/perf/Short_Xconnect_Dot1ad_Intel-X520-DA2.robot with 100% similarity]
tests/perf/10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot [moved from tests/perf/Long_Xconnect_Dot1ad_Intel-X520-DA2.robot with 100% similarity]
tests/perf/10ge2p1x520-dot1q-l2xcbase-ndrchk.robot [moved from tests/perf/Short_Xconnect_Dot1q_Intel-X520-DA2.robot with 100% similarity]
tests/perf/10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot [moved from tests/perf/Long_Xconnect_Dot1q_Intel-X520-DA2.robot with 100% similarity]
tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot [moved from tests/perf/Long_Bridge_Domain_Vhost_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-ndrchk.robot [moved from tests/perf/Short_Bridge_Domain_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot [moved from tests/perf/Bridge_Domain_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot [moved from tests/perf/Long_Xconnect_Vhost_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-eth-l2xcbase-ndrchk.robot [moved from tests/perf/Short_Xconnect_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-eth-l2xcbase-ndrdisc.robot [moved from tests/perf/Long_Xconnect_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrchk.robot [moved from tests/perf/Short_IPv4_Cop_Intel-X520-DA2.robot with 100% similarity]
tests/perf/10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot [moved from tests/perf/Long_IPv4_Cop_Intel-X520-DA2.robot with 100% similarity]
tests/perf/10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot [moved from tests/perf/Long_IPv4_Vhost_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-ethip4-ip4base-iacldstbase-ndrchk.robot [moved from tests/perf/Short_IPv4_iAcl_Intel-X520-DA2.robot with 100% similarity]
tests/perf/10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot [moved from tests/perf/Long_IPv4_iAcl_Intel-X520-DA2.robot with 100% similarity]
tests/perf/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrchk.robot [moved from tests/perf/Short_IPv4_Policer_Intel-X520-DA2.robot with 100% similarity]
tests/perf/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot [moved from tests/perf/Long_IPv4_Policer_Intel-X520-DA2.robot with 100% similarity]
tests/perf/10ge2p1x520-ethip4-ip4base-ndrchk.robot [moved from tests/perf/Short_IPv4_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-ethip4-ip4base-ndrdisc.robot [moved from tests/perf/Long_IPv4_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-ethip4-ip4scale200k-ndrchk.robot [moved from tests/perf/Short_IPv4_Fib_200k_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot [moved from tests/perf/Long_IPv4_Fib_200k_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-ethip4-ip4scale20k-ndrchk.robot [moved from tests/perf/Short_IPv4_Fib_20k_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot [moved from tests/perf/Long_IPv4_Fib_20k_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-ethip4-ip4scale2m-ndrchk.robot [moved from tests/perf/Short_IPv4_Fib_2M_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot [moved from tests/perf/Long_IPv4_Fib_2M_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-ethip4lispip4-ip4base-ndrchk.robot [new file with mode: 0644]
tests/perf/10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot [new file with mode: 0644]
tests/perf/10ge2p1x520-ethip4lispip6-ip4base-ndrchk.robot [new file with mode: 0644]
tests/perf/10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot [new file with mode: 0644]
tests/perf/10ge2p1x520-ethip4vxlan-l2xcbase-ndrchk.robot [moved from tests/perf/Short_Xconnect_Vxlan_Ipv4_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot [moved from tests/perf/Long_Xconnect_Vxlan_Ipv4_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrchk.robot [moved from tests/perf/Short_IPv6_Cop_Intel-X520-DA2.robot with 100% similarity]
tests/perf/10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot [moved from tests/perf/Long_IPv6_Cop_Intel-X520-DA2.robot with 100% similarity]
tests/perf/10ge2p1x520-ethip6-ip6base-iacldstbase-ndrchk.robot [moved from tests/perf/Short_IPv6_iAcl_Intel-X520-DA2.robot with 100% similarity]
tests/perf/10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot [moved from tests/perf/Long_IPv6_iAcl_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-ethip6-ip6base-ndrchk.robot [moved from tests/perf/Short_IPv6_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-ethip6-ip6base-ndrdisc.robot [moved from tests/perf/Long_IPv6_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-ethip6-ip6scale200k-ndrchk.robot [moved from tests/perf/Short_IPv6_Fib_200k_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot [moved from tests/perf/Long_IPv6_Fib_200k_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-ethip6-ip6scale20k-ndrchk.robot [moved from tests/perf/Short_IPv6_Fib_20k_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot [moved from tests/perf/Long_IPv6_Fib_20k_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-ethip6-ip6scale2m-ndrchk.robot [moved from tests/perf/Short_IPv6_Fib_2M_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot [moved from tests/perf/Long_IPv6_Fib_2M_Intel-X520-DA2.robot with 99% similarity]
tests/perf/10ge2p1x520-ethip6lispip4-ip6base-ndrchk.robot [new file with mode: 0644]
tests/perf/10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot [new file with mode: 0644]
tests/perf/10ge2p1x520-ethip6lispip6-ip6base-ndrchk.robot [new file with mode: 0644]
tests/perf/10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot [new file with mode: 0644]
tests/perf/10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot [moved from tests/perf/Bridge_Domain_Intel-X710-DA2.robot with 99% similarity]
tests/perf/40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot [moved from tests/perf/Bridge_Domain_Intel-XL710.robot with 99% similarity]
tests/perf/40ge2p1xl710-eth-l2xcbase-ndrdisc.robot [moved from tests/perf/Long_Xconnect_Intel-XL710.robot with 99% similarity]
tests/perf/40ge2p1xl710-ethip4-ip4base-ndrdisc.robot [moved from tests/perf/Long_IPv4_Intel-XL710.robot with 99% similarity]
tests/perf/40ge2p1xl710-ethip6-ip6base-ndrdisc.robot [moved from tests/perf/Long_IPv6_Intel-XL710.robot with 99% similarity]
tests/perf/Long_Lisp_Intel-X520-DA2.robot [deleted file]
tests/perf/Short_Lisp_Intel-X520-DA2.robot [deleted file]

index ab5e2d1..e0be374 100644 (file)
-# 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.
 
 
 Documentation for tags used to select and identify test cases.
 
-List of TAGs and their descriptions
-===================================
 
 Topology TAGs
 -------------
 
 
 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 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
 --------------
 
     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).
 
     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
 ----------------
 
 Environment TAGs
 ----------------
 
-HW_ENV
+.. topic:: HW_ENV
+
     DUTs and TGs are running on bare metal.
 
     DUTs and TGs are running on bare metal.
 
-VM_ENV
+.. topic:: VM_ENV
+
     DUTs and TGs are running in virtual environment.
 
     DUTs and TGs are running in virtual environment.
 
-VPP_VM_ENV
+.. topic:: VPP_VM_ENV
+
     DUTs with VPP and capable of running Virtual Machine.
 
     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.
 
     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.
 
     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.
@@ -15,7 +15,7 @@
 | Resource | resources/libraries/robot/performance.robot
 | Library | resources.libraries.python.QemuUtils
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
 | 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_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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L2 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -15,7 +15,7 @@
 | Resource | resources/libraries/robot/performance.robot
 | Library | resources.libraries.python.NodePath
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT
 | 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
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L2 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -14,7 +14,7 @@
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
-| ... | NIC_Intel-X520-DA2
+| ... | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L2 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -15,7 +15,7 @@
 | Resource | resources/libraries/robot/performance.robot
 | Library | resources.libraries.python.NodePath
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
 | 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_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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L2 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -16,7 +16,7 @@
 | Library | resources.libraries.python.InterfaceUtil
 | Library | resources.libraries.python.NodePath
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT
 | 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
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L2 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -16,7 +16,7 @@
 | Library | resources.libraries.python.InterfaceUtil
 | Library | resources.libraries.python.NodePath
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
 | 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
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L2 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -15,7 +15,7 @@
 | Resource | resources/libraries/robot/performance.robot
 | Library | resources.libraries.python.QemuUtils
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
 | 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_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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L3 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -19,7 +19,7 @@
 | 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
 | 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
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L3 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -19,7 +19,7 @@
 | 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
 | 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
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L3 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -14,7 +14,7 @@
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT
 *** 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
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L3 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -14,7 +14,7 @@
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
 *** 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
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L3 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -14,7 +14,7 @@
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT
 *** 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
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L3 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -14,7 +14,7 @@
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
 *** 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
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L3 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -14,7 +14,7 @@
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT
 *** 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
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L3 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -14,7 +14,7 @@
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
 *** 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
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L3 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
diff --git a/tests/perf/10ge2p1x520-ethip4lispip4-ip4base-ndrchk.robot b/tests/perf/10ge2p1x520-ethip4lispip4-ip4base-ndrchk.robot
new file mode 100644 (file)
index 0000000..778d5ea
--- /dev/null
@@ -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 (file)
index 0000000..d831c76
--- /dev/null
@@ -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 (file)
index 0000000..d349428
--- /dev/null
@@ -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 (file)
index 0000000..ceb08d2
--- /dev/null
@@ -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}
+
@@ -14,7 +14,7 @@
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT
-| ...        | NIC_Intel-X520-DA2
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L2 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -14,7 +14,7 @@
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
-| ...        | NIC_Intel-X520-DA2
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L2 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -15,7 +15,7 @@
 | Resource | resources/libraries/robot/performance.robot
 | Library | resources.libraries.python.Classify.Classify
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
 | 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
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L3 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -14,7 +14,7 @@
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT
-| ...        | NIC_Intel-X520-DA2
+| ...        | NIC_Intel-X520-DA2 | PERFTEST_BASE
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L3 | Intel-X520-DA2
 
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L3 | Intel-X520-DA2
 
@@ -14,7 +14,7 @@
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
-| ...        | NIC_Intel-X520-DA2
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L3 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -14,7 +14,7 @@
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT
 *** 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
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L3 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -14,7 +14,7 @@
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
 *** 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
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L3 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -14,7 +14,7 @@
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT
 *** 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
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L3 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -14,7 +14,7 @@
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
 *** 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
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L3 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -14,7 +14,7 @@
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT
 *** 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
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L3 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -14,7 +14,7 @@
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
 *** 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
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L3 | Intel-X520-DA2
 | Suite Teardown | 3-node Performance Suite Teardown
diff --git a/tests/perf/10ge2p1x520-ethip6lispip4-ip6base-ndrchk.robot b/tests/perf/10ge2p1x520-ethip6lispip4-ip6base-ndrchk.robot
new file mode 100644 (file)
index 0000000..985a56c
--- /dev/null
@@ -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 (file)
index 0000000..d38aa0d
--- /dev/null
@@ -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 (file)
index 0000000..bd18ec3
--- /dev/null
@@ -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 (file)
index 0000000..edbd70c
--- /dev/null
@@ -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}
@@ -14,7 +14,7 @@
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
-| ... | NIC_Intel-X710
+| ... | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L2 | Intel-X710
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -15,7 +15,7 @@
 | Resource | resources/libraries/robot/performance.robot
 | Library | resources.libraries.python.NodePath
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
 | 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
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L2 | Intel-XL710
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -16,7 +16,7 @@
 | Library | resources.libraries.python.InterfaceUtil
 | Library | resources.libraries.python.NodePath
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
 | 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
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L2 | Intel-XL710
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -19,7 +19,7 @@
 | 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
 | 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
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L3 | Intel-XL710
 | Suite Teardown | 3-node Performance Suite Teardown
@@ -14,7 +14,7 @@
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
 *** Settings ***
 | Resource | resources/libraries/robot/performance.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
-| ...        | NIC_Intel-XL710
+| ...        | 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
 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
 | ... | L3 | Intel-XL710
 | Suite Teardown | 3-node Performance Suite Teardown
diff --git a/tests/perf/Long_Lisp_Intel-X520-DA2.robot b/tests/perf/Long_Lisp_Intel-X520-DA2.robot
deleted file mode 100644 (file)
index 8938e21..0000000
+++ /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/Short_Lisp_Intel-X520-DA2.robot b/tests/perf/Short_Lisp_Intel-X520-DA2.robot
deleted file mode 100644 (file)
index cde3ed3..0000000
+++ /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