summaryrefslogtreecommitdiffstats
path: root/src/plugins
AgeCommit message (Collapse)AuthorFilesLines
2021-05-03quic: improve udp dgram writeFlorin Coras1-10/+7
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I2992c66d11fe6adc96b525b0fde533e5ff58d7e4
2021-05-02tls: cleanup dtls migrated contextFlorin Coras1-4/+9
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I433cc1b7a29f785a431618641317bbfbbe2cf2f4
2021-05-01vlib: refactor trajectory trace debug featureBenoît Ganne17-59/+18
trajectory trace has been broken for a while because we used to save the buffer trajectory in a vector pointed to in opaque2. This does not work well when opaque2 is copied (eg. because of a clone) as 2 buffers end up sharing the same vector. This dedicates a full cacheline in the buffer metadata instead when trajectory is compiled in. No dynamic allocation, no sharing, no tears. Type: refactor Change-Id: I6a028ca1b48d38f393a36979e5e452c2dd48ad3f Signed-off-by: Benoît Ganne <bganne@cisco.com>
2021-04-30build: declare some CMake variables as advancedDamjan Marion8-16/+16
Type: make Change-Id: I780c1c81a50cb92bc89c05856efd8ef88479c0ab Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-30quic: report number of packets sent on custom txFlorin Coras1-14/+8
A transport's custom_tx function must report the number of segments that it enqueued. Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ie088c4215e6f17df639159820b8adf46b96fbb46
2021-04-30hsa: vcl test client incremental statsFlorin Coras2-22/+82
Add option to print per second tx stats Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I7f226a6521da13ab29de65a441f73d4e56fb57cf
2021-04-29crypto: fix chained buffer integrity supportBenoît Ganne1-1/+15
Type: fix Change-Id: I984a3e577a4209e41d046eaf3a8eef8986dc6147 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2021-04-29hsa: vcl test perf improvementsFlorin Coras3-88/+93
- poll session events in server - init session buffers based on config - cleanup some of the data structures Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I81c19e6546c8292db07b63c66e4da03ef7f55e22
2021-04-28vcl: fix epoll wait with indefinite timeoutFlorin Coras1-4/+4
Also avoid syscalls if timeout is 0. Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I9193d731c51a1432a52c89d5e54e6406e5100c96
2021-04-28hsa: fix quic vcl testFlorin Coras1-9/+21
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I9a4bf384be65ba8b868d1172c7b6e00ae959601e
2021-04-28hsa: support sigint in vcl test clientFlorin Coras1-2/+33
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ie0d5fe97a727465f8851fc2110219483a5bf3f27
2021-04-28nat: fix byte order on ipfix message fieldsMatthew Smith4-7/+10
Type: fix The code for quota exceeded events is a u32 and was being copied into ipfix packets in host byte order. Same for the limit field. Swap the order before copying into packet buffer. This change was applied once before but had to be reverted. This was because between the time the change was uploaded/reviewed and the time it was merged, a different patch was merged which activated a NAT ipfix unit test that had formerly only been run as part of the extended tests. The test was expecting the values to be in host byte order so it failed with this patch applied. This time around, that test has also been updated to expect network byte order. Change-Id: If5413b1f806d664f6786e56ba13c3eee573c26d2 Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2021-04-27hsa: custom proto vfts for vcl testsFlorin Coras5-314/+836
Define custom connect, listen, accept, close handlers for transport protos under test. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ifa260d05917256c590f29078f465ce47c576cbc3
2021-04-27vrrp: increase stack size of process nodeMatthew Smith1-2/+2
Type: fix The process node which wakes up when a timer expires and transitions a backup node to master state may call a function to add a MAC address to an interface. This works fine for some devices, but with DPDK 20.11 on i40e interfaces, the i40e PMD functions which enact the change cause the stack to be exhausted. Increase the stack size for the node. Change-Id: I824603e162f4f6d680486706210986572f0d9845 Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2021-04-27perfmon: top down level 1 supportmdr788-25/+247
Adding perfmon node TMAM support on ICX. Type: improvement Signed-off-by: Ray Kinsella <mdr@ashroe.eu> Change-Id: I48a9a9ff6a72efc28eaf0cb11ef39fb62cebb126
2021-04-27hsa: use only one conn type for vcl testsFlorin Coras3-139/+80
Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I31d0f8e32f7bb508c6f57913d5a829ceaad91f7d
2021-04-26hsa: use tcp for vcl test control channelFlorin Coras3-195/+242
Also, only exchange config over control session. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I001df635896762bc5330cebb7d5744e3e754482d
2021-04-26tests: clean up gbp calls from vpp_papi_providerPaul Vinciguerra2-110/+184
Move info from vpp_papi_provider to .api/vpp_objects Change-Id: Iaf46483fda2840dfec8d37e0b9262e1c9912be59 Type: test Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2021-04-26session: fix race condition in fifo allocationliuyacan1-1/+1
Under some timing conditions,VCL may receive CONNECTED/ACCEPTED event before ADD_SEGMENT event. Timing example: 2 threads call segment_manager_alloc_session_fifos() parallelly Thread 1 Thread 2 sm read lock | | | try to alloc fifo =>failed | | | sm read unlock | | | sm write lock | | | add segment | | | sm write unlock | | sm read lock | | | try to alloc fifo=>successful sm read lock | | sm read unlock | | | emit CONNECTED/ACCEPTED emit ADD_SEGMENT event | sm read unlock This commit move ADD_SEGMENT notification under the protection of the write lock in some scenarios. Type: fix Signed-off-by: liuyacan <liuyacan@corp.netease.com> Change-Id: I25d5475c5e6d37cfccefa9506f6030c26ce8ee9b
2021-04-23nat: correct detection of icmp bypass presenceKlement Sekera1-2/+2
Type: fix Signed-off-by: Klement Sekera <ksekera@cisco.com> Change-Id: Iead167e7497e0779c440f7fb243014a06ae2b452
2021-04-23dpdk: support md5 async handler in dpdk cryptodevAlexander Chernavin1-0/+3
With this change, enable MD5 with AES-CBC support in dpdk cryptodev. Type: improvement Signed-off-by: Alexander Chernavin <achernavin@netgate.com> Change-Id: Ic587aaa1fa0dc102e36eb34f329ef21a16156f26
2021-04-23tls quic: improve error reportingFlorin Coras1-6/+6
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I92f0c1f7c0f4696fa12071440a643aa703d6306f
2021-04-22vcl session: refactor passing of crypto contextFlorin Coras8-20/+176
Pass tls/quic crypto context using extended config instead of bloating conect/listen messages. Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I0bc637ae310e6c31ef1e16847501dcb81453ee94
2021-04-22tls: tlspicotls require version when buildingNathan Skrzypczak1-3/+19
Type: fix When building the tlspicotls plugin, we rely on vpp-ext-deps having installed quicly & picotls. We add a dependancy on the version installed thus ensuring that people with older vpp-ext-deps version installed don't have their build fail. This has the drawback that picotls doesn't have its own versionning scheme Change-Id: I9e2ccfc00b3c37af2bc2483a791eb05f994dd4a4 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-04-22quic: update quicly to v0.1.3Mathias Raoul3-7/+20
This bumps quicly version to v0.1.3 ( sha d44c089364067dbcdfbad7fb2c821900fb4aef5e in https://github.com/h2o/quicly ) Also simplifies the build to only make needed dependancies, and silence compiletime warnings Type: feature Change-Id: Ie00ec7e408d234464871b68ddc79bb33dc4179ed Signed-off-by: Mathias Raoul <mathias.raoul@gmail.com> Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-04-21cnat: Fix session flag initializationNathan Skrzypczak4-1/+8
Type: fix Sometimes session->value.flags wasn't initialized leading to next_node index corruption. Also added a debug flag to tell session/rsessions appart Change-Id: I80da50f2267e03a4552e8c9efc8e3aa08bc5569d Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-04-21nat: fix multi worker scenariosKlement Sekera3-48/+161
Properly select worker from hash table in out2in direction, increase number of worker threads in MW test to 4 to test these cases. Type: fix Change-Id: I76eda5761ff497b85b031dd913a64b7fcb53b33a Signed-off-by: Klement Sekera <ksekera@cisco.com>
2021-04-20nat: fixing cli bug for nat44-ei and nat44-edFilip Varga2-2/+2
Removing obsolete optional parameters. Type: fix Change-Id: I135eb4767979ab81636da16e91752a2ad80e0a45 Signed-off-by: Filip Varga <fivarga@cisco.com>
2021-04-20tls: honor tcp deq notification requestFlorin Coras1-0/+6
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ic24516a7242ef4193c5d751a2d5424918c390759
2021-04-20nat: nat44-ed i2o & o2i trace fixFilip Varga2-8/+10
If cache used than we don't print in trace session index. Type: fix Change-Id: Ib965cd8632b5217f8b2dd8b6cc6af3286c747582 Signed-off-by: Filip Varga <fivarga@cisco.com>
2021-04-20dpdk: fix mlx4 mlx5 detection in plugin buildMohammed Hawari1-1/+1
Since the move to DPDK 21.02, compatibility build symbols were depreca- ted, breaking the static linkage of the DPDK plugin to libibverbs. Change-Id: I2fec0807e4c0eb00268618f1495af862eede9081 Type: fix Fixes: 5f35a185d5afee2c364fe84f33922bac1a808113 Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
2021-04-19interface: interface-output end node reworkDamjan Marion5-14/+10
- rename node to more meaningful name - introduce lookup tables - enable multiarch - quad-loop node - enqqueue to next instead of enqueueing to node Type: improvement Change-Id: Ibb208047ae04bb6cfe56db558d3b8938bc14b4fe Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-18vppinfra: remove linux/syscall.hDamjan Marion1-1/+0
For portabiliy reasons it is better to have all wrapped in clib code. I.e. instead of using getcpu() we have clib_get_current_numa_node () and clib_get_current_cpu_id(). Type: refactor Change-Id: I29b52d7f29bc7f93873402c4070561f564b71c63 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-16tests: cpus awarenessKlement Sekera1-1/+14
Introduce MAX_CPUS parameters to control maximum number of CPUs used by VPP(s) during testing, with default value 'auto' corresponding to all CPUs available. Calculate test CPU requirements by taking into account the number of workers, so a test requires 1 (main thread) + # of worker CPUs. When running tests, keep track of both running test jobs (controlled by TEST_JOBS parameter) and free CPUs. This then causes two limits in the system - to not exceed number of jobs in parallel but also to not exceed number of CPUs available. Skip tests which require more CPUs than are available in system (or more than MAX_CPUS) and print a warning message. Type: improvement Change-Id: Ib8fda54e4c6a36179d64160bb87fbd3a0011762d Signed-off-by: Klement Sekera <ksekera@cisco.com>
2021-04-15vrrp: refactor testPaul Vinciguerra1-36/+38
Move scapy packet generation code out of vpp object and into the test case. Type: test Change-Id: Ib4de7409eefb79fc59f9815bed3befe5ecde483c Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2021-04-15avf: fix tx path segfaultRadu Nicolau1-0/+1
Type: fix Fixes: ca1812dbe714fc8e4de13f88df2d3b830d95a2c9 Signed-off-by: Radu Nicolau <radu.nicolau@intel.com> Change-Id: I657be40689caa0c9e202fb411da6323aafeab57e
2021-04-15avf: remove the vxlan flow supportChenmin Sun2-1/+1
This patch fixes a vxlan flow type checking bug which is introduced in commit 7a016e87e473. It is the native avf instead of dpdk that doesn't support vxlan flow offloading. So this patch removes Vxlan flow supporting in native avf_plugin and adds the vxlan flow back to dpdk_plugin. Type: fix Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: I1a72629cee462b890327c589c846f6d532b2d61d
2021-04-14dpdk: add RSS capability flag to iavf PMD in dpdk_pluginChenmin Sun1-4/+4
Type: fix Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: I215b660a466e0579918e49de543163fd28f95c22
2021-04-14rdma: remove redundant memory registrationBenoît Ganne1-6/+0
The memory region is already registered right above, looks like a copy/paste error. Type: fix Change-Id: I97aed821e719e1a34ac38c86d0473a8fdd671d4e Signed-off-by: Benoît Ganne <bganne@cisco.com>
2021-04-14nat: test dynamic translation between two vrfsFilip Varga1-3/+41
Adding test for NAT44-ED subplugin. Type: test Change-Id: I10ce3d3ca8cb976ee9879efe77cb600df0102147 Signed-off-by: Filip Varga <fivarga@cisco.com>
2021-04-14rdma: fix skip_ipv4_cksum behavior in scalar pathTianyu Li1-1/+1
Current rdma input L3 validating behavior for scalar path is: if any packet L3_OK flag matches, then unset skip_ip4_cksum. The correct behavior should be if any packet L3_OK NOT match, then unset skip_ip4_cksum. The logic is also different from the vector path. This patch fixes the wrong behavior for scalar path. Type: fix Signed-off-by: Tianyu Li <tianyu.li@arm.com> Change-Id: I5ca5ed3aa0c07d441f3c87b33f03ea8f7a3c9826
2021-04-14hsa: fix coverity warningsFlorin Coras1-2/+3
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I1c38abde67c2f9be22186359a39ebc3a769b4a7f
2021-04-14tls: fix coverity warningFlorin Coras1-1/+1
Type: fix Avoid complaint that we're potentially incrementing ii which could be null. Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I8511c07b1c2f260cc0e526d9aefeb4a051d98edf
2021-04-13avf: rework TX one-by-one loopDamjan Marion1-68/+63
Type: improvement Change-Id: I466fd0324d53e8d68b53a2c84d97a722be90f4a0 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-13avf: avoid placeholder buffer alloc in datapathDamjan Marion3-31/+25
Type: improvement Change-Id: I0ad0fa42f056b5797ba71d6972a44273c13bb97e Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-13avf: avoid ring wrap in the tx pathDamjan Marion3-139/+122
Type: improvement Change-Id: I91ecf0bff2ddd43ab5cf0f03ed2882882154557b Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-12avf: avf flow bug fixChenmin Sun2-27/+2
This patch fixes the below bugs in avf flow: 1. remove the VXLAN flow as it is not yet supported 2. fix a typo in IPv6 flow 3. fix the wrong type of the AH flows Also did some cleanup in this patch Type: fix Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: I5eae131f1e89071364a41b7006a00e8425089a4f
2021-04-12geneve: fix options len parsing as 32-bits wordsMohammed Hawari1-2/+3
See https://tools.ietf.org/html/rfc8926 3.4. second paragraph Opt Len Change-Id: I191d835651b2fa64eeb4ec4271497cf3342554be Signed-off-by: Mohammed Hawari <mohammed@hawari.fr> Type: fix
2021-04-12tests: support attaching to existing vppKlement Sekera1-1/+1
Introduce a new option DEBUG=attach to run a test against existing already running vpp. A new target 'make test-start-gdb' will spawn VPP in gdb for this purpose. Customization options explained in test-help. Type: improvement Change-Id: Ia160a85b33da3b2df292d44bb95729af9dd9da96 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2021-04-09dpdk: selection of cryptodev engine data-pathFan Zhang6-2731/+2078
Type: improvement This patch combined cryptodev op and cryptodev raw API data paths into one and makes the engine run-timely select which data path is used: if all cryptodev devices support RTE_CRYPTODEV_FF_SYM_RAW_DP feature flag, the raw data path API is used, otherwise the traditional data path is used. Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Change-Id: Ibbd7c4405288bd9a48a34878954fd3040df7b4ad