vpp.git
7 years agoAugment IP_DETAILS, IP_ADDRESS_DETAILS with a few context fields. 95/5095/2
Jon Loeliger [Thu, 9 Feb 2017 18:17:50 +0000 (12:17 -0600)]
Augment IP_DETAILS, IP_ADDRESS_DETAILS with a few context fields.

When handling the IP_DETAILS and IP_ADDRESS_DETAILS replies,
it is almost certainly going to require having both the is_ipv6
and sw_if_index context to handle them properly.  Placing these
values in an essentially global location as the current VAT does
isn't thread-safe.  Fruthermore, rather than forcing every
API user to hoop-jump to establish these context values, simply
provide them in their DETAILS reply messages.

Change-Id: I6a9e0cb16ecdbf87fca8fc5c7663e98d3a53c26c
Signed-off-by: Jon Loeliger <jdl@netgate.com>
7 years agoBasic support for LISP-GPE encapsulated NSH packets 31/5031/13
Florin Coras [Thu, 26 Jan 2017 22:25:34 +0000 (14:25 -0800)]
Basic support for LISP-GPE encapsulated NSH packets

Change-Id: I97fedb0f70dd18ed9bbe985407cc5fe714e8a2e2
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agoVPP-632 : InBand OAM Analyser 47/4047/19
AkshayaNadahalli [Thu, 1 Dec 2016 11:03:51 +0000 (16:33 +0530)]
VPP-632 : InBand OAM Analyser

Refer to jira ticket for more details.

Change-Id: I6facb9ef8553a21464f9a2e612706f152badbb68
Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>
7 years agoUpdate plugin templates 01/5101/2
Dave Barach [Fri, 10 Feb 2017 16:57:46 +0000 (11:57 -0500)]
Update plugin templates

Disguise the string "fd.io coding-style blah blah blah" to avoid spurious
checkstyle failures on the emacs lisp code. DGMS.

Change-Id: I6b88d9588dff7d67c6e509052ae4f32529684de7
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agomake test: work around scapy truncated packets 84/5084/1
Klement Sekera [Thu, 9 Feb 2017 05:04:36 +0000 (06:04 +0100)]
make test: work around scapy truncated packets

Under stress, it's possible to hit a race condition, when the packet
header is fully written to pcap, but not all packet data - yet.
Scapy is stupid enough to:
1. not detect and report this error, truncating the packet instead
2. continue munching more data from wrong offset
The work around is to scan the file ahead, parse the packet header,
figure out how much data we need, wait for the file to be big
enough, then restore the file position back to where it was
and finally let scapy parse the packet.

Change-Id: I9fc71d3ebdc62ecab6c90b90f177d0eaeb09b8bb
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoImprove MFIB doxygen help 79/5079/2
Neale Ranns [Wed, 8 Feb 2017 17:11:57 +0000 (09:11 -0800)]
Improve MFIB doxygen help

Change-Id: Ie490b7fd5238cbad23f0199161cc14324fd9c554
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoBFD: minor fixes 74/5074/1
Klement Sekera [Wed, 8 Feb 2017 06:42:08 +0000 (07:42 +0100)]
BFD: minor fixes

Change-Id: I1c93f96a752eb2ffd1117a656552131cde1fa489
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agomake test: BFD tests speedup 57/5057/2
Klement Sekera [Tue, 7 Feb 2017 06:09:36 +0000 (07:09 +0100)]
make test: BFD tests speedup

Change-Id: I0b3064a311f28ebf7cd9db0a59cb04c7c25c9d58
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoBFD: modify session parameters 54/5054/2
Klement Sekera [Thu, 2 Feb 2017 05:58:07 +0000 (06:58 +0100)]
BFD: modify session parameters

Change-Id: I666e5c0cc71a3693640960c93cdd1907f84fbe23
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoFix source address reachability check for ip6 local packets 66/5066/6
AkshayaNadahalli [Tue, 7 Feb 2017 18:29:54 +0000 (23:59 +0530)]
Fix source address reachability check for ip6 local packets

Currently ip6 local check fails with error - source lookup miss if
route to source of packet is over a dpo object such as load balance -
recurssive route, tunnel adj - GRE, SR etc.
So unless packet source is of a directly connected neibhor or has
route with both interface and nexthop specified, it will be dropped.
Fix is to check urpf list and if at least one link exists in the list,
then allow packets to be processed, else drop.

Change-Id: Id426311bb63bab506754a79409c602fdb6d0f190
Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>
7 years agoVPP-630: Null pointer dereferences in vlib/unix/plugin.c 50/5050/2
Ole Troan [Tue, 7 Feb 2017 10:22:33 +0000 (11:22 +0100)]
VPP-630: Null pointer dereferences in vlib/unix/plugin.c

Change-Id: Iafb071c684a43e21925e3a43019cd86372347898
Signed-off-by: Ole Troan <ot@cisco.com>
7 years agoMultiple platofrm support for dpdk/Makefile, fix optimizations 48/5048/5
Damjan Marion [Mon, 6 Feb 2017 21:28:52 +0000 (22:28 +0100)]
Multiple platofrm support for dpdk/Makefile, fix optimizations

Using -march=native was causing SIGILLs on Atoms.

Change-Id: I98c7fdaa139e3db70c972950dc9c167bf5803656
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoFix M(), M2() macros in VAT 52/5052/2
Filip Tehlar [Tue, 7 Feb 2017 12:29:47 +0000 (13:29 +0100)]
Fix M(), M2() macros in VAT

Change-Id: I76593632cde97f7cb80bbc395735404f39f3bd3f
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agoLISP: reject remote mappings that have as locators local IPs 10/5010/4
Filip Tehlar [Fri, 3 Feb 2017 09:17:49 +0000 (10:17 +0100)]
LISP: reject remote mappings that have as locators local IPs

Change-Id: Ifaf46554e45557ebf82009d9c46a9e905a46f884
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agoAdd pool_get[_aligned]_will_expand(...) 40/5040/2
Dave Barach [Mon, 6 Feb 2017 14:28:03 +0000 (09:28 -0500)]
Add pool_get[_aligned]_will_expand(...)

Change-Id: Iefffcf7843dc11803d69a875a72704a2543911a1
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agomake test: improve test filtering 18/5018/7
Klement Sekera [Fri, 3 Feb 2017 06:29:43 +0000 (07:29 +0100)]
make test: improve test filtering

Implement fine-grained test filtering by supporting more complicated
filters beside the original file name suffix filter.

Change-Id: If5a166d08cffe8c58cc6cf174e6df861c34dbaa6
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agovlib: remove algned/unaligned buffers scheme 29/5029/5
Damjan Marion [Sun, 5 Feb 2017 22:44:42 +0000 (23:44 +0100)]
vlib: remove algned/unaligned buffers scheme

Change-Id: I4433eaed3f4e201edc329c4842cbbf74beb19a9a
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agomake test: fix dependencies 17/5017/7
Klement Sekera [Fri, 3 Feb 2017 07:18:53 +0000 (08:18 +0100)]
make test: fix dependencies

checkstyle - doesn't need scapy/pexpect, remove it
doc - scapy wasn't patched properly, fix it

Change-Id: I65202cb14edeb239d21ce10f17d9b4fccce43d62
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoSNAT: fix snat_add_static_mapping_command() uninitialized variable 34/5034/3
Matus Fabian [Mon, 6 Feb 2017 06:14:41 +0000 (22:14 -0800)]
SNAT: fix snat_add_static_mapping_command() uninitialized variable

Change-Id: I7775dd3b90d5a3449650c3102e24bfedd770beb1
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agoSNAT: initialize outside and inside FIB index in snat_config 35/5035/1
Matus Fabian [Mon, 6 Feb 2017 06:45:57 +0000 (22:45 -0800)]
SNAT: initialize outside and inside FIB index in snat_config

Change-Id: If26d758997d71792cedad1afae8d6a38cfd364ac
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agofix some 'stored but never read' warnings raised by clang 72/3972/6
Gabriel Ganne [Sat, 4 Feb 2017 09:51:04 +0000 (10:51 +0100)]
fix some 'stored but never read' warnings raised by clang

found by `scan-build make plugins-release`

Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
Change-Id: I52048e3a8ae3fb85eb3d91f6a5e15216dd7b9baa

7 years agoWheel-timer infra 20/5020/4
Dave Barach [Fri, 3 Feb 2017 16:58:53 +0000 (11:58 -0500)]
Wheel-timer infra

Change-Id: I5499dd6b768425a56936afae50bd578620c83d30
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoTest checksyle for IP mcast tests 28/5028/2
Neale Ranns [Sun, 5 Feb 2017 17:12:02 +0000 (09:12 -0800)]
Test checksyle for IP mcast tests

Change-Id: I20b61b7e63f74b4656d84717633e06646514c5eb
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agodpdk: move to uio_pci_generic 60/4960/4
Damjan Marion [Tue, 31 Jan 2017 16:29:33 +0000 (17:29 +0100)]
dpdk: move to uio_pci_generic

Change-Id: I3d8b7947ae6d721e9b514a59a7d2de49aed419b5
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agopg: add trace information for pg tx node 23/5023/1
Damjan Marion [Fri, 3 Feb 2017 20:16:16 +0000 (21:16 +0100)]
pg: add trace information for pg tx node

Change-Id: I31730d58c34331f25f5b02cd065be94251f1302c
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agovhost-user: fix missing speculative enqueue unwind 21/5021/3
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 CLI help message for set ip address 16/5016/2
Matej Klotton [Fri, 3 Feb 2017 13:48:18 +0000 (14:48 +0100)]
Fix CLI help message for set ip address

Change-Id: Ie39bb26a9aea88cf2768ec537adcdd8df1de3be0
Signed-off-by: Matej Klotton <mklotton@cisco.com>
7 years agopep8 compliance for test_ip6.py 19/5019/2
Neale Ranns [Fri, 3 Feb 2017 14:14:49 +0000 (06:14 -0800)]
pep8 compliance for test_ip6.py

Change-Id: If29a1eba3e7056903978de782c062589bec0137e
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoNext node frame over-flow after replication 14/5014/2
Neale Ranns [Fri, 3 Feb 2017 12:34:01 +0000 (04:34 -0800)]
Next node frame over-flow after replication

Change-Id: I25077dd0739787de4f7512e5a70a62e8c34c28e4
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoPlugin infrastructure improvements 24/4824/12
Damjan Marion [Mon, 23 Jan 2017 20:13:45 +0000 (21:13 +0100)]
Plugin infrastructure improvements

This patch replaces requirement for vlib_plugin_register function
in the plugin so file and introduces new macro:

VLIB_PLUGIN_REGISTER () = {
  .version = "version string",
  .version_required = "requred version",
  .default_disabled = 1,
  .early_init = "early_init_function_name",
};

Plugin will nor be loaded if .default_disabled is set to 1
unless explicitely enabled in startup.conf.

If .verstion_required is set, plugin will not be loaded if there
is version mismatch between plugin and vpp. This can be bypassed
by setting "skip-version-check" for specific plugin.

If .early-init string is present, plugin loader will try to resolve
this specific symbol in the plugin namespace and make a function call.

Following startup.conf configuration is added:

plugins {
  path /path/to/plugin/directory
  plugin ila_plugin.so { enable skip-version-check }
  plugin acl_plugin.so { disable }
}

Change-Id: I706c691dd34d94ffe9e02b59831af8859a95f061
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoSNAT: fix invalid outside FIB index 11/5011/4
Matus Fabian [Fri, 3 Feb 2017 09:35:55 +0000 (01:35 -0800)]
SNAT: fix invalid outside FIB index

Change-Id: Ia5d3d81cbc2ef85fabf9e19c89a52c589a921d14
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agoSNAT: Port allocation per protocol 99/4999/3
Matus Fabian [Thu, 2 Feb 2017 09:43:00 +0000 (01:43 -0800)]
SNAT: Port allocation per protocol

Ports are allocated per protocol (UDP, TCP, ICMP)
1:1 NAT with port is configured for specific protocol

Change-Id: I37ae5eed3715b223d0620d4fdaed7a482bb7a834
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agoAdded support for openSUSE 08/5008/1
Marco Varlese [Thu, 2 Feb 2017 20:33:09 +0000 (21:33 +0100)]
Added support for openSUSE

Change-Id: I64a0eeaa066adb70dfaeb33641d0336ddac18cf0
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
7 years agoRemove unnecessary block structure around CONTROL_PING messages. 87/4987/4
Jon Loeliger [Wed, 1 Feb 2017 19:09:58 +0000 (13:09 -0600)]
Remove unnecessary block structure around CONTROL_PING messages.

Now that the M() and S() macros accept a message parameter, there
is no longer a need to introduce a new block structure around the
CONTROL_PING messages just to have a new unbound "mp" variable.
Instead, just use one named "mp_ping" directly.

Change-Id: I6b283562bb6eec25806e3d35c35b977680ecd1dd
Signed-off-by: Jon Loeliger <jdl@netgate.com>
7 years agoRefactor fragile msg macro W and W2 to not burry return control flow. 86/4986/4
Jon Loeliger [Wed, 1 Feb 2017 18:31:41 +0000 (12:31 -0600)]
Refactor fragile msg macro W and W2 to not burry return control flow.

Instead, have them accept and assign a return paramter leaving
the return control flow up to the caller.  Clean up otherwise
misleading returns present even after "NOT REACHED" comments.

Change-Id: I0861921f73ab65d55b95eabd27514f0129152723
Signed-off-by: Jon Loeliger <jdl@netgate.com>
7 years agoLocalize the timeout variable within the W message macro. 85/4985/4
Jon Loeliger [Tue, 31 Jan 2017 21:27:19 +0000 (15:27 -0600)]
Localize the timeout variable within the W message macro.

Rather than rely on an unbound variable, explicitly introduce
the timeout variable within the 'do { ... } while (0)' construct
as a block-local variable.

Change-Id: I6e78635290f9b5ab3f56b7f116c5fa762c88c9e9
Signed-off-by: Jon Loeliger <jdl@netgate.com>
7 years agoConvert message macro S to accept a message pointer parameter; 84/4984/4
Jon Loeliger [Tue, 31 Jan 2017 20:03:33 +0000 (14:03 -0600)]
Convert message macro S to accept a message pointer parameter;

Rather than blindly assume an unbound, fixed message parameter
explicilty pass it as a paramter to the S() macro.

Change-Id: Ieea1f1815cadd2eec7d9240408d69acdc3caa49a
Signed-off-by: Jon Loeliger <jdl@netgate.com>
7 years agoConvert M() and M2() macros to honor their second, mp, parameter. 83/4983/4
Jon Loeliger [Tue, 31 Jan 2017 19:47:08 +0000 (13:47 -0600)]
Convert M() and M2() macros to honor their second, mp, parameter.

Now that all the M() and M2() uses properly supply a message
pointer as second parameter, fix the macros to use it.

Change-Id: I0b8f4848416c3fa2e06755ad6ea7171b7c546124
Signed-off-by: Jon Loeliger <jdl@netgate.com>
7 years agoEnsure all M() and M2() second parameters are the message pointer. 82/4982/4
Jon Loeliger [Tue, 31 Jan 2017 19:19:40 +0000 (13:19 -0600)]
Ensure all M() and M2() second parameters are the message pointer.

Rather than maintain (?) an unused second parameter, t, and pull
an unbound message pointer, mp, out of context, explicitly list
the message pointer as the second parameter.

Change-Id: I92143efda6211cdf6b935470f8c71579742a6b64
Signed-off-by: Jon Loeliger <jdl@netgate.com>
7 years agoFix SR multicast post mfib commit 00/5000/3
Neale Ranns [Thu, 2 Feb 2017 10:18:18 +0000 (02:18 -0800)]
Fix SR multicast post mfib commit
 1 - use the SR policy to construct the replicate DPO. Each bucket therein is a SR tunnel.
 2 - install a special mfib entry that links via this replicate
 3 - forwarding is now mfib-lookup -> replicate -> sr_rewrite (per-tunnel)
        no need for a separate sr_replicate node.
 4 - Stack the sr tunnel on the forwarding DPO of the first-hop FIB entry.
        no need for a second lookup post SR encap.
 5 - fix some path-list lock leaks in the MFIB entry.

Change-Id: I20de96ea4c4be4fae252625bde159d9c435c8315
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoUpdate default Vagrant box to Ubuntu 16.04, VPP-616 97/4897/8
Dave Wallace [Fri, 27 Jan 2017 02:42:00 +0000 (21:42 -0500)]
Update default Vagrant box to Ubuntu 16.04, VPP-616

- Make puppetlabs/ubuntu-16.04-64-nocm the default box
- Enable x11 forwarding
- Install x11-utils required for emacs to work over X11
- Refactor run.sh
- Add VPP_VAGRANT_POST_BUILD environment variable to
  allow selection of installing VPP or run "make test".
- Fix dependencies in src/vppapigen.am

Change-Id: I0ec054fdc83feb71ca8396df53ed02bf82ecd7e7
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
7 years agoENIC driver patch to fix MAC address add and remove 65/4965/3
Steve Shin [Tue, 31 Jan 2017 21:38:08 +0000 (13:38 -0800)]
ENIC driver patch to fix MAC address add and remove

The mac_addr_add callback function was simply replacing the primary MAC
address instead of adding new ones and the mac_addr_remove callback would
only remove the primary MAC form the adapter. Fix the functions to add or
remove new address. Allow up to 64 MAC addresses per port.

Change-Id: Ieff396ae27505c4c09f028911eff907757b03c7d
Signed-off-by: Steve Shin <jonshin@cisco.com>
7 years agoBFD: SHA1 authentication 23/4923/6
Klement Sekera [Mon, 9 Jan 2017 06:43:48 +0000 (07:43 +0100)]
BFD: SHA1 authentication

Add authentication support to BFD feature. Out of three existing
authentication types, implement SHA1 (sole RFC requirement). Simple
password is insecure and MD5 is discouraged by the RFC, so ignore
those.
Add/change APIs to allow configuring BFD authentication keys
and their usage with BFD sessions.

Change-Id: Ifb0fb5b19c2e72196d84c1cde919bd4c074ea415
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoBFD: improve finding of ipv4/ipv6 headers 61/4761/6
Klement Sekera [Wed, 18 Jan 2017 08:44:36 +0000 (09:44 +0100)]
BFD: improve finding of ipv4/ipv6 headers

Avoid coverity warning and improve safety by declaring a helper
structure and working with it when searching for ip headers.
Make sure the content following IPv6 header is actually UDP before
parsing it. Bail out if unexpcted IPv6 header found ...

Change-Id: I1c6b9fd42d6fdae226f12c91c53c07a932b29522
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agodpdk: fix crypto coverity warning 80/4980/3
Sergio Gonzalez Monroy [Wed, 1 Feb 2017 15:23:12 +0000 (15:23 +0000)]
dpdk: fix crypto coverity warning

Change-Id: I165b64fdc12dd2936df1958348e93b709ce0e784
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
7 years agoSNAT: changed source for outbound address FIB entry (VPP-613) 66/4966/4
Matus Fabian [Wed, 1 Feb 2017 06:20:30 +0000 (22:20 -0800)]
SNAT: changed source for outbound address FIB entry (VPP-613)

Use FIB_SOURCE_PLUGIN_HI and modify ARP input to use non-source variants for
flags and resolving interface get.

Change-Id: I3bab76f36e0b1ee86e430a416099f1654e02740a
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agoLISP: enhance binary part of some APIs 69/4969/4
Filip Tehlar [Wed, 1 Feb 2017 07:50:31 +0000 (08:50 +0100)]
LISP: enhance binary part of some APIs

Remote mapping and locator set binary APIs uses zero length arrays
defined as 'u8 array[0]' in .api file.
This path will change such cases to form 'type_t array[count];'
in order to enhance maintainability.

Change-Id: I98d0252b441020609c550d48186ed0d8338a3f2d
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agoVXLAN: further unify ip4/ip6 ctl plane handling 74/4974/4
Eyal Bari [Wed, 1 Feb 2017 11:36:15 +0000 (13:36 +0200)]
VXLAN: further unify ip4/ip6 ctl plane handling

fix wrong udp error codes in decap ip6 handling

Change-Id: Ibf791a995128d38b31725c1ee67ec9d1c9dffca2
Signed-off-by: Eyal Bari <ebari@cisco.com>
7 years agoFix issue with apt-get update not being run on Ubuntu 16.04 93/4993/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>
7 years agoBFD: reformat code to match vpp code style 60/4760/2
Klement Sekera [Wed, 18 Jan 2017 08:56:00 +0000 (09:56 +0100)]
BFD: reformat code to match vpp code style

Change-Id: I40deb8b40f5d3a96d2c0dcb400f489cd05a64348
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoPrep work for Coverity upload processing via Jenkins 69/4569/4
Dave Barach [Wed, 4 Jan 2017 22:24:32 +0000 (17:24 -0500)]
Prep work for Coverity upload processing via Jenkins

Change-Id: I2575d780d19e12ddf8a77e5596e5d7cc3dbf4233
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoSNAT: Add outbound addresses to FIB (VPP-613) 56/4956/2
Matus Fabian [Fri, 27 Jan 2017 08:47:58 +0000 (00:47 -0800)]
SNAT: Add outbound addresses to FIB (VPP-613)

Add the external NAT address to the FIB as receive entries.
This ensures that VPP will reply to ARP for these addresses and we don't need
to enable proxy ARP on the outside interface.

Change-Id: I1db153373c43fec4808845449a17085509ca588c
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agoUpdate CSIT tests 170122 -> 170129 28/4928/2
Jan Gelety [Mon, 30 Jan 2017 10:44:09 +0000 (11:44 +0100)]
Update CSIT tests 170122 -> 170129

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

Change-Id: I8293091fda82de587cba0b3bd2f8490d74c001a5
Signed-off-by: Jan Gelety <jgelety@cisco.com>
7 years agojvpp: fix coverity warn: reliance on default encoding 55/4955/2
Marek Gradzki [Tue, 31 Jan 2017 12:25:53 +0000 (13:25 +0100)]
jvpp: fix coverity warn: reliance on default encoding

Change-Id: I8333b7d19ebdacac5445b4505750dd0a46764b36
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
7 years agoVXLAN: small changes for brevity 22/4922/3
Eyal Bari [Sun, 29 Jan 2017 10:40:50 +0000 (12:40 +0200)]
VXLAN: small changes for brevity

Change-Id: I9cfff0196845c6f1161848aa49442aa4df81b20e
Signed-off-by: Eyal Bari <ebari@cisco.com>
7 years agoMFIB Coverity warnings. The lock macro is functionally equivalent but more expressive... 46/4946/2
Neale Ranns [Mon, 30 Jan 2017 14:44:58 +0000 (06:44 -0800)]
MFIB Coverity warnings. The lock macro is functionally equivalent but more expressive (and might appease coverity)

Change-Id: Ie3c9b2896a487a0302903bfbdd6348f6f091c67d
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoBump up PKG_SUFFIX to vpp3 54/4954/2
Steve Shin [Mon, 30 Jan 2017 21:27:26 +0000 (13:27 -0800)]
Bump up PKG_SUFFIX to vpp3

Change-Id: Ib5e95d5e5a3da5fb395b26177f7dd17e90afd69d
Signed-off-by: Steve Shin <jonshin@cisco.com>
7 years agoAdd vxlan-bypass feature to IP6 forwarding path 51/4951/3
John Lo [Mon, 30 Jan 2017 18:12:10 +0000 (13:12 -0500)]
Add vxlan-bypass feature to IP6 forwarding path

Add vxlan-bypass feature which can be enabled on the IP6 underlay
interface which receive VXLAN packets to accelerate VXLAN decap
processing. The CLI to enable/disable it is:
    set interface ip6 vxlan-bypass <interface> [del]
The vxlan-bypass feature is already supported on the IP4 underlay
interface. The CLI to enable/disable it is:
    set interface ip vxlan-bypass <interface> [del]

Move vxlan-bypass API/CLI support code from decap.c to vxlan.c.
Also fixed two issues in the VXLAN decap path in the vxlan-input node:
1. Add verification of VXLAN packet FIB index with the encap-vrf-id
   of the VXLAN tunnel.
2. Fix checking of VXLANoIPv6 packet mcast DIP against that of the
   IP6 mcast VXLAN tunnel.

Change-Id: I2bad4074a468c48fbb8bb5ac64f6437190756ed2
Signed-off-by: John Lo <loj@cisco.com>
7 years agoVPP-621: ping: ICMP echo data size must be bounded by VLIB_BUFFER_DATA_SIZE minus... 21/4921/4
Andrew Yourtchenko [Sat, 28 Jan 2017 15:31:19 +0000 (15:31 +0000)]
VPP-621: ping: ICMP echo data size must be bounded by VLIB_BUFFER_DATA_SIZE minus headers.

Before the commit 878c6098 the VLIB_BUFFER_DATA_SIZE was different depending
on whether building "vpp" or "vpp_lite", resulting in an overrun in vpp_lite build.
Avoid the hardcoded value and make the upper bound for ICMP echo data size
dependent on the buffer size.

Change-Id: Id6c4d7fc73766a95af2610eb237881b5fe9ce9aa
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
7 years agoThis patch fixes a bug in replaying MAC address to the hardware 50/4950/1
Steve Shin [Mon, 30 Jan 2017 17:32:00 +0000 (09:32 -0800)]
This patch fixes a bug in replaying MAC address to the hardware
in rte_eth_dev_config_restore() routine. Added default MAC replay as well.

Fixes: 4bdefaade6d1 ("ethdev: VMDQ enhancements")

Change-Id: I646799477e9a6f2fdeff7a52a76d216ef91115e9
Signed-off-by: Steve Shin <jonshin@cisco.com>
7 years agoFixed set int state up for ipsec interfaces 45/4945/1
Radu Nicolau [Mon, 30 Jan 2017 14:33:39 +0000 (14:33 +0000)]
Fixed set int state up for ipsec interfaces

Change-Id: I2330cb7c2ba0f5eaeb4e7a4c3de4f22283d3923d
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
7 years agoFix LISP Coverity warnings 25/4925/2
Florin Coras [Mon, 30 Jan 2017 00:42:20 +0000 (16:42 -0800)]
Fix LISP Coverity warnings

Change-Id: Iaca2ff453872e638ee83b11fc16472e44deb9a7e
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agoadd vnet/util/radix.h to nobase_include_HEADERS list 36/4936/3
Gabriel Ganne [Mon, 30 Jan 2017 12:44:04 +0000 (13:44 +0100)]
add vnet/util/radix.h to nobase_include_HEADERS list

header is included by ip6.h and should therefore be made public

Change-Id: Ieb7d14bb082d821c2f77e9204ec09d884fb2cb09
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
7 years agoLISP: add dump calls for GPE entries API 10/4910/3
Filip Tehlar [Wed, 18 Jan 2017 11:57:37 +0000 (12:57 +0100)]
LISP: add dump calls for GPE entries API

Change-Id: Ie7f51643fd3522a0fa8df8d0309305481c211f5f
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agoAdd files to CLEANFILES for robust make clean. 18/4918/2
Burt Silverman [Fri, 27 Jan 2017 20:29:54 +0000 (15:29 -0500)]
Add files to CLEANFILES for robust make clean.

At the least, $(BUILT_SOURCES) should be added to CLEANFILES. Also
beneficial is $(api_DATA), and in the case of Java, *.files and *.h.
Also there is a vpp/app/version.h, and some grammar and lex files in
vppapigen.

Change-Id: Ic6d3f2d40ce65e1d9a8b88217fa1f36de393ebb4
Signed-off-by: Burt Silverman <burtms@gmail.com>
7 years agosh not show in the mfib flags commands 20/4920/1
Neale Ranns [Sat, 28 Jan 2017 10:37:08 +0000 (02:37 -0800)]
sh not show in the mfib flags commands

Change-Id: If10b878cb05d695eaed9416202fd19bed2e0b793
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoAPI refactoring : policer 63/4863/5
Pavel Kotucek [Wed, 25 Jan 2017 07:45:38 +0000 (08:45 +0100)]
API refactoring : policer

Change-Id: Ia7d8b557bcdf45eb8e33bb3d297bc6f7ad321c72
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agodpdk: rework cryptodev ipsec build and setup 06/4806/12
Sergio Gonzalez Monroy [Fri, 20 Jan 2017 15:35:23 +0000 (15:35 +0000)]
dpdk: rework cryptodev ipsec build and setup

Build Cryptodev IPsec support by default when DPDK is enabled but only build
hardware Cryptodev PMDs.

To enable Cryptodev support, a new startup.conf option for dpdk has been
introduced 'enable-cryptodev'.

During VPP init, if Cryptodev support is not enabled or not enough cryptodev
resources are available then default to OpenSSL ipsec implementation.

Change-Id: I5aa7e0d5c2676bdb41d775ef40364536a081956d
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
7 years agoAPI refactoring : cop 62/4862/5
Pavel Kotucek [Wed, 25 Jan 2017 07:27:15 +0000 (08:27 +0100)]
API refactoring : cop

Change-Id: I1596d7a130fb6d3b170b8e01f2116b323cc10c0d
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agodpdk : incorrect rx filter being installed 21/4821/6
Pavel Kotucek [Mon, 23 Jan 2017 14:24:49 +0000 (15:24 +0100)]
dpdk : incorrect rx filter being installed

When mac address is set prior bringing interface up incorrect rx filter
being installed into the e1000 mac.

Change-Id: If59a2bf16f732e45221b3787d271307d369e54d3
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agojvpp: utilize per-message CRCs (VPP-544) 11/4911/2
Marek Gradzki [Fri, 27 Jan 2017 07:57:40 +0000 (08:57 +0100)]
jvpp: utilize per-message CRCs (VPP-544)

Since messages ids are no longer statically referenced,
fixes also VPP-611.

Change-Id: Ic8e6ee2b7f1142c185595347984d69350be25ac3
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
7 years agoIP Multicast FIB (mfib) 09/4709/9
Neale Ranns [Tue, 22 Nov 2016 17:07:28 +0000 (17:07 +0000)]
IP Multicast FIB (mfib)

 - IPv[46] mfib tables with support for (*,G/m), (*,G) and (S,G) exact and longest prefix match
 - Replication represented via a new replicate DPO.
 - RPF configuration and data-plane checking
 - data-plane signals sent to listening control planes.

The functions of multicast forwarding entries differ from their unicast conterparts, so we introduce a new mfib_table_t and mfib_entry_t objects. However, we re-use the fib_path_list to resolve and build the entry's output list. the fib_path_list provides the service to construct a replicate DPO for multicast.

'make tests' is added to with two new suites; TEST=mfib, this is invocation of the CLI command 'test mfib' which deals with many path add/remove, flag set/unset scenarios, TEST=ip-mcast, data-plane forwarding tests.

Updated applications to use the new MIFB functions;
  - IPv6 NS/RA.
  - DHCPv6
 unit tests for these are undated accordingly.

Change-Id: I49ec37b01f1b170335a5697541c8fd30e6d3a961
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoFix make test scapy python patch issue, VPP-615 96/4896/3
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>
7 years agomake-test: Add numbering to chapters' titles 09/4909/2
Tibor [Fri, 27 Jan 2017 11:59:02 +0000 (12:59 +0100)]
make-test: Add numbering to chapters' titles

Change-Id: I1e2aedba85caf903dd7a721841afe240a9791cac
Signed-off-by: Tibor <tifrank@cisco.com>
7 years agoCleanup some obfuscated code in next node handling. 06/4906/2
Vengada [Fri, 27 Jan 2017 09:57:46 +0000 (01:57 -0800)]
Cleanup some obfuscated code in next node handling.
The values of next node can be simply assigned by dereferencing the pointer instead of obfuscating the dereference.

Change-Id: I1f4a3d51b768960699010591410695473728d3a2
Signed-off-by: Vengada <venggovi@cisco.com>
7 years agodrop-and-count snat out2in packets with no translations 04/4904/1
Dave Barach [Fri, 27 Jan 2017 09:04:35 +0000 (04:04 -0500)]
drop-and-count snat out2in packets with no translations

Send dhcp server-to-client packets to the ip stack, so we can acquire
snat outside interface addresses from a dhcp server

Change-Id: I7751356fa23d9f26b503c9796bd85f96275fe978
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoPython API: event_callback not initialised. 84/4884/2
Ole Troan [Thu, 26 Jan 2017 10:13:00 +0000 (11:13 +0100)]
Python API: event_callback not initialised.

Even when not requesting notification the VPP API
sends event notifications on certain calls. E.g.
creating interfaces.

Traceback (most recent call last):
  File "/vpp/ipfix/src/vpp-api/python/vpp_papi/vpp_papi.py", line 447, in msg_handler_sync
    if self.event_callback:
AttributeError: VPP instance has no attribute 'event_callback'

Change-Id: I4ca30c49df298655dc8948c5ebd68de0b3d6a592
Signed-off-by: Ole Troan <ot@cisco.com>
7 years agomake test: improve documentation generation 91/4891/3
Klement Sekera [Thu, 26 Jan 2017 13:54:47 +0000 (14:54 +0100)]
make test: improve documentation generation

Refactor the text to work around sphinx bug to show a proper
table of contents.

Change-Id: I546656ef77a95637ad7c6bf239f26262a4f306dc
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoAdd multi-vpp support back into pythonic vppctl 25/4825/4
Ed Warnicke [Mon, 23 Jan 2017 22:11:47 +0000 (22:11 +0000)]
Add multi-vpp support back into pythonic vppctl

Back when vppctl was a shell script, you could
use -p or --prefix to set the chroot prefix to
drive multiple vpp instances.  This patch adds
that capability back.

Change-Id: Iaa70a20eff13e8d7e206fcceadb7e5d06afa3fc5
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
7 years agoAdd sphinx read the doc theme. 85/4885/2
Tibor [Thu, 26 Jan 2017 12:21:12 +0000 (13:21 +0100)]
Add sphinx read the doc theme.

Change-Id: Iade7c42081378bf211b81ad29b2898518442d2ff
Signed-off-by: Tibor <tifrank@cisco.com>
7 years agoipv4 vrf test doc cleaning 92/4892/2
Jan Gelety [Thu, 26 Jan 2017 14:46:19 +0000 (15:46 +0100)]
ipv4 vrf test doc cleaning

Change-Id: I0d3b47ce3c029d2ea01f9ff88a541affcbfd70db
Signed-off-by: Jan Gelety <jgelety@cisco.com>
7 years agoAPI refactoring : l2 (add) 64/4864/5
Pavel Kotucek [Wed, 25 Jan 2017 07:50:53 +0000 (08:50 +0100)]
API refactoring : l2 (add)

Change-Id: I693a73ba9a5e3b0cb5d2a6c5d363f671e19c1f24
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agopackage only the vpp binaries (rpm) 94/4894/3
Gabriel Ganne [Thu, 26 Jan 2017 14:42:39 +0000 (15:42 +0100)]
package only the vpp binaries (rpm)

The first install regexp of the vpp.spec file was too permissive and
included dpdk binaries.

Should fix rpm packaging error: Installed (but unpackaged) file(s) found:
/usr/bin/dpdk-pdump
/usr/bin/dpdk-pmdinfo
/usr/bin/dpdk-procinfo
/usr/bin/testpmd

Change-Id: Ic905307cf07b9eeadf8125aaa3e1922dcc6269b3
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
7 years agoDHCPv[46] proxy tests 82/4682/6
Neale Ranns [Fri, 13 Jan 2017 15:57:46 +0000 (07:57 -0800)]
DHCPv[46] proxy tests

Change-Id: I6aaf9c602cd515ed9d4416d286f9191d048c1a87
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoChange automake python macro to get python path 50/4850/3
Tomofumi Hayashi [Wed, 25 Jan 2017 04:53:26 +0000 (13:53 +0900)]
Change automake python macro to get python path

Previously install path for python binding is fixed, as
lib/python2.7/site-packages and other version/enironement is not
supported. This change introduces automake's python macro and gets
the install path from environment dynamically.

Change-Id: I6535107d4bde61976fbdf5392d460beb1049658e
Signed-off-by: Tomofumi Hayashi <tohayash@redhat.com>
7 years agoAPI refactoring : dhcp 61/4861/5
Pavel Kotucek [Wed, 25 Jan 2017 06:25:32 +0000 (07:25 +0100)]
API refactoring : dhcp

Change-Id: I3829835ed2126e51e96690c907deac623dc77151
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoAdd option to use LISP Proxy-ETR 54/4854/3
Florin Coras [Tue, 24 Jan 2017 19:38:18 +0000 (11:38 -0800)]
Add option to use LISP Proxy-ETR

When enabled, destinations with negative mappings or those not reachable
via underlay have their traffic forwarded to the PETR.

Change-Id: I1056b0959736144f27fcca7b79263f921e7a8bd9
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agoRepair plugin binary API message numbering 79/4879/1
Dave Barach [Wed, 25 Jan 2017 21:32:08 +0000 (16:32 -0500)]
Repair plugin binary API message numbering

Change-Id: I422a3f168bd483e011cfaf54af022cb79b78db02
Signed-off-by: Dave Barach <dave@barachs.net>
7 years ago[re]Enable per-Adjacency/neighbour counters 45/4845/4
Neale Ranns [Tue, 24 Jan 2017 09:34:25 +0000 (01:34 -0800)]
[re]Enable per-Adjacency/neighbour counters

Change-Id: I953b3888bbc6d8a5f53f684a5edc8742b382f323
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoMove LISP cp cli to separate file 53/4853/2
Florin Coras [Tue, 24 Jan 2017 11:13:43 +0000 (03:13 -0800)]
Move LISP cp cli to separate file

Change-Id: I24355c71606c047e474b2541bb274e3d183fee85
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agoAPI refactoring : flow 60/4860/4
Pavel Kotucek [Tue, 24 Jan 2017 12:40:26 +0000 (13:40 +0100)]
API refactoring : flow

Change-Id: I99e913b954f8b02f347bfeff093856a1c5e96781
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoUpdate CSIT tests 170108 -> 170122 32/4832/2
Jan Gelety [Tue, 24 Jan 2017 11:16:40 +0000 (12:16 +0100)]
Update CSIT tests 170108 -> 170122

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

Change-Id: I5abf9026318a7a8b4cd56c0044b7f0061ff41f58
Signed-off-by: Jan Gelety <jgelety@cisco.com>
7 years agospan: tx functionality 26/4826/2
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 agomake test: elegantly handle expected API failures 75/4875/3
Klement Sekera [Wed, 25 Jan 2017 07:00:40 +0000 (08:00 +0100)]
make test: elegantly handle expected API failures

Allow writing simple code to expect API failure when needed:

with self.vapi.expect_negative_api_retval():
    do_api_call()  # expected to return negative retval in response

Change-Id: Id58d91d9ce38d20ad6ff7a43a6897e79ffbd23bf
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoAPI refactoring : classify 59/4859/3
Pavel Kotucek [Tue, 24 Jan 2017 09:58:12 +0000 (10:58 +0100)]
API refactoring : classify

Change-Id: Ib75197ef8e5057e7f0d9361a10705c3743d05333
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agotest adding and removing shared mcast dst tunnels 95/4695/6
Eyal Bari [Mon, 16 Jan 2017 10:02:46 +0000 (12:02 +0200)]
test adding and removing shared mcast dst tunnels

Adds and delete 2000 multicast vxlan tunnels sharing group address
to test mcast tunnel ref count code as part of the stability stage (before starting traffic tests)

Change-Id: Ic50cedf80471e14431feb493104eff5ea7d5d429
Signed-off-by: Eyal Bari <ebari@cisco.com>
7 years agoSNAT: static mappings for dhcp addressed interfaces (VPP-590) 28/4828/2
Matus Fabian [Tue, 24 Jan 2017 07:42:28 +0000 (23:42 -0800)]
SNAT: static mappings for dhcp addressed interfaces (VPP-590)

updated API
added test

Change-Id: I3f6017ecf09b924cb320c1b5f323cd33f7a37447
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agoFix coverity defect. 55/4855/1
Vengada [Wed, 25 Jan 2017 07:38:41 +0000 (23:38 -0800)]
Fix coverity defect.
Typo resulted in passing next0[1] instead of next1[0]. Corrected it

Change-Id: I6e863c7c23c8c014ef0fef9ea1368fbaf3bc9809
Signed-off-by: Vengada <venggovi@cisco.com>
7 years agoping: fix double-free crash under VMWare hypervisor 44/4844/2
Andrew Yourtchenko [Tue, 24 Jan 2017 14:47:27 +0000 (15:47 +0100)]
ping: fix double-free crash under VMWare hypervisor

bi0 retrieval from the ping reply events vector was incorrectly done
always from the first element.

For TBD reason the sending of the ping requests under VMWare was batched,
as a result the replies arrive close enough to make the events arrive as
an array, which exposed this bug. KVM never exhibited this behavior, which
explains not seeing this issue there.

Change-Id: I485d6f983571e25baa9407c21ef604937586d8bd
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
7 years agofix OS_ID test in root Makefile 19/4819/3
Gabriel Ganne [Mon, 23 Jan 2017 11:08:58 +0000 (12:08 +0100)]
fix OS_ID test in root Makefile

fixup for 2ce7f9834ab55728520bff0dd15f8d82c10b95a0

redhat, centos -> rpm
debian, ubuntu -> deb

Change-Id: I0a07d3689b2bb5656d1bc688677680f83ac2e0bb
Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>