summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2017-03-1764 bit per-thread countersNeale Ranns8-201/+132
after: TenGigabitEthernet5/0/1-output active 107522 17375708 0 7.22e0 161.60 TenGigabitEthernet5/0/1-tx active 107522 17375708 0 6.93e1 161.60 ip4-input-no-checksum active 107522 17375708 0 2.52e1 161.60 ip4-lookup active 107522 17375708 0 3.10e1 161.60 ip4-rewrite active 107522 17375708 0 2.52e1 161.60 before TenGigabitEthernet5/0/1-output active 433575 110995200 0 6.95e0 256.00 TenGigabitEthernet5/0/1-tx active 433575 110995200 0 7.14e1 256.00 ip4-input-no-checksum active 433575 110995200 0 2.66e1 256.00 ip4-lookup active 433575 110995200 0 3.29e1 256.00 ip4-rewrite active 433575 110995200 0 2.59e1 256.00 Change-Id: I46405bd22189f48a39f06e3443bb7e13f410b539 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-03-17Fix IP feature ordering.Neale Ranns6-41/+12
Drop comes before lookup when enabled. is_first_or_last is not required when setting a feature, the anchor is added in find_config_with_features(). Don't make the PG interfaces automatically L3 enabled, this way we can have tests that check the L3 protocol disbaled behaviour. Change-Id: Icef22a920b27ff9cec6ab2da6b05f05c532cb60f Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-03-17MPLS performance improvments.Neale Ranns9-141/+300
1 - Quad loop lookup and label imposition. 2 - optimise imposition for the 1 label case 3 - input gets TTL from header directly (no byte swap) Change-Id: I59204c9e5d134b0df75d7afa43e360f946d1ffe7 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-03-17Attached hostsNeale Ranns8-18/+103
allow this config to function: set int ip address loop0 169.254.1.1/32 (the default GW address for attached hosts) set int unnumbered af_packet0 use loop0 ('enable' IP on the host interface) ip route add 192.168.1.1/32 via af_packet0 (where to find the host) repeat for each host and host interface. Inter-host communication is throught the /32 routes. To allow this: 1 - attached host routes have the ATTACHED flag set, so the ARP code accepts then as legitimate sources 2 - unnumbered interfaces inherit the source address from the IP interface Change-Id: Ib66c5f0e848c528f79372813adc3a0c11b50717f Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-03-17vlib: fix potential crash in dispatch_node ELOG_DATA callSteven1-2/+11
dispatch_node may be invoked from vlib main or worker threads. The call to ELOG_DATA in dispatch_node passes the parameter &vm->elog_main. It works fine when dispatch_node is invoked from the main thread. It does bad thing when it is invoked from the worker thread. While we are at it, make two additional enhancements to the same area. 1. Use ELOG_TRACK_DATA instead of ELOG_DATA to enhance g2 viewer presentation. 2. Since ELOG_DATA is in the data path, it could get very chatty. Make the call to ELOG_TRACK_DATA conditional compile. Change-Id: I80ca0eea10bc1e5d0d5549f9844dd9a34dbb65a2 Signed-off-by: Steven <sluong@cisco.com>
2017-03-17Cache a 'has-features' flag on the adjacency for faster access. Reclaim the ↵Neale Ranns12-162/+162
node_index memeber from the rewrite for space - this is only used for formtting before: ip4-rewrite * * * * 2.66e1 256.00 after: ip4-rewrite * * * * 2.40e1 256.00 Change-Id: Ic397150727cad38811564777419ad6bd26b8a3a6 Signed-off-by: Neale Ranns <nranns@wasa-ucs-11.cisco.com>
2017-03-17Use the feature anchor in the MPLS input arc - it performs much betterNeale Ranns3-7/+9
Change-Id: I3d64ddb248478accd4d9b3124f018c9aab63a60f Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-03-17Adjacency refinement; check the cover's interface against the adjacency'sNeale Ranns2-4/+97
Change-Id: I3fa2f35056b74e479288bb956f2713f727a81c72 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-03-16vlib: additional runtime_data checksDamjan Marion1-8/+14
Change-Id: I9b6ed9741fae89bdefa6f601398eb63a21155069 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-03-16ping: Fix coverity error 163907Andrew Yourtchenko2-0/+6
Return an error if the ip6_interface_first_address decides to return NULL. Change-Id: Iea0184382b8fbe2af81a781c3671687a1fbb5b32 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2017-03-16API:replaced all REPLY_MACRO's with api_helper_macros.hEyal Bari11-308/+39
Change-Id: I08ab1fd0abdd1db4aff11a38c9c0134b01368e11 Signed-off-by: Eyal Bari <ebari@cisco.com>
2017-03-16vhost: wrong value return for VHOST_USER_VRING_GET_BASESteven1-4/+11
When the VM is migrated, the driver sends VHOST_USER_VRING_GET_BASE message to the device to get the vring offset. The device is supposed to shut down the vring, and return the current vring offset. What the code did was to shutdown the vring, initialize the vring, and return 0 to the driver. The fix is to first store last_avail_idx in the message and then close the vring. Change-Id: I432e9f50f36d89fe53a45e050edcf5e1218caf7a Signed-off-by: Steven <sluong@cisco.com>
2017-03-16vlib: make runtime_data thread-localDamjan Marion14-106/+273
Change-Id: I4aa3e7e42fb81211de1aed07dc7befee87a1e18b Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-03-15Python API: Change from cPython to CFFI.Ole Troan12-338/+178
Change-Id: I03e52466fb3f909ae52b8fba601168f3eadbd972 Signed-off-by: Ole Troan <ot@cisco.com>
2017-03-15No vector allocation during buffer copyNeale Ranns2-7/+2
Change-Id: I7e8556af833ca0e00fadc96dcd2077ff1104541b Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-03-15API: define optional base_id for REPLY_MACRO'sEyal Bari2-106/+11
this enables sharing the api_helper_macros.h implementation Change-Id: Ie3fc89f3b4b5a47fcfd4b5776db90e249c55dbc3 Signed-off-by: Eyal Bari <ebari@cisco.com>
2017-03-15Fix binary-api cmd/arg split logicDave Barach1-20/+19
Change-Id: If3dbce830684b5eab8944519424074b03cc7d703 Signed-off-by: Dave Barach <dave@barachs.net>
2017-03-15VXLAN:add hidden multicast interface checkEyal Bari4-37/+29
and some refactoring Change-Id: I99e3c5e782ce65cb9779ccc3a9a3151ef1429e07 Signed-off-by: Eyal Bari <ebari@cisco.com>
2017-03-15VPP changes to support iOAM over NSH-MD2. Separate trace dataVengada8-18/+56
structure definitions into two files to share code with NSH plugin (iOAM) Change-Id: I0192551f71678e4f814bc6a7d25200a1580f3033 Signed-off-by: Vengada <venggovi@cisco.com>
2017-03-14Fix packet trace output: dpdk_rx_trace must decode the actual ethertypeDave Barach1-1/+31
As opposed to rubbish (typically) 14 octets past the ethertype. Also fix buffer error code setup in dpdk-input node single loop. Change-Id: Ide7c4097d3bb91e62749ed4e1d69a7b4b90225de Signed-off-by: Dave Barach <dbarach@cisco.com> Signed-off-by: John Lo <loj@cisco.com>
2017-03-14API:support hidden sw interfacesEyal Bari3-86/+60
validate interfaces - added check for hidden interfaces interface dump - dont send hidden interfaces set_unnumbered - test for hidden vl_api_create_vlan_subif_t_handler, vl_api_create_subif_t_handler - fixed potential memory leak some other minor refactors to make code clearer and shorter Change-Id: Icce6b724336b7d1536fbd07a74bf7abe4916d2c0 Signed-off-by: Eyal Bari <ebari@cisco.com>
2017-03-14Try again: __COVERITY__ vs __COVERITYDave Barach1-1/+1
Hate it when that happens... Change-Id: I725c8539d6349755e9d75ae05f2703c83ea704be Signed-off-by: Dave Barach <dave@barachs.net>
2017-03-14Clean up dead API client reaper callack schemeDave Barach3-9/+63
Change-Id: Iec3df234ca9f717d87787cefc76b73ed9ad42332 Signed-off-by: Dave Barach <dave@barachs.net>
2017-03-14ioam: ip6 hop by hop ext header and SR header co-existenceshwethab5-75/+87
1. Fix finding sr extension header 2. Fix for assert checks for space for sr header in packet headroom 3. ioam build warnings 4. Fix for SR header removal in presence of hbh ext header clib_memcpy with overlapping src/dst was failing Change-Id: I8576204eb571d1d4725a4e6976e18fe61cd1cd35 Signed-off-by: shwethab <shwetha.bhandari@gmail.com>
2017-03-14vlib: poll pre_input nodes only on main threadDamjan Marion1-6/+7
Change-Id: I61464fd1610a9754693f31edd72f9fa1b6926511 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-03-14IOAM Coverity fixAkshayaNadahalli8-34/+42
Coverity IDs - 163911, 163910, 163909, 163908, 163905, 163904, 163896, 161957, 161955 Change-Id: Ida822fa45c6936240f61282e2280541d7e6427b3 Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>
2017-03-13VPP-659 Improve tcp/session debugging and testingFlorin Coras15-181/+636
- event-logging support for tcp and session layer - improvements to uri test code - builtin_server on port 1234 - use the CLOSEWAIT timer when we rx FIN in FIN_WAIT_2 state Change-Id: Ibc445f164b2086b20323bf89c77cffd3059f570f Signed-off-by: Florin Coras <fcoras@cisco.com> Signed-off-by: Dave Barach <dbarach@cisco.com> Signed-off-by: Dave Barach <dave@barachs.net>
2017-03-13VPP-279: Document changes for vnet/vnet/devicesBilly McFall4-4/+93
Add doxygen documentation for DPDK crypto CLI command. The move of DPDK to a plugin invalidated the local dir.dox. So moved dpdk/dir.dox to dpdk/device/dir.dox to fix. Change-Id: I229e2921c4b0cdd380021adb520cd2089a376afa Signed-off-by: Billy McFall <bmcfall@redhat.com>
2017-03-13Add MAC address check in ethernet-input node if interface in L3 modeJohn Lo1-6/+17
Interface can be in promiscuous mode if more than one of its sub- interface is in L2 mode. In promiscuous mode, L3 interface need to verify DMAC of packet to match that of the interface and drop if not. This check was done on sub-interface only and now also added to main interface path. Fix incorrect MAC addresses in the flow-per-pkt plugin test, which caused it to fail. Fix MAC address usage in BFD tests. Change-Id: I12a17ec05c7ab298ad10d400c90d082c97eca521 Signed-off-by: John Lo <loj@cisco.com> Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-03-13ACL plugin rejects ICMP messages (VPP-624)Pavel Kotucek1-21/+19
Change-Id: I95113a277b94cce5ff332fcf9f57ec6f385acec0 Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2017-03-13Refactor SNAT ICMP codeJuraj Sloboda4-314/+558
Change-Id: I07de08ef111011694638a8ebe7a13c240714ce7e Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2017-03-10Retire vpp_liteDamjan Marion14-27/+57
vpp_lite platform is not needed anymore as same efect can be achieved with following startup.conf config: plugins { plugin dpdk_plugin.so { disable } } Change-Id: I690ea8ceb1c6e1fe32e01e7da54e9958019a93bf Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-03-10vlib: deduplicatee code in main and worker main loopDamjan Marion4-142/+116
Change-Id: Id18d59c9442602633a6310b2001a95bce8b6b232 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-03-10VPP-659 TCP improvementsFlorin Coras22-161/+454
- builtin test echo server - fix SYN-ACK retransmit canceling - avoid sending spurious ACK if in LAST_ACK - improved client dummy test app - renamed tx fifo dequeuing and sending functions to avoid confusion - improved RST handling Change-Id: Ia14aad3df319540dcf6e6a4e18a9f8d423a4b83b Signed-off-by: Florin Coras <fcoras@cisco.com> Signed-off-by: Dave Barach <dave@barachs.net>
2017-03-10gmon: fix code commented out by mistakeDamjan Marion1-2/+1
Change-Id: If540787e2443330673ad6721094c4765c32ef59b Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-03-10LISP: fix Proxy-ETR show command, VPP-660Filip Tehlar4-8/+184
Change-Id: I8b7dc3bf631bd228db23679534e04b8af7ac4ec7 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-03-10Fix vat_api_hookup name collisionDave Barach1-3/+3
Change-Id: I6a93fdc3f669fa1892d1e1cd5a9685700d6d2683 Signed-off-by: Dave Barach <dave@barachs.net>
2017-03-10VPP-608: warnings be goneDave Barach1-0/+10
Change-Id: I6d30c6a8d1a425c531e7206e46143d528980c48e Signed-off-by: Dave Barach <dave@barachs.net>
2017-03-10Fix MAP-E UT. Add functionality in MAP code to delete the pre-resolved ↵Neale Ranns1-6/+37
next-hops. UT checks for no-leftover-state now pass Change-Id: I9e980ee117c0b6aebc6c7a0fcc153a7c0eaf0c72 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-03-10Fix coverity CIDs 161048, 163895Pavel Kotucek2-4/+1
Change-Id: Ic206601413bb366e2a920daf00524e92a47287ef Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2017-03-10VPP-608 Fix LISP warningFlorin Coras1-0/+1
Change-Id: Iaa4fb2bc2230c1a99c518a37039cd91648dc19c0 Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-03-09vlib_mains == 0 special cases be goneDave Barach16-598/+575
Clean up spurious binary API client link dependency on libvlib.so, which managed to hide behind vlib_mains == 0 checks reached by VLIB_xxx_FUNCTION macros. Change-Id: I5df1f8ab07dca1944250e643ccf06e60a8462325 Signed-off-by: Dave Barach <dave@barachs.net>
2017-03-09IMplementation for option to not create a FIB table entry when adding a ↵Neale Ranns8-56/+105
neighbor entry Change-Id: I952039e101031ee6a06e63f4c73d8eb359423e1a Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-03-09MAP pre-resolve - use FIB to track pre-resolved next-hopNeale Ranns5-55/+192
Change-Id: I9ea16881caf7aee57f0daf4ac2e8b82c672f87e9 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-03-09Tests to target holes in adjacency and DPO test coverageNeale Ranns1-1/+3
Change-Id: Ic6ac7e441a7b75baa02f03c1585d1ae00903a399 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-03-09include rte_config header before any other dpdk includeGabriel Ganne1-0/+1
Change-Id: Idd28931756a53663512efe85b896eeffcc8cadcb Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
2017-03-09dpdk: remove unnecesary CFLAGS modificationDamjan Marion1-4/+0
Change-Id: Ie9945462d529fea6f237a521138ade76bd02e0d9 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-03-08SNAT: deterministic map dumpMartin3-3/+125
Change-Id: Iead6dc6a0fe15a0b8e148e780c3aeadd0b378824 Signed-off-by: Martin <magalik@cisco.com>
2017-03-08SNAT: fix coverity warnings (VPP-608)Matus Fabian1-2/+3
Change-Id: Id7879a6a8014fe57c3515a13e7597fb0e3c906ad Signed-off-by: Matus Fabian <matfabia@cisco.com>
2017-03-08vlib: add process restart cliDamjan Marion1-0/+20
Change-Id: I8b81e53ebea573b4edb17aca7e1c284f3984e399 Signed-off-by: Damjan Marion <damarion@cisco.com>
">}= | 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 rxqueues '1' in 3-node single-link topo | | And IPsec Generate Keys | ${encr_alg} | ${auth_alg} | | And Add PCI devices to DUTs from 3-node single link topology | | And Add No Multi Seg to all DUTs | | And Add Cryptodev to all DUTs | ${1} | | And Apply startup configuration on all VPP DUTs | | And IPsec initialized in a 3-node circular topology | | And VPP IPsec Create Tunnel Interfaces | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${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} | 3-node-IPv4-dst-${n_tunnels} | | ... | ${min_rate} | ${max_rate} | ${threshold} | tc02-64B-1t1c-ethip4ipsecscale1ip4-ip4base-interfaces-aes-gcm-pdrdisc | | [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 PDR for 64 Byte frames using binary search start at 40GE\ | | ... | linerate, step 100kpps and loss tolerance of 0.5%. | | ... | | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH | | ... | | ${n_tunnels}= | Set Variable | ${1} | | ${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 rxqueues '1' in 3-node single-link topo | | And IPsec Generate Keys | ${encr_alg} | ${auth_alg} | | And Add PCI devices to DUTs from 3-node single link topology | | And Add No Multi Seg to all DUTs | | And Add Cryptodev to all DUTs | ${1} | | And Apply startup configuration on all VPP DUTs | | And IPsec initialized in a 3-node circular topology | | And VPP IPsec Create Tunnel Interfaces | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${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} | 3-node-IPv4-dst-${n_tunnels} | | ... | ${min_rate} | ${max_rate} | ${threshold} | ${perf_pdr_loss_acceptance} | | ... | ${perf_pdr_loss_acceptance_type} | tc03-64B-1t1c-ethip4ipsecscale1000ip4-ip4base-interfaces-aes-gcm-ndrdisc | | [Documentation] | | ... | [Cfg] DUTs run 1000 IPsec tunnels 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] | 1T1C | STHREAD | NDRDISC | | ... | | ${n_tunnels}= | Set Variable | ${1000} | | ${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 rxqueues '1' in 3-node single-link topo | | And IPsec Generate Keys | ${encr_alg} | ${auth_alg} | | And Add PCI devices to DUTs from 3-node single link topology | | And Add No Multi Seg to all DUTs | | And Add Cryptodev to all DUTs | ${1} | | And Apply startup configuration on all VPP DUTs | | And IPsec initialized in a 3-node circular topology | | And VPP IPsec Create Tunnel Interfaces | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${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} | 3-node-IPv4-dst-${n_tunnels} | | ... | ${min_rate} | ${max_rate} | ${threshold} | tc04-64B-1t1c-ethip4ipsecscale1000ip4-ip4base-interfaces-aes-gcm-pdrdisc | | [Documentation] | | ... | [Cfg] DUTs run 1000 IPsec tunnels AES GCM in each direction,\ | | ... | configured with 1 thread, 1 phy core, 1 receive queue per NIC port. | | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 40GE\ | | ... | linerate, step 100kpps and loss tolerance of 0.5%. | | ... | | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH | | ... | | ${n_tunnels}= | Set Variable | ${1000} | | ${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 rxqueues '1' in 3-node single-link topo | | And IPsec Generate Keys | ${encr_alg} | ${auth_alg} | | And Add PCI devices to DUTs from 3-node single link topology | | And Add No Multi Seg to all DUTs | | And Add Cryptodev to all DUTs | ${1} | | And Apply startup configuration on all VPP DUTs | | And IPsec initialized in a 3-node circular topology | | And VPP IPsec Create Tunnel Interfaces | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${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} | 3-node-IPv4-dst-${n_tunnels} | | ... | ${min_rate} | ${max_rate} | ${threshold} | ${perf_pdr_loss_acceptance} | | ... | ${perf_pdr_loss_acceptance_type} | tc05-1518B-1t1c-ethip4ipsecscale1ip4-ip4base-interfaces-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 1518 Byte frames\ | | ... | using binary search start at 40GE linerate, step 100kpps. | | ... | | [Tags] | 1T1C | STHREAD | NDRDISC | | ... | | ${n_tunnels}= | Set Variable | ${1} | | ${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 rxqueues '1' in 3-node single-link topo | | And IPsec Generate Keys | ${encr_alg} | ${auth_alg} | | And Add PCI devices to DUTs from 3-node single link topology | | And Add Cryptodev to all DUTs | ${1} | | And Apply startup configuration on all VPP DUTs | | And IPsec initialized in a 3-node circular topology | | And VPP IPsec Create Tunnel Interfaces | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${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} | 3-node-IPv4-dst-${n_tunnels} | | ... | ${min_rate} | ${max_rate} | ${threshold} | tc06-1518B-1t1c-ethip4ipsecscale1ip4-ip4base-interfaces-aes-gcm-pdrdisc | | [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 PDR for 1518 Byte frames using binary search start at 40GE\ | | ... | linerate, step 100kpps and loss tolerance of 0.5%. | | ... | | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH | | ... | | ${n_tunnels}= | Set Variable | ${1} | | ${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 rxqueues '1' in 3-node single-link topo | | And IPsec Generate Keys | ${encr_alg} | ${auth_alg} | | And Add PCI devices to DUTs from 3-node single link topology | | And Add Cryptodev to all DUTs | ${1} | | And Apply startup configuration on all VPP DUTs | | And IPsec initialized in a 3-node circular topology | | And VPP IPsec Create Tunnel Interfaces | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${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} | 3-node-IPv4-dst-${n_tunnels} | | ... | ${min_rate} | ${max_rate} | ${threshold} | ${perf_pdr_loss_acceptance} | | ... | ${perf_pdr_loss_acceptance_type} | tc07-1518B-1t1c-ethip4ipsecscale1000ip4-ip4base-interfaces-aes-gcm-ndrdisc | | [Documentation] | | ... | [Cfg] DUTs run 1000 IPsec tunnels AES GCM in each direction,\ | | ... | configured with 1 thread, 1 phy core, 1 receive queue per NIC port. | | ... | [Ver] Find NDR for 1518 Byte frames\ | | ... | using binary search start at 40GE linerate, step 100kpps. | | ... | | [Tags] | 1T1C | STHREAD | NDRDISC | | ... | | ${n_tunnels}= | Set Variable | ${1000} | | ${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 rxqueues '1' in 3-node single-link topo | | And IPsec Generate Keys | ${encr_alg} | ${auth_alg} | | And Add PCI devices to DUTs from 3-node single link topology | | And Add Cryptodev to all DUTs | ${1} | | And Apply startup configuration on all VPP DUTs | | And IPsec initialized in a 3-node circular topology | | And VPP IPsec Create Tunnel Interfaces | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${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} | 3-node-IPv4-dst-${n_tunnels} | | ... | ${min_rate} | ${max_rate} | ${threshold} | tc08-1518B-1t1c-ethip4ipsecscale1000ip4-ip4base-interfaces-aes-gcm-pdrdisc | | [Documentation] | | ... | [Cfg] DUTs run 1000 IPsec tunnel AES GCM in each direction,\ | | ... | configured with 1 thread, 1 phy core, 1 receive queue per NIC port. | | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 40GE\ | | ... | linerate, step 100kpps and loss tolerance of 0.5%. | | ... | | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH | | ... | | ${n_tunnels}= | Set Variable | ${1000} | | ${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 rxqueues '1' in 3-node single-link topo | | And IPsec Generate Keys | ${encr_alg} | ${auth_alg} | | And Add PCI devices to DUTs from 3-node single link topology | | And Add Cryptodev to all DUTs | ${1} | | And Apply startup configuration on all VPP DUTs | | And IPsec initialized in a 3-node circular topology | | And VPP IPsec Create Tunnel Interfaces | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${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} | 3-node-IPv4-dst-${n_tunnels} | | ... | ${min_rate} | ${max_rate} | ${threshold} | ${perf_pdr_loss_acceptance} | | ... | ${perf_pdr_loss_acceptance_type} | tc09-IMIX-1t1c-ethip4ipsecscale1ip4-ip4base-interfaces-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 IMIX_v4_1 frames\ | | ... | using binary search start at 40GE linerate, step 100kpps. | | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) | | ... | | [Tags] | 1T1C | STHREAD | NDRDISC | | ... | | ${n_tunnels}= | Set Variable | ${1} | | ${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 rxqueues '1' in 3-node single-link topo | | And IPsec Generate Keys | ${encr_alg} | ${auth_alg} | | And Add PCI devices to DUTs from 3-node single link topology | | And Add Cryptodev to all DUTs | ${1} | | And Apply startup configuration on all VPP DUTs | | And IPsec initialized in a 3-node circular topology | | And VPP IPsec Create Tunnel Interfaces | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${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} | 3-node-IPv4-dst-${n_tunnels} | | ... | ${min_rate} | ${max_rate} | ${threshold} | tc10-IMIX-1t1c-ethip4ipsecscale1ip4-ip4base-interfaces-aes-gcm-pdrdisc | | [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 PDR for IMIX_v4_1 frames using binary search start at 40GE\ | | ... | linerate, step 100kpps and loss tolerance of 0.5%. | | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) | | ... | | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH | | ... | | ${n_tunnels}= | Set Variable | ${1} | | ${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 rxqueues '1' in 3-node single-link topo | | And IPsec Generate Keys | ${encr_alg} | ${auth_alg} | | And Add PCI devices to DUTs from 3-node single link topology | | And Add Cryptodev to all DUTs | ${1} | | And Apply startup configuration on all VPP DUTs | | And IPsec initialized in a 3-node circular topology | | And VPP IPsec Create Tunnel Interfaces | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${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} | 3-node-IPv4-dst-${n_tunnels} | | ... | ${min_rate} | ${max_rate} | ${threshold} | ${perf_pdr_loss_acceptance} | | ... | ${perf_pdr_loss_acceptance_type} | tc11-IMIX-1t1c-ethip4ipsecscale1000ip4-ip4base-interfaces-aes-gcm-ndrdisc | | [Documentation] | | ... | [Cfg] DUTs run 1000 IPsec tunnels AES GCM in each direction,\ | | ... | configured with 1 thread, 1 phy core, 1 receive queue per NIC port. | | ... | [Ver] Find NDR for IMIX_v4_1 frames\ | | ... | using binary search start at 40GE linerate, step 100kpps. | | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) | | ... | | [Tags] | 1T1C | STHREAD | NDRDISC | | ... | | ${n_tunnels}= | Set Variable | ${1000} | | ${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 rxqueues '1' in 3-node single-link topo | | And IPsec Generate Keys | ${encr_alg} | ${auth_alg} | | And Add PCI devices to DUTs from 3-node single link topology | | And Add Cryptodev to all DUTs | ${1} | | And Apply startup configuration on all VPP DUTs | | And IPsec initialized in a 3-node circular topology | | And VPP IPsec Create Tunnel Interfaces | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${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} | 3-node-IPv4-dst-${n_tunnels} | | ... | ${min_rate} | ${max_rate} | ${threshold} | tc12-IMIX-1t1c-ethip4ipsecscale1000ip4-ip4base-interfaces-aes-gcm-pdrdisc | | [Documentation] | | ... | [Cfg] DUTs run 1000 IPsec tunnels AES GCM in each direction,\ | | ... | configured with 1 thread, 1 phy core, 1 receive queue per NIC port. | | ... | [Ver] Find PDR for IMIX_v4_1 frames using binary search start at 40GE\ | | ... | linerate, step 100kpps and loss tolerance of 0.5%. | | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B) | | ... | | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH | | ... | | ${n_tunnels}= | Set Variable | ${1000} | | ${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 rxqueues '1' in 3-node single-link topo | | And IPsec Generate Keys | ${encr_alg} | ${auth_alg} | | And Add PCI devices to DUTs from 3-node single link topology | | And Add Cryptodev to all DUTs | ${1} | | And Apply startup configuration on all VPP DUTs | | And IPsec initialized in a 3-node circular topology | | And VPP IPsec Create Tunnel Interfaces | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${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} | 3-node-IPv4-dst-${n_tunnels} | | ... | ${min_rate} | ${max_rate} | ${threshold} | ${perf_pdr_loss_acceptance} | | ... | ${perf_pdr_loss_acceptance_type} | tc13-64B-2t2c-ethip4ipsecscale1ip4-ip4base-interfaces-aes-gcm-ndrdisc | | [Documentation] | | ... | [Cfg] DUTs run 1 IPsec tunnel AES GCM in each direction, configured\ | | ... | with 2 thread, 2 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] | 2T2C | MTHREAD | NDRDISC | | ... | | ${n_tunnels}= | Set Variable | ${1} | | ${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 rxqueues '1' in 3-node single-link topo | | And IPsec Generate Keys | ${encr_alg} | ${auth_alg} | | And Add PCI devices to DUTs from 3-node single link topology | | And Add No Multi Seg to all DUTs | | And Add Cryptodev to all DUTs | ${2} | | And Apply startup configuration on all VPP DUTs | | And IPsec initialized in a 3-node circular topology | | And VPP IPsec Create Tunnel Interfaces | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${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} | 3-node-IPv4-dst-${n_tunnels} | | ... | ${min_rate} | ${max_rate} | ${threshold} | tc14-64B-2t2c-ethip4ipsecscale1ip4-ip4base-interfaces-aes-gcm-pdrdisc | | [Documentation] | | ... | [Cfg] DUTs run 1 IPsec tunnel AES GCM in each direction, configured\ | | ... | with 2 thread, 2 phy core, 1 receive queue per NIC port. | | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 40GE\ | | ... | linerate, step 100kpps and loss tolerance of 0.5%. | | ... | | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH | | ... | | ${n_tunnels}= | Set Variable | ${1} | | ${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 rxqueues '1' in 3-node single-link topo | | And IPsec Generate Keys | ${encr_alg} | ${auth_alg} | | And Add PCI devices to DUTs from 3-node single link topology | | And Add No Multi Seg to all DUTs | | And Add Cryptodev to all DUTs | ${2} | | And Apply startup configuration on all VPP DUTs | | And IPsec initialized in a 3-node circular topology | | And VPP IPsec Create Tunnel Interfaces | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${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} | 3-node-IPv4-dst-${n_tunnels} | | ... | ${min_rate} | ${max_rate} | ${threshold} | ${perf_pdr_loss_acceptance} | | ... | ${perf_pdr_loss_acceptance_type} | tc15-64B-2t2c-ethip4ipsecscale1000ip4-ip4base-interfaces-aes-gcm-ndrdisc | | [Documentation] | | ... | [Cfg] DUTs run 1000 IPsec tunnels AES GCM in each direction,\ | | ... | configured with 2 thread, 2 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] | 2T2C | MTHREAD | NDRDISC | | ... | | ${n_tunnels}= | Set Variable | ${1000} | | ${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 rxqueues '1' in 3-node single-link topo | | And IPsec Generate Keys | ${encr_alg} | ${auth_alg} | | And Add PCI devices to DUTs from 3-node single link topology | | And Add No Multi Seg to all DUTs | | And Add Cryptodev to all DUTs | ${2} | | And Apply startup configuration on all VPP DUTs | | And IPsec initialized in a 3-node circular topology | | And VPP IPsec Create Tunnel Interfaces | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${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} | 3-node-IPv4-dst-${n_tunnels} | | ... | ${min_rate} | ${max_rate} | ${threshold} | tc16-64B-2t2c-ethip4ipsecscale1000ip4-ip4base-interfaces-aes-gcm-pdrdisc | | [Documentation] | | ... | [Cfg] DUTs run 1000 IPsec tunnels AES GCM in each direction,\ | | ... | configured with 2 thread, 2 phy core, 1 receive queue per NIC port. | | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 40GE\ | | ... | linerate, step 100kpps and loss tolerance of 0.5%. | | ... | | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH | | ... | | ${n_tunnels}= | Set Variable | ${1000} | | ${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 rxqueues '1' in 3-node single-link topo | | And IPsec Generate Keys | ${encr_alg} | ${auth_alg} | | And Add PCI devices to DUTs from 3-node single link topology | | And Add No Multi Seg to all DUTs | | And Add Cryptodev to all DUTs | ${2} | | And Apply startup configuration on all VPP DUTs | | And IPsec initialized in a 3-node circular topology | | And VPP IPsec Create Tunnel Interfaces | | ... | ${dut1} | ${dut2} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${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} | 3-node-IPv4-dst-${n_tunnels} | | ... | ${min_rate} | ${max_rate} | ${threshold} | ${perf_pdr_loss_acceptance} | | ... | ${perf_pdr_loss_acceptance_type}