vpp.git
4 years agoVPP-1692: move NULL pointer check 12/19912/1 v19.04.1
Dave Barach [Fri, 31 May 2019 12:41:34 +0000 (08:41 -0400)]
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>
4 years ago19.04.1 Release Notes 88/19888/1
Dave Wallace [Wed, 29 May 2019 21:34:59 +0000 (17:34 -0400)]
19.04.1 Release Notes

Change-Id: I2a69b29b9ecea2bfdf1832c184c7e63058a33b94
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
4 years agotcp: handle fin+rst in same frame 27/19827/2
Florin Coras [Fri, 24 May 2019 05:28:16 +0000 (22:28 -0700)]
tcp: handle fin+rst in same frame

Change-Id: Ie7a6c7b92a6beeb356f01384216a4982fb3d420e
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agotap: crash in multi-thread environment 66/19766/2
Steven Luong [Thu, 23 May 2019 00:57:25 +0000 (17:57 -0700)]
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>
4 years agoTap: Fix the indirect buffers allocation VPP-1660 19/19519/5
Mohsin Kazmi [Fri, 10 May 2019 15:28:28 +0000 (17:28 +0200)]
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>
5 years ago19.01.2 Release Notes 91/19691/3
Andrew Yourtchenko [Fri, 17 May 2019 14:35:08 +0000 (14:35 +0000)]
19.01.2 Release Notes

Change-Id: Ia68372d397504ede789e40e9f7e1b939d09bc81a
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agoipsec-mb: fix the "make test" on non-AESNI platforms 81/19681/2
Andrew Yourtchenko [Wed, 1 May 2019 13:39:25 +0000 (15:39 +0200)]
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)

5 years agodpdk-ipsec: fix encrypt/decrypt single queue 79/19679/1
Sergio Gonzalez Monroy [Mon, 6 May 2019 20:44:14 +0000 (22:44 +0200)]
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)

5 years agorpm: VPP-1674: exclude external headers from rpm 61/19561/2
Benoît Ganne [Tue, 14 May 2019 09:11:16 +0000 (11:11 +0200)]
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>
5 years agoplugins: clean up plugin descriptions 33/19433/3
Dave Wallace [Tue, 23 Apr 2019 19:29:50 +0000 (15:29 -0400)]
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)

5 years agosession: fix segment size rounding and size init 77/19477/1
Florin Coras [Thu, 9 May 2019 21:11:38 +0000 (14:11 -0700)]
session: fix segment size rounding and size init

Change-Id: Iceb2a46802ed13f319cb16f1df236b11dc3c00f6
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agomp_safe SW_INTERFACE_DUMP, SW_INTERFACE_DETAILS, SW_INTERFACE_TAG_ADD_DEL, 11/19311/1
Steven Luong [Thu, 25 Apr 2019 18:19:49 +0000 (11:19 -0700)]
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)

5 years agoClean up multi-thread barrier-sync hold-down timer 00/19300/1
Dave Barach [Tue, 23 Apr 2019 14:07:24 +0000 (10:07 -0400)]
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)

5 years agoDOCS: Add link to 19.04 make test documentation 69/19269/1
Dave Wallace [Tue, 30 Apr 2019 13:38:12 +0000 (09:38 -0400)]
DOCS: Add link to 19.04 make test documentation

Change-Id: Iffa44b6a20f8446c94f8412e937ca40273aa8f2f
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 years agostats: Add version defines in stat_client.h 31/19231/1
Ole Troan [Mon, 29 Apr 2019 11:38:52 +0000 (13:38 +0200)]
stats: Add version defines in stat_client.h

Change-Id: I9894a0c613b0486112623920d49371ceec9e6111
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agotap: Fix the indirect buffer allocation VPP-1660 71/19171/2
Mohsin Kazmi [Thu, 25 Apr 2019 12:54:32 +0000 (14:54 +0200)]
tap: Fix the indirect buffer allocation VPP-1660

Change-Id: I73f76c25754f6fb14a49ae47b6404f3cbabbeeb5
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agoIPSEC; dpdk backend for tunnel interface encryption (VPP-1662) 31/19131/3 v19.04.1-rc0
Neale Ranns [Wed, 24 Apr 2019 00:57:55 +0000 (20:57 -0400)]
IPSEC; dpdk backend for tunnel interface encryption (VPP-1662)

Change-Id: Ide2a9df18db371c8428855d7f12f246006d7c04c
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoVPP 19.04 Release Notes 84/19084/3 v19.04
Dave Wallace [Mon, 22 Apr 2019 21:49:09 +0000 (17:49 -0400)]
VPP 19.04 Release Notes

Change-Id: I66b35c7c03303bc7200c01e9da926bce778b2d6b
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 years agoRH7/Centos7: remove python-ply as it is not needed 86/19086/1
Igor Mikhailov (imichail) [Mon, 22 Apr 2019 22:50:46 +0000 (15:50 -0700)]
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>
5 years agovlib epoll: handle file removal on EPOLLIN VPP-1656 83/19083/1
Florin Coras [Mon, 22 Apr 2019 16:49:10 +0000 (09:49 -0700)]
vlib epoll: handle file removal on EPOLLIN VPP-1656

Change-Id: I7a3526a8fdf17afb8cc2225bdfbd57f661680992
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoSphinx docs: Fix security vulnerability (VPP-1655) 72/19072/1
Dave Wallace [Sun, 21 Apr 2019 22:20:18 +0000 (18:20 -0400)]
Sphinx docs: Fix security vulnerability (VPP-1655)

Change-Id: I9b11d15866d708eb843936ebfd120940d284a2de
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 years agoDOCS-ONLY: Fix broken doxygen tag in BVI 68/19068/2
Dave Wallace [Thu, 18 Apr 2019 22:03:22 +0000 (18:03 -0400)]
DOCS-ONLY: Fix broken doxygen tag in BVI

Change-Id: Ia42e7c93ebe51a36470f1358827451bcb98da433
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
(cherry picked from commit 3b62e29c3adc8e4114cb10dc794f4b3f814015b0)

5 years agoIPSEC: IPv6 ESP transport mode incorrect packet length and checksum (VPP-1654) 60/19060/1
Neale Ranns [Fri, 19 Apr 2019 02:49:13 +0000 (19:49 -0700)]
IPSEC: IPv6 ESP transport mode incorrect packet length and checksum (VPP-1654)

Change-Id: Ia3474e5bfea5764eae9b2987bf78296535df6778
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoIPSEC: ESP IPv6 transport mode payload length incorrect (VPP-1653) 56/19056/1
Neale Ranns [Fri, 19 Apr 2019 00:18:12 +0000 (17:18 -0700)]
IPSEC: ESP IPv6 transport mode payload length incorrect (VPP-1653)

Change-Id: I8977100d7a22b50260858bd1ea9db419b53284ff
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agovlib epoll: protect against clib file pool expansion 51/19051/1
Florin Coras [Thu, 18 Apr 2019 17:04:03 +0000 (10:04 -0700)]
vlib epoll: protect against clib file pool expansion

Change-Id: I320e7c2fdacb3056bc448c73fec08d9e2978ee5e
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit c67078e007c8a9b91def387ba345efa805e45fc5)

5 years agoFix list_api_changes script to start at v19.04-rc0 48/19048/2
Dave Wallace [Thu, 18 Apr 2019 16:07:54 +0000 (12:07 -0400)]
Fix list_api_changes script to start at v19.04-rc0

- Update Release Notes with correct output.

Change-Id: Iaa1a1cd6d166ff6894ebbd3758446d90b46cef7c
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 years agoFix memory corruption faulting [VPP-1639] 45/19045/1
Artem Belov [Thu, 18 Apr 2019 07:30:43 +0000 (07:30 +0000)]
Fix memory corruption faulting [VPP-1639]

File pool may be reallocated on epoll events processing.
*f* pointer shows to already freed address and corrupting
memory chunk on clib_file_t property change.

Change-Id: I751bddce27325452862b939c1a3eec2ccd9b71bb
Signed-off-by: Artem Belov <artem.belov@xored.com>
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
5 years agoFIB: recursion casues path realloc 23/19023/2
Neale Ranns [Thu, 18 Apr 2019 09:42:20 +0000 (09:42 +0000)]
FIB: recursion casues path realloc

Change-Id: Ie9c2954eee90ca1a1fc1aa8280f93b2340b544c1
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoIPSEC: tunnel rekey fix and test (VPP-1652) 91/18991/3
Neale Ranns [Wed, 17 Apr 2019 23:29:00 +0000 (16:29 -0700)]
IPSEC: tunnel rekey fix and test (VPP-1652)

Change-Id: I1c2b3e40c689bedcdcea7887792b6b6b6aeb48d5
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agocrypto-ipsecmb: enable GCM 94/18994/2
Neale Ranns [Tue, 16 Apr 2019 21:39:37 +0000 (21:39 +0000)]
crypto-ipsecmb: enable GCM

Change-Id: I670d7899bcc63a419daf481167dc445a6386cce8
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit d8cfbebce78e26a6ef7f6693e7c90dc3c6435d51)

5 years agoUse template-specific key compare fn when deleting records 90/18990/1
Dave Barach [Wed, 17 Apr 2019 21:27:31 +0000 (17:27 -0400)]
Use template-specific key compare fn when deleting records

A simple memcmp won't work when comparing pointer-keys, such as those
used by the bihash_vec8_8.h template.

Change-Id: I77e59f3fd7f7740ef42908ace90ed4843e1c9ac7
Signed-off-by: Dave Barach <dave@barachs.net>
(cherry picked from commit a11bf45b1aba14246cc1259fff1dfb8e9c60581f)

5 years agoDoxygen cleanup. 85/18985/1
Dave Wallace [Wed, 17 Apr 2019 21:28:45 +0000 (17:28 -0400)]
Doxygen cleanup.

- Add subpages definitions in appropriate
  section (User or Dev docs) for doc files
  (*.rst, *.md) that being listed at the top
  level of the generated doc page.
- Generate and add API list to RELEASE doc.
- Fix list_api_changes script to use HEAD
  as the endtag so it doesn't need to be
  changed every release.

Change-Id: Iace7b6433359c6b96869cb1db01facbbcb0ac1e6
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 years agoRevert "Revert "bond: problem switching from l2 to l3"" [VPP-1651] 78/18978/2 v19.04-rc2
Steven Luong [Tue, 9 Apr 2019 19:18:46 +0000 (12:18 -0700)]
Revert "Revert "bond: problem switching from l2 to l3"" [VPP-1651]

This reverts commit 5d0d5494db58422eb528c0f8b39a86ea966505e9.

The csit crash was actually due to the test image missing the patch
https://gerrit.fd.io/r/#/c/17731/

It was a mistake to revert the original patch
https://gerrit.fd.io/r/#/c/15577/

Change-Id: I7fc563981aa13d308d55b25194fee21475ebc57d
Signed-off-by: Steven Luong <sluong@cisco.com>
(cherry picked from commit a1f9ee8ea6b7e22a45d7b0cbf631bea3f91864b4)

5 years agoVPP-1650 53/18953/3
Thomas F Herbert [Tue, 16 Apr 2019 19:00:12 +0000 (15:00 -0400)]
VPP-1650

Update spec file for new build and execution requirements.

Change-Id: Ia87abfe7b7080ecd07e485e6c32270fda56a496a
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
5 years agoADJ: crash in format/show (VPP-1648) 52/18952/2
Neale Ranns [Wed, 17 Apr 2019 02:17:05 +0000 (19:17 -0700)]
ADJ: crash in format/show (VPP-1648)

Change-Id: I26279c19b879e59c68fda31426fe42dae62a858d
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoIPSEC: support GCM in ESP 49/18949/1
Neale Ranns [Thu, 11 Apr 2019 15:14:07 +0000 (15:14 +0000)]
IPSEC: support GCM in ESP

Change-Id: Id2ddb77b4ec3dd543d6e638bc882923f2bac011d
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit 47feb1146ec3b0e1cf2ebd83cd5211e1df261194)

5 years agocrypto: add more AES-GCM test cases 48/18948/1
Filip Tehlar [Thu, 11 Apr 2019 09:55:56 +0000 (09:55 +0000)]
crypto: add more AES-GCM test cases

Change-Id: Ibb3e2f3ba5f31482fc2f0dce53d68f8476608f4b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
(cherry picked from commit 11a73973c98a5a10b78f7200e5681859354bb29a)

5 years agoIPSEC: ESP with ESN tests and fixes 45/18945/1
Neale Ranns [Wed, 10 Apr 2019 17:24:29 +0000 (17:24 +0000)]
IPSEC: ESP with ESN tests and fixes

Change-Id: Ie42b26e6d5cdb7b23f370ea2933c65079e8d1089
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit 49e7ef60cb38d9f539d70d7a1e85cea5d350a203)

5 years agocrypto: openssl - IV len not passed by caller. Callee knows from algo type 95/18895/2
Neale Ranns [Sun, 14 Apr 2019 20:43:51 +0000 (20:43 +0000)]
crypto: openssl - IV len not passed by caller. Callee knows from algo type

Change-Id: Ib80e9bfb19a79e1adc79aef90371a15954daa993
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit 45df934daf89391a399651f171278a4c0cad30f7)

5 years agotap: fix the crash [VPP-1645] 88/18888/3
Mohsin Kazmi [Mon, 15 Apr 2019 11:17:55 +0000 (13:17 +0200)]
tap: fix the crash [VPP-1645]

Crash will happen when someone will try to setup a tap interface
in host namespace without providing the host side of tap interface
custom name. This patch fixes the problem by using the default name
in this case.

Change-Id: Ic1eaea5abd01bc6c766d0e0fcacae29ab7a7ec45
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
(cherry picked from commit 2a6861ff7bc90c1518b68459210830052774d429)

5 years agocrypto-openssl-gcm: account for failed decrypts 96/18896/2
Neale Ranns [Sun, 14 Apr 2019 20:48:55 +0000 (20:48 +0000)]
crypto-openssl-gcm: account for failed decrypts

Change-Id: I749c5a9d58128fd6d0fb8284e56b8f89cf91c609
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit 1b1d1e9e84b007721a0c2ae2092df7cea662e09d)

5 years agoIPSEC: crypto overflow 97/18897/1
Neale Ranns [Sat, 13 Apr 2019 15:30:21 +0000 (15:30 +0000)]
IPSEC: crypto overflow

decrypting too many bytes.

Change-Id: I4663e70271d9734eda7f9a127967b9224c0e5efc
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit 0a0c7eef787dbf29c8b018420cb9d244cbe8d2dd)

5 years agoLB crash when receving packets with right dst IP and wrong dst port VPP-1643 26/18826/7
Hongjun Ni [Fri, 12 Apr 2019 13:40:46 +0000 (21:40 +0800)]
LB crash when receving packets with right dst IP and wrong dst port VPP-1643

Change-Id: Ifb322118349674b8ebee45d7644212ab5174a2ec
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
5 years agocrypto: fix coverity warnings 79/18879/2
Filip Tehlar [Mon, 15 Apr 2019 08:48:10 +0000 (08:48 +0000)]
crypto: fix coverity warnings

Change-Id: Id9dfd912517c44cf812953bd05ac04c9e172a2b7
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
5 years agosession: drop lock on segment allocation error VPP-1644 53/18853/2
Florin Coras [Fri, 12 Apr 2019 20:04:16 +0000 (13:04 -0700)]
session: drop lock on segment allocation error VPP-1644

Change-Id: Ib346570daa3e40f4f53100a05e9355ce60d533a4
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit bbf923fb52e8a9062ef4d740288cf5547c4dbde4)

5 years agoIPSEC-MB: Use random & non-repeating IV (VPP-1642) 27/18827/2
Neale Ranns [Thu, 11 Apr 2019 08:18:34 +0000 (08:18 +0000)]
IPSEC-MB: Use random & non-repeating IV (VPP-1642)

hard code IV and key lengths based on cipher.
Init IV from random data, use AES instruction to rotate.

Change-Id: I13a6507d12267b823c528660a903787baeba47a0
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit 21ada3bd7e9bc5cca7c2c8399adcbaa044bf8103)

5 years agostats: Off by one error in stats directory vector. 48/18848/1
Ole Troan [Fri, 12 Apr 2019 08:01:17 +0000 (10:01 +0200)]
stats: Off by one error in stats directory vector.

Change-Id: Ic75af8bbd52c8a08e34ff2a847f60be5479b814b
Signed-off-by: Ole Troan <ot@cisco.com>
(cherry picked from commit 1c9a58decd525ad46487b120642883089fb5758f)

5 years agoRelease notes: add 19.04 placeholder 45/18845/1
Dave Wallace [Fri, 12 Apr 2019 15:29:36 +0000 (11:29 -0400)]
Release notes: add 19.04 placeholder

Change-Id: I2eb04c295967af3eabab260f7f5feef75fb8c679
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 years agoInitial changes for stable/1904 branch 02/18802/1 v19.04-rc1
Dave Wallace [Wed, 10 Apr 2019 19:38:04 +0000 (15:38 -0400)]
Initial changes for stable/1904 branch

This patch adds an entry for the defaultbranch in .gitreview

Change-Id: I4bc5083a24cf3bc8c0498bb3421f8830483bd536
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 years agomake test: fix redundant setUp() in template_ipsec.py 98/18798/2
Dave Wallace [Wed, 10 Apr 2019 16:46:43 +0000 (12:46 -0400)]
make test: fix redundant setUp() in template_ipsec.py

Change-Id: I81b3888816b064bd6bf0f38f5380dae93d7bb349
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 years agocmake: fix errors in external when building past point-release 51/18551/2
Andrew Yourtchenko [Wed, 27 Mar 2019 14:22:40 +0000 (15:22 +0100)]
cmake: fix errors in external when building past point-release

Change-Id: I23b4816e4ef2c6a2fa825fbd063ea25ff2024151
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agocrypto: Intel IPSEC-MB engine 48/18748/8
Neale Ranns [Mon, 8 Apr 2019 07:36:50 +0000 (07:36 +0000)]
crypto: Intel IPSEC-MB engine

A plugin to use Intel IPSec MB library as a VPP crypto engine

This changes uses concepts from:
  https://gerrit.fd.io/r/#/c/17301/
hence that author's work is acknowledge below

Change-Id: I2bf3beeb10f3c9706fa5efbdc9bc023e310f5a92
Signed-off-by: Neale Ranns <nranns@cisco.com>
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agoethernet: fix packet tracing 93/18793/3
Benoît Ganne [Wed, 10 Apr 2019 12:21:11 +0000 (14:21 +0200)]
ethernet: fix packet tracing

Node tracing condition was wrongly reversed by commit "5ecd5a5d15 Move
pcap rx/tx trace code out of the dpdk plugin".
This prevented packet tracing in ethernet-input node and also impacted
performance in the no tracing case.

Change-Id: I345a11191d027c6c4ec474a2901995338050680a
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agomake test: Initial QUIC test 78/18778/3
Dave Wallace [Wed, 10 Apr 2019 01:01:09 +0000 (21:01 -0400)]
make test: Initial QUIC test

- QUIC echo client/server transfer test

Change-Id: I69874975c9789fe9b4e85c5993bf09b7255d87d0
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 years agoIPSEC: for each engine and algorithm tests 95/18795/4
Neale Ranns [Wed, 10 Apr 2019 12:39:10 +0000 (12:39 +0000)]
IPSEC: for each engine and algorithm tests

refactor the IPSEC tests a bit so we can parameterise
the setup.

Change-Id: I777e5eb8f29ca1dce3dd273ebd05dae5846790af
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agosession: binary api app names as vectors 75/18775/3
Florin Coras [Tue, 9 Apr 2019 23:13:18 +0000 (16:13 -0700)]
session: binary api app names as vectors

Change-Id: Iae358365de8ccbc0441b14f21ba6b365cbfec09a
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoTests Cleanup: Fix missing calls to setUpClass/tearDownClass. 30/18230/4
Paul Vinciguerra [Wed, 13 Mar 2019 02:23:27 +0000 (19:23 -0700)]
Tests Cleanup: Fix missing calls to setUpClass/tearDownClass.

Continuation/Part 2 of https://gerrit.fd.io/r/#/c/17092/

Change-Id: Id0122d84eaf2c05d29e5be63a594d5e528ee7c9a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoAPI: Fix shared memory only action handlers. 85/18785/2
Ole Troan [Wed, 10 Apr 2019 07:44:23 +0000 (09:44 +0200)]
API: Fix shared memory only action handlers.

Some API action handlers called vl_msg_ai_send_shmem()
directly. That breaks Unix domain socket API transport.

A couple (bond / vhost) also tried to send a sw_interface_event
directly, but did not send the message to all that had
registred interest. That scheme never worked correctly.
Refactored and improved the interface event code.

Change-Id: Idb90edfd8703c6ae593b36b4eeb4d3ed7da5c808
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agoquic: add dummy accepted cb 77/18777/2
Florin Coras [Wed, 10 Apr 2019 00:13:11 +0000 (17:13 -0700)]
quic: add dummy accepted cb

Add dummy function to avoid session layer warning. Also, decrease
default debug level to avoid startup quic init notifications.

Change-Id: I2964fc15a8d93d78c976ed7c333e0cc5746c069e
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoIPSEC: remove double byte swap of IP addresses 86/18786/1
Neale Ranns [Wed, 10 Apr 2019 08:24:03 +0000 (08:24 +0000)]
IPSEC: remove double byte swap of IP addresses

Change-Id: I8c03c4aa90fb0056e11e0f234999c25d7839d759
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoMake tcp/udp/icmp compute checksum safer for buffer-chain case 65/18765/3
John Lo [Tue, 9 Apr 2019 14:23:56 +0000 (10:23 -0400)]
Make tcp/udp/icmp compute checksum safer for buffer-chain case

Change-Id: I046e481a67fbeffdaa8504c8d77d232b986a61ee
Signed-off-by: John Lo <loj@cisco.com>
5 years agordma: add multiqueue support 68/18768/2
Benoît Ganne [Wed, 3 Apr 2019 13:16:28 +0000 (15:16 +0200)]
rdma: add multiqueue support

Add support for multiqueue for RDMA devices.

Change-Id: I78a2481cec6747494c670cc776475828be3af55b
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agordma-core: add debug build option 67/18767/2
Benoît Ganne [Tue, 9 Apr 2019 07:00:42 +0000 (09:00 +0200)]
rdma-core: add debug build option

Add option RDMA_CORE_DEBUG=[yn] build option. rdma-core package is built
in Release (-O2) mode by default, but Debug (-O0 -g) mode can be
selected by eg.
 make install-ext-deps RDMA_CORE_DEBUG=y

Change-Id: Id4db5ef1e7b13c44d478755a0bfbdbe56cfc13df
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agosession: fix session flags 69/18769/3
Florin Coras [Tue, 9 Apr 2019 18:05:13 +0000 (11:05 -0700)]
session: fix session flags

Change-Id: I681169b82c661b7f0bf19f09d07d76ac1d3ed173
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoFix some python3, cleanup cpu allocation 15/18715/3
jdenisco [Fri, 5 Apr 2019 16:25:50 +0000 (12:25 -0400)]
Fix some python3, cleanup cpu allocation

Change-Id: I97cecc964f341720d8c4894656637082db5886d7
Signed-off-by: jdenisco <jdenisco@cisco.com>
5 years agonat: initialize fq_in2out_output_index 25/18625/4
Matthew Smith [Mon, 1 Apr 2019 21:27:00 +0000 (16:27 -0500)]
nat: initialize fq_in2out_output_index

When using the output feature ('postrouting') outbound translation,
no packets are passed when using worker threads. The frame queue for
in2out packets to be handed off between threads is never allocated.
This is because that allocation only happens if the value of
fq_in2out_output_index == ~0, but fq_in2out_output_index is never
initialized prior to checking that.

Initialize fq_in2out_output_index to ~0 so a frame queue will be
allocated when there are worker threads.

Change-Id: I0836685eb611348643c11ac7e4d0cab935a29384
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
5 years agoGBP: drop and contract counters 94/18594/7
Neale Ranns [Thu, 28 Mar 2019 14:56:23 +0000 (07:56 -0700)]
GBP: drop and contract counters

Change-Id: Ib436512a26e53f70f7b5e47bf34224ab73e5244e
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agofixing typos 32/18732/4
Jim Thompson [Mon, 8 Apr 2019 08:22:21 +0000 (03:22 -0500)]
fixing typos

Change-Id: I215e1e0208a073db80ec6f87695d734cf40fabe3
Signed-off-by: Jim Thompson <jim@netgate.com>
5 years agovirtio: Fix the coverity warnings 36/18736/2
Mohsin Kazmi [Mon, 8 Apr 2019 08:36:18 +0000 (10:36 +0200)]
virtio: Fix the coverity warnings

Change-Id: I7c6e4bf2abf08193e54a736510c07eeacd6aebe7
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agoIPSEC TEST: various hash alogrithms 47/18747/3
Neale Ranns [Mon, 8 Apr 2019 14:48:23 +0000 (14:48 +0000)]
IPSEC TEST: various hash alogrithms

Change-Id: I925aa5bf9472e81f98072d63df499b19e6ddf43d
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agohost stack: update stale copyright 46/18746/3
Florin Coras [Mon, 8 Apr 2019 14:42:30 +0000 (07:42 -0700)]
host stack: update stale copyright

Change-Id: I33cd6e44d126c73c1f4c16b2041ea607b4d7f39f
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agordma: fix DPDK MLX driver conflict 41/18741/2
Benoît Ganne [Mon, 8 Apr 2019 11:45:33 +0000 (13:45 +0200)]
rdma: fix DPDK MLX driver conflict

VPP rdma driver relies on an internal rdma-core not compatible with DPDK
MLX driver. Force the use of external rdma-core through
RTE_IBVERBS_LINK_DLOPEN DPDK build option and make sure internal
rdma-core symbols are not leaked outside of the rdma plugin.

Change-Id: I5b2281259f517c4e109d388d172b72eadd69986f
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agovlib-punt: fix error node counting 38/18738/2
Neale Ranns [Mon, 8 Apr 2019 09:37:40 +0000 (02:37 -0700)]
vlib-punt: fix error node counting

Change-Id: I271aa8b8f4917c187ad52db774e4ad26677e2b82
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agovppinfra: u32x8 transpose 34/18734/2
Damjan Marion [Mon, 8 Apr 2019 08:14:51 +0000 (10:14 +0200)]
vppinfra: u32x8 transpose

Change-Id: I7d39cb184f1f9ad24276183c29969327681a1f82
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agominor spelling errors (both in comments) 27/18727/2
Jim Thompson [Mon, 8 Apr 2019 07:19:03 +0000 (02:19 -0500)]
minor spelling errors (both in comments)

Change-Id: I9282a838738d0ba54255bef347abf4735be29820
Signed-off-by: Jim Thompson <jim@netgate.com>
5 years agoGBP: coverity uninitialised variable warning 24/18724/1
Neale Ranns [Mon, 8 Apr 2019 06:03:05 +0000 (23:03 -0700)]
GBP: coverity uninitialised variable warning

Change-Id: Ic6e23f497fd91dcb1441f9f4d88a182712e69d3f
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agocrypto: add support for AEAD and AES-GCM 13/18713/4
Damjan Marion [Fri, 29 Mar 2019 12:47:54 +0000 (13:47 +0100)]
crypto: add support for AEAD and AES-GCM

Change-Id: Iff6f81a49b9cff5522fbb4914d47472423eac5db
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agohttp_server: add timer wheel for session cleanup 20/18720/6
Florin Coras [Sat, 6 Apr 2019 01:23:08 +0000 (18:23 -0700)]
http_server: add timer wheel for session cleanup

Change-Id: I494a6a7f4818a224376ec9150cff3872a3aec659
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agocrypto: coverity issues 01/18701/5
Damjan Marion [Fri, 5 Apr 2019 09:11:04 +0000 (11:11 +0200)]
crypto: coverity issues

Change-Id: I9db1b74097c9df587b9265b14a969d347bcb731a
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoPipe: fix double count on TX (TX counting is done in interface-output) 99/18699/3
Neale Ranns [Fri, 5 Apr 2019 08:35:57 +0000 (01:35 -0700)]
Pipe: fix double count on TX (TX counting is done in interface-output)

Change-Id: I550313a36ae02eb3faa2f1a5e3614f55275a00cf
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agogbp: Add gbp bd flags unit test 79/18679/4
Mohsin Kazmi [Thu, 4 Apr 2019 11:22:15 +0000 (13:22 +0200)]
gbp: Add gbp bd flags unit test

Change-Id: I5b18cb84bec88f5514cacd2df61b5ce3c70abd77
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agoDoxygen: clean up vec.h 11/18711/3
Dave Wallace [Fri, 5 Apr 2019 14:30:44 +0000 (10:30 -0400)]
Doxygen: clean up vec.h

Change-Id: I2294982e6df41a13e61783e18f947da0bdd4b499
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 years agoquic: support addition of fifo segments 19/18719/2
Florin Coras [Fri, 5 Apr 2019 22:25:50 +0000 (15:25 -0700)]
quic: support addition of fifo segments

Change-Id: I8cb03ee832e77d2b21d47aa7a44579c283fb1054
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agomake the output of "show api dump file <filename> compare-current" doxygen-friendly 37/16937/6
Andrew Yourtchenko [Mon, 21 Jan 2019 15:28:48 +0000 (16:28 +0100)]
make the output of "show api dump file <filename> compare-current" doxygen-friendly

The current output of the API diff requires some massaging
to appear like a table in the docs generated by doxygen.
This change eliminates this need.

Change-Id: Ic9269a0e5e232e4d01a0695561e4f90eee287327
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agoquic: update app ns on connect 17/18717/2
Florin Coras [Fri, 5 Apr 2019 20:35:21 +0000 (13:35 -0700)]
quic: update app ns on connect

Change-Id: I0aa220b1f5a72d8bbc6d147830766790d7f6d9bf
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agocrypto: fix init dependency 91/18691/3
Filip Tehlar [Thu, 4 Apr 2019 16:32:18 +0000 (16:32 +0000)]
crypto: fix init dependency

Change-Id: Ie8dcd9fa0d0487b146eaa62113a5ee06bd3e7d3b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
5 years agordma: more batching, compile rdma-core in release mode 00/18700/3
Benoît Ganne [Wed, 3 Apr 2019 14:03:37 +0000 (16:03 +0200)]
rdma: more batching, compile rdma-core in release mode

rx: add batching for WC processing and release
tx: improve batching for WC submission and processing
rdma-core: compile in release mode to remove assert()

Change-Id: I5fb8736db36b50f8b758cd688100477b67e72d80
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agosession: fix app name formatting 95/18695/3
Florin Coras [Fri, 5 Apr 2019 05:31:50 +0000 (22:31 -0700)]
session: fix app name formatting

Change-Id: Iea88ce5f6628e131e507ba45a3dbb2de7e6c1498
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agofix pcap_trace cli output issue 29/18529/3
Jack Xu [Tue, 26 Mar 2019 17:46:00 +0000 (13:46 -0400)]
fix pcap_trace cli output issue

Change-Id: Ia2be56e198c960788430705b356170f8cc12c450
Signed-off-by: Jack Xu <jack.c.xu@ericsson.com>
5 years agoFix failing centos jobs due to yum replacing python34 with python36. 09/18709/2
Paul Vinciguerra [Fri, 5 Apr 2019 13:45:56 +0000 (06:45 -0700)]
Fix failing centos jobs due to yum replacing python34 with python36.

vppapigen is failing because the ply library is installed under
python34.

09:04:49 Dependencies Resolved
09:04:49
09:04:49 ================================================================================
09:04:49  Package                Arch           Version               Repository    Size
09:04:49 ================================================================================
09:04:49 Installing:
09:04:49  python36               x86_64         3.6.6-5.el7           epel          66 k
09:04:49      replacing  python34.x86_64 3.4.9-2.el7
09:04:49  python36-libs          x86_64         3.6.6-5.el7           epel         8.5 M
09:04:49      replacing  python34-libs.x86_64 3.4.9-2.el7

----
09:07:27 cd /w/workspace/vpp-verify-master-centos7/build-root/build-vpp-native/vpp/vlibmemory && mkdir -p /w/workspace/vpp-verify-master-centos7/build-root/build-vpp-native/vpp/vlibmemory && /w/workspace/vpp-verify-master-centos7/src/tools/vppapigen/vppapigen --includedir /w/workspace/vpp-verify-master-centos7/src --input /w/workspace/vpp-verify-master-centos7/src/vlibmemory/memclnt.api JSON --output /w/workspace/vpp-verify-master-centos7/build-root/build-vpp-native/vpp/vlibmemory/memclnt.api.json
09:07:27 Traceback (most recent call last):
09:07:27   File "/w/workspace/vpp-verify-master-centos7/src/tools/vppapigen/vppapigen", line 4, in <module>
09:07:27     import ply.lex as lex
09:07:27 ModuleNotFoundError: No module named 'ply'

Change-Id: Ica3b408991d26262418576cffc848fb2a8cb0224
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agovlib: fix "foo_msg" and "foo_msg_reply" in API message table triggering the "definini... 39/16939/3
Andrew Yourtchenko [Mon, 21 Jan 2019 15:39:33 +0000 (16:39 +0100)]
vlib: fix "foo_msg" and "foo_msg_reply" in API message table triggering the "defininion changed" output

strncmp() succeeds if the i+1th message is "foo_reply",
because the comparison terminates early after "foo" -
which triggers the "definition changed" rather than
"only in ..." message.

Fix also the case where i+1th element does not exist.

Change-Id: I127136410491d9dd102e160fd831fcf6f0bd3a9f
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agoQUIC: Build cleanup 90/18690/2
Dave Wallace [Thu, 4 Apr 2019 16:30:03 +0000 (12:30 -0400)]
QUIC: Build cleanup

- Remove redundant CMAKE variable definition.

Change-Id: I04992ec921cb5f175741c1bdd13613cfc291aeab
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 years agoIPSEC: punt reasons; SPI=0, no-tunnel 87/18687/3
Neale Ranns [Thu, 4 Apr 2019 12:43:36 +0000 (12:43 +0000)]
IPSEC: punt reasons; SPI=0, no-tunnel

Change-Id: If76992e283a27fa193a6865257ab3aa764066e48
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agotcp: do not delete session on establish pop 75/18675/5
Florin Coras [Thu, 4 Apr 2019 00:52:43 +0000 (17:52 -0700)]
tcp: do not delete session on establish pop

Also:
- force reset if wait close pops in fin-wait-1 with unsent data
- adds more event logging.

Change-Id: I4ddada046214fa71e17514cdec57b3026f84a283
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoldp: ignore TCP_CORK socket option 92/18692/1
Florin Coras [Thu, 4 Apr 2019 19:55:30 +0000 (12:55 -0700)]
ldp: ignore TCP_CORK socket option

Change-Id: Iffc3d2fbb478d5cd228959f4f2653d0508887489
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agosession: fix http server rpc to main 88/18688/3
Florin Coras [Thu, 4 Apr 2019 15:27:58 +0000 (08:27 -0700)]
session: fix http server rpc to main

Change-Id: I3e3820da5a9de97070bceecd3ea53b5351654319
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agotcp: properly validate acks between snd_nxt and una_max 60/18660/2
Florin Coras [Wed, 3 Apr 2019 04:43:38 +0000 (21:43 -0700)]
tcp: properly validate acks between snd_nxt and una_max

Change-Id: I37af3cb5fe3fe8556acbf8350f88663dca9ca8a9
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoipsec: trunc_size -> icv_size 78/18678/2
Damjan Marion [Thu, 4 Apr 2019 10:25:44 +0000 (12:25 +0200)]
ipsec: trunc_size -> icv_size

Change-Id: Idb661261c2191adda963a7815822fd7a27a9e7a0
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agocrypto: pass multiple ops to handler 74/18674/5
Damjan Marion [Wed, 3 Apr 2019 16:39:27 +0000 (18:39 +0200)]
crypto: pass multiple ops to handler

Change-Id: I438ef1f50d83560ecc608f898cfc61d7f51e1724
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoGBP: Counters per-contract 76/18676/3
Neale Ranns [Thu, 4 Apr 2019 07:35:37 +0000 (00:35 -0700)]
GBP: Counters per-contract

Change-Id: I28bb9e3d3ea3a99a9e24801ef5241a0099186108
Signed-off-by: Neale Ranns <nranns@cisco.com>