Ole Troan [Thu, 28 Feb 2019 15:38:53 +0000 (16:38 +0100)]
reassembly fixes merged into one for stable/18.10.
Change-Id: Ic389807abaa10433c4ba6f111c5c27d035731fa8
Signed-off-by: Ole Troan <ot@cisco.com>
Steven Luong [Fri, 1 Feb 2019 18:23:56 +0000 (10:23 -0800)]
vhost: VPP stalls with vhost performing control plane actions
Symptom
-------
With NDR traffic blasting at VPP, bringing up a new VM with vhost
connection to VPP causes packet drops. I am able to recreate this
problem easily using a simple setup like this.
TREX-------------- switch ---- VPP
|---------------| |-------|
Cause
-----
The reason for the packet drops is due to vhost holding onto the worker
barrier lock for too long in vhost_user_socket_read(). There are quite a
few of system calls inside the routine. At the end of the routine, it
unconditionally calls vhost_user_update_iface_state() for all message
types. vhost_user_update_iface_state() also unconditionally calls
vhost_user_rx_thread_placement() and vhost_user_tx_thread_placement().
vhost_user_rx_thread_placement scraps out all existing cpu/queue mappings
for the interface and creates brand new cpu/queue mappings for the
interface. This process is very disruptive and very expensive. In my
opinion, this area of code needs a makeover.
Fixes
-----
* vhost_user_socket_read() is rewritten that it should not hold
onto the worker barrier lock for system calls, or at least minimize the
need for doing it.
* Remove the call to vhost_user_update_iface_state as a default route at
the end of vhost_user_socket_read(). There is only a couple of message
types which really need to call vhost_user_update_iface_state(). We put
the call to those message types which need it.
* Remove vhost_user_rx_thread_placement() and
vhost_user_tx_thread_placement from vhost_user_update_iface_state().
There is no need to repetatively change the cpu/queue mappings.
* vhost_user_rx_thread_placement() is actually quite expensive. It should
be called only once per queue for the interface. There is no need to
scrap the existing cpu/queue mappings and create new cpu/queue mappings
when the additional queues becomes active/enable.
* Change to create the cpu/queue mappings for the first RX when the
interface is created. Dont remove the cpu/queue mapping when the
interface is disconnected. Remove the cpu/queue mapping only when the
interface is deleted.
The create vhost user interface CLI also has some very expensive system
calls if the command is entered with the optional keyword "server"
As a bonus, This patch makes the create vhost user interface binary-api and
CLI thread safe. Do the protection for the small amount of code which is
thread unsafe.
Change-Id: I4a19cbf7e9cc37ea01286169882e5603e6d7eb77
Signed-off-by: Steven Luong <sluong@cisco.com>
Steven [Thu, 17 Jan 2019 23:11:29 +0000 (15:11 -0800)]
bond: packet drops on VPP bond interface [VPP-1544]
We register callback for VNET_HW_INTERFACE_LINK_UP_DOWN_FUNCTION and
VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION to add and remove the slave
interface from the bond interface accordingly. For static bonding without
lacp, one would think that it is good enough to put the slave interface into
the ective slave set as soon as it is configured. Wrong, sometimes the slave
interface is configured to be part of the bonding without ever bringing up the
hardware carrier or setting the admin state to up. In that case, we send
traffic to the "dead" slave interface.
The fix is to make sure both the carrier and admin state are up before we put
the slave into the active set for forwarding traffic.
Change-Id: I93b1c36d5481ca76cc8b87e8ca1b375ca3bd453b
Signed-off-by: Steven <sluong@cisco.com>
(cherry picked from commit
e43278f75fe3188551580c7d7991958805756e2f)
Damjan Marion [Thu, 20 Dec 2018 09:44:47 +0000 (10:44 +0100)]
virtio: fix kick race issue [VPP-1489]
Change-Id: I25b2a28513821bc5eab9ac6890a3964d412b0399
Signed-off-by: Damjan Marion <damarion@cisco.com>
(cherry picked from commit
e40231b1ecf4b49faaa9ce7b615a7d867104825b)
Florin Coras [Thu, 27 Dec 2018 17:07:32 +0000 (09:07 -0800)]
install-dep: force osleap boost dep install
jobs in stable/1810 failed to verify even after many rechecks. This is found in the failure log from https://gerrit.fd.io/r/#/c/16728/
13:01:56 2 Problems:
13:01:56 Problem: libboost_headers1_68_0-devel-1.68.0-lp150.243.1.x86_64 conflicts with namespace:otherproviders(libboost_headers-devel) provided by libboost_headers-devel-1.69.0-lp150.1.1.noarch
13:01:56 Problem: libboost_thread1_68_0-devel-1.68.0-lp150.243.1.x86_64 conflicts with namespace:otherproviders(libboost_thread-devel) provided by libboost_thread-devel-1.69.0-lp150.1.1.noarch
13:01:56
13:01:56 Problem: libboost_headers1_68_0-devel-1.68.0-lp150.243.1.x86_64 conflicts with namespace:otherproviders(libboost_headers-devel) provided by libboost_headers-devel-1.69.0-lp150.1.1.noarch
13:01:56 Solution 1: Following actions will be done:
13:01:56 deinstallation of libboost_headers1_68_0-devel-1.68.0-lp150.243.1.x86_64
13:01:56 deinstallation of libboost_chrono1_68_0-devel-1.68.0-lp150.243.1.x86_64
13:01:56 deinstallation of libboost_date_time1_68_0-devel-1.68.0-lp150.243.1.x86_64
13:01:56 Solution 2: do not install libboost_headers-devel-1.69.0-lp150.1.1.noarch
13:01:56
13:01:56 Choose from above solutions by number or skip, retry or cancel [1/2/s/r/c] (c): c
13:01:56 make: *** [Makefile:315: install-dep] Error 4
A test patch was created to include both 16631 and 16728 as found in https://gerrit.fd.io/r/#/c/16986/
The job was verified successfully. It proves to me that stable/1810 is missing 16631.
Change-Id: I4a053f41eef138fc0e6db7e2650860c0ac999552
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
(cherry picked from commit
223548d479c0bde67aa8d05a1f0f13e0afb0aab1)
juraj.linkes [Tue, 4 Dec 2018 12:03:15 +0000 (13:03 +0100)]
Fix vat dependencies
Needed for arm machines in CI.
Change-Id: Ib16a8b63e145116c7cb22376243e9026d9545c8a
Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
(cherry picked from commit
a409f2729ac2431aeee5a18889b4d2e5634c713f)
Zhiyong Yang [Thu, 13 Dec 2018 06:09:40 +0000 (14:09 +0800)]
ip4_rewrite_inline: fix variable error
Change-Id: I0470b4b13095583fe018f565f100342fab45715e
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
(cherry picked from commit
b2ecc5d4156467c785c28493d614e874bc287cbd)
Dave Barach [Fri, 30 Nov 2018 21:46:29 +0000 (16:46 -0500)]
Delete shared memory segment files when vpp starts
Should have been done this way years ago. My bad.
Change-Id: Ic7bf937fb6c4dc5c1b6ae64f2ecf8608b62e7039
Signed-off-by: Dave Barach <dave@barachs.net>
(cherry picked from commit
b2204671dad112e3195771854b4ef00bb388d4e6)
Filip Tehlar [Fri, 30 Nov 2018 15:27:27 +0000 (07:27 -0800)]
Add UDP encap flag
Change-Id: Ic6a8b9aaec7e5dee4fb1971168988dbe4f931f86
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Neale Ranns [Tue, 4 Dec 2018 09:39:40 +0000 (09:39 +0000)]
MPLS: buffer over-run with incorrectly init'd vector. fix VAT dump
Change-Id: Ifdbb4c4cffd90c4ec8b39513d284ebf7be39eca5
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit
44cea225e2238a3c549f17f315cd1fbc6978c277)
Neale Ranns [Fri, 30 Nov 2018 09:15:11 +0000 (09:15 +0000)]
IPSEC-AH: fix packet drop
Change-Id: I45b97cfd0c3785bfbf6d142d362bd3d4d56bae00
Signed-off-by: Neale Ranns <nranns@cisco.com>
Onong Tayeng [Fri, 23 Nov 2018 10:03:41 +0000 (15:33 +0530)]
Fix permission for vpp_papi
The permission for the top-level vpp_papi dir under
/usr/lib/python2.7/site-packages is set to 644 which means that
non-root users cannot import vpp_papi. As a result, devstack setup
with VPP/networking-vpp fails since it is run as non-root user.
Change-Id: Id85b468b2dcc92efb3a64c51ffb23ef6d596e4ad
Signed-off-by: Onong Tayeng <otayeng@cisco.com>
(cherry picked from commit
9b0ce0215b6e699851a3b54fb2a7003800ca53e4)
Andrew Yourtchenko [Fri, 23 Nov 2018 08:22:10 +0000 (09:22 +0100)]
acl-plugin: fix coverity error that the fix related for [VPP-1502] has triggered
Fix the trivial use-before-check copypaste error.
There was a more subtle issue with that patch that Coverity didn't notice:
namely, vec_validate(v, len-1) is a terrible idea if len happens to be == 0.
Fix that.
Change-Id: I0fab8b1750e9e9973eefb5d39f35e4c3a13fc66f
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit
e0152461cbc84d6d4df3f05dddabe992c1c59052)
Matus Fabian [Thu, 22 Nov 2018 08:12:15 +0000 (00:12 -0800)]
NAT44: improve expired sessions reuse (VPP-1503)
Change-Id: Iab506f127136c94a641df31ded108016de26260b
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Andrew Yourtchenko [Wed, 21 Nov 2018 07:56:53 +0000 (08:56 +0100)]
acl-plugin: optimize hash memory usage + fix the startup config parsing for memory sizes [VPP-1502]
In a couple of places vec_add1()-style was repeatedly called in a loop for
smallish vectors where the number of additions was known in advance.
With a test with large number of ACEs these numbers contribute to heap
fragmentation noticeably.
Minimize the number of allocations by preallocating the known size and
then resetting the length accordingly, and then calling vec_add1()
Also unify the parsing of the memory-related startup config parameters.
Change-Id: If8fba344eb1dee8f865ffe7b396ca3b6bd9dc1d0
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit
94f509615eb97cebc9192e7290c84cf166518039)
Matus Fabian [Wed, 21 Nov 2018 12:53:10 +0000 (04:53 -0800)]
NAT44: Apply transitory timeout on TCP RST (VPP-1494)
RFC7857 section 2.2.
Change-Id: I031af5fe379b72262e83fd8565c34fa1b772f2c8
Signed-off-by: Matus Fabian <matfabia@cisco.com>
(cherry picked from commit
15e8e681813a2e88dad107b5fe238bc8abee17d2)
Matus Fabian [Tue, 20 Nov 2018 10:19:05 +0000 (02:19 -0800)]
NAT44: fix virtual fragmentation reassembly in forwarding mode (VPP-1501)
Change-Id: Id86d8aa8753b9b2ff4c709b11e3901ba8d552918
Signed-off-by: Matus Fabian <matfabia@cisco.com>
(cherry picked from commit
111add7e5d6581bb4eca05cc862a651ff6a09792)
Matus Fabian [Fri, 16 Nov 2018 12:41:31 +0000 (04:41 -0800)]
NAT44: fix bug in TCP close with output-feature interface (VPP-1493)
Change-Id: If8c883d6b1ee58de9a03012d3567ec82211a0225
Signed-off-by: Matus Fabian <matfabia@cisco.com>
(cherry picked from commit
6c01dceea5c612373453db7f1ccda589a2cd782e)
Matus Fabian [Wed, 7 Nov 2018 07:17:31 +0000 (23:17 -0800)]
NAT44: fix undesired dependency between static mapping and address from the pool (VPP-1485)
Change-Id: Iaa404361eac2a6612dcdaba3f73bae41a35c5446
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Filip Varga [Fri, 2 Nov 2018 12:51:44 +0000 (13:51 +0100)]
VPP-1450: binary api call for dumping SPD to interface registration
Change-Id: Idd4a5f8bab5d39e5f33f5c130601175af70a20d4
Signed-off-by: Filip Varga <filip.varga@pantheon.tech>
Signed-off-by: Dave Barach <dave@barachs.net>
Damjan Marion [Wed, 31 Oct 2018 09:59:02 +0000 (10:59 +0100)]
vlib: define minimum chained buffer segment size
Change-Id: I9b5f7b264f9978e3dd97b2d1eb103b7d10ac3170
Signed-off-by: Damjan Marion <damarion@cisco.com>
(cherry picked from commit
bd0da97e5ac0f84e1ea8e6e7f9549dd4e1a6a4ab)
Neale Ranns [Fri, 31 Aug 2018 09:51:45 +0000 (02:51 -0700)]
Use throttle_t for ND throttling (VPP-1480)
Change-Id: I93c6b7bccd1a1ab71625ae29c99c974581186c4d
Signed-off-by: Neale Ranns <nranns@cisco.com>
Yichen Wang [Wed, 31 Oct 2018 05:52:15 +0000 (22:52 -0700)]
Makefile: support both RHEL and CentOS in install-dep (VPP-1481)
Change-Id: I31fd8700bfac462944b7621947edd3710fd247b9
Signed-off-by: Yichen Wang <yicwang@cisco.com>
Steven [Tue, 23 Oct 2018 05:03:34 +0000 (22:03 -0700)]
vmxnet3: add logging support to the control plane [VPP-1470]
There are different flavors of vmxnet3 device, esxi server, vm fusion, vmware
workstation, and vmware player, that we need to communicate with. Each of
them also has different versions. We really need the control plane logging
to debug when things don't work as expected.
Change-Id: Idab6896e3d8bf841f1cd877c13a21531fa110568
Signed-off-by: Steven <sluong@cisco.com>
Marco Varlese [Thu, 18 Oct 2018 07:19:15 +0000 (09:19 +0200)]
Release Notes for 18.10
Change-Id: I3500113f30d6d98eae69d39b59b90569c796e011
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
Juraj Sloboda [Tue, 16 Oct 2018 10:18:21 +0000 (12:18 +0200)]
Fix buffer overflow when fragmenting packets (VPP-1383)
Change-Id: Idcda9ae55fa2efb0b2e928bac3e8e86ff8d19eba
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
Ole Troan [Mon, 22 Oct 2018 07:41:29 +0000 (09:41 +0200)]
stats: Add wrapper for vec_free
The result vector from stat_segment_ls must be freed
by the caller. Add wrapper for non-C language bindings.
Change-Id: I7eee7f80ec98b41696d354add47b26978e12ef0f
Signed-off-by: Ole Troan <ot@cisco.com>
(cherry picked from commit
8254018c21bbdbbc11225ebc444b1d072606caf7)
Florin Coras [Sun, 21 Oct 2018 17:50:48 +0000 (10:50 -0700)]
lisp-gpe: register udp port only if enabled (VPP-1468)
Change-Id: I7d0930a19d927bbd7ba3fc879d5a0c8064827629
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Sat, 20 Oct 2018 00:49:00 +0000 (17:49 -0700)]
tcp: count first lost hole (VPP-1465)
Change-Id: I3ac136e2a10796d8fa86ddb6f0d6cabe5fa749f8
Signed-off-by: Florin Coras <fcoras@cisco.com>
Matus Fabian [Fri, 19 Oct 2018 11:01:19 +0000 (04:01 -0700)]
NAT44: fix ICMP virtual fragmentation reassembly (VPP-1466)
Change-Id: I8006bca02948d9121f474a3d14f0576747bb3c51
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Jakub Grajciar [Tue, 9 Oct 2018 10:28:21 +0000 (12:28 +0200)]
Test FW: Use unittest temp dir as unix runtime dir
Change-Id: I5273d5f3f59cc3c43da0a15bb0c4a4056098adcf
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
(cherry picked from commit
997439170aa3bb562c84e882c45331ba476e7c8e)
Florin Coras [Wed, 17 Oct 2018 21:53:11 +0000 (14:53 -0700)]
tls: fix connection failures/interrupts at scale (VPP-1464)
Change-Id: I0bc4062c1fd3202ee201acb36a2bb14fc6ee1543
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit
c01d578a625fb136bc33b0eb9c19907769a67989)
Florin Coras [Thu, 18 Oct 2018 06:34:54 +0000 (23:34 -0700)]
tcp: fix sacks lost bytes counting (VPP-1465)
Change-Id: Ie46b3a81de4ed39b7b40e3879436f7e5a2908d98
Signed-off-by: Florin Coras <fcoras@cisco.com>
Marco Varlese [Thu, 18 Oct 2018 07:37:17 +0000 (09:37 +0200)]
Update version (18.10) for API changes script
Change-Id: I41d22bfc87849e923628de08f922f7a541579fe1
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
Florin Coras [Wed, 17 Oct 2018 17:41:28 +0000 (10:41 -0700)]
tcp: fix cleanup of non established connections (VPP-1463)
- fix delete of connection in syn-received
- fix delete of half-open connection
Change-Id: I72ff4b60406a2762d998328c52f41adea40d2c1b
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Wed, 17 Oct 2018 03:30:31 +0000 (20:30 -0700)]
tcp: fix multiple fin retries (VPP-1461)
Change-Id: I1be7c59df7b48875f81ebeebf5f39ed15a43d2d8
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit
c977e7c100f5727183f9452e2c0d086623a21d15)
Eyal Bari [Wed, 17 Oct 2018 14:13:42 +0000 (17:13 +0300)]
vxlan:decap caching error (VPP-1462)
Change-Id: I3ef0725684bcb8ea526abe0ce62562b35a0070f5
Signed-off-by: Eyal Bari <ebari@cisco.com>
Michal Cmarada [Wed, 17 Oct 2018 11:40:32 +0000 (13:40 +0200)]
fix ip6 prefix check for tap_v2
Change-Id: Ifbb1393fc3c50c140c09e8baedcd4a92189ba56e
Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
Marco Varlese [Wed, 17 Oct 2018 09:21:32 +0000 (11:21 +0200)]
Update to doxygen documentation for release 18.10
Change-Id: Id8eebd59bad27ac3cc46bf993a5ca1d8410bf84c
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
Florin Coras [Wed, 17 Oct 2018 02:52:10 +0000 (19:52 -0700)]
tcp: avoid sack processing when not needed (VPP-1460)
Change-Id: If81ee34e1f1e929de1a5b758ddb9aede4002e858
Signed-off-by: Florin Coras <fcoras@cisco.com>
mu.duojiao [Wed, 17 Oct 2018 02:59:09 +0000 (10:59 +0800)]
VPP-1459:Ip4 lookup fail when exist prefix cover.
Change-Id: I4ba0aeb65219596475345e42b8cd34019f5594c6
Signed-off-by: mu.duojiao <mu.duojiao@zte.com.cn>
(cherry picked from commit
9744e6d0273c0d7d11ab4f271c8694f69d51ccf3)
Florin Coras [Tue, 16 Oct 2018 04:35:42 +0000 (21:35 -0700)]
tls: fix multi threaded medium scale test (VPP-1457)
- ensure session enqueue epoch does not wrap between two enqueues
- use 3 states for echo clients app, to distinguish between starting and
closing phases
- force tcp fin retransmit if out of buffers while sending a fin
Change-Id: I6f2cab46affd1148aba2a33fb6d58bcc54f32805
Signed-off-by: Florin Coras <fcoras@cisco.com>
Andrew Yourtchenko [Tue, 16 Oct 2018 15:18:26 +0000 (17:18 +0200)]
acl-plugin: tuplemerge: refresh the pointer to hash-readied ACL entries per each collision in split_partition() (VPP-1458)
A pointer to hash-ready ACL rules is only set once, which might cause a crash if there are colliding entries
from more than one ACL applied.
Solution: reload the pointer based on the element being processed.
Change-Id: I7a701c2c3b4236d67293159f2a33c4f967168953
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Florin Coras [Sat, 13 Oct 2018 19:20:01 +0000 (12:20 -0700)]
vcl: fix bidirectional tests (VPP-1455)
- add epoll dequeued events beyond maxevents to unhandled
- filter multiple epoll rx events
Change-Id: I618f5f02b19581473de891b3b59bb6a0faad10b5
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit
aa27eb95b7ee3bb69b62166d5e418e973cbbdcfa)
Steven [Fri, 12 Oct 2018 17:21:32 +0000 (10:21 -0700)]
vmxnet3: show vmxnet3 with filtering capability [VPP-1452]
show vmxnet3 desc may display 5000 lines of output since it has 5 tables. Each
table may have 1000 entries. It would not be very useful to debug problem.
We need filtering capability for the subject show command. We need to be able
to display the descriptor table per interface, per interface per table, and
per interface per table per slot. The latter is the most useful.
tested the following valid combinations
show vmxnet3
show vmxnet3 desc
show vmxnet3 vmxnet3-0/13/0/0
show vmxnet3 vmxnet3-0/13/0/0 desc
show vmxnet3 vmxnet3-0/13/0/0 rx-comp
show vmxnet3 vmxnet3-0/13/0/0 rx-comp 1
show vmxnet3 vmxnet3-0/13/0/0 tx-comp
show vmxnet3 vmxnet3-0/13/0/0 tx-comp 1
show vmxnet3 vmxnet3-0/13/0/0 rx-desc-0
show vmxnet3 vmxnet3-0/13/0/0 rx-desc-0 1
show vmxnet3 vmxnet3-0/13/0/0 rx-desc-1
show vmxnet3 vmxnet3-0/13/0/0 rx-desc-1 1
show vmxnet3 vmxnet3-0/13/0/0 tx-desc
show vmxnet3 vmxnet3-0/13/0/0 tx-desc 1
negative tests and command is rejected
show vmxnet3 abc
show vmxnet3 desc abc
show vmxnet3 vmxnet3-0/13/0/0 abc
show vmxnet3 vmxnet3-0/13/0/0 desc abc
show vmxnet3 vmxnet3-0/13/0/0 rx-comp abc
show vmxnet3 vmxnet3-0/13/0/0 rx-comp 1 abc
Change-Id: I0ff233413496e58236f8fb4a94e493494c20c5cb
Signed-off-by: Steven <sluong@cisco.com>
Steven [Mon, 15 Oct 2018 17:22:53 +0000 (10:22 -0700)]
vmxnet3: vmxnet3_test_plugin.so: undefined symbol: format_vlib_pci_addr [VPP-1456]
When using vpp_api_test, there is an undefined symbol error for
format_vlib_pci_addr when vmxnet3_test_plugin.so is loaded.
The cause is due to vlib not included in vpp_api_test. Remove the reference
for vlib.so in vmxnet3_test.
Change-Id: I37c00dfe2f843d99ad6c4fc7af6ed10bac4c2df8
Signed-off-by: Steven <sluong@cisco.com>
mu.duojiao [Thu, 11 Oct 2018 06:27:30 +0000 (14:27 +0800)]
VPP-1448: Fix error when recurse on down the trie.
Change-Id: Idfed8243643780d3f52dfe6e6ec621c440daa6ae
Signed-off-by: mu.duojiao <mu.duojiao@zte.com.cn>
(cherry picked from commit
59a829533c1345945dc1b6decc3afe29494e85cd)
Eyal Bari [Sun, 14 Oct 2018 07:54:32 +0000 (10:54 +0300)]
vxlan:fix ip6 tunnel deletion
Change-Id: I70fb7394f85b26f7e632d74fc31ef83597efdd16
Signed-off-by: Eyal Bari <ebari@cisco.com>
(cherry picked from commit
f8d5e214687c17fba000607336295e054672459d)
Florin Coras [Fri, 12 Oct 2018 20:09:36 +0000 (13:09 -0700)]
vcl: fix empty epoll returns (VPP-1453)
Change-Id: I0b191ddb749b1aa132c2d33b8359c146b36d27af
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Fri, 12 Oct 2018 23:55:14 +0000 (16:55 -0700)]
session: don't wait indefinitely for apps to consume evts (VPP-1454)
Change-Id: I544b24d2b2c4a09829773cf180d1747f4b087d4c
Signed-off-by: Florin Coras <fcoras@cisco.com>
Neale Ranns [Tue, 2 Oct 2018 14:27:02 +0000 (07:27 -0700)]
L2-flood: no clone for 1 replication
Change-Id: If178dd38e7920f35588f5d821ff097168b078026
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit
b9fa29d513bfad0d9f18e8ed8c2da3feaa6d3bf0)
Steven [Wed, 10 Oct 2018 04:12:25 +0000 (21:12 -0700)]
vmxnet3: better error handling [VPP-1449]
try harder on output - if there is no descriptor space available, try to free
up some and check again.
make sure we free the buffer if error is encountered on input.
Change-Id: I41a45213e29de71935afe707889e515037cd081f
Signed-off-by: Steven <sluong@cisco.com>
(cherry picked from commit
8b0995366110ff8c97d1d10aaa8291ad465b0b2f)
Eyal Bari [Thu, 11 Oct 2018 11:09:58 +0000 (14:09 +0300)]
bfd:fix handling session creation batch
when multiple session creating script is ran (via exec) only the first
one actually starts
Change-Id: I0fc36f65795c8921cf180e0b555c446e5a80be45
Signed-off-by: Eyal Bari <ebari@cisco.com>
(cherry picked from commit
0db9b04cf0f9c892a00988e7a61ae703aa83b721)
Ole Troan [Thu, 11 Oct 2018 20:08:50 +0000 (22:08 +0200)]
Stats: Include stat_segment.h in packages.
Change-Id: I976c0aba8397badf64763c4dbddce67009a4fb23
Signed-off-by: Ole Troan <ot@cisco.com>
Neale Ranns [Wed, 10 Oct 2018 13:27:00 +0000 (13:27 +0000)]
Integer underflow and out-of-bounds read (VPP-1442)
Change-Id: Ife2a83b9d7f733f36e0e786ef79edcd394d7c0f9
Signed-off-by: Neale Ranns <nranns@cisco.com>
Matus Fabian [Thu, 11 Oct 2018 11:28:48 +0000 (04:28 -0700)]
NAT44: identity NAT fix (VPP-1441)
Change-Id: Ic4affc54d15d08b9b730f6ec6146ee053b28b4b6
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Andrew Yourtchenko [Wed, 10 Oct 2018 08:39:36 +0000 (10:39 +0200)]
acl-plugin: reduce the syslog level for debug messages (VPP-1443)
Change-Id: Ie8380cb39424548bf64cb19aee59ec20e29d1e39
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Andrew Yourtchenko [Wed, 10 Oct 2018 14:15:55 +0000 (16:15 +0200)]
vnet: complete the fix for l3_hdr_offset calculation for single loop fastpass case (VPP-1444)
20e6d36b has moved the calculation of the l3_hdr_offset into the determine_next_node()
function, with the assumption that the current_data in the buffer is at
the L3 header. This is not the case for the single loop fastpath,
where the vlib_buffer_advance() call is made after the call to
determine_next_node(), as a day1 behavior. As a result - that path
incorrectly sets the l3_hdr_offset.
Solution: move the vlib_buffer_advance() call to before determine_next_node()
Change-Id: Id5eaa084c43fb6564f8239df4a0b3dc0412b15de
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Damjan Marion [Thu, 11 Oct 2018 16:18:26 +0000 (09:18 -0700)]
Fix vpp-ext-deps package version in stable branch
Change-Id: Ifb33622b50113501f1d23ab94ba9da708678d6be
Signed-off-by: Damjan Marion <damarion@cisco.com>
Marco Varlese [Wed, 10 Oct 2018 07:38:07 +0000 (09:38 +0200)]
Update .gitreview for stable 18.10 branch
Change-Id: I9f3d551acad6fd2fdd733f7f49e8c75ef43ceebc
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
Sirshak Das [Tue, 9 Oct 2018 16:28:44 +0000 (11:28 -0500)]
vppinfra: Fix extendto_high aarch64 NEON api.
This fixes the l2BD and ip4 test case failures.
Fixes VPP-1432, VPP-1428, VPP-1430
Change-Id: I48b5c961bab60cc3b39fcd6db47e098c81579480
Signed-off-by: Sirshak Das <sirshak.das@arm.com>
Jakub Grajciar [Tue, 9 Oct 2018 08:02:46 +0000 (10:02 +0200)]
memif: coverity fix
Change-Id: I2b14e2a035a37b04816aac1e610146be58ad1e92
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Ole Troan [Mon, 8 Oct 2018 09:24:22 +0000 (11:24 +0200)]
API: Spurious timeouts from timeout thread.
Change-Id: I1be1101ba4d82688a32b5ae2c39ca5d92dc244b7
Signed-off-by: Ole Troan <ot@cisco.com>
Andrew Yourtchenko [Fri, 5 Oct 2018 18:36:03 +0000 (20:36 +0200)]
vnet: ethernet-input incorrectly sets l3_hdr_offset in some cases
The issue surfaced when developing the tap GSO code, with
an iteration where output path is reliant on
vnet_buffer (b0)->l3_hdr_offset being set correctly in
the input path, during performance testing.
Adding a workaround in the TX path shows that
the issue surfaces only for relatively few packets
during the test (about 100 out of 600000).
Analysis shows the issue arises if the ethernet-input
is handling two untagged packets with different sw_if_index
values - then the accelerated path punts to slow path,
before the setting of the l2.l2_len values is done,
thus resulting in them being 0, and l3_hdr_offset being
the same as l2_hdr_offset, wreaking havoc on TX path.
The solution is to move the l2_hdr_offset calculation
into a place where it is done for all the packets,
and move the l3_hdr_offset calculation into
the determine_next_node() function - as that function is
also the one setting the special-case l2.l2_len value for
tagged packets and moving the current_data for the L2 case.
Change-Id: If728c7715e011930c1887691188c98055bddde67
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Jakub Grajciar [Mon, 8 Oct 2018 11:35:32 +0000 (13:35 +0200)]
memif: socket filename add/del bugfix
Check access rights using effective user/group IDs
Change-Id: I3683258c24bcd7817024bffbd56b54b2f596fdd7
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Vijayabhaskar Katamreddy [Fri, 5 Oct 2018 18:24:56 +0000 (11:24 -0700)]
Adding Multipath support for exclusive DPO based fib path entries via rpath
Change-Id: I3c84daf046dbad972b36e48fa2548bbe20c7b338
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
Hongjun Ni [Mon, 8 Oct 2018 10:28:37 +0000 (18:28 +0800)]
Fix coverity issue for NSH plugin
Change-Id: Ie99ff9aebe3c896e3e104a5a7bebd84f7766e713
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
Ole Troan [Mon, 8 Oct 2018 07:16:44 +0000 (09:16 +0200)]
Stats: prometheus export coverity errors.
Change-Id: Ibc0a25dcf7d734215e0cffe789b5726f23e1c3d7
Signed-off-by: Ole Troan <ot@cisco.com>
Matus Fabian [Mon, 8 Oct 2018 04:28:23 +0000 (21:28 -0700)]
NAT44: do not create session record for identity mapping (VPP-1439)
Change-Id: I39a3146a4e4ba8eadf50af7113b9ae6b1c1d688f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Neale Ranns [Mon, 8 Oct 2018 06:08:59 +0000 (06:08 +0000)]
replicate trace fix
Change-Id: I785ecadbf30812a500629870aa717e64f4cf0cdd
Signed-off-by: Neale Ranns <nranns@cisco.com>
Florin Coras [Fri, 5 Oct 2018 07:50:30 +0000 (00:50 -0700)]
vcl: cleanup and fixes for vcl test code
- better approximate time when test finishes
- move common vcl and sock test code to vcl_test.h
- overall refactor of variable names
Change-Id: I8e6b43fc017cd05a0ddaa3891767a44fb300c09e
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Sat, 6 Oct 2018 20:49:16 +0000 (13:49 -0700)]
vcl: use want_tx_evt for ct sessions
Change-Id: Id46c651c41b1c633326081583ee3383e27ef475d
Signed-off-by: Florin Coras <fcoras@cisco.com>
Steven [Sun, 7 Oct 2018 05:30:50 +0000 (22:30 -0700)]
bond: active-backup mode is using the wrong load balance algo
active-backup mode is using l2 load balance algo. It should be using
active-backup. Also notice that the output is missing a character.
vpp# create bond mode active-backup
create bond mode active-backup
vpp# sh bond
sh bond
interface name sw_if_index mode load balance active slaves slaves
BondEthernet0 6 xor l34 2 2
BondEthernet1 9 xor l34 1 1
BondEthernet2 10 active-backu l2 0 0
vpp#
Change-Id: If5ed0cc6c25f6c2ddabec15ff6188b34923d38e3
Signed-off-by: Steven <sluong@cisco.com>
Damjan Marion [Fri, 5 Oct 2018 14:46:00 +0000 (16:46 +0200)]
vfio: don't display error if no pci devices are assigned to container
Change-Id: I21429ce084cfd39af6a9997b4c1e459f5a6ef672
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Wed, 26 Sep 2018 08:15:41 +0000 (10:15 +0200)]
bond: tx perf improvement, part trois
Introduce bond_tx_inline which takes lb as a constant for gcc to do the optimization
The number appears a tad better for 256 bytes frame.
with the patch
--------------
Thread 2 vpp_wk_1 (lcore 3)
Time 4.3, average vectors/node 224.00, last 128 main loops 40.00 per node 222.61
vector rates in 8.4836e6, out 1.6967e7, drop 0.0000e0, punt 0.0000e0
Name State Calls Vectors Suspends Clocks Vectors/Call
BondEthernet0-output active 141054
36109824 0 2.51e1 256.00
BondEthernet0-tx active 141054
36109824 0 2.55e1 256.00
TenGigabitEthernet6/0/0-output active 141054
18055469 0 9.43e0 128.00
TenGigabitEthernet6/0/0-tx active 141054
18055469 0 6.97e1 128.00
TenGigabitEthernet6/0/1-output active 141054
18054355 0 9.54e0 127.99
TenGigabitEthernet6/0/1-tx active 141054
18054355 0 7.05e1 127.99
bond-input active 141054
36109824 0 1.76e1 256.00
dpdk-input polling 70527
36109824 0 5.03e1 512.00
ethernet-input active 141054
36109824 0 6.12e1 256.00
ip4-input active 141054
36109824 0 3.26e1 256.00
ip4-lookup active 141054
36109824 0 2.94e1 256.00
ip4-rewrite active 141054
36109824 0 3.27e1 256.00
without the patch
-----------------
Thread 2 vpp_wk_1 (lcore 3)
Time 4.3, average vectors/node 224.00, last 128 main loops 40.00 per node 222.61
vector rates in 8.4443e6, out 1.6889e7, drop 0.0000e0, punt 0.0000e0
Name State Calls Vectors Suspends Clocks Vectors/Call
BondEthernet0-output active 142744
36542464 0 2.51e1 256.00
BondEthernet0-tx active 142744
36542464 0 2.67e1 256.00
TenGigabitEthernet6/0/0-output active 142744
18270813 0 9.19e0 127.99
TenGigabitEthernet6/0/0-tx active 142744
18270813 0 6.98e1 127.99
TenGigabitEthernet6/0/1-output active 142744
18271651 0 9.43e0 128.00
TenGigabitEthernet6/0/1-tx active 142744
18271651 0 7.02e1 128.00
bond-input active 142744
36542464 0 1.76e1 256.00
dpdk-input polling 71372
36542464 0 5.08e1 512.00
ethernet-input active 142744
36542464 0 6.15e1 256.00
ip4-input active 142744
36542464 0 3.23e1 256.00
ip4-lookup active 142744
36542464 0 2.96e1 256.00
ip4-rewrite active 142744
36542464 0 3.28e1 256.00
Change-Id: I9fd43eda3c735cbff680ac6d2f01ecdae81f0eda
Signed-off-by: Damjan Marion <damarion@cisco.com>
Neale Ranns [Tue, 2 Oct 2018 14:28:16 +0000 (07:28 -0700)]
Source VRF Select tests
Change-Id: Id6c16462fccf890eaa0e526ad048e032c9da8800
Signed-off-by: Neale Ranns <nranns@cisco.com>
Dave Barach [Thu, 4 Oct 2018 21:12:26 +0000 (17:12 -0400)]
DOC ONLY: clean up plugin documentation
The old "sample_plugin" page was stuffed with superceded autotools
build information, so it morphed into an "add a new plugin" page based
on the emacs-lisp plugin generator.
Before sending hate mail about emacs, please *look* at the new
document: you'll find running the plugin generator hard to tell from
running a shell script.
Change-Id: I84da45675e838c05faeca05c8f7be45d8c7bff13
Signed-off-by: Dave Barach <dave@barachs.net>
Scott Keeler [Mon, 1 Oct 2018 18:50:57 +0000 (14:50 -0400)]
docs: add contiv vpp
Change-Id: I92227fc4968fc6a478beb7f38707b91e9f0635ec
Signed-off-by: Scott Keeler <skeeler@cisco.com>
Juraj Sloboda [Fri, 5 Oct 2018 11:06:36 +0000 (13:06 +0200)]
NAT: convert remaining clib_warning to nat_log_*
Change-Id: Ie999ab852cc3775ec90820624d97be746d2590a4
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
Paul Vinciguerra [Tue, 25 Sep 2018 17:02:07 +0000 (10:02 -0700)]
node_cli: Give the user a hint as to the problem.
tested with:
DBGvpp# show node foo
show node: unknown node name: 'foo'
DBGvpp# show node error-drop
node error-drop, type internal, state active, index 543
node function variants:
...
DBGvpp# show node error-drop bar
show node: unknown input 'bar'
Change-Id: I896cee9e60028a189dce83666fa4d32a14983a7b
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Florin Coras [Fri, 5 Oct 2018 02:03:05 +0000 (19:03 -0700)]
session: fix local session tagging and cleanup
Change-Id: I0d42a0c71fea7dd669fb1fe5ded7e6e944245c7d
Signed-off-by: Florin Coras <fcoras@cisco.com>
Juraj Sloboda [Thu, 4 Oct 2018 13:15:16 +0000 (15:15 +0200)]
vhost_user: Add test for interface states and events
Change-Id: I2c330945bb0b07f649f574a055bfbea455e5d0b3
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
John Lo [Thu, 4 Oct 2018 20:22:21 +0000 (16:22 -0400)]
On interface deletion - make sure any vlan qinq table is cleared
Change-Id: Ie9bb1cfce2369b448ca55a21b2f8b8bbbb81c59c
Signed-off-by: John Lo <loj@cisco.com>
Ian Wells [Thu, 4 Oct 2018 19:31:11 +0000 (12:31 -0700)]
Improve ip_mroute_add_del documentation
Change-Id: Ieb882cc67c37bf591b6c737234263c7c35416e6d
Signed-Off-By: Ian Wells <iawells@cisco.com>
Eyal Bari [Tue, 2 Oct 2018 09:23:06 +0000 (12:23 +0300)]
vxlan:ip4 decap:remove access to tunnel object
store local/remote addresses + vrf + vni in hash key
store complete decap info in hash value (sw_if_index + next_index +
error)
this removes the need to access the tunnel object when matching both
unicast and mcast.
however for mcast handling it requires 3 hash lookups:
* one failed unicast lookup (by src+dst addrs)
* lookup by mcast(dst) addr .
* unicast lookup (tunnel local ip as dst + pkt's src addr)
where previously it needed 2:
* lookup by src to find unicast tunnel + compare dst to local addr
(failing for mcast)
* lookup by mcast to find the mcast tunnel
Change-Id: I7a3485d130a54194b8f7e2df0431258db36eceeb
Signed-off-by: Eyal Bari <ebari@cisco.com>
Florin Coras [Thu, 4 Oct 2018 17:07:22 +0000 (10:07 -0700)]
vcl: fix test throughput computation
Change-Id: I78260cd1a412e93a5d6686888b6ea17f52245a4a
Signed-off-by: Florin Coras <fcoras@cisco.com>
Juraj Sloboda [Tue, 2 Oct 2018 09:13:53 +0000 (11:13 +0200)]
Support reassembly for fragments coming to ip4-local node
Change-Id: I3aa4708c1c3cdda344f282d56b617677080eaaa1
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
Andrew Yourtchenko [Thu, 4 Oct 2018 13:11:01 +0000 (15:11 +0200)]
acl-plugin: tuplemerge: avoid batch-resize of the applied entries vector - VPP-1352
If the number of rules within a given partition exceeds the limit,
the split_partition() might get called, in which we calculate
the relaxed mask, create a new partition with that mask and
attempt to reallocate some entries from the overcrowded partition.
The non-TM code was pre-expanding the vector with rules by
the number of rules in the new ACL being applied - which
caused the split_partition() to iterate over the rules
filled with zeroes. Most of the time it is benign, but
if a newly created relaxed partition is such that these
entries can be "relocated", then the code attempts to
do so, which does not end well.
Change-Id: I2dbf3ccd29ff97277b21cdb11c4424ff0915c3b7
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Florin Coras [Wed, 3 Oct 2018 21:29:10 +0000 (14:29 -0700)]
udp_echo: fix cut-through server mode
Change-Id: I20dd2071c936eb2c1870d45860553007c8e20587
Signed-off-by: Florin Coras <fcoras@cisco.com>
Neale Ranns [Thu, 4 Oct 2018 15:36:56 +0000 (08:36 -0700)]
MFIB-API: when programming an (S,G) fix the grp-len
Change-Id: I97052d29080501de53fe95499c860faf0765e81d
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Neale Ranns [Wed, 3 Oct 2018 18:13:27 +0000 (14:13 -0400)]
clib_count_equal_*: don't read of the end of a small array and init data only if used (VPP-1429)
Change-Id: I8afa57ecca590698d3430746968aa0a5b0070469
Signed-off-by: Neale Ranns <nranns@cisco.com>
Marco Varlese [Thu, 4 Oct 2018 09:52:44 +0000 (11:52 +0200)]
VPP-1430: remove unnecessary padding
A copy/paste mistake caused to add padding to the buffer used to send
data.
Change-Id: I04d8dfec4ae195927be1675c5ce8b30230d5b376
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
John Lo [Wed, 3 Oct 2018 20:32:44 +0000 (16:32 -0400)]
Fix handling of mpls_tunnel_add_del API
Handles next_hop_weight, next_hop_preference and next_hop_table_id
properly in vl_api_mpls_tunnel_add_del_t_handler(). Also updated
vpp_api_test and custom_dump handling of related APIs.
Change-Id: I89e211bfa3b9d8ead396b24b3c46b7c7f6511f44
Signed-off-by: John Lo <loj@cisco.com>
Steven [Wed, 3 Oct 2018 22:25:13 +0000 (15:25 -0700)]
vmxnet3: coverity woe
Coverity complains that hb might be null when !prev_b0 is true. It may be right, but not likely.
To make the code more explicit when it parses a complete packet, set got_packet = 1 and test
got_packet instead of prev_b0 which is somewhat obscure.
Use vlib_buffer_free_one rather than vlib_buffer_free_no_next in output.c which takes care of
chain buffers.
Change-Id: I6e0587605fdc622c3f55fedd74c474666631ed91
Signed-off-by: Steven <sluong@cisco.com>
Dave Barach [Wed, 3 Oct 2018 21:41:29 +0000 (17:41 -0400)]
LISP ONLY: maintain the make-plugin.sh script
Make sure it's invoked in .../src/plugins
Change-Id: I85a05dbd863f3254c017962f635d505482548979
Signed-off-by: Dave Barach <dave@barachs.net>
Dave Barach [Wed, 3 Oct 2018 20:10:04 +0000 (16:10 -0400)]
LISP ONLY: maintain the emacs lisp plugin generator
Add a generator for CMakeLists.txt, remove autotools input generator.
Add missing extern declarations for node registrations in <plugin-name>.h.
Remove extern from the <plugin-name>_main_t declaration in
<plugin-name>.c, so it won't come up undefined at runtime.
Reposition forward node declaration relative to CLIB_MARCH_VARIANT
conditional, to avoid multiple definition / "<plugin-name>_node
changed size from X to Y" warnings.
Change-Id: I8cc00bca5c40fa3ea00549411a3a9027f97a4826
Signed-off-by: Dave Barach <dave@barachs.net>
Andrew Yourtchenko [Wed, 3 Oct 2018 09:38:31 +0000 (11:38 +0200)]
test framework: add shell-style wildcard matching to filenames
Currently, one can either use "*" to denote all filenames,
or to give the specific file name to run the tests in.
This commit adds the possibility to run all tests
matching the shell wildcard, e.g. TEST="test_acl_plugin*"
will execute all ACL plugin testcases.
Change-Id: I9048a601958947c7b757c3dfd57b19cdd8a1e3c0
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Klement Sekera [Wed, 26 Sep 2018 09:19:00 +0000 (11:19 +0200)]
ipsec: add missing ipv6 ah code & ipv6 tests
Change-Id: I89e90193ded1beb6cb0950c15737f9467efac1c3
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Florin Coras [Wed, 3 Oct 2018 08:00:57 +0000 (01:00 -0700)]
session: fix first segment manager cleanup
Change-Id: I750db7617ff9fd36647743094e0fa855e7dada86
Signed-off-by: Florin Coras <fcoras@cisco.com>
Juraj Sloboda [Wed, 3 Oct 2018 14:00:21 +0000 (16:00 +0200)]
memif: include interface name in logs
Change-Id: I67f58aa93c721dbd518cc2ddcea330006693662f
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>