vpp.git
3 years agoperfmon: new perfmon plugin 86/30186/26
Damjan Marion [Fri, 27 Nov 2020 19:15:17 +0000 (20:15 +0100)]
perfmon: new perfmon plugin

Type: feature
Change-Id: I2c14f82393d11fc05c6d229f5c58603ab5c0f14d
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agomisc: deprecate old perfmon 89/30389/15
Damjan Marion [Fri, 11 Dec 2020 17:52:34 +0000 (18:52 +0100)]
misc: deprecate old perfmon

Type: refactor
Change-Id: I1303219f9f2a25d821737665903b0264edd3de32
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agodpdk: rebase cryptodev engine for dpdk 20.11 46/30446/2
Fan Zhang [Wed, 16 Dec 2020 13:18:11 +0000 (13:18 +0000)]
dpdk: rebase cryptodev engine for dpdk 20.11

Type: feature

This patch rebase cryptodev engine for the new cryptodev
raw APIs introduced in DPDK 20.11.

Signed-off-by: Piotr Bronowski <PiotrX.Bronowski@intel.com>
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: I4da335379c5dfeb358017092086d305a01b652dc

3 years agoipsec: fixed esp_decrypt pkt len after icv moved 74/30474/2
PiotrX Kleski [Fri, 11 Dec 2020 15:10:31 +0000 (15:10 +0000)]
ipsec: fixed esp_decrypt pkt len after icv moved

Type: fix

This change makes esp_move_icv() update pd->current_length if the first
buffer's length is updated.

In case that ICV is split over two buffers, esp_move_icv() copies ICV
to last buffer, it also updates the before_last buffer's current_length.
However, in esp_decrypt_post_crypto(), pd->current_lenght is used to update
first buffer lenght, but pd is not updated in esp_move_icv()
and the total pkt lenght ends up incorrect.

This only happens in tunnel mode when ICV is split between 1st and 2nd buffers.

Signed-off-by: PiotrX Kleski <piotrx.kleski@intel.com>
Change-Id: Ic39d87454ec0d022c050775acb64c5c25ccf7f13

3 years agoavf: optimized with NEON SIMD instruction 58/30458/2
Lijian.Zhang [Thu, 10 Dec 2020 08:01:00 +0000 (16:01 +0800)]
avf: optimized with NEON SIMD instruction

Optimize avf-input node processing function with NEON SIMD instruction.

Type: improvement

Change-Id: I3dd76ac659686209dda9b176fc426aeae639e99b
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
3 years agomisc: migrate from GNU indent to clang-format 95/30395/14
Damjan Marion [Sat, 12 Dec 2020 18:09:31 +0000 (19:09 +0100)]
misc: migrate from GNU indent to clang-format

Type: make
Change-Id: I085dcd6fe826da14d456f84a23355310bdc5d1e9
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agofib: Remove unused FIB path-list DB variable 06/30406/3
Neale Ranns [Mon, 14 Dec 2020 09:54:03 +0000 (09:54 +0000)]
fib: Remove unused FIB path-list DB variable

Type: refactor

Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Change-Id: I64527e9f5259e9984dc1e90023b367ee0fd8deeb

3 years agohsa: http server: memset after pool_put will cause ASAN issue 55/30455/2
jiangxiaoming [Thu, 17 Dec 2020 02:35:16 +0000 (10:35 +0800)]
hsa: http server: memset after pool_put will cause ASAN issue

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

3 years agohsa: http server: fix http response format type error 52/30452/3
jiangxiaoming [Thu, 17 Dec 2020 02:01:43 +0000 (10:01 +0800)]
hsa: http server: fix http response format type error

Type: fix

Signed-off-by: jiangxiaoming <jiangxiaoming@outlook.com>
Change-Id: I15e43ded1ccd1b06a5ce1822a260fd2dd7edf95f

3 years agovppinfra: fix vec_max_len 36/30436/5
Florin Coras [Wed, 16 Dec 2020 04:35:11 +0000 (20:35 -0800)]
vppinfra: fix vec_max_len

Return 0 if the supplied vector pointer is NULL.

Type: fix

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

3 years agodocs: revise home gateway use-case documentation 45/30445/2
Dave Barach [Wed, 16 Dec 2020 13:24:18 +0000 (08:24 -0500)]
docs: revise home gateway use-case documentation

Switch to markdown format.

Update docs to current production configs. Add remote software
installation scripts.

Type: docs

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

3 years agotests: move fib tests to src/vnet/fib/test 61/29961/3
Dave Wallace [Mon, 16 Nov 2020 22:44:36 +0000 (17:44 -0500)]
tests: move fib tests to src/vnet/fib/test

- Refactor make test code to be co-located with
  the vpp feature source code

Type: test

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

3 years agomisc: Initial 21.06-rc0 commit 40/30440/2 v21.06-rc0
Andrew Yourtchenko [Wed, 16 Dec 2020 09:49:20 +0000 (09:49 +0000)]
misc: Initial 21.06-rc0 commit

Type:docs
Change-Id: I07959a860194b06bb30455b6072d651058bb5d47
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
3 years agoip: fix possible missing trace indexes 31/30431/2
Klement Sekera [Tue, 15 Dec 2020 20:47:36 +0000 (21:47 +0100)]
ip: fix possible missing trace indexes

Add safeguards when tracing packets to avoid cases where clear trace
was issue while buffers were held in reassembly.

Type: fix
Change-Id: I1bdd1e629e8bc08ce63913fd3c4b2327e47dec04
Signed-off-by: Klement Sekera <ksekera@cisco.com>
3 years agomisc: update MAINTAINERS file 24/30424/3
Dave Barach [Tue, 15 Dec 2020 15:02:45 +0000 (10:02 -0500)]
misc: update MAINTAINERS file

Type: improvement

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

3 years agobuild: remove centos-7 directive from Makefile 34/30434/2
Dave Wallace [Tue, 15 Dec 2020 22:13:30 +0000 (17:13 -0500)]
build: remove centos-7 directive from Makefile

- CentOS-7 support has been deprecated.

Type: fix

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

3 years agonat: refactor & MW support for NAT tests 53/30253/6
Filip Varga [Thu, 3 Dec 2020 14:27:40 +0000 (15:27 +0100)]
nat: refactor & MW support for NAT tests

Split ED and EI nat44 test cases. Added multi worker
support for ED test cases.

Type: refactor

Change-Id: Ibcc2f62b94cacff69ed35c5d914b55f9fdbcf882
Signed-off-by: Filip Varga <fivarga@cisco.com>
3 years agol2: add l2 learn limit tests 18/30418/2
Jerome Tollet [Tue, 15 Dec 2020 08:21:45 +0000 (09:21 +0100)]
l2: add l2 learn limit tests

Add a couple of tests to check l2bd learn limit behaviour

Type: test

Signed-off-by: Jerome Tollet <jtollet@cisco.com>
Change-Id: Iee16c81e5bb41066e3d6446d0e6ea4f389241270

3 years agoapi: crchcecker ignore version < 1.0.0 and outside of src directory 09/30309/2
Ole Tr�an [Tue, 15 Dec 2020 15:11:21 +0000 (15:11 +0000)]
api: crchcecker ignore version < 1.0.0 and outside of src directory

This reverts commit 510aaa8911843206f7b9ff48b41e3c7b8c4a99fe.

Reason for revert: failed in case of no api file in changeset.

Change-Id: I2c6f01b25a35128df870418eef0008766bb590df
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
3 years agonat: set out2in-dpo during plugin enabling 54/30354/2
Alexander Chernavin [Wed, 9 Dec 2020 10:59:21 +0000 (05:59 -0500)]
nat: set out2in-dpo during plugin enabling

Type: fix
Change-Id: Ie41e2fb9393bf63099519150bb158b830d2c0d87
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
3 years agobuild: add Steven as maintainer for l2 and vxlan 23/30423/2
Andrew Yourtchenko [Tue, 15 Dec 2020 13:39:03 +0000 (13:39 +0000)]
build: add Steven as maintainer for l2 and vxlan

Change-Id: If7a9edf328bd2dc943246f491bf34a740edfb056
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Type: make

3 years agoclassify: add pcap/trace classfier mgmt API calls 64/29864/7
Jon Loeliger [Thu, 15 Oct 2020 18:41:36 +0000 (14:41 -0400)]
classify: add pcap/trace classfier mgmt API calls

Add lookup/get/set API calls to manage both PCAP and Trace
filtering Classifier tables.

The "lookup" call may be used to identify a Classifier table
within a chain of tables taht matches a particular mask vector.
For efficiency, this call should be used to determine to which
table a match vector should be added.

The "get" calls return the first table within a chain (either
a PCAP or the Trace) set of tables.  The "set" call may be
used to add a new table to one such chain.  If the "sort_masks"
flag is set, the tables within the chain are ordered such that
the most-specific mask is first, and the least-specific mask
is last.  A call that "sets" a chain to ~0 will delete and free
all the tables with a chain.

The PCAP filters are per-interface, with "local0", (that is,
sw_if_index == 0) holding the system-wide PCAP filter.

The Classifier used a reference-counted "set" for each PCAP
or trace filter that it stored.  The ref counts were not used,
and the vector of tables was only used temporarily to establish
a sorted order for tables based on masks.  None of that
complexity was actually warranted, and where it was used,
the same could be achieved more simply.

Type: refactor

Signed-off-by: Jon Loeliger <jdl@netgate.com>
Change-Id: Icc56116cca91b91c631ca0628e814fb53f3677d2

3 years agoapi: crchcecker ignore version < 1.0.0 and outside of src directory 21/30421/3
Ole Troan [Tue, 15 Dec 2020 09:19:25 +0000 (10:19 +0100)]
api: crchcecker ignore version < 1.0.0 and outside of src directory

- For check patchset ignore files outside of src directory
- For check patchset ignore files that have version < 1.0.0
- fix Pylint warnings
- Modify vppapigen_crc to include version in JSON output

Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I93f7bebeeaeedc19b2b1e5e135ea1035517d7f76
Signed-off-by: Ole Troan <ot@cisco.com>
3 years agobuild: stop trying to build py2 versions of vpp_papi 08/30408/2
Paul Vinciguerra [Mon, 14 Dec 2020 14:55:14 +0000 (14:55 +0000)]
build: stop trying to build py2 versions of vpp_papi

Python2 was EOL's in Jan 2020.
RHEL6 was EOL'd in Nov 2020.

Type: fix

Change-Id: Id6910258cfe808c1e6a8fe16334c23d7991509dc
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
3 years agoikev2: add reason for deleted sa debug log 16/30416/2
Benoît Ganne [Mon, 14 Dec 2020 17:11:22 +0000 (18:11 +0100)]
ikev2: add reason for deleted sa debug log

Type: improvement

Change-Id: If991165406d10d877aa6c7b2a03b4b741272928c
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agoikev2: fix show ikev2 profile 14/30414/2
Benoît Ganne [Mon, 14 Dec 2020 16:32:01 +0000 (17:32 +0100)]
ikev2: fix show ikev2 profile

format_ip_address() to display {local,remote}_id does not work because
we do not store ip_address_t but ip{4,6}_address_t, hence we lack the
ip_address_family_t version field.
Update format_ikev2_id_type_and_data() to support all types and use it
instead.

Type: fix

Change-Id: I7a81beb0b22fcf1c5d1bf03a32a6cc4f030f4361
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agosession: free segment manager only from main 98/30398/5
Florin Coras [Mon, 14 Dec 2020 05:09:59 +0000 (21:09 -0800)]
session: free segment manager only from main

Type: fix

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

3 years agobuild: update ctags --tag-relative option used in make ctags 90/30290/3
Jerome Tollet [Sat, 5 Dec 2020 10:01:14 +0000 (11:01 +0100)]
build: update ctags --tag-relative option used in make ctags

Type: fix

Exhuberant ctags --tag-relative expects =[yes|no]

Signed-off-by: Jerome Tollet <jtollet@cisco.com>
Change-Id: Ic60b7014508d5c8c286f85f26e9eb0bdc0e90aa5

3 years agomisc: refactor clib_bitmap_foreach macro 97/30397/2
Damjan Marion [Sun, 13 Dec 2020 22:26:56 +0000 (23:26 +0100)]
misc: refactor clib_bitmap_foreach macro

Type: refactor
Change-Id: I077110e1a422722e20aa546a6f3224c06ab0cde5
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agomisc: move to new pool_foreach macros 96/30396/2
Damjan Marion [Sun, 13 Dec 2020 20:47:40 +0000 (21:47 +0100)]
misc: move to new pool_foreach macros

Type: refactor
Change-Id: Ie67dc579e88132ddb1ee4a34cb69f96920101772
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agovppinfra: simpler and faster pool_foreach 93/30393/3
Damjan Marion [Sat, 12 Dec 2020 22:32:12 +0000 (23:32 +0100)]
vppinfra: simpler and faster pool_foreach

 - reduces number of instructions generated 4 times compared to old code
 - adds pool_foreach2 which is more friendly to clang-format

Type: improvement

Change-Id: I51e9c7fb09655c60d883987dadf5b2666c12b3f7
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agoapi: add missing version info 92/30392/3
Paul Vinciguerra [Fri, 11 Dec 2020 23:57:43 +0000 (23:57 +0000)]
api: add missing version info

Type: fix

Change-Id: I269214e3eae72e837f25ee61d714556d976d410f
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
3 years agonat: revert 'fix byte order on ipfix message fields' 05/30305/2
Damjan Marion [Sun, 13 Dec 2020 11:45:41 +0000 (11:45 +0000)]
nat: revert 'fix byte order on ipfix message fields'

This reverts commit bfba2d555331ce67f707e608877e96dbd2aacd80.

Reason for revert: breaks test test_nat44.TestNAT44.test_ipfix_max_sessions

Change-Id: I6eed4d02835ab792e7e3491fc14240cc88a86710
Type: fix
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agodpdk: bump to dpdk 20.11 19/30219/5
Fan Zhang [Tue, 1 Dec 2020 15:10:43 +0000 (15:10 +0000)]
dpdk: bump to dpdk 20.11

Type: feature

This patch bumps DPDK to 20.11. In addtion a few changes are
made:

- Changed dynamic rx offload flag display.
- Updated deprecating options.

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

3 years agopppoe: fix VLIB_RX into the pppoe-input node 61/30261/5
Stanislav Zaikin [Thu, 3 Dec 2020 19:09:53 +0000 (19:09 +0000)]
pppoe: fix VLIB_RX into the pppoe-input node

Previously, RX interface for PPPoE packets was set as the original interface.
Now it is set as corresponding PPPoE interface in the "pppoe-input" node.

We need to do it because otherwise IP or other settings won't be working onto the PPPoE interface (only on original rx interface).

Type: fix

Signed-off-by: Stanislav Zaikin <zstaseg@gmail.com>
Change-Id: If9cc37608aa5fe685b8278dd99b819b7eddc6c38

3 years agoip: ip4 rewrite prefetch optimization 69/30369/2
PiotrX Kleski [Wed, 9 Dec 2020 13:32:26 +0000 (14:32 +0100)]
ip: ip4 rewrite prefetch optimization

Type: improvement

ip4_rewrite_inline_with_gso() did vlib_prefetch_buffer_header() for all nodes.
However it is not necessary for ip-rewrite, it is only needed by ip-midchain.

This patch makes ip4-rewrite prefetches less buffers to save cycles.

Signed-off-by: PiotrX Kleski <piotrx.kleski@intel.com>
Change-Id: Ib82dcb0eda4a2d1d7b8d664f2224d49b72aef50f

3 years agovirtio: fix vrings overflow in vhost_user 46/30346/3
Benoît Ganne [Tue, 8 Dec 2020 18:08:05 +0000 (19:08 +0100)]
virtio: fix vrings overflow in vhost_user

Type: fix

Change-Id: I7ca955882c0e263a9ace4b14021e51488564e411
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agoapi: fromjson/tojson enum flag support 85/30385/2
Ole Troan [Fri, 4 Dec 2020 12:15:30 +0000 (13:15 +0100)]
api: fromjson/tojson enum flag support

Represent enum flags as JSON arrays (as these can have multiple values).
Add unit tests.

Type: improvement
Change-Id: I680c5b6f76ef6f05f360e2f3b9c4cbb927e15d7d
Signed-off-by: Ole Troan <ot@cisco.com>
3 years agomisc: cop - clean up stray doxygen block 78/30378/3
Paul Vinciguerra [Fri, 11 Dec 2020 03:32:19 +0000 (03:32 +0000)]
misc: cop - clean up stray doxygen block

Type: style

Change-Id: Iee9463735c4d114a97e6167d717d1911c4477e70
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
3 years agonat: fix byte order on ipfix message fields 54/29754/2
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.

Change-Id: I881766e1c52acc9bebde38d85228fa492214ee21
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
3 years agofib: remove unsued path flag 41/30341/2
Neale Ranns [Tue, 8 Dec 2020 14:16:10 +0000 (14:16 +0000)]
fib: remove unsued path flag

Type: refactor

Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Change-Id: Ic4ef53f49102d7b5061f1b6d3a1d0c8427b9d1f7

3 years agofib: Remove unused BIER variables 67/30367/2
Neale Ranns [Thu, 10 Dec 2020 08:51:24 +0000 (08:51 +0000)]
fib: Remove unused BIER variables

Type: refactor

Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Change-Id: Idf17c3c02fb77fcadf69a9164abd4da35289aaed

3 years agosrv6-mobile: Fix the position of QFI 24/30224/8
Tetsuya Murakami [Wed, 2 Dec 2020 03:19:13 +0000 (19:19 -0800)]
srv6-mobile: Fix the position of QFI

Type: fix

Signed-off-by: Tetsuya Murakami <tetsuya.mrk@gmail.com>
Change-Id: Ica02435c4bc198fb6c4b9e4b62a287e47689ae7a
Signed-off-by: Tetsuya Murakami <tetsuya.mrk@gmail.com>
3 years agovcl: fix listener session close problem 72/30372/2
wanghanlin [Thu, 10 Dec 2020 11:12:22 +0000 (19:12 +0800)]
vcl: fix listener session close problem

Type: fix

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

3 years agovcl: fix crash problem for invalidation of vls_table_lock 82/28782/6
wanghanlin [Fri, 11 Sep 2020 09:19:32 +0000 (17:19 +0800)]
vcl: fix crash problem for invalidation of vls_table_lock

Type: fix

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

3 years agotests: check ethernet type in arp test case 74/30374/2
Elias Rudberg [Thu, 10 Dec 2020 13:20:43 +0000 (14:20 +0100)]
tests: check ethernet type in arp test case

Add assertions to verify correct ethernet type field in ARP test case.

Type: test

Signed-off-by: Elias Rudberg <elias.rudberg@bahnhof.net>
Change-Id: I1d2671b0ab2b4dcb53dab4b54bf93578d6bc86a3

3 years agoapi: remove unused singular option 48/30348/2
Ole Troan [Tue, 8 Dec 2020 19:35:32 +0000 (20:35 +0100)]
api: remove unused singular option

The singular option to the API language was added as a way to deal with messages
that do not have a reply message. Examples in memclnt.api.
Instead dealt with these messages using the service {} construct.

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

3 years agomisc: add a couple useful functions for gdb 58/28658/4
Christian Hopps [Mon, 13 Jul 2020 15:57:27 +0000 (11:57 -0400)]
misc: add a couple useful functions for gdb

- vgb() (vlib_get_buffer)
- ph() (pool_header)

Type: feature
Signed-off-by: Christian Hopps <chopps@labn.net>
Change-Id: Ica954480a7809c918cf65b06a0333ebe246a6f3a

3 years agohsa: http proxy connected callback fixes 58/30358/2
nandfan [Wed, 9 Dec 2020 10:12:55 +0000 (18:12 +0800)]
hsa: http proxy connected callback fixes

svm_fifo_init_ooo_lookup has been called by transport

Type: fix

Signed-off-by: nandfan <fanyufei521@outlook.com>
Change-Id: I6626421c9a71212be0f7b8bff953133f760811f6

3 years agobash: Update jjb version in jjb-sandbox-env function 32/30332/2
Dave Wallace [Mon, 7 Dec 2020 22:23:10 +0000 (17:23 -0500)]
bash: Update jjb version in jjb-sandbox-env function

- The version of jjb deployed in jenkins.fd.io was
  upgraded to 3.5.0. Make the sandbox setup function
  use the same version.

Type: fix

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

3 years agofib: supporting inner flow hash on tunnels 15/30215/14
Mohammed Hawari [Mon, 30 Nov 2020 12:50:24 +0000 (13:50 +0100)]
fib: supporting inner flow hash on tunnels

Change-Id: I53011e089bfecb08483792029b534b09b9e33a10
Type: improvement
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
3 years agoikev2: test responder behind NAT 27/30327/2
Filip Tehlar [Fri, 4 Dec 2020 17:38:11 +0000 (17:38 +0000)]
ikev2: test responder behind NAT

Type: test
Ticket: VPP-1903

Change-Id: I7fab6931833d6e253b7b921172825387302d8f70
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
3 years agobuild: fix centos-8 'make install-deps' enable PowerTools repo 44/30344/2
Dave Wallace [Tue, 8 Dec 2020 15:50:08 +0000 (10:50 -0500)]
build: fix centos-8 'make install-deps' enable PowerTools repo

- The name of the powertools repo was changed [0]
  in centos-8 from 'PowerTools' to 'powertools'.
  Retrieve the correct name from 'dnf repolist all'
  instead of hard coding it.

[0] https://git.centos.org/rpms/centos-repos/c/b759b17557b9577e8ea156740af0249ab1a22d70

Type: fix

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

3 years agotests: restore vapi C++ test under Centos-8 94/30294/4
Paul Vinciguerra [Mon, 7 Dec 2020 02:46:31 +0000 (02:46 +0000)]
tests: restore vapi C++ test under Centos-8

The Centos-7 compiler had problems with vapi_cpp_test.cpp.
The Centos-8 compiler does not.  This change adds back the test.

==============================================================================
VAPI test
==============================================================================
run C VAPI tests                                                     1.55 OK
run C++ VAPI tests                                                   0.44 OK

==============================================================================
TEST RESULTS:
     Scheduled tests: 2
      Executed tests: 2
        Passed tests: 2
==============================================================================

Type: test

Change-Id: Ic6a655ae99eb3ba0e73b7feef4436a0ca5fd92be
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
3 years agofib: Adjacency flag for midchain to perfom flow hash (on inner packet) 99/29999/10
Neale Ranns [Tue, 17 Nov 2020 09:47:07 +0000 (09:47 +0000)]
fib: Adjacency flag for midchain to perfom flow hash (on inner packet)

Type: feature

Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Change-Id: I964afd9266645de5c87d49c58ce6b48c2c18f97f

3 years agotunnel: add cli support for encap_decap flags 14/30214/5
Mohammed Hawari [Tue, 1 Dec 2020 10:30:57 +0000 (11:30 +0100)]
tunnel: add cli support for encap_decap flags

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

3 years agosvm: fix ssvm_va for private segments 34/30334/3
Florin Coras [Tue, 8 Dec 2020 02:35:12 +0000 (18:35 -0800)]
svm: fix ssvm_va for private segments

Type: fix

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

3 years agoipip: correct ipip_cli.c indentation 13/30213/3
Mohammed Hawari [Tue, 1 Dec 2020 10:20:31 +0000 (11:20 +0100)]
ipip: correct ipip_cli.c indentation

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

3 years agopapi: remove old client reference 38/30238/4
Paul Vinciguerra [Wed, 2 Dec 2020 19:13:14 +0000 (14:13 -0500)]
papi: remove old client reference

deprecated in 3/19

Type: refactor

Change-Id: Ia8eebaa0cd89d1e95166a62645400946d8db2f75
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
3 years agomisc: fix api in ipfix_classify_table_add/details 68/29168/4
Alexander Chernavin [Wed, 30 Sep 2020 14:36:10 +0000 (10:36 -0400)]
misc: fix api in ipfix_classify_table_add/details

In ipfix_classify_table_add_del and ipfix_classify_table_details the
ip_version field has vl_api_address_family_t type. However, there is
no encode/decode for the field in the IPFIX API. Moreover, the IPFIX
code expects the field to contain raw 4 or 6 to indicate the IP
version.

With this change, encode/decode the ip_version field in the IPFIX
API. Also, stop converting transport_protocol between host and network
byte order because it's u8.

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

3 years agofib: Source Address Selection 97/30197/2
Neale Ranns [Thu, 26 Nov 2020 08:37:27 +0000 (08:37 +0000)]
fib: Source Address Selection

Type: feature

Use the FIB to provide SAS (in so far as it is today)
 - Use the glean adjacency as the record of the connected prefixes
 = there's a glean per-{interface, protocol, connected-prefix}
 - Keep the glean up to date with whatever the recieve host prefix is
(since it can change)

Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Change-Id: I0f3dd1edb1f3fc965af1c7c586709028eb9cdeac

3 years agonat: avoid hairpinning infinite loop problem 84/30284/3
Elias Rudberg [Fri, 4 Dec 2020 18:32:55 +0000 (19:32 +0100)]
nat: avoid hairpinning infinite loop problem

Fix in nat44 hairpinning code to check if anything was actually
changed in the snat_hairpinning() routine, and return 0 if nothing
changed. This helps avoid an infinite loop repeating the three
nodes nat44-hairpinning-->ip4-lookup-->ip4-local in case there
was no change. Also add a corresponding test case.

Type: fix

Signed-off-by: Elias Rudberg <elias.rudberg@bahnhof.net>
Change-Id: I95f48476bd002ac4c6789afe504681f1963e5d38
Signed-off-by: Elias Rudberg <elias.rudberg@bahnhof.net>
3 years agodocs: Fix CentOS 8 build 30/30330/2
Jon Loeliger [Mon, 7 Dec 2020 15:57:46 +0000 (10:57 -0500)]
docs: Fix CentOS 8 build

Type: fix

Signed-off-by: Jon Loeliger <jdl@netgate.com>
Change-Id: I2d0d29af9186c50735d9a3b41148549f5cde614e

3 years agodpdk: support mlx drivers linked with rdma-core 51/30051/6
Mohammed Hawari [Fri, 20 Nov 2020 17:37:14 +0000 (18:37 +0100)]
dpdk: support mlx drivers linked with rdma-core

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

3 years agotests: py2 cleanup - remove subclassing of object 85/30285/6
Paul Vinciguerra [Fri, 4 Dec 2020 19:57:51 +0000 (14:57 -0500)]
tests: py2 cleanup - remove subclassing of object

Type: refactor

Change-Id: I9096e3b473110350e1e8e5936e3c4c164f8969a7
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
3 years agotests: remove the dependency on subprocess32 91/30291/7
Paul Vinciguerra [Sat, 5 Dec 2020 22:39:14 +0000 (22:39 +0000)]
tests: remove the dependency on subprocess32

Type: test

Change-Id: I39afe56a085648d881a18c7eafcf7caf2f375f31
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
3 years agowireguard: run feature after gso 54/30154/2
Nathan Skrzypczak [Thu, 26 Nov 2020 13:07:42 +0000 (14:07 +0100)]
wireguard: run feature after gso

This allows using GSO with wireguard

Type: fix

Change-Id: Id00a1425f9d9412aca9f259beda55a46bf5595d7
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
3 years agovlib: vlib_log for "linux device up" warnings 93/30293/2
Dave Barach [Sun, 6 Dec 2020 13:15:18 +0000 (08:15 -0500)]
vlib: vlib_log for "linux device up" warnings

Make it easy to figure out why vpp didn't bind a particular hardware
interface in the most common case: the Linux interface is up.

Type: improvement

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

3 years agotests: refactor ForeignAddressFactory 88/30288/3
Paul Vinciguerra [Fri, 4 Dec 2020 22:50:26 +0000 (17:50 -0500)]
tests: refactor ForeignAddressFactory

Move ForeignAddressFactory back to test_lisp.
It is the only test that uses the code and has
embedded addresses specific to the test.

Type: test

Change-Id: If1a39f9b167e36dd7aff7481350ddb8fe17155d2
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
3 years agovirtio: fix the interrupt handling for packed queues 32/30232/3
Mohsin Kazmi [Wed, 2 Dec 2020 15:39:42 +0000 (16:39 +0100)]
virtio: fix the interrupt handling for packed queues

Type: fix

Change-Id: I2cc1cfd519e5b3502c59cf72e95e454f9122b8e5
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
3 years agocrypto: fixed vnet_crypto_async_reset_frame assert 46/30246/2
PiotrX Kleski [Tue, 24 Nov 2020 07:34:09 +0000 (07:34 +0000)]
crypto: fixed vnet_crypto_async_reset_frame assert

Type: fix

Changed vnet_crypto_async_reset_frame assert to expect also
ERROR state frames.

Signed-off-by: PiotrX Kleski <piotrx.kleski@intel.com>
Change-Id: I3abc29f3f9642027aee38a59a932e54c90da859d

3 years agocrypto: fixed async frame enqueue race condition 47/30247/2
PiotrX Kleski [Tue, 24 Nov 2020 08:26:26 +0000 (08:26 +0000)]
crypto: fixed async frame enqueue race condition

Type: fix

To avoid race condition happening in async crypto engines,
async frame state and thread index set should happen before enqueue.
In addition as the enqueue handler already returns the enqueue status,
when an enqueue is failed, the async crypto engine shall not worry
about setting the async frame state but let the submit_open_frame function
to do just that.

Signed-off-by: PiotrX Kleski <piotrx.kleski@intel.com>
Reviewed-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: Ic1b0c94478b3cfd5fab98657218bbd70c46a220a

3 years agoacl: fix acl-plugin testcases packet counting 30/30130/3
Andrew Yourtchenko [Wed, 25 Nov 2020 14:42:54 +0000 (14:42 +0000)]
acl: fix acl-plugin testcases packet counting

Counter checks in ACL tests were incorrect if VPP is running with multiple workers

Change-Id: Id095d55c6cd3bfee8aaac6d177984e569e87d29b
Type: fix
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
3 years agolibmemif: clean up typos 50/27350/3
Paul Vinciguerra [Sat, 30 May 2020 03:03:06 +0000 (23:03 -0400)]
libmemif:  clean up typos

Type: style

Change-Id: I0d25d922312dfd60a665916cf47c3d2faa29ea49
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
3 years agoavf: fix coverity issue 83/30283/2
Mohammed Hawari [Fri, 4 Dec 2020 16:00:16 +0000 (17:00 +0100)]
avf: fix coverity issue

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

3 years agoudp session: fix deq notification for dgrams 67/30267/3
Florin Coras [Fri, 4 Dec 2020 02:19:39 +0000 (18:19 -0800)]
udp session: fix deq notification for dgrams

Type: fix

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

3 years agovirtio: fix the len offset 49/30249/2
Mohsin Kazmi [Thu, 3 Dec 2020 10:35:23 +0000 (11:35 +0100)]
virtio: fix the len offset

Type: fix

Change-Id: I8ce1df5c97941fb645b33476db9cfc74f1395b15
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
3 years agoip: fixup memory leak in function ip4_full_reass_drop_all 74/30274/4
barryxie [Fri, 4 Dec 2020 11:21:23 +0000 (19:21 +0800)]
ip: fixup memory leak in function ip4_full_reass_drop_all

Type: fix

The vector 'to_free' allocated on heap should be freed to avoid memory leak.

Signed-off-by: barryxie <barryxie@tencent.com>
Change-Id: I539498b50a7f3e346c83b869fb400868961c233f

3 years agopapi: add support for enumflag part 1 of 2 66/30266/4
Paul Vinciguerra [Fri, 4 Dec 2020 02:06:28 +0000 (21:06 -0500)]
papi:  add support for enumflag part 1 of 2

Allow for papi to accept the new enumflag type.

Change-Id: I8d8dc8fdb122e9a1b1881f5b2558635c75e4a299
Type: feature
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
(cherry picked from commit 299abebe2942b4c78b85f9f3b8843f8213bf1efe)

3 years agovppapigen: add parser support for enumflags 18/30118/12
Paul Vinciguerra [Wed, 25 Nov 2020 04:26:06 +0000 (23:26 -0500)]
vppapigen:  add parser support for enumflags

Type: improvement

Change-Id: I0f15862cc8399a4f7c8a81fe44ba8b27d8772278
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Signed-off-by: Ole Troan <ot@cisco.com>
(cherry picked from commit e15523297bb3905f2e0eef4272fc69a8a92463cc)

3 years agostats: fix coverity issues 71/30271/2
Andrew Yourtchenko [Fri, 4 Dec 2020 07:22:01 +0000 (07:22 +0000)]
stats: fix coverity issues

Usage of the possibly negative value with subsequent check on it
makes coverity very unhappy, so put the check before use.

Change-Id: I731fbe6246f9e4212d546fd9277bc1ddcd3c2ec1
Type: fix
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
3 years agolisp: .api dont set defaults in reply messages 32/26932/2
Paul Vinciguerra [Wed, 6 May 2020 19:11:42 +0000 (15:11 -0400)]
lisp:  .api dont set defaults in reply messages

Type: fix

Change-Id: I39afa6ee048dd293c5e17120fa661052eb3477d1
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
3 years agotls: allow picotls to use secp elliptic curves 58/30258/2
Vladimir Medvedkin [Wed, 2 Dec 2020 17:39:01 +0000 (17:39 +0000)]
tls: allow picotls to use secp elliptic curves

Fix typos in macros for elliptic curves over prime field.

Type: fix
Fixes: f83194c2f4

Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Change-Id: I657a7feaf1d1fdf3f2ca74fb3787977c65891a20

3 years agovirtio: fix the offloads in tx path 56/30256/2
Mohsin Kazmi [Thu, 3 Dec 2020 15:35:20 +0000 (16:35 +0100)]
virtio: fix the offloads in tx path

Type: fix

Change-Id: I1f1f0b6e8c5ef8bc9f2aca4bdc78e89fa951b841
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
3 years agonat: fix forwarding handoff workaround 94/29594/13
Filip Varga [Thu, 22 Oct 2020 09:13:00 +0000 (11:13 +0200)]
nat: fix forwarding handoff workaround

A special case when out2in packet needs to
be handoffed to other worker thread. We are
not able to determine which thread they belong
to in the first processing of nat handoff node.
These packets needs to go through out2in slowpath
before we are able to tell where to handoff them.

Type: fix
Ticket: VPP-1941

Change-Id: I7173bda970ce6a91d81f48fc72aa2457586a076f
Signed-off-by: Filip Varga <fivarga@cisco.com>
3 years agotests: remove py2/py3 six compatability library 44/30244/4
Paul Vinciguerra [Thu, 3 Dec 2020 05:42:46 +0000 (00:42 -0500)]
tests: remove py2/py3 six compatability library

Type: test

Change-Id: Idb6b8169845e0239e639429ccfd02a683212b7e6
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
3 years agotls: fix passed argument in openssl plugin 57/30257/2
Vladimir Medvedkin [Wed, 2 Dec 2020 17:56:12 +0000 (17:56 +0000)]
tls: fix passed argument in openssl plugin

Thread index used in qat_init_thread() is passed via a pointer
to a variable located on a stack that does not exist
when qat_init_thread is actually executed.

Type: fix
Fixes: f4a92f6a1c

Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Change-Id: I65dd4e604b78fcb1cf0452d707f47f9785e6371d

3 years agosvm: fix mutex consistency on trylock 33/30233/4
Florin Coras [Wed, 2 Dec 2020 15:57:00 +0000 (07:57 -0800)]
svm: fix mutex consistency on trylock

Type: fix

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

3 years agopapi: remove python2 patterns 40/30240/3
Paul Vinciguerra [Wed, 2 Dec 2020 19:34:27 +0000 (14:34 -0500)]
papi: remove python2 patterns

Type: refactor

Change-Id: I541759b4b788acf08599661eb9e7abc58e9283d2
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
3 years agopapi: allow client control over loggers 42/30242/2
Paul Vinciguerra [Wed, 2 Dec 2020 22:43:59 +0000 (17:43 -0500)]
papi: allow client control over loggers

This change enables a client to set debug levels
globally as well as individually.

exposes loggers as
  vpp_papi
  vpp_papi.serializer
  vpp_papi.transport

Type: improvement

Change-Id: Ib6bd1a1f552b51a22c9fe3de819a5fb970963ae5
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
3 years agostats: char-pointer arithmetic style-up 36/30236/3
Vratko Polak [Wed, 2 Dec 2020 17:45:16 +0000 (18:45 +0100)]
stats: char-pointer arithmetic style-up

Char* typed shared_header value appears multiple times,
so store it is a variable.
Pointer "p" value is used more frequently casted to char*,
so use that type for it, and convert to void* only at return.

Type: style
Fixes: 41f15ae1dfd4ac1777b684fdc763d12496209418

Change-Id: I7b3f1e6a43c020acd7ae561f87d12237b07fcd66
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
3 years agonat: fix incorrect session removal case 37/30237/3
Klement Sekera [Wed, 2 Dec 2020 18:27:24 +0000 (18:27 +0000)]
nat: fix incorrect session removal case

Add a condition where a TCP session in transitory timeout is kept
instead of being erroneously deleted.

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

3 years agotests: fix typo in numbered list in documentation 50/30250/1
Elias Rudberg [Thu, 3 Dec 2020 12:29:38 +0000 (13:29 +0100)]
tests: fix typo in numbered list in documentation

Fix a typo in numbered list in the documentation. Also mention
possibility of using TEST= to run a specific test.

Type: fix

Signed-off-by: Elias Rudberg <elias.rudberg@bahnhof.net>
Change-Id: I026703af014493afb3dea2d9ad99a7bb510b135d

3 years agotests: remove aenum library 45/30245/1
Paul Vinciguerra [Thu, 3 Dec 2020 05:46:03 +0000 (00:46 -0500)]
tests:  remove aenum library

the aenum library was used to provide intflag functionality
for python versions earlier than 3.6

Type: test

Change-Id: I914d390ee5364f337006c1c59abafe4b9a3c1bde
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
3 years agotests: add type annotations to the vpp object abstract class 22/30222/2
Paul Vinciguerra [Tue, 1 Dec 2020 16:33:28 +0000 (11:33 -0500)]
tests: add type annotations to the vpp object abstract class

make it easier to detect logical mistakes.

Type: test

Change-Id: I853748ffaeebc545c8d31299f0d105405ad80bba
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
3 years agonat: use correct per-thread vlib_main 35/30135/2
Benoît Ganne [Wed, 25 Nov 2020 13:32:53 +0000 (14:32 +0100)]
nat: use correct per-thread vlib_main

Using vlib_main of another thread is prohibited.

Type: fix

Change-Id: I9a85a5fee5c6665d423b4306faf3b3f2c5e22f99
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agopapi: improve unit testability 08/30208/4
Paul Vinciguerra [Tue, 1 Dec 2020 07:00:35 +0000 (02:00 -0500)]
papi:  improve unit testability

refactor the code so that snippets of json can be used to test vpp_papi
example unit test provided

Type: improvement

Change-Id: Ibec608fd2e5b12515aa4db17d85d4319134c22ea
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
3 years agostats: void-pointer arithmetic fix 07/30207/2
Elias Rudberg [Tue, 1 Dec 2020 06:52:48 +0000 (07:52 +0100)]
stats: void-pointer arithmetic fix

Cast to (char *) to avoid pointer arithmetic for (void *) pointers.

Type: fix

Signed-off-by: Elias Rudberg <elias.rudberg@bahnhof.net>
Change-Id: I62607b4cbc553449e2c60d514b4b17dbb4f88216

3 years agopapi: fix copy/paste error 25/30225/2
Paul Vinciguerra [Wed, 2 Dec 2020 04:45:38 +0000 (23:45 -0500)]
papi: fix copy/paste error

Type: fix

Change-Id: I8bd20fb38e132f6ab8cbc0e73095b649b5946498
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
3 years agoikev2: fix nat traversal 21/30221/3
Filip Tehlar [Tue, 1 Dec 2020 14:51:09 +0000 (14:51 +0000)]
ikev2: fix nat traversal

Type: fix

Change-Id: Ie723cf680745ec2292a15e2df05c1821436dba19
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>