vpp.git
7 years agoBump to 17.01.1 Release 97/5597/1 v17.01.1
Damjan Marion [Thu, 2 Mar 2017 19:22:13 +0000 (20:22 +0100)]
Bump to 17.01.1 Release

Change-Id: I023400208df277df6713303452e7089720792214
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoEnsure sw_if_index to node mapping for L2 output path is only done via l2output_main... 88/5588/3
Andrew Yourtchenko [Thu, 2 Mar 2017 12:23:15 +0000 (13:23 +0100)]
Ensure sw_if_index to node mapping for L2 output path is only done via l2output_main.next_nodes

Before this commit, several output features that happen to be the
last in the list of features to be executed, send the packets directly
to <interfaceName>-output. To do this, they use l2_output_dispatch,
which builds a list of sw_if_index to next index mappings.

When interfaces are deleted and the new interfaces are created,
these mappings become stale, and cause the packets being sent to wrong
interface output nodes.

This patch (thanks John Lo for the brilliant idea!) adds a feature node "output",
whose sole purpose is dispatching the packets to the correct interface output
nodes. To do that, it uses the l2output_main.next_nodes, which is already
taken care of for the case of the sw_if_index reuse, so this makes the dependent
features all work correctly.

Since this changes the packet path, for the features that were always the last ones
it has triggered a side problem of the output feat_next_node_index not being properly
initalized. These two users are l2-output-classify node and the output nodes belonging
to the acl-plugin.

For the first one the less invasive fix is just to initialize that field.
For the acl-plugin nodes, rewrite the affected part of the code to use
feat_bitmap_get_next_node_index since this is essentially what the conditional
in l2_output_dispatch does, and fix the compiler warnings generated.

Change-Id: If44457b1c1c3e197b78470c08555720d0872c6e5
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
7 years agoClean up the L2 interface configs when creating the interfaces 43/5543/2
Andrew Yourtchenko [Mon, 27 Feb 2017 20:00:02 +0000 (21:00 +0100)]
Clean up the L2 interface configs when creating the interfaces

Without the cleanup in the L2 input/output configs,
the creation of an interface with sw_if_index belonging
to a previously deleted interface will use the stale
vlan tag push-pop configuration from that interface,
resulting in loss of connectivity when the host receives
tagged packets but expects untagged ones.

Change-Id: Ic186390ef3a41277f57847ed2962848b98379092
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
7 years agoUpdate default Vagrant box to Ubuntu 16.04, VPP-616 04/5104/2
Dave Wallace [Mon, 13 Feb 2017 02:37:30 +0000 (21:37 -0500)]
Update default Vagrant box to Ubuntu 16.04, VPP-616

- Hand merge of ed0e49c5 and 46f133d5 into stable/1701

Change-Id: Ib7260f07d22e546c6a92fb713b61b7e5edf247c9
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
7 years agoPlugin Makefiles did not install headers - VPP-631 67/5067/2
Keith Burns (alagalah) [Tue, 7 Feb 2017 18:47:27 +0000 (10:47 -0800)]
Plugin Makefiles did not install headers - VPP-631

Change-Id: I9f6fd1a63a9dfa2d2aa386cf0a3c2479525bbcec
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
7 years agovhost-user: fix missing speculative enqueue unwind 22/5022/1
Steven [Fri, 3 Feb 2017 17:30:37 +0000 (09:30 -0800)]
vhost-user: fix missing speculative enqueue unwind

Running trex in a VM with a bad config, trex sent a bogus pack from
the VM to the Virtual interface. It caused a crash.

Change-Id: I64d0197b444265553ab4c24f21e6a962e89cb587
Signed-off-by: Steven <sluong@cisco.com>
7 years agoFix make test scapy python patch issue, VPP-615 63/4963/2
Dave Wallace [Fri, 27 Jan 2017 02:07:10 +0000 (21:07 -0500)]
Fix make test scapy python patch issue, VPP-615

Change-Id: I1e6798905f0049c793224a2c880f3b2cfadcf1e7
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
(cherry picked from commit 6f692d6e5a8ffc920a728372ef773199bc5466c0)

7 years agoFix issue with apt-get update not being run on Ubuntu 16.04 94/4994/1
Ed Warnicke [Thu, 2 Feb 2017 00:08:51 +0000 (16:08 -0800)]
Fix issue with apt-get update not being run on Ubuntu 16.04

Change-Id: Ic05b86c4ea9b62afbf03a2a36c4a2ef45f5c140b
Signed-off-by: Ed Warnicke <eaw@cisco.com>
(cherry picked from commit eb82e7f27c6f8fe84838e6e2914579825c455632)

7 years agospan: tx functionality 93/4893/1
Pavel Kotucek [Tue, 24 Jan 2017 07:26:31 +0000 (08:26 +0100)]
span: tx functionality

span-output (tx) was enabled on wrong arc_name

Change-Id: Ic21dfaec35c975de79abec66421b353637ac9394
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoFix PAPI async response 46/4846/1
Wojciech Dec [Tue, 24 Jan 2017 13:18:12 +0000 (14:18 +0100)]
Fix PAPI async response

Previous changes forgot to return the decoded result

Change-Id: I4eb27802eb2672532d856d9b9671ef806374bcd0
Signed-off-by: Wojciech Dec <wdec@cisco.com>
7 years agoFix plugin version numbers 10/4810/1 v17.01
Damjan Marion [Fri, 20 Jan 2017 20:58:02 +0000 (21:58 +0100)]
Fix plugin version numbers

Change-Id: Ie485e9dfa04747b5e4ba93fdeabc5802dc001d31
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agovpp-python-api deb packaging - use easy_install to install the python api 92/4792/2
Gabriel Ganne [Tue, 13 Dec 2016 16:00:02 +0000 (17:00 +0100)]
vpp-python-api deb packaging - use easy_install to install the python api

(cherry picked from commit 5a68debd8173a487dbd67b3e574d962308c91bcc)

Change-Id: Iabad73d6092b4561ba9d4d22a057bb5871d850a6
Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>
7 years agoFix issue in rpm versioning for release builds 09/4809/1
Damjan Marion [Fri, 20 Jan 2017 18:09:22 +0000 (19:09 +0100)]
Fix issue in rpm versioning for release builds

Change-Id: I851d472c0838d56ca571f9f9e3ca412ac2107c4e
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoRelease notes for release 17.01 79/4779/4
Damjan Marion [Thu, 19 Jan 2017 12:28:17 +0000 (13:28 +0100)]
Release notes for release 17.01

Change-Id: I99c0898bb0cb99e1b2a28463245031e74afd401b
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoPython API: Missing locking of results data structure. 96/4796/1
Ole Troan [Thu, 19 Jan 2017 08:44:44 +0000 (09:44 +0100)]
Python API: Missing locking of results data structure.

The wrong assumption that the GIL combined with CPython's "mostly"
thread safe assurance does not hold. The combination of a slow
event handler for notification and calling the API at the same
time let to contention on the results data structure.

Added suitable locking.

Also added an atexit() to attempt a VPP disconnect on shutdown.

Also: lots more comments, docstrings, duplicated code removed.
Some of the problem here was a disagreement between caller
and author as to how the API should be used; the comments should
help.

Change-Id: I0cb7d0026db660ec141425c5ad474f14bacea36e
Signed-off-by: Ole Troan <ot@cisco.com>
Co-Authored-By: Ian Wells <iawells@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
7 years agoLISP: Fix fwd adding, VPP-607 55/4755/2
Filip Tehlar [Wed, 18 Jan 2017 13:07:03 +0000 (14:07 +0100)]
LISP: Fix fwd adding, VPP-607

Change-Id: Ie48209ba6d9aab0c5cfbd7b3cce4114cf88f952c
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agoFix crash on deleting activated vhost-user - VPP-603 62/4762/2
Wojciech Dec [Wed, 18 Jan 2017 16:37:15 +0000 (17:37 +0100)]
Fix crash on deleting activated vhost-user - VPP-603

Vhost-user pool getting freed prematurely

Change-Id: I90b70889d2e5a01203dc7679583b7c9eff65a374
Signed-off-by: Wojciech Dec <wdec@cisco.com>
7 years agoUpdate CSIT tests 161218 -> rls1701-170115 33/4733/1
Jan Gelety [Tue, 17 Jan 2017 16:43:38 +0000 (17:43 +0100)]
Update CSIT tests 161218 -> rls1701-170115

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

Change-Id: I00c83fa1db7006f600207306d320628ed3075854
Signed-off-by: Jan Gelety <jgelety@cisco.com>
7 years agoDHCPv6 Proxy; fix crash when DHCPv6 prxy is not configured and client packet is received 08/4708/2
Neale Ranns [Mon, 16 Jan 2017 17:09:40 +0000 (18:09 +0100)]
DHCPv6 Proxy; fix crash when DHCPv6 prxy is not configured and client packet is received

Change-Id: I0250acdee803545b8923549e2099863a95544691
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
7 years agoAccount for pool realloc when importing FIB entries during VRF export 30/4630/1
Neale Ranns [Tue, 10 Jan 2017 17:13:41 +0000 (18:13 +0100)]
Account for pool realloc when importing FIB entries during VRF export

Change-Id: I8ec6d53fa9c0790f85802663f70a6b3630239f8d
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
7 years agoFix ARP on unnumbered interfaces (VPP-583) 06/4606/3
Neale Ranns [Mon, 9 Jan 2017 13:33:38 +0000 (14:33 +0100)]
Fix ARP on unnumbered interfaces (VPP-583)

Change-Id: Iea1e2c31c016c3bb6344f73173d082a2c548ffee
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
7 years agoFix disable ip6 interface (VPP-584) 09/4609/1
Neale Ranns [Mon, 9 Jan 2017 13:54:36 +0000 (14:54 +0100)]
Fix disable ip6 interface (VPP-584)

Change-Id: I73e966f9afe866e7215fc2e57daecc4531381d92
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
7 years agoAdded basic tests for multicast vxlan tunnels 89/4589/2
Eyal Bari [Tue, 20 Dec 2016 16:36:46 +0000 (18:36 +0200)]
Added basic tests for multicast vxlan tunnels

unicast flood test - test headend replication
multicast flood test - test flooding when a multicast vxlan tunnel is present in BD
multicast receive test - verify that multicast packet are received on their
   corresponding unicast tunnels and that unmatched packets are dropped

all tests run after adding and removing 200 mcast tunnels to test stability

Change-Id: Ia05108c39ac35096a5b633cf52480a9ba87c14df
Signed-off-by: Eyal Bari <ebari@cisco.com>
(cherry picked from commit c4aaee11468aa5ed7af01d0747d912493cff002d)

7 years agoFix uninitialized stack local, VPP-581 74/4574/1
Dave Barach [Thu, 5 Jan 2017 15:01:41 +0000 (10:01 -0500)]
Fix uninitialized stack local, VPP-581

Sporadically messes up the client message allocation ring, by setting
c->message_bounce[msg_id] non-zero. A day-1 bug, made blatantly
obvious by the python API language binding for no particular reason.

Change-Id: I11084dd884622e7b44bdabb922466c4d07138235
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoFIB memory leaks (VPP-578) 59/4559/2 v17.01-rc2
Neale Ranns [Wed, 4 Jan 2017 12:41:21 +0000 (12:41 +0000)]
FIB memory leaks (VPP-578)

1) vec_free the fe_srcs of a fib_entry_t when the fib_entry_t is itself reed
2) in the load-balance fixup if a drop path is required add this to a new vector of next-hops 'fixed_nhs'. This vector is managed by the load-balance function. The caller continues to manage its own set. The function is now const implying that the caller is safe to assume the next-hops do not change.

Change-Id: I0f29203ee16b9a270f40edf237488fa99ba65320
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agovxlan fix mcast tunnel delete 43/4543/1
Eyal Bari [Mon, 2 Jan 2017 12:29:21 +0000 (14:29 +0200)]
vxlan fix mcast tunnel delete

Change-Id: I15f7ff1e957718e808bfad811895deaacb85d2a3
Signed-off-by: Eyal Bari <ebari@cisco.com>
7 years agoLISP: fix EID addition (VPP-577) 34/4534/3
Filip Tehlar [Tue, 3 Jan 2017 14:44:21 +0000 (15:44 +0100)]
LISP: fix EID addition (VPP-577)

Change-Id: I32f61ab89598a7911df3d0d8f45de1302af8aa6a
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agoLISP: fix fwd entry addition (VPP-576) 32/4532/3
Filip Tehlar [Thu, 15 Dec 2016 13:04:02 +0000 (14:04 +0100)]
LISP: fix fwd entry addition (VPP-576)

Change-Id: Ibdc9ad21cc53cf0a6d571a3f913038d61d9282a1
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agoVPP-574: fix the MACIP ACLs blocking ARP traffic 30/4530/2
Andrew Yourtchenko [Tue, 3 Jan 2017 13:28:26 +0000 (13:28 +0000)]
VPP-574: fix the MACIP ACLs blocking ARP traffic

The initial assumption was that the MACIP ACL classifier tables would be applied
after the classification of the traffic based on the ethertype, it turned out
to be untrue, but the fix in the code did not happen.

Add the ethertype to the mask, and the logic to create the ACL classifier tables
permitting the ARP ethertype with the correct payload.

Change-Id: I70236a8a723970c662ddaef6bc9fce93d2e630c1
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
7 years agoVPP-574: fix VPP hang during security group configuration on a suspended VM 26/4526/2
Andrew Yourtchenko [Tue, 3 Jan 2017 12:44:15 +0000 (12:44 +0000)]
VPP-574: fix VPP hang during security group configuration on a suspended VM

The unix connect() in vhost-user driver in VPP is blocking, and
a non-expedient accept() on the other side causes the entire VPP to hang.

Solution: set the nonblocking flag for the socket fd before calling
connect(), and set the socket back to blocking after the accept() succeeds.

Change-Id: I2d535ea9b95a92922d305d79a8d860062c95faf4
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
7 years agoSNAT: fix out2in ICMP worker lookup 28/4528/1
Matus Fabian [Tue, 3 Jan 2017 13:07:54 +0000 (05:07 -0800)]
SNAT: fix out2in ICMP worker lookup

Change-Id: Ifce17a450a06c26670d474b0f774f2504843f221
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agoioam: fix Coverity warning (VPP-570) 98/4498/2
Vengada [Mon, 2 Jan 2017 09:02:09 +0000 (01:02 -0800)]
ioam: fix Coverity warning (VPP-570)

Fix Coverity warning of uninitialized variable.
Initialize outer_fib_index to zero (vxlan_gpe_test.c)

Change-Id: If39d48c3906784c43c5af3e9e01ed9a5d5631d6e
Signed-off-by: Vengada <venggovi@cisco.com>
7 years agoMerging all ioam plugin libraries to single library 77/4477/2
AkshayaNadahalli [Fri, 23 Dec 2016 12:16:08 +0000 (17:46 +0530)]
Merging all ioam plugin libraries to single library

Change-Id: I33a646ba45848c7400df4271e4933e28e62c9ad7
Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>
7 years agoSNAT: fix 'show snat verbose' bug - format vector as %v 76/4476/1
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 agoSNAT: Remove the oldest translation fix (VPP-568) 68/4468/1
Matus Fabian [Thu, 22 Dec 2016 10:46:27 +0000 (02:46 -0800)]
SNAT: Remove the oldest translation fix (VPP-568)

Fixed bug and add test.

Change-Id: I60fbec48abd9d9cb86be1bd1cdbb7d16f9f93c3e
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agoChange default branch in .gitreview 56/4456/1 v17.01-rc1
Damjan Marion [Wed, 21 Dec 2016 18:01:43 +0000 (19:01 +0100)]
Change default branch in .gitreview

Change-Id: I061e4e59698407c9f96930d578cafd552c717861
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>