back-to-back: add tg n2n suites 04/33604/14
authorViliam Luc <vluc@cisco.com>
Thu, 26 Aug 2021 09:25:39 +0000 (11:25 +0200)
committerViliam Luc <vluc@cisco.com>
Tue, 14 Sep 2021 14:36:17 +0000 (16:36 +0200)
Change-Id: I911e121475221fbf5449ed49dc6236caf13742b0
Signed-off-by: Viliam Luc <vluc@cisco.com>
16 files changed:
resources/libraries/python/autogen/Regenerator.py
tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4-ip4base-tg-ndrpdr.robot
tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4-ip4scale2m-tg-ndrpdr.robot [new file with mode: 0755]
tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-cps-tg-ndrpdr.robot [new file with mode: 0644]
tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-pps-tg-ndrpdr.robot [new file with mode: 0644]
tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-cps-tg-ndrpdr.robot [new file with mode: 0644]
tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-pps-tg-ndrpdr.robot [new file with mode: 0644]
tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-cps-tg-ndrpdr.robot [new file with mode: 0644]
tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-pps-tg-ndrpdr.robot [new file with mode: 0644]
tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-cps-tg-ndrpdr.robot [new file with mode: 0644]
tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-pps-tg-ndrpdr.robot [new file with mode: 0644]
tests/trex/perf/ip6/1n1l-10ge2p1x710-ethip6-ip6base-tg-ndrpdr.robot [new file with mode: 0755]
tests/trex/perf/ip6/1n1l-10ge2p1x710-ethip6-ip6scale2m-tg-ndrpdr.robot [new file with mode: 0755]
tests/trex/perf/ip6/regenerate_testcases.py [new file with mode: 0755]
tests/trex/perf/l2/1n1l-10ge2p1x710-eth-l2bdscale1mmaclrn-tg-ndrpdr.robot [new file with mode: 0644]
tests/trex/perf/l2/regenerate_testcases.py [new file with mode: 0755]

index 14a9fd0..0554f24 100644 (file)
@@ -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"):
index e58b6f2..c42d2a6 100755 (executable)
@@ -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 (executable)
index 0000000..444a342
--- /dev/null
@@ -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 (file)
index 0000000..580c8a5
--- /dev/null
@@ -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 (file)
index 0000000..c6235f6
--- /dev/null
@@ -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 (file)
index 0000000..d21942c
--- /dev/null
@@ -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 (file)
index 0000000..b7bcd87
--- /dev/null
@@ -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 (file)
index 0000000..c7c70bb
--- /dev/null
@@ -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 (file)
index 0000000..5446936
--- /dev/null
@@ -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 (file)
index 0000000..0d1086b
--- /dev/null
@@ -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 (file)
index 0000000..e9485ef
--- /dev/null
@@ -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 (executable)
index 0000000..f2eaa7f
--- /dev/null
@@ -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 (executable)
index 0000000..d5bb9ee
--- /dev/null
@@ -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 (executable)
index 0000000..87521e6
--- /dev/null
@@ -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 (file)
index 0000000..0c524d0
--- /dev/null
@@ -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 (executable)
index 0000000..87521e6
--- /dev/null
@@ -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")