X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=tests%2Fvpp%2Fperf%2Fcrypto%2F10ge2p1x710-ethip4ipsec1tnlswasync-scheduler-ip4base-int-aes128cbc-hmac512sha-ndrpdr.robot;h=fad135d8d348d66d0c98f211ab6955a33623ed7d;hp=f856b7d9c0cf8ee6e0528f10c831d8612823cf12;hb=HEAD;hpb=8c609a6fc0eaf3c8d5b424ed314158251f06479f diff --git a/tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1tnlswasync-scheduler-ip4base-int-aes128cbc-hmac512sha-ndrpdr.robot b/tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1tnlswasync-scheduler-ip4base-int-aes128cbc-hmac512sha-ndrpdr.robot index f856b7d9c0..be49518121 100644 --- a/tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1tnlswasync-scheduler-ip4base-int-aes128cbc-hmac512sha-ndrpdr.robot +++ b/tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1tnlswasync-scheduler-ip4base-int-aes128cbc-hmac512sha-ndrpdr.robot @@ -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 | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR | TNL_1 | ... | IP4FWD | IPSEC | IPSECSW | ASYNC | IPSECINT | NIC_Intel-X710 | BASE @@ -29,31 +28,36 @@ | | Test Template | Local Template | -| Documentation | *RFC2544: Pkt throughput IPv4 IPsec tunnel mode.* -| -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 on TG-DUTn, -| ... | Eth-IPv4-IPSec on DUT1-DUT2 -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with multiple -| ... | IPsec tunnels between them, run with IPsec async mode and use crypto -| ... | sw scheduler engine to schedule crypto work to crypto cores. DUTs get -| ... | IPv4 traffic from TG, encrypt it and send to another DUT, where packets -| ... | are decrypted and sent 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 two L3 flow-groups -| ... | (flow-group per direction, 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 +| Documentation | **RFC2544: Pkt throughput IPv4 IPsec tunnel mode.** +| ... | +| ... | - **[Top] Network Topologies:** TG-DUT1-DUT2-TG 3-node circular \ +| ... | topology with single links between nodes. +| ... | +| ... | - **[Enc] Packet Encapsulations:** Eth-IPv4 on TG-DUTn, \ +| ... | Eth-IPv4-IPSec on DUT1-DUT2. +| ... | +| ... | - **[Cfg] DUT configuration:** DUT1 and DUT2 are configured with \ +| ... | multiple IPsec tunnels between them, run with IPsec async mode and \ +| ... | use crypto sw scheduler engine to schedule crypto work to crypto \ +| ... | cores. DUTs get IPv4 traffic from TG, encrypt it and send to another \ +| ... | DUT, where packets are decrypted and sent 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 two L3 flow-groups \ +| ... | (flow-group per direction, 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) \ | ... | is applied to both streams. -| ... | *[Ref] Applicable standard specifications:* RFC4303 and RFC2544. +| ... | +| ... | - **[Ref] Applicable standard specifications:** RFC4303 and RFC2544. *** Variables *** | @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so @@ -61,6 +65,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 @@ -69,27 +75,27 @@ | ${nic_vfs}= | 0 | ${osi_layer}= | L3 | ${overhead}= | ${78} -| ${tg_if1_ip4}= | 192.168.10.2 -| ${dut1_if1_ip4}= | 192.168.10.1 +| ${tg_if1_ip4}= | 192.168.10.254 +| ${dut1_if1_ip4}= | 192.168.10.11 | ${dut1_if2_ip4}= | 100.0.0.1 -| ${dut2_if1_ip4}= | 200.0.0.2 -| ${dut2_if2_ip4}= | 192.168.20.1 -| ${tg_if2_ip4}= | 192.168.20.2 +| ${dut2_if1_ip4}= | 200.0.0.102 +| ${dut2_if2_ip4}= | 192.168.20.11 +| ${tg_if2_ip4}= | 192.168.20.254 | ${raddr_ip4}= | 20.0.0.0 | ${laddr_ip4}= | 10.0.0.0 | ${addr_range}= | ${24} | ${n_tunnels}= | ${1} -| ${dp_cores}= | ${1} +| ${dp_cores_count}= | ${1} # Traffic profile: -| ${traffic_profile}= | trex-stl-3n-ethip4-ip4dst${n_tunnels} +| ${traffic_profile}= | trex-stl-ethip4-ip4dst${n_tunnels} *** 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). @@ -97,14 +103,10 @@ | | ... | - 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} @@ -112,7 +114,7 @@ | | 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 3-node circular topology | | And VPP IPsec Create Tunnel Interfaces | | ... | ${nodes} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${DUT1_${int}2}[0]