vpp.git
2 years agocrypto: add chacha20-poly1305 support to ipsecmb 38/32238/10
Fan Zhang [Tue, 11 May 2021 11:53:15 +0000 (12:53 +0100)]
crypto: add chacha20-poly1305 support to ipsecmb

Type: feature

This patch adds chacha20-poly1305 single and chained algorithm
support to ipsecmb crypto engine.

Signed-off-by: DariuszX Kazimierski <dariuszx.kazimierski@intel.com>
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: If04ee0c8f985b07fd31dad1ce29000ec6f1733c5

2 years agosession: support half-close connection 61/32261/4
liuyacan [Sun, 9 May 2021 03:50:40 +0000 (03:50 +0000)]
session: support half-close connection

Some app(e.g. Envoy) may call shutdown() instead of close() when
draining connection.

Type: improvement

Signed-off-by: liuyacan <liuyacan@corp.netease.com>
Change-Id: I9543b9ca3caa87b10b134fd1fc4019124e41e4d2

2 years agoip: ensure ttl doesn't decrease to 0 when punting 69/31969/7
Aloys Augustin [Tue, 13 Apr 2021 19:14:55 +0000 (21:14 +0200)]
ip: ensure ttl doesn't decrease to 0 when punting

Change-Id: I248ef12fd34ea2a1c383fbcc530a8ffeb31ba92b
Type: fix
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
2 years agointerface: tx queue infra 04/32004/17
Damjan Marion [Thu, 15 Apr 2021 11:12:51 +0000 (13:12 +0200)]
interface: tx queue infra

Type: improvement
Change-Id: I415b2f980de10ca3154d2c8677c24792453eccd0
Signed-off-by: Damjan Marion <damarion@cisco.com>
2 years agobuild: compiler flags handling cleanup 70/32270/6
Damjan Marion [Mon, 10 May 2021 12:51:44 +0000 (14:51 +0200)]
build: compiler flags handling cleanup

Type: make
Change-Id: I51f30edb91e09525ba116fe3941f2e43f9718da7
Signed-off-by: Damjan Marion <damarion@cisco.com>
2 years agoquic: alloc ctx on udp thread 74/32274/4
Florin Coras [Tue, 11 May 2021 00:21:06 +0000 (17:21 -0700)]
quic: alloc ctx on udp thread

UDP sessions are allocated on first worker because main does not poll.
Consequently, quic should also allocate connection on first, to avoid
multiple migration events.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ice229a42c399e87150e0f6dd76e2e06ab271556c

2 years agovppinfra: Add missing %o 72/32272/3
Nathan Skrzypczak [Fri, 7 May 2021 17:39:51 +0000 (19:39 +0200)]
vppinfra: Add missing %o

This is used in vppinfra/socket.c:495

Type: feature

Change-Id: I89b409ae7abb01723108ae3e6c55bb1675db50ee
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2 years agovlib: exec cmd handle scripts with blank lines 73/32273/2
Dave Barach [Mon, 10 May 2021 23:01:42 +0000 (19:01 -0400)]
vlib: exec cmd handle scripts with blank lines

Type: fix
Fixes: 2f96e7648b9b7d501088eddff7e4a761973e71f4

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ia75c863850c0df978f61bfc0343a167d8636ed97

2 years agomisc: fix crash in lawful intercept CLI 49/32149/5
hemant_mnkcg [Tue, 27 Apr 2021 22:02:13 +0000 (18:02 -0400)]
misc: fix crash in lawful intercept CLI

Type: fix

Signed-off-by: hemant_mnkcg <hemant@mnkcg.com>
Change-Id: I097815617053dac09de7ad3092b3d3071770114f

2 years agosession: use half-open sessions for vc establishment 58/32258/14
Florin Coras [Sat, 8 May 2021 02:39:43 +0000 (19:39 -0700)]
session: use half-open sessions for vc establishment

Use half-open sessions to track virtual circuit connection
establishment. These sesssions can only be allocated and freed by the
thread that allocates half-open connections (main). Consequently, they
can only be freed on half-open cleanup notifications from transports.

Goal is to simplify state tracking within the session layer but it's
also a first step towards allowing builtin apps to track and cleanup
outstanding connects.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I8a535906d13eb7f8966deb82333839de80f8049f

2 years agodpdk: do not crash when failing to bring interface up 67/32267/2
Benoît Ganne [Mon, 10 May 2021 12:10:19 +0000 (14:10 +0200)]
dpdk: do not crash when failing to bring interface up

If dpdk device starts failed for some reason, we should not try to get
stats and the interface must remain down.

Type: fix

Change-Id: I0079f89d3b43a9b47553991347da8ed4ce6ede8d
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2 years agordma: bump to rdma-core v35.0 66/32266/3
Benoît Ganne [Mon, 10 May 2021 12:07:49 +0000 (14:07 +0200)]
rdma: bump to rdma-core v35.0

Type: improvement

Change-Id: I5f7ff309aacbfd7a5a8a973bcc7ba04ba44923c5
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2 years agosvm: try chunk alloc only if enough space available 60/32260/3
Florin Coras [Sat, 8 May 2021 22:29:50 +0000 (15:29 -0700)]
svm: try chunk alloc only if enough space available

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I3c52dd783601d50e981f75bd05a7b95c03bb5c22

2 years agogso: fix the gro coalesced chain len 23/32223/3
Mohsin Kazmi [Wed, 5 May 2021 16:25:39 +0000 (16:25 +0000)]
gso: fix the gro coalesced chain len

Type: fix

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I86b940384a6898d4cb04f3decf30996c94b43d07

2 years agoapi: fix crash in vl_msg_api_free 59/32259/3
wanghanlin [Sat, 8 May 2021 03:39:53 +0000 (11:39 +0800)]
api: fix crash in vl_msg_api_free

VPP crash when ASSERT in clib_mem_free.

Type: fix

Signed-off-by: wanghanlin <wanghanlin@corp.netease.com>
Change-Id: Id06d833caab3385446528d62a6ed3bde38d57db0

2 years agovhost: low performance in interrupt mode in some cases 40/32240/3
Steven Luong [Thu, 6 May 2021 17:00:30 +0000 (10:00 -0700)]
vhost: low performance in interrupt mode in some cases

When vhost and another interface, say tap, are configured for interrupt
mode, performance number may be very low from vhost.

Further analysis discovers that when vhost posts an interrupt to the
RX infra, there is a 10 msec delay in waking up its input routine.
The delay is due to vhost posts the interrupt from the main thread
which tries to wake up the worker thread.

The fix is for vhost to move the posting interrupt call to the
corresponding input worker thread by calling
vnet_hw_if_set_rx_queue_file_index() to set it up.

While at it, streamline the function vhost_user_kickfd_read_ready()
since it will be called from the worker thread.

Type: fix

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I9beedcd33e1558c8335da4ee7fadc51c29ee4589

2 years agomemif: Fix delete on error 54/32254/2
Nathan Skrzypczak [Fri, 7 May 2021 16:16:58 +0000 (18:16 +0200)]
memif: Fix delete on error

Type: fix

Change-Id: I3cc09630cae999cc194a0eedb4d2cfee7a826b76
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2 years agoavf: fix coverity 53/32253/3
Mohammed Hawari [Fri, 7 May 2021 15:27:51 +0000 (17:27 +0200)]
avf: fix coverity

Change-Id: I54025eb0e4ee861b2b2fed554b006405cba38bb9
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Type: fix
Fixes: bd376a8ce8425f45b23074398949e8055de29280

2 years agotests: fix another race condition in punt tests 57/32257/2
Dave Wallace [Sat, 8 May 2021 01:40:54 +0000 (21:40 -0400)]
tests: fix another race condition in punt tests

- Don't close the socket and don't stop receiving
  until after draining the existing data in the
  socket.

Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I38dfff4d6273eeddb5196f5cf2a60b580e1c93e6

3 years agodpdk: fix cryptodev session handler 51/32251/2
Fan Zhang [Fri, 7 May 2021 11:50:18 +0000 (12:50 +0100)]
dpdk: fix cryptodev session handler

Type: fix

This patch fixes the possible segmentation fault in DPDK
cryptodev when deleting session.

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: Ie81de09f7250eb5c1ed6ee471363137d8372fe27

3 years agobuild: bump ipsecmb version to 1.0 47/32247/2
Damjan Marion [Fri, 7 May 2021 07:20:54 +0000 (09:20 +0200)]
build: bump ipsecmb version to 1.0

Type: improvement
Change-Id: If2c0db46805c0a8c995a76938f049568f57f7560
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agosession: connects seg manager is always first 46/32246/10
Florin Coras [Thu, 6 May 2021 22:32:14 +0000 (15:32 -0700)]
session: connects seg manager is always first

By convention, connects segment manager will be first. Therefore it will
be the one with the first segment wherein lies the app's message queue.

Saves us the trouble of allocating it on first connect, if app started
by listening, and we no longer need to track if it's assignable to a
listener or if it can be removed.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iba9a8ffaab618eeb41ec2144dcfee62d006dc7a2

3 years agoavf: Fix cksum offload / ipsec 05/32205/3
Nathan Skrzypczak [Tue, 4 May 2021 13:46:33 +0000 (15:46 +0200)]
avf: Fix cksum offload / ipsec

VNET_BUFFER_F_OFFLOAD means 'check 2nd cacheline'
but we can still have TCP_CKSUM=0 & UDP_CKSUM=0

Type: fix

Change-Id: I42b5974f6d34b777aa959c06c67619a5c83c5805
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
3 years agovppinfra: add universal array mask_compare and compress funcs 39/32239/8
Damjan Marion [Thu, 6 May 2021 15:34:49 +0000 (17:34 +0200)]
vppinfra: add universal array mask_compare and compress funcs

Type: improvement
Change-Id: I6d812339f626ea630ad9354632d2f9506122d379
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agovcl: add dtls test 44/32244/4
Florin Coras [Thu, 6 May 2021 19:46:04 +0000 (12:46 -0700)]
vcl: add dtls test

Type: test

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I726ab3a22399e970b0dd37a5b174062137265914

3 years agobuild: add FORCE_ON option for multiarch variants 41/32241/2
Damjan Marion [Thu, 6 May 2021 18:48:34 +0000 (20:48 +0200)]
build: add FORCE_ON option for multiarch variants

Type: make
Change-Id: I37fb925a9cc2dfc21dd7874f4b20a6943b28efc8
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agotests: fix race condition in punt tests 45/32245/2
Dave Wallace [Thu, 6 May 2021 19:59:59 +0000 (15:59 -0400)]
tests: fix race condition in punt tests

Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I6cb13e044bbb966cbb61802094e96220d3a0c951

3 years agobuild: fix ./configure help 42/32242/2
Damjan Marion [Tue, 4 May 2021 07:37:56 +0000 (09:37 +0200)]
build: fix ./configure help

Type: make
Change-Id: I2479f1f84d32bf3e7266625a01174c1706bea7be
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agovcl: move tests to src/tests 43/32243/2
Florin Coras [Thu, 6 May 2021 19:24:40 +0000 (12:24 -0700)]
vcl: move tests to src/tests

Type: refactor

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: If622dfcc6f98d90cac0487e6bb9eb8c0bb01cf85

3 years agostats: move vector_rate counters into provider 31/32231/3
Ole Troan [Thu, 6 May 2021 09:02:37 +0000 (11:02 +0200)]
stats: move vector_rate counters into provider

Type: improvement
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Iae1fb59a6dc9679c0fa0b87fa5232d551a7995a5

3 years agovlib: remove unused simple counters fields 36/32236/4
Ole Troan [Thu, 6 May 2021 14:15:35 +0000 (16:15 +0200)]
vlib: remove unused simple counters fields

Type: improvement
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I46cfdcd02e5fda310367da17532cd2f355044811
Signed-off-by: Ole Troan <ot@cisco.com>
3 years agovcl: reduce iperf tests output 29/32229/4
Florin Coras [Thu, 6 May 2021 07:08:18 +0000 (00:08 -0700)]
vcl: reduce iperf tests output

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ia6197e99ebc42367624da27387216dc4cdb3141b

3 years agovppinfra: export unserialize_elog_main for g2 28/32228/4
Florin Coras [Thu, 6 May 2021 03:48:02 +0000 (20:48 -0700)]
vppinfra: export unserialize_elog_main for g2

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ifb322a7eb7ca14c3561ea34e40b80e3d1ce1b6a5

3 years agovppinfra: fix tests 37/32237/2
Damjan Marion [Thu, 6 May 2021 15:28:12 +0000 (17:28 +0200)]
vppinfra: fix tests

Type: fix
Change-Id: If59a66aae658dd35dbcb4987ab00c306b3c6e2e2
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agovlib: rename vl_counter_t to vlib_error_desc_t 34/32234/2
Ole Troan [Thu, 6 May 2021 12:09:50 +0000 (14:09 +0200)]
vlib: rename vl_counter_t to vlib_error_desc_t

Type: improvement
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I368b0410db2d633d3c52199c840e24d21952c1b4

3 years agostats: memory heap counters 30/32230/2
Ole Troan [Wed, 5 May 2021 07:23:17 +0000 (09:23 +0200)]
stats: memory heap counters

- Add counters for the main-heap
- Add additional counters per heap:
  STAT_MEM_TOTAL
  STAT_MEM_USED,
  STAT_MEM_FREE,
  STAT_MEM_USED_MMAP,
  STAT_MEM_TOTAL_ALLOC,
  STAT_MEM_FREE_CHUNKS,
  STAT_MEM_RELEASABLE,

The per-heap counters are organised as a two dimensional vector.
total, used and free are directly available via symlinks.

vpp_get_stats ls "^/mem/"
/mem/stat segment
/mem/stat segment/total
/mem/stat segment/used
/mem/stat segment/free
/mem/main heap
/mem/main heap/total
/mem/main heap/used
/mem/main heap/free

vpp_get_stats dump "^/mem/main\ heap$"
[0 @ 0]: 1073741776 packets /mem/main heap
[1 @ 0]: 91586688 packets /mem/main heap
[2 @ 0]: 982155088 packets /mem/main heap
[3 @ 0]: 0 packets /mem/main heap
[4 @ 0]: 1073741776 packets /mem/main heap
[5 @ 0]: 433 packets /mem/main heap
[6 @ 0]: 981708688 packets /mem/main heap

Type: feature
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I36725dde3b4b3befd27a8b4d3ba931f2d3b627cc

3 years agopnat: coverity errors 33/32233/2
Ole Troan [Thu, 6 May 2021 11:39:55 +0000 (13:39 +0200)]
pnat: coverity errors

Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Ic38cfbdcab86172bad6ec6cb4c66c83f8deed64f
Signed-off-by: Ole Troan <ot@cisco.com>
3 years agomemif: add severity to counters 07/31607/3
Ole Troan [Wed, 10 Mar 2021 11:52:53 +0000 (12:52 +0100)]
memif: add severity to counters

Also rename counters in stat segment to make them more filesystem friendly.

Type: improvement
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I8a3f3ec318931f5475fcb181f8b4a079a1fa4b9c
Signed-off-by: Ole Troan <ot@cisco.com>
3 years agovlib: fix the offload flags size 17/32217/3
Mohsin Kazmi [Wed, 5 May 2021 12:26:38 +0000 (14:26 +0200)]
vlib: fix the offload flags size

Type: fix

Change-Id: I433fe3799975fe3ba00fa30226f6e8dae34e88fc
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
3 years agovppinfra: enfoce function pointer cast in CLIB_MARCH_FN_POINTER 26/32226/2
Damjan Marion [Wed, 5 May 2021 18:06:39 +0000 (20:06 +0200)]
vppinfra: enfoce function pointer cast in CLIB_MARCH_FN_POINTER

Type: improvement
Change-Id: I6ba9f9467a3990f1436a60b1dbc6cb795fd18ba9
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agovppinfra: fix x86 packs / packus wrappers 25/32225/1
Damjan Marion [Wed, 5 May 2021 17:31:41 +0000 (19:31 +0200)]
vppinfra: fix x86 packs / packus wrappers

They both take signed value as input.

Type: fix
Change-Id: If3d8ec4e0b1c02d7d65262bdd9db49ff7fbfef39
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agoavf: remove dead store 15/32215/2
Damjan Marion [Wed, 5 May 2021 12:36:04 +0000 (14:36 +0200)]
avf: remove dead store

Type: fix
Change-Id: Ic8d965aecea6b5b729e3f414235e676d62de779a
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agovlib: fix adaptive mode flag unset on nodes reforking 92/31992/4
Maxime Peim [Thu, 15 Apr 2021 11:52:12 +0000 (13:52 +0200)]
vlib: fix adaptive mode flag unset on nodes reforking

The adaptive mode flag is being unset on
nodes reforking. The flag is copied in order
to avoid this issue.

Old flags are copied for all nodes.

Type: fix
Signed-off-by: Maxime Peim <mpeim@cisco.com>
Change-Id: Ic29b20fc0e4454ce4b3765c478f55bf650b4572a

3 years agonat: cli commands parsing fix 92/32192/6
Filip Varga [Mon, 3 May 2021 11:45:16 +0000 (13:45 +0200)]
nat: cli commands parsing fix

Newline get's ignored when parsing configuration file.

Type: fix

Signed-off-by: Filip Varga <fivarga@cisco.com>
Change-Id: Ib4f86177150dfe3bc085231a9268cf730490ea81

3 years agonat: fixing cfg file parsing cli issues 12/32212/3
Filip Varga [Tue, 4 May 2021 14:27:33 +0000 (16:27 +0200)]
nat: fixing cfg file parsing cli issues

Type: fix

Change-Id: I35012bb2f7af1996c954641af40f3223bc7f37e4
Signed-off-by: Filip Varga <fivarga@cisco.com>
3 years agobuild: set CMAKE_EXPORT_COMPILE_COMMANDS 13/32213/1
Damjan Marion [Wed, 5 May 2021 08:24:38 +0000 (10:24 +0200)]
build: set CMAKE_EXPORT_COMPILE_COMMANDS

Type: make
Change-Id: I8c59c91b4af49efcfcf7544df01b3d20511abe52
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agovlib: move offload flags to 1st cacheline in vlib_buffer_t 04/32104/3
Mohsin Kazmi [Fri, 23 Apr 2021 13:16:50 +0000 (15:16 +0200)]
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>
3 years agomisc: ipfix process node wait time adjustment 61/32161/4
Matthew Smith [Wed, 28 Apr 2021 16:48:39 +0000 (11:48 -0500)]
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>
3 years agoapi: fix crash in custom dump 10/32210/2
Paul Vinciguerra [Wed, 5 May 2021 04:19:00 +0000 (00:19 -0400)]
api: fix crash in custom dump

Change-Id: Iffc52b4f52c235b0b5d13d2b42467cb2be0bf934
Type: fix
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
3 years agocrypto crypto-openssl: support hashing operations 02/32202/5
Filip Tehlar [Mon, 3 May 2021 15:29:56 +0000 (15:29 +0000)]
crypto crypto-openssl: support hashing operations

Type: feature

Change-Id: I36041fe5c5f0ff129aee42516189807e96f62123
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
3 years agotcp: cleanup rcv-process and bulk buffer translation 09/32209/3
Florin Coras [Wed, 5 May 2021 02:30:58 +0000 (19:30 -0700)]
tcp: cleanup rcv-process and bulk buffer translation

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I2ca8a5e30e55a84d4567422e4b7fcf90830921d3

3 years agotcp: cleanup listen node and bulk buffer translation 07/32207/2
Florin Coras [Tue, 4 May 2021 21:53:25 +0000 (14:53 -0700)]
tcp: cleanup listen node and bulk buffer translation

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I2d11b1411a7653b94fddd889a5f28640c5f5566c

3 years agotcp: cleanup syn-sent and bulk buffer translation 08/32208/2
Florin Coras [Wed, 5 May 2021 00:08:49 +0000 (17:08 -0700)]
tcp: cleanup syn-sent and bulk buffer translation

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Idb286e77a877a6a60aa532263277f002fc002e48

3 years agotcp: cleanup established and bulk buffer translation 97/32097/6
Florin Coras [Fri, 23 Apr 2021 01:53:30 +0000 (18:53 -0700)]
tcp: cleanup established and bulk buffer translation

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ic37f640b7f0d0a041c003e76c8f29c21b5e664b3

3 years agovirtio: add simple drop counter for interface 06/32206/2
Mohsin Kazmi [Tue, 4 May 2021 14:36:09 +0000 (16:36 +0200)]
virtio: add simple drop counter for interface

Type: improvement

Change-Id: I4ac6b1a6553e26a5c26b6761fa3c4cc5d4925486
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
3 years agovirtio: fix the interrupt 67/32167/8
Mohsin Kazmi [Wed, 28 Apr 2021 16:55:45 +0000 (18:55 +0200)]
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>
3 years agostats: adding symlinks for nodes and interfaces in the stat segment 36/31636/18
Arthur de Kerhor [Thu, 11 Mar 2021 18:26:54 +0000 (10:26 -0800)]
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>
3 years agodpdk: allow configuration of max-simd-bitwidth 04/32204/3
Ray Kinsella [Tue, 4 May 2021 09:07:26 +0000 (10:07 +0100)]
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>
3 years agomisc: improve src detection in configure script 01/32201/3
Mohammed Hawari [Tue, 4 May 2021 09:34:37 +0000 (11:34 +0200)]
misc: improve src detection in configure script

Change-Id: I2c45b160d76883044a3a7db0afcac0c56bcd2bcf
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Type: feature

3 years agoavf: fix simultaneous txq wrap and tx retry 00/32200/1
Mohammed Hawari [Tue, 4 May 2021 08:15:32 +0000 (10:15 +0200)]
avf: fix simultaneous txq wrap and tx retry

Change-Id: Ic2b853cda98c3010d2abb5c7ada1b1f6c5bc9f74
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Type: fix
Fixes: ca1812dbe714fc8e4de13f88df2d3b830d95a2c9
Ticket: VPP-1980

3 years agordma: add support for RSS configuration 71/31671/4
Benoît Ganne [Wed, 17 Mar 2021 13:41:33 +0000 (14:41 +0100)]
rdma: add support for RSS configuration

Type: feature

Change-Id: I911ee94b624ef5edf46b34666597eff93df1d1ed
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agordma: support non-power-of-2 number of rxq 94/32194/2
Benoît Ganne [Mon, 3 May 2021 15:02:39 +0000 (17:02 +0200)]
rdma: support non-power-of-2 number of rxq

Type: improvement

Change-Id: I7b78a8470aa3fd271120587d08e82afb23cb195b
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agobuild: add set-build-type-* targets to CMake 90/32190/4
Damjan Marion [Mon, 3 May 2021 10:40:27 +0000 (12:40 +0200)]
build: add set-build-type-* targets to CMake

Type: make
Change-Id: Icf37873b461cd034567dc1b99e23d1bbb3f4b9f0
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agoquic: fix coverity warning 95/32195/1
Florin Coras [Mon, 3 May 2021 15:34:53 +0000 (08:34 -0700)]
quic: fix coverity warning

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I277f2e9ae2b763f5833778406d11218211163e43

3 years agosession: lookup listener with iface address 73/32173/6
liuyacan [Fri, 30 Apr 2021 08:57:37 +0000 (08:57 +0000)]
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

3 years agordma: avoid unnencessary inlining 42/32142/2
Damjan Marion [Tue, 27 Apr 2021 16:23:20 +0000 (18:23 +0200)]
rdma: avoid unnencessary inlining

Type: fix
Change-Id: Ifc4b30675365ebb5d69c018a34fd17a5090b30e1
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agovlib: multiarch vlib_frame_queue_dequeue() 85/32185/3
Damjan Marion [Sat, 1 May 2021 12:56:13 +0000 (14:56 +0200)]
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>
3 years agoquic: improve udp dgram write 84/32184/5
Florin Coras [Sat, 1 May 2021 00:50:29 +0000 (17:50 -0700)]
quic: improve udp dgram write

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I2992c66d11fe6adc96b525b0fde533e5ff58d7e4

3 years agotls: cleanup dtls migrated context 87/32187/4
Florin Coras [Sun, 2 May 2021 02:01:42 +0000 (19:01 -0700)]
tls: cleanup dtls migrated context

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I433cc1b7a29f785a431618641317bbfbbe2cf2f4

3 years agovcl: attr api to set endpt ext config 86/32186/5
Florin Coras [Sat, 1 May 2021 23:01:40 +0000 (16:01 -0700)]
vcl: attr api to set endpt ext config

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I06cd3721c1b534e9449bf96760c02ca30628c21e

3 years agovlib: refactor trajectory trace debug feature 28/31528/4
Benoît Ganne [Thu, 4 Mar 2021 13:31:03 +0000 (14:31 +0100)]
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>
3 years agobuild: add option to turn off some march variants 83/32183/2
Damjan Marion [Fri, 30 Apr 2021 17:31:09 +0000 (19:31 +0200)]
build: add option to turn off some march variants

Type: make
Change-Id: I53f7995c7e7a7ff829c662d71f37d88780bdd140
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agobuild: declare some CMake variables as advanced 82/32182/1
Damjan Marion [Fri, 30 Apr 2021 18:27:53 +0000 (20:27 +0200)]
build: declare some CMake variables as advanced

Type: make
Change-Id: I780c1c81a50cb92bc89c05856efd8ef88479c0ab
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agomisc: experimental configure script 77/32177/7
Damjan Marion [Thu, 29 Apr 2021 16:47:25 +0000 (18:47 +0200)]
misc: experimental configure script

Type: make
Change-Id: Iaeb9d22eec9a7a763b63899814a44e78c8050f1f
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agoquic: report number of packets sent on custom tx 69/32169/4
Florin Coras [Fri, 30 Apr 2021 00:07:06 +0000 (17:07 -0700)]
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

3 years agohsa: vcl test client incremental stats 71/32171/6
Florin Coras [Fri, 30 Apr 2021 04:28:03 +0000 (21:28 -0700)]
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

3 years agobuild: switch release build to -O3 74/32174/1
Damjan Marion [Fri, 30 Apr 2021 09:11:08 +0000 (11:11 +0200)]
build: switch release build to -O3

Type: make
Change-Id: Ia39c2f847e7b4907fdd3fcac75897b8b4c545a65
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agosession: accept notifies for sessions in created state 68/32168/2
Florin Coras [Thu, 29 Apr 2021 18:55:23 +0000 (11:55 -0700)]
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

3 years agosession: cleanup CREATED sessions when listener goes down 59/32159/6
liuyacan [Wed, 28 Apr 2021 11:34:03 +0000 (11:34 +0000)]
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

3 years agocrypto: fix chained buffer integrity support 85/31585/5
Benoît Ganne [Mon, 8 Mar 2021 09:22:51 +0000 (10:22 +0100)]
crypto: fix chained buffer integrity support

Type: fix

Change-Id: I984a3e577a4209e41d046eaf3a8eef8986dc6147
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agohsa: vcl test perf improvements 63/32163/13
Florin Coras [Wed, 28 Apr 2021 20:02:33 +0000 (13:02 -0700)]
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

3 years agovcl: fix epoll wait with indefinite timeout 62/32162/4
Florin Coras [Wed, 28 Apr 2021 20:01:06 +0000 (13:01 -0700)]
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

3 years agovppinfra: AArch64 NEON implementation of clib_compare_u16_x64() 60/32160/3
Damjan Marion [Wed, 28 Apr 2021 17:31:22 +0000 (19:31 +0200)]
vppinfra: AArch64 NEON implementation of clib_compare_u16_x64()

Type: improvement
Change-Id: I1382813211ea20c6204d7a3b6e6d470aa51aed69
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agotests: add worker count to class description 64/31764/12
Klement Sekera [Thu, 25 Mar 2021 13:03:44 +0000 (14:03 +0100)]
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

3 years agovppinfra: don't fail if config.h is missing, fallback to defaults instead 57/32157/2
Damjan Marion [Wed, 28 Apr 2021 15:30:51 +0000 (17:30 +0200)]
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>
3 years agopapi: change default to use socket transport instead of shared memory transport 96/31996/6
Ole Troan [Thu, 15 Apr 2021 14:53:39 +0000 (16:53 +0200)]
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>
3 years agopg: exec file fixes 28/32028/7
mdr78 [Tue, 23 Mar 2021 12:40:21 +0000 (12:40 +0000)]
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

3 years agohsa: fix quic vcl test 51/32151/5
Florin Coras [Wed, 28 Apr 2021 00:03:24 +0000 (17:03 -0700)]
hsa: fix quic vcl test

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I9a4bf384be65ba8b868d1172c7b6e00ae959601e

3 years agohsa: support sigint in vcl test client 53/32153/5
Florin Coras [Wed, 28 Apr 2021 07:04:33 +0000 (00:04 -0700)]
hsa: support sigint in vcl test client

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie0d5fe97a727465f8851fc2110219483a5bf3f27

3 years agoip: extend the punt cli to accept reason filter for sockets registration 58/31958/3
Arthur de Kerhor [Mon, 12 Apr 2021 15:16:56 +0000 (08:16 -0700)]
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

3 years agonat: fix byte order on ipfix message fields 25/32125/3
Matthew Smith [Wed, 4 Nov 2020 17:18:10 +0000 (11:18 -0600)]
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>
3 years agogre: Remove the debugging logging from the mGRE tests 38/32138/4
Neale Ranns [Tue, 27 Apr 2021 13:54:46 +0000 (13:54 +0000)]
gre: Remove the debugging logging from the mGRE tests

Type: test

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I5c540b3a2f26689973daec80372c5a935a455a12

3 years agobuild: Makefile cleanup 50/32150/2
Damjan Marion [Tue, 27 Apr 2021 22:11:33 +0000 (00:11 +0200)]
build: Makefile cleanup

Type: make
Change-Id: I751b0a25161c6eb8614ca19f7c77a4de82401f3d
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agomisc: fix dead stores 48/32148/2
Damjan Marion [Tue, 27 Apr 2021 17:41:45 +0000 (19:41 +0200)]
misc: fix dead stores

Type: fix
Change-Id: I08969e1c4a78f8ac92ec066a3b67e64dc931bc16
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agovlib: improve enqueue_to_next buffer indices extraction 95/32095/10
Damjan Marion [Thu, 22 Apr 2021 16:08:28 +0000 (18:08 +0200)]
vlib: improve enqueue_to_next buffer indices extraction

Type: improvement

Change-Id: Ib7b2fa7d821f6d2708f6dc378a0f36f68c843f57
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agohsa: custom proto vfts for vcl tests 30/32130/12
Florin Coras [Tue, 27 Apr 2021 01:43:20 +0000 (18:43 -0700)]
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

3 years agosession: fix mq ext config cleanup 45/32145/2
Florin Coras [Tue, 27 Apr 2021 20:30:37 +0000 (13:30 -0700)]
session: fix mq ext config cleanup

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I18eb1a71ac22017f75f835a23a57b023b46524ce

3 years agomisc: add StatementMacros to .clang-format 11/32111/6
Damjan Marion [Sun, 25 Apr 2021 08:46:26 +0000 (10:46 +0200)]
misc: add StatementMacros to .clang-format

Type: make
Change-Id: I79d8d0aa8b8349df0b3c1f338861350e8df31ca6
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agovppinfra: silence coverity warnings related to clib_memcpy_u32() 31/32131/2
Damjan Marion [Tue, 27 Apr 2021 09:00:54 +0000 (11:00 +0200)]
vppinfra: silence coverity warnings related to clib_memcpy_u32()

Type: fix
Change-Id: I17e7b3fca390c0b0150c4606f7c93771ee9bdbdc
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agomisc: update arp and ip6-nd files location 80/32080/2
Steven Luong [Wed, 21 Apr 2021 18:11:41 +0000 (11:11 -0700)]
misc: update arp and ip6-nd files location

arp and ip6-nd are not plugins [yet]. Change the files location to
reflect its current correct locations.

Type: fix

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: Ibcde8867cc50abbf2061d1e80390c528393ec4df