Benoît Ganne [Tue, 21 Apr 2020 17:25:14 +0000 (19:25 +0200)]
misc: asan: disable leak sanitizer by default
Leak Sanitizer is not stable yet with VPP. It can always be enabled at
runtime with ASAN_OPTIONS=detect_leaks=1.
Type: fix
Change-Id: Ieff01091e2976e127783ebd331cd0e50a1dbca12
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Zhiyong Yang [Fri, 27 Mar 2020 17:12:35 +0000 (17:12 +0000)]
ethernet: put vlib_get_buffers together
The patch brings 0.8 clocks saved per pkt in IPv4 l3fwd case on Skylake.
Type: improvement
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Change-Id: Ia8d3a27773bf959433380d7c219602b1e4a8e5bd
Benoît Ganne [Wed, 22 Apr 2020 07:02:48 +0000 (09:02 +0200)]
misc: asan: do not poison memory after munmap()
It is a bad idea to poison memory after munmap because the address space
can be reused (eg. for global data of dlopen()ed object) and ASan model
allows access by default.
Moreover, access to a stale address space will fault.
Type: fix
Change-Id: I356de422f255447d9d50a3a71fb0c2eaa790d731
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Damjan Marion [Tue, 21 Apr 2020 18:14:34 +0000 (20:14 +0200)]
vppinfra: fix potential race in bihash bucket lock
Type: improvement
Change-Id: Ia04bd26ecd689894753e036e52920316de611910
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Tue, 21 Apr 2020 17:42:30 +0000 (19:42 +0200)]
vppinfra: improve bihash add/del performance
Measured improvement is from 439 to 167 clocks for add operation
in 16_8 case...
Type: improvement
Change-Id: I975ff46ff30b983a3ec80a5cde25ccb68d7fa03b
Signed-off-by: Damjan Marion <damarion@cisco.com>
Chenmin Sun [Fri, 27 Mar 2020 16:34:19 +0000 (00:34 +0800)]
dpdk: DPDK 20.05 iavf flow director backporting to DPDK 20.02
0001 ~ 0014 patches are for virtual channel and PMD
0015 is the iavf fdir framework
0016 ~ 0017 are for the iavf fidr driver
Type: feature
Signed-off-by: Chenmin Sun <chenmin.sun@intel.com>
Change-Id: I38e69ca0065a71cc6ba0b44ef7c7db51193a0899
Amir Zeidner [Wed, 22 Apr 2020 07:11:57 +0000 (10:11 +0300)]
devices: Adding ConnectX-6 DX Device ID for validation
Type: fix
Change-Id: I3c7ebbe91e7dffe9fd6851e5334fe920f2187cf0
Signed-off-by: Amir Zeidner <amirzei@mellanox.com>
Dave Barach [Tue, 21 Apr 2020 12:01:16 +0000 (08:01 -0400)]
vat: fix increment_address(...)
vl_api_address_t uses a packed enum for the address family, compare
a->af directly with ADDRESS_IP4 / ADDRESS_IP6 instead of running a->af
through clib_host_to_net_u32(...) before compare.
Indirectly fixes api_ip_route_add_del(...) w/ count > 1.
Type: fix
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ib7f562ec9e92ee63e52a338d318fcf1ce6221755
Elias Rudberg [Thu, 16 Apr 2020 14:01:52 +0000 (16:01 +0200)]
vlib: queue_hi_thresh fix to avoid deadlock
Adapt queue_hi_thresh value using num_threads to avoid risk of deadlock
between threads which could happen for example when different NAT
threads try to handoff work to each other at the same time when their
frame queues are congested. This change ensures that each thread can
reserve a queue entry without causing problems even in the most extreme
case when all threads attempt to add to the same queue simultaneously
when the queue is nearly full.
Type: fix
Signed-off-by: Elias Rudberg <elias.rudberg@bahnhof.net>
Change-Id: I9e02f753bd00833d8dd500d181b0d4f9a454d703
Vladimir Ratnikov [Mon, 13 Apr 2020 10:36:19 +0000 (06:36 -0400)]
nat: dslite ce mode in separate config entry
Previously dslite was moved to separate plugin folder
and CE mode was removed. But it still needed.
This patch adds CE option to separate config entry
Type: feature
Signed-off-by: Vladimir Ratnikov <vratnikov@netgate.com>
Change-Id: If153ae08fa385ba5a6605cb412e49bbb4d1db46c
Dave Barach [Thu, 16 Apr 2020 16:00:14 +0000 (12:00 -0400)]
vppinfra: bihash improvements
Template instances can allocate BIHASH_KVP_PER_PAGE data records
tangent to the bucket, to remove a dependent read / prefetch.
Template instances can ask for immediate memory allocation, to avoid
several branches in the lookup path.
Clean up l2 fib, gpb plugin codes: use clib_bihash_get_bucket(...)
Use hugepages for bihash allocation arenas
Type: improvement
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: Damjan Marion <damarion@cisco.com>
Change-Id: I92fc11bc58e48d84e2d61f44580916dd1c56361c
Benoît Ganne [Fri, 17 Apr 2020 10:11:26 +0000 (12:11 +0200)]
sr: fix non-NULL terminated string overflow
Type: fix
Change-Id: Ia5ae0e893a5358f61353d20f444d88d79953e482
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Florin Coras [Fri, 17 Apr 2020 20:15:22 +0000 (20:15 +0000)]
svm: check if fifo free list index is valid on alloc
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Change-Id: Ib85c2f01dc7ec9858f2f88b89e209f989d78c5d9
Benoît Ganne [Fri, 17 Apr 2020 10:09:37 +0000 (12:09 +0200)]
session: fix use-after-free in input node
Type: fix
Change-Id: Ie60b07abe76ad166f048f5885accd7038d8153b2
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Florin Coras [Sun, 19 Apr 2020 22:41:55 +0000 (22:41 +0000)]
session: avoid rx notifications on accepting sessions
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iba37e528e968104c3ba9c8324438ba695ddddfd1
Florin Coras [Sun, 19 Apr 2020 23:12:08 +0000 (23:12 +0000)]
vcl: ensure sessions are open on select events
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I4d56b61af574dfdaf6028160ce331606bdf65609
Florin Coras [Mon, 20 Apr 2020 01:32:38 +0000 (01:32 +0000)]
vcl: expand vcl select maps in ldp if needed
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I56c487821233cebf2146745a4706cb573cc088a5
Klement Sekera [Fri, 17 Apr 2020 18:04:59 +0000 (18:04 +0000)]
nat: remove unused code
Type: improvement
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: If5c00faa309cf3e1ea8bdf8b23250041f6a499c4
Benoît Ganne [Thu, 16 Apr 2020 14:57:00 +0000 (16:57 +0200)]
gbp: fix l3-out anonymous test cleanup
Type: fix
Change-Id: Ib455b0a57f9b4f9cb82bb295c220270d0c6e5fe5
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Simon Zhang [Sun, 19 Apr 2020 13:50:17 +0000 (21:50 +0800)]
tls: fix Picotls tx hang issue
Type: fix
Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
Change-Id: Id84fbe412c99b39a0754b892ca971dd3e4434264
Florin Coras [Sun, 19 Apr 2020 19:20:19 +0000 (19:20 +0000)]
session: fix half-open cleanup
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I931d23cf617c8f24fe9a02982ab129785bbd184d
Benoît Ganne [Thu, 16 Apr 2020 10:39:39 +0000 (12:39 +0200)]
lisp: fix use-after-free
Type: fix
Change-Id: I42c3e3514ba50d40e09ee688d083f3e78fa0713a
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Andreas Schultz [Tue, 7 Apr 2020 11:40:36 +0000 (13:40 +0200)]
vat: fix static analysis warning
replace hand crafted version with existing vector function
Type: fix
Signed-off-by: Andreas Schultz <andreas.schultz@travelping.com>
Change-Id: I94834852469ed316c7bdbd48bb7f479648b2c8e5
Florin Coras [Fri, 17 Apr 2020 16:10:51 +0000 (16:10 +0000)]
tcp: cubic as default cc algorithm
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I48ce827966667a767440149769eb1b24616ce4c1
Mohsin Kazmi [Fri, 10 Apr 2020 14:57:06 +0000 (14:57 +0000)]
virtio: fix to use chained descriptors when missing indirect descriptor
Some vhost-backed missing the VIRTIO_RING_F_INDIRECT_DESC feature.
Previously, vpp doesn't support jumbo frames using chained descriptors.
This patch fixes this issue.
Type: fix
Change-Id: I20487e201e88ea136b556ac84dde058019ab3e78
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Alexander Chernavin [Fri, 3 Apr 2020 14:18:44 +0000 (10:18 -0400)]
dpdk: fix udp-encap for esp in transport mode
Now UDP encapsulation doesn't work in transport mode because:
- the encrypt node misses filling of UDP header and it gets sent with
all zeros;
- the decrypt node misses filling of new IP header and it contains
garbage data.
With this commit, fill UDP header during encryption and fill IP header
during decryption.
Change-Id: I87a7bd594f0e312b16d3e5eb19e568b4e3164d36
Type: fix
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Florin Coras [Thu, 16 Apr 2020 04:30:22 +0000 (04:30 +0000)]
session tcp: track half open in app wrk
Type: improvement
Do extra checks when establishing an active connect and cleanup pending
connects if application detaches.
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ibe9349db57b313ba2aa5ea3960ef5cf755f5098a
Florin Coras [Thu, 16 Apr 2020 18:47:27 +0000 (18:47 +0000)]
vcl: fix app destroy
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I21daa87b1a301142270a1bf20680dd9e9395aac9
Yu Sun [Thu, 16 Apr 2020 17:56:12 +0000 (13:56 -0400)]
vppinfra: install missing tw_timer_2t_2w_512sl header file
Type: improvement
Signed-off-by: Yu Sun <yusun2@cisco.com>
Change-Id: I68aea7c5776c5b31081c98388df4133d2062218a
Mohsin Kazmi [Mon, 6 Apr 2020 12:19:54 +0000 (14:19 +0200)]
tap: add initial support for tun
Type: feature
Change-Id: I699a01ac925fe5c475a36032edb7018618bb4dd4
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Benoît Ganne [Thu, 16 Apr 2020 10:38:48 +0000 (12:38 +0200)]
fib: fix use-after-free
Type: fix
Change-Id: Ie7081d977dd0d3e7d09bc0d1b4d53863288e443b
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Benoît Ganne [Thu, 16 Apr 2020 10:40:04 +0000 (12:40 +0200)]
ipsec: fix use-after-free
Type: fix
Change-Id: I1068ff1d03883addb5fe1005a8b608eab17e4168
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Benoît Ganne [Thu, 16 Apr 2020 10:40:54 +0000 (12:40 +0200)]
bier: fix vector size confusing ASan
The vector is initialized to 1024 entries which is guaranteed to be
enough, but as its size can shrink between calls, make sure ASan is
aware of the expected size before using it.
Type: fix
Change-Id: I4bcc39867a886b3cb463854d2cda0b32155650e9
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Benoît Ganne [Thu, 16 Apr 2020 10:47:47 +0000 (12:47 +0200)]
igmp: fix igmp proxy group merge
When merging proxy groups in igmp_proxy_device_merge_group(), the call
to igmp_proxy_device_merge_src() can end up removing the current proxy
group via igmp_group_clear(). When that happens, it must returns NULL so
that igmp_proxy_device_merge_config() does not send a IGMPv3 report for
a dead proxy group.
Make igmp_group_clear() reset the group pointer to NULL to fix this bug
and to detect similar bugs more easily.
Type: fix
Change-Id: I229e55b5bfa71734d7844893f5209a66fa3cc8ae
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Andreas Schultz [Thu, 16 Apr 2020 14:18:57 +0000 (16:18 +0200)]
udp: fix buffer trace
Type: fix
Signed-off-by: Andreas Schultz <andreas.schultz@travelping.com>
Change-Id: I774ca50582281cb3cc5e43417e74d178bf4909bd
Filip Varga [Mon, 6 Apr 2020 10:52:33 +0000 (12:52 +0200)]
nat: scavenging functionality removed
Type: refactor
Change-Id: I9f743ba2818e1b1c5004c3575925cc7b479948d8
Signed-off-by: Filip Varga <fivarga@cisco.com>
Damjan Marion [Wed, 15 Apr 2020 18:37:54 +0000 (20:37 +0200)]
vppinfra: don't use memcmp to compare keys in cuckoo
Type: improvement
Change-Id: I7e11bf72be5fad5967724c038eb649a261294ca0
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Wed, 15 Apr 2020 17:44:17 +0000 (19:44 +0200)]
vppinfra: delay bucket2 calc in cuckoo search
There is no need to calculate bucket2 if there is hit on bucket1
Type: improvement
Change-Id: Id01c37963497668c0160068501294568a181d011
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Wed, 15 Apr 2020 15:45:23 +0000 (17:45 +0200)]
vppinfra: add clib_cuckoo_search_inline_with_hash function
Type: improvement
Change-Id: I547263ae954506f11101666ff768524fbfdb579e
Signed-off-by: Damjan Marion <damarion@cisco.com>
Dave Barach [Wed, 15 Apr 2020 13:34:43 +0000 (09:34 -0400)]
pg: set vnet buffer flags in pg streams
See .../extras/pg/checksum_offload.pg for a nontrivial example, which
deliberately sets bogus ip and udp checksums in the generated packets,
then fixes the mess with (software emulated) hardware checksum
offload.
Validated via "pcap dispatch trace on max 1000 buffer-trace pg-input 100".
Packets stuffed into loop1-output have the configured bogus ip and udp
checksums. vnet_calc_checksums_inline(...) fixes the checksums, which
are correct when packets visit loop1-tx.
The packet generator is a dumb robot in this regard. If you ask for a
ridiculous flag combination - example: ip4 and ip6 - your mileage may
vary.
Type: feature
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I6d9e790f373bcd9e445a89113ca8e4c8f9aa9419
Damjan Marion [Wed, 15 Apr 2020 15:44:27 +0000 (17:44 +0200)]
vppinfra: install missing cuckoo hash header files
Type: improvement
Change-Id: Ifb4eec00fd4f1d19e4b0af802d015a35e402e0af
Signed-off-by: Damjan Marion <damarion@cisco.com>
Florin Coras [Tue, 14 Apr 2020 23:52:12 +0000 (23:52 +0000)]
session: detach session from app on cleanup
Type: fix
Avoids unwanted notifications.
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ifff27fb0d3644194e3bb3f91d7ed1fd02c6730cd
Neale Ranns [Wed, 15 Apr 2020 11:53:36 +0000 (11:53 +0000)]
urpf: Allow locally generated packets on TX
Type: fix
Change-Id: I87d301aec20b9f5b34997b394493c796188fce14
Signed-off-by: Neale Ranns <nranns@cisco.com>
Florin Coras [Fri, 10 Apr 2020 14:51:46 +0000 (14:51 +0000)]
tcp: allow local port sharing if 5-tuple available
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id0c4b46247e7419a328387678a4753cfb1e42d75
Dave Barach [Sun, 12 Apr 2020 12:31:39 +0000 (08:31 -0400)]
misc: refactor calc_checksums
Merge two mildly incompatible static inlines, and rename the results
vnet_calc_checksums_inline (...).
The resulting inline has three additional parameters: int is_ip4, int
is_ip6, and int with_gso. All calls manage to pass one or more as
compile-time constants, which causes a certain amount of code to
disappear in each instantiation.
Type: refactor
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I1a2a0e353b9a7bca20bc81318e8c915617261e1a
Dave Barach [Tue, 14 Apr 2020 13:52:26 +0000 (09:52 -0400)]
vat: fix socket connection
vat_socket_connect(...) needs to set the api main client index. The M2
helper macro needed to allocate a buffer of size sizeof(*mp) + n, not
sizeof(*mp).
Type: fix
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I7abf35d2ba045d82765bd27f88899287fd351602
Florin Coras [Mon, 13 Apr 2020 23:35:55 +0000 (23:35 +0000)]
session: avoid all session cleanup on unlisten
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ifff49366ad538bf2dd64487cae17e7457dff064f
Neale Ranns [Thu, 2 Apr 2020 15:02:16 +0000 (15:02 +0000)]
urpf: Unicast reverse Path Forwarding (plugin)
Type: feature
- move the IP4 code to plugin
- add ip6 support
- add suport for uRPF on TX
- add tests
Change-Id: I074c2debc486d3e79c12fad4b8dbd72c41e841a0
Signed-off-by: Neale Ranns <nranns@cisco.com>
Matthew Smith [Sat, 11 Apr 2020 01:27:33 +0000 (20:27 -0500)]
ipsec: validate number of input sas
Type: fix
There is a statically allocated array for inbound SAs which can hold
4 IDs. The input parameter containing the IDs of th inbound SAs is a
vector and Its possible to pass a vector with more than 4 elements
and write the memory past the end of the array. Fail if more than 4
SAs are passed in the vector.
Change-Id: I0c9d321c902d6366b8aff816d04e343dcbd110eb
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Florin Coras [Mon, 13 Apr 2020 16:48:04 +0000 (16:48 +0000)]
session: remove ho with fifos support
Type: refactor
UDPC (removed) was the only consumer.
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I2812bf58d3c68fe021ec73acaa1bd00ef3172846
Dave Barach [Thu, 9 Apr 2020 21:24:07 +0000 (17:24 -0400)]
buffers: configurable buffer fault injector
When configured at compile time via the cmake
VPP_BUFFER_FAULT_INJECTOR option, the buffer allocator will appear to
fail a certain fraction of the time.
By default, the allocator succeeds 80% of the time. Detailed command
line configuration options are available, but only when the image has
been compiled with cmake option described above:
vlib { buffer-alloc-success-rate [0.0 ... 1.0]
buffer-alloc-success-seed <nnnn> }
Modify vlib_buffer_pool_create(...) so 0 is always an invalid buffer
index.
Debug images: add checks for bad buffer index enqueues, and also
verify that f->n_vectors doesn't accidentally map one or more
instances of the frame poison pattern 0xfefefefe.
Type: improvement
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Iab939858014463d1e664682805013d334d6fcbe5
Dave Barach [Thu, 9 Apr 2020 22:34:29 +0000 (18:34 -0400)]
dhcp: fix unicast pkts, clean up state machine
Send dhcp unicast packets to ip4-lookup. Otherwise, these packets
won't reach a dhcp server on a different subnet.
Do an immediate client scan after processing wakeup events.
Calculate the next process wakeup time by scanning all
clients.
Increase maximum (idle, no-clients-configured) timeout to 1000
seconds.
Reduce log spew.
Type: fix
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I3d10cd4c353298ed0b19e7e30887dc1d8d07b19e
Florin Coras [Mon, 13 Apr 2020 01:20:25 +0000 (01:20 +0000)]
session: cleanup debug code
Type: refactor
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie6c03195019fe18c547b22f4387d7f2b14b71461
Srikanth Akula [Tue, 7 Apr 2020 02:19:49 +0000 (19:19 -0700)]
session: adding debug events
Type: feature
Enhancing the debugging capability of tcp session layer by measing time spent for various events.
This is meant only for debugging purpose
Signed-off-by: Srikanth Akula <srakula@cisco.com>
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I9f401881b345bcae5f7d8050338637fd47b3723b
Signed-off-by: Srikanth Akula <srakula@cisco.com>
Simon Zhang [Sat, 11 Apr 2020 11:09:03 +0000 (19:09 +0800)]
tls: make ctx_write function return the length of enqueue
Type: fix
Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
Change-Id: Ia8656fe2c48799e53c1b2c064009848ad3457659
ShivaShankarK [Fri, 10 Apr 2020 12:50:02 +0000 (18:20 +0530)]
fib: fix accessing empty dpo pool elements
Type: fix
Signed-off-by: ShivaShankarK <shivaashankar1204@gmail.com>
Change-Id: Iee88a2101ce42d7f1cdb65df532c349d14829e4c
Florin Coras [Fri, 10 Apr 2020 19:52:04 +0000 (19:52 +0000)]
udp: remove connected udp transport proto
Type: refactor
To reproduce functionality, use udp in combination with
TRANSPORT_CFG_F_CONNECTED transport flag set in connect and listen
parameters.
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id88470c38326f8168b9646b0de49a674e0f4266f
Aloys Augustin [Wed, 8 Apr 2020 20:15:25 +0000 (22:15 +0200)]
quic: fix clean stream close
Properly close the stream sending side instead of resetting the entire
stream.
Change-Id: I2daca7e507daa7bf9cd6a27fa8828a9ea7d175f9
Type: fix
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Florin Coras [Fri, 10 Apr 2020 02:01:51 +0000 (02:01 +0000)]
udp: fix local node no port error counter
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie0c5a86aedfa38fdcbb835aee7c9e91d59b222d6
Mohsin Kazmi [Thu, 9 Apr 2020 20:11:29 +0000 (22:11 +0200)]
virtio: fix gso and csum offload errors handling
GSO and CSUM offloaded packets are transmitted
even itf doesn't support GSO/CSUM. This patch
fixes it by logging the respective errors and
dropping the packets.
Type: fix
Change-Id: I5ab19d15ce6aa9fda515313c313a5a56c0b96837
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Neale Ranns [Fri, 3 Apr 2020 07:46:28 +0000 (07:46 +0000)]
geneve: Fix the byte swapping for the VNI
Type: fix
- swipe away the vomit indent left last time.
- add tests for VNIs > 16bit
Change-Id: I2d1f591bfb9d7a18996c38969365a509168d4193
Signed-off-by: Neale Ranns <nranns@cisco.com>
ShivaShankarK [Thu, 9 Apr 2020 15:45:58 +0000 (21:15 +0530)]
fib: fix adjacency cli command issue
Type: fix
Signed-off-by: ShivaShankarK <shivaashankar1204@gmail.com>
Change-Id: I193023705003e664c50487fdfaa42b813604a078
Florin Coras [Thu, 9 Apr 2020 20:59:20 +0000 (20:59 +0000)]
session: fix leak on accept fifo alloc failure
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ia928d6ea05ff7cb9a15e1ddc58234d000ebfd7fb
Florin Coras [Thu, 9 Apr 2020 21:23:01 +0000 (21:23 +0000)]
tcp: avoid regrabing error node in input and output
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I2dd0187d069783ac8bc445a70f99934d91ae0e63
Simon Zhang [Thu, 9 Apr 2020 08:35:04 +0000 (16:35 +0800)]
tls: adopt picotls engine to new session scheduling mechanism
Type: fix
Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
Change-Id: I58fea0474e293d5e6a029e0dccd4a24b07b76a90
Florin Coras [Thu, 9 Apr 2020 01:49:45 +0000 (01:49 +0000)]
session: update fifo slice on session migration
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ic5fb0f95c58ad70925a365004fe911ac8f2d2382
John DeNisco [Thu, 9 Apr 2020 18:23:13 +0000 (14:23 -0400)]
docs: Fix the Use Cases Index
Signed-off-by: John DeNisco <jdenisco@cisco.com>
Change-Id: If4d5ef8ab93c905493af074fb4c2096f1ab222d4
neale ranns [Thu, 9 Apr 2020 13:03:45 +0000 (13:03 +0000)]
vom: Fixes for g++-9
Type: improvement
Signed-off-by: neale ranns <nranns@cisco.com>
Change-Id: I356251b750fcab05ff91e0295e96a8451e8b2f88
Andrew Yourtchenko [Thu, 9 Apr 2020 12:10:29 +0000 (12:10 +0000)]
misc: add a nerd knob to skip a sysctl during the .deb installation
In some cases, e.g. in the container installs, it's beneficial to skip
the sysctl portion of the installation.
This commit allows to do that by setting the environment variable
VPP_INSTALL_SKIP_SYSCTL.
Change-Id: If88468c5c45bf122e927f09e08560e25b73bf1f9
Type: feature
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Florin Coras [Thu, 9 Apr 2020 14:20:52 +0000 (14:20 +0000)]
udp: fix coverity warning
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I8efde7a4be9b04eae7e30b153de5edab7854496b
Dave Barach [Wed, 8 Apr 2020 12:45:27 +0000 (08:45 -0400)]
bfd: always start timers with non-zero tick counts
Otherwise the tw_timer_template code ASSERTs...
Type: fix
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I85e00a3e3486e3b238254ac4116d684a32984434
Florin Coras [Thu, 9 Apr 2020 04:46:14 +0000 (04:46 +0000)]
svm: use active fifo count in fifo test
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id6c9dbf65523274768173e288431d7dbac55676d
Dave Barach [Wed, 8 Apr 2020 14:19:29 +0000 (10:19 -0400)]
mpls: fix typo in error path
if ip4_frag_do_fragment(...) returns an error due to buffer allocation
failure, we end up trying to increment a nonexistent counter, which
causes an ASSERT failure.
The second argument to vlib_error_count is a node index, not a
next index...
Type: fix
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ib0733b0d35bcb9d3ca6bd789e0c5ddc1561ce724
Dave Barach [Wed, 8 Apr 2020 18:31:45 +0000 (14:31 -0400)]
misc: fix error handling in punt_replicate
If vlib_buffer_clone (...) fails due to a buffer allocation error, update
*n_dispatched with the actual number of clones, not the requested
number of clones.
Punt_replicate(...) should not set *to_next[0] = bi0. The original
buffer is enqueued separately in punt_dispatch_node(...)
Type: fix
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I774ad8f8c1a0633de4cf8ae5530629201c229347
Florin Coras [Wed, 8 Apr 2020 01:55:39 +0000 (01:55 +0000)]
udp: cleanup input node
Type: refactor
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ida9daefc20a161b36d6f36c56267123c7f2efc01
Dave Barach [Wed, 8 Apr 2020 16:03:32 +0000 (12:03 -0400)]
ping: fix buffer allocator error handling
The code sets f->n_vectors = n_to_send, but it can bail out of the
loop if vlib_buffer_copy(...) returns 0.
Need to fix f->n_vectors in the error return path, or we enqueue some
number of 0xfefefefe buffer indices in a debug image or worse in a
production image.
Type: fix
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I2d886266006c6c1c2f9ef8e3b95eb46ac6c0b3df
Dave Barach [Wed, 8 Apr 2020 12:14:57 +0000 (08:14 -0400)]
misc: check return values from vlib_buffer_copy(...)
vlib_buffer_copy(...) returns NULL if the system is temporarily out of
buffers.
This is NOT correct. Please don't be this person:
c0 = vlib_buffer_copy (vm, p0);
ci0 = vlib_get_buffer_index (vm, c0);
Type: fix
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ic25ef58965871ea5d2b40904df9506803f69e47e
Neale Ranns [Tue, 7 Apr 2020 08:44:20 +0000 (08:44 +0000)]
gbp: More reliable unit-tests
Type: fix
the GBP unit tests would peridocially fail. The reason being that there
is dynamic state whose presence nneds to be created, tested and then
timeed out. The failures occurded when the timeout occured before the
state could be tested. the previous timeout was 2 seconds, this has been
doubled, as a result i saw no faliures running continuously for ~16
hours.
bumping the timer increasing the test run time from ~40 to ~53 seconds,
a small price to pay.
in test cases where the state is not timed out i bumped the timer to 60
seconds.
Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I11b0970570caa8eebf486fe8cd8e44a4b2b1fc36
Klement Sekera [Tue, 31 Mar 2020 07:48:02 +0000 (09:48 +0200)]
nat: use correct data types for memory sizes
Type: fix
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: Id2d181385f109163d4c806eecda166c2087c4b92
Mohsin Kazmi [Tue, 7 Apr 2020 14:42:57 +0000 (16:42 +0200)]
virtio: fix the tcp/udp checksum offloads
Some vhost-backend calculates the wrong checksum in
case of tcp/udp offload when driver resets tcp/udp
checksum field to '0'.
Type: fix
Change-Id: I1d2a9b95b3d5cc1decac38027104a04df2af4680
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Neale Ranns [Wed, 8 Apr 2020 12:28:06 +0000 (08:28 -0400)]
ip: do not clear the locally-originated flag
Type: fix
- doing so in MTU dec, means mtu_inc is broken
- there's no need to. if a packet encounters ipX-rewrite a second time then it went through a tunnel the first time and is still locally originated.
Change-Id: I0f279c2837b608c1677485fe93f63398ab2737b3
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Mon, 6 Apr 2020 07:37:47 +0000 (07:37 +0000)]
acl: fix unresolved symbol for format_fib_prefix in vat plugin
Type: fix
Change-Id: I5bf8d6043a49985b9241df8ff24774892678b557
Signed-off-by: Neale Ranns <nranns@cisco.com>
Klement Sekera [Sun, 5 Apr 2020 08:22:47 +0000 (10:22 +0200)]
nat: ED: global session LRU list
Maintain a global session LRU allowing reuse of expired session instead
of relying on a scavenging mechanism to periodically walk sessions.
Whenever a new session is being allocated in slow path, also attempt to
free an expired session from global LRU list.
Type: improvement
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I9edde9ec138de67c9a4888e915b0490ec16415fa
Klement Sekera [Wed, 1 Apr 2020 18:58:15 +0000 (20:58 +0200)]
nat: preallocate pools
Type: improvement
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I1be559a98f74c28a9c83fe320c8ce02459793e66
Tetsuya Murakami [Tue, 7 Apr 2020 20:59:26 +0000 (13:59 -0700)]
sr: Fix the coverity issue
Fix the coverity issue on srv/vnet/srv6/sr_localsid.c
Type: fix
Signed-off-by: Tetsuya Murakami <tetsuya.mrk@gmail.com>
Change-Id: I4aeef31cfd67cc1801ab57b94bf4f5ff3d13fd49
Simon Zhang [Tue, 31 Mar 2020 12:56:22 +0000 (20:56 +0800)]
session: alloc exact number of bufs for multi-seg deqs
Type: refactor
Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I11cf806e22158e021a9a405eb4487a9ed6fdbccf
Florin Coras [Tue, 7 Apr 2020 22:31:06 +0000 (22:31 +0000)]
session: add more session errors
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I9b246eb8a99020de9e5859147c456096fe2e3389
Dave Barach [Tue, 7 Apr 2020 14:52:43 +0000 (10:52 -0400)]
l2: handle complete clone fail in l2_flood
vlib_buffer_clone(...) may not manage to produce any buffer clones at
all.
vlib_buffer_clone_256 should not smash the original buffer reference
count if no clones are produced.
Type: fix
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I14d9d53637a220485c7a0036cfc75a4149b264ea
Klement Sekera [Thu, 20 Feb 2020 11:40:50 +0000 (11:40 +0000)]
nat: ED: port re-use algorithm
Type: fix
Change-Id: I11440c855eb35d2a6095dfe135e4ab5090f11ff3
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Ray Kinsella [Tue, 7 Apr 2020 15:35:22 +0000 (16:35 +0100)]
vat: fix vat strncpy stringop-overflow
Fix GCC 9.0 barf on vat strncpy.
Type: fix
Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: I5e41225d6ac9673a9d953046720df55e7b69c479
Signed-off-by: Dave Barach <dave@barachs.net>
Klement Sekera [Sun, 5 Apr 2020 15:07:32 +0000 (17:07 +0200)]
nat: don't drop packet for expired session
If session is expired, the packet which we just received might be a one,
which legitimely creates a new session, process it in slow path instead
to decide the outcome.
Type: fix
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I45628f52d37ae9dee5e8aa58171ff0b86f91f5dd
Florin Coras [Tue, 7 Apr 2020 17:30:13 +0000 (17:30 +0000)]
udp: move cli to separate file
Type: refactor
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I2057ebb4b6a4af3ef8fd9b73aadfa00d63bae618
Aloys Augustin [Tue, 7 Apr 2020 13:43:33 +0000 (15:43 +0200)]
tests: pin sphinx and sphinx-rtd-theme
Add these two packages to requirements.txt so that their version and
the version of their dependencies are pinned to limit the risk of
unexpected breakage.
Change-Id: If330404f2e840af3d2628f997ce406cd14e7e128
Type: fix
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Florin Coras [Tue, 7 Apr 2020 04:14:45 +0000 (04:14 +0000)]
tcp: fix conf mtu parsing
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I4f0628b0484e32facbeb163993cc25d637167936
Florin Coras [Tue, 7 Apr 2020 03:46:07 +0000 (03:46 +0000)]
udp session: allow dgram ip fragmentation
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ida8f9e759b4990ea6e34e71dc45bdb3b5eabc27f
Florin Coras [Mon, 6 Apr 2020 21:28:59 +0000 (21:28 +0000)]
udp session: jumbo frames and configurable mtu
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I6b750bef5df0f8544e05177ccd480f87a020832d
Filip Tehlar [Tue, 31 Mar 2020 05:59:41 +0000 (05:59 +0000)]
ikev2: make liveness params configurable
Introduce new cli for setting liveness check period and max retries for
a peer to consider its partner dead.
ikev2 set liveness <period-in-seconds> <max-retires>
Type: improvement
Change-Id: Iadae1de245d34fe3ee85e09b570f9df8c401772b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Ignas Bacius [Mon, 6 Apr 2020 13:31:27 +0000 (16:31 +0300)]
sr: fix byte-order in steering API
Type: fix
Change-Id: Ib25e5324e4ba360cd91b92abc78c994f86148148
Signed-off-by: Ignas Bacius <ignas@noia.network>
Tetsuya Murakami [Mon, 23 Mar 2020 23:10:28 +0000 (16:10 -0700)]
sr: Support uSID function.
1. Add uSID function in VNET SRv6
2. Add test case for uSID
Type: feature
Signed-off-by: Tetsuya Murakami <tetsuya.mrk@gmail.com>
Change-Id: I354fc687192ed713ceb81fccc9f7b69b6777f6f6
Signed-off-by: Tetsuya Murakami <tetsuya.mrk@gmail.com>
Dave Barach [Mon, 6 Apr 2020 14:19:18 +0000 (10:19 -0400)]
vat: fix static analysis warning
Type: fix
Ticket: VPP-1837
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ia46f865082dcf0cf06af99a7c958c4a5b02193ce