diff options
author | Viliam Luc <vluc@cisco.com> | 2021-08-26 11:25:39 +0200 |
---|---|---|
committer | Viliam Luc <vluc@cisco.com> | 2021-09-14 16:36:17 +0200 |
commit | a8e9042828ce76a497941249a7e4d740933a56f9 (patch) | |
tree | 7c7165620c388b8e1944ec497f0df315fee5be10 | |
parent | a0364d85d9f9b28917168a0dde9c67ca5af4a6f8 (diff) |
back-to-back: add tg n2n suites
Change-Id: I911e121475221fbf5449ed49dc6236caf13742b0
Signed-off-by: Viliam Luc <vluc@cisco.com>
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") |