Filip Tehlar [Tue, 10 Nov 2020 09:32:13 +0000 (09:32 +0000)]
ikev2: fix memleak when tunnel protect fails
Type: fix
Change-Id: I1d278fc2b03b948c054ff1686315635ac0278ae8
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Mohsin Kazmi [Mon, 16 Nov 2020 15:49:30 +0000 (16:49 +0100)]
virtio: virtio: implement packed queues from virtio 1.1
Type: feature
Change-Id: I12703371541298efa029903d6762b1cd1f7322ca
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Neale Ranns [Thu, 12 Nov 2020 16:53:51 +0000 (16:53 +0000)]
geneve: Remove one bucket load-balance objects
Type: improvement
geneve uses the UDP source port for the flow hash to get load-balancing
over multiple paths to the tunnel destination. However, if there is only
one path, then we can elide the LB object, contributed by the resolving
FIB entry, from the dasta path.
Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I13a1bedc307a474d258a757bc1bae28564798730
Paul Vinciguerra [Tue, 12 May 2020 14:45:17 +0000 (10:45 -0400)]
papi: remove dependency on aenum
remove the dependency on the aenum package which was used to
provide Enum.IntFlag which is now available in the python stdlib.
aenum is not provided as a .deb and causes issues in packaging.
Type: fix
Change-Id: Ie45ec2130a767345f0aad038451780a5ddc7e8db
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Dave Wallace [Mon, 16 Nov 2020 21:54:14 +0000 (16:54 -0500)]
tests: move crypto tests to src/vnet/crypto/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: I089bda44c31cbb217132e5b385cd9ea96ea5239e
Dave Wallace [Mon, 16 Nov 2020 20:08:14 +0000 (15:08 -0500)]
tests: move classifier tests to src/vnet/classify/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: Ibae85a18df0d5a53e2a59c678a2a27499f54ce6d
Dave Wallace [Mon, 16 Nov 2020 23:03:53 +0000 (18:03 -0500)]
tests: move vpp-api tests to src/vpe-api/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: Ic42bbd4e13606a5fdc91143ecc6452102ec337fe
Dave Wallace [Mon, 16 Nov 2020 23:10:27 +0000 (18:10 -0500)]
tests: move gre tests to src/vnet/gre/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: I4fa716778712ebfb1b136df98775345372d3dfad
Dave Wallace [Mon, 16 Nov 2020 23:21:23 +0000 (18:21 -0500)]
tests: move GSO/GRO tests to src/vnet/gso/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: Id9c5bf2cd01b6c1fd1750b4978d01597ee3bbf53
Dave Wallace [Mon, 16 Nov 2020 22:13:14 +0000 (17:13 -0500)]
tests: move cli tests to src/vlib/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: Ic27fb8c476cfd95879dec645c3c0cd6db341ee00
Dave Wallace [Mon, 16 Nov 2020 19:41:55 +0000 (14:41 -0500)]
tests: move buffer tests to src/vlib/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: Id3f856d9c8de1695edd5b968b8acfa2b382a0139
Dave Wallace [Mon, 16 Nov 2020 19:18:51 +0000 (14:18 -0500)]
tests: move bihash tests to src/vppinfra/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: I0133a00def595fe1c08ab881633ef9f89148a286
Benoît Ganne [Fri, 13 Nov 2020 17:43:30 +0000 (18:43 +0100)]
docs: fix memory troubleshooting doc
Type: docs
Change-Id: Id9f8f6f13e4a41567adf7dc68e6c9be42dd82de7
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Miklos Tirpak [Fri, 13 Nov 2020 14:18:11 +0000 (15:18 +0100)]
fib: increase the reference counter size for mfib to 32 bits
The 16 bits counter size limits the number of interfaces to 65K which is
too low for certain use cases. GTP-U for example creates a new interface
for every tunnel.
This change makes the mfib reference counter size inline with the fib one.
Type: fix
Signed-off-by: Miklos Tirpak <miklos.tirpak@gmail.com>
Change-Id: I9354367484f3232fc5a770f2df7e0959e22e626f
Benoît Ganne [Fri, 13 Nov 2020 17:33:39 +0000 (18:33 +0100)]
fib: remove misleading FIB_PATH_TYPE_LAST
FIB_PATH_TYPE_LAST seems to not have been updated accordingly. It is
unused anyway, just remove it.
Type: improvement
Change-Id: I195e556a6695e3250cc03070ffd9262349f2c77b
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Mohammed Hawari [Fri, 6 Nov 2020 16:58:06 +0000 (17:58 +0100)]
avf: add L4 checksum offload support
Change-Id: Ie90437cf597c5d53ab1cc41ea7db15b97614e2fc
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Type: improvement
Mohammed Hawari [Tue, 27 Oct 2020 16:42:32 +0000 (17:42 +0100)]
rdma: implement multiseg rx without striding rq
Change-Id: I623617ad3c80610805dd3cf2a5f371e6677f4844
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Type: improvement
yult [Tue, 10 Nov 2020 02:48:43 +0000 (10:48 +0800)]
vlib: macro definition error
in 'VLIB_DECLARE_INIT_FUNCTION(x, tag)' '_vlib_init_function_##tag_##x'
should be '_vlib_init_function_##tag##_##x'
Type: fix
Signed-off-by: yult <oopsadm@gmail.com>
Change-Id: I091c8aa6091fe6e314e50fa00201d035869a1d96
Andrew Yourtchenko [Wed, 11 Nov 2020 10:58:32 +0000 (10:58 +0000)]
avf: actually delete ethernet address if deletion was requested
fixes the coverity issue 214893.
Type: fix
Fixes:
1ab533cba2202e73c2296d7677d0b335f2afad7b
Change-Id: I1159f5e23d1cdfcf6575c29d11e884703afee20f
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Andrew Yourtchenko [Wed, 11 Nov 2020 11:02:54 +0000 (11:02 +0000)]
cnat: zero-initialize structs
fixes coverity errors 215294, 215295
Type: fix
Fixes:
af897c5e3fa76180fbe0634052bde98b4b3c34d7
Change-Id: Ie5da2bcddb465020d827d9f7c519a528cf2bd035
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Filip Varga [Mon, 9 Nov 2020 11:24:03 +0000 (12:24 +0100)]
nat: cleanup & reorganization
Fixed compatibility issue between
nat ei and nat ed modes. Moved nat
syslogging to nat librarry. Deprecating
apis that will be integrated in upcoming
candidate configuration patch.
Type: refactor
Change-Id: I334b1b05b81b74667c5c76a05f768442e0dcf7e8
Signed-off-by: Filip Varga <fivarga@cisco.com>
Florin Coras [Wed, 11 Nov 2020 21:25:53 +0000 (13:25 -0800)]
session: fix fifo tuning init on connect
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I6f81d2010e98d0a5fbdc315abc04737bbcc1c434
Andrew Yourtchenko [Wed, 11 Nov 2020 11:22:40 +0000 (11:22 +0000)]
pg: fix uninitialized variable in pg mac filter CLI
Fixes coverity issue 214887
Change-Id: I81bfc009faabcb74f950a94715a0395fac264ee9
Type: fix
Fixes:
21fb4f71ee3824c8f177045f21fea258ece602a9
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Nathan Skrzypczak [Tue, 10 Nov 2020 15:57:49 +0000 (16:57 +0100)]
svm: change high_seg_baseva
Type: fix
It appears that the session layer baseva is conflicting
with DPDK. 0x2000000000 seem to be working experimentally
Configurable with :
session {
segment-baseva 0x2000000000
}
Change-Id: Ie93b9b9eb56a796877d614f78eb5801ea8e5ab31
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Benoît Ganne [Thu, 12 Nov 2020 13:25:03 +0000 (14:25 +0100)]
af_xdp: fix doc
Type: docs
Change-Id: I1d28fb31032412f0231d677e45281ca88185502e
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Benoît Ganne [Mon, 9 Nov 2020 14:23:52 +0000 (15:23 +0100)]
interface: add multiarch support for per-interface tx node
Type: improvement
Change-Id: Ia4ce47c0f727cf7b02294f05b94f14e788f52f30
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Damjan Marion [Fri, 13 Nov 2020 09:46:32 +0000 (10:46 +0100)]
vlib: vlib_buffer_t should be always 128 bytes, not 2 cachelines
Fixes issues on systems with 128-byte cacheline.
Type: fix
Change-Id: I33689ffa5ef0a879b4bf93c25d48618dd43daf58
Signed-off-by: Damjan Marion <damarion@cisco.com>
Benoît Ganne [Tue, 20 Oct 2020 14:24:17 +0000 (16:24 +0200)]
ethernet: mac must support 64-bits loads
ethernet dataplane loads MAC addresses as 64-bits loads for efficiency.
We must make sure it is valid, especially for the vector of secondary
MACs.
Type: fix
Change-Id: I851e319b8a973c154e85ff9f05f3b8e385939788
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Ray Kinsella [Fri, 13 Nov 2020 09:29:44 +0000 (09:29 +0000)]
crypto-native: fix multi-arch variant initialization
crypto_native/main.h is being built as default,
and crypto_native_main is initialized with a size of 64 bytes.
crypto_native/aes_gcm.c and crypto_native/aes_cbc.c are march
variants, their ICL variants are expecting crypto_native_main
to be 256 bytes.
Type: fix
Signed-off-by: Georgii Tkachuk <georgii.tkachuk@intel.com>
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: I4cddb75b712ea83c9cfca621887605d7bae104ec
Filip Varga [Mon, 2 Nov 2020 11:11:12 +0000 (12:11 +0100)]
nat: api,cli and test update & cleanup
Cleanup of print functions in api file,
splitting functionality of cleanup callbacks for ED
and EI NAT. Updating and fixing API & CLI calls.
Type: refactor
Change-Id: I7a9dc4c8b1d2ca29db4754be7dfa4f698942127a
Signed-off-by: Filip Varga <fivarga@cisco.com>
Ahmed Abdelsalam [Tue, 10 Nov 2020 17:19:12 +0000 (17:19 +0000)]
sr: show the hop-limit value used for SRv6 encapsulation
Implements CLI to show the hop-limit value used for the
outer IPv6 header of the SRv6 encapsulation.
Type: feature
Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com>
Change-Id: I1f3d8f71fb94494ae6ab8104b9fcf989c5585d5c
Damjan Marion [Thu, 12 Nov 2020 14:48:15 +0000 (15:48 +0100)]
avf: don't switch process if already running process node
Type: fix
Change-Id: I82b11339402b5848b27c600f6484aaeee66cc888
Signed-off-by: Damjan Marion <damarion@cisco.com>
Florin Coras [Fri, 6 Nov 2020 03:01:44 +0000 (19:01 -0800)]
tcp: push last buffered sequence
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iba914ac69585e89f174f09e74ae716df1b080c59
Matthew Smith [Wed, 4 Nov 2020 23:07:44 +0000 (17:07 -0600)]
nat: use table ID for nat44 ipfix session events
Type: fix
IPfix messages about NAT44 session create/delete were being populated
with the FIB table index instead of the table ID. The table ID is the
correct identifier to report externally (NAT64 IPfix messages for BIB
and session create/delete use table ID, as does NAT syslogging). Convert
the table index to an ID before adding it to the IPfix NAT44 session
create/delete message data.
Change-Id: I0166384752b17ff3a8c55aa19fa2af7a8140791e
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Damjan Marion [Thu, 12 Nov 2020 10:20:27 +0000 (11:20 +0100)]
devices: remove unused code
Type: refactor
Change-Id: I3f561818bc7c221f676477a52c7c7781624c185a
Signed-off-by: Damjan Marion <damarion@cisco.com>
Mohsin Kazmi [Wed, 11 Nov 2020 19:28:35 +0000 (20:28 +0100)]
virtio: fix the index issue
Type: fix
Fixes:
587f9130424fd451e4ba823240d02f655fb197d1
Change-Id: I230993a54c84e22e324de2a8defeda83c517d733
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Florin Coras [Fri, 6 Nov 2020 22:21:26 +0000 (14:21 -0800)]
tcp: validate fin seq in closing states
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id8673cff699cfdc1ac68797b9ab5cdf6f6b578a3
Florin Coras [Tue, 10 Nov 2020 03:59:16 +0000 (19:59 -0800)]
vcl: remove unused configs
Type: refactor
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ia8698c7ba63fc549f821863bb54fe72cc3a8d5be
Benoît Ganne [Fri, 18 Sep 2020 08:05:37 +0000 (10:05 +0200)]
vpp: use vpp heap for libc
This makes libc use vpp main heap instead of the default libc heap.
This gives better visibility (accounting, tracing) on allocations
happening in external libraries called from vpp (eg. OpenSSL).
Type: feature
Change-Id: I5d8a673472145a4e090bedb443b8c58a967d1cca
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Florin Coras [Tue, 10 Nov 2020 03:03:09 +0000 (19:03 -0800)]
tcp: fix test for trailing bytes
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I6455f2d38a2927f16fd4cb0e26b8560a2357cebe
Ahmed Abdelsalam [Mon, 9 Nov 2020 14:04:07 +0000 (14:04 +0000)]
sr: Show IPv6 address used as SRv6 Encaps source
Implements CLI to show the IPv6 address used as source address for the SRv6 encapsulation.
Type: feature
Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com>
Change-Id: Ia442d9345a7793836148d890745fc5dc92729b6f
Jon Loeliger [Tue, 3 Nov 2020 20:49:10 +0000 (15:49 -0500)]
classify: fix classify filter trace del cli processing
When a 'del' is used to delete a classify table, only the
mask is needed to locate the table. Any match vector is
unneeded. The tests failed to notice this, but if the
test is run by hand in vppctl, it issues a parse error.
Fix the test so that it doesn't supply irrelevant data.
Fix the CLI processing to read always complete newline
terminated line of input instead. This allows unneeded
CLI parameters to be ignored. It also necessitated
fixing a trace test which had then erroneously split
a single CLI command over multiple lines.
While in the area, fix a latent bug on table matching
where a test for compatible mask vector sizes were
not matching impedance properly (byte vs ux32x4).
Type: fix
Signed-off-by: Jon Loeliger <jdl@netgate.com>
Change-Id: I1177ab1dd417f3d11f30eecbaa2b0fb1015c3ab5
Nathan Skrzypczak [Tue, 3 Nov 2020 16:44:28 +0000 (17:44 +0100)]
cnat: Fix invalid adj_index
Type: fix
When using sNAT in combination with cnat translations
it might happen that the cnat_node_vip.c picks up a
translation on a session that has an invalid lb index,
thus resulting in a later crash in ip4-load-balance
Change-Id: I82607086b2d672a9dcf26bfb82ad7f83e6474562
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Dave Barach [Mon, 9 Nov 2020 22:11:57 +0000 (17:11 -0500)]
ip6-nd: fix memory leaks
Quite a noticeable amount of memory. Recoded ra event tx and rx fns in
the usual manner, which terminated the leaks.
Type: fix
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I486d348456b465ad3940a280d4cf489e8dd655a5
Florin Coras [Mon, 9 Nov 2020 17:39:28 +0000 (09:39 -0800)]
hsa: remove fake binary api registration in echo apps
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I73fbf991f42e643f906b6a3badd95ef46106eb25
Florin Coras [Mon, 9 Nov 2020 02:04:33 +0000 (18:04 -0800)]
vcl: remove support for shm api connections
Session layer only supports bapi with socket transport or app socket api
attachements. Going forward this will be further restricted to the
latter.
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ib368cf2ce92bbca192cca977664800879cd4058e
Florin Coras [Mon, 9 Nov 2020 00:50:39 +0000 (16:50 -0800)]
session: remove support for shm bapi attachment
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I21bda0c46406aff54ad8fe5e44491e8e332de170
Dave Barach [Mon, 9 Nov 2020 15:30:06 +0000 (10:30 -0500)]
vlib: support macros in initial config file
Type: improvement
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: If8a19eb6688755311a3430437331ddf13c7e28c8
Florin Coras [Sat, 7 Nov 2020 00:59:08 +0000 (16:59 -0800)]
session: delegate fifo ooo lookup init to transports
Fifo chunk ooo lookup data structures are private (not allocated on
segment heap) and should only be initialized by transport protocols that
require out-of-order enqueues/dequeues (like tcp).
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iaa15d6850385bf903cc501c54c2752e8e811449e
Filip Tehlar [Mon, 9 Nov 2020 13:23:24 +0000 (13:23 +0000)]
ikev2: add tests for DPD
Type: test
Change-Id: I9c1129a8596344551f3f8f2e029846d22511482e
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Florin Coras [Sun, 8 Nov 2020 22:36:19 +0000 (14:36 -0800)]
session: default to using memfd mq segments
First step towards deprecating the use of binary api's segment for mq
allocation.
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I9d3d17e4d406575d64e0426bb65465130a84980a
Benoît Ganne [Fri, 2 Oct 2020 17:36:57 +0000 (19:36 +0200)]
vlib: fix trace number accounting
When using classifier to filter traces, not all packets will be traced.
In that case, we should only count traced packets.
Type: fix
Change-Id: I87d1e217b580ebff8c6ade7860eb43950420ae78
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Filip Tehlar [Sat, 31 Oct 2020 02:17:16 +0000 (02:17 +0000)]
ikev2: fix msg IDs generation
Type: fix
Change-Id: Id922895c269f0d2450e55fcb6871b6857f443462
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Filip Tehlar [Fri, 6 Nov 2020 11:00:42 +0000 (11:00 +0000)]
ikev2: fix udp encap
Type: fix
Change-Id: I8c66f79f2d8cfff7c6d45e1fc5b529ffb3941491
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Alexander Chernavin [Fri, 4 Sep 2020 13:24:20 +0000 (09:24 -0400)]
tap: add function to set speed
A plugin can set the speed on a host interface making it possible for
host applications to be aware of the actual interface speed, not the
one that the driver reports by default.
With this change, add a function to set speed on a host interface.
Type: feature
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Change-Id: I259a52b736022bdd805e8d92dcd1bfd5c58f6f96
Benoît Ganne [Fri, 6 Nov 2020 09:51:47 +0000 (10:51 +0100)]
ipsec: fix unformat types
ipsec_{crypto,integ}_alg_t are packed and smaller than u32. Callers are
using those enums so unformat functions should too instead of u32 to
not overflow the stack.
Type: fix
Change-Id: Ifc86366f1928ca6352f06f390a88ac64668289d5
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Benoît Ganne [Fri, 6 Nov 2020 09:55:22 +0000 (10:55 +0100)]
ipsec: fix outer table id lookup in ipsec tun script
Type: fix
Change-Id: I195949b610dca1b860baca18a059d39949627961
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Benoît Ganne [Fri, 6 Nov 2020 13:14:23 +0000 (14:14 +0100)]
ipsec: add support for tx-table-id in cli + example
Type: improvement
Change-Id: I840741dfe040718b682935cdbcb0ba958d45a591
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Florin Coras [Thu, 5 Nov 2020 21:39:48 +0000 (13:39 -0800)]
tcp: avoid consuming trailing bytes
Thanks to Shaligram Prakash <Shaligram.Prakash@enea.com> for reporting.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I135d23957a0dbb56a30994dfe3a316efd1eabad1
Klement Sekera [Mon, 19 Oct 2020 13:42:41 +0000 (13:42 +0000)]
nat: fix hairpinning trace
Type: fix
Fixes:
17a8ab6857f023bc1436d84808acc58dd614203e
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I597d08d1d2457116e6856fa40cd65987e13a28d4
Damjan Marion [Thu, 5 Nov 2020 13:54:08 +0000 (14:54 +0100)]
vppinfra: mspace_get_aligned should respect MALLOC_ALIGNMENT
While underlying mspace_malloc() respects MALLOC_ALIGNMENT (16)
mspace_get_aligned moves start of data for 4 bytes making final result
not aligned to MALLOC_ALIGNED.
Type: fix
Change-Id: Ib1584f315e3658b3b748ebf4886fb7389ce640fe
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Thu, 22 Oct 2020 12:23:47 +0000 (14:23 +0200)]
build: link time optimization for release builds
Type: improvement
Change-Id: I0e24f1d2ad5c7a11a8bd40125428f86aca867bec
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Thu, 5 Nov 2020 16:55:53 +0000 (17:55 +0100)]
build: run garbage collection while linking plugins
Ask linker to remove symbols which are not referenced or exported.
Type: improvement
Change-Id: Iec01fda7ec5b14bab8f36d25c2652bd6fe619961
Signed-off-by: Damjan Marion <damarion@cisco.com>
Klement Sekera [Fri, 30 Oct 2020 16:17:00 +0000 (16:17 +0000)]
nat: remove unnecessary code
Type: improvement
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I478f5dcbf7595c62611d25a40aa356d8ce09d216
Matthew Smith [Fri, 24 Jul 2020 18:38:03 +0000 (13:38 -0500)]
tap: allow change of carrier state on host
Type: feature
Add a function to adjust the link state of the host side of a tap
interface. If an application (e.g. route protocol daemons) running on
the host uses netlink to monitor interface state, a plugin
could use this function to communicate a loss of connectivity
to the application by making the interface appear to go down.
Requires a somewhat recent kernel. E.g. it does not have any effect
on CentOS 7 but it works on CentOS 8.
Change-Id: I677ee7889d2eb142e2395bea98f0b4d7e7e7f810
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Damjan Marion [Sat, 31 Oct 2020 22:40:51 +0000 (23:40 +0100)]
virtio: misc optimizations
Type: improvement
Change-Id: Iaf98a60e37dd28828feca365b8fdc5d2f7ae6935
Signed-off-by: Damjan Marion <damarion@cisco.com>
Benoît Ganne [Tue, 20 Oct 2020 12:36:55 +0000 (14:36 +0200)]
ip: fix doxygen doc for address add/del command
Type: docs
Change-Id: I96d5cdb41bd938f06d2d72f2625bf1b3d2c5b1b4
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Nathan Skrzypczak [Mon, 2 Nov 2020 16:29:52 +0000 (17:29 +0100)]
cnat: reduce compile time
Compile time reduced from ~30s to 2s for
cnat_node_vip.c & cnat_node_snat.c This doesn't
impact performance for now as ts update rwlock
is the main bottleneck.
Type: improvement
Change-Id: Ic92df300ae0dfddc5235c350bd021e73e7c850d9
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Alexander Chernavin [Thu, 5 Nov 2020 07:53:57 +0000 (02:53 -0500)]
nat: fix byte order of vrf_id in logging
Type: fix
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Change-Id: I9930a2a90caa78e848fe657ab2da863467be41ea
Damjan Marion [Sat, 31 Oct 2020 21:47:01 +0000 (22:47 +0100)]
virtio: move retry logic to outer function
Improves compile time....
Type: improvement
Change-Id: I310a2e55e5e488a953d65fd065f7795a43d2e9a7
Signed-off-by: Damjan Marion <damarion@cisco.com>
Benoît Ganne [Wed, 4 Nov 2020 09:02:03 +0000 (10:02 +0100)]
feature: reset interface feature arc on interface deletion
When removing an interface we must reset all per-interface per-feature
arc data to ensure we do not get wrong feature arc config data when the
sw_if_index is recycled.
Type: fix
Change-Id: I8c9d850d7c62b7b77193da4258ab5fb9bdda85a6
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Klement Sekera [Wed, 4 Nov 2020 17:40:53 +0000 (17:40 +0000)]
nat: remove unused code
Type: improvement
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: Ibbdfb0a2d1ff64044a0f6b2443b526bd1cf12f93
Florin Coras [Wed, 4 Nov 2020 21:08:35 +0000 (13:08 -0800)]
session: fix ct server session thread index
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I835b61f0b88a7324b09d82400debd78ad8b95401
Benoît Ganne [Thu, 8 Oct 2020 12:08:47 +0000 (14:08 +0200)]
build: better detection of libbpf dependencies
Type: fix
Change-Id: Ib496e6eb0a76e6268aea09d5f4495f3ecd921ec2
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Dave Barach [Tue, 3 Nov 2020 14:59:06 +0000 (09:59 -0500)]
vlib: add postmortem pcap dispatch trace
Inspired by a real-life conundrum: scenario X involves a vpp crash in
ip4-load-balance because vnet_buffer(b)->ip.adj_index[VLIB_TX] is
(still) set to ~0.
The problem takes most of a day to occur, and we need to see the
broken packet's graph trajectory, metadata, etc. to understand the
problem.
Fix a signed/unsigned ASSERT bug in vlib_get_trace_count().
Rename elog_post_mortem_dump() -> vlib_post_mortem_dump(), add
dispatch trace post-mortem dump.
Add FILTER_FLAG_POST_MORTEM so we can (putatively) capture a ludicrous
number of buffer traces, without actually using more than one dispatch
cycle's worth of memory.
Type: improvement
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: If093202ef071df46e290370bd9b33bf6560d30e6
Mohammed Hawari [Mon, 2 Nov 2020 13:05:03 +0000 (14:05 +0100)]
rdma: various fixes for chained buffers tx
Type: fix
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Change-Id: I428c87e581db335362fef30e274db8947a896416
Filip Tehlar [Fri, 30 Oct 2020 04:47:44 +0000 (04:47 +0000)]
ikev2: add option to disable NAT traversal
Type: feature
Ticket: VPP-1935
Change-Id: I705f84047b112279377590157a1c7b4a34f693d2
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Filip Tehlar [Fri, 30 Oct 2020 05:28:11 +0000 (05:28 +0000)]
ikev2: fix reply during rekey
Type: fix
Change-Id: If87f4b8ae92508215fe91178958fe2ddb91e5a35
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Filip Tehlar [Fri, 30 Oct 2020 05:59:55 +0000 (05:59 +0000)]
ikev2: increase tick interval in process node
This helps to resolve sporadic failures in unit tests.
Type: fix
Change-Id: I3abd77ed74310f9729a841e8569eafe6d7758dcb
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Simon Zhang [Tue, 3 Nov 2020 15:48:03 +0000 (23:48 +0800)]
tls: fix picotls engine crypto multi-thread issue
Type: fix
Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
Change-Id: Ib454ccae5a81f91a744db82b72c7f1fcb29aa0cc
Florin Coras [Tue, 3 Nov 2020 03:00:10 +0000 (19:00 -0800)]
session: reduce max session node frame size
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I9e6b5e245533c9ea7bb8dc4f784a31fcb0da88bd
Klement Sekera [Mon, 26 Oct 2020 13:42:41 +0000 (13:42 +0000)]
nat: bihash: fix buckets calc and remove mem param
Calculate bihash buckets as n_elts / 2.5 rounded to closest pow2
per Damjan's recommendation. Remove memory configuration parameters
because bihash init ignores them anyway as it resides in main heap now.
Type: improvement
Change-Id: I189f463f3c4640106cce4f12d3c5a62969276a82
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Filip Tehlar [Fri, 30 Oct 2020 05:52:19 +0000 (05:52 +0000)]
ikev2: cli for disabling dead peer detection
Type: feature
Change-Id: I0db0a9b2f872753fa64d27335838cb34645a9ee8
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Benoît Ganne [Tue, 20 Oct 2020 12:07:55 +0000 (14:07 +0200)]
nat: fix nat64 disable
- we should not copy and iterate over the pool underlying vector, as
slots can be freed (ie in the freelist).
- delete interface instead of adding them again
- fix the log message
Type: fix
Change-Id: If0a7a2f475b4f40793eb29ea80a9d29fe5d1bcb9
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Filip Tehlar [Fri, 30 Oct 2020 05:00:18 +0000 (05:00 +0000)]
ikev2: fix memory leak
Type: fix
Change-Id: I33c38c791cc9a28898de402ae831c4862073eb2d
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Neale Ranns [Thu, 2 Jan 2020 04:06:10 +0000 (04:06 +0000)]
ipsec: Tunnel SA DSCP behaviour
Type: feature
- use tunnel_encap_decap_flags to control the copying of DSCP/ECN/etc
during IPSEC tunnel mode encap.
- use DSCP value to have fixed encap value.
Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: If4f51fd4c1dcbb0422aac9bd078e5c14af5bf11f
Florin Coras [Thu, 29 Oct 2020 04:22:04 +0000 (21:22 -0700)]
vcl: support fifo segments with ct sessions
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Icf0194f569da88f26a4cba29d8fe75a0bddfc144
Florin Coras [Wed, 28 Oct 2020 23:41:26 +0000 (16:41 -0700)]
session: fix ct cleanup before full establishement
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I58fb0e05f62eae45818c23e8e148ff6758ba463a
Florin Coras [Wed, 28 Oct 2020 07:37:15 +0000 (00:37 -0700)]
vcl session: minimize ct io events
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ic4072fbc182fff38a28b415be0bb16f0559a4064
Mohsin Kazmi [Wed, 28 Oct 2020 18:35:53 +0000 (19:35 +0100)]
tap: fix the segv
Type: fix
Change-Id: I53cb96950f8658d7159fb0bd8ecfa50b6977e5af
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Florin Coras [Wed, 28 Oct 2020 19:51:10 +0000 (12:51 -0700)]
vcl: fix epoll fd cleanup
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I2886155495ac0e518b9dc09856132cc2f6843503
Dave Barach [Wed, 28 Oct 2020 18:56:12 +0000 (14:56 -0400)]
build: explicitly stop vpp in vpp.preinst
Otherwise, "dpkg -i <vpp-debian-packages>" hangs. This is a new
behavior.
Type: improvement
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I614e6d64b59df1753c8812fdab0f851c8181a7fe
Neale Ranns [Mon, 26 Oct 2020 13:00:06 +0000 (13:00 +0000)]
misc: Break the big IP header files to improve compile time
Type: refactor
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Change-Id: Id1801519638a9b97175847d7ed58824fb83433d6
Mohsin Kazmi [Wed, 28 Oct 2020 09:42:32 +0000 (10:42 +0100)]
virtio: fix the buffer array index
Type: fix
Fixes:
2e6f624f1f82ae0351dd05ad5d930d6876105519
Change-Id: I24a9822d1968a134c7e41221f48296cc8a67dd91
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Florin Coras [Mon, 26 Oct 2020 22:35:40 +0000 (15:35 -0700)]
vcl: postpone unhandled ctrl events if needed
Unhandled control events, i.e., events delivered outside of epoll/select
loops, that need to be propagated to apps should be postponed such that
epoll and select can later deliver them.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I3d05e154382631a16a19e71494c2d92c35dacb70
Florin Coras [Fri, 23 Oct 2020 23:31:40 +0000 (16:31 -0700)]
session: per worker state for ct sessions
Type: feature
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id6f7b2b969eb50eb7611e4e9ca77b7ef0e0519a1
Damjan Marion [Mon, 26 Oct 2020 09:39:30 +0000 (10:39 +0100)]
vppinfra: clib_mem_vm_{un}map thread safe
Type: improvement
Change-Id: I1ab1b100000b4d7212c58e10312e16e7527bd333
Signed-off-by: Damjan Marion <damarion@cisco.com>
Steven Luong [Wed, 21 Oct 2020 19:54:29 +0000 (12:54 -0700)]
memif: handle unexpected EPOLLOUT for RX queue
Getting an unexpected EPOLLOUT for RX queue and crashing due to missing
callback function on write_function to handle EPOLLOUT.
(gdb) f 5
f 5
node=<optimized out>, vm=0x7f948bbe4540 <vlib_global_main>) at /vpp/src/vlib/unix/input.c:325
325 errors[n_errors] = f->write_function (f);
(gdb) p *e
p *e
$21 = {events = 4, data = {ptr = 0x23, fd = 35, u32 = 35, u64 = 35}}
(gdb) p file_main.file_pool[e->data.fd]
p file_main.file_pool[e->data.fd]
$22 = {file_descriptor = 37, flags = 1, polling_thread_index = 0, private_data = 65536,
read_function = 0x7f944a87b140 <memif_int_fd_read_ready>, write_function = 0x0,
error_function = 0x0, description = 0x7f944be22400 "memif0/1 rx 0 int", read_events = 0,
write_events = 1, error_events = 0}
(gdb)
File descriptors are recycled. It is likely that the EPOLLOUT is meant
for the previous owner of the same file descriptor number which memif
recycled and memif RX did not expect to receive an EPOLLOUT. For
defensive play, we create a dummy callback function to ignore the
EPOLLOUT instead of crashing.
Type: fix
Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I535cadbb9b71d3db2995b118c59a12c71f10af09
Mohsin Kazmi [Mon, 26 Oct 2020 11:41:41 +0000 (12:41 +0100)]
virtio: improve the compile time
Type: improvement
packet buffering is common code to tun/tap/virtio.
Change-Id: I59a339f268a28a0c32756e52d10d1ed6b207db42
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Mohammed Hawari [Thu, 22 Oct 2020 12:14:04 +0000 (14:14 +0200)]
dpdk: allow offline build by caching build-deps
Change-Id: I40262c640be24f4ca48a2e1461fbc2eb2b0c4c96
Type: fix
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>