vpp.git
6 years agoPAPI: Add docstrings to unit tests. 41/9841/3
Ole Troan [Thu, 14 Dec 2017 10:28:21 +0000 (11:28 +0100)]
PAPI: Add docstrings to unit tests.

Change-Id: I0e20100c9e2ca4e951f605a79d48c04ff47864cb
Signed-off-by: Ole Troan <ot@cisco.com>
6 years agoGRE tunnel key includes the FIB table 49/9849/2
Neale Ranns [Thu, 14 Dec 2017 16:51:32 +0000 (08:51 -0800)]
GRE tunnel key includes the FIB table

- GRE tunnels with the same src,dst addresses are not the same tunnel
- Two data-plane improvements:
  - the cached key was never updated and so useless
  - no need to dereference the tunnel's HW interface to get the sw_if_index

Change-Id: I2f2ea6e08c759a810b753cec22c497e921a2ca01
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agoUse crc32 wrapper (VPP-1086) 54/9854/2
Gabriel Ganne [Thu, 14 Dec 2017 15:20:37 +0000 (16:20 +0100)]
Use crc32 wrapper (VPP-1086)

This allows arm platforms to also take advantage of crc32 hardware
acceleration.

* add a wrapper for crc32_u64. It's the only one really used. Using it
  instead of a call to clib_crc32c() eases building symmetrical hash
  functions.
* replace #ifdef on SSE4 by a test on clib_crc32c_uses_intrinsics.
  Note: keep the test on i386
* fix typo in lb test log

Change-Id: I03a0897b70f6c1717e6901d93cf0fe024d5facb5
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
6 years agodpdk: unset ETH_TXQ_FLAGS_NOXSUMS only for selected PMDs 59/9859/2
Damjan Marion [Fri, 15 Dec 2017 21:05:04 +0000 (22:05 +0100)]
dpdk: unset ETH_TXQ_FLAGS_NOXSUMS only for selected PMDs

Change-Id: I1699e440052faa317b06d46692e8656a41d21bfe
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agoVPP-1102: fix dangling references in RPC handling 58/9858/3
Dave Barach [Fri, 15 Dec 2017 17:22:57 +0000 (12:22 -0500)]
VPP-1102: fix dangling references in RPC handling

Queue RPC calls and send them from the main dispatch loop. As things stood,
if the vpp main input queue filled, worker threads could enter a
barrier-sync spin-wait in the middle of processing a frame. If thread
0 decided to recreate worker thread data structures, the worker thread(s)
could easily crash.

Legislate the problem out of existence by enqueueing RPC messages only
from the main dispatch loop. At that point, doing a barrier-sync wait
is perfectly OK.

Change-Id: I18da3e44bb1f29a63fe5f30cf11de732ecfd5bf7
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoapps: refactor uri and update build infra 07/9807/12
Florin Coras [Mon, 11 Dec 2017 19:49:26 +0000 (11:49 -0800)]
apps: refactor uri and update build infra

Change-Id: Ifa9966a27586a1a65038d069cf4a1e6e21a72d45
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoFix icmp/udp/tcp punt/drop paths 40/9440/8
Vijayabhaskar Katamreddy [Wed, 15 Nov 2017 21:50:26 +0000 (13:50 -0800)]
Fix icmp/udp/tcp punt/drop paths

Send packets to ip4/6_punt/drop nodes instead of error-drop/punt nodes

dbarach: clean up an annoying checkstyle issue: indent 2.2.10
(OpenSUSE version) and indent 2.2.11 (Ubuntu / CentOS versions) had an
artistic disagreement about ip_frag.c.

Change-Id: I660bee28a064af9c6c70371363081e941d1c3a94
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agomake test: disable tests which require CXX >= 5.3 on rhel 55/9855/2
Gabriel Ganne [Fri, 15 Dec 2017 09:47:09 +0000 (10:47 +0100)]
make test: disable tests which require CXX >= 5.3 on rhel

same as commit d3e671e0dbb879d90f00bdee608ee0bb5f6357ae did for centos

Change-Id: If57765490d1ef41042a42db433b704af2f0c0ffd
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
6 years agoVCL-LDPRELOAD: Fix Coverity Warning CID 178776 52/9852/2
Dave Wallace [Fri, 15 Dec 2017 02:36:31 +0000 (21:36 -0500)]
VCL-LDPRELOAD: Fix Coverity Warning CID 178776

- Fix broken unit test code.
- Check for NULL ptr in vppcom_session_attr()
  VPPCOM_ATTR_GET_*_ADDR endpoint parameters.

Change-Id: I01169edce098ee855a9cba08893c2b08c93ea6c3
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
6 years agoimplement clib_smp_pause() for arm and aarch64 platform 20/9820/3
Kevin Wang [Fri, 8 Dec 2017 05:43:27 +0000 (13:43 +0800)]
implement clib_smp_pause() for arm and aarch64 platform

Change-Id: Ic9c1c70e06b953538ed43fc91ed26b6be82ce812
Signed-off-by: Kevin Wang <kevin.wang@arm.com>
6 years agofib: fix show fib path-list and path 53/9853/3
Florin Coras [Thu, 14 Dec 2017 19:34:37 +0000 (11:34 -0800)]
fib: fix show fib path-list and path

Change-Id: I465282e513b6a0482e96dd02fc7e0e4ed3e3731a
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoESP_AH_test_automation_scripts rev1 02/9802/5
“mystarrocks” [Mon, 11 Dec 2017 15:11:51 +0000 (07:11 -0800)]
ESP_AH_test_automation_scripts rev1

Change-Id: I941abdc4a02e4c52c66b9d299e380b27caca7c1d
Signed-off-by: “mystarrocks” <mystarrocks@yahoo.com>
6 years agoIgnore core files 48/9848/2
Keith Burns (alagalah) [Thu, 14 Dec 2017 16:25:05 +0000 (08:25 -0800)]
Ignore core files

Change-Id: I7ffaceb992d12fd255fe8a608b0493c2993c18c2
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
6 years agoFix display of single-event event-logs 51/9851/1
Dave Barach [Thu, 14 Dec 2017 22:21:36 +0000 (17:21 -0500)]
Fix display of single-event event-logs

Change-Id: Ib3e25916c66fa3e1b082359095652c45d3b27d0f
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoVPP-1100 Fix loop in "set punt tcp/udp command" 16/9816/3
Swarup Nayak [Wed, 13 Dec 2017 07:57:23 +0000 (13:27 +0530)]
VPP-1100 Fix loop in "set punt tcp/udp command"

Change-Id: I23081ea25a8d40d8ebe1fcb6efe4143e9c5a0fc6
Signed-off-by: Swarup Nayak <swarupnpvt@gmail.com>
6 years agopci: auto-detect right vfio/uio driver 01/9801/4
Damjan Marion [Mon, 11 Dec 2017 14:55:56 +0000 (15:55 +0100)]
pci: auto-detect right vfio/uio driver

Change-Id: Ib4012ff598698924484525932d041988cc4c63f6
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agovom: acl: Extend constructor for l3 rule 43/9843/2
Mohsin Kazmi [Wed, 13 Dec 2017 16:59:33 +0000 (17:59 +0100)]
vom: acl: Extend constructor for l3 rule

New constructor can construct the l3 rule
using all or partial paratmeters.

Change-Id: I828ec1c4713decb5824e4a73c3692cebc2324cc2
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
6 years agovom: acl-list: Add comparison operator - for UT 42/9842/2
Mohsin Kazmi [Wed, 13 Dec 2017 18:31:02 +0000 (19:31 +0100)]
vom: acl-list: Add comparison operator - for UT

Change-Id: I341f522b46dd85fb3b1dd43fd125513f16f89171
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
6 years agovppinfra: add AVX512 variant of clib_memcpy 40/9840/3
Damjan Marion [Thu, 14 Dec 2017 08:30:11 +0000 (09:30 +0100)]
vppinfra: add AVX512 variant of clib_memcpy

Taken from DPDK, also AVX2 variant updated to be in sync with DPDK
version.

Change-Id: I8a42e4141a5a1a8cfbee328b07bd0c9b38a9eb05
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agotap_v2: include host-side parameters in the dump binary API 39/9839/3
Milan Lenco [Thu, 14 Dec 2017 09:04:25 +0000 (10:04 +0100)]
tap_v2: include host-side parameters in the dump binary API

Change-Id: I097a738b96a304621520f1842dcac7dbf61a8e3f
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
6 years agoVPP-1032: clean up coverity warnings. 34/9834/2
Dave Barach [Wed, 13 Dec 2017 16:43:13 +0000 (11:43 -0500)]
VPP-1032: clean up coverity warnings.

"This time, for sure..."

Change-Id: Ie981003842d37c5eb6a0b2fe3abe974a93b86df8
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoEnable AWS ENA PMD 37/9837/2
Matthew Smith [Mon, 11 Dec 2017 23:29:57 +0000 (17:29 -0600)]
Enable AWS ENA PMD

Elastic Network Adapter PMD for newer AWS instance types

Change-Id: Ic7f6ac4a261ccc7af3ffb2ed8950274532e3feae
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
6 years agoNAT64: fix coverity (VPP-1032) 38/9838/2
Matus Fabian [Thu, 14 Dec 2017 07:15:47 +0000 (23:15 -0800)]
NAT64: fix coverity (VPP-1032)

CIDs 180713 and 180714

Change-Id: Ia4856d1a62f176e99983f8c82eaa09d5df9d4ca5
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agoBIER disposition default route 35/9835/2
Neale Ranns [Wed, 13 Dec 2017 17:13:41 +0000 (09:13 -0800)]
BIER disposition default route

Change-Id: I7196ad8bf6afaf356674789c05e23ac000bc038e
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agosession: cleanup attach flags 04/9804/2
Florin Coras [Mon, 11 Dec 2017 12:59:01 +0000 (04:59 -0800)]
session: cleanup attach flags

Change-Id: I39d21d15677f57e10b69b8842f2cbca277abddf0
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoIP bi-direction multicast - same cable check on egress 19/9819/3
Neale Ranns [Wed, 13 Dec 2017 09:44:25 +0000 (01:44 -0800)]
IP bi-direction multicast - same cable check on egress

Change-Id: I655382f7f74181dd7c795a2b22f151f76b50e793
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agomake "test-all" target pass again 02/9702/3
Gabriel Ganne [Fri, 17 Nov 2017 08:18:53 +0000 (09:18 +0100)]
make "test-all" target pass again

The "test-all" target is still never called as part of any continuous
test (as it probably should) but at least it can now be expected to
succeed.

VXLAN-GPE:
* decapsulate Ethernet to "l2-input" instead of "ethernet-input"
  otherwise the inner mac address get checked against the interface one
  (external) and packet gets dropped (mac mismatch)
* set packet input sw_if_index to unicast vxlan tunnel for learning

TEST:
* VXLAN:
  * reduce the number of share tunnels:
    => reduce test duration by half
    => no functional change
* VXLAN-GPE:
  * fix test TearDown() cli: command is "show vxlan-gpe" only
  * remove vxlan-gpe specific tests as the were a duplicated of the
    BridgeDomain one and already inherited.
  * disable test_mcast_rcv() and test_mcast_flood() tests
* P2PEthernetAPI:
  * remove test: "create 100k of p2p subifs"
    there already is a "create 1k p2p subifs" so this one is a load test
    and not a unit test.
    See: lists.fd.io/pipermail/vpp-dev/2017-November/007280.html

Change-Id: Icafb83769eb560cbdeb3dc6d1f1d3c23c0901cd9
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
6 years agoBIER: API documentation fixes. 18/9818/2
Neale Ranns [Tue, 12 Dec 2017 13:32:50 +0000 (05:32 -0800)]
BIER: API documentation fixes.

Change-Id: I497305d9a4fd556ed8b4a7ceb3654df94ff98f56
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agophysmem: fix bug in detection of cross page boundary allocations 24/9824/2
Damjan Marion [Wed, 13 Dec 2017 12:51:13 +0000 (13:51 +0100)]
physmem: fix bug in detection of cross page boundary allocations

Change-Id: I18e9227565243bce7d4102b1950eec9e019a097a
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agoSeparate heap for IPv4 mtries 31/9631/3
Neale Ranns [Wed, 29 Nov 2017 13:20:37 +0000 (05:20 -0800)]
Separate heap for IPv4 mtries

Change-Id: I497e9f6489dd35219bcf2b51ac992467aac4c8eb
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agoGRE: fix single loop decap and add test 21/9821/2
Neale Ranns [Wed, 13 Dec 2017 10:47:27 +0000 (02:47 -0800)]
GRE: fix single loop decap and add test

Change-Id: I64e8a76a17057ae69de72a5a80c0a194cd0c21cb
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agoNAT64: multi-thread support (VPP-891) 58/9758/2
Matus Fabian [Fri, 8 Dec 2017 07:22:51 +0000 (23:22 -0800)]
NAT64: multi-thread support (VPP-891)

Change-Id: Iebf859b6d86482e4465423bad598eecf87e53ec4
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agoNAT: DS-Lite AFTR tunnel endpoint address respond to ICMPv6 echo request (VPP-1090) 60/9760/2
Matus Fabian [Fri, 8 Dec 2017 11:38:51 +0000 (03:38 -0800)]
NAT: DS-Lite AFTR tunnel endpoint address respond to ICMPv6 echo request (VPP-1090)

Change-Id: I361c043979274eac1aefcd95abdf1624a3ef2756
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agoFix parameter mismatch in map-t code 22/9822/2
Juraj Sloboda [Wed, 13 Dec 2017 10:53:32 +0000 (11:53 +0100)]
Fix parameter mismatch in map-t code

Change-Id: Ifa37767eb2c3cfc343f54691e6042473a6adf474
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
6 years agoVOM: a couple of print fixes 17/9817/2
Neale Ranns [Wed, 13 Dec 2017 08:55:58 +0000 (00:55 -0800)]
VOM: a couple of print fixes

Change-Id: I4c22ad08bf8fa3e8f05b8938ff447cafa4eea5b2
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
6 years agoVPP-1099 Fix create vxlan-gpe tunnel local 10::1 remote 20::1 vni 11 (for ipv6) 14/9814/1
Swarup Nayak [Wed, 13 Dec 2017 07:32:22 +0000 (13:02 +0530)]
VPP-1099 Fix create vxlan-gpe tunnel local 10::1 remote 20::1 vni 11 (for ipv6)

Change-Id: I3255cd1be4ae4ec8d09574183c96f59028374a5e
Signed-off-by: Swarup Nayak <swarupnpvt@gmail.com>
6 years agoVPP-275 Coding standards cleanup - vnet/vnet/vxlan-gpe 82/9782/2
sharath reddy [Mon, 11 Dec 2017 06:01:31 +0000 (11:31 +0530)]
VPP-275 Coding standards cleanup - vnet/vnet/vxlan-gpe

Change-Id: Ifabb8d22d20bc1031664d5f004e74cd363759ab6
Signed-off-by: sharath reddy <sharathkumarboyanapally@gmail.com>
6 years agoVPP-1032: fix coverity warnings 11/9811/2
Dave Barach [Tue, 12 Dec 2017 13:29:42 +0000 (08:29 -0500)]
VPP-1032: fix coverity warnings

Change-Id: Ic551af286aa84293deb260560c12def430449598
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agotcp/session: add make tests 06/9806/3
Florin Coras [Mon, 11 Dec 2017 17:09:05 +0000 (09:09 -0800)]
tcp/session: add make tests

Change-Id: Icb93ab80c5a6432d7b2b698a47e8b612c6f06fbd
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agosession: fix proxy removal 05/9805/2
Florin Coras [Mon, 11 Dec 2017 11:37:03 +0000 (03:37 -0800)]
session: fix proxy removal

Change-Id: Ia7cb4dc18710d15352629d78d9e0c34fb65762f3
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoStats for Multicast FIB 08/9808/2
Neale Ranns [Tue, 12 Dec 2017 08:21:19 +0000 (00:21 -0800)]
Stats for Multicast FIB

Change-Id: I46b4aeb6ec9ab6ee462f9c5074b5778d94bf8dc3
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agoSimplify packages dependency 09/9809/3
Marco Varlese [Tue, 12 Dec 2017 10:06:17 +0000 (11:06 +0100)]
Simplify packages dependency

Change-Id: I3d93f74419269448731e66708443625f43925baf
Signed-off-by: Marco Varlese <marco.varlese@suse.de>
6 years agoAdd chi-squared test statistic calculator to random.c 12/9812/1
Dave Barach [Tue, 12 Dec 2017 15:22:27 +0000 (10:22 -0500)]
Add chi-squared test statistic calculator to random.c

Change-Id: I0a0f8c9aad1530d18c70c962e729e84948a074ee
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoVPP-1092 Correcting ip punt delete flow, when recv if index valid but doesnt exist... 99/9799/4
Swarup Nayak [Mon, 11 Dec 2017 12:06:54 +0000 (17:36 +0530)]
VPP-1092 Correcting ip punt delete flow, when recv if index valid but doesnt exist in configuration

Change-Id: I01a69c4eef2c6224a24907b8fed12dcb1b642307
Signed-off-by: Swarup Nayak <swarupnpvt@gmail.com>
6 years agosession: generalize handling of network transports 80/9780/10
Florin Coras [Sat, 9 Dec 2017 18:19:43 +0000 (10:19 -0800)]
session: generalize handling of network transports

- compute session type out of transport and network protos
- make session, session lookup and session queue code network protocol
  agnostic

This does not update the session layer to support non-ip network layer
protocols

Change-Id: Ifc2f92845e158b649d59462eb7d51c12af536691
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoacl-plugin: unapply/reapply the classifier-based inacls when performing macip_acl_add... 72/9772/5
Andrew Yourtchenko [Sat, 9 Dec 2017 13:55:52 +0000 (14:55 +0100)]
acl-plugin: unapply/reapply the classifier-based inacls when performing macip_acl_add_replace on an existing MACIP ACL

The classifier tables layout might (and most always will) change during the MACIP ACL modification.
Furthermore, vnet_set_input_acl_intfc() is quite a picky creature - it quietly does nothing
if there is an existing inacl applied, even if the number is different, so a simple "reapply"
does not work. So, cleanly remove inacl, then reapply when the new tables are ready.

Also, fix the testcase which was supposed to test this exact behavior.

Thanks to Jon Loeliger for spotting this issue.

Change-Id: I7e4bd8023d9de7e914448bb4466c1b0ef6940f58
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
6 years agoONE-33 "one statistics flush" throws assert when one counter not added 00/9800/1
Swarup Nayak [Mon, 11 Dec 2017 14:38:57 +0000 (20:08 +0530)]
ONE-33 "one statistics flush" throws assert when one counter not added

Change-Id: Id10f10889c3036a6db21c999c1e6c54fc1770213
Signed-off-by: Swarup Nayak <swarupnpvt@gmail.com>
6 years agoVPP-273 Coding standards cleanup - vnet/vnet/unix 27/9627/2
sharath reddy [Wed, 29 Nov 2017 14:38:11 +0000 (20:08 +0530)]
VPP-273 Coding standards cleanup - vnet/vnet/unix

Change-Id: Ibac5a4588e66f6d3ad42dd2583e1e84b7d2314c4
Signed-off-by: sharath reddy <sharathkumarboyanapally@gmail.com>
6 years agocall unformat_free in some flow, remove unnecessary calls 19/9719/5
Swarup Nayak [Tue, 5 Dec 2017 04:16:17 +0000 (09:46 +0530)]
call unformat_free in some flow, remove unnecessary calls

Change-Id: I565277eafbce3d4f59a7f0d497fca1c4fed3cfc8
Signed-off-by: Swarup Nayak <swarupnpvt@gmail.com>
6 years agovcl: fix session preallocation 77/9777/2
Florin Coras [Sat, 9 Dec 2017 16:15:00 +0000 (08:15 -0800)]
vcl: fix session preallocation

Change-Id: I174ba43380e97104f6721af647c699922e996f5a
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agovlib: fix issues in the new pci code reported by coverity 81/9781/1
Damjan Marion [Sun, 10 Dec 2017 22:54:46 +0000 (23:54 +0100)]
vlib: fix issues in the new pci code reported by coverity

Change-Id: I8acc5c419b6ad01937c3aecec42801463d4a119a
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agoBIER coverity Fix 79/9779/2
Neale Ranns [Sun, 10 Dec 2017 13:32:31 +0000 (05:32 -0800)]
BIER coverity Fix

Change-Id: I17f95775756b8fd5ee390432f6d8041abbd9f974
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agotap_v2: fix issues reported by coverity 73/9773/2
Damjan Marion [Sat, 9 Dec 2017 20:19:01 +0000 (21:19 +0100)]
tap_v2: fix issues reported by coverity

Change-Id: I1bbd3f6ece255edfd4ebf268ac60f79dce1d10e7
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agoimprove vapi json parser error handling 78/9778/1
Klement Sekera [Sun, 10 Dec 2017 04:15:41 +0000 (05:15 +0100)]
improve vapi json parser error handling

Change-Id: I39b975e6dc3b3ed1f81c1736ed498aee05f6a88b
Signed-off-by: Klement Sekera <ksekera@cisco.com>
6 years agoupdate builtin UDP server to new vnet_session API 68/9768/2
Andreas Schultz [Fri, 8 Dec 2017 15:35:56 +0000 (16:35 +0100)]
update builtin UDP server to new vnet_session API

* app_index has to be valid
* vnet_session needs to be enabled before binding

Change-Id: I410a25153e650d8bc332131a81bf46a0175566d4
Signed-off-by: Andreas Schultz <aschultz@warp10.net>
6 years agomake sure the very first fragment triggers an rx_callback 67/9767/3
Andreas Schultz [Fri, 8 Dec 2017 14:12:36 +0000 (15:12 +0100)]
make sure the very first fragment triggers an rx_callback

On the first session server, the first payload packet gets queued
but the Rx callback will only be invoked when the second packet
is received.

By initializing enqueue_epoch in the session, we can make sure that
the RX callback will be invoked for the first packet as well.

Change-Id: I60e2cf8d4d2ca71d461ca003d459c8e6e6956a4d
Signed-off-by: Andreas Schultz <aschultz@warp10.net>
6 years agoVPP-1077 Add meaningful error info, when executing command with enable/disable option 97/9697/3
Swarup Nayak [Mon, 4 Dec 2017 06:24:43 +0000 (11:54 +0530)]
VPP-1077 Add meaningful error info, when executing command with enable/disable option

Change-Id: I47dd6f9637f0214971e3191852d84aa92d64b8c0
Signed-off-by: Swarup Nayak <swarupnpvt@gmail.com>
6 years agoBIER in non-MPLS netowrks 36/9736/7
Neale Ranns [Tue, 5 Dec 2017 21:24:04 +0000 (13:24 -0800)]
BIER in non-MPLS netowrks

as decsribed in section 2.2
  ihttps://tools.ietf.org/html/draft-ietf-bier-mpls-encapsulation-10
with BIFT encoding from:
  https://tools.ietf.org/html/draft-wijnandsxu-bier-non-mpls-bift-encoding-00

changes:
1 - introduce the new BIFT lookup table. BIER tables that have an associated
    MPLS label are added to the MPLS-FIB. Those that don't are added to the
    BIER table
2 - BIER routes that have no associated output MPLS label will add a BIFT label.
3 - The BIER FMask has a path-list as a member to resolve via any possible path.

Change-Id: I1fd4d9dbd074f0e855c16e9329b81460ebe1efce
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agovlib: PCI rework to support VFIO 57/9757/12
Damjan Marion [Thu, 5 Oct 2017 13:32:41 +0000 (15:32 +0200)]
vlib: PCI rework to support VFIO

Also fixes old ixge driver, so it works with recent physmem changes and
vfio.

Change-Id: Id4be74b34daed47cd281a77eec43d6692340d882
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agoVPP-249 Coding standards cleanup - vnet/vnet/dhcp 62/9762/2
khemendra kumar [Fri, 8 Dec 2017 12:36:52 +0000 (18:06 +0530)]
VPP-249 Coding standards cleanup - vnet/vnet/dhcp

Change-Id: I45a166b5780675d2bc6fe90595f413725704eaa8
Signed-off-by: khemendra kumar <khemendra.kumar13@gmail.com>
6 years agojvpp: include all api files from @top_builddir@/vpp 65/9765/2
Marek Gradzki [Fri, 8 Dec 2017 14:26:55 +0000 (15:26 +0100)]
jvpp: include all api files from @top_builddir@/vpp

Currently:
- vpe.api (supported previously)
- stats.api
- oam.api

Change-Id: Iab48d5d142e9a1ea0a4f366352b1d9429cc47309
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
6 years agojvpp: do not hardcode event sufixes (VPP-940) 63/9763/2
Marek Gradzki [Thu, 7 Dec 2017 14:40:11 +0000 (15:40 +0100)]
jvpp: do not hardcode event sufixes (VPP-940)

JVpp maps request messages with replies
for Java API user convenience, e.g.:
- do not polute send APIs with messages other than requests/dumps,
- allow callback registration only for replies/details and events.

Since there are no conventions for event message naming
(https://wiki.fd.io/view/VPP/API_Concepts#API_Conventions),

jvpp should not limit events to messages
that end with 'event' or 'counters' suffix.

Instead jvpp should treat all messages
except for requests/dumps as potential events.

Such behaviour was introduced on Java API level by
https://gerrit.fd.io/r/#/c/8377/

in order support reusing
details messages as events (e.g. BFD events).

This patch goes one step forward by
relaxing rules at jvpp generation level.

Change-Id: I2a35e9eb2a288b2cf02d36ca95e6cb13e76e19e3
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
6 years agoRemove the unused 'create VRF if needed' API parameters 71/9771/1
Neale Ranns [Fri, 8 Dec 2017 21:53:41 +0000 (13:53 -0800)]
Remove the unused 'create VRF if needed' API parameters

Change-Id: I35e166feeb0ac1e0e570efe07cb5f4cbeb5b8670
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
6 years agotapv2: multiple improvements 45/9745/6
Damjan Marion [Mon, 4 Dec 2017 19:03:37 +0000 (20:03 +0100)]
tapv2: multiple improvements

- change interface naming scheme
- rework netlink code
- add option to set link address, namespace

Change-Id: Icf667babb3077a07617b0b87c45c957e345cb4d1
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agovppinfra: fix issues depending on compiler 61/9761/2
Sergio Gonzalez Monroy [Fri, 8 Dec 2017 11:25:13 +0000 (11:25 +0000)]
vppinfra: fix issues depending on compiler

It looks like different compiler versions produce different results for
expressions like "(cast) ptr + inc".

Use parenthesis to avoid such issues.

Change-Id: I93a9883bf5fc05ae462df5b004817775f0739405
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
6 years agopunt: fix tracing for partially traced chains 82/9282/4
Klement Sekera [Wed, 8 Nov 2017 03:13:49 +0000 (04:13 +0100)]
punt: fix tracing for partially traced chains

This fixes a crash if the first buffer in buffer chain is not traced,
but some other buffer (mid-chain) is.

Change-Id: I2c9f529ae0bc3263d20981e0cb83ce24ed292bd8
Signed-off-by: Klement Sekera <ksekera@cisco.com>
6 years agovom: acl-l3: Fix pretty print for TCP mask and flags 48/9748/2
Mohsin Kazmi [Tue, 5 Dec 2017 13:48:58 +0000 (14:48 +0100)]
vom: acl-l3: Fix pretty print for TCP mask and flags

Change-Id: If14d1b2d9b73de77321d94f10d48fa1bb04846f6
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
6 years agoVOM: prefix bit fiddling 54/9754/2
Neale Ranns [Thu, 7 Dec 2017 16:48:02 +0000 (08:48 -0800)]
VOM: prefix bit fiddling

Change-Id: I4fbf4a574f455628d56e78cefc1a76adc06bc801
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
6 years agojvpp: unify notification handling 53/9753/1
Marek Gradzki [Thu, 7 Dec 2017 16:17:35 +0000 (17:17 +0100)]
jvpp: unify notification handling

Since introduction of dedicated SW Interface Event,
there is no need for special handling of messages
that can be both requests and events.

Change-Id: I76575e32c6d5b19e9a1ca953e5841d8ac3de4de7
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
6 years agojvpp: remove special request<>reply mappings 52/9752/1
Marek Gradzki [Thu, 7 Dec 2017 15:49:26 +0000 (16:49 +0100)]
jvpp: remove special request<>reply mappings

Since L2FibTable removal
and introduction of dedicated SW Interface Event,
special message handling code can be removed.

The patch also fixes issues
found by Intelij's code inspection tool.

Change-Id: Ic4b2fd12ac30c7627f4cd6769716e4bb52ec0b10
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
6 years agoCorrected help string of show ip punt 42/9742/3
Swarup Nayak [Wed, 6 Dec 2017 13:25:43 +0000 (18:55 +0530)]
Corrected help string of show ip punt

Change-Id: I32ec3ff341e70ceaa6203df5a9e7c3ffdae20a06
Signed-off-by: Swarup Nayak <swarupnpvt@gmail.com>
6 years agoVPP-259 Coding standards cleanup - vnet/vnet/lawful-intercept 41/9741/2
satish.karunanithi [Wed, 6 Dec 2017 10:41:59 +0000 (16:11 +0530)]
VPP-259 Coding standards cleanup - vnet/vnet/lawful-intercept

Change-Id: Ie750c9fe06c067226b90bdcc3ea423b74d16562d
Signed-off-by: satish.karunanithi <satish.fdio@gmail.com>
6 years agoLabel stack size exceeded fix 39/9739/2
Neale Ranns [Wed, 6 Dec 2017 08:45:33 +0000 (00:45 -0800)]
Label stack size exceeded fix

Change-Id: Ibe2041d83e9b5be16801dc316bd472ae4f6e8c31
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agosession: support for rule tags overwriting 34/9534/2
Florin Coras [Thu, 23 Nov 2017 03:22:48 +0000 (19:22 -0800)]
session: support for rule tags overwriting

Change-Id: I0cf48b69042996afcb8b192f5fd98165058d9e1d
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoUT: Repaired broken C unit tests (--enable-tests) 44/9744/2
Ole Troan [Wed, 6 Dec 2017 16:00:05 +0000 (17:00 +0100)]
UT: Repaired broken C unit tests (--enable-tests)

Change-Id: I63d720378b92813993525f80fee90fc79df27fba
Signed-off-by: Ole Troan <ot@cisco.com>
6 years agoRestructure some files in LB to src/vnet to reuse 93/9393/22
Hongjun Ni [Mon, 13 Nov 2017 12:34:06 +0000 (20:34 +0800)]
Restructure some files in LB to src/vnet to reuse

Change-Id: Ic8b193e93ce18ca82b294816aa7ee0ef31d64bc2
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
6 years agoRemove unused, uninteresting code 32/9732/2
Dave Barach [Tue, 5 Dec 2017 17:21:59 +0000 (12:21 -0500)]
Remove unused, uninteresting code

Move elog_sample.c to src/examples/vlib

Change-Id: I7d32c83c424b9ca4a057372c7fc6a6e2b7dab034
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agomake clib_maplog_update_header(...) globally accessible 34/9734/2
Dave Barach [Tue, 5 Dec 2017 19:48:56 +0000 (14:48 -0500)]
make clib_maplog_update_header(...) globally accessible

clib_maplog_process(...): handle logs which weren't closed properly.
It will happen.

Change-Id: Ibcf9c9ea7a09991e6294050e7d2979a0d3f965cf
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agofix bug in pager 37/9737/2
Neale Ranns [Tue, 5 Dec 2017 21:34:36 +0000 (13:34 -0800)]
fix bug in pager

the format statement can return NULL before the pager has pages.

Change-Id: Ibabfd107e64fc9ab0eb142c28c155506f0d25828
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agofill "show cpu" Flag list on aarch64 platforms (VPP-1065) 27/9727/3
Gabriel Ganne [Tue, 5 Dec 2017 13:26:33 +0000 (14:26 +0100)]
fill "show cpu" Flag list on aarch64 platforms (VPP-1065)

use getauxval(AT_HWCAP) to get the processor capabilities.
The result should be the same as calling
  cat /proc/cpuinfo | grep Feature | head -n1

All but one (aes) features have a different name.
handle aes by adding it an arch prefix, which is skipped during print
and a clib_cpu_supports_aes() custom function.

Change-Id: If9830bd5a17bac1bd1b5337dacbb0ddbb8ed6b18
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
6 years agotap_v2: convert ring size from network to host order 24/9724/3
Milan Lenco [Tue, 5 Dec 2017 11:18:15 +0000 (12:18 +0100)]
tap_v2: convert ring size from network to host order

Change-Id: Ica1be5c75c83ac64c7063bfeff1f4d00702a00e1
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
6 years agodpdk/ipsec: multiple fixes 28/9628/6
Sergio Gonzalez Monroy [Sun, 26 Nov 2017 15:25:43 +0000 (15:25 +0000)]
dpdk/ipsec: multiple fixes

- fix ESP transport mode
- safely free crypto sessions
- use rte_mempool_virt2phy/rte_mempool_virt2iova
- align DPDK QAT capabilities for IPsec usage (DPDK 17.08)
- reserve 16B for aad (reference cryptodev doc)

Change-Id: I3822a7456fb5a255c767f5a44a429f91a140fe64
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
6 years agodpdk:remove duplicate code 16/9716/2
Eyal Bari [Mon, 4 Dec 2017 17:58:12 +0000 (19:58 +0200)]
dpdk:remove duplicate code

unify code from both branches

Change-Id: Iae7325cff8c799c7827727ad7465bec089e39f50
Signed-off-by: Eyal Bari <ebari@cisco.com>
6 years agoremove smp dead code (VPP-1066) 30/9730/2
Gabriel Ganne [Tue, 5 Dec 2017 14:14:07 +0000 (15:14 +0100)]
remove smp dead code (VPP-1066)

this follows commit 01d86c7f6f05938c7d3fe181bd0aa2f75ccdd1df
which removed many unused functions from smp.h

Change-Id: I3aa0954a5e2319cc526fa68dda113f3cbe063960
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
6 years agoRevert "FIB: optimise for src memory allocations" 18/9718/2
Neale Ranns [Mon, 4 Dec 2017 20:00:30 +0000 (20:00 +0000)]
Revert "FIB: optimise for src memory allocations"

This reverts commit 84517cfd1508f6da24937f310f7fffe752f22584.

Change-Id: Ic7eeffa2ed4607d3d653f34b93c20c833c789ee1
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agovnet: set vnet_buffer l2_hdr_offset and l3_hdr_offset 98/9698/3
Steven [Mon, 4 Dec 2017 07:40:54 +0000 (23:40 -0800)]
vnet: set vnet_buffer l2_hdr_offset and l3_hdr_offset

Changes made in ethernet_input to set l2_hdr_offset,l3_hdr_offset, and
their corresponding flags.
Please note that ethernet_input, as a critical DP, incurs a few extra cpu
cycles due to this patch, but for a worthy cause.

Change-Id: Ie9ae352ea62959d2779ebcca98a1898e3d9e1d6f
Signed-off-by: Steven <sluong@cisco.com>
6 years agovlib: switch when frames are different 05/9705/4
Eyal Bari [Mon, 4 Dec 2017 11:57:45 +0000 (13:57 +0200)]
vlib: switch when frames are different

[ebari] no need to switch if next2, next3 are equal to next_index
[dbarach] change fix_speculation calculaton to a branch-free xor/or tree

Change-Id: I0131dc4499218363d5b0ce8f6440ce74e0b22bb9
Signed-off-by: Eyal Bari <ebari@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agotap_v2: move code to vnet/devices/tap 10/9710/2
Damjan Marion [Mon, 4 Dec 2017 14:25:58 +0000 (15:25 +0100)]
tap_v2: move code to vnet/devices/tap

virtio backend stays in vnet/devices/virtio

Change-Id: Idbf04f1c645a809ed408670ba330662859fe9309
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agotapcli: change interface name 09/9709/3
Damjan Marion [Mon, 4 Dec 2017 14:14:52 +0000 (15:14 +0100)]
tapcli: change interface name

As tapcli code is going to be deprecated and replaced with tap v2 code,
change the interface naming so the new code can use form tap-X.

Change-Id: I2684a880c037caee677927214752c00cf97f63f6
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agodpdk: remove unused "use_rss" flag 12/9712/3
Eyal Bari [Mon, 4 Dec 2017 14:40:30 +0000 (16:40 +0200)]
dpdk: remove unused "use_rss" flag

Change-Id: I31d2cbb02a0f59603ef1adc0d185e3d775dfda2f
Signed-off-by: Eyal Bari <ebari@cisco.com>
6 years agodpdk: remove duplicate function 08/9708/3
Eyal Bari [Mon, 4 Dec 2017 12:50:29 +0000 (14:50 +0200)]
dpdk: remove duplicate function

dpdk_rx_next_from_packet_start is equivalent to dpdk_rx_next_from_etype and seems to have no side effects

Change-Id: I629dadfbfb35ad1f5c7198e7824883ae4bd6abaa
Signed-off-by: Eyal Bari <ebari@cisco.com>
6 years agodpdk: remove unused cached eth input node 06/9706/3
Eyal Bari [Mon, 4 Dec 2017 12:04:57 +0000 (14:04 +0200)]
dpdk: remove unused cached eth input node

Change-Id: Ic43c70bfe3e93cb3e6cfab7cda1986e44e371c06
Signed-off-by: Eyal Bari <ebari@cisco.com>
6 years agoOptimize RPM build process 84/9684/2
Renato Botelho do Couto [Thu, 30 Nov 2017 21:41:22 +0000 (15:41 -0600)]
Optimize RPM build process

* Remove unused variable OS_VERSION_ID
* Do all RPM building in build-root/rpmbuild
* Add build-root/rpmbuild to .gitignore
* Move redundant code to a target called 'spec'
* Copy spec file to SPECS instead of SOURCES
* Only set %{_topdir} macro when it's undefined, and because of that
  remove sed call to delete definition on spec file
* Pass _version and _release using --define parameter instead of using
  sed to add them to .spec
* Move rpm files to build-root after build finishes
* Add dist tarball to .gitignore

Change-Id: I230d60b62914056b353f7f8701d14754b0bf7f8c
Signed-off-by: Renato Botelho do Couto <renato@netgate.com>
6 years agotap_v2: coverity strikes, again! 96/9696/2
Steven [Sun, 3 Dec 2017 04:17:27 +0000 (20:17 -0800)]
tap_v2: coverity strikes, again!

fd is not close when IOCTL encounters an error which causes resource
leak. The fix is to initialize fd to -1. At return, close fd if
it has a valid value.

Change-Id: I53c4f5c71ca0f556fb6586f5849e7cb622632d8f
Signed-off-by: Steven <sluong@cisco.com>
6 years agoUpdate CSIT tests 171127 -> 171204 00/9700/2
Jan Gelety [Mon, 4 Dec 2017 08:24:07 +0000 (09:24 +0100)]
Update CSIT tests 171127 -> 171204

- update of CSIT operational branch to be used for VPP-patch test

Change-Id: I9a154daa661fc5f2f1e7c2eeb77a4bb08d4e34be
Signed-off-by: Jan Gelety <jgelety@cisco.com>
6 years agovirtio: zero data structs in virtio_vring_init 04/9704/1
Damjan Marion [Mon, 4 Dec 2017 10:23:58 +0000 (11:23 +0100)]
virtio: zero data structs in virtio_vring_init

Change-Id: I877cf1abb062a90f428c3ec0cab5c6e9dad0ca82
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agomaplog headers, offline processing, doxygen tags 95/9695/3
Dave Barach [Fri, 1 Dec 2017 21:20:32 +0000 (16:20 -0500)]
maplog headers, offline processing, doxygen tags

Change-Id: I0545018ec02f3706ad6a2da6fc13537db5c31a2d
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoVOM: l2fib: Add bvi flag support 92/9692/4
Mohsin Kazmi [Fri, 1 Dec 2017 14:12:57 +0000 (15:12 +0100)]
VOM: l2fib: Add bvi flag support

Change-Id: I03d7508649e80a538fcf9541815e2c29224bc87a
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
6 years agotap_v2: multiple improvements 93/9693/4
Damjan Marion [Fri, 1 Dec 2017 12:34:24 +0000 (13:34 +0100)]
tap_v2: multiple improvements

 - add support for assigning tap interface to the bridge
 - add support for assigning tap interface host side ip4 and ip6 address
 - host namespace can be specified as PID (pid:12345) or full path to file
 - automatically bring linux interface up

Change-Id: I1cf7c3cad9a740e430cc1b9c2bb0aad0ba4cc8d8
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agogpe: fix gpe enable/disable command 94/9694/2
Florin Coras [Fri, 1 Dec 2017 12:54:06 +0000 (04:54 -0800)]
gpe: fix gpe enable/disable command

Return error if not input provided.

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