vpp.git
3 years agonat: det44 plugin fix style and api cleanup 37/29037/4
Filip Varga [Wed, 23 Sep 2020 11:47:50 +0000 (13:47 +0200)]
nat: det44 plugin fix style and api cleanup

Type: refactor

Change-Id: I3c5ca31de8046b82fb3d3f364ba88370fe51ef02
Signed-off-by: Filip Varga <fivarga@cisco.com>
3 years agovppinfra: add heap header in front of dlmalloc space 71/29271/4
Damjan Marion [Tue, 6 Oct 2020 15:46:06 +0000 (17:46 +0200)]
vppinfra: add heap header in front of dlmalloc space

This patch adds smal header in front of dlmalloc space, and it stores
some additional information about the heap.

Immediate benefit of this patch is that we know the underlying page size
si we can display heap page statistics / real memory usage.

Type: improvement
Change-Id: Ibd6989cc2f2f64630ab08734c9552e15029c5f3f
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agomisc: add xxx_not_inline 72/29272/1
Dave Barach [Tue, 6 Oct 2020 18:08:16 +0000 (14:08 -0400)]
misc: add xxx_not_inline

vlib_main_t *vlib_get_main_not_inline(void)
vlib_thread_main_t *vlib_get_thread_main_not_inline(void)
elog_main_t *vlib_get_elog_main_not_inline()

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

3 years agofeature: Add packet trace API 45/27445/16
Jon Loeliger [Mon, 11 May 2020 13:43:51 +0000 (08:43 -0500)]
feature: Add packet trace API

Also spiffed up the vpp_api_test plugin loader so it executes
VLIB_INIT_FUNCTIONs and VLIB_API_INIT_FUNCTIONs.

Type: feature

Change-Id: Id9a4f455d73738c41bcfea220df2112bb9679681
Signed-off-by: Jon Loeliger <jdl@netgate.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
3 years agovppinfra: address sanitizer: do not instrument dlmalloc internals 27/29227/2
Benoît Ganne [Mon, 5 Oct 2020 08:33:24 +0000 (10:33 +0200)]
vppinfra: address sanitizer: do not instrument dlmalloc internals

Type: fix

Change-Id: I8b50777b6ce7df461e5256921591a58e52877628
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agoikev2: support ipv6 traffic selectors & overlay 33/28733/11
Filip Tehlar [Tue, 8 Sep 2020 06:08:05 +0000 (06:08 +0000)]
ikev2: support ipv6 traffic selectors & overlay

Ticket: VPP-1917
Type: feature

Change-Id: Ie9f22e7336aa7807b1967c48de9843df10fb575c
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
3 years agoipsec: Use bihash for tunnel lookup 25/27225/8
Neale Ranns [Sun, 24 May 2020 16:17:50 +0000 (16:17 +0000)]
ipsec: Use bihash for tunnel lookup

Type: improvement

Change-Id: I0c82722dfce990345fe6eeecdb335678543367e0
Signed-off-by: Neale Ranns <nranns@cisco.com>
3 years agolldp: set interface MAC address when enabled 18/29218/2
Klement Sekera [Fri, 2 Oct 2020 14:12:37 +0000 (14:12 +0000)]
lldp: set interface MAC address when enabled

Type: improvement
Change-Id: I4f2dc4e4c1c467fb9acd0fed231c56fcd54c8da9
Signed-off-by: Klement Sekera <ksekera@cisco.com>
3 years agovlib: always replace bootstrap vlib_mains 20/29220/2
Dave Barach [Fri, 2 Oct 2020 15:35:44 +0000 (11:35 -0400)]
vlib: always replace bootstrap vlib_mains

Fixes an obscure issue when spinning up pure pthreads which don't have
vlib_main_t clones.

VLIB_REGISTER_THREAD () = {
  <snip>
  .use_pthreads = 1,
  .no_data_structure_clone = 1,
}

Type: improvement

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

3 years agovppinfra: use clib_mem_create_heap() to create numa heap(s) 17/29217/1
Damjan Marion [Fri, 2 Oct 2020 13:01:12 +0000 (15:01 +0200)]
vppinfra: use clib_mem_create_heap() to create numa heap(s)

Type: improvement
Change-Id: Ie04302c576869bc7bfaa9f13ed2ea8a403a393d4
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agomemif: map shared memory with clib_mem_vm_map_shared(...) 01/28901/10
Damjan Marion [Thu, 17 Sep 2020 11:41:18 +0000 (13:41 +0200)]
memif: map shared memory with clib_mem_vm_map_shared(...)

Type: improvement
Change-Id: I91031d56aae884a0a42fca343a2fc24c442b1da8
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agonat: add dummy nat_ha_resync() to avoid missing symbol errors 14/29214/2
Damjan Marion [Fri, 2 Oct 2020 10:13:08 +0000 (12:13 +0200)]
nat: add dummy nat_ha_resync() to avoid missing symbol errors

Type: fix
Change-Id: I288e93da192cf48b3d774e36584d471d4daa2727
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agoip: Fix unformat_ip_prefix 06/29206/3
Nathan Skrzypczak [Thu, 1 Oct 2020 14:50:14 +0000 (16:50 +0200)]
ip: Fix unformat_ip_prefix

Type: fix

Change-Id: I73629ccf7d5a49da3858899dc727cc180fb53003
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
3 years agoikev2: fix leaking pending INIT requests 12/29212/2
Filip Tehlar [Thu, 1 Oct 2020 03:08:52 +0000 (03:08 +0000)]
ikev2: fix leaking pending INIT requests

.. when associated profile is deleted.

Type: fix

Change-Id: Ib05831d79b3b58664ee0a930960513fd465373bf
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
3 years agovppinfra: Function to check if a bihash has been initialised 52/29152/2
Neale Ranns [Tue, 29 Sep 2020 14:44:23 +0000 (14:44 +0000)]
vppinfra: Function to check if a bihash has been initialised

Type: improvement

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: Ic31f7721f326ca9d78d645abcea63ce58df5bd5b

3 years agodpdk: split PCI blacklist rte_eal args from startup.conf 96/29196/5
Vladimir Ratnikov [Thu, 1 Oct 2020 10:16:13 +0000 (06:16 -0400)]
dpdk: split PCI blacklist rte_eal args from startup.conf

Type: fix
Fixes: ed04407829728c5d258b6600155edabd5198d971

Signed-off-by: Vladimir Ratnikov <vratnikov@netgate.com>
Change-Id: I5aebcba7b97db758310042fd446328ee8f691641

3 years agoikev2: fix cli memory leak 08/29208/2
Benoît Ganne [Wed, 30 Sep 2020 16:35:27 +0000 (18:35 +0200)]
ikev2: fix cli memory leak

Type: fix

Change-Id: Ibdd83fa336427ec0c66224ecebb1b6bd36d1d1ba
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agovppinfra: fix legacy huge pages creation for default size 15/29115/4
Benoît Ganne [Mon, 28 Sep 2020 15:34:17 +0000 (17:34 +0200)]
vppinfra: fix legacy huge pages creation for default size

Type: fix

Change-Id: I941b92ebec66ccd9c9e9a12d485844313c9f117b
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
3 years agobuild: fix build for debian testing 98/29098/5
Chuan Han [Fri, 25 Sep 2020 22:34:06 +0000 (15:34 -0700)]
build: fix build for debian testing

1. add libelf-dev to default deb deps
2. Also use libffi7 instead of libffi6 for debian-testing

Type: fix

Signed-off-by: Chuan Han <chuan.han.comm@gmail.com>
Change-Id: I9f13955812877422ecb8aac3dd34c5828b9c4607

3 years agomisc: allow disabling of ipfix exporter via api 03/29203/2
Alexander Chernavin [Thu, 1 Oct 2020 12:57:59 +0000 (08:57 -0400)]
misc: allow disabling of ipfix exporter via api

Zero collector address indicates that the IPFIX exporter is disabled.
You can zero the collector address via vppctl but you can't do it via
the API because the handler returns an error if the address is zero.

With this change, do not return an error in the handler when the
collector address is zero thus allowing the IPFIX exporter be
disabled.

Type: fix
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Change-Id: I1335c0d06af81f11d743c395399a360c612c0c21

3 years agovlib: fix line-mode cli memory leak 07/29207/2
Benoît Ganne [Thu, 1 Oct 2020 16:20:23 +0000 (18:20 +0200)]
vlib: fix line-mode cli memory leak

Type: fix

Change-Id: Iaf60ec93ee9750074f52ba4dbe955355de5dbccc
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agoclassify: Fix a couple bugs in 'pcap filter' command. 84/28984/4
Jon Loeliger [Mon, 21 Sep 2020 21:48:54 +0000 (16:48 -0500)]
classify: Fix a couple bugs in 'pcap filter' command.

- Assert a valid set prior to first use.
- Sort tables by mask prior to selecting first table
- Use actual table indices and not loop index when linking tables

Type: fix

Change-Id: I9c61c8b7fe97c38faed8f2fc1792d7232799f580
Signed-off-by: Jon Loeliger <jdl@netgate.com>
3 years agosvm: simplify memfd client segment mapping 69/29169/6
Florin Coras [Wed, 30 Sep 2020 15:13:44 +0000 (08:13 -0700)]
svm: simplify memfd client segment mapping

Type: improvement

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

3 years agoikev2: fix issue when decrypting packet with no keys 99/29199/1
Filip Tehlar [Wed, 30 Sep 2020 21:56:01 +0000 (21:56 +0000)]
ikev2: fix issue when decrypting packet with no keys

Type: fix

Change-Id: I0e615d5089587992012a0f280ee902b2906f21c2
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
3 years agoikev2: refactor ikev2 node 76/28276/12
Filip Tehlar [Sat, 26 Sep 2020 16:47:13 +0000 (16:47 +0000)]
ikev2: refactor ikev2 node

Type: refactor

Change-Id: I65acbd5d9724c500a24699de973df08016d9d8d6
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
3 years agosession: init size and watermarks on all seg managers 59/29159/3
Florin Coras [Wed, 30 Sep 2020 02:18:46 +0000 (19:18 -0700)]
session: init size and watermarks on all seg managers

Type: fix

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

3 years agosvm: harmonize ssvm names 58/29158/5
Florin Coras [Wed, 30 Sep 2020 01:11:24 +0000 (18:11 -0700)]
svm: harmonize ssvm names

Type: refactor

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

3 years agovpp: update 'show bihash' command 70/29170/2
Damjan Marion [Wed, 30 Sep 2020 12:15:24 +0000 (14:15 +0200)]
vpp: update 'show bihash' command

Type: improvement
Change-Id: I6d00ba840d2168af0658f97c45a42d39be7cbbad
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agoikev2: better packet parsing functions 59/28259/12
Filip Tehlar [Thu, 16 Jul 2020 07:25:56 +0000 (07:25 +0000)]
ikev2: better packet parsing functions

Ticket: VPP-1918
Type: improvement

Change-Id: I2bc3e30121697404dcd54f1c2127bd85ccc1029e
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
3 years agoikev2: show IKE SA command improvements 27/28427/3
Filip Tehlar [Mon, 17 Aug 2020 10:59:23 +0000 (10:59 +0000)]
ikev2: show IKE SA command improvements

Ticket: VPP-1898
Type: improvement

Change-Id: I1c56df331965c733a2d0eae63a12d5a4ee5a2e41
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
3 years agovppinfra: use heap to store bihash data 99/29099/7
Damjan Marion [Sat, 26 Sep 2020 17:32:34 +0000 (19:32 +0200)]
vppinfra: use heap to store bihash data

Type: improvement
Change-Id: Ifb0fa114414aa2fdc244f964612ca3ac3e29b5e1
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agosvm session: use new clib mem apis for segments 40/29140/11
Florin Coras [Tue, 29 Sep 2020 06:40:28 +0000 (23:40 -0700)]
svm session: use new clib mem apis for segments

"sh memory map" now reports shared memory segments mapped by session
layer for applications.

Type: improvement

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

3 years agoavf: check duplicate pci address upon create interface 57/29157/2
Steven Luong [Tue, 29 Sep 2020 23:23:25 +0000 (16:23 -0700)]
avf: check duplicate pci address upon create interface

Entering duplicate pci address when creating an avf interface causes
crash in register_node

(gdb) f 4
145     error_exit (1);
(gdb) up
354       clib_error ("more than one node named `%v'", n->name);
(gdb) p n
$1 = (vlib_node_t *) 0x7fffbbe55de4
(gdb) p n->name
$2 = (u8 *) 0x7fffbc410b10 "avf-0/4/a/0-tx"
(gdb)

The fix is to loop through the pci addresses in the avf interface pool
and to reject the duplicate.

Type: improvement

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

3 years agowireguard: fix udp-port registration 56/29156/2
Artem Glazychev [Tue, 29 Sep 2020 18:07:46 +0000 (01:07 +0700)]
wireguard: fix udp-port registration

Type: fix

Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Change-Id: I698ef299316004b797da1e74b64d067caac4bd2d

3 years agosvm: fix max fifo size 55/29155/2
Florin Coras [Tue, 29 Sep 2020 17:27:07 +0000 (10:27 -0700)]
svm: fix max fifo size

Type: fix

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

3 years agohsa: fix coverity warning 51/29151/3
Florin Coras [Tue, 29 Sep 2020 14:45:25 +0000 (07:45 -0700)]
hsa: fix coverity warning

Type: fix

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

3 years agoikev2: fix false positive NAT detection 32/29132/1
Filip Tehlar [Fri, 25 Sep 2020 16:55:03 +0000 (16:55 +0000)]
ikev2: fix false positive NAT detection

Type: fix

Change-Id: Id7f865f537c55d00a784eec51624ba28e903a083
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
3 years agovirtio: fix modern device queue notify 41/28841/4
Mohsin Kazmi [Tue, 29 Sep 2020 10:01:25 +0000 (10:01 +0000)]
virtio: fix modern device queue notify

QUEUE_SELECT and QUEUE_NOTIFY_OFF registers are shared between all
workers operating on the same device and operations are not atomic

Type: fix

Change-Id: Ie017b1bfc7e3b6b4e59029f45db78eeffd9f3aeb
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
3 years agovcl svm: provide apps access to fifo chunks 96/29096/7
Florin Coras [Fri, 25 Sep 2020 22:18:13 +0000 (15:18 -0700)]
vcl svm: provide apps access to fifo chunks

Type: feature

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

3 years agowireguard: fix license headers 11/29111/2
Artem Glazychev [Mon, 28 Sep 2020 12:54:35 +0000 (19:54 +0700)]
wireguard: fix license headers

Type: fix

Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Change-Id: If5cc8894e0d1785dd04ab1e460e017580c9b41ce

3 years agowireguard: fix indents 10/29110/2
Artem Glazychev [Mon, 28 Sep 2020 12:34:23 +0000 (19:34 +0700)]
wireguard: fix indents

Type: fix

Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Change-Id: I84cd7b08eac62160cf407409d32dd40cec7ae9d6

3 years agowireguard: readme fix 04/29104/3
Artem Glazychev [Mon, 28 Sep 2020 09:57:26 +0000 (16:57 +0700)]
wireguard: readme fix

Type: fix

Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Change-Id: I0080a158fc3e17dfdd360f6ba164e3bfa3d585a6

3 years agodpdk: fix compile 97/29097/4
Fan Zhang [Fri, 25 Sep 2020 21:36:04 +0000 (22:36 +0100)]
dpdk: fix compile

Type: fix

Since DPDK is now compiled by meson but some compiles in VPP is
missing. This patch fixes that.

- Fixes QAT PMD not compiled. QAT meson compile, even for sym
crypto PMD, is happened in drive/compress/qat. Originally all
PMDs in compressdev is disabled by default. This patch fixes
that.

- Fixes DPDK plugin version detection. DPDK meson build
generates rte_build_config.h, which containing all version
information in build-dpdk instead of rte_config.h in make.
This patch uses the file to detect version data.

- Removed SW crypto PMD auto-creation in cryptodev engine. In
case the AESNI-MB PMD required shared library is missing.

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

3 years agoavf: validate queue size config 37/29137/3
Steven Luong [Mon, 28 Sep 2020 19:25:22 +0000 (12:25 -0700)]
avf: validate queue size config

Check CLI queue size is within the range of 64 and 4096
Enhance show hardware to display queue size and number of queues.

Type: improvement

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

3 years agovppinfra: don't call dlmalloc API directly from the code 36/29136/2
Damjan Marion [Mon, 28 Sep 2020 17:03:37 +0000 (19:03 +0200)]
vppinfra: don't call dlmalloc API directly from the code

 - it is confusing from end consumer perspective that some thing
   is somewhere called heap and somewhere mspace

 - this is base for additional work where heap pointer is not the same
   thing like mspace

Type: improvement
Change-Id: I644d5a0de17690d65d164d8cec3c5654571629ef
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agoikev2: fix memory leaks 48/28948/2
Benoît Ganne [Thu, 17 Sep 2020 15:08:07 +0000 (17:08 +0200)]
ikev2: fix memory leaks

Type: fix

Change-Id: I5be19a4923b37e2636621d36155178ac348ee41c
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agovirtio: add packet buffering on tx 86/28686/12
Mohsin Kazmi [Mon, 28 Sep 2020 10:26:33 +0000 (10:26 +0000)]
virtio: add packet buffering on tx

Type: feature

This patch adds packet buffering on tx for
slow backend which have some jitter/delays
in freeing the vrings.

There are some limitations to the current design:
1) It only works in poll mode.
2) Atleast 1 rx queue of an interface (with buffering
   enabled) should be placed on each worker and main thread.

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

3 years agoclassify: use clib_crc32c on supporting uarch 99/26399/10
Ray Kinsella [Tue, 7 Apr 2020 06:51:23 +0000 (07:51 +0100)]
classify: use clib_crc32c on supporting uarch

Use clib_crc32c in place of clib_xxhash on supporting uarch.

Type: improvement

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: Icdfb4ffa92c2c9e7aebc3ec99f20e91392a103ab

3 years agoclassify: preformance improvements in classifiers 36/25836/20
Ray Kinsella [Thu, 12 Mar 2020 15:52:41 +0000 (15:52 +0000)]
classify: preformance improvements in classifiers

Reworked the code to reduce line fill buffer pressure. Improved compiler loop
unrolling, over the existing complex hand-unrolling. Updated the code to use
vlib_get_buffers & vlib_buffer_enqueue_to_next.

Type: improvement

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: I7dca7515ba91672eaf50a6eecd13811210cf0006

3 years agoapi: remove clib_mem_init from vppapiclient contructor 14/29114/2
Ole Troan [Mon, 28 Sep 2020 14:15:18 +0000 (16:15 +0200)]
api:  remove clib_mem_init from vppapiclient contructor

Having the constructor in the vppapiclient library led to
conflicts with applications wanting to allocate their own heap.
Note: Change of behaviour, applications that do not use a CLIB
heap must now call vac_mem_init() before using any functions from
vppapiclient.

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

3 years agoquic: Fix protip #47 / unformat (input_line) 02/29102/3
Nathan Skrzypczak [Mon, 28 Sep 2020 08:13:19 +0000 (10:13 +0200)]
quic: Fix protip #47 / unformat (input_line)

Type: fix

Change-Id: Id03f50c46d28c850865cc76692424d063a0c2cfb
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
3 years agovirtio: fix the gro enable/disable on tx-vrings 94/29094/4
Mohsin Kazmi [Fri, 25 Sep 2020 13:36:19 +0000 (15:36 +0200)]
virtio: fix the gro enable/disable on tx-vrings

Type: fix

Change-Id: I96c30baaf34fe7b0cd899966a507501e58cde934
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
3 years agocnat: fix cnat_translation_cli_add_del 95/29095/2
Dave Barach [Fri, 25 Sep 2020 21:30:27 +0000 (17:30 -0400)]
cnat: fix cnat_translation_cli_add_del

Make the command scriptable, use unformat_line_input.

"paths" never needed to be a pool, it's used as a vector. Pools *are*
vectors so no harm but... use vec_add2(...) instead.

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

3 years agocnat: fix session scanner restart point 00/29100/1
Dave Barach [Sun, 27 Sep 2020 14:22:43 +0000 (10:22 -0400)]
cnat: fix session scanner restart point

Restart point saved by caller, do not restart at i=0.

Type: fix

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

3 years agobuild: remove OS distros which are EOL 79/29079/2
Dave Wallace [Thu, 24 Sep 2020 16:30:46 +0000 (12:30 -0400)]
build: remove OS distros which are EOL

Type: fix

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

3 years agocnat: Add DHCP support 81/28981/8
Nathan Skrzypczak [Mon, 21 Sep 2020 17:14:08 +0000 (19:14 +0200)]
cnat: Add DHCP support

Type: feature

Change-Id: I4bd50fd672ac35cf14ebda2b0b10ec0b9a208628
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
3 years agocnat: Introduce parametric source policy 92/28792/3
Nathan Skrzypczak [Fri, 11 Sep 2020 15:30:06 +0000 (17:30 +0200)]
cnat: Introduce parametric source policy

Type: feature

Change-Id: I60ae9dd1c100b587d1902a20596b99a5c8a95df7
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
3 years agocnat: Add support for SNat ICMP 88/28788/4
Nathan Skrzypczak [Thu, 10 Sep 2020 15:44:41 +0000 (17:44 +0200)]
cnat: Add support for SNat ICMP

Type: feature

snat supports :
* echo request/reply by allocating an identifier
when translating echo requests
* icmp errors in the same manner as dnat

Change-Id: I684e983b0181f95c5eace5a984d40084e5625fa4
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
3 years agocnat: Ip ICMP error support 43/28743/4
Nathan Skrzypczak [Tue, 8 Sep 2020 13:16:08 +0000 (15:16 +0200)]
cnat: Ip ICMP error support

Type: feature

Add CNAT translation for ICMP 4 & 6 errors
inner packet will be translated according
to existing sessions.

Change-Id: If118751988f44ef96b800878596296d1ab8ab6f8
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
3 years agodocs: fix typo in bihash clib_bihash_search() documentation 92/29092/2
Jon Loeliger [Fri, 25 Sep 2020 14:22:43 +0000 (09:22 -0500)]
docs: fix typo in bihash clib_bihash_search() documentation

Type: docs

Change-Id: Ic8c628141f8a24b857a654e2ea9129f5f97807b6
Signed-off-by: Jon Loeliger <jdl@netgate.com>
3 years agovppinfra: dont complain about linux-vdso.so.1 93/29093/2
Dave Barach [Fri, 25 Sep 2020 14:18:04 +0000 (10:18 -0400)]
vppinfra: dont complain about linux-vdso.so.1

It's not an elf file, yadda yadda.

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

3 years agovppinfra session: file platform independent private data 82/29082/2
Florin Coras [Thu, 24 Sep 2020 18:58:28 +0000 (11:58 -0700)]
vppinfra session: file platform independent private data

Type: improvement

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

3 years agobfd: add missing unlock 87/29087/3
Klement Sekera [Fri, 25 Sep 2020 09:43:45 +0000 (09:43 +0000)]
bfd: add missing unlock

Thanks to Martin Sustrik for spotting the bug introduced by a316744
and submitting the fix.

Type: fix
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I4984fc32503b0c7b6db3543834dfbbfed2a1f23c

3 years agovppinfra: add clib_mem_set_numa_affinity() 76/29076/3
Damjan Marion [Thu, 24 Sep 2020 11:53:46 +0000 (13:53 +0200)]
vppinfra: add clib_mem_set_numa_affinity()

Type: improvement
Change-Id: I81a7fb71c8ce0c0d22e326a4ddd01bc1c1aea5f7
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agovirtio: refactor tx trace 87/28887/3
Mohsin Kazmi [Wed, 16 Sep 2020 16:53:16 +0000 (16:53 +0000)]
virtio: refactor tx trace

Type: refactor

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

3 years agowireguard: coverity fix 42/29042/2
Artem Glazychev [Wed, 23 Sep 2020 13:47:48 +0000 (20:47 +0700)]
wireguard: coverity fix

Type: fix

Change-Id: Ib69b9d83a77d315368ce091085b6bc2d26994282
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
3 years agovlib: fix the last error 48/29048/2
Mohsin Kazmi [Wed, 23 Sep 2020 19:29:20 +0000 (19:29 +0000)]
vlib: fix the last error

Type: fix

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

3 years agobuild: fix missing openssl package on debian-10 49/29049/2
Dave Wallace [Thu, 24 Sep 2020 00:19:37 +0000 (20:19 -0400)]
build: fix missing openssl package on debian-10

- libssl-dev missing on debian-10 breaks
  'make install-ext-deps'

Type: fix

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

3 years agosession tcp udp tls quic: improve cli formatting 47/29047/6
Florin Coras [Wed, 23 Sep 2020 19:02:08 +0000 (12:02 -0700)]
session tcp udp tls quic: improve cli formatting

Type: improvement

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

3 years agosession: fix sapi coverity warning 45/29045/2
Florin Coras [Wed, 23 Sep 2020 17:31:27 +0000 (10:31 -0700)]
session: fix sapi coverity warning

Type: fix

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

3 years agobuild: fix fts.py to run on debian-9/python3.5 43/29043/1
Dave Wallace [Wed, 23 Sep 2020 15:38:25 +0000 (11:38 -0400)]
build: fix fts.py to run on debian-9/python3.5

Type: fix

Change-Id: I1404e73dd2ee62b51746e9f4760c7c3ca3b5989e
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
3 years agoip: use main heap for mtrie, part 2 (remove args) 76/28976/4
Damjan Marion [Mon, 21 Sep 2020 12:23:30 +0000 (14:23 +0200)]
ip: use main heap for mtrie, part 2 (remove args)

Type: improvement
Change-Id: I8c28c845c75657852f1e513e2832771fad6b90b7
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agolldp: fix format string for hw->name 38/29038/2
Vladimir Isaev [Wed, 23 Sep 2020 11:39:17 +0000 (14:39 +0300)]
lldp: fix format string for hw->name

Sanitizer found it. hw->name is not null terminated vector.
So use '%v' for it.

Type: fix
Signed-off-by: Vladimir Isaev <visaev@netgate.com>
Change-Id: Idea16b33d33b371f5b6f6ab403edd0b4860c95f2

3 years agocnat: Disable default scanner process 27/29027/2
Nathan Skrzypczak [Wed, 23 Sep 2020 08:43:16 +0000 (10:43 +0200)]
cnat: Disable default scanner process

Type: feature

Change-Id: Iba9d9f384eaa35c5522e828e3cbe4516416294db
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
3 years agowireguard: add handoff node 48/28848/11
Artem Glazychev [Mon, 14 Sep 2020 04:36:01 +0000 (11:36 +0700)]
wireguard: add handoff node

All timer and control plane functions happen from main thread

Type: fix

Change-Id: I4fc333c644485cd17e6f426493feef91688d9b24
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
3 years agovppapigen: crcchecker: harmonize the in_progress marking 94/28994/2
Andrew Yourtchenko [Tue, 22 Sep 2020 15:11:51 +0000 (15:11 +0000)]
vppapigen: crcchecker: harmonize the in_progress marking

The format for deprecation is "option deprecated" now,
so harmonize the in-progress marking to logically be
"option in_progress"

At the same time recognize the legacy/erroneous
types of marking, print the warning.

Change-Id: If418dfadd69ffb112550164d63d13420e51cefd7
Type: fix
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
3 years agotls: fix session format assert crash in connected callback 23/29023/5
jiangxiaoming [Wed, 23 Sep 2020 02:29:21 +0000 (10:29 +0800)]
tls: fix session format assert crash in connected callback

Type: fix
Signed-off-by: jiangxiaoming <jiangxiaoming@outlook.com>
Change-Id: I61b7988bf6a49a51041bc6085d5f0f4689ff45a6

3 years agoipip: Add option to tunnel create help string 93/28993/2
Neale Ranns [Tue, 22 Sep 2020 13:20:27 +0000 (13:20 +0000)]
ipip: Add option to tunnel create help string

Type: style

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I3703b9a882b7577025f495d500daf08a916891b9

3 years agobuild: allow for rc3/rc4 style tags 16/29016/2
Andrew Yourtchenko [Tue, 22 Sep 2020 16:04:35 +0000 (16:04 +0000)]
build: allow for rc3/rc4 style tags

Historically, there was only rc1/rc2 tags, fix in case we tag
rc3/rc4 during longer release windows.

Type: fix
Change-Id: I4243a1c03663a877f96a06d647e89adb74abd977
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
3 years agolisp: Move to plugin 72/28972/5
Neale Ranns [Mon, 21 Sep 2020 08:17:51 +0000 (08:17 +0000)]
lisp: Move to plugin

Type: refactor

Change-Id: I54df533a8f863c4e49742903cf2457f18b4fc506
Signed-off-by: Neale Ranns <nranns@cisco.com>
3 years agovxlan-gbp: Mark APIs as in-progress 91/28991/2
Neale Ranns [Tue, 22 Sep 2020 11:24:18 +0000 (11:24 +0000)]
vxlan-gbp: Mark APIs as in-progress

Type: fix

The GBP plugin that uses this module is also in-ptogress, hence so is
this module.

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I3cb5dd124afac05da013d92d67b2abf6cdf9b769

3 years agocrypto: revert crypto set handler all API 85/28985/3
Yulong Pei [Mon, 21 Sep 2020 20:41:56 +0000 (13:41 -0700)]
crypto: revert crypto set handler all API

This reverts commit 8c91b2ae2b32d428ef35605707788fe064621cb3,
but keep a comment fix.

Type: fix

Signed-off-by: Yulong Pei <yulong.pei@intel.com>
Change-Id: Ia66941bf18d3efac96f41bdf905d877cfb3ab211

3 years agosession: use wrk instead of thread index in node 83/28983/2
Florin Coras [Mon, 21 Sep 2020 17:45:56 +0000 (10:45 -0700)]
session: use wrk instead of thread index in node

Type: refactor

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

3 years agogeneve: Move to plugin 65/28965/3
Neale Ranns [Fri, 18 Sep 2020 07:35:06 +0000 (07:35 +0000)]
geneve: Move to plugin

Type: refactor

Change-Id: I613bf4d6517591351b212bfe6c8d93abf235f5dc
Signed-off-by: Neale Ranns <nranns@cisco.com>
3 years agomisc: Move l2tp to plugin 68/28968/4
Neale Ranns [Fri, 18 Sep 2020 14:05:45 +0000 (14:05 +0000)]
misc: Move l2tp to plugin

Type: refactor

Change-Id: Ifb36eeb146b87e9e305881429d32d6879e955e1e
Signed-off-by: Neale Ranns <nranns@cisco.com>
3 years agolldp: Move to plugin 67/28967/2
Neale Ranns [Fri, 18 Sep 2020 12:58:40 +0000 (12:58 +0000)]
lldp: Move to plugin

Type: refactor

Change-Id: Ifd770ff4850e63474bf4682ad463021b03786b4b
Signed-off-by: Neale Ranns <nranns@cisco.com>
3 years agovrrp: set up multicast for both address families 08/28908/4
Matthew Smith [Wed, 16 Sep 2020 21:41:26 +0000 (16:41 -0500)]
vrrp: set up multicast for both address families

Type: fix

When a VR is added, multicast accept routes are added which allow
inbound packets sent to the VRRP group address on the interface of the
VR so advertisements from peers can be received. If this is the first
VR added, also add a local forward route for the VRRP group address so
the packets will be processed by the VRRP input nodes.

When deciding whether to add/delete the local forward route, the total
number of VRs configured was being checked. If there are no VRs
configured initially and a VR is added for IPv4, this check would
correctly see that this was the first VR and add an IPv4 route. If an
IPv6 VR was configured subsequently, this check would find that a VR
was already configured and incorrectly decide that no route needed to
be added and IPv6 VRRP advertisements from peers would be dropped
as a result. The opposite would occur if you first added an IPv6 VR
followed by adding an IPv4 VR - whichever address family was added
first would work correctly and the other one would not work.

Since a route is needed for each address family, check on the per
address family count of VRs when deciding whether to add/delete the
local forward route instead of checking on the global count of VRs.

Change-Id: I851a7ef8a4f9e4e370d08b0832284a13387eb083
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
3 years agoip: use main heap for mtrie 96/28896/7
Damjan Marion [Wed, 16 Sep 2020 15:06:45 +0000 (17:06 +0200)]
ip: use main heap for mtrie

Main heap can be hugepage backed so it is more efficient to use
main heap instead of allocating special heap just for mtrie....

Type: improvement
Change-Id: I210912ab8567c043205ddfc10fdcfde9a0fa7757
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agoacl: remove custom ACL-plugin heap 82/28882/4
Andrew Yourtchenko [Wed, 16 Sep 2020 12:10:27 +0000 (12:10 +0000)]
acl: remove custom ACL-plugin heap

Custom ACL-plugin heap was useful in early stages,
but it interferes with other infra optimizations.
Remove it and use global heap.

Change-Id: I2300548f1d1798dec27bc5a2a41cf37f9fcda95d
Type: improvement
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
3 years agodpdk: hugepage availibility check using new api 02/28902/5
Damjan Marion [Thu, 17 Sep 2020 11:56:47 +0000 (13:56 +0200)]
dpdk: hugepage availibility check using new api

Type: improvement
Change-Id: Iab623a2e11bd5787f4cae549143f49888e0dd9c4
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agobuild: touch files when extracting rpm tarballs 91/28891/3
Dave Wallace [Wed, 16 Sep 2020 21:04:24 +0000 (21:04 +0000)]
build: touch files when extracting rpm tarballs

Type: fix

- Long story short, intermittently centos jobs have been
  failing with clock skew issues. When someone commits a
  patch on a machine with the date ahead of UTC, then clock
  skew will be encountered when extracting the RPM source
  tarball. See [0] and [1] for details.

- Replace 'make bootstrap' with 'make install-dep' in
  RPM package build specfile.

[0] https://unix.stackexchange.com/questions/164807/does-git-archive-use-the-wrong-file-timestamp
[1] https://git.fd.io/vpp/tree/Makefile#n380

Change-Id: Iebfb9eb2e26c1f2e4488e871da86d0c60b9f4048
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
3 years agobuild: remove opensuse build infra 51/28951/2
Dave Wallace [Fri, 18 Sep 2020 15:35:01 +0000 (15:35 +0000)]
build: remove opensuse build infra

- VPP on opensuse has not been supported
  for several releases.

Type: fix

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

3 years agosession: grab worker barrier for sapi msgs 59/28959/2
Florin Coras [Fri, 18 Sep 2020 23:15:47 +0000 (16:15 -0700)]
session: grab worker barrier for sapi msgs

Type: fix

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

3 years agodpdk: prevent linking dpdk against libbsd 56/28956/2
Mohammed Hawari [Fri, 18 Sep 2020 19:47:04 +0000 (21:47 +0200)]
dpdk: prevent linking dpdk against libbsd

If libbsd is detected by the DPDK build system, DPDK does not provide
implementations for strlcpy and dynamically link against the one
provided by libbsd. When the DPDK plugin is loaded by VPP, a crash
occurs because libbsd is not loaded by VPP.

Type: fix
Change-Id: Ib691bbe27edcf0f6f0a3d39952e439027cef72cb
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
3 years agobuild: missing deb pkg on ubuntu-20.04 57/28957/2
Dave Wallace [Fri, 18 Sep 2020 20:23:55 +0000 (20:23 +0000)]
build: missing deb pkg on ubuntu-20.04

- The vpp build on the ubuntu-20.04 executor failed
  due to the package 'dh-python' not getting
  installed by 'make install-dep'

Type: fix

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

3 years agofib: skip byte swap on n_paths in mroute details 09/28909/2
Matthew Smith [Thu, 17 Sep 2020 21:33:10 +0000 (16:33 -0500)]
fib: skip byte swap on n_paths in mroute details

Type: fix

While preparing to send a ip_mroute_details API message, the number
of paths for a multicast route is stored in an int in
send_ip_mroute_details(). Before the value in the int is copied into
the field n_paths in the API message, the byte order is swapped.
This results in n_paths getting set to 0.

Change the int to a u8 and omit the byte swap so API clients can
receive data on multicast route paths.

Change-Id: Ie6dcb0f7b135c5b5deeeb2e44147560dbbb12507
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
3 years agovat: add infrastructure to align vnet test code and plugin test code 37/28837/3
Ole Troan [Tue, 15 Sep 2020 08:53:34 +0000 (10:53 +0200)]
vat: add infrastructure to align vnet test code and plugin test code

Split vat/api_format.c also for VNET features.
Use auto-generated VAT test code and support dynamic message ID allocation as for plugins.
The arp and geneve features as Guinea pigs.

Type: improvement
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I461591496766bdf10c5f950fd30f1a0ae05909da
Signed-off-by: Ole Troan <ot@cisco.com>
3 years agovlib: add decrement counter method 43/28843/9
Sergey Matov [Tue, 15 Sep 2020 09:40:55 +0000 (13:40 +0400)]
vlib: add decrement counter method

Currently there is no way to decrease simple counter. To extend
counters API new method allows to decrement counter by given value.
This might be useful in implementation of statistics stored in stats
segment.

Type: improvement

Change-Id: I7c08c62bffa6a2d50e9e2cf884f7b2d48538f34b
Signed-off-by: Sergey Matov <sergey.matov@travelping.com>
Signed-off-by: Dave Barach <dave@barachs.net>
3 years agotap: do not use strlen on vector 42/28942/3
Vladimir Isaev [Fri, 18 Sep 2020 11:43:29 +0000 (14:43 +0300)]
tap: do not use strlen on vector

sanitizer complains about strlen on hi->name in tap_dump_ifs.
hi->name is a vector which is not null-terminated, so use vec_len.

Type: fix
Signed-off-by: Vladimir Isaev <visaev@netgate.com>
Change-Id: Icdd5f65369bb51b0c4a9cd86c24899e6febd837c

3 years agosession: fix vpp exit abnormal due to application as a proxy server with ldp 05/28905/6
fanyf [Thu, 17 Sep 2020 14:10:41 +0000 (22:10 +0800)]
session: fix vpp exit abnormal due to application as a proxy server with ldp

Type: fix

The function of application_setup_proxy() be called when application run as a
proxy server, "app_wrk->first_segment_manager" be realloced in this function,
but variable of "sm" point original memory location.

Signed-off-by: fanyf <fanyufei521@outlook.com>
Change-Id: I753c9fb60d1c0794d5eede9f3fab48381a802e3c