11367 Commits

Author SHA1 Message Date
Laszlo Kiraly
e56008519b build: (opensuse) Revert build remove opensuse build infra
Added missing deps
Removed Thumbleweed support
Changed python2 to python3
Added Dockerfile for suse-leap build

Type: make
Change-Id: Ie73d2382a73ebc9d4475ace1a8f818fe38cf40c0
Signed-off-by: Laszlo Kiraly <laszlo.kiraly@est.tech>
2021-11-19 15:06:08 +00:00
Neale Ranns
6fdcc3daa4 fib: Don't use [midchain] adjacencies to change an interface's feature arc
Type: fix

Using the adjacency to modify the interface's feature arc doesn't work, since there are potentially more than one adj per-interface.
Instead have the interface, when it is created, register what the end node of the feature arc is. This end node is then also used as the interface's tx node (i.e. it is used as the adjacency's next-node).

rename adj-midhcain-tx as 'tunnel-output', that's a bit more intuitive.

There's also a fix in config string handling to:
 1- prevent false sharing of strings when the end node of the arc is different.
 2- call registered listeners when the end node is changed

For IPSec the consequences are that one cannot provide per-adjacency behaviour using different end-nodes - this was previously done for the no-SA and an SA with no protection. These cases are no handled in the esp-encrypt node.

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: If3a83d03a3000f28820d9a9cb4101d244803d084
2021-11-19 14:41:28 +00:00
arikachen
ad80663eb3 af_xdp: integrate with new tx infra
Type: improvement

Signed-off-by: arikachen <eaglesora@gmail.com>
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Change-Id: If8d57bcf033864935bd5e3a9912b2c1a7c712f44
2021-11-19 02:10:11 +00:00
arikachen
57bdb26ba4 af_xdp: introduce to netns api
In some situation, we support to deploy vpp as per host
and handler packet in container, so we use xdp to redirect
the flow.

Type: improvement

Signed-off-by: arikachen <eaglesora@gmail.com>
Change-Id: Iab42d6a0abb2b330a284d519018a90aff2fa4371
2021-11-18 16:56:22 +00:00
Florin Coras
ef048034be session: deprecate mq segments baseva
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I5b6cb8dd9db7e003a470ca4aeb8472fa7cb9a128
2021-11-18 15:25:28 +00:00
Florin Coras
8afe1b8895 session: improve wrk mq segment allocation
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I9e5438a2f82762aa8a88bbacf4290151ef30969e
2021-11-18 15:25:28 +00:00
Neale Ranns
b28652ed7a ip: comparing IP prefixes should not modify them
Type: improvement

make the ip_prefix_cmp take const paramenters.
plus some other miscellaneous functions.

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: Ib69bacfb09483a8a8f8b89900c92d3d55c354ac6
2021-11-18 14:06:02 +00:00
Florin Coras
fc8d0c5103 session: fix state check in switch pool
This affect udp only

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I5e05e9c77b733b9e10c14cc9ef610c9bff216fa0
2021-11-17 11:41:10 -08:00
Florin Coras
0200044387 session: support close during migration
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ife1e046b62bb0679419fd1346e973d0e3ea55489
2021-11-17 14:46:34 +00:00
Florin Coras
c215e5a317 session: try to coalesce ct accept rpcs
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I11de851949afd90a37c102ed0c00969a4cc73df4
2021-11-17 14:46:23 +00:00
Paul Atkins
c24198b423 ip6: ip6_not_enabled_node is a sibling of ip6-drop
The node ip6_not_enabled should be marked as sibling of
ip6-drop as both are start nodes of the ip6-drop arc.

Type: fix
Signed-off-by: Paul Atkins <patkins@graphiant.com>
Change-Id: I212c25444a81b11d8085ba7930ddb67b47502d5c
2021-11-17 12:42:09 +00:00
Paul Atkins
6563c5b084 ipfix-export: remove unused code in flow_report.h
There are no implementations for this function so remove it.

Type: improvement
Signed-off-by: Paul Atkins <patkins@graphiant.com>
Change-Id: I793b015ea1657edd1de719c2a574799aeb8b74d5
2021-11-17 12:00:57 +00:00
Paul Atkins
292992e009 ipfix-export: tidy code style in flow_report.c
Indent sections of code properly in vec_foreach loops.

Type: style
Signed-off-by: Paul Atkins <patkins@graphiant.com>
Change-Id: I90183ace164df753f3f47b6c4a6305ded21d744d
2021-11-17 12:00:29 +00:00
Paul Atkins
5df0b34898 ipfix-export: set msg id correctly for dump msg
When sending the reply to the VL_API_IPFIX_EXPORTER_DUMP message the
message id has to be added to the message base.

Type: fix
Signed-off-by: Paul Atkins <patkins@graphiant.com>
Change-Id: I9565be7887046739b5f309e021f34ed75c9e370e
2021-11-17 12:00:29 +00:00
Paul Atkins
7a80c4715f misc: Volunteer as maintainer for ipfix-export
Type: improvement
I volunteer myself as another maintainer of the ipfix-export code.

Signed-off-by: Paul Atkins <patkins@graphiant.com>
Change-Id: I1d0b7f1d426447cb6b52a7b4c4fdcd8b73bc122e
2021-11-17 12:00:29 +00:00
Daniel Béreš
79ce514228 nat: VPP crashes when route is not reachable
The problem was reproducible only with icmp packet type
when det44 in, out interfaces were swapped.
Dst addr was unknown but packet has been forwarded.

Type: fix
Ticket: VPP-1958

Signed-off-by: Daniel Béreš <daniel.beres@pantheon.tech>
Change-Id: Ie446cf2ac866955cc668fe2848f954a2ef92e3fa
2021-11-17 09:21:46 +00:00
Filip Varga
9a70cfc0b7 nat: det44 plugin session scavenging fix
det44 plugin process node would only run once on
the first plugin enable call. this patch ads
the required calls into while loop in the
process node funciton.

Type: fix

Change-Id: I38c94b29fd1e2c842a1330e8628e3019f23f2b69
Signed-off-by: Filip Varga <fivarga@cisco.com>
2021-11-17 09:21:01 +00:00
Paul Atkins
e0d5af7b4d misc: Add maintainer entry for ipfix-export
Type: improvement
Add Ole as a maintainer for the ipfix-export code

Signed-off-by: Paul Atkins <patkins@graphiant.com>
Change-Id: I659292666d32cd223dfa31e00c7b5d005d1fbad5
2021-11-17 09:13:21 +00:00
Klement Sekera
2f89f3ae1d vlib: fix coverity warning
Remove now unused computation result.

Type: fix
Fixes: 3f8b8d30cade20afa8975a5e7a6d79346cec8f3e
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: Iea142cb044d31e364fdc5b8b6dd69681e77d745f
2021-11-16 18:25:54 +00:00
Dave Wallace
719d560208 build: upgrade to enchant-2
- Remove enchant from RPM builds since docs are
  generated on ubuntu-20.04 in CI jobs.
- Clean up DEB_DEPENDS copy-pasta
- Add clang-11 for newest Ubuntu/Debian OS
  variants

Type: docs

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I802f0b356bd412dbc23ee98d209f7cc3ab24ba4c
2021-11-16 18:16:12 +00:00
Nathan Skrzypczak
ae5609721b docs: consume fd.io version list
Type: feature

This adds a version snippet in the
vpp docs, based on a json description
fetched from fd.io/vpp_versions.json

This relies on https://github.com/FDio/site/pull/108
being merged

Change-Id: I6dd22f09927841aef96011ed57af2cbdc5d409f5
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-11-16 18:04:55 +00:00
Klement Sekera
cbc81eae6e perfmon: fix coverity warning
Check for possible hash lookup failure to avoid NULL dereference.

Type: fix
Fixes: e15c999c30
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: Ib806b4d124be26fbccf36fe9d19af1aec63f487b
2021-11-16 16:19:40 +00:00
Dave Wallace
fc283bc040 build: Remove ubuntu-18.04 install dependencies
- Per agreement at VPP community meeting, end support for
  ubuntu-18.04

Type: make

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I20ae1531e571ba0aad233d47c2e5b73ee3f964b6
2021-11-16 15:50:09 +00:00
Florin Coras
7fe006965e session: add per worker ct context
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie20dc1e369735965bd780f04cd8703c099065fcc
2021-11-16 15:35:41 +00:00
Klement Sekera
a25ce96ba3 vapi: verify message size when received
Verifying message size including VLA size allows to dismiss some
coverity warnings in generated code.

Type: improvement
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I824658881254b3e7a9bfca228a266cfee448cc2e
2021-11-16 10:30:50 +00:00
Nathan Skrzypczak
5f07b6bd54 docs: add jira link
Type: improvement

Change-Id: I9c53ff39e6d064437b5a2fdc29ecc2301b5cbd16
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-11-15 19:33:57 +00:00
Florin Coras
9895238e24 session: postpone ct segment delete
Only delete segments only after both server and client detach.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Idea6b2141f406aad1f19a5312ecea89d35f2b5de
2021-11-15 18:18:48 +00:00
Filip Tehlar
2f09bfc8be vcl: add DSCP support in VCL
Type: feature

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I835675267c997b5dc92a0aaccdb58648bc786bb9
2021-11-15 17:42:30 +00:00
Andrew Yourtchenko
31f1924346 misc: vppctl - remove the dependency on vppinfra
56f54af21d18f9fdd471b81db77a3942b0aa4d9c introduced the new memcpy.
It also made a vector support mandatory in order to compile anything
that depends on vppinfra.

This broke extras/scripts/build_static_vppctl.sh

Since the vppctl is just a two-pronged epoll+basic telnet client handler,
remove dependencies on the vpp infra libs, and trim the build script accordingly.

Change-Id: I394bc65c485cbf8e7143a818ca0c86367bb15d90
Type: improvement
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2021-11-15 14:34:56 +00:00
Dmitry Valter
923325f0ef vppinfra: fix masks in AVX512 clib_count_equal_*
Mask result of uAxB_is_equal_mask when buffer is masked. Otherwise it
return vector length B as a result for zeroed words.
This bug caused crashes in error_drop in tests on Ice Lake.

Type: fix
Fixes: 7459be1b3626b608e60df574343a1432a068ebce
Change-Id: I56183e77f8a8ab6c530e79b465067958de84dceb
Signed-off-by: Dmitry Valter <d-valter@yandex-team.ru>
2021-11-15 12:57:26 +00:00
Mohsin Kazmi
23ff4ce21e memif: fix the coverity warning
Type: fix

Fixes: 2bae16b238bd ("memif: fix the default txq placement")

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I8fbb2aa92dc31d84a5cd0f7b9a3c7f39dfb064ee
2021-11-15 12:41:50 +00:00
Ray Kinsella
e75084025a perfmon: rename bundle to memory stalls
Rename the memory bandwidth bundle to memory stalls, to differentiate it
from the bundle that measures memory controller bandwidth boundedness.

Type: refactor

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: I828c73b6f769046e1ab592712bdf81ceefcd7911
2021-11-15 12:41:14 +00:00
Neale Ranns
50bd1d3e25 fib: re-evaluate the import/export state of a prefix.
Type: fix

re-evaluate the import/export state of a prefix when the interface it is attached to rebinds to a different table.
Only attached routes have import/export requirements, so we can back walk from the glean adjacency when the interface rebinds tables.
There are two cases to consider.
 1. the rebind may change the prefix from/to import
 2. the import VRF may change

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I25b6af43b3b2d8f701dfbe7a08710dc56b3f5778
2021-11-15 08:42:26 +00:00
Daniel Béreš
8d76ccf9cc flowprobe: right values in records from subinterfaces
Skip 802.1q headers due to correct EtherType, ip addresses, ports.

Ticket: VPP-1997
Type: fix
Change-Id: I1a552fa6abe5b1459dd7d2c5ac6ad0f62c51417c
Signed-off-by: Daniel Béreš <daniel.beres@pantheon.tech>
2021-11-14 09:27:00 +00:00
Filip Tehlar
3ef8bf3660 session: add support for DSCP
Type: feature

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I817b1503ada1ae53c1134a85263f9b801d74e88a
2021-11-12 20:41:09 +00:00
Damjan Marion
271daab967 hash: refactor crc32_5tuple
Type: improvement
Change-Id: I31cae2367e2ec7fc89991ca0df994a73da93aaed
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-11-12 16:13:08 +00:00
Damjan Marion
3108399fcf srtp: fix uninitialized value
Type: fix
Fixes: 6621abf
Change-Id: I7cd4d6344613c950cc0018bed7306b8840292221
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-11-12 15:49:53 +00:00
Damjan Marion
bea6993274 build: remove unnecesary link deps
Change-Id: I560c505ff754bf6856094c16494530a855fe287b
Type: make
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-11-12 14:21:09 +00:00
Florin Coras
feb6702805 session: fix ct tracking of actual transport proto
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: If6a0b0ba9efc95180bdd2e26a1422663ab957ea0
2021-11-12 12:38:25 +00:00
Mohsin Kazmi
049a2ea95f virtio: improve the inline of clib_memcpy_fast
Type: refactor

Change-Id: Ia13a9cf6480aac280f3d287c59908e84c29c3443
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2021-11-12 12:37:20 +00:00
Mohsin Kazmi
2bae16b238 memif: fix the default txq placement
Type: fix

Fixes: 3effb4e63068 ("memif: integrate with new tx infra")

"memif: integrate with new tx infra" patch integrated memif
with new tx infra. There might be scenarios when txqs were
less than vpp threads, in which case, txqs should be shared
among threads. This patch fixes it.

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I1c64a1370f5024240ab56311f75665db31714b60
2021-11-12 12:33:46 +00:00
Ole Troan
9432340362 tests: make code coverage for unit tests optional
Add a new cmake option VPP_BUILD_TESTS_WITH_COVERAGE to enable
building unittests with clang code coverage.

Type: improvement
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I9cbe9e3031afdcd03bc8f9203d662b91677724ab
Signed-off-by: Ole Troan <ot@cisco.com>
2021-11-11 19:33:37 +01:00
Florin Coras
ef2c0f177d vcl: notify vpp if connected inexistent session
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I6939a0cdb02067440dce01cb0771f07099ca841e
2021-11-11 15:59:12 +00:00
Filip Varga
730c1a4097 nat: nat44-ei/ed nat objects cleanup improvements
Improvements:
* Changed plugin disable call behavior from freeing data types
to calling appropriate nat plugin object delete calls for
pool addresses, mappings and interfaces.
* Added wrapper nat44_ei/ed_add_del_static_mapping function to
handle switch bound static mappings. This would also fix ip assignment
callback add/del bound static mapping issue preventing creation of the
mapping.

Fixes:
 * Fixed lingering object issue: some nat intertwined objects would
not free each other if not correctly deleted in proper order.
 * Fixed incorect order of FIB unlocks for pool addresses causing
syslog messages to use deleted FIBs in multiple VRF configuration.
 * Fixed incorrect value testing of flags instead of vrf_id for
multiple vrf configuration static mapping.

Type: improvement

Change-Id: I2743f7b1104b627bcc5ef937e3a50655313a26ea
Signed-off-by: Filip Varga <fivarga@cisco.com>
2021-11-11 12:40:30 +00:00
Damjan Marion
aa63bc6cf4 vppinfra: new vectorized ip checksum functions incl. csum_and_copy
Type: improvement
Change-Id: Id5810b7f4a6d6e4ce16b73c235b50db5d475ebf7
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-11-10 23:22:58 +00:00
Dave Barach
29355644c5 vppinfra: deprecate test_mheap.c
The original mheap allocator found the exit a long time ago,
move test_mheap.c to .../extras/deprecated/vppinfra

Type: test

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ib1ed40ac605ad76f33c22a681a6df867985bbbba
2021-11-10 16:41:06 -05:00
Steven Luong
4d769c71a1 ip: crash in ip_csum_fold due to illegal instruction shrx
Encounter a crash for the line
	shrx   edi,eax,edi
in ip_csum_fold. The target cpu is ivy bridge which does not support
shrx instruction.

Type: fix
Fixes: e6709ff37dc0f3a58ed5ad98aace73fe801f1e9d

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: Icc922d3b2ebfcfa721f63946a213b6c492874a9a
2021-11-10 09:02:24 -08:00
Damjan Marion
56f54af21d vppinfra: new memcpy for x86_64
Change-Id: I5a5055580479960ac53e3f989aa188faf57fb05d
Type: improvement
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-11-10 16:45:23 +00:00
Florin Coras
904638f462 ip: always set ip rx_sw_if_index
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I43f6bfa028ee37227f27a2fe0303662bf2631b10
2021-11-10 15:33:02 +00:00
Filip Varga
9c25eb1f48 nat: api autoendian fix
Fixed bad use of macros for autoendian API calls
and updated tests for the new API. Removed sw_if_index
check macro because of ntol conversion. Changed
REPLY_MACRO to REPLY_MACRO_END to fix ntohl conversions.

Type: fix

Change-Id: I878a07b3f80fe03179feab60f0abc662f408a2c8
Signed-off-by: Filip Varga <fivarga@cisco.com>
2021-11-10 10:48:19 +00:00