Commit Graph

11436 Commits

Author SHA1 Message Date
Neale Ranns 2008912b56 fib: Fix the display (or lack of) for fib node types in dependent children lists
Type: fix

When registering a new FIB node type, no name was required on the API, and so no name was printed.

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I8a99cf29c194637a550061b0a5e9782ffe8b31dd
2021-12-03 09:04:44 +00:00
Filip Tehlar f68798626c tests: add segment manager tests
Type: test
Change-Id: Ic9fddc9fedd5140984c5901c4cac53dec022dcec
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2021-12-02 17:53:11 +00:00
Damjan Marion e31c48a66b perfmon: compile dispatch wrapper once for each number of counters
A bit ugly, but generates faster and less noisy code which
should be important for this particular use case.

Type: improvement
Change-Id: If2bba947dac33ffedb4236a5b3fb50fc783668e1
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-12-02 17:49:49 +00:00
Damjan Marion 3323e2018d vppinfra: add perf testing to test_vector_func
Type: improvement
Change-Id: I7aacd58d113c13036c15655817400032dd8d1932
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-12-02 16:19:17 +00:00
Ray Kinsella e893beab27 perfmon: refactor perf metric support
Refactoring perf metric support to remove branching on bundle type in
the dispatch wrapper. This change includes caching the rdpmc index at
perfmon_start(), so that the mmap_page.index doesn't need to be looked
up each time. It also exclude the effects of mmap_page.index.

This patch prepares the path for bundles that support general, fixed and
metrics counters simulataneously.

Type: refactor

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: I9c5b4917bd02fea960e546e8558452c4362eabc4
2021-12-02 15:02:39 +00:00
Damjan Marion c30f3006bd build: bump min cmake version to 3.13 and remove workarounds
Type: make
Change-Id: I1cd00257e132e671cbdd7b4710862afb07aa19e6
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-12-02 13:51:08 +00:00
Damjan Marion efd6de87d3 vppinfra: vector shuffle cleanup
Type: refactor
Change-Id: I8b3fc2ce30df313467274a174c5ac6adbf296153
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-12-02 13:46:23 +00:00
Damjan Marion 9ab2e5d8d7 vppinfra: add SIMD masked bitwise ops
Type: improvement
Change-Id: Id73b00a8cb3af799f9f97949bc1302f162a91a57
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-12-02 13:45:43 +00:00
Matthew Giassa 4a0dd383cf docs: add VPP Container Testbench example and lab
Adding a "VPP container testbench" (pair of Docker containers plus
helper scripts to test Linux and VPP interfaces). Will be part of a
larger set of labs/exercises/tutorials. Putting this baseline setup up
for review first to see if the community sees use/value in it. If so,
additional exercises using the testbench will be added gradually.

Type: improvement
Signed-off-by: Matthew Giassa <mgiassa@cisco.com>
Change-Id: I582310f7355419e907d575f640482ca49cbb282f
2021-12-01 18:41:20 +00:00
Mohsin Kazmi 342a5d472f api: add api macros for native endian
Type: improvement

Change-Id: I22fec740b30b89e7a571f8ba2bd55adb2ef305d4
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2021-12-01 14:53:20 +00:00
Mohsin Kazmi 376c2106ce interface: add support for outer header checksums
Type: improvement

Change-Id: I7c341dc4a99898dd1f865ac2ebd99de9898bb0bd
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2021-11-30 21:24:48 +00:00
Dave Wallace bfcd239682 build rpm-packaging: Remove boost dependencies from VOM
- VOM was deprecated in VPP 21.06, but the boost library
  dependencies did not get cleaned up.

Type: make

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I0fb860a7a37676c1a1a0981c91f383882d9a820a
2021-11-30 19:59:02 +00:00
Florin Coras 8d42c75d6c vcl: improve handling of failed connects
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: If6235888cb0870ec3e1279ab1856a00715bd6c68
2021-11-30 16:01:12 +00:00
Florin Coras 6068719f37 vcl: avoid ip format function vnet dependency
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I89103d4c99b21c5a466dbe511f0151bd754559a0
2021-11-30 16:00:58 +00:00
Benoît Ganne db4abc4bc2 rdma: bump to rdma-core 38.0
Type: improvement

Change-Id: Ibe3e6f342f3713fa814b684e04a066a3248669d8
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2021-11-30 14:10:48 +00:00
Benoît Ganne 521a9f8eb9 rdma: fix rdma-core install
We should not install symlinks to local build directory.

Type: fix

Change-Id: I81e624dd5775ec9c5dd8c58f578ee51c5acfef73
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2021-11-30 14:10:32 +00:00
PiotrX Kleski cd27e71f33 dpdk: cryptodev AES-CTR+SHA1 support added
Type: improvement

This patch adds AES-CTR-128/192/256 + SHA1 linked algo support to dpdk
cryptodev.

Signed-off-by: PiotrX Kleski <piotrx.kleski@intel.com>
Change-Id: Idc162b29f4075ef8be9577abd3daf6de05f84faa
2021-11-30 12:12:31 +01:00
Dastin Wilski 4d232ff5ac dpdk-cryptodev: scalable session count
Originally cryptodev allocates mempools for seesion and session private
data during its initialization. Moreover the size of these mempools are
fixed resulting in limited session count (up to value specified in
CRYPTODEV_NB_SESSION macro).

This patch allows for session count to scale up by allocating new
mempools as they are needed during session creation.

Type: improvement
Signed-off-by: Dastin Wilski <dastin.wilski@gmail.com>
Change-Id: I6ae240b474d3089d3ff50ca5bc7ff48f149983db
2021-11-30 11:02:11 +00:00
Florin Coras bb1413bd1e vppinfra: remove duplicate api function definition
vl_api_c_string_to_api_string declared in api_types.h
and defined in api_shared.c. Remove from jsonformat

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I994c8c13b7246a857464c1f879432f73692c6d1f
2021-11-30 05:38:37 +00:00
Florin Coras cba1c2258b vcl: fix build with older gcc
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ic941065aa7d7c0002863a6391c8914089c438445
2021-11-29 17:50:53 +00:00
Florin Coras 02cc719d98 session: remove segment if empty after writer lock
Make sure segment is empty after writer lock acquired. Other workers
might add fifos in between empty test and writer lock acquire.

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I3400fdd14be98d9d8fb4e415d3a849be1d255241
2021-11-29 17:50:40 +00:00
Florin Coras 1a4aaf1c31 session: mark first listener segment as protected
Avoid constantly re-mapping a listener's first segment when all its
sessions are closed.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iea7033fb70f4cf9e4408d542b7c0ff2b0c5c2f92
2021-11-29 17:50:16 +00:00
Florin Coras 5babf98369 session: no deq notifications after close
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I3e633f017c68e8c5446e45b577048138a387daf6
2021-11-29 17:50:05 +00:00
Florin Coras dfd27bc0f2 session: postpone close notification if still accepting
Acceping sessions might be rejected so the notification might not make
sense.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I3ababdce7c2cec62941d9722a9c06fa48ec547db
2021-11-29 17:49:48 +00:00
Paul Atkins b779ca9324 ipfix-export: don't check the result of pool_get
The code to check the exp is set after the call to pool_get()
is marked as unreachable in coverity. This is becasue if it
fails in pool_get then the it panics. Remove the unreachable code.

Type: fix
Signed-off-by: Paul Atkins <patkins@graphiant.com>
Change-Id: Iabb51b6b6788b6c12ef37c28dde2118c798de831
2021-11-29 16:21:27 +00:00
wanghanlin 19f6e260ac session: fix clib_rwlock_writer_unlock lost
Type: fix

Signed-off-by: wanghanlin <wanghanlin@corp.netease.com>
Change-Id: Iab857b056639f7e513f87a6095bea081b7d8349c
2021-11-29 15:05:23 +08:00
Nathan Skrzypczak 9adcc9778c devices: fix af_packet GSO check
Type: fix

This fixes the GSO size calculation in af_packet
which didn't include the ethernet size.
This is not ideal, as we default to the host
side mtu to check whether a packet is GSO or not
and to set the GSO size. But there doesn't seem
to be more info passed with the packets.

Change-Id: I9769e1dd21d5989b4cf67295352b5535454f88d1
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-11-27 15:31:46 +00:00
Florin Coras c6eb7da390 session: accept reply improvements
- Always check session ownership
- Improve test for main thread rpc

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I5fa60f7f5de199af0966987f9ce9a4cc8180cf98
2021-11-26 21:48:20 +00:00
Florin Coras 9439a36297 session: postpone ct peer disconnect and more checks
- Disconnect ct peer only after tx events have been drained
- Make sure session/connection is in healty state before rx/tx
notifications

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ic6e684410a98530cc95a9c6c54c05a19c17c11d9
2021-11-26 21:47:37 +00:00
Florin Coras a7bd8264b8 session: only notify server on ct connect failure
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ifcb631ed2913e5f4fc318238de9100286a7990d2
2021-11-26 21:47:37 +00:00
Mohsin Kazmi a4abdac55f api: add helper macros for native endian
Type: improvement

Change-Id: Ifa074dfd337f9cd68858468d34abf641fe7f247f
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2021-11-26 14:11:20 +00:00
Stanislav Zaikin 09abed65b5 vppinfra: will_expand for pool_put and bitmap
Macro for pool_put and put a barrier inside load_balance_destroy when bitmap is actually growing.

Type: improvement

Signed-off-by: Stanislav Zaikin <zstaseg@gmail.com>
Change-Id: Ief2912e8efd744289ebed68373fa6fd0ee83118e
2021-11-25 22:45:58 +00:00
Ole Troan 4551715aaa vppapigen: coverity 219549, dead code in generated file
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I64804092917f1d8dc520549bacae81672a95cd1e
2021-11-25 15:25:34 +00:00
Ray Kinsella 5e0ea09d96 l2: change prefetch to prefetchw
L2 prefetches the vlib_buffer_t and then immediately writes to l2 split
horizon group. Changing to the prefetch to a prefetchw.

Type: improvement

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: If3b7996978ee80f99c55904692c7b3c905f537ce
2021-11-25 09:08:50 +00:00
Ray Kinsella a0de780740 dpdk: prefetch becomes prefetchw
Changed dpdk-input prefetch of vlib_buffer_t to prefetchw.

vlib_buffer_t was being prefetched without 'ownership', which may
cause a stall when the buffer is subsequently written to. This saves
4 clocks a packet when the buffer is shared a cross cores, and has no
impact when not sharing.

Type: improvement

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: I317af2a38ef536022e68552351a8507861f62dad
2021-11-25 09:04:27 +00:00
Filip Tehlar 2711ca710a session: improve fifo segment allocation
This patch ensures that fifo segment has at least the size that was
requested during allocation.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Iea8a885ac290183e25e5c8f9163bba226c5efa15
2021-11-24 19:48:52 +00:00
Florin Coras 32c7335ea9 session: detach server from client on connect failure
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie2ed2554578d6a2c671c552dc2bdc081f9754eed
2021-11-24 13:10:49 +00:00
Klement Sekera 89a4978afd misc: vppctl - fix coverity warning
Check the return value and log failure in case send() fails.

Type: fix
Fixes: 31f1924346
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I1809598ff4816f67c28a88264b6524b10d7ff6ce
2021-11-24 09:57:51 +00:00
Nathan Skrzypczak 8b7e8ae97c docs: add missing 21.10 rlsnotes
This patch extract the release notes that
went into v21.10 & v21.10.1 but that are
missing in master, due to the documentation
refactoring

Type: docs

Change-Id: Icb3c95c71e8cdc255f735990d19ee835e3ce6c6c
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-11-23 19:47:43 +00:00
Damjan Marion 2010a214ea vppinfra: fallback to builtin memcpy if vector code is not enabled
Type: fix
Fixes: 56f54af
Change-Id: I678ff3622640c911eefb57a9288ef95ed859eeb9
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-11-23 15:24:14 +00:00
Damjan Marion 6b69f9473b vppinfra: update CPU list
Type: improvement
Change-Id: Ibe1f23801d5eac6d1dae61c6df1a47d59455d42e
Signed-off-by: Damjan Marion <dmarion@me.com>
2021-11-23 15:23:46 +00:00
Neale Ranns 3be9164f80 misc: deprecate gbp and its dependents
Type: improvement

Signed-off-by: Neale Ranns <nranns@cisco.com>
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Change-Id: I2f30a4f04fd9a8635ce2d259b5fd5b0c85cee8c3
2021-11-23 13:03:36 +00:00
Ray Kinsella 0a7551bef8 vxlan: multiarch optimization of vxlan
Fixing the mutliarch versions of vxlan, geneve and friends. Ensures that
main struct is correctly sized for all multiarch permutations.

Type: fix
Fixes: 290526e3c

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: I7c4c435763a5dcb0c3b429cd4f361d373d480c03
2021-11-23 12:58:42 +00:00
Florin Coras 2dc942e873 devices: support build on older kernels
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I10af028b5e57b36b8015b02240f1e4e9a42d0898
2021-11-23 10:03:59 +00:00
Florin Coras fa1fb608b6 dpdk: enable vmxnet3 l4 checksum offload
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ia25e671084dd2c0010c0577649bf51ba6495b6ac
2021-11-23 10:03:16 +00:00
Nathan Skrzypczak a424dd1b2e ip: unlock_fib on if delete
On interface delete we were not removing
the lock taken by a previous ip_table_bind()
call thus preventing the VRFs to be removed.

Type: fix

Change-Id: I11abbb51a09b45cd3390b23d5d601d029c5ea485
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-11-23 09:03:30 +00:00
Filip Varga b19d3e3e03 nat: change nat44-ed test pool address
NAT pool address overlaps with pg4 network 10.0.0.1/24
this is not desirable because of upcoming change [1]. This
change uncovered configuration issue with hairpinning test
that would fail because of already configured pg4 interface
that  shares subnet with nat pool address. Packets would
incorectly end up in bad pg interface causing the test to fail.

This patch changes nat pool address to 10.0.10.3 that doesn't
belong to any of the subnets configured on pg interfaces in nat
tests.

[1] https://gerrit.fd.io/r/c/vpp/+/34441

Type: test

Change-Id: I49e63dacbf0847116adbcf1954ff5defd833a657
Signed-off-by: Filip Varga <fivarga@cisco.com>
2021-11-22 20:23:14 +00:00
Benoît Ganne 56eccdbaa9 vlib: add virtual time support
Type: feature

Change-Id: Iabd76558e9c72ed8286cfeeb1fbaa4fde4832a90
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2021-11-22 16:44:26 +00:00
Gabriel Oginski f33979ba88 wireguard: add local variable in handshake process
Originally handshake process gets pointer to value of index peer.
In the meantime this pointer can be invalid due to resize hash table
for wireguard and passed poison value to another function.

The fixes add local variable to keep index of peer instead of value
from pointer.

Type: fix

Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com>
Change-Id: I1b2535c44b4f987d19077c75c778aaa5ed71a457
2021-11-22 15:28:31 +00:00
Mohsin Kazmi d431d7404d gso: implement gso segementation copy with checksum
Type: improvement

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: Iec9dacde170533ca16e8117787e62da8af69ae96
2021-11-22 10:26:14 +00:00