vpp.git
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>
7 years agodpdk: don't drop packets if l4 checksum is flagged as bad 64/4164/2
Damjan Marion [Thu, 8 Dec 2016 08:55:07 +0000 (09:55 +0100)]
dpdk: don't drop packets if l4 checksum is flagged as bad

Sometimes NICs are flagging checksum 0 as bad, which is not
always true.

Change-Id: Ibb0147c94f436966e6afa472025bdf92c41f201e
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agol2fwd: fix isssue with setting mac age from api 63/4163/2
Damjan Marion [Thu, 8 Dec 2016 08:47:45 +0000 (09:47 +0100)]
l2fwd: fix isssue with setting mac age from api

Change-Id: Ib08b87ac91f78bebb539f544850b07dbf76f31f6
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agovhost: fix coverity warning 62/4162/1
Pierre Pfister [Thu, 8 Dec 2016 07:58:47 +0000 (07:58 +0000)]
vhost: fix coverity warning

Change-Id: Ifb9f8d2528142ad9f11a2b6d5ac10ff9639dd5d6
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
7 years agoAcl JVpp api generation (HONEYCOMB-305) 24/4124/6
Jan Srnicek [Wed, 7 Dec 2016 08:42:52 +0000 (09:42 +0100)]
Acl JVpp api generation (HONEYCOMB-305)

Includes simple test cases for acl management.

Change-Id: Ifff4f4baf9bfe84d73ebc46b591ecc46c85c94ad
Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
7 years agoBFD: basic asynchronous session up/down 57/4157/4
Klement Sekera [Thu, 29 Sep 2016 12:43:44 +0000 (14:43 +0200)]
BFD: basic asynchronous session up/down

This is a work-in-progress basic BFD session handling. Only
asynchronous mode is supported at the moment. Setting the session flags
doesn't work.

Change-Id: Idba27f721b5c35be5a66a6d202a63d23ff7ecf6f
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agol2fib: add mac aging support 08/4108/9
Damjan Marion [Mon, 5 Dec 2016 13:16:38 +0000 (14:16 +0100)]
l2fib: add mac aging support

Change-Id: Ib617ae0f76320d596cc6c4b384da76c91d701a24
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoMake jvpp connection fail if control ping fails 36/4136/2
Marek Gradzki [Wed, 7 Dec 2016 07:37:25 +0000 (08:37 +0100)]
Make jvpp connection fail if control ping fails

Change-Id: Ib57cf97514fb6831f41930d9492e92ad11a3730d
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
7 years agoPrevent re-entrant walks on an adjacency. 54/4154/3
Neale Ranns [Wed, 7 Dec 2016 15:38:14 +0000 (15:38 +0000)]
Prevent re-entrant walks on an adjacency.

The re-entrant walks were caused when the walk from an IP adj updated a fib_netry with an MPLS adj which in turn triggers a walk of the IP adj. Re-entrant walks do unnecessary work.
also fixed a walk merge issue where the encountered walk should only be checked for equivalence woth the most recent alk, not any in the list. Otherwise an UO,DOWN,UP beceoms (2*)UP,DOWN

Change-Id: Ib8b27f055dc6c1366d33740276d1c26cd314220a
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoLISP mapping timers 28/4028/6
Filip Tehlar [Mon, 28 Nov 2016 09:23:31 +0000 (10:23 +0100)]
LISP mapping timers

Change-Id: I4cd600189e936b07b628371df2f7fe2e2dc3e63d
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agoRefactor tap binary APIs, VPP-550 52/4152/2
Dave Barach [Wed, 7 Dec 2016 14:15:58 +0000 (09:15 -0500)]
Refactor tap binary APIs, VPP-550

Change-Id: I1599b3659411b5f4451c364cc5ada63cfa8e0a6b
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoepoll_input: don't sleep if we expect event in less than 1 ms 50/4150/2
Damjan Marion [Wed, 7 Dec 2016 13:07:54 +0000 (14:07 +0100)]
epoll_input: don't sleep if we expect event in less than 1 ms

Change-Id: I81652fb04608d805497a600c7dc8041911bbf39a
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agomake test: add S-NAT plugin tests 47/4147/2
Matus Fabian [Wed, 7 Dec 2016 11:38:19 +0000 (03:38 -0800)]
make test: add S-NAT plugin tests

Change-Id: I7859f63c5b28480be1ae587fc923d15212769e66
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agoFix coverity CIDs 157344, 157343, 157341, 157340, 157339, 157336 49/4149/1
Andrew Yourtchenko [Wed, 7 Dec 2016 12:20:07 +0000 (12:20 +0000)]
Fix coverity CIDs 157344, 157343, 157341, 157340, 157339, 157336

The macros used to verify the validity of sw_if_index passed in
the API calls have puzzled coverity.

Even though the issues are false positives, the checks are rather
simple, so edited them to avoid using the preprocessor macros,
it makes the code easier to follow.

Added the null check for 157336.

Change-Id: I24651346851215b236e53e682261e1f91219b381
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
7 years agoMake table chain deletion optional in classifier API (VPP-206) 32/4132/3
Juraj Sloboda [Tue, 6 Dec 2016 20:25:19 +0000 (21:25 +0100)]
Make table chain deletion optional in classifier API (VPP-206)

Change-Id: If30c0f6d5de34943bc399b3412c2d10847538c3c
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
7 years agoEnable Span Jvpp api generation 34/4134/1
Jan Srnicek [Wed, 7 Dec 2016 06:36:37 +0000 (07:36 +0100)]
Enable Span Jvpp api generation

Change-Id: Ia8c0e8255f9ac5bb7ef1a174ffd933d46b017767
Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
7 years agoSPAN API: Fix various errors making SPAN break make tests. 33/4133/2
Ole Troan [Tue, 6 Dec 2016 22:00:38 +0000 (23:00 +0100)]
SPAN API: Fix various errors making SPAN break make tests.

- s/l2/span in span_api.c in foreach macro
- Not installing .json from Makefile.am

Change-Id: I2469fe01138d62e044b8262cdb5a6e3b009bb43e
Signed-off-by: Ole Troan <ot@cisco.com>
7 years agoAPI: Adapt make test to Python API changes. 94/4094/7
Ole Troan [Mon, 5 Dec 2016 09:27:09 +0000 (10:27 +0100)]
API: Adapt make test to Python API changes.

Change the test wrapper script for the updated Python API.
All tests but the L2BD multi instance runs fine.
That is currently skipped.

I see intermittent failures when an MLD message is received
before the ND NA in MPLS and IPV6 FIB tests.

Change-Id: If809877c9abdf596dbb0a419ce5429552f63d212
Signed-off-by: Ole Troan <ot@cisco.com>
7 years agoRefactor binary APIs for IP, VPP-549 30/4130/3
Dave Barach [Tue, 6 Dec 2016 17:04:42 +0000 (12:04 -0500)]
Refactor binary APIs for IP, VPP-549

Change-Id: Ieff6b22e2432600a231f74e75716e000d488a78f
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoAdd binary API for reading interface/vrf assignment (VPP-439) 28/4128/3
Juraj Sloboda [Mon, 5 Dec 2016 12:20:37 +0000 (13:20 +0100)]
Add binary API for reading interface/vrf assignment (VPP-439)

Change-Id: I9b7cb90127e464fea520bb1b0a3e93c05a0e9e8e
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
7 years agospan: add tx functionality and support for multiple mirror ports 49/4049/11
Pavel Kotucek [Tue, 6 Dec 2016 09:10:10 +0000 (10:10 +0100)]
span: add tx functionality and support for multiple mirror ports

Change-Id: Ib6dd290085e6f9a434499af8d19f346220dc8428
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>