vpp.git
5 years agoUpdate code to compute checksum for buffer chains 15/15015/2
Juraj Sloboda [Wed, 26 Sep 2018 12:25:32 +0000 (14:25 +0200)]
Update code to compute checksum for buffer chains

Compute ICMP checksum for buffer chains
Fix checksum function for buffer chains

Change-Id: I39b845b94a63c3ab5fc9f6f9ab36cadbc67c104f
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
5 years agotls: fix disconnects for sessions with pending data 64/15064/5
Florin Coras [Sat, 29 Sep 2018 17:23:06 +0000 (10:23 -0700)]
tls: fix disconnects for sessions with pending data

TLS can enqueue events to itself when app session queue cannot be
entirely drained. If a pending disconnect is handled before any such
event, session layer may try to dequeue data on deallocated sessions.

Change-Id: I5bfc4d53ce95bc16b6a01e1b0e644aafa1ca311b
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agotcp: fix close wait timeout with no fin 79/15079/3
Florin Coras [Mon, 1 Oct 2018 15:32:04 +0000 (08:32 -0700)]
tcp: fix close wait timeout with no fin

Change-Id: Icba9b0dc6dcb4b72288f966728201812d8d12144
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agotcp: accept fins if in recovery 89/15089/2
Florin Coras [Tue, 2 Oct 2018 01:31:02 +0000 (18:31 -0700)]
tcp: accept fins if in recovery

Change-Id: I0c9c055fcc3d681c4032228a90cc81f484e200f0
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoFix documentation about sw_interface_set_l2_bridge 87/15087/1
Yichen Wang [Mon, 1 Oct 2018 18:15:25 +0000 (11:15 -0700)]
Fix documentation about sw_interface_set_l2_bridge

Change-Id: I53e0e7d2cf1e3c52794830b33fa93d1582b74769
Signed-off-by: Yichen Wang <yicwang@cisco.com>
5 years agoSource VRF Select 77/15077/2
Neale Ranns [Mon, 1 Oct 2018 08:42:13 +0000 (01:42 -0700)]
Source VRF Select

match against a packet's source address to determine
the VRF for the subsequent destination address lookup.

Change-Id: I48ee0ef54dcb891f0ec7f879e4d3b925a0ed0081
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoRename device class from PPPPOE to PPPoE 81/15081/2
Paul Vinciguerra [Mon, 1 Oct 2018 15:36:26 +0000 (08:36 -0700)]
Rename device class from PPPPOE to PPPoE

Change-Id: Ia20eee6cef360b1acd768101df0713f0005a7d14
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agodpdk: updated makefile to enable QAT cryptodev 78/15078/2
Radu Nicolau [Mon, 1 Oct 2018 14:57:31 +0000 (15:57 +0100)]
dpdk: updated makefile to enable QAT cryptodev

Change-Id: I2d70f2f29f3af10b6e43dde235fdf90a4596eb35
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
5 years agoAdd adjacency counters to the stats segment 35/15035/4
Neale Ranns [Fri, 28 Sep 2018 12:00:57 +0000 (05:00 -0700)]
Add adjacency counters to the stats segment

Change-Id: I6b59df939c9daf40e261d73d19f500bd90abe6ff
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
5 years agovat: fix coverity warning for show_threads 82/15082/2
Mohsin Kazmi [Mon, 1 Oct 2018 15:41:08 +0000 (17:41 +0200)]
vat: fix coverity warning for show_threads

Change-Id: I8c226b91cc45f6f345444afd8d168e1292371582
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agoAPI / CLI event-log tracing 73/15073/2
Dave Barach [Mon, 1 Oct 2018 13:25:32 +0000 (09:25 -0400)]
API / CLI event-log tracing

Add an "elog trace [api][cli][barrier]" debug CLI command. Removed the
barrier elog test command. Remove unused reliable multicast code.

Change-Id: Ib3ecde901b7c49fe92b313d0087cd7e776adcdce
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agoFix the path error inside vcl socket_test.sh 12/14912/4
Yalei Wang [Thu, 20 Sep 2018 08:46:29 +0000 (16:46 +0800)]
Fix the path error inside vcl socket_test.sh

Change-Id: I5bcfbd436839e7a6dd82dc57cdb3b7fb6200a69c
Signed-off-by: Yalei Wang <william.wangyalei@huawei.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 years agothread: Add show threads api 65/14765/10
Mohsin Kazmi [Tue, 11 Sep 2018 18:27:09 +0000 (20:27 +0200)]
thread: Add show threads api

Change-Id: I3124238ab4d43bcef5590bad33a4ff0b5d8b7d15
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agomroute routers in the stats segment 46/15046/3
Neale Ranns [Fri, 7 Sep 2018 16:37:07 +0000 (09:37 -0700)]
mroute routers in the stats segment

Change-Id: I798e4fb6470ae9e763f8de1c290ff0fc3c0b7f9e
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoIGMP: handle (*,G) report with no source addresses 66/15066/2
Neale Ranns [Wed, 26 Sep 2018 13:51:39 +0000 (06:51 -0700)]
IGMP: handle (*,G) report with no source addresses

Change-Id: I363370b9d4a27b992bad55c48fc930a2fbea2165
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoSCTP: fix overflow issue with timestamp 20/15020/9
Marco Varlese [Thu, 27 Sep 2018 14:43:57 +0000 (16:43 +0200)]
SCTP: fix overflow issue with timestamp

Change-Id: I03bb47a2baa4375b7bf9347d95c4cc8de37fe510
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
5 years agoSupport dynamic dual/quad loop selection on aarch64 05/14905/11
Lijian Zhang [Mon, 10 Sep 2018 09:13:56 +0000 (17:13 +0800)]
Support dynamic dual/quad loop selection on aarch64

Currently, there are three variants available on aarch64, qdf24xx, thunderx2t99, and cortex-a72.
-DCLIB_N_PREFETCHES is passed to source code to select dual/quad implementation.
Besides, different compiler options are applied on these critical functions.

gcc-7.3.0 reports ICE(internal compiler error) with -mtune=thunderx2t99,
so -mtune=thunderx2t99 is enabled only when gcc version is greater than 7.3.0

Cavium ThunderX2, Impermenter 0x43, Part 0x0af
    -march=armv8-a+crc+crypto -mtune=thunderx2t99
Qualcomm Centriq 2400, Impermenter 0x51, Part 0xc00
    -march=armv8.1-a+crc+crypto -mtune=qdf24xx
Cortex-A72, Impermenter 0x41, Part 0xd08
    -march=armv8-a+crc+crypto -mtune=cortex-a72

Change-Id: Id5649c6325c1e642d0fd42535e3908793b13e02a
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>
5 years agovlib: barrier sync elog tracing improvements 36/15036/4
Dave Barach [Sun, 30 Sep 2018 19:54:06 +0000 (15:54 -0400)]
vlib: barrier sync elog tracing improvements

Change-Id: I2d3b8d5a7192ff68bee443a99346ecb807b2d833
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agovom: Fix the l2 port type in bridge domain 19/15019/2
Mohsin Kazmi [Thu, 27 Sep 2018 13:00:32 +0000 (15:00 +0200)]
vom: Fix the l2 port type in bridge domain

Change-Id: I8aba11142daeacce892ec529c2229ec54ee427e2
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agovcl: handle old events before blocking in epoll 54/15054/2
Florin Coras [Fri, 28 Sep 2018 21:59:37 +0000 (14:59 -0700)]
vcl: handle old events before blocking in epoll

Change-Id: I3e62c787882d93c3bfb398ed0d04ef56b3a60b2b
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agosession: lock msg queues while generating control events 48/15048/4
Florin Coras [Fri, 28 Sep 2018 17:35:45 +0000 (10:35 -0700)]
session: lock msg queues while generating control events

Change-Id: I229ce9c306a97956c87ccb8f7a1c5c9dac94ab31
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agogitignore: build/external/downloads 55/15055/1
Florin Coras [Fri, 28 Sep 2018 22:03:16 +0000 (15:03 -0700)]
gitignore: build/external/downloads

Change-Id: I041764a5546352086aa9803e4bbeb9dff5f8d69a
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agobond: tx performance enhancement part deux 29/15029/4
Steven [Fri, 28 Sep 2018 03:06:26 +0000 (20:06 -0700)]
bond: tx performance enhancement part deux

- Reduce per packet cost by buffering the output packet buffer indexes in the queue and
process the queue outside the packet processing loop.
- Move unnecessary variable initialization outside of the while loop.
- There is no need to save the old interface if tracing is not enabled.

Test result for 256 bytes packet comparison. Other packet size shows similar improvement.

With the patch
--------------
BondEthernet0-output             active              52836        13526016               0          1.71e1          256.00
BondEthernet0-tx                 active              52836        13526016               0          2.68e1          256.00
TenGigabitEthernet6/0/0-output   active              52836         6762896               0          9.17e0          127.99
TenGigabitEthernet6/0/0-tx       active              52836         6762896               0          6.97e1          127.99
TenGigabitEthernet6/0/1-output   active              52836         6763120               0          9.40e0          128.00
TenGigabitEthernet6/0/1-tx       active              52836         6763120               0          7.00e1          128.00
bond-input                       active              52836        13526016               0          1.76e1          256.00

Without the patch
-----------------
BondEthernet0-output             active              60858        15579648               0          1.73e1          256.00
BondEthernet0-tx                 active              60858        15579648               0          2.94e1          256.00
TenGigabitEthernet6/0/0-output   active              60858         7789626               0          9.29e0          127.99
TenGigabitEthernet6/0/0-tx       active              60858         7789626               0          7.01e1          127.99
TenGigabitEthernet6/0/1-output   active              60858         7790022               0          9.31e0          128.00
TenGigabitEthernet6/0/1-tx       active              60858         7790022               0          7.10e1          128.00
bond-input                       active              60858        15579648               0          1.77e1          256.00

Change-Id: Ib6d73a63ceeaa2f1397ceaf4c5391c57fd865b04
Signed-off-by: Steven <sluong@cisco.com>
5 years agoMAP: Add check for well known ports. 40/15040/3
Ole Troan [Fri, 28 Sep 2018 12:28:00 +0000 (14:28 +0200)]
MAP: Add check for well known ports.

And more unit-tests.

Change-Id: I4667d82d928b7ba8d96b5a5648d464115b3ed216
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agoIP ttl check in ip4-input missing for single packet path. 39/15039/1
Ole Troan [Fri, 28 Sep 2018 12:27:24 +0000 (14:27 +0200)]
IP ttl check in ip4-input missing for single packet path.

Change-Id: Idc17b2f8794d37cd3242a97395ab56bd633ca575
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agostats: Split stat_segment and stats code in preparation for deprecation. 97/14997/6
Ole Troan [Wed, 26 Sep 2018 13:26:42 +0000 (15:26 +0200)]
stats: Split stat_segment and stats code in preparation for deprecation.

Split the stat_segment.c code from stats.c.
Rename stats.[ch] to prepare for removing (19.01?)
In addition stats.api can be removed.

Since the stats aggregation for the stat segment does not use the API, that
part is now done on the main thread. (Old stats aggregator is also left in place).

Change-Id: I9867429f4fc547b1a7ab7f88bc4f3625428d681b
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agoRevert "japi: Move Java API binding to cmake" 26/15026/2
Damjan Marion [Thu, 27 Sep 2018 18:02:28 +0000 (18:02 +0000)]
Revert "japi: Move Java API binding to cmake"

components:  Development
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find JNI (missing: JAVA_AWT_INCLUDE_PATH)
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.10/Modules/FindJNI.cmake:310 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:37 (find_package)
-- Configuring incomplete, errors occurred!
See also "/scratch/vpp-tmp/build-root/build-vpp-native/japi/CMakeFiles/CMakeOutput.log".
See also "/scratch/vpp-tmp/build-root/build-vpp-native/japi/CMakeFiles/CMakeError.log".
Makefile:640: recipe for target 'japi-configure' failed
make[2]: *** [japi-configure] Error 1
make[2]: Leaving directory '/scratch/vpp-tmp/build-root'

This reverts commit a33db2528485ac39e8987bec7b138dbdad21dc5a.

Change-Id: I8a818ce70a8379656c1134432e22db418a4690fe
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoMAP: Correctly print ea-bits-len in map commands. 13/15013/4
Ole Troan [Thu, 27 Sep 2018 11:54:30 +0000 (13:54 +0200)]
MAP: Correctly print ea-bits-len in map commands.

Change-Id: I17b19875547cd6056aaf8f8fde439caa8e42d274
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agoMAP: 64-bit DMR 12/15012/4
Ole Troan [Thu, 27 Sep 2018 11:53:30 +0000 (13:53 +0200)]
MAP: 64-bit DMR

Change-Id: I261e11f1006039e4a4019fec2fd3271763ae476a
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agoTrivial: Cleanup some typos. 50/14950/2
Paul Vinciguerra [Mon, 24 Sep 2018 12:25:00 +0000 (05:25 -0700)]
Trivial: Cleanup some typos.

This is a new commit for code under a different maintainer.

Change-Id: I79fa403fec6a312238a9a4b18b35dbcafaa05439
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoAdd logging to vfio code 17/15017/2
Damjan Marion [Thu, 27 Sep 2018 12:54:49 +0000 (14:54 +0200)]
Add logging to vfio code

Change-Id: Iacdff0a5006a0617e3c9559ce7b258f26e256abb
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agodpdk_plugin: fix mlx5 build and runtime issues 80/14980/3
Sirshak Das [Sat, 22 Sep 2018 19:57:26 +0000 (14:57 -0500)]
dpdk_plugin: fix mlx5 build and runtime issues

There are issues with VPP finding and linking the mlx5 shared glue
library which was built by default if mlx5 was enabled.

Runtime Errors this patch fixes:

net_mlx5: cannot load glue library: librte_pmd_mlx5_glue.so.18.05.0:
cannot open shared object file: No such file or directory

net_mlx5: cannot initialize PMD due to missing run-time dependency on
rdma-core libraries (libibverbs, libmlx5)

This patch introduces additional config parameter to disable glue
library building and instead statically link ibverbs and mlx5
libraries to the PMD and dpdk_plugin.

Change-Id: I0b2f67652a57854c778e991780903fb15706ace8
Signed-off-by: Sirshak Das <sirshak.das@arm.com>
Reviewed-by: Lijian Zhang <Lijian.Zhang@arm.com>
5 years agolibmemif: external region bugfix 09/15009/4
Jakub Grajciar [Thu, 27 Sep 2018 08:26:35 +0000 (10:26 +0200)]
libmemif: external region bugfix

Change-Id: I7dbece80dda917ff78f53f8f4074132895aed316
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
5 years agomemif: Memif Test Case 90/14890/10
Jakub Grajciar [Wed, 19 Sep 2018 11:36:16 +0000 (13:36 +0200)]
memif: Memif Test Case

Change-Id: Ic0d5fc6ccbd496afcc870b908ef799af7c804c30
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
5 years ago"show log": print wall-clock time 16/15016/2
Dave Barach [Thu, 27 Sep 2018 12:46:15 +0000 (08:46 -0400)]
"show log": print wall-clock time

Change-Id: I36f42c03f778955dd543da6c878be090d0443922
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agotcp: use scaled window for new connects 24/15024/3
Florin Coras [Thu, 27 Sep 2018 16:19:29 +0000 (09:19 -0700)]
tcp: use scaled window for new connects

Change-Id: Idf83fce8ca176e57b323e3741034e3223f1d195a
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoadd cmake build option to build openssl async 07/15007/3
Ping Yu [Thu, 27 Sep 2018 12:49:33 +0000 (08:49 -0400)]
add cmake build option to build openssl async

This code is orignally in automake, but it is missing in cmake.
Thus add it to make openssl async work in cmake build system

Change-Id: Ie69ee9c2099273e51ce13ccab27bdd2619db4814
Signed-off-by: Ping Yu <ping.yu@intel.com>
5 years agoavf: may crash if failed to allocate buffers to ring 03/15003/3
Steven [Wed, 26 Sep 2018 17:56:46 +0000 (10:56 -0700)]
avf: may crash if failed to allocate buffers to ring

In avf_rxq_refill, we invoke vlib_buffer_alloc_to_ring which may fill buffers from the
end of the ring and continue to the beginning of the ring. If we fill some in the end and
continue to fill some in the beginning, but does not have enough buffers to fill the
whole request, n_alloc returns a value which is not equal to n_refill to indicate partial
refill. We don't like partial refill and invoke vlib_buffer_free to get rid of
the buffers that just got refilled. However, vlib_buffer_free API is to free the buffers
from the slot continuously. It does not know how to free some from rxq->bufs[slot], and then
continue to free the rest when it reaches the end of the ring.

The fix is to use vlib_buffer_free_from_ring which is smart enough to figure that stuff
out.

Change-Id: I93c28e0b0d8d8f22c321d1a5912e00c27b4e2e8d
Signed-off-by: Steven <sluong@cisco.com>
5 years agoSCTP: fix advanced debug output 11/15011/2
Marco Varlese [Thu, 27 Sep 2018 09:58:34 +0000 (11:58 +0200)]
SCTP: fix advanced debug output

Change-Id: Ied63ebaec8e19189f8b1ab2a7f6d7474c3f2ad6e
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
5 years agoTest typo fixes 10/15010/2
juraj.linkes [Wed, 19 Sep 2018 12:59:43 +0000 (14:59 +0200)]
Test typo fixes

Renamed one acl testcase class which was copy-pasted and fixed one
inheritance issue.

Renamed one bihash testcase class.

Change-Id: I70d911ee7872d8d9ddba96c7f721dd099f0152f7
Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
5 years agofix typo in vpp-ext-deps rpm packaging 14/15014/1
Damjan Marion [Thu, 27 Sep 2018 12:04:43 +0000 (14:04 +0200)]
fix typo in vpp-ext-deps rpm packaging

Change-Id: Ia23a876cefbfd32d6f543a77dfec57a4aa5676ae
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoIPIP and IPv6 fragmentation 84/14984/6
Ole Troan [Wed, 19 Sep 2018 10:38:51 +0000 (12:38 +0200)]
IPIP and IPv6 fragmentation

- Error where ICMPv6 error code doesn't reset VLIB_TX = -1
  Leading to crash for ICMP generated on tunnelled packets
- Missed setting VNET_BUFFER_F_LOCALLY_ORIGINATED, so
  IP in IPv6 packets never got fragmented.
- Add support for fragmentation of buffer chains.
- Remove support for inner fragmentation in frag code itself.

Change-Id: If9a97301b7e35ca97ffa5c0fada2b9e7e7dbfb27
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agovom: Add ip punt redirect 77/14977/4
Mohsin Kazmi [Tue, 25 Sep 2018 16:26:52 +0000 (18:26 +0200)]
vom: Add ip punt redirect

Change-Id: I5c7b925b22b53f18b0c45374883a6a4bff580c75
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agovnet: show interface rx-placement may display garbage characters 02/15002/2
Steven [Wed, 26 Sep 2018 17:44:54 +0000 (10:44 -0700)]
vnet: show interface rx-placement may display garbage characters

Before
------
DBGvpp# sh int rx-mode
sh int rx-mode
Thread 1 (vpp_wk_0^@):
  node vmxnet3-input:
    vmxnet3-0/b/0/0 queue 0 (polling)
Thread 2 (vpp_wk_1^@):
  node vmxnet3-input:
    vmxnet3-0/13/0/0 queue 0 (polling)
DBGvpp#

After
-----
DBGvpp# sh int rx-placement
sh int rx-placement
Thread 1 (vpp_wk_0):
  node vmxnet3-input:
    vmxnet3-0/b/0/0 queue 0 (polling)
Thread 2 (vpp_wk_1):
  node vmxnet3-input:
    vmxnet3-0/13/0/0 queue 0 (polling)
DBGvpp#

Change-Id: I5910d502757054c3942fac9d20c5104e95fc6b56
Signed-off-by: Steven <sluong@cisco.com>
5 years agovmxnet3: delete interface causes a crash 01/15001/2
Steven [Wed, 26 Sep 2018 17:14:18 +0000 (10:14 -0700)]
vmxnet3: delete interface causes a crash

Need to free the buffers starting from ring->consume+1, not ring->consume
Make use of the cool API vlib_buffer_free_from_ring
Fix a memory leak in vmxnet3_txq_init

Change-Id: I0a539ea75211408d84ce433d97a0a0aec5a9618d
Signed-off-by: Steven <sluong@cisco.com>
5 years agoacl-plugin: fix the stateful ICMP handling and add testcases 04/15004/2
Andrew Yourtchenko [Wed, 26 Sep 2018 19:03:06 +0000 (21:03 +0200)]
acl-plugin: fix the stateful ICMP handling and add testcases

The stateful ICMP/ICMPv6 handling got broken.
Fix that and introduce testcases to catch in the future.

Change-Id: Ie602e72d6ac613d64ab0bf6693b6d75afb1a9552
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agoMPLS tunnel dump: use sw_if_index not tunnel_index 95/14995/2
Neale Ranns [Wed, 26 Sep 2018 12:07:25 +0000 (05:07 -0700)]
MPLS tunnel dump: use sw_if_index not tunnel_index

Change-Id: I6c0d5aec6ee96a0d40358f0e09a0901b22265063
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
5 years agoperftool: fix c2cpel 81/14981/2
Florin Coras [Tue, 25 Sep 2018 23:27:51 +0000 (16:27 -0700)]
perftool: fix c2cpel

Change-Id: I0f39477bbf88d490409fdcd5f58df55cfe2ec531
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoforget to assign spd_index to config 91/14991/2
Kingwel Xie [Wed, 26 Sep 2018 09:07:09 +0000 (05:07 -0400)]
forget to assign spd_index to config

Change-Id: I35dcb987edf11097f34a633ac36d87cecd12088f
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
5 years agojapi: Move Java API binding to cmake 52/14952/9
Mohsin Kazmi [Thu, 13 Sep 2018 07:59:50 +0000 (09:59 +0200)]
japi: Move Java API binding to cmake

Change-Id: Ia7ddd9f9e2e2d9c133967593c3e187fe42501eac
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agorpm: Fix the spec file to look into right directories 92/14992/3
Mohsin Kazmi [Wed, 26 Sep 2018 08:49:41 +0000 (10:49 +0200)]
rpm: Fix the spec file to look into right directories

Change-Id: If526e9f17226d7c371a8a98b9ac932196dab547a
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agomismatch bi0 and b0 when finalizing ip reassembly. 90/14990/2
Kingwel Xie [Wed, 26 Sep 2018 08:59:52 +0000 (04:59 -0400)]
mismatch bi0 and b0 when finalizing ip reassembly.
bi0 always points to the first buffer in chain but b0 could be any fragment in a ip packet.
It causes a vnet_feature_next function call to the wrong buffer
and crashes sometime when there is >1 feature nodes under ip-unicast.
The fix is simple, makes b0 and bi0 both pointed to the first buffer

Change-Id: I7de36e68fb42b050fa63201abd98aeb6ba2e0cd3
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
5 years agodpdk: fix QSFP+ module info 96/14996/2
Damjan Marion [Wed, 26 Sep 2018 13:28:17 +0000 (15:28 +0200)]
dpdk: fix QSFP+ module info

Change-Id: I89c7df778e66a5d2147190dc99445405d81964e5
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoModify return values of L2 bridge API handlers 51/14951/4
Alexander Chernavin [Mon, 24 Sep 2018 09:42:01 +0000 (05:42 -0400)]
Modify return values of L2 bridge API handlers

Change-Id: Ie6a6dde1fdc0e4fa8560682072a69876867a88d3
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
5 years agoNAT44: endpoint-dependent mode session timeout improvement (VPP-1423) 85/14985/2
Matus Fabian [Wed, 26 Sep 2018 08:08:00 +0000 (01:08 -0700)]
NAT44: endpoint-dependent mode session timeout improvement (VPP-1423)

Change-Id: Ib62e503f4eb5d72431288de32f417a4553df4e0c
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 years agobond: tx perf improvements 59/14959/4
Damjan Marion [Fri, 21 Sep 2018 16:11:33 +0000 (18:11 +0200)]
bond: tx perf improvements

Change-Id: I0c3f2add35ad9fc11308b7a2a2c69ffd8472dd2e
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoitf: dump interface rx-placement 51/14751/5
Mohsin Kazmi [Mon, 10 Sep 2018 16:11:00 +0000 (18:11 +0200)]
itf: dump interface rx-placement

Change-Id: I7dd48c8a2c77f82a2c1aa8311b062f5f0bc4e3fd
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agoFIB: recusrive paths must lock the table to prevent its deletion 42/14942/4
Neale Ranns [Tue, 11 Sep 2018 02:14:07 +0000 (19:14 -0700)]
FIB: recusrive paths must lock the table to prevent its deletion

Change-Id: I958bf057be751dc7b3a0d93080021b3addc405b7
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
5 years agoL2 BD: introduce a BD interface on which to send UU packets 89/14689/5
Neale Ranns [Wed, 5 Sep 2018 16:13:57 +0000 (09:13 -0700)]
L2 BD: introduce a BD interface on which to send UU packets

Change-Id: I21ad6b04c19c8735d057174b1f260a59f2812241
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoMPLS tunnel dump fix 72/14972/1
Neale Ranns [Tue, 25 Sep 2018 14:22:36 +0000 (07:22 -0700)]
MPLS tunnel dump fix

Change-Id: I9d3d5243841d5b888f079e3ea5dc1e2e8befd1dc
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
5 years agodpdk: show pluggable info in 'show hardware' 56/14956/3
Damjan Marion [Mon, 24 Sep 2018 13:17:36 +0000 (15:17 +0200)]
dpdk: show pluggable info in 'show hardware'

    module: id SFP/SFP+/SFP28, compatibility: 40g_active_cable
            vendor: Amphenol, part NDCCGF-I202
            revision: C, serial: APF1711202351C, date code: 170318
            cable length: 2m

Change-Id: Ife35607b4f078f7b56737fe066ad4cbd247a7504
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoBIER; bi-dir to/from underlay 66/14966/4
Neale Ranns [Tue, 25 Sep 2018 06:38:37 +0000 (23:38 -0700)]
BIER; bi-dir to/from underlay

set and check a special RX interface value as the packet enters and
exits a BIER domain

Change-Id: I5ff2f0e2d1b3ce0f3598b935f518fc11eb0896ee
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
5 years agoacl-plugin: optimize session idle timer checks 21/14821/7
Andrew Yourtchenko [Fri, 14 Sep 2018 09:21:58 +0000 (11:21 +0200)]
acl-plugin: optimize session idle timer checks

This commit adds explicit signaling from a non-owning thread to the owning thread
to restart the session timer as necessary.

Consequently, we now can sweep the session lists at their respective timeouts,
rather than sweeping all the lists at the pace of the shortest timeout value,
just taking care to wake up if the session requeue to a different list results
in needing to wake up earlier.

Change-Id: Ifc8c500f6988748f4cd3dc184dd7824321aaaaca
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agodpdk: add patch to fix 25G AOC cable detection 68/14968/2
Damjan Marion [Tue, 25 Sep 2018 08:19:25 +0000 (10:19 +0200)]
dpdk: add patch to fix 25G AOC cable detection

Change-Id: I6b54d4c7767a20b875b5bc05f23a7ac15cb9fbcc
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoUDP-Encap: fix coverity found error 67/14967/2
Neale Ranns [Tue, 25 Sep 2018 07:30:23 +0000 (00:30 -0700)]
UDP-Encap: fix coverity found error

Change-Id: Idbe5f4d7f37dbe4dbf8d2679c3d816aeaed148d8
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agotcp: accept rst+ack in syn-rcvd state 62/14962/2
Florin Coras [Mon, 24 Sep 2018 21:40:40 +0000 (14:40 -0700)]
tcp: accept rst+ack in syn-rcvd state

Change-Id: I49da8be88dd033aae1b190e8e2163069ef480442
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agotcp: add option to cfg max rx fifo size 60/14960/5
Florin Coras [Mon, 24 Sep 2018 20:58:05 +0000 (13:58 -0700)]
tcp: add option to cfg max rx fifo size

Change-Id: Icff3d688506e7658330db004c58bcfcac273fcec
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoEnable verbose output during VPP cmake compiling 63/14963/2
Lijian Zhang [Thu, 20 Sep 2018 10:40:56 +0000 (18:40 +0800)]
Enable verbose output during VPP cmake compiling

During VPP compiling, the command “make build-release V=1” gives verbose output on dpdk part.
This is to enable verbose output on vpp part, with CMAKE_VERBOSE_MAKEFILE:BOOL=ON passed to cmake.
It would help to get more cmake compiling information.

Change-Id: I2b01c8e234beb3189fe401801ff339f224c14470
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
Reviewed-by: Sirshak Das <Sirshak.Das@arm.com>
5 years agobond: crash when deleting bond interface [VPP-1427] 65/14965/3
Steven [Tue, 25 Sep 2018 04:09:36 +0000 (21:09 -0700)]
bond: crash when deleting bond interface [VPP-1427]

After the slave interface is removed from bond, bond input node still receives traffic for
the slave interface.

We have to disable feature arc for the corresponding slave interface.

Change-Id: I44e7001e6685e290b032c48147d02911a55d547b
Signed-off-by: Steven <sluong@cisco.com>
5 years agovmxnet3: guard against array overflow 61/14961/2
Steven [Mon, 24 Sep 2018 21:23:44 +0000 (14:23 -0700)]
vmxnet3: guard against array overflow

Under extreme condition, it is possible for input node to have more than 256 packets available
to process. Add a check to the while loop to prevent overrun buffer_indices and nexts.

Change-Id: Id9830e5c254f04216eb79e864a5460e08cf2e4e5
Signed-off-by: Steven <sluong@cisco.com>
5 years agoNAT44: fix nat44_o2i_ed_is_idle_session_cb (VPP-1424) 48/14948/2
Matus Fabian [Mon, 24 Sep 2018 10:44:49 +0000 (03:44 -0700)]
NAT44: fix nat44_o2i_ed_is_idle_session_cb (VPP-1424)

Change-Id: I47e1fc789ddf3dbfdf9768b99d5c3a8804d6b750
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 years agoNAT44: endpoint-dependent mode session timeout improvement (VPP-1423) 49/14949/2
Matus Fabian [Mon, 24 Sep 2018 11:41:28 +0000 (04:41 -0700)]
NAT44: endpoint-dependent mode session timeout improvement (VPP-1423)

Change-Id: I630f3da1ea4e6e50a50f1352c097becef1efe3c0
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 years agoAdd the sphinx docs build options 57/14957/5
jdenisco [Mon, 24 Sep 2018 18:59:33 +0000 (14:59 -0400)]
Add the sphinx docs build options

Change-Id: If7ac5b41ca4ac602a100b616b37d07f658fd6a90
Signed-off-by: jdenisco <jdenisco@cisco.com>
5 years agonsim: fix multiple definitions of nsim_node 58/14958/2
Damjan Marion [Mon, 24 Sep 2018 19:02:13 +0000 (21:02 +0200)]
nsim: fix multiple definitions of nsim_node

Change-Id: Iedd79eeba35fb7385c03a177f8ac7d3ddfeb6a84
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agosvm: march svm_fifo take 2 83/14883/3
Florin Coras [Wed, 19 Sep 2018 06:11:55 +0000 (23:11 -0700)]
svm: march svm_fifo take 2

Change-Id: Ifa4fceef7edbe43d444790a624957db0817064de
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoavf: rename interface name 53/14953/1
Damjan Marion [Mon, 24 Sep 2018 18:30:32 +0000 (20:30 +0200)]
avf: rename interface name

Change-Id: I4a1dca92a69547f8b26e9aec7574332f39e43c37
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoARP: don't use RPC for requests initiated from the main thread 44/14944/2
Neale Ranns [Mon, 24 Sep 2018 08:34:11 +0000 (08:34 +0000)]
ARP: don't use RPC for requests initiated from the main thread

Change-Id: If833680149eb33db6adc836c5330f350042869f4
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoNetwork delay simulator plugin 37/14937/6
Dave Barach [Fri, 21 Sep 2018 17:10:28 +0000 (13:10 -0400)]
Network delay simulator plugin

Change-Id: I4a70c7df8f0cb368a4e1cb16f30eeef5c6058c79
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agoTrivial: Clean up some typos. 40/14940/6
Paul Vinciguerra [Sat, 22 Sep 2018 12:32:50 +0000 (05:32 -0700)]
Trivial: Clean up some typos.

Change-Id: I085615fde1f966490f30ed5d32017b8b088cfd59
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoLB: fix flush flow table issue 61/14861/7
Hongjun Ni [Tue, 18 Sep 2018 15:25:02 +0000 (23:25 +0800)]
LB: fix flush flow table issue

Change-Id: Ib0a06ab71aed42eb5bb2ab2edf4844b2167e0610
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
5 years agovcl: remove vcl_event 39/14939/2
Florin Coras [Sat, 22 Sep 2018 00:55:04 +0000 (17:55 -0700)]
vcl: remove vcl_event

Change-Id: I0f805ae47f6e9465070a54d85f164bc74877af01
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agofix following error in debian jessie: 41/14941/1
Khers [Sat, 22 Sep 2018 14:23:06 +0000 (17:53 +0330)]
fix following error in debian jessie:
'‘for’ loop initial declarations are only allowed in C99 or C11 mode'

Change-Id: Id842382f884122555abaa936c56cdfd305f2a5f3
Signed-off-by: Khers <s3m2e1.6star@gmail.com>
5 years agovmxnet3: Add hardware link status handling 35/14935/3
Steven [Fri, 21 Sep 2018 14:55:07 +0000 (07:55 -0700)]
vmxnet3: Add hardware link status handling

Added an interrupt line for monitoring and notifying hardware link status
Displayed additional information for show hardware for vmxnet3 interface
Fixed possible garbage display on interface name for show vmxnet3

Change-Id: If457bfe7c216287fb3a4e2630f00434d595f387b
Signed-off-by: Steven <sluong@cisco.com>
5 years agoadd: nasm and ipsec-mb into vpp-ext-deps packaging 33/14933/4
Damjan Marion [Fri, 21 Sep 2018 10:27:45 +0000 (12:27 +0200)]
add: nasm and ipsec-mb into vpp-ext-deps packaging

Change-Id: Ie5d85af84ae0d8b15edf5962213ed1b1953bee2f
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoFixed japi/java/Makefile.am so the JAR for NSH plugin builds as well. 95/14895/2
Tibor Král [Wed, 19 Sep 2018 14:14:22 +0000 (16:14 +0200)]
Fixed japi/java/Makefile.am so the JAR for NSH plugin builds as well.

Change-Id: I15b3e51d6e0206f4a387eb2ce764914167149385
Signed-off-by: Tibor Král <tibor.kral@pantheon.tech>
5 years agoNAT: Refactoring / Housekeeping (VPP-1415) 26/14926/2
Matus Fabian [Fri, 21 Sep 2018 06:18:41 +0000 (23:18 -0700)]
NAT: Refactoring / Housekeeping (VPP-1415)

Change-Id: Ia3ce24cc94f9b2fb331ad62a4181ddcd41bc78ca
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 years agoAdd more CLI options to vpp_api_test for calling ip_add_del_route 24/14924/3
John Lo [Thu, 20 Sep 2018 20:07:00 +0000 (16:07 -0400)]
Add more CLI options to vpp_api_test for calling ip_add_del_route

Change-Id: I114e93b6bc71cfcdcfe6d3ddde26f77118e36ab8
Signed-off-by: John Lo <loj@cisco.com>
5 years agotcp: accept fin-ack in syn-rcvd state 25/14925/2
Florin Coras [Fri, 21 Sep 2018 01:36:54 +0000 (18:36 -0700)]
tcp: accept fin-ack in syn-rcvd state

Change-Id: Ibe57abc7d2a06be80146ce28edf4c60ecda991eb
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agovhost: show vhost may display garbage after the interface name 20/14920/2
Steven [Thu, 20 Sep 2018 18:50:35 +0000 (11:50 -0700)]
vhost: show vhost may display garbage after the interface name

DBGvpp# show vhost-user
Virtio vhost-user interfaces
Global:
  coalesce frames 32 time 1e-3
  number of rx virtqueues in interrupt mode: 0
Interface: VirtualEthernet0/0/0�?x�D (ifindex 3)

The fix is to use format_vnet_hw_if_index_name rather than hi->name. The former
format the name with %v rather than %s

Change-Id: If4d275e1eb249cf87b2d6b796b42f24769f9e3e3
Signed-off-by: Steven <sluong@cisco.com>
5 years agobihash template: avoid memory leak upon rehash 14/14914/4
Andrew Yourtchenko [Thu, 20 Sep 2018 13:36:51 +0000 (15:36 +0200)]
bihash template: avoid memory leak upon rehash

Call the BV (value_free) when we have performed the rehash
and thus no longer need the memory that old value for the
bucket refers to.

Change-Id: Ibb82174fc8002aeb3e1a6c8d1f90293d73bc45d8
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agorename vpp-dpdk-dev to vpp-ext-deps 78/14878/4
Damjan Marion [Tue, 18 Sep 2018 16:41:38 +0000 (18:41 +0200)]
rename vpp-dpdk-dev to vpp-ext-deps

We need to have new tenants in the development package.
This is first of series of patches which will allow us to have multiple
external libs and tools packaged for developer's convenience.

Change-Id: I884bd75fba96005bbf8cea92774682b2228e0e22
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoUDP-Encap: name counters for the stats segment 34/14734/6
Neale Ranns [Fri, 7 Sep 2018 15:57:41 +0000 (08:57 -0700)]
UDP-Encap: name counters for the stats segment

change the ADD api so that is returns the 'ID' that can be used
by the client to read the stats from the stats segment and to
delete the object. Previously a similar value used required
to be chosen by the client, now VPP allocates one (like it
does e.g. for interfaces)

Change-Id: I563cf6092276eb990c52d5457c86e72546bcf69e
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoSR-MPLS: MPLS table checks (VPP-1422) 10/14910/2
Neale Ranns [Thu, 20 Sep 2018 09:49:25 +0000 (02:49 -0700)]
SR-MPLS: MPLS table checks (VPP-1422)

Change-Id: I397715ea8c1966f5ee61128f284d62d875c568e1
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agosession/svm: add want_tx_event flag to fifo 01/14901/4
Florin Coras [Tue, 18 Sep 2018 05:09:02 +0000 (22:09 -0700)]
session/svm: add want_tx_event flag to fifo

Have applications use explicit flag to request events from vpp when it
transmits from a full fifo.

Change-Id: I687c8f050a066bd5ce739d880eaec1f286038d95
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoRoute counters in the stats segment 97/14897/3
Neale Ranns [Fri, 7 Sep 2018 16:32:36 +0000 (09:32 -0700)]
Route counters in the stats segment

route ADD API changed to return the stats segment index to use to read the counters

Change-Id: I2ef41e01eaa2f9cfaa49d9c88968897793825925
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agovhost-user: Add disable feature support in api 31/14431/6
Mohsin Kazmi [Tue, 21 Aug 2018 14:07:03 +0000 (16:07 +0200)]
vhost-user: Add disable feature support in api

Two flags to disable mergable rx buffers and indirect
descriptors are added to api.

Change-Id: Iba0ee9c48d19dfc3d3420a3fdaf44a1a1d325e99
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agoNAT44 virtual fragmentation reassembly for endpoint-dependent mode (VPP-1325) 05/13705/13
Juraj Sloboda [Mon, 23 Jul 2018 10:22:54 +0000 (12:22 +0200)]
NAT44 virtual fragmentation reassembly for endpoint-dependent mode (VPP-1325)

Change-Id: I36ece2ef2eaef9fa559d69ec7f7f07e7c16a7a9d
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
5 years agovmxnet3: invoke vlib_buffer_enqueue_to_next() with the wrong buffers for chain buffers 00/14900/2
Steven [Wed, 19 Sep 2018 22:30:25 +0000 (15:30 -0700)]
vmxnet3: invoke vlib_buffer_enqueue_to_next() with the wrong buffers for chain buffers

If we invoke the subject API with 2 buffers, each with 2 chains, the content of
buffers[0] should be head of 1st buffer, and content of buffer[1] should be
head of 2nd buffer.

What the code did was to put
buffers[0] = head of 1st buffer
buffers[1] = next chain of 1st buffer
buffers[2] = head of 2nd buffer
buffers[3] = next chain of 2nd buffer

This is wrong and can cause crash.

The fix is to only increment bi when the entire packet is found which may consist
of multiple fragments.

Change-Id: If02cd5186a039d7a6c08a0959112840bdb242317
Signed-off-by: Steven <sluong@cisco.com>
5 years agoVPP-1421: Reworked results gathering 93/14893/6
juraj.linkes [Wed, 19 Sep 2018 13:01:47 +0000 (15:01 +0200)]
VPP-1421: Reworked results gathering

The previous version sent the whole VPPTestResult object through pipe,
which uses pickle to transfer objects. Pickle does not support sending
any arbitrary objects and was causing issues. Now just a tuple of
(test_id, result) is sent.

Change-Id: I3a3a9e6f1b9ac9b05889babfc1f7560c7ac4471c
Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
5 years agobihash template: reinstate the check for the available memory in the arena 94/14894/2
Andrew Yourtchenko [Wed, 19 Sep 2018 13:50:55 +0000 (15:50 +0200)]
bihash template: reinstate the check for the available memory in the arena

ffb14b9554afa1e58c3657e0c91dda3135008274 has changed the semantics
of alloc_arena_next to become an offset off alloc_arena, but
in the available memory check in BV (alloc_aligned) it still treats
it as a virtual address, resulting in the check always succeeding,
thus over a prolonged period bihash arena allocator
potentially overwriting whatever is following the arena.

Change-Id: I18882c5f340ca767a389e15cca2696a0a97ef015
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>