Commit Graph

10565 Commits

Author SHA1 Message Date
Mohsin Kazmi
a7e830ed46 vlib: move offload flags to 1st cacheline in vlib_buffer_t
Type: improvement

Some tests i.e. ipsec see performance regression when offload flags
are moved to 2nd cacheline. This patch moves them back to 1st cacheline.

Change-Id: I6ead45ff6d2c467b0d248f409e27c2ba31758741
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2021-05-05 11:10:51 +00:00
Matthew Smith
baa18701b9 misc: ipfix process node wait time adjustment
Type: fix

The ipfix process node has a hardcoded 5s sleep between sending packets.
The interval between template packets is configurable, but the timing
of packets being sent does not match configuration because of the time
being hardcoded. E.g. -

With template interval set to 3s, a packet will be sent every 5s.
With template interval set to 8s, a packet will be sent every 10s.

Honor the configuration by reducing the wait time to less than 5s if a
template will need to be sent less than 5s from the current time.

Change-Id: I8c11f7bc502ce5b20b6e82a7e7a135a8805a2bad
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2021-05-05 10:36:13 +00:00
Paul Vinciguerra
ac0415fac8 api: fix crash in custom dump
Change-Id: Iffc52b4f52c235b0b5d13d2b42467cb2be0bf934
Type: fix
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2021-05-05 07:58:47 +00:00
Filip Tehlar
06111a837d crypto crypto-openssl: support hashing operations
Type: feature

Change-Id: I36041fe5c5f0ff129aee42516189807e96f62123
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2021-05-05 07:34:00 +00:00
Florin Coras
9592909ecc tcp: cleanup rcv-process and bulk buffer translation
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I2ca8a5e30e55a84d4567422e4b7fcf90830921d3
2021-05-05 07:33:45 +00:00
Florin Coras
7f969c7004 tcp: cleanup listen node and bulk buffer translation
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I2d11b1411a7653b94fddd889a5f28640c5f5566c
2021-05-05 07:33:33 +00:00
Florin Coras
b636abeba0 tcp: cleanup syn-sent and bulk buffer translation
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Idb286e77a877a6a60aa532263277f002fc002e48
2021-05-05 02:11:30 +00:00
Florin Coras
974b468b4e tcp: cleanup established and bulk buffer translation
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ic37f640b7f0d0a041c003e76c8f29c21b5e664b3
2021-05-04 13:12:43 -07:00
Mohsin Kazmi
a02ad34f8b virtio: add simple drop counter for interface
Type: improvement

Change-Id: I4ac6b1a6553e26a5c26b6761fa3c4cc5d4925486
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2021-05-04 17:42:23 +00:00
Mohsin Kazmi
6799f9b453 virtio: fix the interrupt
Type: fix

virtio/tap interfaces set the empty buffers in the input node
for receiving data. Backend uses those buffers, fills them with
data and notifies the virtio/tap driver. But virtio/tap driver
gets into stall state if interface is created and configured
through exec script on VPP startup.conf and put the interface in
interrupt mode while VPP is only configured with main thread.

This patch fixes the problem by prefilling buffers during the
interface creation.

Change-Id: Ibc4d0e70e127ccc4b7cf8b2b18406ae4b02c73b4
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2021-05-04 16:48:11 +00:00
Arthur de Kerhor
db02380904 stats: adding symlinks for nodes and interfaces in the stat segment
A given interface counter (e.g rx) can be accessed via
/interfaces/<interface_name>/<counter_name>.
Same goes with nodes: /nodes/<node_name>/<counter_name>
As interfaces may contain '/' in their names,
these are replaced by '_' in symlinks
Also added 2 tests for the stat segment

Type: feature

Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
Change-Id: I27da252e7b3dc177815616ca46b5c200a456bf0f
Signed-off-by: Ole Troan <ot@cisco.com>
2021-05-04 16:29:29 +00:00
Ray Kinsella
78b0a6e3f6 dpdk: allow configuration of max-simd-bitwidth
Enable configuration of DPDK's max-simd-bitwidth through the startup.conf

Type: improvement
Change-Id: I455148714ffc7caa257931526f310dbefd7ab01c
Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
2021-05-04 13:57:48 +00:00
Mohammed Hawari
7d64631e51 misc: improve src detection in configure script
Change-Id: I2c45b160d76883044a3a7db0afcac0c56bcd2bcf
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Type: feature
2021-05-04 12:21:16 +00:00
Mohammed Hawari
5a504b04fc avf: fix simultaneous txq wrap and tx retry
Change-Id: Ic2b853cda98c3010d2abb5c7ada1b1f6c5bc9f74
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Type: fix
Fixes: ca1812dbe7
Ticket: VPP-1980
2021-05-04 10:15:32 +02:00
Benoît Ganne
f5a45680ee rdma: add support for RSS configuration
Type: feature

Change-Id: I911ee94b624ef5edf46b34666597eff93df1d1ed
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2021-05-04 07:23:03 +00:00
Benoît Ganne
ee60ac638c rdma: support non-power-of-2 number of rxq
Type: improvement

Change-Id: I7b78a8470aa3fd271120587d08e82afb23cb195b
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2021-05-04 07:22:34 +00:00
Damjan Marion
3a533cd561 build: add set-build-type-* targets to CMake
Type: make
Change-Id: Icf37873b461cd034567dc1b99e23d1bbb3f4b9f0
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-04 07:18:17 +00:00
Florin Coras
ba9cb1ba37 quic: fix coverity warning
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I277f2e9ae2b763f5833778406d11218211163e43
2021-05-03 08:34:53 -07:00
liuyacan
694046cf8e session: lookup listener with iface address
We add interface address to the global lookup table, so we should
use it as the key when lookup listener. Otherwise, when multiple
threads listen on 0.0.0.0 (local scope disable), duplicate
listeners and sessions would be allocated but only one works.

Type: fix

Signed-off-by: liuyacan <liuyacan@corp.netease.com>
Change-Id: I86f36475c16e217c6c5293a62c4fb5c9477a191e
2021-05-03 15:13:32 +00:00
Damjan Marion
94b80770ff rdma: avoid unnencessary inlining
Type: fix
Change-Id: Ifc4b30675365ebb5d69c018a34fd17a5090b30e1
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-03 13:38:09 +00:00
Damjan Marion
eee099e957 vlib: multiarch vlib_frame_queue_dequeue()
Fact that it needs to copy buffer indices justifies this move.

Type: improvement
Change-Id: I5eb815ccc4cca0ef70b092eb83a49b713efdcbeb
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-03 11:09:38 +00:00
Florin Coras
757f470aef quic: improve udp dgram write
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I2992c66d11fe6adc96b525b0fde533e5ff58d7e4
2021-05-03 08:08:39 +00:00
Florin Coras
88dd3cf603 tls: cleanup dtls migrated context
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I433cc1b7a29f785a431618641317bbfbbe2cf2f4
2021-05-02 16:52:50 +00:00
Florin Coras
87f63898b4 vcl: attr api to set endpt ext config
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I06cd3721c1b534e9449bf96760c02ca30628c21e
2021-05-01 16:25:18 -07:00
Benoît Ganne
f89bbbe300 vlib: refactor trajectory trace debug feature
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-05-01 11:42:37 +00:00
Damjan Marion
c8983241b9 build: add option to turn off some march variants
Type: make
Change-Id: I53f7995c7e7a7ff829c662d71f37d88780bdd140
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-01 00:54:42 +00:00
Damjan Marion
3648d93b98 build: declare some CMake variables as advanced
Type: make
Change-Id: I780c1c81a50cb92bc89c05856efd8ef88479c0ab
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-30 20:30:16 +02:00
Damjan Marion
88b2e3682b misc: experimental configure script
Type: make
Change-Id: Iaeb9d22eec9a7a763b63899814a44e78c8050f1f
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-30 17:02:32 +00:00
Florin Coras
10796899cf quic: report number of packets sent on custom tx
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-30 14:39:55 +00:00
Florin Coras
01fcd757a1 hsa: vcl test client incremental stats
Add option to print per second tx stats

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I7f226a6521da13ab29de65a441f73d4e56fb57cf
2021-04-30 14:39:39 +00:00
Damjan Marion
1bb67abf3c build: switch release build to -O3
Type: make
Change-Id: Ia39c2f847e7b4907fdd3fcac75897b8b4c545a65
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-30 11:15:47 +02:00
Florin Coras
600d7a85fb session: accept notifies for sessions in created state
Makes sure we don't notify apps of sessions that are closing or multiple
times for the same session.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I07145e5e00bbe8eb1df2946059459e9fe05cfeb7
2021-04-29 18:52:17 +00:00
liuyacan
87d48ad8f6 session: cleanup CREATED sessions when listener goes down
We should cleanup sessions in CREATED state when listener goes
down, otherwise they may use unpredictable sessions as listeners
later.

Type: fix

Signed-off-by: liuyacan <liuyacan@corp.netease.com>
Change-Id: Ifbd0a0fb46275bd9d89e5aee19a70c1d01d15764
2021-04-29 17:52:53 +00:00
Benoît Ganne
5c481ff732 crypto: fix chained buffer integrity support
Type: fix

Change-Id: I984a3e577a4209e41d046eaf3a8eef8986dc6147
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2021-04-29 15:48:25 +00:00
Florin Coras
edda5926e0 hsa: vcl test perf improvements
- 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-29 00:07:12 -07:00
Florin Coras
ccdb8b8b15 vcl: fix epoll wait with indefinite timeout
Also avoid syscalls if timeout is 0.

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I9193d731c51a1432a52c89d5e54e6406e5100c96
2021-04-28 18:10:10 -07:00
Damjan Marion
3295ddf6b6 vppinfra: AArch64 NEON implementation of clib_compare_u16_x64()
Type: improvement
Change-Id: I1382813211ea20c6204d7a3b6e6d470aa51aed69
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-28 19:00:37 +00:00
Klement Sekera
ea6236b376 tests: add worker count to class description
While running test:

==============================================================================
NAT44ED Test Case
==============================================================================

==>

==============================================================================
NAT44ED Test Case [main thread only]
==============================================================================

==============================================================================
NAT44ED Test Case [1 worker thread]
==============================================================================

==============================================================================
NAT44ED Test Case [4 worker threads]
==============================================================================

Type: improvement
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I61904b411ff1b58700564698079dc4c07cea5c5e
2021-04-28 18:35:46 +00:00
Damjan Marion
edca8c6e75 vppinfra: don't fail if config.h is missing, fallback to defaults instead
Type: improvement
Change-Id: Idc82d40a16cbc8a401a8fb359bc63083f47361b9
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-28 17:23:22 +00:00
Ole Troan
df6d986f81 papi: change default to use socket transport instead of shared memory transport
In preparation for removing Python shared memory support, change the default to use sockets.
This may affect users of PAPI. E.g. if running against instances of VPP where
the API socket is in a different location or disabled.

Type: improvement
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I96308ed70b9ff314c9b487722174f5e4b14efdd2
Signed-off-by: Ole Troan <ot@cisco.com>
2021-04-28 16:03:45 +00:00
mdr78
fd4fd0d185 pg: exec file fixes
A number of the pg commands were being passed the whole exec file,
instead of just a line from the file.

Type: fix

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: I2f96e7648b9b7d501088eddff7e4a761973e71f4
2021-04-28 14:58:00 +00:00
Florin Coras
8d58dc40a0 hsa: fix quic vcl test
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I9a4bf384be65ba8b868d1172c7b6e00ae959601e
2021-04-28 14:57:57 +00:00
Florin Coras
05c45b77d1 hsa: support sigint in vcl test client
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie0d5fe97a727465f8851fc2110219483a5bf3f27
2021-04-28 13:11:51 +00:00
Arthur de Kerhor
a80ff1384c ip: extend the punt cli to accept reason filter for sockets registration
Type: improvement
Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
Change-Id: I769db1213b0936abbf304bc6cf9dbcfbbebf06aa
2021-04-28 07:39:42 +00:00
Matthew Smith
e3f078fcfc nat: fix byte order on ipfix message fields
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-28 06:30:36 +00:00
Neale Ranns
f2b6b9e29b gre: Remove the debugging logging from the mGRE tests
Type: test

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I5c540b3a2f26689973daec80372c5a935a455a12
2021-04-27 23:57:00 +00:00
Damjan Marion
ac8f936fdc build: Makefile cleanup
Type: make
Change-Id: I751b0a25161c6eb8614ca19f7c77a4de82401f3d
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-27 23:42:02 +00:00
Damjan Marion
1bc46cd6e3 misc: fix dead stores
Type: fix
Change-Id: I08969e1c4a78f8ac92ec066a3b67e64dc931bc16
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-27 23:41:51 +00:00
Damjan Marion
ef0bac7099 vlib: improve enqueue_to_next buffer indices extraction
Type: improvement

Change-Id: Ib7b2fa7d821f6d2708f6dc378a0f36f68c843f57
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-27 23:40:27 +00:00
Florin Coras
d77d379ea6 hsa: custom proto vfts for vcl tests
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-27 22:35:39 +00:00