Jerome Tollet [Sat, 9 Jan 2021 00:47:36 +0000 (01:47 +0100)]
build: add python files to ctags
Type: improvement
Signed-off-by: Jerome Tollet <jtollet@cisco.com>
Change-Id: Ifb97b3a52d8bf4ecc09dc1e8ff94992fef309a65
Nathan Moos [Fri, 15 Jan 2021 21:47:16 +0000 (13:47 -0800)]
acl: replace glibc internal __bswap_64 with clib
Type: fix
In order to build VPP as a package for an embedded Yocto-based
distribution, this patch replaces the use of the glibc internal
__bswap_64 function with the VPP function clib_net_to_host_u64, which is
provided by vppinfra.
Change-Id: I3ecc8525861dc3441bce2b51aa4c80f9a62d3051
Signed-off-by: Nathan Moos <nmoos@cisco.com>
Ed Warnicke [Tue, 19 Jan 2021 23:56:24 +0000 (17:56 -0600)]
memif: fix vpp to go link up immediately on admin up
Type: improvement
Previously, memif would check every 3 seconds to see if an interface
had gone admin up. Now it does as soon as admin up occurs.
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
Change-Id: I808699cd5980fa162c34ac977f43d00ed6b67115
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
Ed Warnicke [Mon, 18 Jan 2021 17:56:22 +0000 (11:56 -0600)]
vxlan: fix SEGV reported in VPP-1962
Type: fix
Replace vnet_register_interface with ethernet_register_interface
Fixes https://jira.fd.io/browse/VPP-1962
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
Change-Id: I5f578fc416605429fe1e2b510ad49eb754451d40
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
Nathan Moos [Fri, 15 Jan 2021 23:50:59 +0000 (15:50 -0800)]
vppinfra: add option to use libexecinfo
Type: feature
The musl libc does not provide <execinfo.h> or an implementation of the
functions provided. This patch enables the use of libexecinfo as an
alternative, which can be used on systems with musl.
Change-Id: I76b5744ddf731b66e16144025a6fdedf72925260
Signed-off-by: Nathan Moos <nmoos@cisco.com>
Nathan Moos [Fri, 15 Jan 2021 22:03:01 +0000 (14:03 -0800)]
svm: add standard include for __WORDSIZE
Type: fix
In glibc, the __WORDSIZE macro is defined in a header included
indirectly from svm_common.h. In musl, the __WORDSIZE macro is not
indirectly included, so this patch directly includes <sys/user.h> to
ensure the __WORDSIZE macro is available.
Change-Id: If1b1fc97161b7a0b2e82351d4776c81c36a323cb
Signed-off-by: Nathan Moos <nmoos@cisco.com>
Nathan Moos [Fri, 15 Jan 2021 22:32:07 +0000 (14:32 -0800)]
vlib: fix build with musl
Type: fix
When building with musl, some transitive includes from glibc are not
present. This patch adds direct includes for the necessary types, and it
also defines _GNU_SOURCE to ensure that the socket types are complete.
Change-Id: Ic69c307b9515fec764c32906b5bc7f1fb34f2525
Signed-off-by: Nathan Moos <nmoos@cisco.com>
PiotrX Kleski [Mon, 18 Jan 2021 09:01:23 +0000 (10:01 +0100)]
crypto: improve ipsecmb build time
Type: improvement
This change disables building of ipsecmb test and perf targets to
reduce the build time.
IpsecMB test and perf targets are not neeeded and not used by VPP.
Signed-off-by: PiotrX Kleski <piotrx.kleski@intel.com>
Reviewed-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: I7c3449f7f4ce9a2e70ca21a00fd510691dab87d0
Filip Tehlar [Thu, 14 Jan 2021 13:32:01 +0000 (13:32 +0000)]
ikev2: use new counters data model & add more counters
Type: feature
Ticket: VPP-1916
Change-Id: Ibe612d21f748a532d88b73b286dc4a1dd15d7420
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Benoît Ganne [Mon, 18 Jan 2021 18:25:38 +0000 (19:25 +0100)]
ip: add IPv6 ping test for link-layer address
Type: improvement
Change-Id: I9f60e29462c7cb193a8594b7de06418b40573103
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Benoît Ganne [Mon, 18 Jan 2021 18:24:34 +0000 (19:24 +0100)]
ip: add API to retrieve IPv6 link-layer address
Type: feature
Change-Id: I5739869490155b0b9674b4faf61882d97e66a4ed
Signed-off-by: Benoît Ganne <bganne@cisco.com>
PiotrX Kleski [Mon, 11 Jan 2021 08:59:31 +0000 (08:59 +0000)]
crypto: fixed vnet_crypto_is_set_handler()
Type: fix
vnet_crypto_is_set_handler() was checking if op handler is set by
using alg instead of op id.
This fix changes the check to use op ids from crypto_main's alg_data
for provided alg.
Signed-off-by: PiotrX Kleski <piotrx.kleski@intel.com>
Change-Id: I5f0f00a889ddada44d9912af175ebad66677037a
Neale Ranns [Wed, 20 Jan 2021 09:03:30 +0000 (09:03 +0000)]
build: add the missing leading underscore to FORTIFY_SOURCE
Type: fix
Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I36f2d08681f90a3f8ea7598952d1e14c53f0187b
Mohammed Hawari [Tue, 19 Jan 2021 17:19:45 +0000 (18:19 +0100)]
rdma: fix pkg_config file
When building DPDK with rdma linkage, this patch avoids linking against
useless verb providers. It also hard-codes the library directory to lib
to fix CentOS behavior.
Change-Id: I3acd94adf1b7e59e023346b3c254bd4bba6157df
Type: fix
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Neale Ranns [Mon, 14 Dec 2020 16:02:17 +0000 (16:02 +0000)]
classify: Layout classify entry to group data-plane accessed fields on
one cache line
Type: refactor
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Change-Id: I54128ba62f8dcc87c1845b33ed3637112d42a891
Steven Luong [Wed, 20 Jan 2021 07:09:51 +0000 (23:09 -0800)]
classify: crash on classify filter pcap del command
If classify pcap filter was never configured, typing the delete
command causes a crash. The reason is
cm->classify_table_index_by_sw_if_index not yet allocated.
The fix is to add a check before we access the vector.
Type: fix
Fixes: gerrit 28475
Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: Ia33bd91fa82d8ffc4490d4069155980a6e233268
Mohammed Hawari [Wed, 13 Jan 2021 12:45:45 +0000 (13:45 +0100)]
avf: fix l2_len for csum offload
Use vlib_buffer_t::current_data instead of
vnet_buffer_opaque_t::l2_hdr_offset to compute l2_len for checksum
offload (l2_hdr_offset might be invalid if packet originates from an L3
interface)
Change-Id: I2031ea6fd6a7af4b6e186751e119ebd6161641b5
Type: fix
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Nathan Moos [Fri, 15 Jan 2021 21:28:34 +0000 (13:28 -0800)]
build: make rpath optional
Type: feature
This patch begins enabling support for building VPP as a package for a
Yocto-based embedded Linux distribution. Yocto QA complains about
executables and libraries with an rpath configured, as the paths may not
be valid on the target system. Therefore, this patch adds a new CMake
option named `VPP_SET_RPATH`, which is enabled by default but can be
disabled by a Yocto-based build.
Change-Id: I90e9c4ba07138032b0f76cb72a98e58470885d55
Signed-off-by: Nathan Moos <nmoos@cisco.com>
Klement Sekera [Tue, 15 Dec 2020 17:47:05 +0000 (18:47 +0100)]
nat: deal with flows instead of sessions
This change introduces flow concept to endpoint-dependent NAT. Instead
of having a session and a plethora of special cases in code for e.g.
hairpinning, twice-nat and others, figure all this out and store it in
flow logic. Every flow has a match and a rewrite part. This unifies all
the NAT packet processing cases into one - match a flow and rewrite the
packet based on that flow. It also provides a cure for hairpinning
dilemma where one part of the flow is on one worker and another on
a different one. These cases are also sped up by not requiring
destination adress lookup every single time to be able to rewrite source
nat as this is now part of flow rewrite logic.
Type: improvement
Change-Id: Ib60c992e16792ea4d4129bc10202ebb99a73b5be
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Neale Ranns [Mon, 21 Dec 2020 13:19:10 +0000 (13:19 +0000)]
ipsec: Support MPLS over IPSec[46] interface
Type: feature
Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I89dc3815eabfee135cd5b3c910dea5e2e2ef1333
Simon Zhang [Sun, 27 Dec 2020 21:40:59 +0000 (05:40 +0800)]
tls: make picotls engine able to initial connection as client
Type: fix
Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
Change-Id: Idd14dc11e92e0851c64f83e280b52f12e32ae48d
Ivan Shvedunov [Sat, 16 Jan 2021 00:43:01 +0000 (03:43 +0300)]
tcp: remove bad assert
Don't assume that half-open connections pending removal are always
successful.
Type: fix
Signed-off-by: Ivan Shvedunov <ivan4th@gmail.com>
Change-Id: I955077a4ed2389b9ee38d97e27a7c7761c860a4a
Dave Wallace [Thu, 14 Jan 2021 21:46:49 +0000 (16:46 -0500)]
build: add missing openssl-devel package for centos-8 vpp-ext-deps
- In a new centos-8 installation, vpp-ext-deps fails on missing
ssl.h header file after 'make install-deps'.
Type: fix
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I521d817dd1f1e21aff427d98b9832ea7c7b89339
Neale Ranns [Mon, 4 Jan 2021 08:58:12 +0000 (08:58 +0000)]
misc: checkstyle ignore .patch files in trailing whitespace check
Type: fix
Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I9226e94e59a35648ad2945ebfdf928dc80ad635c
Miklos Tirpak [Wed, 13 Jan 2021 09:00:38 +0000 (10:00 +0100)]
vlib: fix counter_will_expand prediction
vlib_validate_combined_counter_will_expand() was calling
_vec_resize_will_expand() with wrong arguments, which resulted in false
return value. Apart from the initial call, it never indicated a vector
resize.
The callers relying on this function did not perform a barrier sync
because of the wrong prediction even if the vector got extended by
a subsequent vlib_validate_combined_counter() call.
The fix introduces a new, simplified macro that is easier to call.
vec_resize_will_expand() accepts the same arguments as vec_resize().
Type: fix
Signed-off-by: Miklos Tirpak <miklos.tirpak@gmail.com>
Change-Id: Ib2c2c8afd3e665e0e3d6ae62ff5cfa287acf670f
Dave Wallace [Thu, 14 Jan 2021 20:03:07 +0000 (15:03 -0500)]
bash: move jjb sandbox bash functions to ci-management repo
Type: refactor
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I9b4ce818036509c0afcb204664efcc49625179ef
Neale Ranns [Mon, 9 Nov 2020 10:09:42 +0000 (10:09 +0000)]
docs: Update FIB documentation
Type: docs
Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I3dfde4520a48c945ca9707accabbe1735c1a8799
Neale Ranns [Wed, 16 Dec 2020 13:06:58 +0000 (13:06 +0000)]
vxlan: Protect against tunnel config where source is not local
Type: fix
If a tunnel's source is not local then post encap VPP will attempt to
receive (via ip4-local) that packet, things go wrong from there.
The fix is when stacking the encap forwarding don't accept a receive
DPO. This approach is taken, rather than rejecting bad tunnels, because
the 'local-ness' of the tunnel's source can change and we can't reject
tunnels that were once correctly configured but are no longer.
the user will quickly discover their mistake as traffic won't pass.
Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I46198422e321606e8baba003112e978a526b4c2f
Filip Tehlar [Wed, 13 Jan 2021 16:28:10 +0000 (16:28 +0000)]
ikev2: remove assert condition
Remove assert condition ensuring that a packet was punted with reason
spi=0. We can't rely on data in punt_reason because it is defind in an
union. This patch adds a new IKE node that handles punted IKE packets
separately.
Type: fix
Change-Id: I2e1b44922e53e049bd8512fa5cb85cee6a2b8aa7
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Ray Kinsella [Mon, 11 Jan 2021 12:01:49 +0000 (12:01 +0000)]
crypto-openssl: chacha support in openssl version
Fix build errors related to chachapoly when the
system openssl version is < 0x10100000.
Type: fix
Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: I62283fcc44c952ddd4d6a9f621c18e8be1af8af1
Ray Kinsella [Fri, 18 Dec 2020 10:39:46 +0000 (10:39 +0000)]
ip: vtep fixes for alignment and cache update.
Minor fixes for Intel AVX-512 alignment, and cache update.
Type: fix
Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: I9f9bebb4ecb3265ffc765affd1ed94d0ba979066
wanghanlin [Fri, 8 Jan 2021 06:57:11 +0000 (14:57 +0800)]
vcl: fix session_handle_to_vlsh_table update after session migrate
Type: fix
Signed-off-by: wanghanlin <wanghanlin@corp.netease.com>
Change-Id: I6698749163b0ed38093d8439e94b18b6841dc6ce
Pim van Pelt [Mon, 28 Dec 2020 23:10:42 +0000 (00:10 +0100)]
build: Add deps for ubuntu 20.10
Type: make
Ubuntu Groovy Gorilla (20.10) has bumped its FFI library.
Move from v6 to v8.
Signed-off-by: Pim van Pelt <pim@ipng.nl>
Change-Id: I32bc2905ad9ed6918446020accee2a4c2ca9d4b5
Vladimir Ratnikov [Wed, 11 Nov 2020 13:00:48 +0000 (08:00 -0500)]
dpdk: allow configure individual VMBUS devices
now startup.conf supports confuguration for VMBUS
devices as for PCI devices for whitelisting/blacklisting
dpdk { dev
fa5a6e7a-cf3a-4b98-9569-
addb479b84bc }
with sub-configuration as for PCI devices
dpdk { blacklist
fa5a6e7a-cf3a-4b98-9569-
addb479b84bc }
where
fa5a6e7a-cf3a-4b98-9569-
addb479b84bc - example of UUID
struct vlib_vmbus_addr_t changed to union with UUID described
fields
Added device_config_index_by_vmbus_addr
blacklist_by_vmbus_addr
to enumerate available device configs
hash_key is as_u32[0] field(last 4 bytes of UUID)
Lost of precision against full UUID, but 2^32 is enough
to handle all the devices available
Added is_blacklisted check while creating vnet devices in
order to supress creation of dev if it's blacklisted
Type: feature
Signed-off-by: Vladimir Ratnikov <vratnikov@netgate.com>
Change-Id: Id82611e54fed082190e488c7e5fbe14ecbe5b2ab
wanghanlin [Mon, 28 Dec 2020 08:19:05 +0000 (16:19 +0800)]
vcl: fix deadlock in rpc
Worker thread A send rpc to worker thread B with vls_table_lock when
worker thread B try to lock vls_table_lock, so unlock it temporarily.
Add worker_rpc_lock to synchronize rpc message among workers to prevent
waiting for each other deadly.
Add timeout for rpc response to prevent hanging when VPP exit/crash.
Type: fix
Signed-off-by: wanghanlin <wanghanlin@corp.netease.com>
Change-Id: I675f1fe76673ede09107f6eeaaa0eda8bbfc6e61
Benoît Ganne [Tue, 5 Jan 2021 16:47:59 +0000 (17:47 +0100)]
acl: fix tag C-string overflow
tag is expected to be a null-terminated C-string
Type: fix
Change-Id: I633719068c37eac395cc30a6a314c00848e9cdca
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Filip Varga [Mon, 21 Dec 2020 17:20:00 +0000 (18:20 +0100)]
nat: refactor and split fo EI/ED features p.2
Patch n. 2 aimed at moving EI features out of
NAT44 plugin & split of EI/ED functions.
Type: refactor
Change-Id: Ida20c1c084449b146344b6c3d8442f49efb6f3fa
Signed-off-by: Filip Varga <fivarga@cisco.com>
Florin Coras [Sat, 9 Jan 2021 22:34:01 +0000 (14:34 -0800)]
session svm: fix fifo migration
Allocate and attach a new pair of private fifos in the right private
slice when a session is cloned. This ensures that private fifos are not
shared between workers.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ib700d18104d2ca79aa8a07434cdcdcab0bef13a5
Jerome Tollet [Fri, 8 Jan 2021 21:52:54 +0000 (22:52 +0100)]
l2: fix tests for learn_limit
Type: fix
Signed-off-by: Jerome Tollet <jtollet@cisco.com>
Change-Id: I7cbbea2205ca7249ba19020b25c8657b42e09562
Jerome Tollet [Thu, 7 Jan 2021 11:44:17 +0000 (12:44 +0100)]
l2: Separating scan-delay and learn-limit into a separate API from want_l2_macs_events
Type: feature
Signed-off-by: Jerome Tollet <jtollet@cisco.com>
Change-Id: I6de6dae7da4ec1001e2811975a9b67acfc1a148c
Dave Wallace [Mon, 4 Jan 2021 23:55:12 +0000 (18:55 -0500)]
tests: move bond tests to src/vnet/bonding/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: I056717261553f6449f5fcd3611b6ae3895a00ba6
Jerome Tollet [Fri, 8 Jan 2021 16:07:38 +0000 (17:07 +0100)]
l2: fix l2 bd_learnlimit
Type: fix
Signed-off-by: Jerome Tollet <jtollet@cisco.com>
Change-Id: I86bc9a461660f3f71e06f88ab65004ec3d763b88
Neale Ranns [Fri, 8 Jan 2021 08:43:14 +0000 (08:43 +0000)]
tests: Use soft links for the test file staging
Type: fix
with hard links this sequence doesn't work
echo "GARBAGE" >> test/vpp_ipsec.py
git checkout test/vpp_ipsec.py
also blow away the staging diretory with 'test-wipe' just to be thorough
Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: Ic38d7ec514102759f2eafead59c7f56c5b39f33d
Steven Luong [Tue, 17 Nov 2020 21:30:44 +0000 (13:30 -0800)]
vhost: Add event index for interrupt notification to driver
VPP only supports a poor man's approach for interrupt notification to the
driver. It uses a simple binary flag for "interrupt needed" or "interrupt
not needed". Most drivers support more sophisticated event index already.
This feature is to add the long due missing feature and make it configurable,
off by default.
Type: feature
Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I68dab7dd07045cafb49af97b7f70db9b8131ae03
Filip Tehlar [Mon, 4 Jan 2021 14:03:53 +0000 (14:03 +0000)]
ikev2: fix lookup in wrong ip table
In responder mode we need to remember interface index from which IKE
session was initiated. Otherwise when sending keep alive packets to the
initiator, the default ip table is always used for lookup instead of the
one associated with the interface.
Type: fix
Change-Id: Iade3fc3a490b7ae83c3f6e9014d1f4204e476ac1
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Florin Coras [Wed, 6 Jan 2021 01:03:29 +0000 (17:03 -0800)]
vcl session: switch to generic cert key apis
Remove the deprecated tls apis.
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ia1e12bd813671146f0aca22e83d04c23ac13e595
Neale Ranns [Mon, 21 Dec 2020 09:52:24 +0000 (09:52 +0000)]
ipip: Support MPLS over IP
Type: feature
Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: Ief1755131297afcaa14fe74fd8dd28c71a92fbe6
Neale Ranns [Wed, 23 Dec 2020 16:22:28 +0000 (16:22 +0000)]
ipsec: Deprecated the old IPsec Tunnel interface
Type: fix
it's been 2 releases since it was marked deprecated.
Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I0eba7ed607826ed0d00e7d2d8f9b27d09e8e9a6e
Florin Coras [Wed, 6 Jan 2021 04:45:44 +0000 (20:45 -0800)]
vcl: allow all workers to block on api
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id94cf2aeae8167868d5f96534224759c1ef6f837
Florin Coras [Wed, 6 Jan 2021 07:15:49 +0000 (23:15 -0800)]
svm: force fixed memfd mapping if va provided
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I6a2cc596cf0b7f29d3ae1c05b1bb6b748b558175
Ole Troan [Wed, 6 Jan 2021 12:58:00 +0000 (13:58 +0100)]
api: fromjson/tojson generated code memory leak
Found by coverity. Fix potential memory leakage in generated code.
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: If492541b8b66e574f30ecdd0dd533099cbe068ad
Benoît Ganne [Tue, 5 Jan 2021 16:47:59 +0000 (17:47 +0100)]
acl: fix cli tag parsing
- tag is expected to be 64-bytes
- when specifying tag on cli, a vector is allocated. Make sure it is
freed
Type: fix
Change-Id: Id1741fe406819ca9f71edb081d4483f52cae547d
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Neale Ranns [Tue, 5 Jan 2021 14:38:53 +0000 (14:38 +0000)]
ipsec: Mark the interface create reply deprecated
Type: fix
I should have done this wehn i marked the request as deprecated. The
reply also needs to be marked deprecated so the API compliance script
can remove it along with the request.
Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I8391257944b6cff7b32a01a479dd1dcab30cd33b
Jerome Tollet [Fri, 18 Dec 2020 08:44:24 +0000 (09:44 +0100)]
l2: add per bridge domain learn limit
Type: feature
Signed-off-by: Jerome Tollet <jtollet@cisco.com>
Change-Id: I57ed6699050445d9c9aec98eff3aab56735aca54
Signed-off-by: Jerome Tollet <jtollet@cisco.com>
Dave Barach [Mon, 4 Jan 2021 15:52:44 +0000 (10:52 -0500)]
ebuild: follow symbolic links in find_newer_filtered_fn
Otherwise, changes in source code symbolically-linked into the
workspace will not be considered when deciding whether to invoke
e.g. Ninja.
This change is strongly preferable to asking people to remove
.mu_build_build_timestamp to force a Ninja run.
Deals reasonably gracefully with symbolic link loops, at least in
trivial cases: "find: File system loop detected"
Type: improvement
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I6666c84861de5e8b8aebcb94158f53526aded089
Mohsin Kazmi [Thu, 17 Dec 2020 14:54:03 +0000 (15:54 +0100)]
tap: fix the buffering index for gro
Type: fix
Fixes:
587f9130424fd451e4ba823240d02f655fb197d1
Change-Id: Ia1739fad6a36fa658aece157d7adea8bbaa751d2
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Filip Varga [Thu, 10 Dec 2020 14:55:25 +0000 (15:55 +0100)]
nat: refactor and split fo EI/ED features
This patch is aimed at moving EI features out of NAT44
plugin & split of EI/ED functions.
Type: refactor
Change-Id: I63cf70a264ed2512708fe92665d64f04690783d0
Signed-off-by: Filip Varga <fivarga@cisco.com>
Paul Vinciguerra [Sat, 26 Dec 2020 23:49:51 +0000 (23:49 +0000)]
teib: fix typo in cli
Type: fix
Change-Id: I84388bd8b68e8c48a4f44d7ecf7aadec2408b717
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
yedg [Sat, 29 Aug 2020 04:01:00 +0000 (12:01 +0800)]
ipsec: ipsec cli nexthop error
Type: fix
Signed-off-by: yedonggang <yedg@wangsu.com>
Change-Id: Icc3681b591e6deb93c3ff1fda5f9471fa3c96cc6
Florin Coras [Wed, 30 Dec 2020 00:55:32 +0000 (16:55 -0800)]
svm: fifo segment sptr for fifo hdr free list
With this there are no more pointers in data structures allocated on
fifo segments.
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ibe584b7b6809fa360a105974655a91674db69ab6
Florin Coras [Tue, 29 Dec 2020 00:28:07 +0000 (16:28 -0800)]
session: remove fifo segment va allocator
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I7b2fd896dfa6df46916f46327975b95561809f00
Florin Coras [Fri, 11 Dec 2020 02:52:40 +0000 (18:52 -0800)]
svm vcl: allow random offsets for fifo segments in apps
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I1658a9c19d8eae4c9a42c0a111d4ad343b8eb8a4
Florin Coras [Fri, 11 Dec 2020 21:58:12 +0000 (13:58 -0800)]
svm: allow mq attachments at random offsets
Type: feature
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ic373cd2c11272da539eb4b0db27227f36f2f9688
Florin Coras [Fri, 25 Dec 2020 19:45:40 +0000 (11:45 -0800)]
session: convert evt q segment to fifo segment
Type: refactor
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I63a44e11322f6fe27255820524e022f6d710b083
Florin Coras [Thu, 10 Dec 2020 03:43:21 +0000 (19:43 -0800)]
svm: move active fifo list to private slice
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I7672d0715348d30c0aa718e21ed86c96402c6d69
Paul Vinciguerra [Tue, 28 Jan 2020 19:47:17 +0000 (14:47 -0500)]
vlib: add missing file template descriptions
Add descriptions to clib_file_t template structures so that
sockets can be identified via the 'show unix file' cli command.
Type: fix
Change-Id: Ibf82d55aa6c7b1126bd252b76d0dc8b7076f5046
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Neale Ranns [Fri, 18 Dec 2020 09:42:18 +0000 (09:42 +0000)]
ip: Use full reassembly for fragments in ip6-local
Type: fix
shallow was the default, but probably by accident as it depended on
module load order.
full assembly is the v4 behaviour.
using proper types allows gdb to print enum names.
Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: If157c5b83614c7adbd7a15a8227a68f8caf4e92c
Signed-off-by: Neale Ranns <nranns@cisco.com>
Florin Coras [Wed, 9 Dec 2020 20:51:13 +0000 (12:51 -0800)]
svm: change fifo pointers to offsets
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I113a630d6db4741f54e508f7e0ed77be139df0e4
Steven Luong [Fri, 11 Dec 2020 04:44:22 +0000 (20:44 -0800)]
virtio: Extend vhost multi-queues support beyond 8 queue pairs
Current vhost multi-queues support has a hard limit of 8 queue pairs
due to static vring array. This limit was raised in qemu. VPP should
support more than 8 queue pairs also.
Change static vring allocation to dynamic. When the interface is
created, we allocate 8 queue pairs to begin with. We also keep track
of how many queue pairs that the interface actually uses.
We reply VHOST_USER_GET_QUEUE_NUM with 128 as our maximum number of
support queue pair. When qemu starts initializing queue pair greater
than 8, we expand the vrings as needed on demand.
Type: improvement
Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I4a02d987d52d1bbe601b00e71f650fe6ebfcc0d7
Ruslan Babayev [Wed, 23 Dec 2020 09:08:38 +0000 (01:08 -0800)]
build: add plugin dependencies only when present
This fixes build for VPP_EXTERNAL_PROJECT plugin with missing
PLUGIN_API_FILES.
Type: fix
Signed-off-by: Ruslan Babayev <ruslan@babayev.com>
Change-Id: I687bedcd828d834b0a7de1363f0b2d063f75ee17
Florin Coras [Wed, 9 Dec 2020 01:50:45 +0000 (17:50 -0800)]
svm: split fifo into private and shared structs
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id8e77e8b2623be719fd43a95e181eaa5b7df2b6e
Florin Coras [Wed, 23 Dec 2020 20:32:41 +0000 (12:32 -0800)]
hsa: detach fifo segments in echo app
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I6a982f4aa3c1816160ff1c0a663ec6df6ec4cf0a
Florin Coras [Wed, 23 Dec 2020 18:18:16 +0000 (10:18 -0800)]
vppinfra: mem bulk test
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Icd44ede9604c29839af250a2be93ecf467467aa0
Dave Wallace [Fri, 13 Nov 2020 19:56:19 +0000 (14:56 -0500)]
tests: move bier tests to src/vnet/bier/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: I17003925be06d1051f18f1c24ff081790a610c23
Florin Coras [Tue, 8 Dec 2020 03:38:23 +0000 (19:38 -0800)]
svm: separate private from shared fifo segment ptrs
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Idcc8d862b98dba4a67f829c1778377f35ad47b00
Florin Coras [Mon, 7 Dec 2020 22:33:58 +0000 (14:33 -0800)]
svm: remove fifo segment heap
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I518e096fe13847759806ff62009e73fd8f7451b7
Damjan Marion [Tue, 22 Dec 2020 13:58:56 +0000 (14:58 +0100)]
vppinfra: add bulk memory allocator
Small fixed size object memory allocator.
Type: improvement
Change-Id: I727705d9d4292b6b38d41e239871103b15aa9038
Signed-off-by: Damjan Marion <damarion@cisco.com>
Dave Wallace [Fri, 13 Nov 2020 19:24:32 +0000 (14:24 -0500)]
tests: move bfd tests to src/vnet/bfd/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: I3ef69bc915d2217357a9e2b1afa1cfd6c363faa0
Dave Wallace [Mon, 21 Dec 2020 20:15:16 +0000 (15:15 -0500)]
tests: fix gathering of test src files
- Use hard links instead of soft links so
that python module import works correctly
for relocated test/vpp_*.py modules.
Type: fix
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: If9c031bf0918344dedd4dee5f9336e869590b0ae
Paul Vinciguerra [Tue, 24 Mar 2020 20:37:40 +0000 (16:37 -0400)]
docs: update list of plugins
The list of plugins is outdated.
This change introduces a dynamically
generated list of the plugins along with their descriptions,
extracted directly from the sources.
Type: docs
Change-Id: Icb7b65e6b45289e257d71a1c18d10f62ced59cbe
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Florin Coras [Mon, 21 Dec 2020 18:25:19 +0000 (10:25 -0800)]
svm: honor max requested bytes in fifo segments
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I00a6be53c4519937ac900560c669587921990821
Florin Coras [Fri, 18 Dec 2020 21:30:45 +0000 (13:30 -0800)]
tcp: terminate options with nops
On the one hand, make sure options are terminated with NOPs to avoid
issues with clients that can't parse options that don't end on an u32
boundary. On the other, make sure the padding is rfc compliant. If
options end with EOL the padding should be zeros. The current change
does not use EOL so the padding is NOPs.
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I608056707ef9658ca90b9c095e84a0689d8000d7
Florin Coras [Fri, 18 Dec 2020 17:19:18 +0000 (09:19 -0800)]
tls: use fifo segments instead of chunks
Type: refactor
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id67cf8a3e1c5c9b4160689fde5de9ce7ed8a2ee3
Jieqiang Wang [Tue, 15 Dec 2020 13:20:15 +0000 (13:20 +0000)]
avf: fix gcc compiling warning on Arm
Initializing struct avf_ip6_psh by {0} using gcc with O2 optimize option
will trigger the -Werror=maybe-uninitialized compiling warning on Arm
because gcc compiler will think some members of the struct avf_ip6_psh
may not be initialized, which probably is a false positive in this case.
The compiling error log is shown as below. Avoid this compiling warning
by explicitly declaring the IPv6 src and dst ip in avf_ip6_psh as
ip6_address_t.
ccache /usr/lib/ccache/gcc-10 -DHAVE_FCNTL64 -DHAVE_GETCPU -DHAVE_MEMFD_CREATE -I/home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src -I. -Iinclude -I/home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/plugins -Iplugins -Iplugins/avf -Wno-address-of-packed-member -g -fPIC -Werror -Wall -march=armv8-a+crc -O2 -fstack-protector -DFORTIFY_SOURCE=2 -fno-common -fPIC -DCLIB_MARCH_VARIANT=cortexa72 -march=armv8-a+crc+crypto -mtune=cortex-a72 -DCLIB_N_PREFETCHES=6 -MD -MT plugins/avf/CMakeFiles/avf_plugin_cortexa72.dir/output.c.o -MF plugins/avf/CMakeFiles/avf_plugin_cortexa72.dir/output.c.o.d -o plugins/avf/CMakeFiles/avf_plugin_cortexa72.dir/output.c.o -c /home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/plugins/avf/output.c
In file included from /home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/vppinfra/vector_funcs.h:41,
from /home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/vppinfra/vector.h:196,
from /home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/vppinfra/string.h:48,
from /home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/vppinfra/mem.h:49,
from /home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/vppinfra/vec.h:42,
from /home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/vppinfra/format.h:44,
from /home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/vppinfra/elf.h:41,
from /home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/vppinfra/elf_clib.h:41,
from /home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/vlib/vlib.h:44,
from /home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/plugins/avf/output.c:18:
/home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/plugins/avf/output.c: In function ‘avf_device_class_tx_fn_cortexa72’:
/home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/vppinfra/byte_order.h:59:10: error: ‘*((void *)&psh+32)’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
59 | return __builtin_bswap16 (x);
| ^~~~~~~~~~~~~~~~~~~~~
/home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/plugins/avf/output.c:115:23: note: ‘*((void *)&psh+32)’ was declared here
115 | struct avf_ip6_psh psh = { 0 };
| ^~~
Type: fix
Change-Id: I2684b101b07823dfacc4a56cc29d152828d0cf37
Signed-off-by: Jieqiang Wang <jieqiang.wang@arm.com>
Paul Vinciguerra [Sat, 19 Dec 2020 00:01:19 +0000 (19:01 -0500)]
papi: remove import vpp_transport_socket
See discussion in: https://gerrit.fd.io/r/c/vpp/+/19472
Type: refactor
Change-Id: Icbf686f615f13898d12fd211f68c3498d373a5d7
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Paul Vinciguerra [Fri, 3 Apr 2020 03:50:25 +0000 (23:50 -0400)]
docs: fix missing quotes in ubuntu install instructions
type: docs
Change-Id: Ifa09b63924f4b7bf2719bba6ada0e1122407641c
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Florin Coras [Thu, 17 Dec 2020 01:05:56 +0000 (17:05 -0800)]
tls: add custom openssl bio
The bio interacts directly with the session so it avoids using an
intermediary mem bio and, implicitly, higher memory consumption and an
extra memcpy.
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ifb675cfd12df86396a7a738a6cd4d0882c69ad2f
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>
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>
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
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
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>
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>
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
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
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
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
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
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
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>