vpp.git
6 years agoreassembly: feature/concurrency 88/11188/6
Klement Sekera [Thu, 22 Feb 2018 10:41:12 +0000 (11:41 +0100)]
reassembly: feature/concurrency

This change makes ip reassembly an interface feature, while adding
concurrency support. Due to this, punt is no longer needed to test
reassembly.

Change-Id: I467669514ec33283ce935be0f1dd08f07684f0c7
Signed-off-by: Klement Sekera <ksekera@cisco.com>
6 years agoFIB Interpose Source 28/10728/10
Neale Ranns [Wed, 21 Feb 2018 12:57:17 +0000 (04:57 -0800)]
FIB Interpose Source

The interpose source allows the source/provider to insert/interpose
a DPO in the forwarding chain of the FIB entry ahead of the forwarding
provided by the next best source. For example if the API source (i.e
the 'control plane') has provided an adjacency for forwarding, then
an interpose source (e.g. a monitoring service) couold interpose a
replicatte DPO to copy the traffic to another location AND forward
using the API's adjacency.
To use the interose feature an existing source (i.e FIB_SOURCE_PLUGIN_HI)
cn specifiy as a flag FIB_ENTRY_FLAG_INTERPOSE and provide a DPO to
interpose. One might also consider using interpose in conjunction with
FIB_ENTRY_FLAG_COVER_INHERIT to ensure the interpose object affects
all prefixes in the sub-tree.

Change-Id: I8b2737b985f8f7c08123406d0491881def347b52
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agoFix Allow ARP packets for dot1q interface with MACIP enabled 27/11227/2
Steve Shin [Mon, 19 Mar 2018 18:36:10 +0000 (11:36 -0700)]
Fix Allow ARP packets for dot1q interface with MACIP enabled

ARP packets need to be allowed for dot1q interface when MACIP is enabled.

Change-Id: I33dd3cb6c6100c49420d57360a277f65c55ac816
Signed-off-by: Steve Shin <jonshin@cisco.com>
6 years agoVCL: Fix Coverity CID183003 17/11217/2
Dave Wallace [Mon, 19 Mar 2018 14:38:00 +0000 (10:38 -0400)]
VCL: Fix Coverity CID183003

*** CID 183003:  Program hangs  (LOCK)
/src/vcl/vppcom.c: 2988 in vppcom_session_accept()

Change-Id: I123b73198d305fb0226516942caa410d3647a6bc
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
6 years agoUse x(void) not x() in new interface stats code 26/11226/2
Neale Ranns [Mon, 19 Mar 2018 16:24:07 +0000 (12:24 -0400)]
Use x(void) not x() in new interface stats code

Change-Id: Iaceaba4dc22341c631c858516b960ce97c4aa564
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agosession: fix coverity warnings 99/11199/4
Florin Coras [Sun, 18 Mar 2018 15:22:17 +0000 (08:22 -0700)]
session: fix coverity warnings

Change-Id: I022dc40476ea9c30957b12bf1bd0629c6eb41cda
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoCoverity found bugs in recent MPLS changes 04/11204/2
Neale Ranns [Mon, 19 Mar 2018 09:32:57 +0000 (02:32 -0700)]
Coverity found bugs in recent MPLS changes

Change-Id: I590945fdc1af53208c990a52bbecdc992fd27532
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
6 years agoQoS code coverity found errors 05/11205/2
Neale Ranns [Mon, 19 Mar 2018 09:39:45 +0000 (02:39 -0700)]
QoS code coverity found errors

Change-Id: I6b125b79bdc560bfb81f307367c844b6a5af6368
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
6 years agoFIB code coverity found defect 06/11206/2
Neale Ranns [Mon, 19 Mar 2018 09:43:28 +0000 (02:43 -0700)]
FIB code coverity found defect

Change-Id: I7cdc29dd6481242aaace75138cc34e2f5ea76b81
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
6 years agoVCL: Fix Coverity CID183009 20/11220/2
Dave Wallace [Mon, 19 Mar 2018 15:18:30 +0000 (11:18 -0400)]
VCL: Fix Coverity CID183009

Change-Id: I0233b20eb4c7dcb325e15b97a22ecd54200f6fde
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
6 years agoInterface Unicast, Multicast and Broadcast stats on the API 10/11210/2
Neale Ranns [Fri, 16 Mar 2018 23:26:21 +0000 (16:26 -0700)]
Interface Unicast, Multicast and Broadcast stats on the API

Change-Id: I7c75da358aff1bd0216a602a49f2909cef5d920d
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agoIGMP plugin 66/9766/34
Jakub Grajciar [Fri, 8 Dec 2017 15:28:42 +0000 (16:28 +0100)]
IGMP plugin

- host mode:
  igmp_listen - API to signal that the host has joined an (S,G)

- route mode:
  igmp_enable - API to enable the reception of host IGMP messages
  igmp_event - API to report the host join/leave from an (S,G)

Change-Id: Id180ec27dee617d33ab3088f5dcf6125d3aa9c8f
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
6 years agoQoS: publish qos.api.h file 07/11207/2
Matus Fabian [Mon, 19 Mar 2018 10:58:41 +0000 (03:58 -0700)]
QoS: publish qos.api.h file

Change-Id: Ice041610c23563ead13019216516aff23b7775b9
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agoIPIP: Fix coverity error. 08/11208/2
Ole Troan [Mon, 19 Mar 2018 11:14:02 +0000 (12:14 +0100)]
IPIP: Fix coverity error.

Change-Id: Ia2b3350bf8e2c72eee3f33936ba16dd817c75c72
Signed-off-by: Ole Troan <ot@cisco.com>
6 years agoScapy upgrade to 2.4.0.rc5 06/10806/9
Neale Ranns [Sun, 25 Feb 2018 20:27:18 +0000 (12:27 -0800)]
Scapy upgrade to 2.4.0.rc5

- many of the patches fd.io applies in test/patches/2.3.3 are now upstreamed in 2.4
- 2.4 adds support for IGMPv3 which is my main motivation for the upgrade

Change-Id: If2c0a524e3cba320b4a5d8cd07817c6ea2bf0c5a
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agoFIX: Fixed ip6_fib_dump api function response. 91/11191/3
Dmitry Vakhrushev [Fri, 16 Mar 2018 17:26:32 +0000 (20:26 +0300)]
FIX: Fixed ip6_fib_dump api function response.

Change-Id: I26c5d61bc2f6188bcd4ecac4b5e9385821b0398b
Signed-off-by: Dmitry Vakhrushev <dmitry@netgate.com>
6 years agoRemove unnumbered configuration on interface delete 85/11185/3
Neale Ranns [Fri, 16 Mar 2018 10:22:39 +0000 (03:22 -0700)]
Remove unnumbered configuration on interface delete

Change-Id: Iae5532c3d53e208831f3b2782242d9e59d367087
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agocli: make q work again 95/11195/1
Florin Coras [Fri, 16 Mar 2018 16:13:37 +0000 (09:13 -0700)]
cli: make q work again

After the addition of "qos" cli, "quit" command is not the only match
for "q". Therefore, add a separate "q" cli to avoid ambiguity.

Change-Id: I84f6ddce14ef7d5fa7089537cb62adfecea0e501
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoQoS recording and marking 53/11053/9
Neale Ranns [Tue, 27 Feb 2018 11:45:38 +0000 (03:45 -0800)]
QoS recording and marking

Change-Id: Ie5a50def4ec1e4a3b3404a8b6ab9ec248bc16744
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agoFix a long-latent bi=0 bug in vlib_buffer_add_data 93/11193/2
Dave Barach [Fri, 16 Mar 2018 19:21:35 +0000 (15:21 -0400)]
Fix a long-latent bi=0 bug in vlib_buffer_add_data

Change vlib_buffer_add_data() so it interprets ~0 to mean please
allocate a new buffer, instead of 0. Fixed a couple of calls to pass
~0 instead of 0.

Zero has always been a valid buffer index, we never happened to
actually use it until recent buffer allocator changes.

The presenting symptom: ASSERT failure when running "make
TEST=test_mpls test-debug"

Change-Id: Ic909913c1d464b3434d6d47e0c58f978806854d5
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoIPv6 ND Router discovery control plane (VPP-1095) 40/10840/7
Juraj Sloboda [Thu, 1 Feb 2018 14:18:49 +0000 (15:18 +0100)]
IPv6 ND Router discovery control plane (VPP-1095)

Change-Id: I4b5b60e7c6f618bb935eab1e96a2e79bbb14f58f
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
6 years agostats: allow configuring poller delay 71/9671/14
Klement Sekera [Thu, 30 Nov 2017 06:00:31 +0000 (07:00 +0100)]
stats: allow configuring poller delay

This introduces a startup config option for configuring stats poller delay.

Use `stats { interval <seconds> }` to configure the delay at startup.

The default value remains unchanged - 10 seconds.

Change-Id: If12cb1f7f6f1f8ecfa461561bc77847cdf260388
Signed-off-by: Klement Sekera <ksekera@cisco.com>
6 years agoIPSec: fix IPv6 policy deleting 89/11189/2
Matus Fabian [Fri, 16 Mar 2018 12:44:24 +0000 (05:44 -0700)]
IPSec: fix IPv6 policy deleting

Change-Id: I9f487d6033edde09557709f94f97fc8a70246b09
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agoremove spurious print statements from DVR tests 87/11187/1
Neale Ranns [Fri, 16 Mar 2018 12:08:24 +0000 (05:08 -0700)]
remove spurious print statements from DVR tests

Change-Id: I3b1c71b144b4760922a467086fcdb410cd225c57
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agoFix sample-plugin build on ubuntu 18.04 81/11181/3
Damjan Marion [Thu, 15 Mar 2018 23:54:30 +0000 (00:54 +0100)]
Fix sample-plugin build on ubuntu 18.04

Change-Id: Ia10aadc7f969b20e8cd50989230a80e7e21cbff4
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agoIPv6 ND Router discovery data plane (VPP-1095) 33/10333/5
Juraj Sloboda [Mon, 15 Jan 2018 09:39:21 +0000 (10:39 +0100)]
IPv6 ND Router discovery data plane (VPP-1095)

Add API call to send Router Solicitation messages.
Save info from incoming Router Advertisement messages and notify listeners.

Change-Id: Ie518b5492231e03291bd4c4280be4727bfecab46
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
6 years agosession: allow local host binds 80/11180/4
Florin Coras [Thu, 15 Mar 2018 14:45:27 +0000 (07:45 -0700)]
session: allow local host binds

Change-Id: I906bbc5bc75279f210093fb9276db9e35ee44c1f
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoremove bootstrap from top-level Makefile 76/11176/2
Damjan Marion [Thu, 15 Mar 2018 18:36:41 +0000 (19:36 +0100)]
remove bootstrap from top-level Makefile

Change-Id: I9f2a1ba9153ff57958b230a1ba2afeb9df50fd45
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agoUpdate session local address is_ip4 on bind when not global 71/11171/2
Keith Burns (alagalah) [Thu, 15 Mar 2018 17:04:20 +0000 (10:04 -0700)]
Update session local address is_ip4 on bind when not global

Change-Id: I73ddca5a86e83c9f547778828bb49d2bd4675eaf
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
6 years agomake test: Add VCL iperf3 tests 61/11161/2
Dave Wallace [Thu, 15 Mar 2018 00:01:28 +0000 (20:01 -0400)]
make test: Add VCL iperf3 tests

Change-Id: I101a44aa4913bee8d9a1aa37822e8e7e61c7aa1d
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
6 years agotls: add openssl engine 67/11067/17
Florin Coras [Fri, 9 Mar 2018 21:05:53 +0000 (13:05 -0800)]
tls: add openssl engine

Change-Id: I6c215858d2c9c620787632b570950b15274c0df2
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoIPIP: Linter on test_*.py 57/11157/3
Ole Troan [Wed, 14 Mar 2018 19:39:40 +0000 (20:39 +0100)]
IPIP: Linter on test_*.py

Change-Id: Icd491e382a2da0e5d55a673458605bc37e39b669
Signed-off-by: Ole Troan <ot@cisco.com>
6 years agoAdd a helper function to fetch vlib node index for already stacked dpos 59/11159/3
Vijayabhaskar Katamreddy [Wed, 14 Mar 2018 21:04:27 +0000 (14:04 -0700)]
Add a helper function to fetch vlib node index for already stacked dpos

Change-Id: Ie07c6f3723312ce88046570dcbe591b72724657b
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
6 years agouse system provided ccache links 60/11160/2
Damjan Marion [Wed, 14 Mar 2018 21:09:22 +0000 (22:09 +0100)]
use system provided ccache links

Change-Id: I0860bbd0cf368fc3638b861504ebf642ee9d3807
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agoIPIP: Also publish the ipip.api.h file. 55/11155/2
Jon Loeliger [Wed, 14 Mar 2018 19:08:43 +0000 (14:08 -0500)]
IPIP: Also publish the ipip.api.h file.

Change-Id: I0b1237db541b752393483496ea19dec55799454e
Signed-off-by: Jon Loeliger <jdl@netgate.com>
6 years agofix 'make build' 58/11158/1
Damjan Marion [Wed, 14 Mar 2018 19:58:39 +0000 (20:58 +0100)]
fix 'make build'

Change-Id: I4ec24ffd39f83d9c2d4115e7a06a5eb84a08aae8
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agomake test: early core detection, code cleanup 53/11153/4
Klement Sekera [Wed, 14 Mar 2018 17:14:49 +0000 (18:14 +0100)]
make test: early core detection, code cleanup

Change-Id: I503d69f902f1c8d3107fb3f2b9f31b0083ebb747
Signed-off-by: Klement Sekera <ksekera@cisco.com>
6 years agoClean up vpp build bootstrap step 23/11123/7
Dave Barach [Tue, 13 Mar 2018 16:54:43 +0000 (12:54 -0400)]
Clean up vpp build bootstrap step

Net of rewriting vppapigen in python-ply, there's no need to compile
vppinfra.

Install a copy of vppapigen in .../build-root/tools/bin, so
the sample plugin build will work. Rationalize suffix-rules.mk.

Add clang, clang++ links to .../build-root/ccache-bin.

Change-Id: Ib4017848b7767b6054238ea544ee5319667c3659
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoVPP-1197: SELinux: 'create tap' (vhost-net backend TAP) fails when 52/11152/2
Billy McFall [Wed, 14 Mar 2018 13:34:02 +0000 (09:34 -0400)]
VPP-1197: SELinux: 'create tap' (vhost-net backend TAP) fails when
SELinux is enable

Update the SELinux Policy to allow management of the new vhost-net
backend TAP interface.

Change-Id: I2d0633a7fce2ee2a4d6e0008ab13599647c14f42
Signed-off-by: Billy McFall <bmcfall@redhat.com>
6 years agovlib: internal buffer manager rework 38/11138/3
Damjan Marion [Tue, 13 Mar 2018 20:32:17 +0000 (21:32 +0100)]
vlib: internal buffer manager rework

 - buffer_main is no longer part of vlib_main_t
 - pool of free lists is still part of vlib_main_t
 - mheap is not used anymore for buffer allocation
 - simple bitmap bassed buffer alloc scheme is introduced

Change-Id: I3e1e6d00e2c8122293ed0a741245eb841315a1ff
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agoPrevent calling rte_eth_xstats_get not initialized dev 44/11144/2
Szymon Sliwa [Wed, 14 Mar 2018 11:54:55 +0000 (11:54 +0000)]
Prevent calling rte_eth_xstats_get not initialized dev

DPDK API forbids calling rte_eth_xstats_get on a port
which has not been setup up yet.

Citing the DPDK docs (reformated):

"
The functions exported by the application Ethernet API to setup a device
designated by its port identifier must be invoked in the following order:

rte_eth_dev_configure()
rte_eth_tx_queue_setup()
rte_eth_rx_queue_setup()
rte_eth_dev_start()
Then, the network application can invoke, in any order, the functions
exported by the Ethernet API to get the MAC address of a given device,
to get the speed and the status of a device physical link, to
receive/transmit [burst of] packets, and so on.
"

original can be found here:
http://dpdk.org/doc/api/rte__ethdev_8h.html#a36ba70a5a6fce2c2c1f774828ba78f8d

Change-Id: I91854b8b0dd12dd028b4b36665cca49f16eac24c
Signed-off-by: Szymon Sliwa <szs@semihalf.com>
6 years agoIPIP: Add IP{v4,v6} over IP{v4,v6} configured tunnel support. 38/11038/8
Ole Troan [Thu, 8 Mar 2018 11:30:43 +0000 (12:30 +0100)]
IPIP: Add IP{v4,v6} over IP{v4,v6} configured tunnel support.

Change-Id: I166301c9e2388bae5f70ec0179d663a2703e27f5
Signed-off-by: Ole Troan <ot@cisco.com>
6 years agosocket_test.sh: Don't hard code debug image with gdb. 28/11128/2
Dave Wallace [Tue, 13 Mar 2018 23:31:16 +0000 (19:31 -0400)]
socket_test.sh: Don't hard code debug image with gdb.

Change-Id: Idd6c175b9102c74621c027136ab4550821a23ecc
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
6 years agomake test: handle multiple failures in one case 26/11126/2
Klement Sekera [Tue, 13 Mar 2018 20:22:32 +0000 (21:22 +0100)]
make test: handle multiple failures in one case

Change-Id: I5451ddec4bfdede12653415f90bf991e81494033
Signed-off-by: Klement Sekera <ksekera@cisco.com>
6 years agoVCL: Handle epoll HUP events in sock_test_server 29/11129/2
Dave Wallace [Tue, 13 Mar 2018 23:37:54 +0000 (19:37 -0400)]
VCL: Handle epoll HUP events in sock_test_server

Change-Id: I7b13319228c498a565f8556b73628e7ff3b106c4
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
6 years agosrv6-plugins: fixing documentation 25/11125/2
Francois Clad [Tue, 13 Mar 2018 18:03:44 +0000 (19:03 +0100)]
srv6-plugins: fixing documentation

Change-Id: I72439df585e56b3cbb7051f056fc35cddf0c864b
Signed-off-by: Francois Clad <fclad@cisco.com>
6 years agosrv6: minor CLI modifications 74/10374/8
Francois Clad [Thu, 1 Feb 2018 13:51:33 +0000 (14:51 +0100)]
srv6: minor CLI modifications

'sr steer [...] via sr policy [...]' -> 'sr steer [...] via [...]'
'show sr steering policies' -> 'show sr steering-policies'
'clear sr localsid counters' -> 'clear sr localsid-counters'

Change-Id: I0efbf38753a4bd0b7fba8cd08250e136e8e55199
Signed-off-by: Francois Clad <fclad@cisco.com>
6 years agoImprove l2_macs_events API to provide MAC move information 31/11131/3
John Lo [Wed, 14 Mar 2018 01:53:18 +0000 (21:53 -0400)]
Improve l2_macs_events API to provide MAC move information

Change mac_entry layout in l2_macs_event API message so the MAC
entry can be either add, delete or move where the sw_if_index of
an existing MAC entry changed. Also added a 8-bit flags field
in mac_entry for any future expansion.

Change-Id: I3bf9e1cf2556f2938202025a5d0772c2ce2fc99f
Signed-off-by: John Lo <loj@cisco.com>
6 years agoVOM: acl: Add support for acl ethertype unbind and dump 21/11021/6
Mohsin Kazmi [Wed, 7 Mar 2018 18:53:51 +0000 (19:53 +0100)]
VOM: acl: Add support for acl ethertype unbind and dump

Change-Id: I667b9ccabe54c8f9cff5b1a2e63864965f5064f5
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
6 years agoAt AF_PACKET socket create, do intf bind before rx ring cfg to avoid receiving pkts... 20/11120/2
Chaoyu Jin [Tue, 13 Mar 2018 14:37:41 +0000 (07:37 -0700)]
At AF_PACKET socket create, do intf bind before rx ring cfg to avoid receiving pkts from other interfaces

Change-Id: Ie40ee9129edaac717e716b469f4d10f3c29a4932
Signed-off-by: Chaoyu Jin <chjin@cisco.com>
6 years agoVCL: Fix race condition in event thread function 30/11130/1
Dave Wallace [Tue, 13 Mar 2018 23:42:02 +0000 (19:42 -0400)]
VCL: Fix race condition in event thread function

Change-Id: I8586faee0b3a40932cd711b60cebe1a23ff82a56
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
6 years agoSCTP: data retransmission & snd_space fix 21/11121/2
Marco Varlese [Tue, 13 Mar 2018 14:44:56 +0000 (15:44 +0100)]
SCTP: data retransmission & snd_space fix

This patch addresses two things:
1) The data retransmission which needs to be taken care of when the
SCTP_TIMER_T3_RXTX;
2) The correct calculation of the amount of data transmittable
considered: the local window, the peer window and any data inflight.

Change-Id: I2d03a6cb43e4e7770c4910f8547c66e1026aeace
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
6 years agoCommon form of fib-path reproting in dumps 81/11081/4
Neale Ranns [Mon, 12 Mar 2018 13:59:36 +0000 (06:59 -0700)]
Common form of fib-path reproting in dumps

Change-Id: I8f6fdbbeef2ac7e9fe5d87490ae5cba6e9a0b294
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agoFIB: DVR paths are not considered L3 attached 22/11122/2
Neale Ranns [Tue, 13 Mar 2018 14:51:50 +0000 (07:51 -0700)]
FIB: DVR paths are not considered L3 attached

Change-Id: Ie473dca3264b480b007d2eb500aaa557b889c7c1
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
6 years agolibmemif: ubuntu 18.04 build fix 01/11101/2
Jakub Grajciar [Tue, 13 Mar 2018 12:57:50 +0000 (13:57 +0100)]
libmemif: ubuntu 18.04 build fix

Change-Id: I6624cacd625eea6a9b8214f67d14ec162e2c0195
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
6 years agoRationalize plugin symbol error reporting 85/11085/2
Dave Barach [Mon, 12 Mar 2018 21:38:31 +0000 (17:38 -0400)]
Rationalize plugin symbol error reporting

Change-Id: I64f2b2007f30fc1c6bd2990ba0d7ccbcd43cdb38
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoSCTP: cumulative SACK fix 78/11078/2
Marco Varlese [Mon, 12 Mar 2018 11:36:59 +0000 (12:36 +0100)]
SCTP: cumulative SACK fix

A bug was found affecting the cumulative sending of SACK messages.
Because the next0 was never assigned to the next_output the SACK message
was never leaving the peer.
Further, two new flags have been added to distinguish when a peer is
AWAITING a SACK message (e.g. DATA is inflight and waiting to be
acknowledged).

Change-Id: Ibb5a98f7e5fed15cdc76710b74195cac031d59ed
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
6 years agoSPAN: Add 'is_l2" flag to DETAILS response messages. 84/11084/2
Jon Loeliger [Mon, 12 Mar 2018 19:50:08 +0000 (14:50 -0500)]
SPAN: Add 'is_l2" flag to DETAILS response messages.

Change-Id: I375bb0e663bc082d98a29fb101c653557ddc8f55
Signed-off-by: Jon Loeliger <jdl@netgate.com>
6 years agoRemove md5.[ch] from vppinfra 83/11083/1
Dave Barach [Mon, 12 Mar 2018 19:56:41 +0000 (15:56 -0400)]
Remove md5.[ch] from vppinfra

Removed the sole use of it from ip6_neighbor.c

Change-Id: Ie53cb3b6a3a41ec0917ec2042e5006d0cfaefc01
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoLicense text cleanup 80/11080/2
Dave Barach [Mon, 12 Mar 2018 13:31:36 +0000 (09:31 -0400)]
License text cleanup

Change-Id: I105375c653b1a1dce8f0f71005b281ff137c6f42
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoNAT44: fix nat_not_translate_output_feature in dual loop (VPP-1194) 62/11062/2
Matus Fabian [Fri, 9 Mar 2018 13:07:35 +0000 (05:07 -0800)]
NAT44: fix nat_not_translate_output_feature in dual loop (VPP-1194)

Change-Id: Icb858414145db0e5fef495e155903b3b935e50ba
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agoNAT44: fix nat_not_translate_output_feature for ICMP (VPP-1191) 10/11010/3
Matus Fabian [Wed, 7 Mar 2018 12:57:22 +0000 (04:57 -0800)]
NAT44: fix nat_not_translate_output_feature for ICMP (VPP-1191)

Change-Id: I1552e1418b704fdf1f1fa2c0174313b9b82a37a3
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agovnet: l2-classify: prefetch (n+2, n+3) rather than (n+1, n+2) inside dual loop code 16/11016/5
Andrew Yourtchenko [Wed, 7 Mar 2018 16:35:59 +0000 (17:35 +0100)]
vnet: l2-classify: prefetch (n+2, n+3) rather than (n+1, n+2) inside dual loop code

The dual loop within the L2 classifier processes the (n, n+1) packets,
the prefetching was trying to prefetch (n+1, n+2) - thus half of the
prefetches were not used - because the next iteration needs (n+2, n+3).

Change-Id: I827d20845dbdd0dcdcf463ee25661a7921428992
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
6 years agodpdk-input node packet trace intermittent on IP forwading path 66/11066/3
John Lo [Sat, 10 Mar 2018 00:48:42 +0000 (19:48 -0500)]
dpdk-input node packet trace intermittent on IP forwading path

Packet trace initiated by dpdk-input node would occasionally
not fully function if next node is ip4-input.
Change packet trace saving order in the quad-loop so "sho trace"
will display trace in packet receive order.
Fold calling of vlib_trace_buffer() into dpdk_add_trace().

Change-Id: I9d7a9bf3b9391f95590e66150b26b0b15912d803
Signed-off-by: John Lo <loj@cisco.com>
6 years agoMove the vnet cdp protocol implementation to a plugin 68/11068/1
Dave Barach [Sat, 10 Mar 2018 19:57:00 +0000 (14:57 -0500)]
Move the vnet cdp protocol implementation to a plugin

Add a binary API and debug cli to enable/disable cdp. cdp is disabled
by default.

Change-Id: I307c7e38dfda38e36ff3325f65de7036c34d89b1
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoAssign correct NUMA node for DPDK crypto devices 33/11033/7
Lee Roberts [Thu, 8 Mar 2018 02:57:49 +0000 (19:57 -0700)]
Assign correct NUMA node for DPDK crypto devices

DPDK rte_cryptodev_socket_id() is returning zero for QAT devices.
Apply DPDK patch where correct NUMA node can be obtained with pci_dev->device.numa_node.

Change-Id: I1c7a77bb13e2db8615189e97b67d68d043127787
Signed-off-by: Lee Roberts <lee.roberts@hpe.com>
6 years agoCoordinate known Ethernet speeds with Linux kernel and DPDK 34/11034/4
Lee Roberts [Thu, 8 Mar 2018 03:18:48 +0000 (20:18 -0700)]
Coordinate known Ethernet speeds with Linux kernel and DPDK

Linux kernel and DPDK recognize the following Ethernet speeds:
10M, 100M, 1G, 2.5G, 5G, 10G, 20G, 25G, 40G, 50G, 56G and 100G.
Add consistent Ethernet speeds to VPP.

Change-Id: I4cfcf378fb34425c1206db5aa2f6bdcc66e0a6ab
Signed-off-by: Lee Roberts <lee.roberts@hpe.com>
6 years agoCorrect address calculation for VPP-1168 32/11032/2
Lee Roberts [Thu, 8 Mar 2018 02:47:00 +0000 (19:47 -0700)]
Correct address calculation for VPP-1168

Use (u64) cast to ensure proper address calculations.

Change-Id: I6bad50010b140189f1b0af177e55da0045bd7a93
Signed-off-by: Lee Roberts <lee.roberts@hpe.com>
6 years agoVCL API for external callback for listener/connect event 90/10990/9
Keith Burns (alagalah) [Tue, 6 Mar 2018 23:55:22 +0000 (15:55 -0800)]
VCL API for external callback for listener/connect event

Change-Id: Ic59355683b581945d10a2df97d9b2deae87a998e
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
6 years agodpdk: move DPDK vfio hack to dpdk plugin 63/11063/4
Damjan Marion [Fri, 9 Mar 2018 15:05:56 +0000 (16:05 +0100)]
dpdk: move DPDK vfio hack to dpdk plugin

Change-Id: I806cbf8c6c49643fe6c317bcceab93c1b9d441ab
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agomake test: Force VCL test timeouts to FAIL test. 64/11064/2
Dave Wallace [Fri, 9 Mar 2018 17:04:10 +0000 (12:04 -0500)]
make test: Force VCL test timeouts to FAIL test.

Change-Id: Ie8d3bcb9021d9272bd27dba35d30e5081023f061
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
6 years agoVCL: add event registration to listen session in select() 49/11049/3
Dave Wallace [Thu, 8 Mar 2018 21:39:28 +0000 (16:39 -0500)]
VCL: add event registration to listen session in select()

Change-Id: Ie2e8f4ec3a7ec1018e5f9ca6f28f8cb18beaa814
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
6 years agowhen exceed max reass, 31/11031/5
ahdj007 [Thu, 8 Mar 2018 02:02:17 +0000 (10:02 +0800)]
when exceed max reass,
frag packet can't get reass.

adding bihash,it can rewrite new hash value.
so need to delete hash after compare hash value.

Change-Id: I83b5c47890110e9a598b78cfbe8fcd27bbe291bb
Signed-off-by: ahdj007 <dong.juan1@zte.com.cn>
6 years agoMPLS Unifom mode 81/10781/7
Neale Ranns [Fri, 23 Feb 2018 13:29:09 +0000 (05:29 -0800)]
MPLS Unifom mode

- support both pipe and uniform modes for all MPLS LSP
- all API programming for output-labels requires that the mode (and associated data) is specificed
   - API changes in MPLS, BIER and IP are involved
- new DPO [sub] types for MPLS labels to handle the two modes.

Change-Id: I87b76401e996f10dfbdbe4552ff6b19af958783c
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agoACL: Fix the detail for ethertype whitelist 48/11048/4
Mohsin Kazmi [Thu, 8 Mar 2018 16:45:33 +0000 (17:45 +0100)]
ACL: Fix the detail for ethertype whitelist

Change-Id: Ie8b4effbd25e1e26b625d451ec059bac58a5a5a1
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
6 years agoVCL event handling changes 50/11050/1
Keith Burns (alagalah) [Fri, 9 Mar 2018 00:46:25 +0000 (16:46 -0800)]
VCL event handling changes

- added vce_get_event_handler()
- added check for event before blocking on mutex in vppcom_session_accept()

Change-Id: I8e19ea5fcbaa40279cb28152b9923ca8f1328670
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
6 years agotls: make tls engines pluggable 30/11030/8
Florin Coras [Wed, 7 Mar 2018 16:49:27 +0000 (08:49 -0800)]
tls: make tls engines pluggable

- add infra for pluggable tls "engines"
- makes mbedtls specific code a plugin

Change-Id: I2c5b099e2b69d2be0038e3ef02b208ff907727e7
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoVCL refactoring 20/11020/6
Keith Burns (alagalah) [Wed, 7 Mar 2018 17:26:38 +0000 (09:26 -0800)]
VCL refactoring

- simplified event handling and unregister
- removed fixed need to bit flip event hash key
- added spinlock for client_session_fifo (was using sessions_lockp)
- removed redundant vars

Change-Id: I3c7645da660fb5560efdc4e9347e105df9650a16
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
6 years agoVCL: cleanup namespace_secret env-var cfg code. 46/11046/2
Dave Wallace [Thu, 8 Mar 2018 16:40:28 +0000 (11:40 -0500)]
VCL: cleanup namespace_secret env-var cfg code.

Change-Id: I9de8dd822494abe1b8701a72a9b8bede34dea8dc
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
6 years agoVCL: Add full hoststack test option to socket_test.sh 45/11045/2
Dave Wallace [Thu, 8 Mar 2018 16:35:03 +0000 (11:35 -0500)]
VCL: Add full hoststack test option to socket_test.sh

Change-Id: I3e5e179daa9d6f1c46adb85b05dd810bdd312054
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
6 years agoacl-plugin: add the support for dumping the ethertype whitelist (VPP-1163) 84/10984/3
Andrew Yourtchenko [Tue, 6 Mar 2018 15:27:55 +0000 (16:27 +0100)]
acl-plugin: add the support for dumping the ethertype whitelist (VPP-1163)

The gerrit 10434 which added the support for whitelist model on ethertypes,
did not include the support to dump the current state.
This patch fills that gap.

Change-Id: I3222078ccb1839dc366140fa5f6b8999b2926fd2
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
6 years agovppapigen: require reply/details messages for requests/dumps 77/10977/7
Marek Gradzki [Tue, 6 Mar 2018 11:25:02 +0000 (12:25 +0100)]
vppapigen: require reply/details messages for requests/dumps

Throw exception if details/reply is not defined instead
of logger warning.

Change-Id: I6eb39c51eecca6521e5f563ba09dfd62311b45ec
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
6 years agoFix Avoid crash in vnet_delete_sub_interface routine 29/11029/1
Steve Shin [Wed, 7 Mar 2018 21:29:29 +0000 (13:29 -0800)]
Fix Avoid crash in vnet_delete_sub_interface routine

vnet_get_sw_interface shoud be called after sw_if_index is validated.

Change-Id: I36f1d90999c740803386404ba9b32703b659cd54
Signed-off-by: Steve Shin <jonshin@cisco.com>
6 years agofix physmem mappings 19/11019/1
Damjan Marion [Wed, 7 Mar 2018 18:25:51 +0000 (19:25 +0100)]
fix physmem mappings

Change-Id: Ie0763e20c36a29a8ef866511903c85027dd133c3
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agofeatures: extend 'feature node not found' warning message 05/11005/2
Damjan Marion [Wed, 7 Mar 2018 12:06:40 +0000 (13:06 +0100)]
features: extend 'feature node not found' warning message

Change-Id: I8f45fdb3865e2e0cbb5162ac622c07fec5e42b9d
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agoNAT44: allow to configure one interface only as output or input feature (VPP-1192) 00/11000/2
Matus Fabian [Wed, 7 Mar 2018 11:17:57 +0000 (03:17 -0800)]
NAT44: allow to configure one interface only as output or input feature (VPP-1192)

following is not possible:
set interface nat44 out GigabitEthernet0/3/0 output-feature
set interface nat44 out GigabitEthernet0/3/0

Change-Id: I1592cc18390881fda66f98316700886b8f5295f0
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agoGBP: fix the runs before statement against the ACL node 09/11009/2
Neale Ranns [Wed, 7 Mar 2018 12:59:18 +0000 (04:59 -0800)]
GBP: fix the runs before statement against the ACL node

Change-Id: I0ff13962ab6855663b9aec31c95e4a88cc809ff0
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
6 years agopacket-generator: use default free list 06/11006/2
Damjan Marion [Wed, 7 Mar 2018 12:21:04 +0000 (13:21 +0100)]
packet-generator: use default free list

Change-Id: I2a34546f9b32edc9bfb86b5492dde34aaef49ccc
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agotls: enforce certificate verification 72/10972/9
Florin Coras [Tue, 6 Mar 2018 00:53:07 +0000 (16:53 -0800)]
tls: enforce certificate verification

- add option to use test certificate in the ca chain
- add hostname to extended session endpoint fields and connect api
  parameters. If hostname is present, certificate validation is
  enforced.
- use /etc/ssl/certs/ca-certificates.crt to bootstrap CA cert. A
  different path can be provided via startup config

Change-Id: I046f9c6ff3ae6a9c2d71220cb62eca8f7b10e5fb
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agotest: disable reassembly tests and system modification script 99/10999/2
Damjan Marion [Wed, 7 Mar 2018 10:48:58 +0000 (11:48 +0100)]
test: disable reassembly tests and system modification script

One of basic requirements from day one for maek test is that it should
run unpriviledged, so modifying system paremeters is unacceptable.

Disabling script and reassembly tests as they need to be done in
different way.

Change-Id: I063c73eb82f2ebd7499e8adb1574a9fd2475fb5b
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agoVPPAPIGEN: Run tool directly from source tree. 93/10993/2
Ole Troan [Wed, 7 Mar 2018 07:40:58 +0000 (08:40 +0100)]
VPPAPIGEN: Run tool directly from source tree.

This ensures that tool changes do not require re-bootstrap.
Disabled generation of temporary files (gentab / .pyc) to avoid polluting the source tree.

Change-Id: I4d6bc035fbb46550fa8f4e99f4091eef90e2d86c
Signed-off-by: Ole Troan <ot@cisco.com>
6 years agoVAPI: Ensure type definitions are generated in same order as .api file. 86/10986/2
Ole Troan [Tue, 6 Mar 2018 16:45:32 +0000 (17:45 +0100)]
VAPI: Ensure type definitions are generated in same order as .api file.

The previous use of a dictionary instead of a list led to typedefs being generated in wrong order.

Change-Id: Iee6ff73f920883ce6e599180c1b47fe997c1702e
Signed-off-by: Ole Troan <ot@cisco.com>
6 years agovlib: avoid crash if fill_free_list returns 0 buffers 88/10988/2
Damjan Marion [Tue, 6 Mar 2018 17:46:54 +0000 (18:46 +0100)]
vlib: avoid crash if fill_free_list returns 0 buffers

Change-Id: If1284696e10df71b4029191b5e3adb32c21c0c5f
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agoVCL registration handler added to session for polling sessions 83/10983/2
Keith Burns (alagalah) [Tue, 6 Mar 2018 13:55:27 +0000 (05:55 -0800)]
VCL registration handler added to session for polling sessions

Change-Id: I5f0f3b07a7aa3f243c3d44a9a15cf0670dbb2d46
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
6 years agoLB plugin: Fix Layer-4 checksum error in L3DSR. 51/10951/2
Yusuke Tatsumi [Mon, 5 Mar 2018 04:01:04 +0000 (13:01 +0900)]
LB plugin: Fix Layer-4 checksum error in L3DSR.

Though dst-IP address would be change in LB plugin with L3DSR method,
layer-4 checksum would not be recomputed after this change.

Related changes:
- L3DSR: https://gerrit.fd.io/r/#/c/10203/

Change-Id: I98de7b8d80186ac77608a68050208c08d90b7c3b
Signed-off-by: Yusuke Tatsumi <ytatsumi@yahoo-corp.jp>
6 years agowhen lb tcp in2out flow, 68/10968/2
ahdj007 [Tue, 6 Mar 2018 08:15:44 +0000 (16:15 +0800)]
when lb tcp in2out flow,
in2out and out2in protocol are not same

Change-Id: I4ce680ad1f088cb079e1f2aeb15ca59225fca0d1
Signed-off-by: ahdj007 <dong.juan1@zte.com.cn>
6 years agoreass frag_n should to be inited to 0 67/10967/2
ahdj007 [Tue, 6 Mar 2018 07:46:54 +0000 (15:46 +0800)]
reass frag_n should to be inited to 0

Change-Id: I8a4a7a85e86acbfe411e6dfa22e3976d7d4c903b
Signed-off-by: ahdj007 <dong.juan1@zte.com.cn>
6 years agoVOM: Fix state reconciliation 37/10837/5
Mohsin Kazmi [Mon, 26 Feb 2018 17:36:17 +0000 (18:36 +0100)]
VOM: Fix state reconciliation

This commit also fixes the acl and arp handle for
inspector to view internal state of VOM.

Change-Id: Ibc8ff6cb51d2a77b4c04993ac7212564b8892337
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
6 years agoglibc 2.27 fix 69/10969/2
Marco Varlese [Tue, 6 Mar 2018 07:09:04 +0000 (08:09 +0100)]
glibc 2.27 fix

With glibc 2.27 the memfd_create has been added to the devel libraries.
That's causing the internally defined static function to clash with the
system wide one. This patch addresses that issue on systems with latest
glibc libraries.

Change-Id: I788bf49b23d5b5f1cb1c0374e243d8a429178a71
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
6 years agovppapigen: require service definition for singleton messages 76/10976/3
Marek Gradzki [Tue, 6 Mar 2018 10:42:36 +0000 (11:42 +0100)]
vppapigen: require service definition for singleton messages

Change-Id: Ie7b1c5e50588f65657c3c0900e5914ea82ebb50f
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>