vpp.git
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>
5 years agoIGMP improvements 38/13138/11
Neale Ranns [Fri, 8 Jun 2018 06:48:20 +0000 (23:48 -0700)]
IGMP improvements

- Enable/Disable an interface for IGMP
- improve logging
- refactor common code
- no orphaned timers
- IGMP state changes in main thread only
- Large groups split over multiple state-change reports
- SSM range configuration API.
- more tests

Change-Id: If5674f1044e7e97274a711f47807c9ba689d7b9a
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agovxlan:use bihash_16_8 for ipv4 lookup 79/13379/5
Eyal Bari [Sun, 8 Jul 2018 05:15:56 +0000 (08:15 +0300)]
vxlan:use bihash_16_8 for ipv4 lookup

Change-Id: I0d4630c88d6caacffcd073ebaa12766dfc893f70
Signed-off-by: Eyal Bari <ebari@cisco.com>
5 years agonew pipe code does not use stdints 99/13399/3
Neale Ranns [Mon, 9 Jul 2018 16:56:32 +0000 (09:56 -0700)]
new pipe code does not use stdints

Change-Id: Idee565af852c7bb434b886fbf31c6e76315686c4
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoFix missing pipe.api.h 98/13398/1
Matthew Smith [Mon, 9 Jul 2018 15:19:10 +0000 (10:19 -0500)]
Fix missing pipe.api.h

Errors occur when building a library outside the VPP
source tree that uses the shared memory API because
vnet/devices/pipe/pipe.api.h is not installed but is
included by vnet/vnet_all_api_h.h.

In src/vnet.am, Add vnet/devices/pipe/pipe.api.h to
nobase_include_HEADERS.

Change-Id: Id3dc28d90f41bb0ff576736f9d77bee19a2b8fdd
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
5 years agoFix IPsec intf tx node setup at intf creation 73/13373/2
Matthew Smith [Thu, 5 Jul 2018 19:45:58 +0000 (14:45 -0500)]
Fix IPsec intf tx node setup at intf creation

When using a DPDK cryptodev with IPsec, sending outbound
packets results in a crash on division by zero if using an
algorithm not supported by the OpenSSL ESP nodes. This
includes AES-GCM and MD5.

At IPsec intf creation time, the next node at slot
IPSEC_OUTPUT_NEXT_ESP_ENCRYPT for ipsec_if_tx_node_fn is
set to the node named esp-encrypt. This is the OpenSSL
ESP encrypt function. If DPDK cryptodevs are configured,
dpdk-esp-encrypt is the correct next node.

Change to setting the next node according to the value in
ipsec_main.esp_encrypt_node_index. That value is set to
esp-encrypt by default. If DPDK cryptodevs are configured
it gets set to dpdk-esp-encrypt.

Change-Id: I83896c76b975d74aead247a162c85eccca9575a8
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
5 years agoixgbe link update patch for DPDK 18.05 78/13378/2
Matthew Smith [Fri, 6 Jul 2018 22:00:00 +0000 (17:00 -0500)]
ixgbe link update patch for DPDK 18.05

Add patch for DPDK 18.05 that was previously applied
to DPDK 18.02.1. Issue with ixgbe on x550 SFP+ still
exists.

Bug report submitted to DPDK:

https://bugs.dpdk.org/show_bug.cgi?id=69

Change-Id: I9b005709ddf2a72192b1288ba8b4bac85bf12685
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
5 years agosession/svm: fix coverity warnings 72/13372/2
Florin Coras [Fri, 6 Jul 2018 06:44:23 +0000 (23:44 -0700)]
session/svm: fix coverity warnings

Change-Id: Ic5daed1f6c23d9561a04e235dcbf257f190d066a
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agovhost: Add multi-versioning support 52/13252/5
Mohsin Kazmi [Tue, 26 Jun 2018 15:20:11 +0000 (17:20 +0200)]
vhost: Add multi-versioning support

It also refactors the vhost code which was in one big file vhost-user.c.
Receive side code is in vhost_user_input.c and
Transmit side code is in vhost_user_output.c

Change-Id: I1b539b5008685889723e228265786a2a3e9f3a78
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agoPipes 57/13357/4
Neale Ranns [Wed, 4 Jul 2018 17:24:24 +0000 (10:24 -0700)]
Pipes

A pipe resembles a unix pipe. Each end of the pipe is a full
VPP interface.
pipes can be used for e.g. packet recirculation, inter-BD, etc.

Change-Id: I185bb9fb43dd233ff45da63ac1b85ae2e1ceca16
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
5 years agosvm: add unidirectional message queue 59/13359/8
Florin Coras [Wed, 4 Jul 2018 11:17:41 +0000 (04:17 -0700)]
svm: add unidirectional message queue

Meant for single reader/writer message exchanges. Supports multiple
message rings.

Change-Id: I925de9a6ae19226c5c39a63caff76424ed123a13
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoadd stat segment size configuration 64/13364/1
Dave Barach [Thu, 5 Jul 2018 15:48:20 +0000 (11:48 -0400)]
add stat segment size configuration

Change-Id: I395ff9c91d670a9f9e50dc1b030e0412b7234de5
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agovxlan:use bihash_24_8 for ipv6 lookup 18/13318/7
Eyal Bari [Mon, 4 Jun 2018 09:25:05 +0000 (12:25 +0300)]
vxlan:use bihash_24_8 for ipv6 lookup

* added the fib index into the key
* conform coding style for vxlan.h
* added "show vxlan tunnel raw" command to dump bihash

Change-Id: Icc96e41abb648e96de5b4605b035f68f9e20f8a9
Signed-off-by: Eyal Bari <ebari@cisco.com>
5 years agoVPP-1335 vapi crash when memclnt_keepalive received 49/13349/4
Klement Sekera [Wed, 4 Jul 2018 11:43:46 +0000 (13:43 +0200)]
VPP-1335 vapi crash when memclnt_keepalive received

Change-Id: If33a7cc6c76147fd3ea9d8118370e7a508819b81
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agoFix clib_bitmap_next_clear() function when no clear bits left 60/13360/3
John Lo [Wed, 4 Jul 2018 20:27:59 +0000 (16:27 -0400)]
Fix clib_bitmap_next_clear() function when no clear bits left

If the bitmap has no bit clear after the input bit position i,
the function will return i even if its bit is set.
Fix is to return the next bit just beyond the free bitmap.

This can cause IP neighbor scan crash in ip_neighbor_scan() with
a debug image. With production image, ip_neighbor_scan() may still
function, AFAICT, with extra neighbor delete attempts for entries
already deleted, until these entries are reused for new neighbors.

Change-Id: If6422ef6f63908ea39651de4ccbd8cb0b294bd69
Signed-off-by: John Lo <loj@cisco.com>
5 years agofix VPP-1312 Invalid UDP packet length in ipsec 73/13073/3
Klement Sekera [Fri, 15 Jun 2018 10:44:16 +0000 (12:44 +0200)]
fix VPP-1312 Invalid UDP packet length in ipsec

Change-Id: Ibfd0a2e7010e6e74c32244c538f60e0713bea03f
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agoopenSUSE: add python2-ply dependency 50/13350/2
Marco Varlese [Wed, 4 Jul 2018 12:23:08 +0000 (14:23 +0200)]
openSUSE: add python2-ply dependency

Change-Id: I39ad69975e34bf11d3c009ad705157ceefa43fb9
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
5 years agoDo not override skip-cores if set in startup.conf 39/13339/2
Damjan Marion [Tue, 3 Jul 2018 20:24:32 +0000 (22:24 +0200)]
Do not override skip-cores if set in startup.conf

Change-Id: I97d75f58a46275fdad5add27dc59c731cc3ac64d
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoIP FIB dump - incorrect table-ID for deag paths 35/13335/2
Neale Ranns [Tue, 3 Jul 2018 13:37:00 +0000 (06:37 -0700)]
IP FIB dump - incorrect table-ID for deag paths

Change-Id: I383cfb662b4d2bf4f814e3eb9a1ce4d6bff7066d
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoRemove unused members from ip4_fib_t 41/13341/2
Neale Ranns [Wed, 4 Jul 2018 06:29:49 +0000 (23:29 -0700)]
Remove unused members from ip4_fib_t

Change-Id: I8b92652d512bad5d774c7862f9808c306bbeff18
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
5 years agoadd 'src-lookup' keyword for FIB paths 37/13337/2
Neale Ranns [Tue, 3 Jul 2018 13:41:47 +0000 (09:41 -0400)]
add 'src-lookup' keyword for FIB paths

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