aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--resources/libraries/python/autogen/Regenerator.py20
-rwxr-xr-xtests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4-ip4base-tg-ndrpdr.robot5
-rwxr-xr-xtests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4-ip4scale2m-tg-ndrpdr.robot86
-rw-r--r--tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-cps-tg-ndrpdr.robot81
-rw-r--r--tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-pps-tg-ndrpdr.robot81
-rw-r--r--tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-cps-tg-ndrpdr.robot81
-rw-r--r--tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-pps-tg-ndrpdr.robot81
-rw-r--r--tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-cps-tg-ndrpdr.robot79
-rw-r--r--tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-pps-tg-ndrpdr.robot81
-rw-r--r--tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-cps-tg-ndrpdr.robot79
-rw-r--r--tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-pps-tg-ndrpdr.robot80
-rwxr-xr-xtests/trex/perf/ip6/1n1l-10ge2p1x710-ethip6-ip6base-tg-ndrpdr.robot86
-rwxr-xr-xtests/trex/perf/ip6/1n1l-10ge2p1x710-ethip6-ip6scale2m-tg-ndrpdr.robot87
-rwxr-xr-xtests/trex/perf/ip6/regenerate_testcases.py18
-rw-r--r--tests/trex/perf/l2/1n1l-10ge2p1x710-eth-l2bdscale1mmaclrn-tg-ndrpdr.robot90
-rwxr-xr-xtests/trex/perf/l2/regenerate_testcases.py18
16 files changed, 1047 insertions, 6 deletions
diff --git a/resources/libraries/python/autogen/Regenerator.py b/resources/libraries/python/autogen/Regenerator.py
index 14a9fd0ddb..0554f24d79 100644
--- a/resources/libraries/python/autogen/Regenerator.py
+++ b/resources/libraries/python/autogen/Regenerator.py
@@ -195,18 +195,30 @@ def add_iperf3_testcases(testcase, file_out, tc_kwargs_list):
file_out.write(testcase.generate(**kwargs))
-def add_trex_testcases(testcase, file_out, tc_kwargs_list):
+def add_trex_testcases(testcase, suite_id, file_out, tc_kwargs_list):
"""Add trex testcases to file.
:param testcase: Testcase class.
+ :param suite_id: Suite ID.
:param file_out: File to write testcases to.
:param tc_kwargs_list: Key-value pairs used to construct testcases.
:type testcase: Testcase
+ :type suite_id: str
:type file_out: file
:type tc_kwargs_list: dict
"""
for kwargs in tc_kwargs_list:
- file_out.write(testcase.generate(**kwargs))
+ # TODO: Is there a better way to disable some combinations?
+ emit = True
+ if (
+ u"-cps-" in suite_id
+ or u"-pps-" in suite_id
+ or u"-tput-" in suite_id
+ ):
+ if kwargs[u"frame_size"] not in MIN_FRAME_SIZE_VALUES:
+ emit = False
+ if emit:
+ file_out.write(testcase.generate(**kwargs))
def write_default_files(in_filename, in_prolog, kwargs_list):
@@ -549,7 +561,7 @@ def write_trex_files(in_filename, in_prolog, kwargs_list):
check_suite_tag(suite_tag, out_prolog)
with open(out_filename, u"wt") as file_out:
file_out.write(out_prolog)
- add_trex_testcases(testcase, file_out, kwargs_list)
+ add_trex_testcases(testcase, suite_id, file_out, kwargs_list)
def write_device_files(in_filename, in_prolog, kwargs_list):
@@ -735,7 +747,7 @@ class Regenerator:
in_prolog = u"".join(
file_in.read().partition(u"*** Test Cases ***")[:-1]
)
- if "-tg-" in in_filename:
+ if "-tg" in in_filename:
write_trex_files(in_filename, in_prolog, trex_kwargs_list)
continue
if in_filename.endswith(u"-ndrpdr.robot"):
diff --git a/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4-ip4base-tg-ndrpdr.robot b/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4-ip4base-tg-ndrpdr.robot
index e58b6f2b5c..c42d2a6d0b 100755
--- a/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4-ip4base-tg-ndrpdr.robot
+++ b/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4-ip4base-tg-ndrpdr.robot
@@ -24,7 +24,8 @@
|
| Test Template | Local Template
|
-| Documentation | *RFC2544: Pkt throughput L1 cross connect test cases*
+| Documentation | *RFC2544: Pkt throughput for cross connected NICs with IPv4
+| ... | traffic profile.
|
| ... | *[Top] Network Topologies:* TG-TG 1-node circular topology\
| ... | with single links between nodes.
@@ -37,7 +38,7 @@
| ... | Test packets are generated by TG on links to TG.\
| ... | TG traffic profile contains two L3 flow-groups (flow-group per\
| ... | direction, 254 flows per flow-group) with all packets containing\
-| ... | Ethernet header,IPv4 header with static payload.\
+| ... | Ethernet header, IPv4 header with static payload.\
| ... | MAC addresses are matching MAC addresses of the TG node interfaces.
| ... | *[Ref] Applicable standard specifications:* RFC2544.
diff --git a/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4-ip4scale2m-tg-ndrpdr.robot b/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4-ip4scale2m-tg-ndrpdr.robot
new file mode 100755
index 0000000000..444a3422d4
--- /dev/null
+++ b/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4-ip4scale2m-tg-ndrpdr.robot
@@ -0,0 +1,86 @@
+# Copyright (c) 2021 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/shared/default.robot
+|
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
+| ... | NIC_Intel-X710 | TREX | ETH | IP4SCALE2M | N2N | SCALE | TG_DRV_IGB_UIO
+| ... | ethip4-ip4scale2m-tg
+|
+| Suite Setup | Setup suite topology interfaces with no DUT | performance_tg_nic
+| Suite Teardown | Tear down suite | performance
+| Test Teardown | Tear down test raw | performance
+|
+| Test Template | Local Template
+|
+| Documentation | *RFC2544: Pkt throughput for cross connected NICs with IPv4
+| ... | traffic profile.
+|
+| ... | *[Top] Network Topologies:* TG-TG 1-node circular topology\
+| ... | with single links between.
+| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L1 cross connect patch.
+| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\
+| ... | Rate) with zero packet loss tolerance and 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 MLRsearch library.\
+| ... | Test packets are generated by TG on links to TG.\
+| ... | TG traffic profile contains two L3 flow-groups (flow-group per\
+| ... | direction, 1M flows per flow-group) with all packets containing\
+| ... | Ethernet header, IPv4 header with IP protocol=61 and static payload.\
+| ... | MAC addresses are matching MAC addresses of the TG node interfaces.
+| ... | *[Ref] Applicable standard specifications:* RFC2544.
+
+*** Variables ***
+| ${nic_name}= | Intel-X710
+| ${nic_pfs}= | 2
+| ${osi_layer}= | L2
+| ${overhead}= | ${0}
+| ${rts_per_flow}= | ${1000000}
+# Traffic profile
+| ${traffic_profile}= | trex-stl-2n-ethip4-ip4dst${rts_per_flow}
+
+*** Keywords ***
+| Local Template
+| | [Documentation]
+| | ... | [Cfg] TG runs L1 cross connect config.
+| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\
+| |
+| | ... | *Arguments:*
+| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| |
+| | [Arguments] | ${frame_size}
+| |
+| | Set Test Variable | \${frame_size}
+| |
+| | Given Set Max Rate And Jumbo
+| | Then Find NDR and PDR intervals using optimized search
+
+*** Test Cases ***
+| 64B--ethip4-ip4scale2m-tg-ndrpdr
+| | [Tags] | 64B
+| | frame_size=${64}
+
+| 1518B--ethip4-ip4scale2m-tg-ndrpdr
+| | [Tags] | 1518B
+| | frame_size=${1518}
+
+| 9000B--ethip4-ip4scale2m-tg-ndrpdr
+| | [Tags] | 9000B
+| | frame_size=${9000}
+
+| IMIX--ethip4-ip4scale2m-tg-ndrpdr
+| | [Tags] | IMIX
+| | frame_size=IMIX_v4_1
diff --git a/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-cps-tg-ndrpdr.robot b/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-cps-tg-ndrpdr.robot
new file mode 100644
index 0000000000..580c8a54f3
--- /dev/null
+++ b/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-cps-tg-ndrpdr.robot
@@ -0,0 +1,81 @@
+# Copyright (c) 2021 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/shared/default.robot
+|
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
+| ... | NIC_Intel-X710 | TREX | ETH | IP4FWD | IP4BASE | N2N | TCP | TCP_CPS
+| ... | TG_DRV_IGB_UIO | SCALE | HOSTS_1024
+| ... | ethip4tcp-ip4base-h1024-p63-s64512-cps-tg
+|
+| Suite Setup | Setup suite topology interfaces with no DUT | performance_tg_nic
+| Suite Teardown | Tear down suite | performance
+| Test Teardown | Tear down test raw | performance
+|
+| Test Template | Local Template
+|
+| Documentation | *CPS on empty TCP transactions with L1 cross connect*
+|
+| ... | *[Top] Network Topologies:* TG-TG 1-node circular topology\
+| ... | with single links between nodes.
+| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L1 cross connect patch.
+| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\
+| ... | Rate) with zero packet loss tolerance and 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 MLRsearch library.\
+| ... | Test packets are generated by TG on links to TG.\
+| ... | TG traffic profile contain L7 flows (${cps} bi-directional TCP flows)\
+| ... | with all packets containing Ethernet header, IPv4 header with TCP\
+| ... | header and static payload.\
+| ... | MAC addresses are matching MAC addresses of the TG node interfaces.
+| ... | *[Ref] Applicable standard specifications:* RFC2544.
+
+*** Variables ***
+| ${nic_name}= | Intel-X710
+| ${nic_pfs}= | 2
+| ${osi_layer}= | L7
+| ${overhead}= | ${0}
+# Scale settings
+| ${n_hosts}= | ${1024}
+| ${n_ports}= | ${63}
+| ${transaction_scale}= | ${${n_hosts} * ${n_ports}}
+| ${packets_per_transaction_and_direction}= | ${4}
+| ${packets_per_transaction_aggregated}= | ${7}
+# Traffic profile
+| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h
+| ${transaction_type}= | tcp_cps
+| ${disable_latency}= | ${True}
+
+*** Keywords ***
+| Local Template
+| | [Documentation]
+| | ... | [Cfg] TG runs L1 cross connect config.
+| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\
+| |
+| | ... | *Arguments:*
+| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| |
+| | [Arguments] | ${frame_size}
+| |
+| | Set Test Variable | \${frame_size}
+| |
+| | Given Set Max Rate And Jumbo
+| | Then Find NDR and PDR intervals using optimized search
+
+*** Test Cases ***
+| 64B--ethip4tcp-ip4base-h1024-p63-s64512-cps-tg-ndrpdr
+| | [Tags] | 64B
+| | frame_size=${64}
diff --git a/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-pps-tg-ndrpdr.robot b/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-pps-tg-ndrpdr.robot
new file mode 100644
index 0000000000..c6235f669b
--- /dev/null
+++ b/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-pps-tg-ndrpdr.robot
@@ -0,0 +1,81 @@
+# Copyright (c) 2021 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/shared/default.robot
+|
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
+| ... | NIC_Intel-X710 | TREX | ETH | IP4FWD | IP4BASE | N2N | TCP | TCP_PPS
+| ... | TG_DRV_IGB_UIO | SCALE | HOSTS_1024
+| ... | ethip4tcp-ip4base-h1024-p63-s64512-pps-tg
+|
+| Suite Setup | Setup suite topology interfaces with no DUT | performance_tg_nic
+| Suite Teardown | Tear down suite | performance
+| Test Teardown | Tear down test raw | performance
+|
+| Test Template | Local Template
+|
+| # TODO CSIT-1765: Unify suite Documentation.
+| Documentation | *PPS on lightweight TCP transactions with L1 cross connect*
+|
+| ... | *[Top] Network Topologies:* TG-TG 1-node circular topology\
+| ... | with single links between nodes.
+| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L1 cross connect patch.
+| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\
+| ... | Rate) with zero packet loss tolerance and 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 MLRsearch library.\
+| ... | Test packets are generated by TG on links to TG.\
+| ... | TG traffic profile contains client and server ASTF programs,\
+| ... | generating packets containing Ethernet header, IPv4 header,\
+| ... | TCP header and static payload.\
+| ... | MAC addresses are matching MAC addresses of the TG node interfaces.
+| ... | *[Ref] Applicable standard specifications:* RFC2544.
+
+*** Variables ***
+| ${nic_name}= | Intel-X710
+| ${nic_pfs}= | 2
+| ${osi_layer}= | L7
+| ${overhead}= | ${0}
+# Scale settings
+| ${n_hosts}= | ${1024}
+| ${n_ports}= | ${63}
+| ${packets_per_transaction_and_direction}= | ${11}
+| ${transaction_scale}= | ${${n_hosts} * ${n_ports}}
+# Traffic profile:
+| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h-pps
+| ${transaction_type}= | tcp_pps
+| ${disable_latency}= | ${True}
+
+*** Keywords ***
+| Local Template
+| | [Documentation]
+| | ... | [Cfg] TG runs L1 cross connect config.
+| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\
+| |
+| | ... | *Arguments:*
+| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| |
+| | [Arguments] | ${frame_size}
+| |
+| | Set Test Variable | \${frame_size}
+| |
+| | Given Set Max Rate And Jumbo
+| | Then Find NDR and PDR intervals using optimized search
+
+*** Test Cases ***
+| 64B--ethip4tcp-ip4base-h1024-p63-s64512-pps-tg-ndrpdr
+| | [Tags] | 64B
+| | frame_size=${64}
diff --git a/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-cps-tg-ndrpdr.robot b/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-cps-tg-ndrpdr.robot
new file mode 100644
index 0000000000..d21942c961
--- /dev/null
+++ b/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-cps-tg-ndrpdr.robot
@@ -0,0 +1,81 @@
+# Copyright (c) 2021 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/shared/default.robot
+|
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
+| ... | NIC_Intel-X710 | TREX | ETH | IP4FWD | IP4BASE | N2N | TCP | TCP_CPS
+| ... | TG_DRV_IGB_UIO | SCALE | HOSTS_262144
+| ... | ethip4tcp-ip4base-h262144-p63-s16515072-cps-tg
+|
+| Suite Setup | Setup suite topology interfaces with no DUT | performance_tg_nic
+| Suite Teardown | Tear down suite | performance
+| Test Teardown | Tear down test raw | performance
+|
+| Test Template | Local Template
+|
+| Documentation | *CPS on empty TCP transactions with L1 cross connect*
+|
+| ... | *[Top] Network Topologies:* TG-TG 1-node circular topology\
+| ... | with single links between nodes.
+| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L1 cross connect patch.
+| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\
+| ... | Rate) with zero packet loss tolerance and 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 MLRsearch library.\
+| ... | Test packets are generated by TG on links to TG.\
+| ... | TG traffic profile contain L7 flows (${cps} bi-directional TCP flows)\
+| ... | with all packets containing Ethernet header, IPv4 header with TCP\
+| ... | header and static payload.\
+| ... | MAC addresses are matching MAC addresses of the TG node interfaces.
+| ... | *[Ref] Applicable standard specifications:* RFC2544.
+
+*** Variables ***
+| ${nic_name}= | Intel-X710
+| ${nic_pfs}= | 2
+| ${osi_layer}= | L7
+| ${overhead}= | ${0}
+# Scale settings
+| ${n_hosts}= | ${262144}
+| ${n_ports}= | ${63}
+| ${transaction_scale}= | ${${n_hosts} * ${n_ports}}
+| ${packets_per_transaction_and_direction}= | ${4}
+| ${packets_per_transaction_aggregated}= | ${7}
+# Traffic profile
+| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h
+| ${transaction_type}= | tcp_cps
+| ${disable_latency}= | ${True}
+
+*** Keywords ***
+| Local Template
+| | [Documentation]
+| | ... | [Cfg] TG runs L1 cross connect config.
+| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\
+| |
+| | ... | *Arguments:*
+| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| |
+| | [Arguments] | ${frame_size}
+| |
+| | Set Test Variable | \${frame_size}
+| |
+| | Given Set Max Rate And Jumbo
+| | Then Find NDR and PDR intervals using optimized search
+
+*** Test Cases ***
+| 64B--ethip4tcp-ip4base-h262144-p63-s16515072-cps-tg-ndrpdr
+| | [Tags] | 64B
+| | frame_size=${64}
diff --git a/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-pps-tg-ndrpdr.robot b/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-pps-tg-ndrpdr.robot
new file mode 100644
index 0000000000..b7bcd8739c
--- /dev/null
+++ b/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-pps-tg-ndrpdr.robot
@@ -0,0 +1,81 @@
+# Copyright (c) 2021 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/shared/default.robot
+|
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
+| ... | NIC_Intel-X710 | TREX | ETH | IP4FWD | IP4BASE | N2N | TCP | TCP_PPS
+| ... | TG_DRV_IGB_UIO | SCALE | HOSTS_262144
+| ... | ethip4tcp-ip4base-h262144-p63-s16515072-pps-tg
+|
+| Suite Setup | Setup suite topology interfaces with no DUT | performance_tg_nic
+| Suite Teardown | Tear down suite | performance
+| Test Teardown | Tear down test raw | performance
+|
+| Test Template | Local Template
+|
+| # TODO CSIT-1765: Unify suite Documentation.
+| Documentation | *PPS on lightweight TCP transactions with L1 cross connect*
+|
+| ... | *[Top] Network Topologies:* TG-TG 1-node circular topology\
+| ... | with single links between nodes.
+| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L1 cross connect patch.
+| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\
+| ... | Rate) with zero packet loss tolerance and 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 MLRsearch library.\
+| ... | Test packets are generated by TG on links to TG.\
+| ... | TG traffic profile contains client and server ASTF programs,\
+| ... | generating packets containing Ethernet header, IPv4 header,\
+| ... | TCP header and static payload.\
+| ... | MAC addresses are matching MAC addresses of the TG node interfaces.
+| ... | *[Ref] Applicable standard specifications:* RFC2544.
+
+*** Variables ***
+| ${nic_name}= | Intel-X710
+| ${nic_pfs}= | 2
+| ${osi_layer}= | L7
+| ${overhead}= | ${0}
+# Scale settings
+| ${n_hosts}= | ${262144}
+| ${n_ports}= | ${63}
+| ${packets_per_transaction_and_direction}= | ${11}
+| ${transaction_scale}= | ${${n_hosts} * ${n_ports}}
+# Traffic profile:
+| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h-pps
+| ${transaction_type}= | tcp_pps
+| ${disable_latency}= | ${True}
+
+*** Keywords ***
+| Local Template
+| | [Documentation]
+| | ... | [Cfg] TG runs L1 cross connect config.
+| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\
+| |
+| | ... | *Arguments:*
+| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| |
+| | [Arguments] | ${frame_size}
+| |
+| | Set Test Variable | \${frame_size}
+| |
+| | Given Set Max Rate And Jumbo
+| | Then Find NDR and PDR intervals using optimized search
+
+*** Test Cases ***
+| 64B--ethip4tcp-ip4base-h262144-p63-s16515072-pps-tg-ndrpdr
+| | [Tags] | 64B
+| | frame_size=${64}
diff --git a/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-cps-tg-ndrpdr.robot b/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-cps-tg-ndrpdr.robot
new file mode 100644
index 0000000000..c7c70bbd6e
--- /dev/null
+++ b/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-cps-tg-ndrpdr.robot
@@ -0,0 +1,79 @@
+# Copyright (c) 2021 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/shared/default.robot
+|
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
+| ... | NIC_Intel-X710 |TREX | ETH | IP4FWD | N2N | SCALE | IP4BASE
+| ... | TG_DRV_IGB_UIO | UDP | UDP_CPS | HOSTS_1024
+| ... | ethip4udp-ip4base-h1024-p63-s64512-cps-tg
+|
+| Suite Setup | Setup suite topology interfaces with no DUT | performance_tg_nic
+| Suite Teardown | Tear down suite | performance
+| Test Teardown | Tear down test raw | performance
+|
+| Test Template | Local Template
+|
+| Documentation | *CPS on empty UDP transactions with L1 cross connect*
+|
+| ... | *[Top] Network Topologies:* TG-TG 1-node circular topology\
+| ... | with single links between nodes.
+| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L1 cross connect patch.
+| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\
+| ... | Rate) with zero packet loss tolerance and 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 MLRsearch library.\
+| ... | Test packets are generated by TG on links to TG.\
+| ... | TG traffic profile contain L7 flows (${cps} bi-directional UDP flows)\
+| ... | with all packets containing Ethernet header, IPv4 header with UDP\
+| ... | header and static payload.\
+| ... | MAC addresses are matching MAC addresses of the TG node interfaces.
+| ... | *[Ref] Applicable standard specifications:* RFC2544.
+
+*** Variables ***
+| ${nic_name}= | Intel-X710
+| ${nic_pfs}= | 2
+| ${osi_layer}= | L7
+| ${overhead}= | ${0}
+# Scale settings
+| ${n_hosts}= | ${1024}
+| ${n_ports}= | ${63}
+| ${transaction_scale}= | ${${n_hosts} * ${n_ports}}
+# Traffic profile
+| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h
+| ${transaction_type}= | udp_cps
+| ${disable_latency}= | ${True}
+
+*** Keywords ***
+| Local Template
+| | [Documentation]
+| | ... | [Cfg] TG runs L1 cross connect config.
+| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\
+| |
+| | ... | *Arguments:*
+| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| |
+| | [Arguments] | ${frame_size}
+| |
+| | Set Test Variable | \${frame_size}
+| |
+| | Given Set Max Rate And Jumbo
+| | Then Find NDR and PDR intervals using optimized search
+
+*** Test Cases ***
+| 64B--ethip4udp-ip4base-h1024-p63-s64512-cps-tg-ndrpdr
+| | [Tags] | 64B
+| | frame_size=${64}
diff --git a/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-pps-tg-ndrpdr.robot b/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-pps-tg-ndrpdr.robot
new file mode 100644
index 0000000000..54469365ad
--- /dev/null
+++ b/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-pps-tg-ndrpdr.robot
@@ -0,0 +1,81 @@
+# Copyright (c) 2021 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/shared/default.robot
+|
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
+| ... | NIC_Intel-X710 |TREX | ETH | IP4FWD | N2N | IP4BASE | UDP | UDP_PPS
+| ... | TG_DRV_IGB_UIO | SCALE | HOSTS_1024
+| ... | ethip4udp-ip4base-h1024-p63-s64512-pps-tg
+|
+| Suite Setup | Setup suite topology interfaces with no DUT | performance_tg_nic
+| Suite Teardown | Tear down suite | performance
+| Test Teardown | Tear down test raw | performance
+|
+| Test Template | Local Template
+|
+| # TODO CSIT-1765: Unify suite Documentation.
+| Documentation | *PPS on lightweight UDP transactions with L1 cross connect*
+|
+| ... | *[Top] Network Topologies:* TG-TG 1-node circular topology\
+| ... | with single links between nodes.
+| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L1 cross connect patch.
+| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\
+| ... | Rate) with zero packet loss tolerance and 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 MLRsearch library.\
+| ... | Test packets are generated by TG on links to TG.\
+| ... | TG traffic profile contains client and server ASTF programs,\
+| ... | generating packets containing Ethernet header, IPv4 header,\
+| ... | UDP header and static payload.\
+| ... | MAC addresses are matching MAC addresses of the TG node interfaces.
+| ... | *[Ref] Applicable standard specifications:* RFC2544.
+
+*** Variables ***
+| ${nic_name}= | Intel-X710
+| ${nic_pfs}= | 2
+| ${osi_layer}= | L7
+| ${overhead}= | ${0}
+# Scale settings
+| ${n_hosts}= | ${1024}
+| ${n_ports}= | ${63}
+| ${transaction_scale}= | ${${n_hosts} * ${n_ports}}
+| ${packets_per_transaction_and_direction}= | ${33}
+# Traffic profile:
+| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h-pps
+| ${transaction_type}= | udp_pps
+| ${disable_latency}= | ${True}
+
+*** Keywords ***
+| Local Template
+| | [Documentation]
+| | ... | [Cfg] TG runs L1 cross connect config.
+| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\
+| |
+| | ... | *Arguments:*
+| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| |
+| | [Arguments] | ${frame_size}
+| |
+| | Set Test Variable | \${frame_size}
+| |
+| | Given Set Max Rate And Jumbo
+| | Then Find NDR and PDR intervals using optimized search
+
+*** Test Cases ***
+| 64B--ethip4udp-ip4base-h1024-p63-s64512-pps-tg-ndrpdr
+| | [Tags] | 64B
+| | frame_size=${64}
diff --git a/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-cps-tg-ndrpdr.robot b/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-cps-tg-ndrpdr.robot
new file mode 100644
index 0000000000..0d1086b0b0
--- /dev/null
+++ b/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-cps-tg-ndrpdr.robot
@@ -0,0 +1,79 @@
+# Copyright (c) 2021 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/shared/default.robot
+|
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
+| ... | NIC_Intel-X710 | TREX | ETH | IP4FWD | N2N | SCALE | IP4BASE
+| ... | TG_DRV_IGB_UIO | UDP | UDP_CPS | HOSTS_262144
+| ... | ethip4udp-ip4base-h262144-p63-s16515072-cps-tg
+|
+| Suite Setup | Setup suite topology interfaces with no DUT | performance_tg_nic
+| Suite Teardown | Tear down suite | performance
+| Test Teardown | Tear down test raw | performance
+|
+| Test Template | Local Template
+|
+| Documentation | *CPS on empty UDP transactions with L1 cross connect*
+|
+| ... | *[Top] Network Topologies:* TG-TG 1-node circular topology\
+| ... | with single links between nodes.
+| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L1 cross connect patch.
+| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\
+| ... | Rate) with zero packet loss tolerance and 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 MLRsearch library.\
+| ... | Test packets are generated by TG on links to TG.\
+| ... | TG traffic profile contain L7 flows (${cps} bi-directional UDP flows)\
+| ... | with all packets containing Ethernet header, IPv4 header with UDP\
+| ... | header and static payload.\
+| ... | MAC addresses are matching MAC addresses of the TG node interfaces.
+| ... | *[Ref] Applicable standard specifications:* RFC2544.
+
+*** Variables ***
+| ${nic_name}= | Intel-X710
+| ${nic_pfs}= | 2
+| ${osi_layer}= | L7
+| ${overhead}= | ${0}
+# Scale settings
+| ${n_hosts}= | ${262144}
+| ${n_ports}= | ${63}
+| ${transaction_scale}= | ${${n_hosts} * ${n_ports}}
+# Traffic profile
+| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h
+| ${transaction_type}= | udp_cps
+| ${disable_latency}= | ${True}
+
+*** Keywords ***
+| Local Template
+| | [Documentation]
+| | ... | [Cfg] TG runs L1 cross connect config.
+| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\
+| |
+| | ... | *Arguments:*
+| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| |
+| | [Arguments] | ${frame_size}
+| |
+| | Set Test Variable | \${frame_size}
+
+| | Given Set Max Rate And Jumbo
+| | Then Find NDR and PDR intervals using optimized search
+
+*** Test Cases ***
+| 64B--ethip4udp-ip4base-h262144-p63-s16515072-cps-tg-ndrpdr
+| | [Tags] | 64B
+| | frame_size=${64}
diff --git a/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-pps-tg-ndrpdr.robot b/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-pps-tg-ndrpdr.robot
new file mode 100644
index 0000000000..e9485efd4c
--- /dev/null
+++ b/tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-pps-tg-ndrpdr.robot
@@ -0,0 +1,80 @@
+# Copyright (c) 2021 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/shared/default.robot
+|
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
+| ... | NIC_Intel-X710 |TREX | ETH | IP4FWD | IP4BASE | N2N | UDP | UDP_PPS
+| ... | TG_DRV_IGB_UIO | SCALE | HOSTS_262144
+| ... | ethip4udp-ip4base-h262144-p63-s16515072-pps-tg
+|
+| Suite Setup | Setup suite topology interfaces with no DUT | performance_tg_nic
+| Suite Teardown | Tear down suite | performance
+| Test Teardown | Tear down test raw | performance
+|
+| Test Template | Local Template
+|
+| Documentation | *PPS on lightweight UDP transactions with L1 cross connect*
+|
+| ... | *[Top] Network Topologies:* TG-TG 1-node circular topology\
+| ... | with single links between nodes.
+| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L1 cross connect patch.
+| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\
+| ... | Rate) with zero packet loss tolerance and 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 MLRsearch library.\
+| ... | Test packets are generated by TG on links to TG.\
+| ... | TG traffic profile contains client and server ASTF programs,\
+| ... | generating packets containing Ethernet header, IPv4 header,\
+| ... | TCP header and static payload.\
+| ... | MAC addresses are matching MAC addresses of the TG node interfaces.
+| ... | *[Ref] Applicable standard specifications:* RFC2544.
+
+*** Variables ***
+| ${nic_name}= | Intel-X710
+| ${nic_pfs}= | 2
+| ${osi_layer}= | L7
+| ${overhead}= | ${0}
+# Scale settings
+| ${n_hosts}= | ${262144}
+| ${n_ports}= | ${63}
+| ${transaction_scale}= | ${${n_hosts} * ${n_ports}}
+| ${packets_per_transaction_and_direction}= | ${33}
+# Traffic profile:
+| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h-pps
+| ${transaction_type}= | udp_pps
+| ${disable_latency}= | ${True}
+
+*** Keywords ***
+| Local Template
+| | [Documentation]
+| | ... | [Cfg] TG runs L1 cross connect config.
+| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\
+| |
+| | ... | *Arguments:*
+| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| |
+| | [Arguments] | ${frame_size}
+| |
+| | Set Test Variable | \${frame_size}
+| |
+| | Given Set Max Rate And Jumbo
+| | Then Find NDR and PDR intervals using optimized search
+
+*** Test Cases ***
+| 64B--ethip4udp-ip4base-h262144-p63-s16515072-pps-tg-ndrpdr
+| | [Tags] | 64B
+| | frame_size=${64}
diff --git a/tests/trex/perf/ip6/1n1l-10ge2p1x710-ethip6-ip6base-tg-ndrpdr.robot b/tests/trex/perf/ip6/1n1l-10ge2p1x710-ethip6-ip6base-tg-ndrpdr.robot
new file mode 100755
index 0000000000..f2eaa7f4bb
--- /dev/null
+++ b/tests/trex/perf/ip6/1n1l-10ge2p1x710-ethip6-ip6base-tg-ndrpdr.robot
@@ -0,0 +1,86 @@
+# Copyright (c) 2021 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/shared/default.robot
+|
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
+| ... | NIC_Intel-X710 | TREX | ETH | IP6BASE | N2N | BASE | IP6BASE
+| ... | TG_DRV_IGB_UIO
+| ... | ethip6-ip6base-tg
+|
+| Suite Setup | Setup suite topology interfaces with no DUT | performance_tg_nic
+| Suite Teardown | Tear down suite | performance
+| Test Teardown | Tear down test raw | performance
+|
+| Test Template | Local Template
+|
+| Documentation | *RFC2544: Pkt throughput for cross connected NICs with IPv6
+| ... | traffic profile.
+|
+| ... | *[Top] Network Topologies:* TG-TG 1-node circular topology\
+| ... | with single link between.
+| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 for L1 cross connect patch.
+| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\
+| ... | Rate) with zero packet loss tolerance and 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 MLRsearch library.\
+| ... | Test packets are generated by TG on links to TG.\
+| ... | TG traffic profile contains two L3 flow-groups (flow-group per\
+| ... | direction, 1M flows per flow-group) with all packets containing\
+| ... | Ethernet header, IPv6 header with static payload.\
+| ... | MAC addresses are matching MAC addresses of the TG node interfaces.
+| ... | *[Ref] Applicable standard specifications:* RFC2544.
+
+*** Variables ***
+| ${nic_name}= | Intel-X710
+| ${nic_pfs}= | 2
+| ${osi_layer}= | L3
+| ${overhead}= | ${0}
+# Traffic profile:
+| ${traffic_profile}= | trex-stl-2n-ethip6-ip6src253
+
+*** Keywords ***
+| Local Template
+| | [Documentation]
+| | ... | [Cfg] TG runs L1 cross connect config.
+| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\
+| |
+| | ... | *Arguments:*
+| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| |
+| | [Arguments] | ${frame_size}
+| |
+| | Set Test Variable | \${frame_size}
+| |
+| | Given Set Max Rate And Jumbo
+| | Then Find NDR and PDR intervals using optimized search
+
+*** Test Cases ***
+| 64B--ethip6-ip6base-tg-ndrpdr
+| | [Tags] | 64B
+| | frame_size=${64}
+
+| 1518B--ethip6-ip6base-tg-ndrpdr
+| | [Tags] | 1518B
+| | frame_size=${1518}
+
+| 9000B--ethip6-ip6base-tg-ndrpdr
+| | [Tags] | 9000B
+| | frame_size=${9000}
+
+| IMIX--ethip6-ip6base-tg-ndrpdr
+| | [Tags] | IMIX
+| | frame_size=IMIX_v4_1
diff --git a/tests/trex/perf/ip6/1n1l-10ge2p1x710-ethip6-ip6scale2m-tg-ndrpdr.robot b/tests/trex/perf/ip6/1n1l-10ge2p1x710-ethip6-ip6scale2m-tg-ndrpdr.robot
new file mode 100755
index 0000000000..d5bb9eea9f
--- /dev/null
+++ b/tests/trex/perf/ip6/1n1l-10ge2p1x710-ethip6-ip6scale2m-tg-ndrpdr.robot
@@ -0,0 +1,87 @@
+# Copyright (c) 2021 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/shared/default.robot
+|
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
+| ... | NIC_Intel-X710 | TREX | ETH | IP6SCALE2M | N2N | BASE | IP6BASE
+| ... | TG_DRV_IGB_UIO
+| ... | ethip6-ip6scale2m-tg
+|
+| Suite Setup | Setup suite topology interfaces with no DUT | performance_tg_nic
+| Suite Teardown | Tear down suite | performance
+| Test Teardown | Tear down test raw | performance
+|
+| Test Template | Local Template
+|
+| Documentation | *RFC2544: Pkt throughput for cross connected NICs with IPv6
+| ... | traffic profile.
+|
+| ... | *[Top] Network Topologies:* TG-TG 1-node circular topology
+| ... | with single link between.
+| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 for L1 cross connect patch.
+| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\
+| ... | Rate) with zero packet loss tolerance and 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 MLRsearch library.\
+| ... | Test packets are generated by TG on links to TG.\
+| ... | TG traffic profile contains two L3 flow-groups (flow-group per\
+| ... | direction, 254 flows per flow-group) with all packets containing\
+| ... | Ethernet header, IPv6 header with static payload.\
+| ... | MAC addresses are matching MAC addresses of the TG node interfaces.
+| ... | *[Ref] Applicable standard specifications:* RFC2544.
+
+*** Variables ***
+| ${nic_name}= | Intel-X710
+| ${nic_pfs}= | 2
+| ${osi_layer}= | L3
+| ${overhead}= | ${0}
+| ${rts_per_flow}= | ${1000000}
+# Traffic profile:
+| ${traffic_profile}= | trex-stl-ethip6-ip6dst${rts_per_flow}
+
+*** Keywords ***
+| Local Template
+| | [Documentation]
+| | ... | [Cfg] TG runs L1 cross connect config.
+| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\
+| |
+| | ... | *Arguments:*
+| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| |
+| | [Arguments] | ${frame_size}
+| |
+| | Set Test Variable | \${frame_size}
+| |
+| | Given Set Max Rate And Jumbo
+| | Then Find NDR and PDR intervals using optimized search
+
+*** Test Cases ***
+| 64B--ethip6-ip6scale2m-tg-ndrpdr
+| | [Tags] | 64B
+| | frame_size=${64}
+
+| 1518B--ethip6-ip6scale2m-tg-ndrpdr
+| | [Tags] | 1518B
+| | frame_size=${1518}
+
+| 9000B--ethip6-ip6scale2m-tg-ndrpdr
+| | [Tags] | 9000B
+| | frame_size=${9000}
+
+| IMIX--ethip6-ip6scale2m-tg-ndrpdr
+| | [Tags] | IMIX
+| | frame_size=IMIX_v4_1
diff --git a/tests/trex/perf/ip6/regenerate_testcases.py b/tests/trex/perf/ip6/regenerate_testcases.py
new file mode 100755
index 0000000000..87521e662d
--- /dev/null
+++ b/tests/trex/perf/ip6/regenerate_testcases.py
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+
+# Copyright (c) 2021 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.
+
+from resources.libraries.python.autogen.Regenerator import Regenerator
+
+Regenerator().regenerate_glob(u"*.robot")
diff --git a/tests/trex/perf/l2/1n1l-10ge2p1x710-eth-l2bdscale1mmaclrn-tg-ndrpdr.robot b/tests/trex/perf/l2/1n1l-10ge2p1x710-eth-l2bdscale1mmaclrn-tg-ndrpdr.robot
new file mode 100644
index 0000000000..0c524d06bc
--- /dev/null
+++ b/tests/trex/perf/l2/1n1l-10ge2p1x710-eth-l2bdscale1mmaclrn-tg-ndrpdr.robot
@@ -0,0 +1,90 @@
+# Copyright (c) 2021 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/shared/default.robot
+|
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
+| ... | NIC_Intel-X710 | TREX | ETH | L2BDMACLRN | N2N | SCALE | L2BDSCALE
+| ... | FIB_1M | TG_DRV_IGB_UIO
+| ... | eth-l2bdscale1mmaclrn-tg
+|
+| Suite Setup | Setup suite topology interfaces with no DUT | performance_tg_nic
+| Suite Teardown | Tear down suite | performance
+| Test Teardown | Tear down test raw | performance
+|
+| Test Template | Local Template
+|
+| Documentation | *RFC2544: Pkt throughput for cross connected NICs with IPv4
+| ... | traffic profile.
+|
+| ... | *[Top] Network Topologies:* TG-TG 1-node circular topology\
+| ... | with single link between.
+| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L1 cross connect patch.
+| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\
+| ... | Rate) with zero packet loss tolerance and 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 MLRsearch library.\
+| ... | Test packets are generated by TG on links to TG.\
+| ... | TG traffic profile contains two L3 flow-groups (flow-group per\
+| ... | direction, 500k flows per flow-group) with all packets containing\
+| ... | Ethernet header, IPv4 header with IP protocol=61 and static payload.\
+| ... | MAC addresses ranges are incremented as follows:
+| ... | port01_src ca:fe:00:00:00:00 - port01_src ca:fe:00:07:a1:1f,
+| ... | port01_dst fa:ce:00:00:00:00 - port01_dst fa:ce:00:07:a1:1f,
+| ... | port02_src fa:ce:00:00:00:00 - port02_src fa:ce:00:07:a1:1f,
+| ... | port02_dst ca:fe:00:00:00:00 - port02_dst ca:fe:00:07:a1:1f
+| ... | *[Ref] Applicable standard specifications:* RFC2544.
+
+*** Variables ***
+| ${nic_name}= | Intel-X710
+| ${nic_pfs}= | 2
+| ${osi_layer}= | L2
+| ${overhead}= | ${0}
+# Traffic profile:
+| ${traffic_profile}= | trex-stl-2n-ethip4-macsrc500kdst500k
+
+*** Keywords ***
+| Local Template
+| | [Documentation]
+| | ... | [Cfg] TG runs L1 cross connect config.
+| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\
+| |
+| | ... | *Arguments:*
+| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| |
+| | [Arguments] | ${frame_size}
+| |
+| | Set Test Variable | \${frame_size}
+| |
+| | Given Set Max Rate And Jumbo
+| | Then Find NDR and PDR intervals using optimized search
+
+*** Test Cases ***
+| 64B--eth-l2bdscale1mmaclrn-tg-ndrpdr
+| | [Tags] | 64B
+| | frame_size=${64}
+
+| 1518B--eth-l2bdscale1mmaclrn-tg-ndrpdr
+| | [Tags] | 1518B
+| | frame_size=${1518}
+
+| 9000B--eth-l2bdscale1mmaclrn-tg-ndrpdr
+| | [Tags] | 9000B
+| | frame_size=${9000}
+
+| IMIX--eth-l2bdscale1mmaclrn-tg-ndrpdr
+| | [Tags] | IMIX
+| | frame_size=IMIX_v4_1
diff --git a/tests/trex/perf/l2/regenerate_testcases.py b/tests/trex/perf/l2/regenerate_testcases.py
new file mode 100755
index 0000000000..87521e662d
--- /dev/null
+++ b/tests/trex/perf/l2/regenerate_testcases.py
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+
+# Copyright (c) 2021 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.
+
+from resources.libraries.python.autogen.Regenerator import Regenerator
+
+Regenerator().regenerate_glob(u"*.robot")