vpp.git
7 years agoPrevent Bridge Domain operations on BD 0. 61/6561/2
Jon Loeliger [Tue, 2 May 2017 16:06:23 +0000 (11:06 -0500)]
Prevent Bridge Domain operations on BD 0.

The default bridge domain, 0, is created automatically
with static features.  It should be modified by neither
the CLI nor the API.  So add tests for, and reject any
operation on BD 0.  The new API error message BD_NOT_MODIFIABLE
is returned in such cases.

Change-Id: Iaf3dd80c4f43cf41689ca55756a0a3525420cd12
Signed-off-by: Jon Loeliger <jdl@netgate.com>
7 years agoUse per-protocol default flow-hash config when the FIB table index is not known 62/6562/2
Neale Ranns [Tue, 2 May 2017 17:15:19 +0000 (10:15 -0700)]
Use per-protocol default flow-hash config when the FIB table index is not known

Change-Id: If088e75801831befc6bddb77ea20abe9288b93c4
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoFix TCP tx when snd_wnd < smss 65/6565/2
Florin Coras [Tue, 2 May 2017 19:40:39 +0000 (12:40 -0700)]
Fix TCP tx when snd_wnd < smss

Fixes VPP-728, VPP-729, VPP-730

Change-Id: Ie8c6c0dd006f98527525e87d19b508bb8d39db69
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agoBFD: don't crash if interface is deleted 60/6560/3
Klement Sekera [Tue, 2 May 2017 05:38:01 +0000 (07:38 +0200)]
BFD: don't crash if interface is deleted

Instead, drop the BFD session associated with it..

Change-Id: Ie09877d5c94844be2e833900d9dde7f23edaf8cd
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoAllow local/for-us replications for IP multicast routes on the CLI 63/6563/2
Neale Ranns [Tue, 2 May 2017 17:17:17 +0000 (10:17 -0700)]
Allow local/for-us replications for IP multicast routes on the CLI

Change-Id: I046d9402b79fdbc6a6663199ffff8e40a278fd51
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoAdd interface rx mode commands, unify rx mode and placement CLI 19/6519/4
Damjan Marion [Fri, 28 Apr 2017 10:29:15 +0000 (12:29 +0200)]
Add interface rx mode commands, unify rx mode and placement CLI

Change-Id: Ib506c3e9d66170f29e3266ad6dc4d32b829befba
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agodpdk: remove unused code 20/6520/2
Damjan Marion [Fri, 28 Apr 2017 15:19:16 +0000 (17:19 +0200)]
dpdk: remove unused code

Change-Id: I16dcc0de2553c6c1eb87dd1ec4c8d3c649e6f285
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoTCP ooo reception fixes 44/6444/5
Florin Coras [Wed, 26 Apr 2017 07:08:42 +0000 (00:08 -0700)]
TCP ooo reception fixes

- Improve svm fifo handling of out-of-order segments
- Ensure tsval_recent is updated only if rcv_las falls withing the
  segments's sequence space
- Avoid directly dropping old ACKs
- Improve debugging

Change-Id: I88dbe2394a0ad7eb389a4cc12d013a13733953aa
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agodpdk: cryptodev support enabled by default 48/5848/4
Sergio Gonzalez Monroy [Wed, 22 Mar 2017 16:11:06 +0000 (16:11 +0000)]
dpdk: cryptodev support enabled by default

This patch slightly modifes how to enable DPDK Cryptodev.

The startup option 'enable-cryptodev' has been removed and unless not enough
cryptodevs are found, DPDK cryptodev will be enabled by default.

Change-Id: Ic0ac507802cdc0eeb51f065e04ec43a1885617cf
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
7 years agoFix hostname fencepost error in dhcp_compl_event_callback. 17/6517/1
Jon Loeliger [Fri, 28 Apr 2017 02:20:51 +0000 (21:20 -0500)]
Fix hostname fencepost error in dhcp_compl_event_callback.

Hostnames are limited to 63 characters and a NUL terminator.

Change-Id: Ie1724d83675cca5e8cdfcd99d8e56e530a044d5d
Signed-off-by: Jon Loeliger <jdl@netgate.com>
7 years agoaf_packet: reflect admin device state on host 33/6333/7
Ray Kinsella [Fri, 21 Apr 2017 11:24:43 +0000 (12:24 +0100)]
af_packet: reflect admin device state on host

Setting the interface state in VPP on an af_packet device, was not being
reflected on the host. This implied the user had to set the device state
in VPP and then on the host, in order to put the interface into an 'up'
state. This changes makes the device state consisent in VPP and the host.

Change-Id: I6dc6aee79503e04576683db937b861337a2b375b
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
7 years agoFix memory leak on deletion of BD (bridge domain) 10/6510/2
John Lo [Fri, 28 Apr 2017 04:33:36 +0000 (00:33 -0400)]
Fix memory leak on deletion of BD (bridge domain)

On BD deletion, free memory used by members vector and mac_by_ip4
and mac_by_ip6 hash tables.

Change-Id: Ied467e79bb6636fd8788bdeddee660c66391bb7e
Signed-off-by: John Lo <loj@cisco.com>
7 years agovhost: Disallow duplicate path name for vhost interface 38/6438/3
Steven [Tue, 25 Apr 2017 23:16:00 +0000 (16:16 -0700)]
vhost: Disallow duplicate path name for vhost interface

When creating or modifying a vhost interface, verify if the path name
already existed and reject the command.

Change-Id: I8b2d33b77c847f774492874f7d194fa72c488479
Signed-off-by: Steven <sluong@cisco.com>
7 years agodpdk: cleanup, move APIs to separate .c file 09/6509/1
Damjan Marion [Thu, 27 Apr 2017 19:12:17 +0000 (21:12 +0200)]
dpdk: cleanup, move APIs to separate .c file

Change-Id: Id632ff1b30be808d9f270e2f77260391569fbda2
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoLISP: fix deleting of locators, VPP-713 99/6499/2
Filip Tehlar [Thu, 27 Apr 2017 12:29:27 +0000 (14:29 +0200)]
LISP: fix deleting of locators, VPP-713

Change-Id: I4a2d24b7124dc9afaf81f29e06e43235a103a320
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agoVPP-716: IKEv2 responder fails to authenticate initiator 77/6477/3
Matthew Smith [Wed, 26 Apr 2017 20:42:39 +0000 (15:42 -0500)]
VPP-716: IKEv2 responder fails to authenticate initiator

Fix handling of IDi and IDr when processing payloads in ikev2_process_auth_req

Change-Id: If0d4441dc89f08f3753f38987406c002d43558ec
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
7 years agoCGN: Send ICMP error packet if user is out of sessions available 87/6487/2
Martin Gálik [Thu, 27 Apr 2017 09:13:26 +0000 (02:13 -0700)]
CGN: Send ICMP error packet if user is out of sessions available

Change-Id: I19a6015fde7342588cfa9c7a4f07016aa339cc72
Signed-off-by: Martin Gálik <magalik@cisco.com>
7 years agovnet: update help message for intfc state 85/6485/2
Ray Kinsella [Thu, 27 Apr 2017 08:57:00 +0000 (09:57 +0100)]
vnet: update help message for intfc state

Add useful help information on set interface state.

Change-Id: Ibcdcea2849ccaee4cc72bf38d79102beb0d4be11
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
7 years agoioam: adding missing setup api msg crc table 89/6489/2
Shwetha Bhandari [Thu, 27 Apr 2017 08:43:10 +0000 (14:13 +0530)]
ioam: adding missing setup api msg crc table

Change-Id: Ic95fe6179de1151796188813cc595187d4c842a0
Signed-off-by: Shwetha Bhandari <shwethab@cisco.com>
7 years agojapi: fix compilation on 32-bit systems 59/6459/2
Damjan Marion [Wed, 26 Apr 2017 12:25:56 +0000 (14:25 +0200)]
japi: fix compilation on 32-bit systems

Change-Id: Ia7cb986544a13cc17b43b2f0948482deb02e8fb5
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years ago[VPP-711] uri_tcp_test when master bind fail we met a display issue about retval 50/6450/3
flyingeagle23 [Wed, 26 Apr 2017 12:22:04 +0000 (20:22 +0800)]
[VPP-711] uri_tcp_test when master bind fail we met a display issue about retval

Change-Id: I320c9079576af5494c8336880a173e1f0ff096ad
Signed-off-by: flyingeagle23 <wang.hui56@zte.com.cn>
7 years ago[VPP-710] tcp TCP_TIMER_ESTABLISH timeout_handler occur segment fault 48/6448/2
flyingeagle23 [Wed, 26 Apr 2017 12:06:52 +0000 (20:06 +0800)]
[VPP-710] tcp TCP_TIMER_ESTABLISH timeout_handler occur segment fault

Change-Id: Ie43b8f1c91600d44dff67e9348fb2fe83efc60c2
Signed-off-by: flyingeagle23 <wang.hui56@zte.com.cn>
7 years agovhost: Fix mmap size calculation 00/6300/3
Pierre Pfister [Thu, 20 Apr 2017 13:34:00 +0000 (15:34 +0200)]
vhost: Fix mmap size calculation

I had a bug where a requested size of 1G was resulting in
an aligned size of '1G + 2M', resulting in an OOM error.

Previous code was adding one huge page size
when memory is already aligned.

Change-Id: Idd3aa0e9b893fb3efccba6ae1c7161e26d3f9456
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
7 years agoMove scripts to extras/ 47/6447/2
Damjan Marion [Wed, 26 Apr 2017 08:38:14 +0000 (10:38 +0200)]
Move scripts to extras/

Change-Id: I2abd6367915d4652fcf45025bd251046f3f206ab
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agovhost: core dump on quit with worker threads 37/6437/2
Steven [Tue, 25 Apr 2017 20:49:51 +0000 (13:49 -0700)]
vhost: core dump on quit with worker threads

Patch 6347 removed the socket file when the interface is deleted and
when VPP process is exitting. The CLI for deleting the interface has
builtin vlib_worker_thread_barrier_sync to prevent the worker
threads from running. Unfortunately, the CLI quit does not have the
builtin vlib_worker_thread_barrier_sync. As a result, it may cause the
worker thread to crash.

The fix is to add the vlib_worker_thread_barrier_sync in vhost_user_exit.

Change-Id: I1eff81170e131098f1799662f0ab48d6fca3def7
Signed-off-by: Steven <sluong@cisco.com>
7 years agoIP Flow Hash Config fixes 13/6313/5
Neale Ranns [Fri, 21 Apr 2017 08:07:59 +0000 (01:07 -0700)]
IP Flow Hash Config fixes

- the flow hash config is (and was) cached on the load-balance object so the fib_table_t struct is not used a switch time. Therefore changes to the table's flow hash config need to be propagated to all load-balances and hance all FIB entries in the table.
- enable API for setting the IPv6 table flow hash config
- use only the hash config in the fib_table_t object and not on the ipX_fib_t
- add tests.

Change-Id: Ib804c11162c6d4972c764957562c372f663e05d4
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoCGN: Session dump, test naming for ports fixed 51/6451/2
Martin Gálik [Tue, 25 Apr 2017 08:25:08 +0000 (01:25 -0700)]
CGN: Session dump, test naming for ports fixed

Change-Id: Ib542b2b3ee023fbe3d0e01ceaf4b4ab7a0ec80dc
Signed-off-by: Martin Gálik <magalik@cisco.com>
7 years agoCGNAT: close session API and CLI commands. 76/6376/3
Martin Gálik [Wed, 19 Apr 2017 08:12:27 +0000 (01:12 -0700)]
CGNAT: close session API and CLI commands.

Change-Id: I9c8636bd2c4b8da2907e8e4a4f2be1a2c3a8e0bb
Signed-off-by: Martin Gálik <magalik@cisco.com>
7 years agoExit if plugin load attempt fail 33/6433/2
Damjan Marion [Tue, 25 Apr 2017 19:07:52 +0000 (21:07 +0200)]
Exit if plugin load attempt fail

This happens mainly if plugin contains unresolved symbol.
Such situation typically leads on crash a bit later so it is better
to exit immediatelly and display meaningful error message.

Change-Id: I4abd9a9089a4863400bf609e8d3fd7cebab92913
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoSession/tcp coverity fixes 36/6436/2
Florin Coras [Tue, 25 Apr 2017 18:58:06 +0000 (11:58 -0700)]
Session/tcp coverity fixes

Change-Id: Ic5467df16e870b49c49678b1dbb40f4a2390b3c9
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years ago"autoreply" flag: autogenerate standard xxx_reply_t messages 87/6387/3
Dave Barach [Mon, 24 Apr 2017 14:46:54 +0000 (10:46 -0400)]
"autoreply" flag: autogenerate standard xxx_reply_t messages

Change-Id: I72298aaae7d172082ece3a8edea4217c11b28d79
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoAdd sack tx unit test 94/6394/2
Florin Coras [Tue, 25 Apr 2017 07:05:27 +0000 (00:05 -0700)]
Add sack tx unit test

Change-Id: Ib91db6e531231bdc52b0104673a912bee024872f
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agoLISP: clean DP when deleting locators in use 24/6324/3
Filip Tehlar [Fri, 21 Apr 2017 10:05:58 +0000 (12:05 +0200)]
LISP: clean DP when deleting locators in use

Change-Id: Ia8736916bf59006bc581fe477db51ddd6bcc15e5
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agoAdd support for 32-bit x86 compilation in Makefiles 89/6389/2
Damjan Marion [Mon, 24 Apr 2017 18:48:53 +0000 (20:48 +0200)]
Add support for 32-bit x86 compilation in Makefiles

Change-Id: Ida73678b47b685abef4e81b5cad9fc13eb330850
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoFix structure alignment with 32-bit pointers 91/6391/2
Damjan Marion [Mon, 24 Apr 2017 18:58:29 +0000 (20:58 +0200)]
Fix structure alignment with 32-bit pointers

Change-Id: I740de6c0f12dab452b4349e3bf89ff976a6268c0
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoDefine cache line size for x86 32-bit 90/6390/2
Damjan Marion [Mon, 24 Apr 2017 18:52:35 +0000 (20:52 +0200)]
Define cache line size for x86 32-bit

Change-Id: Ie70e805f342bda69207b9df9543f1eccb5e69612
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoBD:unify bridge domain creation code 98/6098/5
Eyal Bari [Fri, 7 Apr 2017 20:14:17 +0000 (23:14 +0300)]
BD:unify bridge domain creation code

Change-Id: I29082e7a0c556069180a157e55b3698cf8cd38c7
Signed-off-by: Eyal Bari <ebari@cisco.com>
7 years agoBFD: disable gcc6 warnings in helper macros 70/6370/3
Klement Sekera [Mon, 24 Apr 2017 02:30:53 +0000 (02:30 +0000)]
BFD: disable gcc6 warnings in helper macros

Change-Id: Ibec3f1a2619d593accd8c560fb29d39d5617e16a
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoMove emacs stuff to extras/ 92/6292/6
Damjan Marion [Thu, 20 Apr 2017 09:42:28 +0000 (11:42 +0200)]
Move emacs stuff to extras/

Change-Id: Ibbb7d8500e9064215cf912bd00bdf72a748f8a27
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agovhost: remove socket linked file when deleting vhost interface 47/6347/3
Steven [Fri, 21 Apr 2017 20:31:50 +0000 (13:31 -0700)]
vhost: remove socket linked file when deleting vhost interface

- Unlink the file created for the socket when deleting vhost interface
if we are the server mode.
- Remove all vhost interfaces when VPP process is exitting.

Change-Id: Id9b676cd027bbd67b473bbd01901d1ecc4d8e6cb
Signed-off-by: Steven <sluong@cisco.com>
7 years agoDebug CLI to magically create / delete a TCP session 08/6308/4
Dave Barach [Thu, 20 Apr 2017 21:50:39 +0000 (17:50 -0400)]
Debug CLI to magically create / delete a TCP session

The session ends up in established state, and is hand-crafted to look
like it was created by the builtin_server.

This will come in handy for injecting packets into tcp46-established,
along with ancillary debug CLI to adjust connection parameters.

Immediate applications include screwball window cases, out of order
segments, paws checking, and so on and so forth.

Debug CLI script:

loop create
set int ip address loop0 6.0.1.1/8
set int state loop0 up
set ip arp loop0 6.0.1.2 feed.face.babe
test tcp server
test tcp session

packet-generator new {
  name tcp
  limit 1
  node ip4-input
  size 100-100
  interface loop0
  no-recycle
  data {
    TCP: 6.0.1.2 -> 6.0.1.1
    TCP: 11234 -> 1234
    ACK window 2000
    seqnum 0
    acknum 0
    incrementing 100
  }
}

Change-Id: I866c2159376064b7d14f70531022c1fe949258c2
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agomake test: mark all BFD tests as extended 40/6340/3
Klement Sekera [Fri, 21 Apr 2017 07:49:14 +0000 (09:49 +0200)]
make test: mark all BFD tests as extended

Change-Id: Iaed59cca1c9fd69eadb86c15be6417a956cb9d5a
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoImprove Load-Balance MAPs 05/6305/2
Neale Ranns [Tue, 18 Apr 2017 16:09:40 +0000 (09:09 -0700)]
Improve Load-Balance MAPs

- only build them for popular path-lists (where popular means more than 64 children)
   the reason to have a map is to improve convergence speed for recursive prefixes - if there are only a few this technique is not needed
- only build them when there is at least one path that has recursive constraints, i.e. a path that can 'fail' in a PIC scenario.
- Use the MAPS in the switch path.
- PIC test cases for functionality (not convergence performance)

Change-Id: I70705444c8469d22b07ae34be82cfb6a01358e10
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoSession layer improvements 09/6309/7
Florin Coras [Wed, 19 Apr 2017 20:00:05 +0000 (13:00 -0700)]
Session layer improvements

Among others:
- Moved app event queue to shared memory segment
- Use private memory segment for builtin apps
- Remove pid from svm fifo
- Protect session fifo (de)allocation
- Use fifo event for session disconnects
- Have session queue node poll in all wk threads

Change-Id: I89dbf7fdfebef12f5ef2b34ba3ef3c2c07f49ff2
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agoFix multicast enable on the bonded interface 53/6353/1
Steve Shin [Sat, 22 Apr 2017 13:58:23 +0000 (06:58 -0700)]
Fix multicast enable on the bonded interface

Multicast enable flag should be set when the bonded interface is up.
This flag allows multicast packets to be processed from the slave devices
of the bonded interface. Also promiscuous mode for all-multicast should
be correctly displayed as part of 'show hardware detail' output.

Change-Id: Ief0157c4c030a28afb9c45ebf3d6a12710083724
Signed-off-by: Steve Shin <jonshin@cisco.com>
7 years ago[VPP-703]uri_tcp_test segment fault when mp->retval reply -30 85/6285/2
flyingeagle23 [Thu, 20 Apr 2017 06:46:08 +0000 (14:46 +0800)]
[VPP-703]uri_tcp_test segment fault when mp->retval reply -30

Change-Id: I9d2e1f3434f66d9ae9cf40fe9043d0c4b384ef44
Signed-off-by: flyingeagle23 <wang.hui56@zte.com.cn>
7 years ago[VPP-704]./uri_tcp_test slave , uri test segment fault 91/6291/3
flyingeagle23 [Thu, 20 Apr 2017 10:38:48 +0000 (18:38 +0800)]
[VPP-704]./uri_tcp_test slave , uri test segment fault

Change-Id: I19dcc3fcf85c63dc7a7f35e023f6269c9f233d3b
Signed-off-by: flyingeagle23 <wang.hui56@zte.com.cn>
7 years ago[vpp-705]uri_cli issue:show session get nothing tips when session management disable 10/6310/3
flyingeagle23 [Thu, 20 Apr 2017 12:01:14 +0000 (20:01 +0800)]
[vpp-705]uri_cli issue:show session get nothing tips when session management disable

Change-Id: I6844732adcfdd534512f0925059d92b70dcdc080
Signed-off-by: flyingeagle23 <wang.hui56@zte.com.cn>
7 years agovlib: add cli command to dump all CLI commands 35/6335/2
Damjan Marion [Fri, 21 Apr 2017 11:56:40 +0000 (13:56 +0200)]
vlib: add cli command to dump all CLI commands

To be used for bash completion

Change-Id: I8f4702f24c2b7e223945e00a1b3560dec6ef39fd
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agovppinfra: clib_memcpy improvement 26/6326/1
Ray Kinsella [Fri, 21 Apr 2017 10:08:43 +0000 (11:08 +0100)]
vppinfra: clib_memcpy improvement

In the case where n is a constant 16 bytes, the second load/store is
ignored by the load/store unit - it has neglible/zero cost. In the case
where  n is variable and greater than 512 bytes, the extra if (n == 16)
branch has a very small performance impact.

Change-Id: I04b313cf022c18fee31b1d9bcf6a128414659a99
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
7 years agoCGN: IPFIX logging 31/6231/5
Matus Fabian [Tue, 18 Apr 2017 12:29:59 +0000 (05:29 -0700)]
CGN: IPFIX logging

maximum entries per user exceeded event

Change-Id: Ie35d7f40f55001e2ef4a38f934f176594f25b189
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agovpp-api: rename libpneum to libvppapiclient 04/6204/9
Damjan Marion [Thu, 13 Apr 2017 17:13:47 +0000 (19:13 +0200)]
vpp-api: rename libpneum to libvppapiclient

Change-Id: Ie6d2c769b316b43c40632aa9009c4ff6442cf658
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agodocs: Forward-port missing 17.01 release notes 84/6284/2
Chris Luke [Wed, 19 Apr 2017 22:31:00 +0000 (18:31 -0400)]
docs: Forward-port missing 17.01 release notes

Change-Id: I834df7661d2cc80c18f3879bb30e26091c28064f
Signed-off-by: Chris Luke <chrisy@flirble.org>
7 years agomake test: improve bfd reliability 94/6294/2
Klement Sekera [Wed, 19 Apr 2017 07:10:58 +0000 (07:10 +0000)]
make test: improve bfd reliability

Change-Id: Iaf446a2d7d8e595c3379fb9ed61a954351c17b90
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoMove vagrant stuff to extras/ 93/6293/3
Damjan Marion [Thu, 20 Apr 2017 09:43:56 +0000 (11:43 +0200)]
Move vagrant stuff to extras/

Change-Id: I7e3d6ecc3f23d862004c273e23e36e234ceb6015
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoExtend ebuild to specify "configure" subdir, enable verify for sample-plugin 62/6262/5
Damjan Marion [Wed, 19 Apr 2017 12:09:07 +0000 (14:09 +0200)]
Extend ebuild to specify "configure" subdir, enable verify for sample-plugin

Change-Id: I2056e5d19bc3713e7a13e015dabf3b2431800973
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoTemporary workaround for the bug VPP-698. 61/6261/3
Milan Lenco [Wed, 19 Apr 2017 08:34:53 +0000 (10:34 +0200)]
Temporary workaround for the bug VPP-698.

Change-Id: I220b0b95449f24cc547206e38ab8e10019115ec0
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
7 years agoClean up old datapath code in ACL plugin. 33/6233/2
Andrew Yourtchenko [Tue, 18 Apr 2017 13:28:28 +0000 (13:28 +0000)]
Clean up old datapath code in ACL plugin.

Change-Id: I3d64d5ced38a68f3fa208be00c49d20c4e6d4d0e
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
7 years agodisable extended BFD tests in verify job 67/6267/2
Klement Sekera [Wed, 19 Apr 2017 06:09:01 +0000 (08:09 +0200)]
disable extended BFD tests in verify job

Change-Id: I14484137fde8d6e77fc5905943657089347629fb
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoLearn IP6 link-local ND entries from NSs sourced from link-local address 64/6264/2
Neale Ranns [Wed, 19 Apr 2017 12:24:40 +0000 (05:24 -0700)]
Learn IP6 link-local ND entries from NSs sourced from link-local address

Change-Id: I4c3ce4d58df7977490fc94991291422ea1e31ee3
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoFix "make dist" to include version number, docouple it from rpm packaging 44/6244/3
Damjan Marion [Tue, 18 Apr 2017 13:26:39 +0000 (15:26 +0200)]
Fix "make dist" to include version number, docouple it from rpm packaging

Change-Id: If2f9976d668089026c97b897cf449bff09050631
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoAdd more svm fifo unit tests 48/6248/2
Florin Coras [Wed, 19 Apr 2017 05:07:29 +0000 (22:07 -0700)]
Add more svm fifo unit tests

Change-Id: Ifc07b3f90ac155c26c3a216e073b474b499ebd44
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agomake test: python interpreter customization 63/6163/3
vagrant [Fri, 7 Apr 2017 01:48:47 +0000 (01:48 +0000)]
make test: python interpreter customization

Allow using custom python interpreter via 'PYTHON' env variable.
E.g. env PYTHON=pypy make test.
Get latest pip automatically to properly function in environments,
where old pip is available and a proxy is required. This allows
testing pypy in a centos vagrant-provided vm.

Change-Id: I67a658fc927303468cc67f0ac192317ca2907625
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoSupport ping from outside network in 1:1 NAT (VPP-695) 22/6222/4
Juraj Sloboda [Fri, 14 Apr 2017 01:24:45 +0000 (03:24 +0200)]
Support ping from outside network in 1:1 NAT (VPP-695)

Change-Id: Iec8fd4c2bd26874bd8bda82172af797e9b92592c
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
7 years agoCGN: additional tests 69/6169/9
Martin Gálik [Fri, 31 Mar 2017 06:21:51 +0000 (23:21 -0700)]
CGN: additional tests

Change-Id: Ib9ae10e0fdc6de08120d92c3eebd76e71b379a06
Signed-off-by: Martin Gálik <magalik@cisco.com>
7 years agoMemory leak in load-balance maps 47/6247/1
Neale Ranns [Tue, 18 Apr 2017 19:56:45 +0000 (12:56 -0700)]
Memory leak in load-balance maps

Change-Id: Iec67ae1232e346d5e0000e0b4c997fdc31865bc6
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoACL-plugin does not match UDP next-header, VPP-687 25/6225/2
Pavel Kotucek [Tue, 18 Apr 2017 11:12:20 +0000 (13:12 +0200)]
ACL-plugin does not match UDP next-header, VPP-687

Change-Id: Ide4f9bd6158fb64d069540fb43f4e593e39d6ff3
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoFix fifo ooo bugs and improve testing 08/6208/9
Dave Barach [Fri, 14 Apr 2017 20:46:44 +0000 (16:46 -0400)]
Fix fifo ooo bugs and improve testing

Change-Id: If3c01e318bcb740ca5b240c63f712e2167082a80
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agoSocket API echo server 13/6213/1
Dave Barach [Mon, 17 Apr 2017 19:56:17 +0000 (15:56 -0400)]
Socket API echo server

Change-Id: I67ee8bbcad12e272193ac9e5bc6e39c43ce453ed
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoSet lower bound on persist timer 14/6014/3
Florin Coras [Tue, 4 Apr 2017 01:00:00 +0000 (18:00 -0700)]
Set lower bound on persist timer

Change-Id: Ie98ecb8944e4d27e943797948fad41ec074d6720
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agotcp: completed trace functions 70/6170/6
Clement Durand [Thu, 13 Apr 2017 11:27:04 +0000 (13:27 +0200)]
tcp: completed trace functions

* Populated the trace struct that weren't used before
* Modified and created format functions to format tcp packets and
connections
* Completed the node definitions to add the format_trace function
* Filled the tracing parts with `vlib_add_trace' calls in each tcp node
function

For the nodes in tcp_input.c, there is a verbose trace and a non-verbose
trace. Each packet goes through tcp[4-6]-input which is traced with
`format_tcp_rx_trace', and the other nodes are traced with
`format_tcp_rx_trace_short'.

Change-Id: I4f2eed023f5973c14343132a33b06131cf063aa2
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
Signed-off-by: Clement Durand <clement.durand@polytechnique.edu>
7 years agoSession layer refactoring 67/6067/10
Florin Coras [Wed, 5 Apr 2017 06:08:23 +0000 (23:08 -0700)]
Session layer refactoring

Major refactoring of the session layer api
- Add attatch api for application binding to the the session layer
- Simplify listen/connect calls
- Update application CLI
- Add transport endpoint to accept callback
- Associate segment manager to application and allow for multiple
  binds/connects per app

Additional:
- svm fifo cleanup
- add fifo free, format fns
- add fifo offset enqueue unit test

Change-Id: Id93a65047de61afc2bf3d58c9b544339c02065af
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agotcp builtin_client: bug correction and short_help 68/6168/3
Clement Durand [Wed, 12 Apr 2017 14:33:55 +0000 (16:33 +0200)]
tcp builtin_client: bug correction and short_help

The missing call to `vnet_session_enable_disable' would cause segfaults
because of an uninitialized session pointer. Just as in the builtin
server the session needs to be enabled for the client.

The `short_help' of the CLI command was also populated with the
arguments that are accepted in the parsing function
`test_tcp_clients_command_fn'.

Change-Id: I88c16efa80597dd19b406e8cf1c87aec1ec73573
Signed-off-by: Clement Durand <clement.durand@polytechnique.edu>
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
7 years agoRemove unsed parameter from fib_table_entry_special_add() (only used in FIB tests... 80/6180/2
Neale Ranns [Thu, 13 Apr 2017 07:44:52 +0000 (00:44 -0700)]
Remove unsed parameter from fib_table_entry_special_add() (only used in FIB tests). The DPO was incorrectly initialised with FIB_PROTO_MAX

Change-Id: I962df9e162e4dfb6837a5ce79ea795d5ff2d7315
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoLISP: make statistics thread safe 89/6089/7
Filip Tehlar [Fri, 7 Apr 2017 08:41:42 +0000 (10:41 +0200)]
LISP: make statistics thread safe

Change-Id: I056dc6246f79d887d69ad459a6b8b3092a099baa
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agoHandle multiple flows with the same client port in deterministic NAT 18/6118/4
Juraj Sloboda [Wed, 5 Apr 2017 13:59:21 +0000 (15:59 +0200)]
Handle multiple flows with the same client port in deterministic NAT

Handle situation when client tries to connect to multiple hosts/ports
from the same client port. Extend matching to include remote host/port
when searching for existing session and create session for each flow
even when originating from the same client port.

Change-Id: I4f54ded930e59e7196843c6bc1d2d2386c57cd3c
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
7 years agoacl-plugin: missing "deny" parameter in API 52/6152/2
Pavel Kotucek [Wed, 12 Apr 2017 07:01:43 +0000 (09:01 +0200)]
acl-plugin: missing "deny" parameter in API

Change-Id: Ie2ab844ad27b5ddb552bad9b19e7029cf91e4071
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agomake test: don't rely on cPython GC to close fds 62/6162/2
Klement Sekera [Tue, 11 Apr 2017 04:01:53 +0000 (06:01 +0200)]
make test: don't rely on cPython GC to close fds

This code improvement allows running in pypy (and other interpreters)
without exhausting file descriptors.

Change-Id: Icb692a0fe1343c12cbbb15af6c58753420e74330
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoCGN: configurable timeouts 58/6158/2
Matus Fabian [Wed, 12 Apr 2017 10:36:13 +0000 (03:36 -0700)]
CGN: configurable timeouts

add API and CLI configuration of deterministic NAT session timeout for TCP, UDP
and ICMP protocol

Change-Id: I577440452e7eaedcb5d80501a7fd4b76e31e8c9c
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agoSupport ICMP session timeout in deterministic NAT 32/6032/5
Juraj Sloboda [Mon, 3 Apr 2017 06:49:47 +0000 (08:49 +0200)]
Support ICMP session timeout in deterministic NAT

Change-Id: I0306bc0ab87908adb79c594c657d579cb34b3ec1
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
7 years agoLISP: show mapping negative action in CLI 36/6136/3
Filip Tehlar [Tue, 11 Apr 2017 12:00:58 +0000 (14:00 +0200)]
LISP: show mapping negative action in CLI

Change-Id: I26087cbde40cc5f2f1cb501ca6e791292e02badf
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agomove binary-api client-only routines to memory_client.c 46/6146/3
Dave Barach [Tue, 11 Apr 2017 17:12:48 +0000 (13:12 -0400)]
move binary-api client-only routines to memory_client.c

Change-Id: I0755f731b1b01e6a1a231948d498c625a2c966b7
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoDevices: set interface placement does not remove the old interface placement 47/6147/2
Steven [Tue, 11 Apr 2017 19:24:47 +0000 (12:24 -0700)]
Devices: set interface placement does not remove the old interface placement

The command set interface placement is supposed to remove the existing
interface placement and add a new interface placement based on the given
options. My quick test for the CLI shows that the old interface placement
continues to exist. But the new interface placement is also added.

The bug exists in vnet_device_input_unassign_thread which checks
the old thread index is the same as the passed thread index and skips the
deletion if they are the same.

The fix is to remove the check which is not supposed to be there.

Change-Id: Ib055721fad47513949a03b3cb6dc292bd19fd1e8
Signed-off-by: Steven <sluong@cisco.com>
7 years agoAdd ICMP support for deterministic NAT 31/6031/5
Juraj Sloboda [Mon, 3 Apr 2017 06:43:58 +0000 (08:43 +0200)]
Add ICMP support for deterministic NAT

Change-Id: I9a6bcb7d173a2c13d89784e7ff8a6e42dcee201f
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
7 years agoMPLS Mcast coverity fixes 41/6141/2
Neale Ranns [Tue, 11 Apr 2017 15:56:53 +0000 (08:56 -0700)]
MPLS Mcast coverity fixes

Change-Id: Ic07ec5d4c2560a414d5f4f7eb37e10faf591664a
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoMTRIE coverity fixes 43/6143/2
Neale Ranns [Tue, 11 Apr 2017 16:13:39 +0000 (09:13 -0700)]
MTRIE coverity fixes

Change-Id: If98355bebe823f45b11b0908a8d7700ab273a6db
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoRemove usued, redundant and deprecated code from lookup.h 45/6145/2
Neale Ranns [Tue, 11 Apr 2017 16:55:19 +0000 (09:55 -0700)]
Remove usued, redundant and deprecated code from lookup.h

Change-Id: Ic16bc10d0b2877b2afdf052615f9334f31b9519f
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agodpdk: use common interface placement infra 54/6054/7
Damjan Marion [Wed, 5 Apr 2017 10:28:38 +0000 (12:28 +0200)]
dpdk: use common interface placement infra

This pathch deprecates "show dpdk placement" and
"set dpdk placement" CLI commands.

Change-Id: I4e052ec3e8b8e6c54b4816e1e689e5b7a24892db
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoFix bug in configure 'pcap drop trace on file xx.cap' command (VPP-691) 15/6115/3
jerryian [Mon, 10 Apr 2017 10:48:07 +0000 (18:48 +0800)]
Fix bug in configure 'pcap drop trace on file xx.cap' command (VPP-691)

Change-Id: Id9cc1fbe18099fae483a823dc7c2b16d6bc46a8c
Signed-off-by: jerryian <gu.jian1@zte.com.cn>
7 years agovhost: interrupt mode enhancements 37/6037/4
Steven [Tue, 4 Apr 2017 23:56:54 +0000 (16:56 -0700)]
vhost: interrupt mode enhancements

- Add cpu index to the vring structure for quick lookup
- Reduce the code that needs to be protected by
vlib_worker_thread_barrier_sync
- Set minimum timer no less than 1 ms

Change-Id: Iafef4bf6879a8efb350abf4e0f517e38f7ff7a8b
Signed-off-by: Steven <sluong@cisco.com>
7 years agoFix typo in minimal epoll polling time 39/6039/4
Pierre Pfister [Tue, 4 Apr 2017 14:55:21 +0000 (15:55 +0100)]
Fix typo in minimal epoll polling time

epoll was supposed to not sleep when timeout
is less than 1ms, but a typo made it not sleep
any time the requested timeout is lower than
1000 seconds (in practice, never...).

This patch replaces "1e3" with "1e-3", which
represents 1ms.

Change-Id: I731851b27a6bf6ab8e41586e017e94b962b09bf3
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
(cherry picked from commit ec06222ae189fe8d84b63410130fff04bf446573)

7 years agoRefactor SNAT code 30/6030/6
Juraj Sloboda [Mon, 3 Apr 2017 06:08:48 +0000 (08:08 +0200)]
Refactor SNAT code

Change-Id: I71f34dc64d4ddc5f2ec1164cb3c353d0fe2d95ab
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
7 years agomake test: automatic "vpp finishes startup" check 17/6117/2
Klement Sekera [Mon, 10 Apr 2017 04:30:17 +0000 (06:30 +0200)]
make test: automatic "vpp finishes startup" check

Add code which checks if vpp doesn't crash/exit immediately after
startup to aid debugging stuff like mistyped graph node name or so.
Refuse to run tests if the vpp is unable to start, complain loudly
and print vpp's stderr at critical log level if this happens to make
spotting these problems in jenkins easy.

Change-Id: I40d3fbd05c822c0534713bae6bef05ecfb0e0c1d
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoCommon device-input interrupt infra 62/6062/5
Damjan Marion [Wed, 5 Apr 2017 16:15:45 +0000 (18:15 +0200)]
Common device-input interrupt infra

Change-Id: I23b588eb56a3f5690158449a1f9bc8053cd3d251
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoHandle ICMP echo with TTL=1 in deterministic and fast SNAT nodes 29/6029/5
Juraj Sloboda [Mon, 3 Apr 2017 05:34:57 +0000 (07:34 +0200)]
Handle ICMP echo with TTL=1 in deterministic and fast SNAT nodes

Change-Id: Icd25ec2e5faf69898178199aa44f21790ce664e1
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
7 years agoMake fixes in SNAT code 28/6028/4
Juraj Sloboda [Mon, 3 Apr 2017 04:33:23 +0000 (06:33 +0200)]
Make fixes in SNAT code

Change-Id: I691d1bfb2923a07c0003485b1d0272aaf9ed27ee
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
7 years agoFix init of ENIC driver to allow receiving of jumbo packets 01/6101/1
John Lo [Sat, 8 Apr 2017 03:32:32 +0000 (23:32 -0400)]
Fix init of ENIC driver to allow receiving of jumbo packets

Set rxmode.enable_scatter field in DPDK port config parameter so ENIC
driver will use multiple mbuf's for receiving jumbo packets.
Also remove ENIC driver check to disable setting ENIC MTU as this
capability is now working with the new ENIC driver, subject to 9002B
limit.

Change-Id: I563976201c4968d4538c0759505cef2de876934a
Signed-off-by: John Lo <loj@cisco.com>
7 years agoVXLAN/TEST:validate vxlan del reply has valid sw_if_index 65/6065/4
Eyal Bari [Thu, 6 Apr 2017 00:31:00 +0000 (03:31 +0300)]
VXLAN/TEST:validate vxlan del reply has valid sw_if_index

Change-Id: Icf7420b7ee212e9341f63f005dc287d019fd8e4c
Signed-off-by: Eyal Bari <ebari@cisco.com>
7 years agoMPLS Mcast 53/5653/8
Neale Ranns [Wed, 1 Mar 2017 23:12:11 +0000 (15:12 -0800)]
MPLS Mcast

 1 - interface-DPO
        Used in the Data-plane to change a packet's input interface
 2 - MPLS multicast FIB entry
        Same as a unicast entry but it links to a replicate not a load-balance DPO
 3 - Multicast MPLS tunnel
        Update MPLS tunnels to use a FIB path-list to describe the endpoint[s]. Use the path-list to generate the forwarding chain (DPOs) to link to .
 4 - Resolve a path via a local label (of an mLDP LSP)
        For IP multicast entries to use an LSP in the replication list, we need to decribe the 'resolve-via-label' where the label is that of a multicast LSP.
 5 - MPLS disposition path sets RPF-ID
        For a interface-less LSP (i.e. mLDP not RSVP-TE) at the tail of the LSP we still need to perform an RPF check. An MPLS disposition DPO performs the MPLS pop validation checks and sets the RPF-ID in the packet.
 6 - RPF check with per-entry RPF-ID
       An RPF-ID is used instead of a real interface SW if index in the case the IP traffic arrives from an LSP that does not have an associated interface.

Change-Id: Ib92e177be919147bafeb599729abf3d1abc2f4b3
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoFix gpe dp args to allow for 32 bit bridge domain ids, VPP-690 77/6077/2
Florin Coras [Thu, 6 Apr 2017 22:27:35 +0000 (15:27 -0700)]
Fix gpe dp args to allow for 32 bit bridge domain ids, VPP-690

Change-Id: I4e3df197eed33acbceaff495279def8716773303
Signed-off-by: Florin Coras <fcoras@cisco.com>