6373 Commits

Author SHA1 Message Date
Dave Wallace
d95a226047 19.04.2 Release Notes
Change-Id: I1ee3909e042e56fd4caf3732762e9a9276aa6db1
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
v19.04.2
2019-07-24 16:57:48 -04:00
Dave Barach
b71b5ffbfb api: binary api cleanup
Multiple API message handlers call vnet_get_sup_hw_interface(...)
without checking the inbound sw_if_index. This can cause a
pool_elt_at_index ASSERT in a debug image, and major disorder in a
production image.

Given that a number of places are coded as follows, add an
"api_visible_or_null" variant of vnet_get_sup_hw_interface, which
returns NULL given an invalid sw_if_index, or a hidden sw interface:

-  hw = vnet_get_sup_hw_interface (vnm, sw_if_index);
+  hw = vnet_get_sup_hw_interface_api_visible_or_null (vnm, sw_if_index);
   if (hw == NULL || memif_device_class.index != hw->dev_class_index)
     return clib_error_return (0, "not a memif interface");

Rename two existing xxx_safe functions -> xxx_or_null to make it
obvious what they return.

Type: fix

Change-Id: I29996e8d0768fd9e0c5495bd91ff8bedcf2c5697
Signed-off-by: Dave Barach <dave@barachs.net>
(cherry picked from commit 3940de36728b768574a3e998389bb90d55f690d1)
2019-07-24 08:14:39 -04:00
Steven Luong
9fb50d83db devices: vhost handling VHOST_USER_SET_FEATURES
Some combinations of new qemu (2.11) and old dpdk (16.10) may
send VHOST_USER_SET_FEATURES at the end of the protocol exchange
which the vhost interface is already declared up and ready.
Unfortunately, the process of VHOST_USER_SET_FEATURES will cause
the interface to go down. Not sure if it is correct or needed.
Because there is no additional messages thereafter, the hardware
interface stays down.

The fix is to check the interface again at the end of processing
VHOST_USER_SET_FEATURES. If it is up and ready, we bring back
the hardware interface.

Type: fix

Change-Id: I490cd03820deacbd8b44d8f2cb38c26349dbe3b2
Signed-off-by: Steven Luong <sluong@cisco.com>
(cherry picked from commit 545866b5b3115b7de114bdb7883f5ece59b702d4)
2019-07-23 18:02:35 +00:00
Dave Barach
996a757ff9 api: Disable tracing of memclnt_keepalive messages
A waste of binary API trace space; an otherwise idle control-plane
will eventually fill the api trace buffer with them.

Type: fix
Ticket: VPP-1725

Change-Id: Id8338ea4070cd76481595005986efc558f0694e6
Signed-off-by: Dave Barach <dave@barachs.net>
2019-07-23 18:00:31 +00:00
Mohsin Kazmi
4df8ab00db gso: Fix the l3 packet gso segment size
Type: fix
Ticket: VPP-1721

Change-Id: I7a5d4f1440048ddc9f599ac11d06e5a7df20440e
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
(cherry picked from commit 0f09a47f10e29cabeb98f571e5c4f0c18a54564d)
2019-07-22 13:10:33 +00:00
Andrew Yourtchenko
e3613e4d65 misc: 19.01.3 Release Notes
Type: docs

Change-Id: I3f9d243d6f5d99faea67c24c9bf5c42c7a4dc3b0
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-07-18 13:28:10 +00:00
Neale Ranns
13a6ddf353 ip: Punt node does not free iovecs
Type: fix
Fixes: f7a55ad74c

Change-Id: Ic3474e746887f880a8f6246bebc399715bac8e80
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-07-11 20:03:19 +00:00
Neale Ranns
f699d128bf ipsec: Revert "IPSEC: remove byte swap operations in DP during SPD classify"
Type: fix
Fixes: 231c4696872cb344f28648949603840136c0795d

This reverts commit 231c4696872cb344f28648949603840136c0795d.

Change-Id: I136344555983dd10a31dbc000ee40e2de2c91291
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-07-11 20:02:37 +00:00
Neale Ranns
649f9360c4 ipsec: Revert "IPSEC: remove double byte swap of IP addresses"
This reverts commit 9b208ced585d3b4620d6fde586cd047fe2027ecf.

Type: fix
Fixes: 9b208ced585d3b4620d6fde586cd047fe2027ecf

Change-Id: I94a17039b4727bff0877423da5ba6cfceb188b17
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit d2029bc9c5947a8a676208bada9386e07ec16c97)
2019-07-11 17:25:24 +00:00
Dave Barach
97a88aee6f VPP-1718: fix dangling reference to stats seg directory
Change-Id: If6da62e5a49064ba27a3e0bb6e5d31b9b4d04ea3
Signed-off-by: Dave Barach <dave@barachs.net>
2019-07-08 08:50:10 -04:00
Florin Coras
f2f89a76e4 dlmalloc: honor 8 byte alignment requests
Change-Id: Ie504603c2e42cae3ad592952b2b166919420e5f7
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit f5dc9fbf814865b31b52b20f5bf959e9ff818b25)
2019-07-03 18:34:31 +00:00
Florin Coras
8851934da4 tcp: reject out-of-order fins
Type:fix

Change-Id: Iab2c308739f7733dbf70953e0ea87dcc404c60da
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit f73d4c2084c9cb6df4a1f8582acef523e4ba0cb2)
2019-07-02 14:28:54 +00:00
Florin Coras
5d265456fe tcp: fix close-waiting check for outstanding tx data
Type: fix

Change-Id: I9e0e1bb933c38b17ac9fb8bf11b81e2fed021bf8
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 182bbc1c5ab3d8607153dd19f0a24baaf5cbfc88)
2019-06-28 18:11:04 +00:00
Filip Tehlar
bf5049a3b2 avf: fix clear hw stats
AVF plugin is missing a handler for clearing stats. This patch will
implement it.

Ticket: VPP-1701
Type: fix
Change-Id: If4b4354da442065896bb001deda23f64ddc18fb4
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-06-26 16:25:21 +00:00
Damjan Marion
2605526c9b avf: fix adminq enqueue errors
Type: fix
Fixes: b4ff07a

Change-Id: I2578ae3e093961fa8765568b5fedcf75ae9487f6
Signed-off-by: Damjan Marion <damarion@cisco.com>
(cherry picked from commit 39488c8d3064f8940ec4f826629ebb700649e6b5)
2019-06-24 17:24:16 +00:00
Ole Troan
7abd25b3b9 stats: fix memory leakage when adding / deleting interfaces
This fixes two leaks in registering errors in the stats segment.
- The error name created by vlib_register_errors() was not freed.
- Duplicate error names (when interface readded) was added to the vector.

Change-Id: If5fe371e8059cf6678fc785cbf673707b4f4a655
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
2019-06-21 16:06:19 +00:00
Andrew Yourtchenko
5c58850421 interface: fix the incorrect sizes/offsets in the tso segmentation
The copying of the first segment copied too small amount of data.
The copying of the second and subsequent segments used the wrong
data offset - for the case of GSO enabled it starts from 12 bytes
earlier.

Change-Id: I3adc532c175babc1ca1e121c7e12e6cafbdb9974
Type: fix
Ticket: VPP-1700
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 4f740c8f0085c0cd576744c00bf50a9d9b111470)
2019-06-21 12:25:24 +00:00
Wei CHEN
03e099f935 vppinfra: dlmalloc records wrong offset for tracing
Fix a bug that mheap_get_trace is called with the wrong pointer when
mspace_get_aligned allocates a chunk with alignment greater than 16
but less than 4k.

Type: fix

Change-Id: Ic3b91fc9532248482662f019bbfa073da18645ed
Signed-off-by: Wei CHEN <weichen@astri.org>
(cherry picked from commit 5e282e93ad9f961d332cac9a033be33542979848)
2019-06-18 13:49:31 +00:00
Steven Luong
32a27b8f61 acl vnet vlib: memory leaks
Fix memory leaks in acl, vnet, and vlib components.

Type: fix

Change-Id: I61c84ebbacbbf3215db0d4aaa7699e8d5f8df2da
Signed-off-by: Steven Luong <sluong@cisco.com>
(cherry picked from commit 4221c8de596f3f3f66b4cbb36ad2d0c23486030c)
2019-06-18 13:48:04 +00:00
Dave Barach
b777d788d9 vppinfra: optimize elog_string
Add a string hash to make sure that strings in the string table are
unique. This optimization has been coded piecemeal in multiple places,
we should have made the underlying function do the work years ago.

Ticket: VPP-1707
Type: fix

Change-Id: I5010fd4926b9b80ce3a168748f6de64e333ef498
Signed-off-by: Dave Barach <dave@barachs.net>
2019-06-18 02:09:57 +00:00
Dave Barach
900dfd3381 vlib: cherry-pick "memory-trace stats-segment"
and "leak-check { <debug-cli-cmd> }"

Ticket: VPP-1703
Type: feature

Change-Id: Ie020fd7e2618284a63efbeb9895068f27c0fb9ab
Signed-off-by: Dave Barach <dave@barachs.net>
2019-06-17 09:21:07 -04:00
Filip Varga
c299470d5e NAT: interface fib fix (VPP-1691)
Change-Id: I2d1e2addb2e440c23c255ac7709169f7909cb0be
Signed-off-by: Filip Varga <fivarga@cisco.com>
2019-06-12 11:13:42 +00:00
Steven Luong
7d2420f97f avf: enable promiscuous mode
In order to receive multicast packets from the VF interface, promiscuos
mode must be enable.

Type: fix
Fixes: b4ff07a
Change-Id: I549bc37a05895d3355f2832c200e9262c95a27b5
Signed-off-by: Steven Luong <sluong@cisco.com>
(cherry picked from commit 607a23a1753ee8dc7e9150f09bb376553ed62639)
2019-06-06 20:54:37 +00:00
Dave Barach
6c36ca545b Fix stat seg average vector rate computation
Add the number of worker threads and per worker thread vector rates to
the stats segment.

Change-Id: I3040108ec9fcdf5fdb6b9a950060dea9b3c88fd1
Signed-off-by: Dave Barach <dbarach@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
(cherry picked from commit f89a6de8f032536080c4a11b267bf921093d3740)
2019-06-06 18:13:32 +00:00
Florin Coras
e4a0f9fdc0 tcp: handle disconnects in rcv-process
Change-Id: I005f96480e81f3e750c18261e78d0e401da7528e
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 79fdfd61245a112ff08f5c3bc3fb1afd5db55fb9)
v19.04.2-rc0
2019-06-03 17:07:27 +00:00
Dave Barach
1662c9cd23 VPP-1692: move NULL pointer check
TBH, this looks like merge damage or some such. Perfectly fine NULL pointer
check, about three lines after it was needed.

Change-Id: I52831062e30533a59fb76b644ee5ae389676d2ae
Signed-off-by: Dave Barach <dave@barachs.net>
v19.04.1
2019-05-31 12:47:05 +00:00
Dave Wallace
85ff806452 19.04.1 Release Notes
Change-Id: I2a69b29b9ecea2bfdf1832c184c7e63058a33b94
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-05-29 17:34:59 -04:00
Florin Coras
366b5a477c tcp: handle fin+rst in same frame
Change-Id: Ie7a6c7b92a6beeb356f01384216a4982fb3d420e
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-05-25 03:21:06 -07:00
Steven Luong
c2c89782d3 tap: crash in multi-thread environment
In tap tx routine, virtio_interface_tx_inline, there used to be an
interface spinlock to ensure packets are processed in an orderly fashion
  clib_spinlock_lock_if_init (&vif->lockp);

When virtio code was introduced in 19.04, that line is changed to
  clib_spinlock_lock_if_init (&vring->lockp);
to accommodate multi-queues.

Unfortunately, althrough the spinlock exists in the vring, it was never
initialized for tap, only for virtio. As a result, many nasty things can
happen when running tap interface in multi-thread environment. Crash is
inevitable.

The fix is to initialize vring->lockp for tap and remove vif->lockp as it
is not used anymore.

Change-Id: Ibc8f5c8192af550e3940597c06992dfdaccb4c49
Signed-off-by: Steven Luong <sluong@cisco.com>
2019-05-23 09:49:32 -07:00
Mohsin Kazmi
55203e745f Tap: Fix the indirect buffers allocation VPP-1660
Indirect buffers are used to store indirect descriptors
to xmit big packets.
This patch moves the indirect buffer allocation from
interface creation to device node. Now it allocates
or deallocates buffers during tx for chained buffers.

Change-Id: I55cec208a2a7432e12fe9254a7f8ef84a9302bd5
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-05-23 11:37:45 +00:00
Andrew Yourtchenko
f60be11516 19.01.2 Release Notes
Change-Id: Ia68372d397504ede789e40e9f7e1b939d09bc81a
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-05-17 16:47:47 +00:00
Andrew Yourtchenko
36102c5b07 ipsec-mb: fix the "make test" on non-AESNI platforms
"make test" fails with invalid instruction on non-AESNI platform,
so do not register the ipsec-mb crypto backend in this case.

Change-Id: I61887e40ce3d39880e7da534b9dee00fd677d8fd
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit c74009dce1b2f1466112775a68a5608d754c7c76)
2019-05-17 13:47:46 +00:00
Sergio Gonzalez Monroy
d37b3d96c5 dpdk-ipsec: fix encrypt/decrypt single queue
When the same worker thread processes packet for encrypt and decrypt,
ie. single worker with bi-directional traffic, given that the queue is
shared results in packets to be decrypted being dropped as the encrypt
always happens first for each main loop.

With this change, each crypto device queue is logically split into two
queues, each half the real size, avoiding the described problem.

Change-Id: Ifd3f15e316c92fbd6ca05802456b10a7f73f85da
Signed-off-by: Sergio Gonzalez Monroy <sgmonroy@gmail.com>
(cherry picked from commit d8a34a57b12200000bb42d1c55f1a99a0a473f4b)
2019-05-17 12:43:56 +00:00
Benoît Ganne
ad62a0e91b rpm: VPP-1674: exclude external headers from rpm
External libraries headers such as DPDK, libibverb, quicly, etc. should
not be packaged in vpp-dev RPM.
Only package headers from vpp/ and vom/ subdirs.

Change-Id: Ief1454bd1261c8cf4dcd3b105e28f6852439e896
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-05-15 18:25:02 +02:00
Dave Wallace
fcbc0c64f3 plugins: clean up plugin descriptions
- Make plugin descriptions more consistent
  so the output of "show plugin" can be
  used in the wiki.

Change-Id: I4c6feb11e7dcc5a4cf0848eed37f1d3b035c7dda
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
(cherry picked from commit 1d1985de91833a5483a6b7ee96ef4090d530a7a6)
2019-05-13 13:48:44 +00:00
Florin Coras
725c6c4164 session: fix segment size rounding and size init
Change-Id: Iceb2a46802ed13f319cb16f1df236b11dc3c00f6
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-05-09 14:11:38 -07:00
Steven Luong
6f05f724f4 mp_safe SW_INTERFACE_DUMP, SW_INTERFACE_DETAILS, SW_INTERFACE_TAG_ADD_DEL,
BRIDGE_DOMAIN_DUMP, CONTROL_PING, CONTROL_PING_REPLY, and show interface CLI

Change-Id: I2927573b66bb5dd134b37ffb72af0e6676750917
Signed-off-by: Steven Luong <sluong@cisco.com>
(cherry picked from commit 15c31921a628c5500cbed2ebc588d7ddbaa970a3)
2019-05-03 00:19:41 +00:00
Dave Barach
79ad20fc04 Clean up multi-thread barrier-sync hold-down timer
Main thread: don't bother with the barrier sync hold-down timer if
none of the worker threads are busy.

Worker threads: avoid epoll_pwait (10ms timeout) when the
control-plane has been active in the last half-second.

Change-Id: I82008d09968c65e2a4af0ebb7887389992e60603
Signed-off-by: Dave Barach <dave@barachs.net>
(cherry picked from commit 9ae190e9d228bfc1358482d4f07da1f4cfd41c90)
2019-05-01 23:51:20 +00:00
Dave Wallace
7cbf2d154a DOCS: Add link to 19.04 make test documentation
Change-Id: Iffa44b6a20f8446c94f8412e937ca40273aa8f2f
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-04-30 13:55:38 +00:00
Ole Troan
1cb333cdf5 stats: Add version defines in stat_client.h
Change-Id: I9894a0c613b0486112623920d49371ceec9e6111
Signed-off-by: Ole Troan <ot@cisco.com>
2019-04-29 12:03:45 +00:00
Mohsin Kazmi
9896d55f7a tap: Fix the indirect buffer allocation VPP-1660
Change-Id: I73f76c25754f6fb14a49ae47b6404f3cbabbeeb5
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-04-26 10:23:49 +00:00
Neale Ranns
873b9ed405 IPSEC; dpdk backend for tunnel interface encryption (VPP-1662)
Change-Id: Ide2a9df18db371c8428855d7f12f246006d7c04c
Signed-off-by: Neale Ranns <nranns@cisco.com>
v19.04.1-rc0
2019-04-24 18:35:02 -04:00
Dave Wallace
3d18a191aa VPP 19.04 Release Notes
Change-Id: I66b35c7c03303bc7200c01e9da926bce778b2d6b
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
v19.04
2019-04-23 21:43:18 +00:00
Igor Mikhailov (imichail)
c0e614c88d RH7/Centos7: remove python-ply as it is not needed
Also remove double required packages

Change-Id: Ifcc7c9c0a4ce62d89a246019147d194610f5167a
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
2019-04-22 19:14:37 -07:00
Florin Coras
2f61df5764 vlib epoll: handle file removal on EPOLLIN VPP-1656
Change-Id: I7a3526a8fdf17afb8cc2225bdfbd57f661680992
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-22 17:59:19 +00:00
Dave Wallace
facb4d4447 Sphinx docs: Fix security vulnerability (VPP-1655)
Change-Id: I9b11d15866d708eb843936ebfd120940d284a2de
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-04-21 18:20:18 -04:00
Dave Wallace
2ac1ddb59c DOCS-ONLY: Fix broken doxygen tag in BVI
Change-Id: Ia42e7c93ebe51a36470f1358827451bcb98da433
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
(cherry picked from commit 3b62e29c3adc8e4114cb10dc794f4b3f814015b0)
2019-04-19 15:16:24 +00:00
Neale Ranns
84ac8ac369 IPSEC: IPv6 ESP transport mode incorrect packet length and checksum (VPP-1654)
Change-Id: Ia3474e5bfea5764eae9b2987bf78296535df6778
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-19 04:02:59 +00:00
Neale Ranns
9fdfcf3274 IPSEC: ESP IPv6 transport mode payload length incorrect (VPP-1653)
Change-Id: I8977100d7a22b50260858bd1ea9db419b53284ff
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-19 02:36:45 +00:00
Florin Coras
fd2cd9c899 vlib epoll: protect against clib file pool expansion
Change-Id: I320e7c2fdacb3056bc448c73fec08d9e2978ee5e
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit c67078e007c8a9b91def387ba345efa805e45fc5)
2019-04-18 18:18:05 +00:00