vpp.git
5 years agoipsec: infra for selecting backends 23/15823/10
Klement Sekera [Thu, 8 Nov 2018 12:00:02 +0000 (13:00 +0100)]
ipsec: infra for selecting backends

Change-Id: Ifa6d8391b1b2413a88b7720fc434e0bc849a149a
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agosession: fix endpt cfg test (VPP-1492) 47/15947/5
Florin Coras [Wed, 14 Nov 2018 17:32:07 +0000 (09:32 -0800)]
session: fix endpt cfg test (VPP-1492)

Change-Id: I0f2266c4727a96b6410a3084dc079bae7bc649ab
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoVXLAN-GBP: c-n-p error in the dual-loop tracing 40/15940/2
Neale Ranns [Wed, 14 Nov 2018 16:18:12 +0000 (08:18 -0800)]
VXLAN-GBP: c-n-p error in the dual-loop tracing

Change-Id: I3722a1850f7a72e4382e351120c1514d7a1759b8
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoVPP-1477: Replace DatatypeConverter.printHexBinary with bytesToHex 33/15933/4
Michal Cmarada [Wed, 14 Nov 2018 13:05:42 +0000 (14:05 +0100)]
VPP-1477: Replace DatatypeConverter.printHexBinary with bytesToHex

As of Java 11 javax.xml.bind.DatatypeConverter is no longer part of
standard Java distribution, therefore it is replaced by equivalent method.

Change-Id: I51726d0d0d02782bd3bb1dbdc54df5bd63bd8f15
Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
5 years agoRemove c-11 memcpy checks from perf-critical code 16/15916/4
Dave Barach [Tue, 13 Nov 2018 21:34:13 +0000 (16:34 -0500)]
Remove c-11 memcpy checks from perf-critical code

Change-Id: Id4f37f5d4a03160572954a416efa1ef9b3d79ad1
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agovcl/ldp: fix poll 18/15918/4
Florin Coras [Wed, 14 Nov 2018 06:44:54 +0000 (22:44 -0800)]
vcl/ldp: fix poll

Change-Id: I8eb5546ff8634d5498d8ce5bbc9407bceb9ae3ef
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agodocs and Config utility, package cloud support 11/15911/2
jdenisco [Tue, 13 Nov 2018 17:40:12 +0000 (12:40 -0500)]
docs and Config utility, package cloud support

Change-Id: I61303242b73e509df42dedba54f2ee5906a7e526
Signed-off-by: jdenisco <jdenisco@cisco.com>
5 years agotcp: cubic improvements 95/15895/3
Florin Coras [Tue, 13 Nov 2018 08:03:43 +0000 (00:03 -0800)]
tcp: cubic improvements

- avoid cwnd excessive increments on threshold changes
- fix K computation when fastconvergence is on

Change-Id: I99c36abc879e63aecc0617f7aed5a2f68430ba71
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agotcp: cubic fast convergence 92/15892/7
Florin Coras [Mon, 12 Nov 2018 17:13:10 +0000 (09:13 -0800)]
tcp: cubic fast convergence

Change-Id: I3a15960fe346763faf13e8728ce36c2f3bf7b05a
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agovlib:remove unused argument 56/15856/2
Eyal Bari [Mon, 12 Nov 2018 14:13:49 +0000 (16:13 +0200)]
vlib:remove unused argument

Change-Id: I88c3d3e516401bb1c84991515cd701c156ae19dd
Signed-off-by: Eyal Bari <ebari@cisco.com>
5 years agoipsec: fix typo 01/15901/4
Klement Sekera [Mon, 12 Nov 2018 13:42:00 +0000 (14:42 +0100)]
ipsec: fix typo

Change-Id: I04c59bbe1780e7289cb27a0a912803812fdc297e
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agojapi: Move Java API binding to cmake 47/15047/9
Mohsin Kazmi [Thu, 13 Sep 2018 07:59:50 +0000 (09:59 +0200)]
japi: Move Java API binding to cmake

Change-Id: I264d547a06e3636d021a74cd26efb8137f629cbc
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
5 years agoIGMP: improve CLI debug output 08/15908/2
Neale Ranns [Tue, 13 Nov 2018 13:27:18 +0000 (13:27 +0000)]
IGMP: improve CLI debug output

Change-Id: If88fc3acdba1f73b3e8be94d8014556c5239596c
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoL2 feautre bitmaps output verbose/non-verbose mode 51/15851/2
Neale Ranns [Fri, 9 Nov 2018 16:19:27 +0000 (08:19 -0800)]
L2 feautre bitmaps output verbose/non-verbose mode

Change-Id: I15ff191ee8724a3354c074db590472db05e0652e
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agovlib rename vlib_frame_args(...) to vlib_frame_scalar_args(..) 97/15897/2
Damjan Marion [Sat, 10 Nov 2018 09:23:00 +0000 (10:23 +0100)]
vlib rename vlib_frame_args(...) to vlib_frame_scalar_args(..)

Typically we have scalar_size == 0, so it doesn't matter
but vlib_frame_args was providing pointer to scalar frame
data, not vector data. To avoid future confusion function
is renamed to vlib_frame_scalar_args(...)

Change-Id: I48b75523b46d487feea24f3f3cb10c528dde516f
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agotcp: handle disconnects after enq notifications 45/15845/4
Florin Coras [Fri, 9 Nov 2018 22:34:08 +0000 (14:34 -0800)]
tcp: handle disconnects after enq notifications

Make sure that we notify the app of the data enqueued in the burst
before notifying of disconnect.

Change-Id: I7747a5cbb4c6bc9132007f849c24ce04b7841273
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agodocs: add 1810, including package cloud 43/15843/2
jdenisco [Fri, 9 Nov 2018 20:20:26 +0000 (15:20 -0500)]
docs: add 1810, including package cloud

Change-Id: Ieae5fc7c1e099392bc2a4e5948669d9210f2ebac
Signed-off-by: jdenisco <jdenisco@cisco.com>
5 years agoIPv6: Make link-local configurable per-interface (VPP-1446) 03/15503/4
Juraj Sloboda [Mon, 22 Oct 2018 07:57:13 +0000 (09:57 +0200)]
IPv6: Make link-local configurable per-interface (VPP-1446)

Remove old nonfunctional code for setting link-local addresses.
Use common API for setting all IPv6 addresses.

Change-Id: I562329df86341f81ef2441510a9eefbbf710f6e0
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 years agoproxy-app: fix active connect 44/15844/3
Florin Coras [Fri, 9 Nov 2018 21:40:02 +0000 (13:40 -0800)]
proxy-app: fix active connect

Change-Id: Ib55684dd3f1d39f5436d6feb2fb105583027493c
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agopmalloc: u32 pp->index leads to va address overrun 47/15847/1
Kingwel Xie [Sat, 10 Nov 2018 07:56:00 +0000 (02:56 -0500)]
pmalloc: u32 pp->index leads to va address overrun

when pagesize is 1G, this pm->base + (pp->index << pm->def_log2_page_sz) would very soon overrun if creating multiple mempools
add a (uword) to it

Change-Id: If769b99d344cc3f547418a242a7497d044071615
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
5 years agoFix logging into multiple files 37/15837/2
juraj.linkes [Fri, 9 Nov 2018 10:58:54 +0000 (11:58 +0100)]
Fix logging into multiple files

When running tests in one process, only one logger was used and each
testcase added its own file handler, which resulted in logs appearing in
multiple files. Fix this by restoring the creation of new loggers
for each testcase and only reuse the stream handler from parent process.

Change-Id: I5b8471e041dc769128fddb433d33812bfcb5ecf6
Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
5 years agodpdk: configure ip4 header checksum rx offload properly 46/15846/1
Damjan Marion [Fri, 9 Nov 2018 22:30:20 +0000 (23:30 +0100)]
dpdk: configure ip4 header checksum rx offload properly

Change-Id: I3daf8d473aa37b4597d130d19913b782cf7b8511
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoGBP: Fix error-strings array in gbp-vxlan4 41/15841/1
Neale Ranns [Fri, 9 Nov 2018 14:45:21 +0000 (06:45 -0800)]
GBP: Fix error-strings array in gbp-vxlan4

Change-Id: I36c2fa33cdc1db9a6af9b48c99e281abd8af1b6e
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agotcp: separate unit and throughput tests 33/15833/4
Florin Coras [Thu, 8 Nov 2018 21:58:19 +0000 (13:58 -0800)]
tcp: separate unit and throughput tests

Change-Id: I249e68874dcf38b07179e0e769f6eb49a43377b7
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agotcp: basic cubic implementation 79/14979/22
Florin Coras [Tue, 25 Sep 2018 21:00:34 +0000 (14:00 -0700)]
tcp: basic cubic implementation

Because the code is not optimized, newreno is still the default
congestion control algorithm.

Change-Id: I7061cc80c5a75fa8e8265901fae4ea2888e35173
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agovnet: remove unused field 30/15830/2
Damjan Marion [Thu, 8 Nov 2018 18:45:27 +0000 (19:45 +0100)]
vnet: remove unused field

It is not used and just confuses people...

Change-Id: Ic731432a785731271531f183b448e4591a1d2a8b
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoCalculate clock rounding constant 11/15811/2
Dave Barach [Wed, 7 Nov 2018 22:40:19 +0000 (17:40 -0500)]
Calculate clock rounding constant

Compute the first power of ten which is greater than 0.1% of the clock
rate. Save the result, and use it to round future results. The
previous constant value - 1e7 - didn't work properly on aarch64.

Change-Id: Ic021e3eb1b90c0d4a7d9f1b6425123f0c8b48b0b
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agovnet: store hw interface speed in kbps instead of using flags 28/15828/4
Damjan Marion [Thu, 8 Nov 2018 14:30:16 +0000 (15:30 +0100)]
vnet: store hw interface speed in kbps instead of using flags

Change-Id: Idd4471a3adf7023e48e85717f00c786b1dde0cca
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoIP load-balance; trace at the end of the node so the flow hash used is displayed 29/15829/2
Neale Ranns [Thu, 8 Nov 2018 15:31:36 +0000 (07:31 -0800)]
IP load-balance; trace at the end of the node so the flow hash used is displayed

Change-Id: Idbce0393fc9e6e8dbb2765ed164ba7f90d1ffccc
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoavf: update virtchnl header file 27/15827/2
Damjan Marion [Thu, 8 Nov 2018 13:55:07 +0000 (14:55 +0100)]
avf: update virtchnl header file

Change-Id: I755525d953605561477eeb2252ef38c60000c70a
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agophysmem: Add physmem map support 06/15806/3
Mohsin Kazmi [Wed, 7 Nov 2018 15:55:18 +0000 (16:55 +0100)]
physmem: Add physmem map support

This patch adds support for mapping the virtual address to physical
address and size of memory allocated.

Change-Id: I7659a1881308e89b215c486fecd7c973076d0773
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agotlsopenssl: remove unused #include 22/15822/2
Klement Sekera [Thu, 8 Nov 2018 12:06:24 +0000 (13:06 +0100)]
tlsopenssl: remove unused #include

Change-Id: I294e4f93e925c58765d4692337208fcee7d12886
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agomake test: remove unnecessary check 21/15821/2
Klement Sekera [Thu, 8 Nov 2018 12:05:37 +0000 (13:05 +0100)]
make test: remove unnecessary check

Change-Id: I90ee144a5c5a2e753e36d45c0ce98c9a8b477f15
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agomake test: bfd refactor 17/15817/4
Klement Sekera [Thu, 8 Nov 2018 10:52:04 +0000 (11:52 +0100)]
make test: bfd refactor

Change-Id: I14a126521d8c8138904c8b9da05d4144c72c51a5
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agomake test: rename dummy test name 16/15816/2
Klement Sekera [Thu, 8 Nov 2018 10:49:04 +0000 (11:49 +0100)]
make test: rename dummy test name

Change-Id: I5727b08bdc8bdaaf83a9f08d171d76bd6f67564e
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agomake test: p2p ethernet refactor 15/15815/3
Klement Sekera [Thu, 8 Nov 2018 10:24:34 +0000 (11:24 +0100)]
make test: p2p ethernet refactor

Change-Id: I48b4b3eaa84e4174e4d0305594675bf983184fa0
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agotcp: pacer and mrtt estimation improvements 08/15808/8
Florin Coras [Wed, 7 Nov 2018 20:49:19 +0000 (12:49 -0800)]
tcp: pacer and mrtt estimation improvements

- update pacer once per burst
- better estimate initial rtt
- compute smoothed average for higher precision rtt estimate

Change-Id: I06d41a98784cdf861bedfbee2e7d0afc0d0154ef
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agovlib: use index to free suspended frame 12/15812/2
Florin Coras [Thu, 8 Nov 2018 04:46:38 +0000 (20:46 -0800)]
vlib: use index to free suspended frame

Avoids crash if suspended_process_frames grows.

Change-Id: Id26ef0dd0dd001b997c531c4dec004e7e7989670
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoGBP: fix for coverity found errors 14/15814/2
Neale Ranns [Thu, 8 Nov 2018 08:13:58 +0000 (00:13 -0800)]
GBP: fix for coverity found errors

Change-Id: Id69678adb578b323ae18034d1b1fddb7417bcc08
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agopmalloc: fix shared mappings 05/15805/1
Damjan Marion [Wed, 7 Nov 2018 16:55:26 +0000 (17:55 +0100)]
pmalloc: fix shared mappings

Change-Id: I6782544d5ee0a66b1a027874b23574416093ca92
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoVOM: GBP missing header file exports 75/15775/2
Neale Ranns [Wed, 7 Nov 2018 12:03:13 +0000 (04:03 -0800)]
VOM: GBP missing header file exports

Change-Id: I24a894bde170669a05f1a7d58afc70524538f060
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoGBP: Endpoints with VLAN tags and birdges that don't learn 86/15786/2
Neale Ranns [Wed, 7 Nov 2018 12:21:12 +0000 (04:21 -0800)]
GBP: Endpoints with VLAN tags and birdges that don't learn

Change-Id: I20192f3a8f4f01f47e775746f6fde7c685f185ee
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agotcp: consume incoming buffers instead of reusing 33/15733/12
Florin Coras [Mon, 5 Nov 2018 23:57:21 +0000 (15:57 -0800)]
tcp: consume incoming buffers instead of reusing

Instead of reusing buffers for acking, consume all buffers and program
output for (dup)ack generation. This implicitly fixes the drop counters
that were artificially inflated by both data and feedback traffic.

Moreover, the patch also significantly reduces the ack traffic as we now
only generate an ack per frame, unless duplicate acks need to be sent.

Because of the reduced feedback traffic, a sender's rx path and a
receiver's tx path are now significantly less loaded. In particular, a
sender can overwhelm a 40Gbps NIC and generate tx drop bursts for low
rtts. Consequently, tx pacing is now enforced by default.

Change-Id: I619c29a8945bf26c093f8f9e197e3c6d5d43868e
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoOptimize xxx_zero_byte_mask NEON function 56/15756/2
Lijian Zhang [Wed, 31 Oct 2018 05:35:20 +0000 (13:35 +0800)]
Optimize xxx_zero_byte_mask NEON function

Optimize zero byte mask NEON functions below with less intrinsics,
and get their outputs consistent with functions in vector_sse42.h

always_inline u32 u64x2_zero_byte_mask (u64x2 input)
always_inline u32 u32x4_zero_byte_mask (u32x4 input)
always_inline u32 u16x8_zero_byte_mask (u16x8 input)
always_inline u32 u8x16_zero_byte_mask (u8x16 input)
always_inline u32 i64x2_zero_byte_mask (i64x2 input)
always_inline u32 i32x4_zero_byte_mask (i32x4 input)
always_inline u32 i16x8_zero_byte_mask (i16x8 input)
always_inline u32 i8x16_zero_byte_mask (i8x16 input)

Change-Id: I7f485915baeb37fa2dd484699b8769e0136f6574
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Reviewed-by: Sirshak Das <Sirshak.Das@arm.com>
5 years agol2: convert l2_patch to new multiarch scheme 40/15740/2
Damjan Marion [Tue, 6 Nov 2018 12:33:27 +0000 (13:33 +0100)]
l2: convert l2_patch to new multiarch scheme

Change-Id: I30487bd736407378fb5a6d313e4eef12bbb262b8
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoGBP Endpoint Learning 23/15223/12
Neale Ranns [Wed, 10 Oct 2018 14:22:51 +0000 (07:22 -0700)]
GBP Endpoint Learning

Learning GBP endpoints over vxlan-gbp tunnels

Change-Id: I1db9fda5a16802d9ad8b4efd4e475614f3b21502
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
5 years agoNAT44: fix undesired dependency between static mapping and address from the pool... 58/15758/2
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>
5 years agoUnresolved symbols in libvapiclient 70/15770/1
Neale Ranns [Wed, 7 Nov 2018 10:20:36 +0000 (02:20 -0800)]
Unresolved symbols in libvapiclient

Change-Id: I6d6a73ac62f24928fb51e89948b92a1cb9134c40
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoUpdate the vpp config utility 54/15754/2
jdenisco [Tue, 6 Nov 2018 21:10:04 +0000 (16:10 -0500)]
Update the vpp config utility

Change-Id: If278d7c6dda9e29736f5aa6f1cb04b49da378509
Signed-off-by: jdenisco <jdenisco@cisco.com>
5 years agovmxnet3: reduce calling vmxnet3_reg_write_inline 79/15679/3
Steven [Fri, 2 Nov 2018 23:28:52 +0000 (16:28 -0700)]
vmxnet3: reduce calling vmxnet3_reg_write_inline

In output.c, we buffer the descriptors and call vmxnet3_reg_write_inline
once outside the loop. This change improves the performance dramatically.

When refilling the ring, there is no need to inform the device unless
explicitly specified by the device (ctrl.update_prod == 1)

Change-Id: I7031d58bff0d249e913d14236d416c91eb6ab94a
Signed-off-by: Steven <sluong@cisco.com>
5 years agoVCL: Fix socket_test.sh to build test apps. 55/15755/2
Dave Wallace [Tue, 6 Nov 2018 22:45:32 +0000 (17:45 -0500)]
VCL: Fix socket_test.sh to build test apps.

- Replace autoconf base test app build detection
  with appropriate cmake based incantation.
- Use the dpdk_devbind.py that is in the VPP tree.

Change-Id: I4cdc11d159e2413d6bdb9c5ffcf1ed2d787b1cc5
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 years agomarvell: bump musdk version to 18.09.3 53/15753/2
Damjan Marion [Tue, 6 Nov 2018 19:34:07 +0000 (19:34 +0000)]
marvell: bump musdk version to 18.09.3

Change-Id: Ifb841312d4a382547153b24903230b407f649e73
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agodpdk: don't automatically whitelist vmxnet3 PCI interfaces 52/15752/2
Steven [Tue, 6 Nov 2018 20:32:58 +0000 (12:32 -0800)]
dpdk: don't automatically whitelist vmxnet3 PCI interfaces

If no PCI address is specified in dpdk config, the default to automatically
put all PCIs in the whitelist.
For vmxnet3 PCIs, we want to change its default to exclude the vmxnet3 PCIs.
That is to put them in the blacklist instead of whitelist.

Change-Id: I2b7061d6437910eb0e1b16df19a770cab968c602
Signed-off-by: Steven <sluong@cisco.com>
5 years agoBD ARP entry use common API types 94/15494/6
Neale Ranns [Wed, 24 Oct 2018 09:57:49 +0000 (02:57 -0700)]
BD ARP entry use common API types

Change-Id: I29f20dbaf2c2d735faff297cee552ed648f6f61b
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agodocs: Add version and build date 51/15751/2
jdenisco [Tue, 6 Nov 2018 17:32:33 +0000 (12:32 -0500)]
docs: Add version and build date

Change-Id: I6fd53d3ef12e4b6f1af1e5605c09938bce324ec9
Signed-off-by: jdenisco <jdenisco@cisco.com>
5 years agovhost: crash in vhost_user_tx_avx2 85/15685/2
Steven [Sun, 4 Nov 2018 16:20:01 +0000 (08:20 -0800)]
vhost: crash in vhost_user_tx_avx2

(gdb) bt
bt
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb) frame 5
frame 5
293       if (PREDICT_FALSE (rxvq->last_avail_idx == rxvq->avail->idx))
(gdb) p *rxvq
p *rxvq
$3 = {cacheline0 = 0x7f290bcadd80 "\377\003", qsz_mask = 1023, last_avail_idx = 0, last_used_idx = 0, n_since_last_int = 0, desc = 0x0, avail = 0x0, used = 0x0, int_deadline = 0, started = 1 '\001', enabled = 1 '\001', log_used = 0 '\000', cacheline1 = 0x7f290bcaddc0 "\377\377\377\377\016", errfd = -1, callfd_idx = 14, kickfd_idx = 19, log_guest_addr = 5151049792, mode = 0}

The crash is because we access the null pointer rxvq->avail,
which is supposed to be derived from the mmap informed by the driver.
We fixed a similar issue before in

    https://gerrit.fd.io/r/#/c/14545/

The reason was the driver ummaps the memory without doing the disconnect in
SR-IOV environment. The fixed was applied to the RX path. Now it happens in the
TX path. We just need to apply the same check in the TX path.

Change-Id: I7b1dfc96797cb5b52845bc6cec09a8c5d4325280
Signed-off-by: Steven <sluong@cisco.com>
5 years agodocs: Small changes to plugin, updated the requirements 44/15644/2
jdenisco [Wed, 31 Oct 2018 18:24:31 +0000 (14:24 -0400)]
docs: Small changes to plugin, updated the requirements

Change-Id: I3c05a28991d01e726d4fa8580a720359a2d4ce91
Signed-off-by: jdenisco <jdenisco@cisco.com>
5 years agoIGMP: Improved handling of (*,G) join and leave 49/15749/3
Neale Ranns [Tue, 6 Nov 2018 13:51:58 +0000 (05:51 -0800)]
IGMP: Improved handling of (*,G) join and leave

Change-Id: I48a92035b58d83420eb3eed3f05a75ba283543c2
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoVPP-1481: fixed tlv length checking & added tests 89/15689/5
Filip Varga [Mon, 5 Nov 2018 08:41:56 +0000 (09:41 +0100)]
VPP-1481: fixed tlv length checking & added tests

Change-Id: I9375bca5f5136c84d801dbd635929bb1c37d75b4
Signed-off-by: Filip Varga <filip.varga@pantheon.tech>
5 years agodpdk: format_dpdk_device_name cleanup 37/15737/2
Damjan Marion [Tue, 6 Nov 2018 11:56:47 +0000 (12:56 +0100)]
dpdk: format_dpdk_device_name cleanup

Change-Id: I49a5029d256df8f749ee30d19ff7473147b6516f
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoChange l2_patch from dual-loop to quad-loop 83/15383/4
Yulong Pei [Fri, 19 Oct 2018 15:29:29 +0000 (23:29 +0800)]
Change l2_patch from dual-loop to quad-loop

The change can save 1.1 clocks per packet on Intel Atom C3858 platform,
It downgraded from 2.05e1 to 1.94e1 clocks per packet.

The change can save 0.3 clocks per packet on Intel Xeon CPU E5-2699 v4 @ 2.20GHz,
It downgraded from 1.26e1 to 1.23e1 clocks per packet.

Change-Id: I1ede77fb592a797d86940a8abad9ca291a89f1c7
Signed-off-by: Yulong Pei <yulong.pei@intel.com>
5 years agodpdk: fix device name suffix confusion with failsafe/netvsc 32/15732/2
Stephen Hemminger [Mon, 5 Nov 2018 20:54:16 +0000 (12:54 -0800)]
dpdk: fix device name suffix confusion with failsafe/netvsc

When netvsc or failsafe DPDK device is used, the DPDK port id does not
match the VPP device instance id.  The code that formats the device
name was incorrectly calling DPDK device info using the VPP device
instance id. This causes the VPP interface to be named
"FortyGigabit0/2/0" based on mistakenly finding the PCI device
information of the hidden DPDK port id for the VF device.

Change-Id: I9366232f4b2087076bdcc1a58bf228007c24c084
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
5 years agodpdk: fix pmd device type when using netvsc or failsafe 29/15729/2
Stephen Hemminger [Mon, 5 Nov 2018 19:32:31 +0000 (11:32 -0800)]
dpdk: fix pmd device type when using netvsc or failsafe

The pmd device type show with 'show hardware' is wrong if using failsafe
(or netvsc pmd) because the pmd device type should be based of the VPP device
instance, not the DPDK port id.

Fixes: a059a000f81a ("dpdk: Decoupling the meaning of xd->device_index in dpdk_plugin")
Change-Id: I3880fe674731880c5706a21d8ef3ccf8d569d46d
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
5 years agotcp: dequeue acked only once per burst 28/15728/4
Florin Coras [Mon, 5 Nov 2018 19:06:53 +0000 (11:06 -0800)]
tcp: dequeue acked only once per burst

Avoid dequeuing acked bytes more than once per burst for a connection.
Although the fifos do not use locks, size decrements are atomic, so they
rely on locked instructions.

Change-Id: Id65f4ea40b2c10057461402dfd0393034e6472d5
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoacl-plugin: 5-tuple parse: get rid of memcpy and move to flags vs. bitfields 09/15709/2
Andrew Yourtchenko [Thu, 25 Oct 2018 17:01:49 +0000 (19:01 +0200)]
acl-plugin: 5-tuple parse: get rid of memcpy and move to flags vs. bitfields

Using bitfield struct for 5tuple proved to be fragile from
the performance standpoint - the zeroizing of the entire
structure and then setting the separate pieces of it
triggers increased memory latency. So, move to using
flags byte.

Also, use the direct object copies rather than memcpy.

Change-Id: Iad8faf9de050ff1256e40c950dee212cbd3e5267
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agovxlan: prefetch extra one cacheline holding external header 88/15688/2
Zhiyong Yang [Mon, 5 Nov 2018 08:45:25 +0000 (03:45 -0500)]
vxlan: prefetch extra one cacheline holding external header

For vxlan_encap, code will touch memory area before the field "data"
in struct vlib_buffer_t, however so far it is not prefetched in cache
yet for this graph node.
After applying the patch, 2~3 cycles per pkt for vxlan4_encap can be
saved on Haswell. It will bring a lot of benefits on DVN platform too.

Change-Id: I26d8c57fb3d2415726be5367117d73eb715e35ad
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
5 years agodpdk: enable gso when the tap PMD is enabled 19/15619/2
Matthew Smith [Mon, 29 Oct 2018 21:35:30 +0000 (16:35 -0500)]
dpdk: enable gso when the tap PMD is enabled

Setting DPDK_PMD_TAP=y when building will enable the tap PMD
in the build configuration that is generated for DPDK. Enabling
this currently results in a failure during compilation because
rte_gso.h is not found. RTE_LIBRTE_GSO needs to be set to y for
this to work.

Use the setting for the tap PMD to determine the value for
RTE_LIBRTE_GSO.

Change-Id: Ie395417b1c62369a95320856081ad52c674ce9f2
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
5 years agoDon't autodetect plugin path if set on cmdline 41/15641/3
Klement Sekera [Wed, 31 Oct 2018 18:06:54 +0000 (19:06 +0100)]
Don't autodetect plugin path if set on cmdline

Change-Id: Idf79f261a7590038c1813d3996f4644e3d7e0cbe
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agoEnable atomic swap and store macro with acquire and release ordering 18/15618/5
Sirshak Das [Fri, 12 Oct 2018 14:38:27 +0000 (09:38 -0500)]
Enable atomic swap and store macro with acquire and release ordering

Add atomic swap and store macro with acquire and release ordering
respectively.  Variable in question is interupt_pending variable which
is used as guard variable by input nodes to process the device queue.

Atomic Swap is used with Acquire ordering as writes or reads following
this in program order should not be reordered before the swap.

Atomic Store is used with Release ordering, as post store the node is
added to pending list.

Change-Id: I1be49e91a15c58d0bf21ff5ba1bd37d5d7d12f7a
Original-patch-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Sirshak Das <sirshak.das@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Ola Liljedahl <ola.liljedahl@arm.com>
5 years agoGenric API types format/unformat support for VAT and custom dump 77/15677/2
Neale Ranns [Fri, 2 Nov 2018 16:14:01 +0000 (09:14 -0700)]
Genric API types format/unformat support for VAT and custom dump

Change-Id: I8bc3a991f0ede0605d78b51ba609fbe5889513f2
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoVPP-1450: binary api call for dumping SPD to interface registration 74/15674/5
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>
5 years agotcp: send unsent data in fast recovery 78/15678/10
Florin Coras [Fri, 2 Nov 2018 19:52:10 +0000 (12:52 -0700)]
tcp: send unsent data in fast recovery

Allows sending of unsent data in fast recovery and consolidates logic in
tcp, instead of splitting it between tcp fast retransmit and tcp output
path called by the session layer.

Change-Id: I9b12cdf2aa2ac50b9f25e46856fed037163501fe
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoProvide return value for PAPI disconnect() 89/15489/4
Igor Mikhailov (imichail) [Wed, 24 Oct 2018 00:58:14 +0000 (17:58 -0700)]
Provide return value for PAPI disconnect()

Change-Id: I209f570634636725ce8fda5f61e900a71227b888
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
5 years agoAlter logging semantics for VPP PAPI object 17/15617/2
Igor Mikhailov (imichail) [Tue, 30 Oct 2018 19:17:49 +0000 (12:17 -0700)]
Alter logging semantics for VPP PAPI object

Restore parts of commit d0e812f wiped out by a7564e80

The full description of the change is in d0e812f

Change-Id: I632476cb10678a725396462f90f9b0bea9e572fa
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
5 years agotcp: coverity fixes 76/15676/2
Florin Coras [Fri, 2 Nov 2018 15:23:58 +0000 (08:23 -0700)]
tcp: coverity fixes

Change-Id: Ib15d629c5fde7849bfa3307f42659e920eb0f463
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agocdp scapy protocol & cdp unit tests 22/15622/6
Filip Varga [Wed, 31 Oct 2018 06:58:05 +0000 (07:58 +0100)]
cdp scapy protocol & cdp unit tests

Change-Id: Ieb362523f81f7ae3e1a9dceb341c499ff1f402c8
Signed-off-by: Filip Varga <fivarga@cisco.com>
5 years agovnet: ping: rewrite for maintainability and multicore support 57/15557/11
Andrew Yourtchenko [Fri, 26 Oct 2018 13:13:56 +0000 (15:13 +0200)]
vnet: ping: rewrite for maintainability and multicore support

Refactor most of the ping code to be address-family agnostic,
and add support for chained buffers (thus, sending
the payloads bigger than 2K).

Change-Id: I749c302ca2f3390e0d1f84046fc72da5cf13e3ef
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agovlib: define minimum chained buffer segment size 28/15628/4
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>
5 years agodpdk: restore special handling for failsafe driver 64/15664/2
Stephen Hemminger [Thu, 1 Nov 2018 21:17:14 +0000 (14:17 -0700)]
dpdk: restore special handling for failsafe driver

The failsafe driver is unique because it shares device with underlying
pci device. This confuses name generation. Without this fix, the name
is wrong and multiple devices get created with same name.

Fixes: 3901a038edf4 ("dpdk: only look at PCI information on PCI devices")
Change-Id: I13796d03baf6c76dafe3667c83bea4a1ae30c48f
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
5 years agosession: measure dispatch period only if under load 68/15668/7
Florin Coras [Thu, 1 Nov 2018 23:30:54 +0000 (16:30 -0700)]
session: measure dispatch period only if under load

Also reset pacer on tcp retransmit timeout

Change-Id: I5a9edee4c00d1d169248d79587a9b10437c2bd87
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agotcp: minimize use of tls 63/15663/7
Florin Coras [Thu, 1 Nov 2018 18:23:03 +0000 (11:23 -0700)]
tcp: minimize use of tls

Also propagate tcp worker context instead of retrieving it multiple
times.

Change-Id: I7b273b981826b37783566d0172a64cd6957f3b33
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoarp:add error counters for all failure cases 30/15630/3
Eyal Bari [Wed, 31 Oct 2018 11:19:11 +0000 (13:19 +0200)]
arp:add error counters for all failure cases

Change-Id: Ided6c661edc9e2035fd7b472c312e2380d3f9c0b
Signed-off-by: Eyal Bari <ebari@cisco.com>
5 years agotcp: fast retransmit pacing 58/15658/4
Florin Coras [Thu, 1 Nov 2018 06:09:22 +0000 (23:09 -0700)]
tcp: fast retransmit pacing

Force pacing for fast retransmit to avoid bursts of retransmitted
packets.

Change-Id: I2ff42c328899b36322c4de557b1f7d853dba8fe2
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoMove RPC calls off the binary API input queue 60/15660/2
Dave Barach [Thu, 1 Nov 2018 12:12:52 +0000 (08:12 -0400)]
Move RPC calls off the binary API input queue

Change-Id: I2476e3e916a42b41d1e66bfc1ec4f8c4264c1720
Signed-off-by: Dave Barach <dbarach@cisco.com>
5 years agoFix API name_crc format stored in msg_api_table 53/15653/2
Igor Mikhailov (imichail) [Wed, 31 Oct 2018 21:20:04 +0000 (14:20 -0700)]
Fix API name_crc format stored in msg_api_table

Change-Id: I716d025beb8f649060238c2bd388357943643621
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
5 years agovom: Add igmp 'host' support in vom 15/15615/6
Mohsin Kazmi [Tue, 30 Oct 2018 18:24:34 +0000 (19:24 +0100)]
vom: Add igmp 'host' support in vom

Change-Id: Ibdb19d21b8ec7fb340a057e32df207b7723dba9b
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agosession: fix sh session cli 45/15645/2
Florin Coras [Wed, 31 Oct 2018 19:25:38 +0000 (12:25 -0700)]
session: fix sh session cli

Change-Id: Idbc7b61393c6d0e3b8ea950397a89d21b1cf3a42
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoMakefile: support both RHEL and CentOS in install-dep 43/15643/1
Yichen Wang [Wed, 31 Oct 2018 05:52:15 +0000 (22:52 -0700)]
Makefile: support both RHEL and CentOS in install-dep

Change-Id: I31fd8700bfac462944b7621947edd3710fd247b9
Signed-off-by: Yichen Wang <yicwang@cisco.com>
5 years agomake-test: Fix the vapi test 40/15640/1
Mohsin Kazmi [Wed, 31 Oct 2018 15:45:19 +0000 (16:45 +0100)]
make-test: Fix the vapi test

Change-Id: I5a4dc3894818f92368d6c906ff43e093c16c1d19
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agoEMACS-LISP-ONLY: fix names of xxx_main_t pointers 39/15639/1
Dave Barach [Wed, 31 Oct 2018 13:54:34 +0000 (09:54 -0400)]
EMACS-LISP-ONLY: fix names of xxx_main_t pointers

main_t pointer: <first-letter-of-plugin-name> + "mp"
test_main_t pointer: <first-letter-of-plugin-name> + "mp"

AKA: (setq main-p (concat (substring plugin-name 0 1) "mp")) etc.

Change-Id: Ie1b38fb62485183bbe00f649683492aa82a21376
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agoEMACS-LISP-ONLY: fix boilerplate compile error 38/15638/1
Dave Barach [Wed, 31 Oct 2018 13:23:35 +0000 (09:23 -0400)]
EMACS-LISP-ONLY: fix boilerplate compile error

Change-Id: I81defe6465219e23a44608fcf0570a058ab3f59e
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agoAdd and enable msb mask vector intrinsic for aarch64. 06/15606/4
Lijian Zhang [Thu, 25 Oct 2018 10:50:33 +0000 (18:50 +0800)]
Add and enable msb mask vector intrinsic for aarch64.

This patch enables the use of this function for enqueuing frames to the next graph node.

Change-Id: I4003110db59870f7106e0d13942d6ff7bc54b46d
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Reviewed-by: Sirshak Das <Sirshak.Das@arm.com>
Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
Reviewed-by: Steve Capper <Steve.Capper@arm.com>
5 years agol2fib:remove unused bucket arg in lookup functions 27/15627/1
Eyal Bari [Wed, 31 Oct 2018 08:55:33 +0000 (10:55 +0200)]
l2fib:remove unused bucket arg in lookup functions

Change-Id: Ib138b6e2eac47acc16e81bc88358ae7947420134
Signed-off-by: Eyal Bari <ebari@cisco.com>
5 years agosession: prioritize postponed sessions 14/15614/5
Florin Coras [Tue, 30 Oct 2018 17:21:59 +0000 (10:21 -0700)]
session: prioritize postponed sessions

If sessions cannot be handled during the current dispatch loop
iteration, ensure that they are first to be handled in the next.

Change-Id: Ifc6215900f8cfd530d4886b58641189f0ccf9bb7
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agosession: add wrk context 16/15616/5
Florin Coras [Tue, 30 Oct 2018 19:01:48 +0000 (12:01 -0700)]
session: add wrk context

Change-Id: I66ca0ddea872948507d078e405eb90f9f3a0e897
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoADJ: init MTU to interface default 05/15605/2
Neale Ranns [Tue, 30 Oct 2018 13:34:25 +0000 (06:34 -0700)]
ADJ: init MTU to interface default

Change-Id: Iaecf8c060e1337d8c362ad9a9be2bb9701664397
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoDOC-ONLY: document packet intialization from scratch 10/15610/2
Dave Barach [Tue, 30 Oct 2018 14:24:17 +0000 (10:24 -0400)]
DOC-ONLY: document packet intialization from scratch

Minor clean-up in the home gateway use-case documentation

Change-Id: I7d3aaea8cec62248daf7814b21a8acb574ac12a1
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agochange mac address functions take const mac 00/15600/2
Neale Ranns [Tue, 30 Oct 2018 10:47:20 +0000 (03:47 -0700)]
change mac address functions take const mac

Change-Id: Ia68db22b917e9af1394c00e5a6b3df134bfd1568
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agodocs: Add VPP with iperf and trex 04/15604/2
jdenisco [Tue, 30 Oct 2018 12:46:02 +0000 (08:46 -0400)]
docs: Add VPP with iperf and trex

Change-Id: I9f238b6092bc072fd875facfee5262c6b155043e
Signed-off-by: jdenisco <jdenisco@cisco.com>
5 years agoDOC-ONLY: upgrade the "requests" package 03/15603/2
Dave Barach [Tue, 30 Oct 2018 12:35:06 +0000 (08:35 -0400)]
DOC-ONLY: upgrade the "requests" package

requests 2.18.4 is the subject of a security alert

Change-Id: Id1e9338d86bced8c0bb065db7b3dc7f02aa41afc
Signed-off-by: Dave Barach <dave@barachs.net>