feat(ipsec): Use strings instead of enums in Robot
[csit.git] / tests / vpp / perf / crypto / 2n1l-10ge2p1x710-ethip4ipsec2tnlswasync-scheduler-ip4base-int-aes128cbc-hmac512sha-udir-ndrpdr.robot
index 831ae7e..c3652c3 100644 (file)
@@ -1,5 +1,5 @@
-# Copyright (c) 2021 Intel and/or its affiliates.
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2024 Intel and/or its affiliates.
+# Copyright (c) 2024 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:
@@ -14,7 +14,6 @@
 
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
-| Resource | resources/libraries/robot/crypto/ipsec.robot
 |
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | UDIR | PERFTEST | HW_ENV | NDRPDR
 | ... | IP4FWD | IPSEC | IPSECSW | ASYNC | IPSECINT | NIC_Intel-X710 | SCALE
 |
 | Test Template | Local Template
 |
-| Documentation | *RFC2544: Pkt throughput IPv4 IPsec tunnel mode.*
-|
-| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology
+| Documentation | **RFC2544: Pkt throughput IPv4 IPsec tunnel mode.**
+| ... |
+| ... | - **[Top] Network Topologies:** TG-DUT1-TG 2-node circular topology \
 | ... | with single links between nodes.
-| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 on TG-DUT1,
-| ... | Eth-IPv4-IPSec on DUT1-TG
-| ... | *[Cfg] DUT configuration:* DUT1 is configured with multiple IPsec\
-| ... | tunnels between it and TG, run with IPsec async mode and use crypto
-| ... | sw scheduler engine to schedule crypto work to crypto cores. DUT gets
+| ... |
+| ... | - **[Enc] Packet Encapsulations:** Eth-IPv4 on TG-DUT1, \
+| ... | Eth-IPv4-IPSec on DUT1-TG.
+| ... |
+| ... | - **[Cfg] DUT configuration:** DUT1 is configured with multiple IPsec \
+| ... | tunnels between it and TG, run with IPsec async mode and use crypto \
+| ... | sw scheduler engine to schedule crypto work to crypto cores. DUT gets \
 | ... | IPv4 traffic from TG, encrypts it and sends back to TG.
-| ... | *[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 DUTs.
-| ... | TG traffic profile contains one L3 flow-groups (number of flows
-| ... | per flow-group equals to number of IPSec tunnels) with all packets
-| ... | containing Ethernet header, IPv4 header with IP protocol=61 and
-| ... | static payload. MAC addresses are matching MAC addresses of the TG
-| ... | node interfaces. Incrementing of IP.dst (IPv4 destination address) field
-| ... | is applied to the stream.
-| ... | *[Ref] Applicable standard specifications:* RFC4303 and RFC2544.
+| ... |
+| ... | - **[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 DUTs. \
+| ... | TG traffic profile contains one L3 flow-groups (number of flows \
+| ... | per flow-group equals to number of IPSec tunnels) with all packets \
+| ... | containing Ethernet header, IPv4 header with IP protocol=61 and \
+| ... | static payload. MAC addresses are matching MAC addresses of the TG \
+| ... | node interfaces. Incrementing of IP.dst (IPv4 destination address) \
+| ... | field is applied to the stream.
+| ... |
+| ... | - **[Ref] Applicable standard specifications:** RFC4303 and RFC2544.
 
 *** Variables ***
 | @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so
@@ -59,6 +63,8 @@
 | ... | crypto_ipsecmb_plugin.so | crypto_sw_scheduler_plugin.so
 | ... | crypto_openssl_plugin.so
 | ${crypto_type}= | ${None}
+| ${encr_alg}= | AES CBC 128
+| ${auth_alg}= | SHA 512 256
 | ${nic_name}= | Intel-X710
 | ${nic_driver}= | vfio-pci
 | ${nic_rxq_size}= | 0
 | ${laddr_ip4}= | 10.0.0.0
 | ${addr_range}= | ${24}
 | ${n_tunnels}= | ${2}
-| ${dp_cores}= | ${1}
+| ${dp_cores_count}= | ${1}
 # Traffic profile:
-| ${traffic_profile}= | trex-stl-2n-ethip4-ip4dst${n_tunnels}-udir
+| ${traffic_profile}= | trex-stl-ethip4-ip4dst${n_tunnels}-udir
 | ${traffic_directions}= | ${1}
 
 *** Keywords ***
 | Local Template
 | | [Documentation]
-| | ... | [Cfg] DUT runs IPSec tunneling AES_128_CBC / HMAC_SHA_512 config.\
-| | ... | Each DUT uses one physical core for data plane workers
+| | ... | - **[Cfg]** DUT runs IPSec tunneling AES_128_CBC / HMAC_SHA_512 \
+| | ... | Each DUT uses one physical core for data plane workers \
 | | ... | and rest of ${phy_cores} physical core(s) for crypto workers.
-| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\
+| | ... | - **[Ver]** Measure NDR and PDR values using MLRsearch algorithm.
 | |
 | | ... | *Arguments:*
 | | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1).
 | | ... | - phy_cores - Total number of physical cores. Type: integer
 | | ... | - rxq - Number of RX queues, default value: ${1}. Type: integer
 | |
-| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${1}
+| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None}
 | |
 | | Set Test Variable | \${frame_size}
 | |
-| | # These are enums (not strings) so they cannot be in Variables table.
-| | ${encr_alg}= | Crypto Alg AES CBC 128
-| | ${auth_alg}= | Integ Alg SHA 512 256
-| |
 | | Given Set Max Rate And Jumbo
 | | And Add worker threads to all DUTs | ${phy_cores} | ${rxq}
 | | And Pre-initialize layer driver | ${nic_driver}
 | | When Initialize layer driver | ${nic_driver}
 | | And Initialize layer interface
 | | And Enable IPSec Async Mode on all VPP DUTs
-| | And Disable Crypto Work of VPP Worker Threads on all VPP DUTs | ${dp_cores}
+| | And Set Data Plane And Feature Plane Workers for IPsec on all VPP DUTs
 | | And Initialize IPSec in 2-node circular topology
 | | And VPP IPsec Create Tunnel Interfaces
 | | ... | ${nodes} | ${tun_if1_ip4} | ${tun_if2_ip4} | ${DUT1_${int}2}[0]