vpp.git
5 years agoavf: api fix 44/13644/3
Jakub Grajciar [Tue, 24 Jul 2018 12:00:41 +0000 (14:00 +0200)]
avf: api fix

avf_create_reply returns software index for the new interface

Change-Id: I8a6b1a1985b072efafa24eb258b1f2cb1bea1110
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
5 years agomake_test: Add equal-cost multi-path routing tests 66/13466/4
Jan Gelety [Fri, 13 Jul 2018 14:38:04 +0000 (16:38 +0200)]
make_test: Add equal-cost multi-path routing tests

Jira: CSIT-1181

Change-Id: I78f85cf58696369070314bdf05ae8b3acf2ca84c
Signed-off-by: Jan Gelety <jgelety@cisco.com>
5 years agoCreate a unit-test plugin 28/13628/3
Dave Barach [Mon, 23 Jul 2018 22:00:54 +0000 (18:00 -0400)]
Create a unit-test plugin

Move the tcp unit test to the plugin
Add a bihash unit test and a "make test" program to call it
Adjust framework.py to load the plugin, which is disabled by default

Change-Id: Ic229d386a56a9d28dbd54974f231149053ca8f93
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agotest frame work pump thread exit: set flag then wake 13/13613/2
Neale Ranns [Mon, 23 Jul 2018 09:35:56 +0000 (05:35 -0400)]
test frame work pump thread exit: set flag then wake

Change-Id: Id95b8a7ad1bf550f615c50d77b16a530cc8fc2c4
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agotls: avoid possible async handler duplication 08/13608/5
Ping Yu [Mon, 23 Jul 2018 14:33:49 +0000 (10:33 -0400)]
tls: avoid possible async handler duplication

One handler is good enough when engine sends out a retry status
Thus this patch will just go one branch

Change-Id: Id81cb3fa67d2b322b0fe1b2f62cd866cf3491eb4
Signed-off-by: Ping Yu <ping.yu@intel.com>
5 years agosession: send rx events only if session ready 00/13600/3
Florin Coras [Sun, 22 Jul 2018 19:59:30 +0000 (12:59 -0700)]
session: send rx events only if session ready

Change-Id: I8d631121b104fb40c20701d4c1b428f2b71e5785
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoL2 EFP: byteswap sw_if_index, enable flag can be u8 on .api 14/13614/3
Neale Ranns [Mon, 23 Jul 2018 09:47:09 +0000 (05:47 -0400)]
L2 EFP: byteswap sw_if_index, enable flag can be u8 on .api

Change-Id: Ib99d02e84e468726feae4c386733da405b298e4f
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoNAT44: fix forwarding feature bug (VPP-1349) 02/13602/2
Matus Fabian [Mon, 23 Jul 2018 07:05:22 +0000 (00:05 -0700)]
NAT44: fix forwarding feature bug (VPP-1349)

Change-Id: I5009fcfde5c627d59dea3edda15486b9392134a2
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 years agoBuffer clone: copy opaque2 12/13612/2
Neale Ranns [Mon, 23 Jul 2018 09:30:12 +0000 (05:30 -0400)]
Buffer clone: copy opaque2

Change-Id: I06e1dbfa0782bc03f2d0e77295b38b4fde7df35e
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoUpdate pipeline.h: use vlib_get_buffers 20/13620/2
Dave Barach [Mon, 23 Jul 2018 16:20:09 +0000 (12:20 -0400)]
Update pipeline.h: use vlib_get_buffers

It's not clear that fine-graind pipelining will ever produce optimal
performance. That having been written, it's an easier coding model for
folks interesting in decent results without having to manually
implement 2 or 4 way fine-grained parallelism.

Change-Id: Ida877292832eaf759ffbb6d2e16012f8fbd427e5
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agofix vector index range checks 98/13598/2
Eyal Bari [Sun, 22 Jul 2018 09:45:15 +0000 (12:45 +0300)]
fix vector index range checks

Change-Id: I63c36644c9d93f2c3ec6606ca0205b407499de4e
Signed-off-by: Eyal Bari <ebari@cisco.com>
5 years agomake test-ext: a new test target that builds VOM (existing one no longer do) 85/13485/2
Neale Ranns [Mon, 16 Jul 2018 12:22:37 +0000 (08:22 -0400)]
make test-ext: a new test target that builds VOM (existing one no longer do)

Change-Id: If590e90b2a1c3b884863ec15a92ea4353ac9eb7c
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoLoopback tx: support multiple tx intfcs per frame 96/13596/2
Dave Barach [Sat, 21 Jul 2018 13:25:00 +0000 (09:25 -0400)]
Loopback tx: support multiple tx intfcs per frame

Can happen if code bypasses the per-interface output node, and
dispatches packets directly to the tx node.

Switch to vlib_get_buffers(...) ... vlib_buffer_enqueue_to_next (...),
quad/single loop coding pattern.

Change-Id: Ic0e5d3b9748230f4e545a54186e6e64e7a782bb1
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agofix IP directed broadcast node declarations 93/13593/2
Matthew Smith [Fri, 20 Jul 2018 16:52:05 +0000 (11:52 -0500)]
fix IP directed broadcast node declarations

The dev build ('make build') was failing because
ip4_rewrite_bcast() and ip6_rewrite_bcast() are declared static
and were not referenced.

The node functions that were set for directed broadcast rewrite:

ip4_rewrite_bcast_node - ip4_rewrite()
ip6_rewrite_bcast_node - ip6_rewrite()

Changed to:

ip4_rewrite_bcast_node - ip4_rewrite_bcast()
ip6_rewrite_bcast_node - ip6_rewrite_bcast()

The release build ('make build-release') succeeds because there is
a VLIB_NODE_FUNCTION_MULTIARCH() call referencing the function. That
macro is empty for dev builds.

Change-Id: I2a05f00ca43d0eae8ff2e3026991e69917003fe1
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
5 years agobihash: give hint to CPU that we are spinlocking 94/13594/1
Damjan Marion [Fri, 20 Jul 2018 19:48:59 +0000 (21:48 +0200)]
bihash: give hint to CPU that we are spinlocking

Change-Id: I78c0a6da5d8fc63c1ced43589c42abc15ab12b16
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoAdd congestion drop in interface handoff 92/13592/1
Damjan Marion [Fri, 20 Jul 2018 16:47:05 +0000 (18:47 +0200)]
Add congestion drop in interface handoff

This prevents deadlock in case when worker A sends to B and worker B
sends to A

Change-Id: Id9436960f932c58325fe4f5ef8ec67b50031aeda
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoFine-grained add / delete locking 59/13559/7
Dave Barach [Thu, 19 Jul 2018 16:11:16 +0000 (12:11 -0400)]
Fine-grained add / delete locking

Add a bucket-level lock bit. Use a spinlock only when actually
allocating, freeing, or splitting a bucket. Should improve
multi-thread add/del performance.

Change-Id: I3e40e2a8371685457f340d6584dea14e3207f2b0
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agophysmem: fix alloc when dlmaloc is used 88/13588/3
Damjan Marion [Fri, 20 Jul 2018 13:33:17 +0000 (15:33 +0200)]
physmem: fix alloc when dlmaloc is used

Change-Id: I4b6cdf95ac694c8408eb6cf3259b335a8148b5aa
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agofix issue with missing sample_main in sample plugin 89/13589/2
Damjan Marion [Fri, 20 Jul 2018 14:01:02 +0000 (16:01 +0200)]
fix issue with missing sample_main in sample plugin

Change-Id: Ia17511e3997cdcf1d0991e62e8e2d3fb8812d133
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoQOS: mark/record fix feature ordering c-n-p error 84/13584/2
Neale Ranns [Fri, 20 Jul 2018 11:23:43 +0000 (04:23 -0700)]
QOS: mark/record fix feature ordering c-n-p error

vnet_feature_arc_init:215: feature node 'mpls-qos-mark' not found (after 'vlan-mpls-qos-record', arc 'mpls-input')
vnet_feature_arc_init:215: feature node 'ip6-qos-mark' not found (after 'vlan-ip6-qos-record', arc 'ip6-multicast')
...etc...

Change-Id: I22cb98d57e2480f5978fff315b77b9cbb6a9f9dd
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
5 years agoIP directed broadcast 61/13561/3
Neale Ranns [Wed, 11 Jul 2018 17:31:26 +0000 (10:31 -0700)]
IP directed broadcast

with ip direct broadcast enable a packet to the interface's
subnet broadcast address with be sent L2 broadcast on the
interface. dissabled, it will be dropped. it is disabled by
default, which preserves current behaviour

Change-Id: If154cb92e64834e97a541b32624354348a0eafb3
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoavf: don't enable interrupts before interface is admin up 82/13582/1
Damjan Marion [Fri, 20 Jul 2018 11:06:08 +0000 (13:06 +0200)]
avf: don't enable interrupts before interface is admin up

Change-Id: I0fc19dd109e569f2c407a85e8fa32758e06676b8
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoNAT44: in+out interface in STN setup improvement (VPP-1344) 30/13530/2
Matus Fabian [Wed, 18 Jul 2018 07:28:52 +0000 (00:28 -0700)]
NAT44: in+out interface in STN setup improvement (VPP-1344)

Change-Id: Iad7e0337a577ef8a0dfb7bde1968cc115d176043
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 years agoQoS: marking and recording for MPLS and VLAN 79/13479/3
Neale Ranns [Mon, 16 Jul 2018 11:14:21 +0000 (04:14 -0700)]
QoS: marking and recording for MPLS and VLAN

Change-Id: Icec79aa9039d5d7835d311fde0b7c1a0c76c9eb1
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoavf: Support interrupt mode 66/13566/2
Steven [Thu, 19 Jul 2018 23:25:47 +0000 (16:25 -0700)]
avf: Support interrupt mode

DBGvpp# set interface rx-mode AVF0/4/2/0 interrupt
set interface rx-mode AVF0/4/2/0 interrupt
DBGvpp# sh int rx
sh int rx
Thread 0 (vpp_main):
  node dpdk-input:
    FortyGigabitEthernet6/0/0 queue 0 (polling)
  node avf-input:
    AVF0/4/2/0 queue 0 (interrupt)
DBGvpp# sh int addr
sh int addr
AVF0/4/2/0 (up):
  L3 133.1.1.10/24
FortyGigabitEthernet6/0/0 (dn):
VirtualEthernet0/0/0 (up):
  L3 192.168.42.1/24
DBGvpp# clear run
clear run
DBGvpp# clear interfaces
clear interfaces
DBGvpp# sh int rx
sh int rx
Thread 0 (vpp_main):
  node dpdk-input:
    FortyGigabitEthernet6/0/0 queue 0 (polling)
  node avf-input:
    AVF0/4/2/0 queue 0 (interrupt)
DBGvpp# ping 133.1.1.3 repeat 1
ping 133.1.1.3 repeat 1
64 bytes from 133.1.1.3: icmp_seq=1 ttl=64 time=.6237 ms

Statistics: 1 sent, 1 received, 0% packet loss
DBGvpp# sh int
sh int
              Name               Idx    State  MTU (L3/IP4/IP6/MPLS)     Counter          Count
AVF0/4/2/0                        5      up          9000/0/0/0     rx packets                     1
                                                                    rx bytes                      98
                                                                    tx packets                     1
                                                                    tx bytes                      98
                                                                    drops                          1
                                                                    ip4                            1
FortyGigabitEthernet6/0/0         1     down         9000/0/0/0
VirtualEthernet0/0/0              2      up          9000/0/0/0
local0                            0     down         9000/0/0/0
DBGvpp# sh run
sh run
Time 41.9, average vectors/node 1.00, last 128 main loops 0.00 per node 0.00
  vector rates in 2.3858e-2, out 2.3858e-2, drop 2.3858e-2, punt 0.0000e0
             Name                 State         Calls          Vectors        Suspends         Clocks       Vectors/Call
AVF0/4/2/0-output                active                  1               1               0          1.24e4            1.00
AVF0/4/2/0-tx                    active                  1               1               0          4.28e4            1.00
api-rx-from-ring                any wait                 0               0               2          6.94e4            0.00
avf-input                     interrupt wa               1               1               0          1.09e4            1.00
avf-process                     any wait                 0               0              47          1.01e4            0.00
...
DBGvpp#
DBGvpp# set interface rx-mode AVF0/4/2/0 polling
set interface rx-mode AVF0/4/2/0 polling
DBGvpp# sh int rx
sh int rx
Thread 0 (vpp_main):
  node dpdk-input:
    FortyGigabitEthernet6/0/0 queue 0 (polling)
  node avf-input:
    AVF0/4/2/0 queue 0 (polling)
DBGvpp# ping 133.1.1.3 repeat 1
ping 133.1.1.3 repeat 1
64 bytes from 133.1.1.3: icmp_seq=1 ttl=64 time=.2038 ms

Statistics: 1 sent, 1 received, 0% packet loss
DBGvpp#

Change-Id: Ib7d2b505ae4bb74a052263af766ca37d9df7bfe4
Signed-off-by: Steven <sluong@cisco.com>
5 years agoFix coverity warning / legitimate minor bug 60/13560/2
Dave Barach [Thu, 19 Jul 2018 16:29:45 +0000 (12:29 -0400)]
Fix coverity warning / legitimate minor bug

Of the form "if ((foo & 0x10) == 1)", as opposed to
"if (foo & 0x10)"

Change-Id: I6a6d276aeed4af7c1c6c78546ee68d598d54d7db
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agodpdk: eliminate vpp-dpdk-devel RPM conflict 56/13556/2
Matthew Smith [Thu, 19 Jul 2018 13:37:03 +0000 (08:37 -0500)]
dpdk: eliminate vpp-dpdk-devel RPM conflict

Both vpp-devel and vpp-dpdk-devel have /usr/include/dpdk
in their files list. CentOS 7 won't allow them to both be
installed at the same time as a result.

Change vpp-dpdk-devel to /usr/include/dpdk/* so both can
be installed. It is useful to have both installed on a
development system.

Change-Id: I94b6cca299dfbd991638e43c41006db0d8f7ee8b
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
5 years agodpdk: fix Mellanox Connect-X3 VF ID 57/13557/2
Matthew Smith [Thu, 19 Jul 2018 14:01:40 +0000 (14:01 +0000)]
dpdk: fix Mellanox Connect-X3 VF ID

Fix a typo from previous patch. Change 0x104 to 0x1004.

Change-Id: I82230a8a0ec01567eb1d4bc12ac02062c2a98347
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
5 years agotest_jvpp: improve error message when JVpp JARS are missing 29/13529/6
Marek Gradzki [Wed, 18 Jul 2018 08:32:23 +0000 (10:32 +0200)]
test_jvpp: improve error message when JVpp JARS are missing

The java command fails with missing class error,
when some of the JARs given by -cp are missing,
which may be missleading.

This patch fixes that by adding os.path.isfile check to test_jvpp.py.

Change-Id: I3a0b6ef338c7f70cfd0ba78ee0888efe0b0957b3
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
5 years agoRemove unused argument to vlib_feature_next 64/13564/2
Damjan Marion [Thu, 19 Jul 2018 18:42:08 +0000 (20:42 +0200)]
Remove unused argument to vlib_feature_next

Change-Id: Ieb8b53977fc8484c19780941e232ee072b667de3
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agosession: coverity warnings 24/13524/4
Florin Coras [Tue, 17 Jul 2018 12:35:47 +0000 (05:35 -0700)]
session: coverity warnings

Change-Id: I4505954c737e8c6a3d4177c6833f2b12099e6dd4
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoAdd a new communication channel between VPP and openssl engine 47/13547/2
Ping Yu [Thu, 19 Jul 2018 14:51:09 +0000 (10:51 -0400)]
Add a new communication channel between VPP and openssl engine
Thus when engine buffer is full during a burst in performance
tesing, this code will help VPP handle retry machansim.

Change-Id: I0f9fc05d3dba8a54d34dca4c6137700d6c80f714
Signed-off-by: Ping Yu <ping.yu@intel.com>
5 years agoCleanup of handoff code 53/13553/4
Damjan Marion [Thu, 19 Jul 2018 15:52:31 +0000 (17:52 +0200)]
Cleanup of handoff code

- removed handoff-dispatch node
- removed some unused buffer metadata fields
- enqueue to thread logic moved to inline function

Change-Id: I7361e1d88f8cce74cd4fcec90d172eade1855cbd
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoqos record:fix disable on interface delete 49/13549/3
Eyal Bari [Thu, 19 Jul 2018 11:12:40 +0000 (14:12 +0300)]
qos record:fix disable on interface delete

handle the case where qos record was enabled more than once

Change-Id: Ic901b2f5b400751e82d57655983d10457ec62243
Signed-off-by: Eyal Bari <ebari@cisco.com>
5 years agoip4-input and ip4-input-no-checksum should be siblings 14/13514/4
Neale Ranns [Tue, 17 Jul 2018 14:15:05 +0000 (07:15 -0700)]
ip4-input and ip4-input-no-checksum should be siblings

each edge/arc from these nodes must be the same.

Change-Id: Id5dace61bca0af71ad1df98583425226e81fd0de
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
5 years agoSet default STARTUP_DIR to be toplevel dir 52/13552/2
Damjan Marion [Thu, 19 Jul 2018 12:39:40 +0000 (14:39 +0200)]
Set default STARTUP_DIR to be toplevel dir

Change-Id: I5ccc5f1770ab1f8fb9c4824395f4ee6d48346410
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoFix IPv6 csum calculation in GTP-U encapsulation 11/13511/4
Andreas Schultz [Tue, 17 Jul 2018 09:43:23 +0000 (11:43 +0200)]
Fix IPv6 csum calculation in GTP-U encapsulation

The length field is included in the checksum. Therefor, we need
to update it before calculating the checksum.

Change-Id: Id23234efb80ea3747a0f8a5c7bf8621748d27635
Signed-off-by: Andreas Schultz <andreas.schultz@travelping.com>
5 years agodpdk: set log write fd to non-blocking 21/13521/4
Matthew Smith [Tue, 17 Jul 2018 16:40:04 +0000 (11:40 -0500)]
dpdk: set log write fd to non-blocking

If a PMD writes too many log messages using rte_vlog(), the
pipe for logging can fill and then rte_vlog() will block
on fflush() while it waits for something to read from the other
side of the pipe. That will never happen since the process node
that would read the other side of the pipe runs in the
same thread.

Set the write fd to non-blocking before the call to
rte_openlog_stream(). If the pipe is full, calls to write() or
fflush() will fail but execution will continue.

Change-Id: I0e5d710629633acda5617ff29897d6582c255d57
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
5 years agodpdk: add device IDs for Mellanox ConnectX-3 39/13539/2
Matthew Smith [Wed, 18 Jul 2018 17:44:34 +0000 (12:44 -0500)]
dpdk: add device IDs for Mellanox ConnectX-3

Recognize the PF and VF device IDs for the Mellanox adapter
used on Azure.

Change-Id: Ic7b36b37ac93db2b696354ffe6fa2b6d62ee3801
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
5 years agoPAPI: Remove logging calls from pack/unpack 38/13538/3
Ole Troan [Wed, 18 Jul 2018 18:31:48 +0000 (20:31 +0200)]
PAPI: Remove logging calls from pack/unpack

This slowed down the decoder. Improved from 16s to 13s for 1000 dump/details
messages.

Change-Id: Iae78136b020cdd9344f3b2170ce426d0f074b6e6
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agogbp: Add support for ACL 28/11628/18
Mohsin Kazmi [Tue, 17 Apr 2018 17:35:42 +0000 (19:35 +0200)]
gbp: Add support for ACL

Change-Id: I7513c41307e62068ab5d9739cac393675c6066f8
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agoqos mark/record: fix disable-sw_if_index range check 36/13536/4
Eyal Bari [Wed, 18 Jul 2018 14:15:26 +0000 (17:15 +0300)]
qos mark/record: fix disable-sw_if_index range check

Change-Id: I2abb3ceebae3a32cee9aa2a999bd47c37719d3ac
Signed-off-by: Eyal Bari <ebari@cisco.com>
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
5 years agoDPDK: coverity scan warnings 49/13449/2
Marco Varlese [Thu, 12 Jul 2018 12:58:44 +0000 (14:58 +0200)]
DPDK: coverity scan warnings

This patch addresses the coverity scan warnings reported for the DPDK
plugin.

Change-Id: Ie7ac7ffcf4a6c63245eae0f9910a193ab1e318a8
Signed-off-by: Marco Varlese <marco.varlese@suse.de>
5 years agosvm: make message queue more compact 43/13443/4
Florin Coras [Wed, 11 Jul 2018 23:35:38 +0000 (16:35 -0700)]
svm: make message queue more compact

Change-Id: Id45957163c2b95a2300a8ac9104fc92b9cc928ed
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoChange configure.ac to match the release tag on master 35/13535/1
Ed Warnicke [Wed, 18 Jul 2018 12:53:08 +0000 (07:53 -0500)]
Change configure.ac to match the release tag on master

Change-Id: I7e53b563fb801dd8508af47452ad44d4837cb68d
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
5 years agoAdd config option to use dlmalloc instead of mheap 56/13356/20
Dave Barach [Wed, 4 Jul 2018 14:56:23 +0000 (10:56 -0400)]
Add config option to use dlmalloc instead of mheap

Configure w/ --enable-dlmalloc, see .../build-data/platforms/vpp.mk

src/vppinfra/dlmalloc.[ch] are slightly modified versions of the
well-known Doug Lea malloc. Main advantage: dlmalloc mspaces have no
inherent size limit.

Change-Id: I19b3f43f3c65bcfb82c1a265a97922d01912446e
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agomake_test: dhcp - add lease time test and wrong XID in OFFER test 83/13283/4
Jan Gelety [Wed, 27 Jun 2018 08:56:17 +0000 (10:56 +0200)]
make_test: dhcp - add lease time test and wrong XID in OFFER test

- negative test with wrong XID in OFFER not implemented as issue
  reported in Jira ticket VPP-99 still not fixed

Jira: CSIT-1147

Change-Id: I4ebc622bd81fed421919bc0397a12e32cb26fa1d
Signed-off-by: Jan Gelety <jgelety@cisco.com>
5 years agovpp-api: improve naming for easier debugging 69/13369/2
Klement Sekera [Fri, 6 Jul 2018 09:07:21 +0000 (11:07 +0200)]
vpp-api: improve naming for easier debugging

Change-Id: I487ccf2adabfbd22dac9f492ecff679d38046724
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agoVPP crash when run "lb set interface nat4 in <intc>" VPP-1343 27/13527/2
Hongjun Ni [Tue, 17 Jul 2018 16:17:44 +0000 (00:17 +0800)]
VPP crash when run "lb set interface nat4 in <intc>" VPP-1343

Change-Id: I23be9c29227e7dd1bb11b5b7fa910bb61c2be6c9
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
(cherry picked from commit b4b2488202ff4282cc4a7bd779cc33934286c5cd)

5 years agoFix GTP-U length header field in encoding 10/13510/3
Andreas Schultz [Tue, 17 Jul 2018 09:34:20 +0000 (11:34 +0200)]
Fix GTP-U length header field in encoding

The length in the GTPU header does not specify the length of the
payload. It does specify the number of bytes following the fixed
part (the first 8 bytes) of the GTPU header (see 3GPP TS 29.060,
Sect. 9.3.1).

Change-Id: I8ce73df015e1cf1f38d306666962c0058756111c
Signed-off-by: Andreas Schultz <andreas.schultz@travelping.com>
5 years agoFix GTP-U header in 4x IPv4 vector encapsulation 09/13509/2
Andreas Schultz [Tue, 17 Jul 2018 09:10:16 +0000 (11:10 +0200)]
Fix GTP-U header in 4x IPv4 vector encapsulation

The fourth GTP-U packet had a wrong reference, leading to data
corruption.

Change-Id: Id82f87368183d5e8b7047133c5ea799f2a9cb43c
Signed-off-by: Andreas Schultz <andreas.schultz@travelping.com>
5 years agovppinfra: increase max bihash arena size to 512GB 25/13525/3
Damjan Marion [Tue, 17 Jul 2018 21:01:49 +0000 (23:01 +0200)]
vppinfra: increase max bihash arena size to 512GB

Change-Id: Ic636297df4c03303fdcb176669f0268d80e22123
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agomemif: vectorized buffer enqueue in input node 06/13406/4
Damjan Marion [Tue, 10 Jul 2018 12:15:35 +0000 (14:15 +0200)]
memif: vectorized buffer enqueue in input node

Change-Id: If6970788396c85415634f12304f49eed0d812281
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoBump the VPP version in configure.ac 22/13522/2
Neale Ranns [Tue, 17 Jul 2018 18:17:22 +0000 (11:17 -0700)]
Bump the VPP version in configure.ac

How many engineers does it take to change a lightbulb?

Change-Id: I28a34e0ae49ce4f95b12a342c4664198a20f4574
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agoloopback:fix delete to check interface class 94/13494/2
Eyal Bari [Mon, 16 Jul 2018 16:18:56 +0000 (19:18 +0300)]
loopback:fix delete to check interface class

Change-Id: Ia563b279e85b5da93f79db5a2a4d9b8c04f5be99
Signed-off-by: Eyal Bari <ebari@cisco.com>
5 years agosession: send ctrl msg over mq 58/13458/8
Florin Coras [Thu, 12 Jul 2018 21:48:06 +0000 (14:48 -0700)]
session: send ctrl msg over mq

Change-Id: I242056bc46ddb671064665916b2687860292dcb2
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agosession: use msg queue for events 58/13358/24
Florin Coras [Wed, 4 Jul 2018 11:15:05 +0000 (04:15 -0700)]
session: use msg queue for events

Change-Id: I3c58367eec2243fe19b75be78a175c5261863e9e
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agosession: make sure segment sizes are page aligned 52/13452/4
Florin Coras [Thu, 12 Jul 2018 08:45:13 +0000 (01:45 -0700)]
session: make sure segment sizes are page aligned

Change-Id: Ibbba75d069ca1bbf9e5a1b8bd2f405d32021c656
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoVOM: support for pipes 83/13483/4
Neale Ranns [Wed, 11 Apr 2018 15:08:30 +0000 (08:08 -0700)]
VOM: support for pipes

Change-Id: I5c381dfe2f926f94a34ee8ed8f1b9ec6038d5fe2
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
5 years agoAdjacency-BFD: assume BFD down on create 88/13488/2
Neale Ranns [Mon, 16 Jul 2018 13:12:33 +0000 (06:12 -0700)]
Adjacency-BFD: assume BFD down on create

Change-Id: I13279a1a96df457209fb25748a643c01b18ff4e0
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoacl-plugin: fix coverity errors 186574,186575,186576,186577,183451 78/13478/3
Andrew Yourtchenko [Mon, 16 Jul 2018 11:01:26 +0000 (13:01 +0200)]
acl-plugin: fix coverity errors 186574,186575,186576,186577,183451

Fix the copypaste-triggered errors in load-from-file ACL test code.
Also, add an explicit exit(1) after clib_error() to convince coverity
that code path is terminal indeed.

Change-Id: I1deedb49144559c9183449005ada0433c24db18a
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agovppinfra: AVX2 interleave functions 81/13481/2
Damjan Marion [Mon, 16 Jul 2018 12:18:23 +0000 (14:18 +0200)]
vppinfra: AVX2 interleave functions

Change-Id: I8688f700fccd87484da3e202ca3a070cc14eb267
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoEnable openssl TLS async support in client for HW accleration 74/13474/1
Ping Yu [Mon, 16 Jul 2018 09:44:48 +0000 (05:44 -0400)]
Enable openssl TLS async support in client for HW accleration

Change-Id: I003e41786c549c6451a1e9e178f5871d32c20e6e
Signed-off-by: Ping Yu <ping.yu@intel.com>
5 years agoVPP-1341: fix loopback interface graph arcs 72/13472/7
Dave Barach [Sat, 14 Jul 2018 00:12:45 +0000 (20:12 -0400)]
VPP-1341: fix loopback interface graph arcs

Remove broken special case from l2_input.c:set_int_l2_mode(), which
turns out to confuse the graph dispatch engine.

The loopback TX function needs to push packets to either
ethernet-input or to l2-input, based on bridge / BVI
configuration. Rather than overloading a single graph arc - and making
vain attempts to reconfigure it - create both arcs and use the correct
one.

Rewrote the loopback tx function as an idosyncratic multi-arch
quad/single loop fn.

Change-Id: I15b56ce641d90a11e7b3c7d23859f40e168dd7b2
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agoImprove IP4 ARP and IP6 ND Events Notification 70/13470/3 v18.10-rc0
John Lo [Fri, 13 Jul 2018 21:29:58 +0000 (17:29 -0400)]
Improve IP4 ARP and IP6 ND Events Notification

For L2 ARP termination, use both brodcast ARP request and reply
packets to provide MAC/IP binding events.

For IP4/IP6 neighbor adress resolution, send resolution events
if there is an address resolution attemp with a static neighbor
entry where both IP and MAC matches. This allow probe of an IP
neighbor with a static entry to confirm it is responding with
a reply matching that of the static entry.

Change-Id: Iffb923bb5aea3f9021436735d5ca06e7b24f966f
Signed-off-by: John Lo <loj@cisco.com>
5 years agoAdd QEDE poll mode driver (librte_pmd_qede) 71/13471/1
Igor Mikhailov (imichail) [Fri, 13 Jul 2018 23:59:09 +0000 (16:59 -0700)]
Add QEDE poll mode driver (librte_pmd_qede)

The driver implements Cavium QLogic FastLinQ QL4xxxx 10G/25G/40G/50G/100G
Intelligent Ethernet Adapters (IEA) and Converged Network Adapters (CNA)
(doc/guides/nics/qede.rst)

Change-Id: If17e8cb572eb8c0585085be1c7cfdfa159eb6e68
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
5 years agosrv6-as: Adding support for L2 traffic 47/13347/6
Francois Clad [Wed, 4 Jul 2018 09:47:21 +0000 (11:47 +0200)]
srv6-as: Adding support for L2 traffic

Change-Id: I72978c5957cb1acf154c9de7ad153092bac37785
Signed-off-by: Francois Clad <fclad@cisco.com>
5 years agosrv6-as: Adding test cases 97/13397/7
Francois Clad [Mon, 9 Jul 2018 14:45:23 +0000 (16:45 +0200)]
srv6-as: Adding test cases

Change-Id: I597a88d255c2f7cff552b1fa12ed4a7c4579b91c
Signed-off-by: Francois Clad <fclad@cisco.com>
5 years agovppinfra: add missing header file to install list 69/13469/2
Damjan Marion [Fri, 13 Jul 2018 17:17:57 +0000 (19:17 +0200)]
vppinfra: add missing header file to install list

Change-Id: I1f82c40f9f927296d5d439b0db70a70ef803cf3c
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoImprove the "show version" command 65/13465/3
Dave Barach [Fri, 13 Jul 2018 13:59:45 +0000 (09:59 -0400)]
Improve the "show version" command

Add "show version cmdline" to display the command line
Add doxygen tags to the source code

Change-Id: I0205b373062fd88f176d9c8086d89d7784a5172f
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agoVPP-1338: fix ipsec api coverity warnings 67/13467/1
Dave Barach [Fri, 13 Jul 2018 15:22:23 +0000 (11:22 -0400)]
VPP-1338: fix ipsec api coverity warnings

Remove useless unsigned comparisions: "(unsigned) value < 0", correct
a couple of incorrect limit checks.

Change-Id: I9606c4057df157f770d59535457cb9df1cfd1f35
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agoThe gateway IP should be 172.16.2.1 60/13460/2
shenJibiao [Fri, 13 Jul 2018 06:58:28 +0000 (14:58 +0800)]
The gateway IP should be 172.16.2.1

Change-Id: I28d05a04abd11f630035d34ce573016c77ffab53
Signed-off-by: shenJibiao <shenjibiao@corp.netease.com>
5 years agoSTATS fix memory leak in stat_client.c 54/13454/2
Dave Cornejo [Thu, 12 Jul 2018 18:37:55 +0000 (08:37 -1000)]
STATS fix memory leak in stat_client.c

continue statement in case bypasses cleaning up of unserialized
node

Change-Id: I0103d31df2eed3ed04d7cdcdfb790f4d9a376336
Signed-off-by: Dave Cornejo <dcornejo@netgate.com>
5 years agoFix debug CLI node recycling bugs 53/13453/3
Dave Barach [Thu, 12 Jul 2018 17:00:47 +0000 (13:00 -0400)]
Fix debug CLI node recycling bugs

When creating a new - as opposed to recycled - debug CLI process node,
perform a proper barrier sync and node runtime update. Otherwise, the
graph replicas diverge for some period of time. That's not immediately
fatal, but it's not a good idea, either.

When renaming a debug cli process node, fix all of the name-vector
replicas before freeing the [one-and-only] name vector.

This fixes the so-called stats segment node runtime scraper crash,
which tripped over a replicated dangling reference to the
recently-freed debug CLI node name.

Change-Id: Ieffabd9f003139e534b9d79b88370439907930e5
Signed-off-by: Dave Barach <dbarach@cisco.com>
5 years agoRevert "vppinfra: AVX2 blend" 57/13457/2
Dave Barach [Thu, 12 Jul 2018 20:56:52 +0000 (20:56 +0000)]
Revert "vppinfra: AVX2 blend"

Causes clang validation failures. The patch did not actually pass validation; unfortunately it received a +1 from fd.io JJB - presumably due to a race condition

This reverts commit 779c865cc6c7af5bb435d8b3465d80685370edb2.

Change-Id: Ica3697f8f90e67d3eae4debc597f27d7d512004a
Signed-off-by: Dave Barach <dbarach@cisco.com>
5 years agosrv6: fix pointers in quad loops 44/13444/2
Francois Clad [Thu, 12 Jul 2018 07:56:23 +0000 (09:56 +0200)]
srv6: fix pointers in quad loops

Change-Id: I51c4bcbd456d2e7ffbdeef9cc8c7703d1c88b52e
Signed-off-by: Francois Clad <fclad@cisco.com>
5 years agoIGMP: validate the packets length in the DP 30/13430/2
Neale Ranns [Wed, 11 Jul 2018 16:21:06 +0000 (09:21 -0700)]
IGMP: validate the packets length in the DP

thanks to coverity... validate that the length of the packet on
wire matches the size of the header based on the number of groups
and sources. drop those that don't match.

Change-Id: Iab3f3a835f6a43d9c73c5d502ea5ceccdd6985b0
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agostats-segment: add startup node serialization option 35/13435/2
Florin Coras [Wed, 11 Jul 2018 15:03:26 +0000 (08:03 -0700)]
stats-segment: add startup node serialization option

Node serialization is turned off by default. To enable it do:

statseg {serialize-nodes on}

Change-Id: I53bba3cab517bd3ba90eba52d94b3ebb16870141
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agovppinfra: AVX2 blend 08/13408/3
Damjan Marion [Tue, 10 Jul 2018 12:28:36 +0000 (14:28 +0200)]
vppinfra: AVX2 blend

Change-Id: Ie7a64318f10ebb535c98aff4e25cdfc48f60ff33
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agosession: push tx notifications only if needed 33/13433/3
Florin Coras [Wed, 11 Jul 2018 12:25:06 +0000 (05:25 -0700)]
session: push tx notifications only if needed

VPP-1340

Change-Id: Ia3f2fc054dbfb2ba912a768c70466e7042024e32
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoDocumentation: Placeholder directory and files 27/13427/3
Ed Kern [Wed, 11 Jul 2018 13:45:41 +0000 (07:45 -0600)]
Documentation: Placeholder directory and files

This adds the directory sphinx and sphinx/docs
as well as two matching placeholder files.  These
are being added now to facilitate some gerrit triggers

Change-Id: I0e6e7607c5ae5cdbf05718b95b1d299178544485
Signed-off-by: Ed Kern <ejk@cisco.com>
5 years agoavoid using thread local storage for thread index 20/13420/3
Damjan Marion [Wed, 11 Jul 2018 10:47:43 +0000 (12:47 +0200)]
avoid using thread local storage for thread index

It is cheaper to get thread index from vlib_main_t if available...

Change-Id: I4582e160d06d9d7fccdc54271912f0635da79b50
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agobridge-domain:fix no_flood count 22/13422/2
Eyal Bari [Wed, 11 Jul 2018 11:01:36 +0000 (14:01 +0300)]
bridge-domain:fix no_flood count

no_flood count was not updated on removal
might couase a negative insertion index when adding new members

Change-Id: I2caf2c453dfef1a9f16fb8fa2e5af42b4e653a69
Signed-off-by: Eyal Bari <ebari@cisco.com>
5 years agomemif: fix max number of rings 18/13418/2
Damjan Marion [Wed, 11 Jul 2018 10:24:19 +0000 (12:24 +0200)]
memif: fix max number of rings

Change-Id: Ie7621a38a44e7c692e23e58c43d27d8d2aab43e6
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoavf: descriptor should be volatile 24/13424/2
Damjan Marion [Wed, 11 Jul 2018 11:29:17 +0000 (13:29 +0200)]
avf: descriptor should be volatile

Change-Id: I2cb4cf2167b6e958d2e57b461848a4a189e3fda0
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agosrv6-as: Adding rewrite counters 46/13346/6
Francois Clad [Wed, 13 Jun 2018 13:03:28 +0000 (15:03 +0200)]
srv6-as: Adding rewrite counters

Change-Id: I57f1db6fabfdb8ddfba514ad754707b24d47c962
Signed-off-by: Francois Clad <fclad@cisco.com>
5 years agosrv6: Fixing SRH parsing bug in Scapy 2.4 95/13395/3
Francois Clad [Mon, 9 Jul 2018 14:33:39 +0000 (16:33 +0200)]
srv6: Fixing SRH parsing bug in Scapy 2.4

Change-Id: Ib2cb345d07665735697bf54ad48d353ba4112eda
Signed-off-by: Francois Clad <fclad@cisco.com>
5 years agoVPP-1338: fix coverity warning in mactime plugin 21/13421/2
Dave Barach [Wed, 11 Jul 2018 11:01:25 +0000 (07:01 -0400)]
VPP-1338: fix coverity warning in mactime plugin

Add missing VALIDATE_SW_IF_INDEX macro / check.

Net of this fix, a spurious warning will probably recur. Coverity will
complain that sw_if_index is tainted. Please dismiss the warning.

Change-Id: Iec31ce1d86f742e197e63b0c5d474cd5e496ee5f
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agovom: Add TAPv2 support 53/13353/3
Mohsin Kazmi [Wed, 4 Jul 2018 13:17:01 +0000 (15:17 +0200)]
vom: Add TAPv2 support

Change-Id: I1fff014dd7d8a66ed3cb063e8c996de4f7e745c2
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agothreads: fix issue with setting main-core to 0 16/13416/2
Damjan Marion [Wed, 11 Jul 2018 08:51:00 +0000 (10:51 +0200)]
threads: fix issue with setting main-core to 0

Change-Id: Id3ccfcfa2a88cf7aa106f1202af7cd677de32575
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agomake_test: Add missing classifier tests 38/13338/9
Jan Gelety [Tue, 3 Jul 2018 11:58:24 +0000 (13:58 +0200)]
make_test: Add missing classifier tests

Jira: CSIT-1172

Change-Id: I04e726aab97efb96ed835d2a6db293a2acab0add
Signed-off-by: Jan Gelety <jgelety@cisco.com>
5 years agoVPP-1337: Dangling reference be gone! 13/13413/1
Dave Barach [Wed, 11 Jul 2018 00:22:43 +0000 (20:22 -0400)]
VPP-1337: Dangling reference be gone!

Freeing the prefix and address vectors after signalling them from
dhcpv6_client_node_fn to either the pd or iana report processes is
absolutely wrong. The code has appeared to work by luck.

This took three full days' worth of expert effort to root cause - in
the context of an unrelated patch - and about one minute to fix.

Change-Id: Ie589ab1a70ae83441ab4e8b6618a6d405741f53f
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agoIGMP: coverity found defects 07/13407/2
Neale Ranns [Tue, 10 Jul 2018 12:26:01 +0000 (05:26 -0700)]
IGMP: coverity found defects

Change-Id: Id6aba75c30712e9a0ac7b3075bd6cfc49d6bec36
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoFIB path dump: fix next-hop-table ID for recursive routes 02/13402/3
Neale Ranns [Tue, 10 Jul 2018 10:00:07 +0000 (03:00 -0700)]
FIB path dump: fix next-hop-table ID for recursive routes

Change-Id: I57b4ebca29c0b185770373e8878f89a9bd13b742
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoNAT44: multiple outside FIB tables (VPP-1314) 88/13388/2
Matus Fabian [Mon, 9 Jul 2018 08:34:20 +0000 (01:34 -0700)]
NAT44: multiple outside FIB tables (VPP-1314)

Change-Id: I56eb15f8fd2d3049845287dc3df7870582764f8b
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 years agoopenSUSE: spec file update to reflect latest deps 51/13351/4
Marco Varlese [Wed, 4 Jul 2018 12:31:10 +0000 (14:31 +0200)]
openSUSE: spec file update to reflect latest deps

Change-Id: I3c04956400a2e88d331f43d1b4865ee2c75e7bc9
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
5 years agoRemove unused variables 00/13400/2
Igor Mikhailov (imichail) [Mon, 9 Jul 2018 22:24:39 +0000 (15:24 -0700)]
Remove unused variables

Change-Id: If4da80c7eefe55905594eaaba0946d75f0892da5
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
5 years agoDo not translate packets destined for NAT64 inside interface (VPP-1331) 84/13384/3
Juraj Sloboda [Mon, 9 Jul 2018 00:36:37 +0000 (02:36 +0200)]
Do not translate packets destined for NAT64 inside interface (VPP-1331)

Change-Id: Ieb8020f57ed5ad20daf552cd62ae3fdd8c573926
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
5 years agopp2: increase recycle batch size 76/13376/2
Brian Brooks [Thu, 28 Jun 2018 02:27:26 +0000 (21:27 -0500)]
pp2: increase recycle batch size

Increase batch size when recycling buffers. This increases Mpps by 7%.

Change-Id: I2a460611d9c36e9bf087b076fc4e187acf61108f
Signed-off-by: Brian Brooks <brian.brooks@arm.com>
5 years agopp2: use configured RX queue size 74/13374/2
Brian Brooks [Wed, 27 Jun 2018 20:50:57 +0000 (15:50 -0500)]
pp2: use configured RX queue size

Change-Id: I5e5b2dd4f4bc3e257824015c723228ac5128d6a0
Signed-off-by: Brian Brooks <brian.brooks@arm.com>