X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=tests%2Fvpp%2Fperf%2Fcrypto%2F40ge2p1xl710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdrdisc.robot;fp=tests%2Fvpp%2Fperf%2Fcrypto%2F40ge2p1xl710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdrdisc.robot;h=5a2f10c014376f2adab37548e7cfc937143a0edd;hp=934f260c7455f7474a77010f65e128897710d9b9;hb=0ba508f0eac819c1985e825857f584b3d1537ffe;hpb=2291eaac7509aadf30be407a6eb84cfa3d3a33d0 diff --git a/tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdrdisc.robot b/tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdrdisc.robot index 934f260c74..5a2f10c014 100644 --- a/tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdrdisc.robot +++ b/tests/vpp/perf/crypto/40ge2p1xl710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdrdisc.robot @@ -19,6 +19,7 @@ | ... | IP4FWD | IPSEC | IPSECHW | IPSECTUN | NIC_Intel-XL710 | BASE | ... | Suite Setup | Set up IPSec performance test suite | L3 | Intel-XL710 +| ... | HW_cryptodev | ... | Suite Teardown | Tear down 3-node performance topology | ... @@ -54,7 +55,7 @@ *** Variables *** # XL710-DA2 bandwidth limit ~49Gbps/2=24.5Gbps -| ${s_24.5G} | ${24500000000} +| ${s_limit} | ${24500000000} # XL710-DA2 Mpps limit 37.5Mpps/2=18.75Mpps | ${s_18.75Mpps} | ${18750000} | ${tg_if1_ip4}= | 192.168.10.2 @@ -71,40 +72,56 @@ # Traffic profile: | ${traffic_profile} | trex-sl-3n-ethip4-ip4dst${n_tunnels} -*** Test Cases *** -| tc01-64B-1t1c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrdisc -| | [Documentation] -| | ... | [Cfg] DUTs run 1 IPsec tunnel AES GCM in each direction, configured\ -| | ... | with 1 thread, 1 phy core, 1 receive queue per NIC port. -| | ... | [Ver] Find NDR for 64 Byte frames\ -| | ... | using binary search start at 40GE linerate, step 100kpps. -| | ... -| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC -| | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} +*** Keywords *** +| Discover NDR or PDR for IPv4 routing with IPSec HW cryptodev +| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type} +| | Set Test Variable | ${framesize} +| | Set Test Variable | ${min_rate} +| | ${get_framesize}= | Get Frame Size | ${framesize} +| | ${max_rate}= | Calculate pps | ${s_limit} +| | ... | ${get_framesize} + ${ipsec_overhead_gcm} +| | ${max_rate}= | Set Variable If +| | ... | ${max_rate} > ${s_18.75Mpps} | ${s_18.75Mpps} | ${max_rate} | | ${binary_min}= | Set Variable | ${min_rate} | | ${binary_max}= | Set Variable | ${max_rate} | | ${threshold}= | Set Variable | ${min_rate} | | ${encr_alg}= | Crypto Alg AES GCM 128 | | ${auth_alg}= | Integ Alg AES GCM 128 -| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology -| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} +| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology | | And Add PCI devices to DUTs in 3-node single link topology | | And Add no multi seg to all DUTs -| | And Add cryptodev to all DUTs | ${1} +| | And Add cryptodev to all DUTs | ${${wt}} | | And Add DPDK dev default RXD to all DUTs | 2048 | | And Add DPDK dev default TXD to all DUTs | 2048 | | And Apply startup configuration on all VPP DUTs +| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} | | And Initialize IPSec in 3-node circular topology | | And VPP IPsec Create Tunnel Interfaces | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2} | | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${encr_key} | ${auth_alg} | | ... | ${auth_key} | ${laddr_ip4} | ${raddr_ip4} | ${addr_range} -| | Then Find NDR using binary search and pps | ${framesize} -| | ... | ${binary_min} | ${binary_max} | ${traffic_profile} +| | Then Run Keyword If | '${search_type}' == 'NDR' +| | ... | Find NDR using binary search and pps +| | ... | ${framesize} | ${binary_min} | ${binary_max} | ${traffic_profile} +| | ... | ${min_rate} | ${max_rate} | ${threshold} +| | ... | ELSE IF | '${search_type}' == 'PDR' +| | ... | Find PDR using binary search and pps +| | ... | ${framesize} | ${binary_min} | ${binary_max} | ${traffic_profile} | | ... | ${min_rate} | ${max_rate} | ${threshold} +| | ... | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type} + +*** Test Cases *** +| tc01-64B-1t1c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrdisc +| | [Documentation] +| | ... | [Cfg] DUTs run 1 IPsec tunnel AES GCM in each direction, configured\ +| | ... | with 1 thread, 1 phy core, 1 receive queue per NIC port. +| | ... | [Ver] Find NDR for 64 Byte frames\ +| | ... | using binary search start at 40GE linerate, step 100kpps. +| | ... +| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC +| | ... +| | [Template] | Discover NDR or PDR for IPv4 routing with IPSec HW cryptodev +| | wt=1 | rxq=1 | framesize=${64} | min_rate=${100000} | search_type=NDR | tc02-64B-1t1c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-pdrdisc | | [Documentation] @@ -115,31 +132,8 @@ | | ... | | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH | | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | ${encr_alg}= | Crypto Alg AES GCM 128 -| | ${auth_alg}= | Integ Alg AES GCM 128 -| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology -| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} -| | And Add PCI devices to DUTs in 3-node single link topology -| | And Add no multi seg to all DUTs -| | And Add cryptodev to all DUTs | ${1} -| | And Add DPDK dev default RXD to all DUTs | 2048 -| | And Add DPDK dev default TXD to all DUTs | 2048 -| | And Apply startup configuration on all VPP DUTs -| | And Initialize IPSec in 3-node circular topology -| | And VPP IPsec Create Tunnel Interfaces -| | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2} -| | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${encr_key} | ${auth_alg} -| | ... | ${auth_key} | ${laddr_ip4} | ${raddr_ip4} | ${addr_range} -| | Then Find PDR using binary search and pps | ${framesize} -| | ... | ${binary_min} | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} +| | [Template] | Discover NDR or PDR for IPv4 routing with IPSec HW cryptodev +| | wt=1 | rxq=1 | framesize=${64} | min_rate=${100000} | search_type=PDR | tc03-1518B-1t1c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrdisc | | [Documentation] @@ -150,30 +144,8 @@ | | ... | | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC | | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} -| | ... | ${framesize + ${ipsec_overhead_gcm}} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | ${encr_alg}= | Crypto Alg AES GCM 128 -| | ${auth_alg}= | Integ Alg AES GCM 128 -| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology -| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} -| | And Add PCI devices to DUTs in 3-node single link topology -| | And Add cryptodev to all DUTs | ${1} -| | And Add DPDK dev default RXD to all DUTs | 2048 -| | And Add DPDK dev default TXD to all DUTs | 2048 -| | And Apply startup configuration on all VPP DUTs -| | And Initialize IPSec in 3-node circular topology -| | And VPP IPsec Create Tunnel Interfaces -| | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2} -| | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${encr_key} | ${auth_alg} -| | ... | ${auth_key} | ${laddr_ip4} | ${raddr_ip4} | ${addr_range} -| | Then Find NDR using binary search and pps | ${framesize} -| | ... | ${binary_min} | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} +| | [Template] | Discover NDR or PDR for IPv4 routing with IPSec HW cryptodev +| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${100000} | search_type=NDR | tc04-1518B-1t1c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-pdrdisc | | [Documentation] @@ -184,31 +156,8 @@ | | ... | | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH | | ... -| | ${framesize}= | Set Variable | ${1518} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} -| | ... | ${framesize + ${ipsec_overhead_gcm}} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | ${encr_alg}= | Crypto Alg AES GCM 128 -| | ${auth_alg}= | Integ Alg AES GCM 128 -| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology -| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} -| | And Add PCI devices to DUTs in 3-node single link topology -| | And Add cryptodev to all DUTs | ${1} -| | And Add DPDK dev default RXD to all DUTs | 2048 -| | And Add DPDK dev default TXD to all DUTs | 2048 -| | And Apply startup configuration on all VPP DUTs -| | And Initialize IPSec in 3-node circular topology -| | And VPP IPsec Create Tunnel Interfaces -| | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2} -| | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${encr_key} | ${auth_alg} -| | ... | ${auth_key} | ${laddr_ip4} | ${raddr_ip4} | ${addr_range} -| | Then Find PDR using binary search and pps | ${framesize} -| | ... | ${binary_min} | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} +| | [Template] | Discover NDR or PDR for IPv4 routing with IPSec HW cryptodev +| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${100000} | search_type=PDR | tc05-IMIX-1t1c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrdisc | | [Documentation] @@ -220,31 +169,8 @@ | | ... | | [Tags] | IMIX | 1T1C | STHREAD | NDRDISC | | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${imix_size}= | Get Frame Size | ${framesize} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} -| | ... | ${imix_size} + ${ipsec_overhead_gcm} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | ${encr_alg}= | Crypto Alg AES GCM 128 -| | ${auth_alg}= | Integ Alg AES GCM 128 -| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology -| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} -| | And Add PCI devices to DUTs in 3-node single link topology -| | And Add cryptodev to all DUTs | ${1} -| | And Add DPDK dev default RXD to all DUTs | 2048 -| | And Add DPDK dev default TXD to all DUTs | 2048 -| | And Apply startup configuration on all VPP DUTs -| | And Initialize IPSec in 3-node circular topology -| | And VPP IPsec Create Tunnel Interfaces -| | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2} -| | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${encr_key} | ${auth_alg} -| | ... | ${auth_key} | ${laddr_ip4} | ${raddr_ip4} | ${addr_range} -| | Then Find NDR using binary search and pps | ${framesize} -| | ... | ${binary_min} | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} +| | [Template] | Discover NDR or PDR for IPv4 routing with IPSec HW cryptodev +| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${100000} | search_type=NDR | tc06-IMIX-1t1c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-pdrdisc | | [Documentation] @@ -256,32 +182,8 @@ | | ... | | [Tags] | IMIX | 1T1C | STHREAD | PDRDISC | SKIP_PATCH | | ... -| | ${framesize}= | Set Variable | IMIX_v4_1 -| | ${imix_size}= | Get Frame Size | ${framesize} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Calculate pps | ${s_24.5G} -| | ... | ${imix_size} + ${ipsec_overhead_gcm} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | ${encr_alg}= | Crypto Alg AES GCM 128 -| | ${auth_alg}= | Integ Alg AES GCM 128 -| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology -| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} -| | And Add PCI devices to DUTs in 3-node single link topology -| | And Add cryptodev to all DUTs | ${1} -| | And Add DPDK dev default RXD to all DUTs | 2048 -| | And Add DPDK dev default TXD to all DUTs | 2048 -| | And Apply startup configuration on all VPP DUTs -| | And Initialize IPSec in 3-node circular topology -| | And VPP IPsec Create Tunnel Interfaces -| | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2} -| | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${encr_key} | ${auth_alg} -| | ... | ${auth_key} | ${laddr_ip4} | ${raddr_ip4} | ${addr_range} -| | Then Find PDR using binary search and pps | ${framesize} -| | ... | ${binary_min} | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} +| | [Template] | Discover NDR or PDR for IPv4 routing with IPSec HW cryptodev +| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${100000} | search_type=PDR | tc07-64B-2t2c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrdisc | | [Documentation] @@ -292,30 +194,8 @@ | | ... | | [Tags] | 64B | 2T2C | MTHREAD | NDRDISC | | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | ${encr_alg}= | Crypto Alg AES GCM 128 -| | ${auth_alg}= | Integ Alg AES GCM 128 -| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology -| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} -| | And Add PCI devices to DUTs in 3-node single link topology -| | And Add no multi seg to all DUTs -| | And Add cryptodev to all DUTs | ${2} -| | And Add DPDK dev default RXD to all DUTs | 2048 -| | And Add DPDK dev default TXD to all DUTs | 2048 -| | And Apply startup configuration on all VPP DUTs -| | And Initialize IPSec in 3-node circular topology -| | And VPP IPsec Create Tunnel Interfaces -| | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2} -| | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${encr_key} | ${auth_alg} -| | ... | ${auth_key} | ${laddr_ip4} | ${raddr_ip4} | ${addr_range} -| | Then Find NDR using binary search and pps | ${framesize} -| | ... | ${binary_min} | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} +| | [Template] | Discover NDR or PDR for IPv4 routing with IPSec HW cryptodev +| | wt=2 | rxq=1 | framesize=${64} | min_rate=${100000} | search_type=NDR | tc08-64B-2t2c-ethip4ipsecbasetnl-ip4base-int-aes-gcm-pdrdisc | | [Documentation] @@ -326,28 +206,5 @@ | | ... | | [Tags] | 64B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH | | ... -| | ${framesize}= | Set Variable | ${64} -| | ${min_rate}= | Set Variable | ${10000} -| | ${max_rate}= | Set Variable | ${s_18.75Mpps} -| | ${binary_min}= | Set Variable | ${min_rate} -| | ${binary_max}= | Set Variable | ${max_rate} -| | ${threshold}= | Set Variable | ${min_rate} -| | ${encr_alg}= | Crypto Alg AES GCM 128 -| | ${auth_alg}= | Integ Alg AES GCM 128 -| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology -| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} -| | And Add PCI devices to DUTs in 3-node single link topology -| | And Add no multi seg to all DUTs -| | And Add cryptodev to all DUTs | ${2} -| | And Add DPDK dev default RXD to all DUTs | 2048 -| | And Add DPDK dev default TXD to all DUTs | 2048 -| | And Apply startup configuration on all VPP DUTs -| | And Initialize IPSec in 3-node circular topology -| | And VPP IPsec Create Tunnel Interfaces -| | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2} -| | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${encr_key} | ${auth_alg} -| | ... | ${auth_key} | ${laddr_ip4} | ${raddr_ip4} | ${addr_range} -| | Then Find PDR using binary search and pps | ${framesize} -| | ... | ${binary_min} | ${binary_max} | ${traffic_profile} -| | ... | ${min_rate} | ${max_rate} | ${threshold} | ${perf_pdr_loss_acceptance} -| | ... | ${perf_pdr_loss_acceptance_type} +| | [Template] | Discover NDR or PDR for IPv4 routing with IPSec HW cryptodev +| | wt=2 | rxq=1 | framesize=${64} | min_rate=${100000} | search_type=PDR