vpp.git
7 years agoReorganize source tree to use single autotools instance 30/4430/19
Damjan Marion [Mon, 19 Dec 2016 22:05:39 +0000 (23:05 +0100)]
Reorganize source tree to use single autotools instance

Change-Id: I7b51f88292e057c6443b12224486f2d0c9f8ae23
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agodpdk: Add support for Mellanox ConnectX-4 devices 83/4483/5
Damjan Marion [Fri, 23 Dec 2016 21:42:41 +0000 (22:42 +0100)]
dpdk: Add support for Mellanox ConnectX-4 devices

Due to external library dependency support for Mellanox
devices is disabled. To enable it uncoment following line:

vpp_uses_dpdk_mlx5_pmd = yes

in build-data/platforms/vpp.mk and install OFED libraries.

Change-Id: I131d52b5d449a958349f31f9cc04311948f78b71
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agovlib: Add support for PCI VPD parsing 82/4482/4
Damjan Marion [Mon, 26 Dec 2016 10:39:42 +0000 (11:39 +0100)]
vlib: Add support for PCI VPD parsing

This allows better detection of various NICs, including the ones
where different sub-models are sharing same PCI VID:PID.

This change also extends output of "show pci" debug cli command.

Change-Id: I06f78e8376307e88b0252a99c203c696437a6e35
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoMake test support for the ipfix flow-per-pkt plugin 81/4481/2
Dave Barach [Fri, 23 Dec 2016 20:15:48 +0000 (15:15 -0500)]
Make test support for the ipfix flow-per-pkt plugin

Change-Id: I7a0d37fc2bc21dbbff1cea1b92dc24d43f971eec
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoSNAT: fix 'show snat verbose' bug - format vector as %v 75/4475/2
Matus Fabian [Fri, 23 Dec 2016 10:59:34 +0000 (02:59 -0800)]
SNAT: fix 'show snat verbose' bug - format vector as %v

Change-Id: Ia829da43a273c89dee47b32250ab032d992193cd
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agomake test: improve handling of packet captures 52/4452/5
Klement Sekera [Wed, 21 Dec 2016 07:50:14 +0000 (08:50 +0100)]
make test: improve handling of packet captures

Perform accounting of expected packets based on created packet infos.
Use this accounting info to automatically expect (and verify) the
correct number of packets to be captured. Automatically retry the read
of the capture file if scapy raises an exception while doing so to
handle rare cases when capture file is read while only partially
written during busy wait. Don't fail assert_nothing_captured if only
junk packets arrived.

Change-Id: I16ec2e9410ef510d313ec16b7e13c57d0b2a63f5
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoBuild vpp_api_test binary API debug CLI into vpp 23/4323/4
Dave Barach [Wed, 14 Dec 2016 19:49:55 +0000 (14:49 -0500)]
Build vpp_api_test binary API debug CLI into vpp

Change-Id: I60ce73a62d8632a644fbfdfbe13ff8ddbb959233
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agomake test: add log.txt 80/4480/1
Klement Sekera [Fri, 23 Dec 2016 08:16:39 +0000 (09:16 +0100)]
make test: add log.txt

Always create a log.txt under test's temporary directory containing
V=2 output for debugging purposes.

Change-Id: If149c8126f42f80724ee17b63c411ddec6645f85
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoapi: save some typing when adding new api files 72/4472/5
Damjan Marion [Thu, 22 Dec 2016 17:08:33 +0000 (18:08 +0100)]
api: save some typing when adding new api files

Change-Id: Ia994b723eafe8ab41c1c3031a7f7cd1853554128
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoAdd L2 flow-record generation 38/4438/2
Dave Barach [Tue, 20 Dec 2016 22:59:27 +0000 (17:59 -0500)]
Add L2 flow-record generation

Change-Id: I32a9513f2b66d35e0abe2aeb6eb86a4729ba7f74
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoAPI refactoring : lisp-gpe 63/4463/4
Pavel Kotucek [Wed, 21 Dec 2016 14:50:08 +0000 (15:50 +0100)]
API refactoring : lisp-gpe

Change-Id: I47b38a9b5ae8ead2a161402974205982669851a7
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoAPI refactoring : lisp 62/4462/3
Pavel Kotucek [Wed, 21 Dec 2016 13:15:37 +0000 (14:15 +0100)]
API refactoring : lisp

Change-Id: Ia1ebd03e5d55e5b20f244158366b9de15b1baae1
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoAPI refactoring : ipsec-gre 66/4466/4
Pavel Kotucek [Thu, 22 Dec 2016 09:03:25 +0000 (10:03 +0100)]
API refactoring : ipsec-gre

Change-Id: I984c6f2c5aaeeef98aadd5a66159cac046a86586
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoAPI refactoring : ipsec 65/4465/3
Pavel Kotucek [Wed, 21 Dec 2016 06:46:45 +0000 (07:46 +0100)]
API refactoring : ipsec

Change-Id: Ice5bc725c619412e3b6cd1f56e225c6bf33104df
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoSNAT: Remove the oldest translation fix (VPP-568) 64/4464/2
Matus Fabian [Thu, 22 Dec 2016 07:58:46 +0000 (23:58 -0800)]
SNAT: Remove the oldest translation fix (VPP-568)

Fixed bug and add test.

Change-Id: Ibe70dfc81e6c264223050d316cf6a2a3a0e1524e
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agoAPI refactoring : bfd 61/4461/1
Pavel Kotucek [Wed, 21 Dec 2016 08:13:17 +0000 (09:13 +0100)]
API refactoring : bfd

Change-Id: Ifbf9b491a1d3906fd4dd4256dcaba976511657be
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoAPI refactoring : l2tp 26/4426/4
Pavel Kotucek [Tue, 20 Dec 2016 09:01:20 +0000 (10:01 +0100)]
API refactoring : l2tp

Change-Id: I30d2785ceaf304b245192f9bce60e37e9da69023
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoAPI refactoring : gre 25/4425/4
Pavel Kotucek [Tue, 20 Dec 2016 07:13:14 +0000 (08:13 +0100)]
API refactoring : gre

Change-Id: Idea10d6ba4139fdcb4f16300a06c2b30ef339b3c
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoAPI refactoring : vxlan-gpe 28/4428/2
Pavel Kotucek [Mon, 19 Dec 2016 13:47:09 +0000 (14:47 +0100)]
API refactoring : vxlan-gpe

Change-Id: Ia31de797e0ff79ceff010b496af30f5196de9fd6
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoAPI refactoring : vhost_user 24/4424/2
Pavel Kotucek [Tue, 20 Dec 2016 11:17:37 +0000 (12:17 +0100)]
API refactoring : vhost_user

Change-Id: I8813d5500973079d582e0bb5f8c2052f8f31c5c7
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoAPI refactoring : netmap 23/4423/2
Pavel Kotucek [Tue, 20 Dec 2016 13:05:46 +0000 (14:05 +0100)]
API refactoring : netmap

Change-Id: I0e1ba784b09c00d2ae5ea51128dcba09d06f8766
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoAPI refactoring : af_packet 22/4422/3
Pavel Kotucek [Tue, 20 Dec 2016 12:19:48 +0000 (13:19 +0100)]
API refactoring : af_packet

Change-Id: Id912ca655583a419b52d4904d6c54dac1f1b26ac
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoAPI refactoring : vxlan 27/4427/2
Pavel Kotucek [Mon, 19 Dec 2016 13:35:35 +0000 (14:35 +0100)]
API refactoring : vxlan

Change-Id: Ied105d738ba3625086359b267db0390be842b7bc
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoBump to 17.04 release 57/4457/1 v17.04-rc0
Damjan Marion [Wed, 21 Dec 2016 18:13:57 +0000 (19:13 +0100)]
Bump to 17.04 release

Change-Id: I94078dbb35491b4fa36f3a1d60e0ab82b542ebd9
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoVPP-470: Introduce VxLAN-GPE as transport for iOAM. 71/4271/8
Vengada Govindan [Wed, 14 Dec 2016 05:59:54 +0000 (21:59 -0800)]
VPP-470: Introduce VxLAN-GPE as transport for iOAM.
This is the second of the two commits. This commit introduces VxLAN-GPE
transit functionality.

Change-Id: I12f13e00f456df0047f2b7a0737addfeb683c420
Signed-off-by: Vengada Govindan <venggovi@cisco.com>
7 years agoSupport multiple VXLAN tunnels with same mcast dst 44/4444/2
Eyal Bari [Wed, 21 Dec 2016 10:45:47 +0000 (12:45 +0200)]
Support multiple VXLAN tunnels with same mcast dst

Support multiple vni's with the same group(multicast) address.
Implemented by sharing local adj. and rewrite among tunnels.

Change-Id: I8ca036b87af65dd6a8f1aff7da1855f72b4c8f4b
Signed-off-by: Eyal Bari <ebari@cisco.com>
7 years agoFix coverity issues 47/4447/3
Marek Gradzki [Wed, 21 Dec 2016 13:29:01 +0000 (14:29 +0100)]
Fix coverity issues

Change-Id: I7707a42321df2c73e5414926d4000f8672ecfaf3
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
7 years agofix 'show trace' bug - format vector as %v 41/4441/4
Klement Sekera [Wed, 21 Dec 2016 02:24:00 +0000 (03:24 +0100)]
fix 'show trace' bug - format vector as %v

Change-Id: I1b5e633b92674c6c7118eaa6ff7be3d824a186c3
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoAdd missing variable definitions to java VPP API 45/4445/3
Marek Gradzki [Wed, 21 Dec 2016 12:38:39 +0000 (13:38 +0100)]
Add missing variable definitions to java VPP API

Change-Id: I121b26f4d566417e7cb5ee1a021896dd7dc5599e
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
7 years agovagrant: Fixing sudo related vagrant errors 50/4450/3
Ray Kinsella [Wed, 21 Dec 2016 14:25:40 +0000 (14:25 +0000)]
vagrant: Fixing sudo related vagrant errors

The dpkg sudo trigger appears to want to run interactively despite the noninteractive
debconf setting. This is a problem upstream for vagrant also, see.

https://github.com/hashicorp/terraform/issues/9763

Incorporating the recommended fix to Vagrantfile from upstream

https://github.com/hashicorp/terraform/pull/9783

Change-Id: I8da8522fc9e80fc3bd268b347a786054ad019170
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
7 years agoPython API: Incorrect error for empty VLA list. 46/4446/2
Ole Troan [Wed, 21 Dec 2016 10:51:05 +0000 (11:51 +0100)]
Python API: Incorrect error for empty VLA list.

Change-Id: Ie3e9a54ca23af6b9ee43615f59a48cb05e3906d4
Signed-off-by: Ole Troan <ot@cisco.com>
7 years agovagrant: updated Vagrantfile to use rsync 49/4449/2
Ray Kinsella [Wed, 21 Dec 2016 12:10:43 +0000 (12:10 +0000)]
vagrant: updated Vagrantfile to use rsync

Replacing problematic nfs & git clone, with a simplier rsync.

Change-Id: I26a95bd81b7fbf6ea0179cd62361e0902f2d22ed
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
7 years agoaarch64 compatibility 90/4390/3
Christophe Fontaine [Mon, 19 Dec 2016 13:41:52 +0000 (14:41 +0100)]
aarch64 compatibility

- lb plugin: compatibility for non x86 platforms.
- Add vector_neon.h to support simd instructions, especially
'u16x8_zero_byte_mask' used in
"vnet/vnet/ip/ip4_source_and_port_range_check.c"

Change-Id: I395546b0e2d5748e73daffa51269a200ef8d1235
Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
7 years agoclassify: add simple mechanism for automatic flow creation (VPP-338) 39/3139/10
Juraj Sloboda [Thu, 25 Aug 2016 13:40:29 +0000 (06:40 -0700)]
classify: add simple mechanism for automatic flow creation (VPP-338)

VPP-338 Support wildcards in IPFIX flow configuration

Change-Id: Ie5ab4f89d70153c3b15fc6bd8d97fa383ee842d9
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
7 years agofix sample-plugin rpm packaging 36/4436/2
Gabriel Ganne [Tue, 20 Dec 2016 16:38:31 +0000 (17:38 +0100)]
fix sample-plugin rpm packaging

Change-Id: I0f4d029fe16d1d272c8bbd5c380ba70a646ddb20
Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>
7 years agomake test: Add classifier - ip/mac/pbr cases 91/4391/4
Steve Shin [Mon, 19 Dec 2016 17:24:50 +0000 (09:24 -0800)]
make test: Add classifier - ip/mac/pbr cases

Change-Id: I9cdf022a48b2b63e7ce07f4f5322ffda28c08ff0
Signed-off-by: Steve Shin <jonshin@cisco.com>
7 years agoAlways set start_of_ethernet_header in ethernet-input speed path 37/4437/2
John Lo [Tue, 20 Dec 2016 21:59:02 +0000 (16:59 -0500)]
Always set start_of_ethernet_header in ethernet-input speed path

The speed path of ethernet-input node is setting the packet context
field start_of_ethernet_header for L2 only. This is also needed for
L3 path because of IPv4 ARP processing which need to know the start
of ethernet header of the incoming ARP packet.

Change-Id: I98ee88c482f8536e4fccc0b8afcb8811d63f4435
Signed-off-by: John Lo <loj@cisco.com>
7 years agoDecouple dependencies/assumptions in MAC change 31/4431/2
Neale Ranns [Tue, 20 Dec 2016 14:24:01 +0000 (14:24 +0000)]
Decouple dependencies/assumptions in MAC change

Change-Id: Ic38d0e468da1ad5b56eefda471a5961146a1c372
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoVPP-525: multi-thread case binary API post-mortem dump AWOL 35/4435/2
Dave Barach [Tue, 20 Dec 2016 17:48:14 +0000 (12:48 -0500)]
VPP-525: multi-thread case binary API post-mortem dump AWOL

root cause: blocking all signals in worker threads

Change-Id: Ife0a5f04be0648fab84e493f203e79ba94890052
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agodpdk: fix advance header for ip4-no-checksum 32/4432/1
Sergio Gonzalez Monroy [Tue, 20 Dec 2016 15:20:32 +0000 (15:20 +0000)]
dpdk: fix advance header for ip4-no-checksum

Fixes: 78eeef747b19
    ("Improve dpdk-input node to handle drivers not setting mbuf PTYPE")

Change-Id: I94addcec2bf3097ab047e8d7e957bc983eab9add
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
7 years agoRemove RPATH from binaries before creating .deb and .rpm packages 93/4393/6
Damjan Marion [Mon, 19 Dec 2016 18:08:11 +0000 (19:08 +0100)]
Remove RPATH from binaries before creating .deb and .rpm packages

Change-Id: I684d4eabac03e049524204864c985e14eea8d92e
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoAdd missing variable definitions to python VPP API 13/4413/2
Juraj Sloboda [Tue, 20 Dec 2016 12:07:39 +0000 (13:07 +0100)]
Add missing variable definitions to python VPP API

Change-Id: I03eee75fb8575ced6f126fa32c778850a570f0ea
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
7 years agoImprove dpdk-input node to handle drivers not setting mbuf PTYPE 76/4376/6
John Lo [Sat, 17 Dec 2016 08:09:58 +0000 (03:09 -0500)]
Improve dpdk-input node to handle drivers not setting mbuf PTYPE

For drivers that do not provide dpdk rte_mbuf PTYPE information,
check ethernet header Etype to acccelerate IP4 and IP6 forwarding
path. Update packet trace for dpdk-input node to provide more info
from DPDK rte_mbuf offload flags and packet types.

Change-Id: I207158797a155305314d002726c0af97b8cb0eb3
Signed-off-by: John Lo <loj@cisco.com>
7 years agoDeclare variables as external 89/4389/4
Damjan Marion [Mon, 19 Dec 2016 15:28:36 +0000 (16:28 +0100)]
Declare variables as external

non-external declarations in header files are generating
multiple empty definitions of the same symbol.

Change-Id: I7f3933404f79d08579468d0052c106731b57507c
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agol2input: remove unused code and reduce number of branches 87/4387/2
Damjan Marion [Mon, 19 Dec 2016 12:56:51 +0000 (13:56 +0100)]
l2input: remove unused code and reduce number of branches

Change-Id: Ic37b5740285dc0020b9fdb0d8c98bc304cee7aa8
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agomake test: work around timing issue in bfd test 67/4267/2
Klement Sekera [Tue, 13 Dec 2016 07:14:07 +0000 (08:14 +0100)]
make test: work around timing issue in bfd test

Change-Id: I3f70091950b9288670969e54eadd35ac733905e4
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agosnat: fix port allocation 38/4338/2
Matus Fabian [Thu, 15 Dec 2016 13:30:37 +0000 (05:30 -0800)]
snat: fix port allocation

Change-Id: Id6aeb4d19476934dfaa354562aa1703650bd037f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agoPython API: Add back support for old-style VLA, e.g. mask[0] 77/4377/7
Ole Troan [Sun, 18 Dec 2016 12:15:08 +0000 (13:15 +0100)]
Python API: Add back support for old-style VLA, e.g. mask[0]

Change-Id: I5be6bfe522e5ea93934f0ddf75d4e4707376dc0c
Signed-off-by: Ole Troan <ot@cisco.com>
7 years agomake test: filter IPv6 RAs out by default 81/4381/2
Klement Sekera [Sun, 18 Dec 2016 14:49:54 +0000 (15:49 +0100)]
make test: filter IPv6 RAs out by default

Most of the test cases are not interested in IPv6 Router Alerts,
so change the default behaviour of get_capture to filter out
these packets with the possibility of turning the filtering off,
for test cases which are interested in the RAs.

Change-Id: I0b5ee685f82c49cd32c6d6a4638eb3493d2988fc
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoioam: export plugin - genarate java bindings 57/4257/3
Sagar Srivastav [Tue, 13 Dec 2016 06:08:20 +0000 (22:08 -0800)]
ioam: export plugin - genarate java bindings

Change-Id: Ia0b81418a2171464ca4b4753afa6898c0c9ee626
Signed-off-by: Sagar Srivastav <sagsriva@cisco.com>
7 years agodpdk: fix IV physical address in esp-decrypt 40/4340/2
Sergio Gonzalez Monroy [Thu, 15 Dec 2016 15:56:12 +0000 (15:56 +0000)]
dpdk: fix IV physical address in esp-decrypt

Change-Id: I96b74aa82231038c54e9d07b54cc16fc53efe0be
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
7 years agodpdk: fix dpdk-crypto-input packet trace 39/4339/2
Sergio Gonzalez Monroy [Thu, 15 Dec 2016 15:42:41 +0000 (15:42 +0000)]
dpdk: fix dpdk-crypto-input packet trace

Change-Id: Ic8073215222e4800c62ac42738e73d5e990806ef
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
7 years agoUpdate CSIT tests 161211 -> 161218 79/4379/2
Jan Gelety [Mon, 19 Dec 2016 09:01:55 +0000 (10:01 +0100)]
Update CSIT tests 161211 -> 161218

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

Change-Id: I2942502803e1fc6edaf35fc08dee4e7848594f96
Signed-off-by: Jan Gelety <jgelety@cisco.com>
7 years agodpdk backward compatibility 88/4388/1
Christophe Fontaine [Mon, 19 Dec 2016 13:44:51 +0000 (14:44 +0100)]
dpdk backward compatibility

When building with an older dpdk version, the build fails
as the function 'rte_delay_us_override_cb' is not used.

Change-Id: I4eb5d1c5b357331cf020efd8c6492dd8c82710ee
Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
7 years agoVPP-563: Fix inter plugin dependency in ioam vxlan-gpe 74/4374/3
Shwetha Bhandari [Sat, 17 Dec 2016 06:26:29 +0000 (11:56 +0530)]
VPP-563: Fix inter plugin dependency in ioam vxlan-gpe

Change-Id: I31684b3844cd02ba0d0b046d621db59ecac3992d
Signed-off-by: Shwetha Bhandari <shwethab@cisco.com>
7 years agoCoverity fixes, VPP-486 66/4366/2
Dave Barach [Fri, 16 Dec 2016 14:20:04 +0000 (09:20 -0500)]
Coverity fixes, VPP-486

Change-Id: I8906bb983128e8f6e2664e367d2015325c1125fb
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoFix dpdk-input check for VLAN packets including VLAN strip case 55/4355/3
John Lo [Fri, 16 Dec 2016 04:25:04 +0000 (23:25 -0500)]
Fix dpdk-input check for VLAN packets including VLAN strip case

For DPDK-16.11 or later, use packet_type to check packets with VLAN
tags. For earlier versions of DPDK, keep using ol_flags but include
PKT_RX_VLAN_STRIPPED bit as part of the VLAN tags check.

Change-Id: Ic4ad8f04e44658dc0a99de0232fdc949cfa13e93
Signed-off-by: John Lo <loj@cisco.com>
7 years agomake test: improve robustness and performance 22/4222/4
Klement Sekera [Mon, 12 Dec 2016 07:36:58 +0000 (08:36 +0100)]
make test: improve robustness and performance

Introduce an API which asserts empty capture for interface.
Throw exception in old API if the capture does not exist, thus
making it clear if the test expects packets to arrive or not.
Improve performance by not doing sleeps after starting the packet
generator, rather lazily deleting captures when needed.
Fix wrong usage of packet.show() in various tests.

Change-Id: I456cb23316eef99b3f35f80344fe595c4db9a21c
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoExpand ethernet-input node speed-path for non-L2 paths 24/4324/2
John Lo [Wed, 14 Dec 2016 20:42:45 +0000 (15:42 -0500)]
Expand ethernet-input node speed-path for non-L2 paths

Improve ethernet-input speed path for untagged packets to also handle
L3 and other forwarding paths. In the IP4 forwarding path for untagged
IP4 packets, per packet clock count in ethernet-input node is reduced
to ~14 clocks from ~43 clocks.

Change-Id: I8e6f121820e056d6085dff3eb95d6913fc422f99
Signed-off-by: John Lo <loj@cisco.com>
7 years agoLISP: Fix several control plane message issues, VPP-558 97/4197/4
Filip Tehlar [Fri, 9 Dec 2016 12:52:38 +0000 (13:52 +0100)]
LISP: Fix several control plane message issues, VPP-558

* Fix TTL in map-regster message (defaults to 15 minutes)
* Handle multiple local EID registration in a for loop
* Parse multiple records in map-notifies, not only one
* Parse map-notify in the worker thread instead of the main thread

Change-Id: Ife68c2227bc5abf14c19f1a948a88d34de3b4af9
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agoFix NPE in JNI while handling int arrays, VPP-559 25/4325/1
Marek Gradzki [Thu, 15 Dec 2016 06:30:09 +0000 (07:30 +0100)]
Fix NPE in JNI while handling int arrays, VPP-559

Change-Id: Idc3760b65e62cfa5d37dd7379e35331b7f95f913
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
7 years agoPing response in a VRF context uses correct FIB for response 78/4278/2
Neale Ranns [Wed, 14 Dec 2016 12:31:29 +0000 (13:31 +0100)]
Ping response in a VRF context uses correct FIB for response

Change-Id: I3b626a1fb9d74ebc609ded14c16c5e3d5a1655ab
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoIP and MPLS route debug CLI fixes 53/4253/2
Neale Ranns [Mon, 12 Dec 2016 19:35:58 +0000 (19:35 +0000)]
IP and MPLS route debug CLI fixes

Change-Id: I1b61f36c88308c1bcf9a61a87843d1fea457d8fe
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agomake test: improve virtualenv patching process 21/4221/2
Klement Sekera [Mon, 12 Dec 2016 08:20:50 +0000 (09:20 +0100)]
make test: improve virtualenv patching process

Change-Id: I5041bdc733c4da633d83f60f7db7747b4d0b8894
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoFix coverity build-break, VPP-255 70/4270/1
Dave Barach [Tue, 13 Dec 2016 23:22:32 +0000 (18:22 -0500)]
Fix coverity build-break, VPP-255

Change-Id: I6a68f2ba5e7a5c76ac4e6b3e8f7cf695b1d66c54
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agovpp_papi: Add help() support for python interactive mode 96/4196/3
Christophe Fontaine [Fri, 9 Dec 2016 14:53:47 +0000 (15:53 +0100)]
vpp_papi: Add help() support for python interactive mode

The python api 1.3 removed the ability to call 'help' in interactive
mode.

example:
> help(vpp.sw_interface_span_enable_disable)
Help on function sw_interface_span_enable_disable in module vpp_papi.vpp_papi:

sw_interface_span_enable_disable(**kwargs)
    u16 _vl_msg_id, u32 client_index, u32 context, u32 sw_if_index_from, u32 sw_if_index_to, u8 state

Change-Id: Iea1944fdc862482490174ff966592cf3c8208a98
Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
7 years agoLISP: Move parsing of LISP map-reply to worker thread, VPP-554 25/4125/7
Filip Tehlar [Tue, 6 Dec 2016 09:31:57 +0000 (10:31 +0100)]
LISP: Move parsing of LISP map-reply to worker thread, VPP-554

Change-Id: I2c3093068b97bb3ed10e1ecb067fc297013d063c
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agoACL: Install ACL JSON in install directory. 20/4220/4
Ole Troan [Mon, 12 Dec 2016 15:02:59 +0000 (15:02 +0000)]
ACL: Install ACL JSON in install directory.

Change-Id: I3f7dbd23114acf37322f97da80be746616a9d95d
Signed-off-by: Ole Troan <ot@cisco.com>
7 years agomake test: Use VXLAN built in scapy 2.3.3 94/4194/4
Matej Klotton [Fri, 9 Dec 2016 14:05:46 +0000 (15:05 +0100)]
make test: Use VXLAN built in scapy 2.3.3

- fix documentation issues.
- fix mpls test.

Change-Id: Ieef6b4b5e4aca99e89bd03e45a991be89d42adba
Signed-off-by: Matej Klotton <mklotton@cisco.com>
7 years agoUpdate CSIT tests 161204 -> 161211 11/4211/2
Jan Gelety [Mon, 12 Dec 2016 09:16:03 +0000 (10:16 +0100)]
Update CSIT tests 161204 -> 161211

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

Change-Id: I141dad311139d2b819352fab6038d440f76c7fc2
Signed-off-by: Jan Gelety <jgelety@cisco.com>
7 years agosnat: Hairpinning (VPP-444) 18/4218/2
Matus Fabian [Mon, 12 Dec 2016 12:30:39 +0000 (04:30 -0800)]
snat: Hairpinning (VPP-444)

Change-Id: I73881ef32d547852da96e77402a1758f37e812d5
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agomake test: remove unneeded print 10/4210/2
Klement Sekera [Mon, 12 Dec 2016 01:55:06 +0000 (02:55 +0100)]
make test: remove unneeded print

Change-Id: I99242486371cea230e72974a7fc8768ffee9af62
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoip4: perf optimization in the ip4-input node 02/4202/6
Damjan Marion [Fri, 9 Dec 2016 11:21:27 +0000 (03:21 -0800)]
ip4: perf optimization in the ip4-input node

Change-Id: I9ddbbf8ce0d7307b9eb82ccd0c51f84e479ffd23
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoipsec: go straight to lookup after esp encrypt 14/4214/2
Sergio Gonzalez Monroy [Mon, 12 Dec 2016 10:37:49 +0000 (10:37 +0000)]
ipsec: go straight to lookup after esp encrypt

Currently, IPsec tunnel traffic goes to ip4-input/ip6-input after esp-encrypt.
It is not necessary to check that the new IP header is valid (if it is not
valid then we have otehr issues).

Instead, just send packets straight to ip4-lookup/ip6-lookup after esp-encrypt.

Change-Id: I5e35d500cb0f33f418f8554ed1f4390f02b6647d
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
7 years agoFix for PAPI async call registration 13/4213/2
Wojciech Dec [Mon, 12 Dec 2016 10:32:25 +0000 (11:32 +0100)]
Fix for PAPI async call registration

Introduce async API call registration

Change-Id: Iccc89eca1b6e7dcce96a8e7bc5da80d9abc363fc
Signed-off-by: Wojciech Dec <wdec@cisco.com>
7 years agoMPLS Nodes Dual Loop 05/4205/2
Neale Ranns [Sat, 10 Dec 2016 21:08:09 +0000 (21:08 +0000)]
MPLS Nodes Dual Loop

Change-Id: Ic54d4cb9dec8e91446b9b4d2b40ed69a14bd4355
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoVRF imported FIB entry should inherit the flags from the export entry. 06/4206/2
Neale Ranns [Sat, 10 Dec 2016 21:59:14 +0000 (21:59 +0000)]
VRF imported FIB entry should inherit the flags from the export entry.

Change-Id: Ie2c3d62a468315390ef2c4314a73cff0f6d3cdaf
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoioam: trace plugin read api fix 04/4204/1
Sagar Srivastav [Sat, 10 Dec 2016 12:30:59 +0000 (04:30 -0800)]
ioam: trace plugin read api fix

-fix verify job failures

Change-Id: I0756f4b6577d58598702185ebe6f8ed9db23b0fa
Signed-off-by: Sagar Srivastav <sagsriva@cisco.com>
7 years agoip4: perf optimization in the ip4-rewrite node 01/4201/4
Damjan Marion [Fri, 9 Dec 2016 17:52:05 +0000 (18:52 +0100)]
ip4: perf optimization in the ip4-rewrite node

This change shows around 7% improvement in ip4 path
when ip4-output features are not used.

Change-Id: I81c1c4c38c99fff0ad8270d3c0df907acf1d8c58
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agopython api rpm packaging - json files are not executables 92/4192/2
Gabriel Ganne [Fri, 9 Dec 2016 09:38:58 +0000 (10:38 +0100)]
python api rpm packaging - json files are not executables

Change-Id: If8231aad2b95cf9e06cd8c95978e6a3128cdf084
Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>
7 years agoioam: pot plugin - pot profile read API 25/4025/6
Sagar Srivastav [Wed, 30 Nov 2016 03:39:07 +0000 (19:39 -0800)]
ioam: pot plugin - pot profile read API

Addition of read API to ioam-pot plugin which returns the current
pot profile(s) configured

Change-Id: I188e53811391e053860009dde3719612a2446521
Signed-off-by: Sagar Srivastav <sagsriva@cisco.com>
7 years agoioam:trace plugin - trace profile read API 83/3883/7
Sagar Srivastav [Mon, 21 Nov 2016 04:06:02 +0000 (20:06 -0800)]
ioam:trace plugin - trace profile read API

Addition of read API to ioam-trace plugin which returns the current
trace profile configured

Change-Id: Ibe2baf0f60fb2a74ddc140747b53128aba975aaa
Signed-off-by: Sagar Srivastav <sagsriva@cisco.com>
7 years agoAdd FIB unit test to 'make test' 84/4184/3
Neale Ranns [Thu, 8 Dec 2016 19:48:11 +0000 (19:48 +0000)]
Add FIB unit test to 'make test'

Change-Id: I57126416f57649768f3601cd715c7f5f4b9b9fad
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoBFD: handle timing wheel prematurely firing events 98/4198/3
Klement Sekera [Thu, 8 Dec 2016 04:19:14 +0000 (05:19 +0100)]
BFD: handle timing wheel prematurely firing events

Improve handling of timeouts. Add a workaround for when timing wheel
fires an event a tiny amount of time before it should actually be
fired.  Don't delete unneeded events at all from timing wheel, instead
ignoring unexpected events. Enable the skipped BFD test, which passes
now.

Change-Id: I6ffd4fc0ba7a049ffe63bb0e5290641a7300dd6f
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoAdd make test code coverage reporting using gcov 57/3857/3
Juraj Sloboda [Wed, 16 Nov 2016 18:50:24 +0000 (19:50 +0100)]
Add make test code coverage reporting using gcov

Change-Id: Ia8247841fdbe76e1d888aab49ae213b4216af273
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
7 years agoCoding standards cleanup for vnet/vnet/ip, VPP-255 95/4195/3
Dave Barach [Fri, 9 Dec 2016 14:52:16 +0000 (09:52 -0500)]
Coding standards cleanup for vnet/vnet/ip, VPP-255

Change-Id: I12892fa571cc50e0541d6463a8b68e1b618edd9f
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoVPP-547: Fix for co-existence of HbH and RH header in Segment routing: 50/2850/21
Shwetha [Tue, 13 Sep 2016 10:51:00 +0000 (11:51 +0100)]
VPP-547: Fix for co-existence of HbH and RH header in Segment routing:

1. sr-rewrite - SR insertion in v6 : SR RH is inserted immediately after v6 header
but if hbh header is present as per RFC2460 it should immediately follow
v6 header. This is fixed.
2. sr-local : v6 packet destined to a sr segment is received if hbh is present
it is not handed over to sr-local for processing. fixed ip6-local handling to
skip hbh as there is no register handler for hbh for now.
3. sr-replicate - update in dual of sr_rewrite to handle replicate, fixes in
sr-replicate to handle presence of hbh header

Change-Id: I034523a42d2fedf97134761f956ab534babb8b36
Signed-off-by: Shwetha <shwethab@cisco.com>
7 years agomake test: FIB add/update/delete - ip4 routes 51/4151/4
Matej Klotton [Wed, 7 Dec 2016 14:09:13 +0000 (15:09 +0100)]
make test: FIB add/update/delete - ip4 routes

- JIRA:CSIT-483

Change-Id: Idb4c5bd7a234bc975f3380ece58c0e8d4bfdafd9
Signed-off-by: Matej Klotton <mklotton@cisco.com>
7 years agoWhen waiting for an IPv6 response, filter non-ND packets 83/4183/3
Neale Ranns [Thu, 8 Dec 2016 20:05:33 +0000 (20:05 +0000)]
When waiting for an IPv6 response, filter non-ND packets

Change-Id: Ia5f5e00db84022bb7ee89a1b9d036fffa734295a
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoDPDK HQoS: enable vpp control plane thread connection to hqos thread 79/4179/2
Jasvinder Singh [Thu, 8 Dec 2016 13:52:47 +0000 (13:52 +0000)]
DPDK HQoS: enable vpp control plane thread connection to hqos thread

The vpp control plane thread generates different types of packets such as ARP,
DHCP client, IPv6 RA, etc. which need to go through HQoS thread associated
with the output interfaces. Therefore, this patch enables vpp main thread
connection with the HQoS thread through dedicated SWQ.

Change-Id: Idcb759546d4bcd9b40beedaec4f12b29baae3e40
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
7 years agoBFD: fix timing in the main loop 81/4181/2
Klement Sekera [Thu, 8 Dec 2016 09:16:41 +0000 (10:16 +0100)]
BFD: fix timing in the main loop

Properly wakeup the main process loop only when necessary to avoid
missed events. Improve BFD unit test reliability and speed. Add
timestamps to logs and replace Queue with more efficient deque.

Change-Id: I01255a02057d3146917b43b669ccdc74f31ef0c8
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoAdd extra validation for VXLAN packets and tunnels 85/4185/3
John Lo [Thu, 8 Dec 2016 21:10:02 +0000 (16:10 -0500)]
Add extra validation for VXLAN packets and tunnels

- On VXLAN packet decap, validate its DIP against VXLAN tunnel.
- Add extra logic to validate and handle creation of multicast
  VXLAN tunnels.

Change-Id: I6abdddd7be4cd9f1bcfc88d9970ba681fdd72f7c
Signed-off-by: John Lo <loj@cisco.com>
7 years agoVPP-470: Introduce VxLAN-GPE as transport for iOAM. 79/3379/11
Vengada Govindan [Wed, 12 Oct 2016 12:54:09 +0000 (05:54 -0700)]
VPP-470: Introduce VxLAN-GPE as transport for iOAM.

See Jira ticket for more details
- New plugins created to (a) Add VxLAN-GPE as transport (b) Provide export infra for
  VxLAN-GPE.

Change-Id: Ife50c7434f53d17a4783062310f73d063d53494c
Signed-off-by: Vengada Govindan <venggovi@cisco.com>
7 years agoacl: make MACIP ACL apply/unapply/delete logic more robust 82/4182/2
Andrew Yourtchenko [Thu, 8 Dec 2016 19:33:19 +0000 (20:33 +0100)]
acl: make MACIP ACL apply/unapply/delete logic more robust

1. vnet_set_input_acl_intfc expects currently applied table ids to
   remove them properly, fixed that.
2. check if the interface has MACIP ACL applied before unapplying it
3. if applying MACIP ACL to interface that has one already applied,
   unapply that first.

These changes required also swapping the order of the add/del functions.

Change-Id: I179490371507b07e9dd8852000954156c318d98c
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
7 years agovpp-python-api packaging - use easy_install to install the python api 31/4131/4
Gabriel Ganne [Tue, 6 Dec 2016 18:12:49 +0000 (19:12 +0100)]
vpp-python-api packaging - use easy_install to install the python api

adds python-setuptools as dependency

Change-Id: I186f5d4353ee7667377fb6b0486d16a1571bdf09
Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>
7 years agoAdapt LuaJIT VPP library and a few examples to API with per-message CRC and JSON 74/4174/3
Andrew Yourtchenko [Thu, 8 Dec 2016 14:03:55 +0000 (14:03 +0000)]
Adapt LuaJIT VPP library and a few examples to API with per-message CRC and JSON

Change-Id: Ibb886e418d338588e61c7bb6cb57f2093c7c5062
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
7 years agoFix incorrect creation of classifier entries for macip ACL 80/4180/2
Andrew Yourtchenko [Thu, 8 Dec 2016 15:43:01 +0000 (16:43 +0100)]
Fix incorrect creation of classifier entries for macip ACL

The is_ip6 flag was incorrectly set during classifier
table creation phase, which intermittently caused the mismatch
between the mask value and the match values, resulting
in dropped packets. Fix that.

Also get rid of the magic numbers in that part of the code.

Change-Id: I0606561e6b07e70a1aa733746b56ed0e91752c94
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
7 years agoBFD: improve ip header handling, fix assert 73/4173/4
Klement Sekera [Thu, 8 Dec 2016 04:03:32 +0000 (05:03 +0100)]
BFD: improve ip header handling, fix assert

Instead of storing a pointer, store an offset within vlib_buffer marking
the start of the ip header (similar to storing start of ethernet
header). Handle negative timeout in the bfd process main loop.

Change-Id: I05a1ff3ac41da5bdc3b2ac6f9e03b3241994688b
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoFix bug in code for setting dpdk interface descriptors (VPP-552) 72/4172/1
Juraj Sloboda [Thu, 8 Dec 2016 10:51:53 +0000 (11:51 +0100)]
Fix bug in code for setting dpdk interface descriptors (VPP-552)

Change-Id: I6401b745eeb402ec980e86dc179b774d341c4764
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
7 years agoioam: pot plugin - generate java bindings for ioam-pot plugin 84/3884/7
Sagar Srivastav [Mon, 21 Nov 2016 04:31:49 +0000 (20:31 -0800)]
ioam: pot plugin - generate java bindings for ioam-pot plugin

Change-Id: I078bbc9ea495b395ade499fe3ad7d98dd766f2be
Signed-off-by: Sagar Srivastav <sagsriva@cisco.com>