vpp.git
7 years agoFix endian issue in ARP Event Reply 58/5658/3
Wojciech Dec [Tue, 7 Mar 2017 18:30:39 +0000 (19:30 +0100)]
Fix endian issue in ARP Event Reply

ARP Event reply sw_if_index was getting passed in host byte order.

Change-Id: Ifae8673906ac2c4233f146786a3d02c38280809b
Signed-off-by: Wojciech Dec <wdec@cisco.com>
7 years agoCLI: hide deleted interfaces 33/5633/4
Eyal Bari [Mon, 6 Mar 2017 09:47:50 +0000 (11:47 +0200)]
CLI: hide deleted interfaces

Added a new interface flag - HIDDEN
Indicates that the interface does not appear in CLI/API.
Added three new interface functions:
vnet_sw_interface_is_api_visible - indicates if the sw_if_index should be displayed
vnet_swif_is_api_visible - variant for sw_interface
vnet_sw_interface_is_api_valid - tests if the given if_index exists and is visible
                                 for future use by api functions

Changed the unformat function to only accept visible interfaces
Changed vxlan to add the HIDDEN flag to deleted interfaces

This is the first part in a series to hide deleted interfaces from the API

Change-Id: Ib43cc5cf1c450856560faf4e84126eb3671038e2
Signed-off-by: Eyal Bari <ebari@cisco.com>
7 years agoIn-band OAM active probe (VPP-471) 24/4924/11
AkshayaNadahalli [Mon, 23 Jan 2017 16:35:35 +0000 (22:05 +0530)]
In-band OAM active probe (VPP-471)

Change-Id: Icf0ddf76ba1c8b588c79387284cd0349ebc6e45f
Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>
7 years agoCGN: Deterministic NAT (VPP-623) 99/5099/26
Matus Fabian [Fri, 10 Feb 2017 11:48:01 +0000 (03:48 -0800)]
CGN: Deterministic NAT (VPP-623)

Inside user is statically mapped to a set of outside ports. Support endpoint
dependent mapping to deal with overloading of the outside ports.

Change-Id: I8014438744597a976f8ae459283e8b91f63b7f72
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agoAdd setting of tenant VRF id for SNAT addresses (VPP-641) 42/5642/4
Juraj Sloboda [Tue, 7 Mar 2017 03:55:21 +0000 (19:55 -0800)]
Add setting of tenant VRF id for SNAT addresses (VPP-641)

Change-Id: I9c0bb35ba16e04206ac481495f6638d3763754a1
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
7 years agofix uninitialized ip6 keys within session.c 37/5637/2
Gabriel Ganne [Mon, 6 Mar 2017 14:31:18 +0000 (15:31 +0100)]
fix uninitialized ip6 keys within session.c

fix for functions:
- stream_session_lookup_listener6
- stream_session_lookup6
- stream_session_lookup_transport6
- stream_session_connect_notify

eg.
~/vpp/build-data/../src/vnet/session/session.c: In function 'stream_session_lookup_listener6':
~/vpp/build-data/../src/vnet/session/session.c:222:17: error: 'kv6.key[3]' is used uninitialized in this function [-Werror=uninitialized]
   session_kv6_t kv6;
                 ^
~/vpp/build-data/../src/vnet/session/session.c:222:17: error: 'kv6.key[2]' is used uninitialized in this function [-Werror=uninitialized]
~/vpp/build-data/../src/vnet/session/session.c:222:17: error: 'kv6.key[5]' is used uninitialized in this function [-Werror=uninitialized]
~/vpp/build-data/../src/vnet/session/session.c:222:17: error: 'kv6.key[4]' is used uninitialized in this function [-Werror=uninitialized]

Change-Id: I221cafbaf4effa43662ffcc7bf5f9581e28f9db9
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
7 years agosilence -Wmaybe-uninitialized warning 38/5638/3
Gabriel Ganne [Mon, 6 Mar 2017 15:08:52 +0000 (16:08 +0100)]
silence -Wmaybe-uninitialized warning

It does not look like it actually can be used uninitialized ... but gcc
complains, so with Werror this prevents from compiling.

sample warning output:
In file included from /home/gannega/export/vpp/build-data/../src/vnet/handoff.h:21:0,
                 from /home/gannega/export/vpp/build-data/../src/plugins/snat/in2out.c:19:
/home/gannega/export/vpp/build-data/../src/plugins/snat/in2out.c: In function 'snat_in2out_node_fn_inline':
/home/gannega/export/vpp/build-data/../src/vnet/ip/ip4_packet.h:244:15: error: 'inner_ip0' may be used uninitialized in this function [-Werror=maybe-uninitialized]
   i->checksum = 0;
               ^
/home/gannega/export/vpp/build-data/../src/plugins/snat/in2out.c:433:17: note: 'inner_ip0' was declared here
   ip4_header_t *inner_ip0;

Change-Id: If7c35dfb528861fd4ec6374aa1343b48f0f93057
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
7 years agoPython API: Synchronous mode. 48/5648/2
Ole Troan [Mon, 6 Mar 2017 22:51:57 +0000 (23:51 +0100)]
Python API: Synchronous mode.

Change-Id: Ic8f186dbb35bb4e2e191d311cab51315a88a2d81
Signed-off-by: Ole Troan <ot@cisco.com>
7 years agomake per-adj counters configurable 45/5645/3
Neale Ranns [Tue, 21 Feb 2017 13:33:14 +0000 (05:33 -0800)]
make per-adj counters configurable

Change-Id: Ifdd2b204ecf7d855f1269c11224b9c825311904d
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoFixing loadbalancing over ECMP for recursive routes 41/5641/2
AkshayaNadahalli [Mon, 6 Mar 2017 18:22:29 +0000 (18:22 +0000)]
Fixing loadbalancing over ECMP for recursive routes

Change-Id: Ibe1734aeb94bc17cd8d8bc6f35ca7b780aaa9599
Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>
7 years agoioam: manycast using iOAM and SR (VPP-628) 46/4746/16
Shwetha Bhandari [Wed, 18 Jan 2017 07:13:54 +0000 (12:43 +0530)]
ioam: manycast using iOAM and SR (VPP-628)

Change-Id: I6d2afda991d771fb4a89fc3f6544f8e940a9b9f0
Signed-off-by: Shwetha Bhandari <shwethab@cisco.com>
7 years agoBFD: documentation 29/5629/4
Klement Sekera [Tue, 28 Feb 2017 10:56:48 +0000 (11:56 +0100)]
BFD: documentation

Change-Id: I06a23d24340c5527f3848177d2178bf3e55f7614
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoRemove unused multicast fields from vnet_buffer_t 40/5640/2
Neale Ranns [Tue, 21 Feb 2017 11:37:27 +0000 (03:37 -0800)]
Remove unused multicast fields from vnet_buffer_t

Change-Id: I8db55443c0beb33a89520ab3167f703f8646ec9e
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agofeatures: take device-input buffer advance value directly 31/5631/4
Damjan Marion [Mon, 6 Mar 2017 11:02:50 +0000 (12:02 +0100)]
features: take device-input buffer advance value directly

Change-Id: Ifac7d9134d03d79164ce6f06ae9413279bbaadb3
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoBFD: drop rpc call if packet doesn't match session 28/5628/3
Klement Sekera [Fri, 3 Mar 2017 07:51:08 +0000 (08:51 +0100)]
BFD: drop rpc call if packet doesn't match session

In a very unlikely scenario, during which a session is removed
and replaced with a different session sharing the same session
index, while a packet is in-flight during RPC call, drop that packet.

Change-Id: If1c4a77fc2ab460bae2435db066a133185b98747
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoBFD: remove unneeded code 27/5627/3
Klement Sekera [Mon, 6 Mar 2017 02:27:05 +0000 (03:27 +0100)]
BFD: remove unneeded code

Change-Id: I0371e8e3c94bb793e3c64d5f51aaebf19dddc4b4
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agomake test: reset object registry if vpp dies 95/5595/4
Klement Sekera [Thu, 2 Mar 2017 10:29:19 +0000 (11:29 +0100)]
make test: reset object registry if vpp dies

Change-Id: If0e30837e07a21f3912676f5147cb242d3d2b235
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agomake test: tell vpp to set coredump size 94/5594/4
Klement Sekera [Thu, 2 Mar 2017 10:27:11 +0000 (11:27 +0100)]
make test: tell vpp to set coredump size

Unless overridden by COREDUMP_SIZE env variable, tell VPP to set
coredump size to unlimited, otherwise use $COREDUMP_SIZE as
the argument.

Change-Id: Ia2a6508207c66a171b33d272c820b1deb4a83e82
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoAdd support for unix { coredump-size <size> }. 93/5593/4
Klement Sekera [Thu, 2 Mar 2017 10:13:30 +0000 (11:13 +0100)]
Add support for unix { coredump-size <size> }.

Use setrlimit to set the core size limit if the argument is passed to
vpp.

Change-Id: Ie76c082b2af81337310fcb1925af915a42067f15
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agospan: wrong destination interface in tracing 27/4827/5
Pavel Kotucek [Tue, 24 Jan 2017 07:33:38 +0000 (08:33 +0100)]
span: wrong destination interface in tracing

Change-Id: I9bea397e50fff4211c6e1e31503829e4dd16be42
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoQuad loop interface-output node 30/5630/2
Damjan Marion [Mon, 6 Mar 2017 10:53:10 +0000 (11:53 +0100)]
Quad loop interface-output node

Change-Id: I0c24d9af90241083ae56b1d52239d2d55e70b65e
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agodpdk: init.c should be under device/ 32/5632/2
Damjan Marion [Mon, 6 Mar 2017 11:06:29 +0000 (12:06 +0100)]
dpdk: init.c should be under device/

Change-Id: I80831cee062a38a0f5ab1f1e56c2dc6dcd512b9d
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agomake test: don't run if other vpp process runs 92/5592/3
Klement Sekera [Thu, 2 Mar 2017 07:16:20 +0000 (08:16 +0100)]
make test: don't run if other vpp process runs

Check if there are existing vpp processes before running the test suite
and refuse to run if there are. This prevents the removal of other test
suite temporary files and also makes sure that if the machine is loaded
by (zombie) vpp processes, interactive tests (like bfd) won't fail.

Change-Id: I88a74098188cb3f51966de5db19d7f80f39e51e2
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoSNAT: session dump last heard type fix 14/5614/2
Martin [Fri, 3 Mar 2017 13:35:41 +0000 (05:35 -0800)]
SNAT: session dump last heard type fix

Change-Id: I3323f7d4bb5da4bc2b19637964e5467ac92680cd
Signed-off-by: Martin <magalik@cisco.com>
7 years agoFix duplicate binary API registration messages / bugs 22/5622/1
Dave Barach [Sat, 4 Mar 2017 13:35:48 +0000 (08:35 -0500)]
Fix duplicate binary API registration messages / bugs

Changed vat_api_hookup(...) to <plugin-name>_api_hookup, change to
static functions. Fixed the related emacs-lisp plugin skeleton.

Change-Id: Id14f8fc3138751f469d48fecb26175e938f5f028
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoExport session.api.h for out-of-tree builds 21/5621/2
Alexander Popovsky (apopovsk) [Sat, 4 Mar 2017 00:06:26 +0000 (16:06 -0800)]
Export session.api.h for out-of-tree builds

session.api.h is included in src/vnet/vnet_all_api_h.h
since 68b0fb0c620, as such it should be added to the 'devel' package
and installed for out-of-tree builds which use binary VPP API

Change-Id: Ie8ad03d8df2a96cbc6913f767500d5ff34dcc915
Signed-off-by: Alexander Popovsky (apopovsk) <apopovsk@cisco.com>
7 years agoDHCPv6 - Be consistent with the use of MFIB index as the RX FIB index for DHCPv6... 16/5616/2
Neale Ranns [Mon, 20 Feb 2017 17:42:36 +0000 (09:42 -0800)]
DHCPv6 - Be consistent with the use of MFIB index as the RX FIB index for DHCPv6. For the same table ID, the unicast-FIB index is not necessarily the same value as the multicast-FIB index, since features (like LISP, SR) can create unicast-tables, and thus affect only the index of the unicast FIBs

Change-Id: Ibfa334d7eda822f742c241b7ce69a6271b4753a9
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoCleanup URI code and TCP bugfixing 03/5603/7
Florin Coras [Wed, 1 Mar 2017 16:17:34 +0000 (08:17 -0800)]
Cleanup URI code and TCP bugfixing

- Add CLI/API to enable session layer, by default it's disabled
- Improve rcv wnd computation
- Improvements to tx path
- URI code cleanup
- Builtin test tcp server
- Improve src port allocation

Change-Id: I2ace498e76a0771d4c31a8075cc14fe33d7dfa38
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agoEvolving SRv6 (Segment Routing for IPv6) 08/5608/10
Pablo Camarillo [Wed, 7 Dec 2016 17:34:18 +0000 (18:34 +0100)]
Evolving SRv6 (Segment Routing for IPv6)

Implements:
1.- SR Policies with several (weighted) SID lists
2.- Binding SID
3.- SR LocalSIDs with support for the following functions
- End
- End.X
- End.DX6
- End.DX4
- End.DX2
- End.DT6
- End.DT2
- End.B6
- End.B6.Encaps
4.- SR Steering policies (to steer a traffic through an SR Policy)
- Support for IPv6 traffic (IPv6 Encapsulation / SRH insertion)
- Support for IPv4 traffic (IPv6 Encapsulation)
- Support for L2 traffic
(T.Insert / T.Encaps)
5.- Doxygen documentation
6.- Framework (APIs) to allow the definition of new SR LocalSID behaviors by means of plugins
7.- Sample SRv6 LocalSID plugin

Change-Id: I2de3d126699d4f11f54c0f7f3b71420ea41fd389
Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>
7 years agotiming wheel: avoid queueing expired timers and caching wrong earliest expiry value 76/4976/8
Andrew Yourtchenko [Wed, 1 Feb 2017 14:08:21 +0000 (14:08 +0000)]
timing wheel: avoid queueing expired timers and caching wrong earliest expiry value

This commit addresses two issues:

1) Avoid refilling the timing wheel with stale timers in rare circumstances.

The timing_wheel_advance() may call advance_cpu_time_base() to update the cpu_time_base,
which is used as a starting point for 32-bit offsets of events on the timer wheel.

If the timing_wheel_advance() is not called for a longer period of time,
then advance_cpu_time_base() is called multiple times in a loop.

advance_cpu_time_base() has two parts - the first part adjusting
the base for the existing event, and the second part trying to fill
with the new events from the overflow queue, which now fit into
the 32-bit-sized time window off the new cpu_time_base.

In doing so this second part incorrectly considers the timers which
have just expired (have the time index == w->current_time_index)
to still be unexpired and places them onto the wheel instead of returning
them as expired.

For quick successive executions of timing_wheel_advance() these events
result in a relatively benign late expiry - the newly placed events expire
during the next call to timing_wheel_advance().

If the successive executions of timing_wheel_advance() result in multiple
invocations of advance_cpu_time_base(), the Nth iteration of it may place a stale
event on the timer wheel if the event time index equals to the current time index
(which has been previously purged), while the N+1th iteration of it will trigger
an assert violation on this stale event, resulting in a reboot.

As part of the testing, two test runs were done before and after the change.
Each of the test runs consisted of the following command:

for i in `seq 1 300`; do ./test_timing_wheel validate events 10000 synthetic-time verbose seed $i iter 10000 wait-time 2 max-time 300; done

The test runs completed identically, however they uncovered the following assert failure:

vpp/src/vppinfra/test_timing_wheel.c:225 (test_timing_wheel_main) assertion `min_next_time[0] <= tm->events[i]' fails

This assert is the second issue covered by this commit:

2) Inserting a new element may result in incorrect cached expiry value

The w->cached_min_cpu_time_on_wheel is being updated within timing_wheel_advance() every time
the elements are expired.

However, it is not touched if the new elements are inserted. Assuming current time is "T"
and the cached min cpu time is "T+X", if a new element is being inserted whose expiry time is "T+Y",
and Y is such that Y < X, then the value w->cached_min_cpu_time_on_wheel becomes incorrect
until the next expiry event, during which it is updated. The test catches this transient condition
which results in the asserts seen in the runs above.

The solution is to update the w->cached_min_cpu_time_on_wheel within timing_wheel_insert_helper()
as necessary.

Change-Id: I56a65a9a11cc2a1e0b36937a9c6d5ad10233a731
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
7 years agoImplement a loopback instance allocation scheme. 72/5572/3
Jon Loeliger [Thu, 23 Feb 2017 19:57:35 +0000 (13:57 -0600)]
Implement a loopback instance allocation scheme.

To support creating loopback interfaces with a specific
instance number, a new CREATE_LOOPBACK_INSTANCE API call
with flag is_specified and value user_instance is introduced.
Presumably the existing CREATE_LOOPBACK API message will be
obsoleted and revmoved.

The VAT cli commands can now mention and format
the new field as 'instance %d' data.  If no instance
number is named, the old call CREATE_LOOPBACK is used
to maintain backward compatibility.  However, if the
instance is named, the new CREATE_LOOPBACK_INSTANCE
message will be used.

Both the dynamically allocated and user-requested instance
number are tracked in a bitvector.  If is_specified is 0,
the next free instance will be used..  A request for a specific
instance number will be granted if it is available.  On error,
the value ~0 is returned.

Change-Id: I849815563a5da736dcd6bccd262ef49b963f6643
Signed-off-by: Jon Loeliger <jdl@netgate.com>
7 years agoFixed PLUGIN_DISABLE bug 19/5619/1
Pablo Camarillo [Fri, 3 Mar 2017 19:47:55 +0000 (20:47 +0100)]
Fixed PLUGIN_DISABLE bug

Change-Id: I7a0ff25a8f74e6eda3a44f2cd7d2e022683accd9
Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>
7 years agoClean up VXLAN api message handler registration issues 02/5602/3
John Lo [Fri, 3 Mar 2017 00:21:36 +0000 (19:21 -0500)]
Clean up VXLAN api message handler registration issues

Remove the duplcate VXLAN related API handlers from api.c and keep
the proper ones in ./src/vnet/vxlan/vxlan_api.c.

Change-Id: I3b17e17d735bb453d080243bfa2783ce0de64885
Signed-off-by: John Lo <loj@cisco.com>
7 years agoVPP-651: Ensure sw_if_index to node mapping for L2 output path is only done via l2out... 09/5609/2
Andrew Yourtchenko [Fri, 3 Mar 2017 13:11:30 +0000 (13:11 +0000)]
VPP-651: 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.

This fix was first made in stable/1701 under commit e7dcee4027854b0ad076101471afdfff67eb9011.

Change-Id: I32e876ab1e1d498cf0854c19c6318dcf59a93805
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
7 years agoImprove api trace replay consistency checking 00/5600/2
Dave Barach [Thu, 2 Mar 2017 23:24:10 +0000 (18:24 -0500)]
Improve api trace replay consistency checking

Change-Id: I2c4b9646d53e4c008ccbe6d09c6a683c776c1f60
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoIPv6 RA improvements 36/5536/4
Neale Ranns [Sat, 18 Feb 2017 16:16:41 +0000 (08:16 -0800)]
IPv6 RA improvements
 1) tests for RA options
 2) memleaks deleteing a ip6_radv_info_t
 3) MLD prefix code refactoring

Change-Id: I34db103994bd8fbdbbec50b202d72770dd145681
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoChanging the IP table for an interface is an error if the interface already has an... 02/5402/6
Neale Ranns [Tue, 14 Feb 2017 07:20:04 +0000 (23:20 -0800)]
Changing the IP table for an interface is an error if the interface already has an address configured (VPP-601)

Change-Id: I311fc264f73dd3b2b3ce9d7d1c33cd0515b36c4a
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agopython API: work towards python/vpp api separation 70/5570/4
Klement Sekera [Wed, 1 Mar 2017 08:53:19 +0000 (09:53 +0100)]
python API: work towards python/vpp api separation

This change improves vpp_papi behaviour by introducing alternate way of
calling vpp APIs.

The common code is the same:

vpp = VPP(...)
vpp.connect(...)

Calling VPP API is different, instead of deprecated:

vpp.show_version() # deprecated

one should write

vpp.api.show_version()

this allows VPP messages like "connect" and "disconnect" to be used,
once the old API is dropped (in 17.07). Also part of this patch is a
check for name conflict, to prevent VPP object overwriting its own
functionality with generated code based on json files.

Change-Id: I22e573b6a45f8b2a1f0340c5c2597c194fe42ca4
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoVPP-608: fix coverity warning in vppapigen 89/5589/2
Dave Barach [Thu, 2 Mar 2017 12:38:52 +0000 (07:38 -0500)]
VPP-608: fix coverity warning in vppapigen

Change-Id: Ic26216bb03d941c1625a61c1c3340d2d70d84bd0
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoFix create_vlan_subif API using sw_if_index as hw_if_index 91/5591/2
John Lo [Thu, 2 Mar 2017 17:51:45 +0000 (12:51 -0500)]
Fix create_vlan_subif API using sw_if_index as hw_if_index

Also added check for bounded interface.

Change-Id: I44b981d5b6fbe360e0b95c326f3f8b0e6c715468
Signed-off-by: John Lo <loj@cisco.com>
7 years agoClean up binary api message handler registration issues 96/5596/2
Dave Barach [Thu, 2 Mar 2017 18:13:23 +0000 (13:13 -0500)]
Clean up binary api message handler registration issues

Removed a fair number of "BUG" message handlers, due to conflicts with
actual message handlers in api_format.c. Vpp itself had no business
receiving certain messages, up to the point where we started building
in relevant code from vpp_api_test.

Eliminated all but one duplicate registration complaint. That one
needs attention from the vxlan team since the duplicated handlers have
diverged.

Change-Id: Iafce5429d2f906270643b4ea5f0130e20beb4d1d
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agobridge domain: fix members reordered when removing 84/5584/3
Eyal Bari [Thu, 2 Mar 2017 08:43:19 +0000 (10:43 +0200)]
bridge domain: fix members reordered when removing

since adding support for multicast vxlan flooding (flood class tunnel master)
correct flood functionality depends on the order of the memebers vector

solved by using vec_delete instead of vec_del1 which swaps members before deleting the last element

Change-Id: I234f218d49172b4142c567db9699a5cb274e4a66
Signed-off-by: Eyal Bari <ebari@cisco.com>
7 years agoSNAT: user's dump and session dump of a certain snat user. 34/5534/4
magalik [Thu, 9 Feb 2017 07:25:45 +0000 (23:25 -0800)]
SNAT: user's dump and session dump of a certain snat user.

Change-Id: If75a35dbdcb43c1ce0128b8649f2ca3970d3fff5
Signed-off-by: Martin <magalik@cisco.com>
7 years agoRemove the unused VRF ID parameter from the IP neighbour Add/Del API 22/5522/4
Neale Ranns [Sat, 25 Feb 2017 12:20:00 +0000 (04:20 -0800)]
Remove the unused VRF ID parameter from the IP neighbour Add/Del API

Change-Id: Icf0d72f6af1f98c86f78e586c354515ac69804aa
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoDetermine pkt type in dpdk-input node using ethertype only (VPP-647) 63/5563/4
John Lo [Tue, 28 Feb 2017 21:34:35 +0000 (16:34 -0500)]
Determine pkt type in dpdk-input node using ethertype only (VPP-647)

Remove reliance on DPDK driver provided mbuf packet type in dpdk-input
node as some NIC driver provide misleading information. Now using
ethertype from the packet itself to determine packet type for next node.

Change-Id: Ie7b514a984f9382c29f1a1e3eb423d68f817c064
Signed-off-by: John Lo <loj@cisco.com>
7 years agoUpdate CSIT tests 170220 -> 170302 85/5585/2
Jan Gelety [Thu, 2 Mar 2017 08:51:27 +0000 (09:51 +0100)]
Update CSIT tests 170220 -> 170302

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

Change-Id: Ia8078ae23e0e6fb701e141fd0701fb82987743d7
Signed-off-by: Jan Gelety <jgelety@cisco.com>
7 years agoFix LISP Coverity warning 50/5550/2
Florin Coras [Tue, 28 Feb 2017 12:13:21 +0000 (04:13 -0800)]
Fix LISP Coverity warning

Change-Id: Id1c3832609859ed004bacba0ced0d07dafd6c409
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agoVPP-648: CLI Memory leak with invalid parameter 81/5581/2
Billy McFall [Wed, 1 Mar 2017 22:01:06 +0000 (17:01 -0500)]
VPP-648: CLI Memory leak with invalid parameter

After VPP-635 was merged, did one more pass. While the code was waiting
to be merged, a few changes were merged to master with the same issue.
This is a few additional changes addressing the same issue. See VPP-635.

Change-Id: I7abeac5c260c1e2e9d9d318fd1aae24cd6932efc
Signed-off-by: Billy McFall <bmcfall@redhat.com>
7 years agoBFD: command line interface 54/5554/11
Klement Sekera [Thu, 23 Feb 2017 08:26:30 +0000 (09:26 +0100)]
BFD: command line interface

Implement command line interface to the BFD binary APIs. Add
corresponding unit tests.

Change-Id: Ia0542d0bc4c8d78e6f7b777a08fd94ebfe4d524f
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agodpdk: be a plugin 95/4595/20
Damjan Marion [Tue, 28 Feb 2017 18:22:22 +0000 (19:22 +0100)]
dpdk: be a plugin

Change-Id: I238258cdeb77035adc5e88903d824593d0a1da90
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agovppinfra: fix issue when copying 16 bytes with clib_memcpy 79/5579/2
Damjan Marion [Wed, 1 Mar 2017 19:53:59 +0000 (20:53 +0100)]
vppinfra: fix issue when copying 16 bytes with clib_memcpy

Current code wos copying same data twice when length is 16.

Change-Id: I8d935b32f61672aaea9789c097a5083ae8f78cdd
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoInitial Release notes for 17.04. 74/5574/2
Ole Troan [Wed, 1 Mar 2017 18:27:24 +0000 (19:27 +0100)]
Initial Release notes for 17.04.

Change-Id: I91a38fe02646438a0cdad92cbb66342a437e8ff9
Signed-off-by: Ole Troan <ot@cisco.com>
7 years agoAdd MAINTAINERS file 47/5547/5
Damjan Marion [Fri, 17 Feb 2017 16:11:35 +0000 (17:11 +0100)]
Add MAINTAINERS file

Change-Id: I67819c72a5b3de7bcc7d55ab34f0c95f947578e9
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoVPP-598: tcp stack initial commit 61/5561/7
Dave Barach [Tue, 28 Feb 2017 20:15:56 +0000 (15:15 -0500)]
VPP-598: tcp stack initial commit

Change-Id: I49e5ce0aae6e4ff634024387ceaf7dbc432a0351
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agoFix buffer template copy 71/5571/2
Dave Barach [Wed, 1 Mar 2017 16:38:02 +0000 (11:38 -0500)]
Fix buffer template copy

Change-Id: If451c9cb68719fc816999b0330b9be3a0169176a
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agodevices: vnet_get_aggregate_rx_packets should not be dpdk specific 62/5562/3
Damjan Marion [Tue, 28 Feb 2017 20:55:28 +0000 (21:55 +0100)]
devices: vnet_get_aggregate_rx_packets should not be dpdk specific

Change-Id: I1152db4b7d1602653d7d8b2c6cb28cf5c526c4ca
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agodpdk: retire support for dpdk 16.07 64/5564/1
Damjan Marion [Tue, 28 Feb 2017 22:26:30 +0000 (23:26 +0100)]
dpdk: retire support for dpdk 16.07

Change-Id: I8585552c026415340fe9fd0458cb8450da3c4ae2
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoClear L2 output config on interface mode change to L3 (VPP-651) 58/5558/3
John Lo [Tue, 28 Feb 2017 18:10:52 +0000 (13:10 -0500)]
Clear L2 output config on interface mode change to L3 (VPP-651)

With VPP-651, the L2 output config with L2-tag rewrite was not
cleared when a sub-interface is deleted. Subsequently, when the
same sw_if_index was reused for another interface, the L2 output
config with L2-tag rewrite remained on the new interface.

On deleting a (sub-)interface which is in L2 mode, it will be
changed to L3 mode first to clear any L2 config. The L2 to L3 mode
change path did address L2 input config cleanup. It is now fixed
to also clear L2 output config.

Change-Id: I3352a89d92e1b27340a5adcf75bbaa01a5050c29
Signed-off-by: John Lo <loj@cisco.com>
7 years agovlib: add buffer cloning support 72/4872/17
Damjan Marion [Wed, 25 Jan 2017 13:18:03 +0000 (14:18 +0100)]
vlib: add buffer cloning support

Change-Id: I50070611af15b2b4cc29664a8bee4f821ac3c835
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoFix warning in generated code 38/5538/2
Dave Barach [Mon, 27 Feb 2017 14:25:39 +0000 (09:25 -0500)]
Fix warning in generated code

Change-Id: Ie56fca84a8a0ed77ee480e8078e6e9b3f4cef105
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoTrace plugin binary API message range allocation 40/5540/2
Dave Barach [Mon, 27 Feb 2017 18:10:27 +0000 (13:10 -0500)]
Trace plugin binary API message range allocation

Change-Id: I544a5d2906548607b69f999567b92f802fddddbb
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoBFD: disable debug prints 41/5541/1
Klement Sekera [Mon, 27 Feb 2017 11:49:27 +0000 (12:49 +0100)]
BFD: disable debug prints

Change-Id: I356581f4bdf47b9610b9e50f4f8db9a1510872a7
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agovlib: add VLIB_BUFFER_EXT_HDR_VALID flag 32/5532/2
Damjan Marion [Mon, 27 Feb 2017 10:29:20 +0000 (11:29 +0100)]
vlib: add VLIB_BUFFER_EXT_HDR_VALID flag

Change-Id: If56c66dd12eded1cc997087de5fd1b975766c4e2
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years ago[Proxy] ARP tests 03/5503/6
Neale Ranns [Fri, 17 Feb 2017 05:57:05 +0000 (21:57 -0800)]
[Proxy] ARP tests

Change-Id: I40d6d763b55a26cdee0afef85d1acdd19dd10dd6
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoAdd GPE CLI/API for setting encap mode 66/5466/6
Filip Tehlar [Tue, 21 Feb 2017 17:28:34 +0000 (18:28 +0100)]
Add GPE CLI/API for setting encap mode

Change-Id: Id89e23fb5d275572b2356c073dfa0f55719e1a76
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agofix:vxlan mcast adj - added as ucast dpo adj 27/5527/3
Eyal Bari [Sun, 26 Feb 2017 13:27:27 +0000 (15:27 +0200)]
fix:vxlan mcast adj - added as ucast dpo adj

Change-Id: Ic2447313075cd46f265202dffaaac894f48ddf6d
Signed-off-by: Eyal Bari <ebari@cisco.com>
7 years agoLoad plugins in alphabetical order 25/5525/3
Dave Barach [Sat, 25 Feb 2017 21:38:12 +0000 (16:38 -0500)]
Load plugins in alphabetical order

API traces contain absolute message numbers.  Loading plugins in
directory (vs. alphabetical) order makes trace replay fragile.

Change-Id: I46b3a3b6a9843a383d42269fca0cf5a789486eaf
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoBFD: echo function 88/5488/3
Klement Sekera [Thu, 16 Feb 2017 09:53:53 +0000 (10:53 +0100)]
BFD: echo function

Change-Id: Ib1e301d62b687d4e42434239e7cd412065c28da0
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoAdd NSH to GPE decap path 02/5502/10
Florin Coras [Thu, 23 Feb 2017 07:38:08 +0000 (23:38 -0800)]
Add NSH to GPE decap path

Change-Id: I97681322fa9ca81736100b4d32eab84868886c7b
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agoMFIB: changes to improve route add/delete performance 13/5513/2
Neale Ranns [Fri, 24 Feb 2017 16:29:22 +0000 (08:29 -0800)]
MFIB: changes to improve route add/delete performance

Change-Id: I063d85200d12b09545ae1c373c7fc69112ae3b34
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoEnable tests with VRF reset 01/5501/3
Jan Gelety [Thu, 23 Feb 2017 14:01:29 +0000 (15:01 +0100)]
Enable tests with VRF reset

- needed to filter out ICMPv6 Neighbor Discovery - Neighbor
  Advertisement packets

- needed to reset routes of reset VRFs learned from ICMPv6
  Neighbor Discovery - Neighbor Advertisement packets after
  run_verify_test()

Change-Id: I8238d8f73428d511ab68ab7765d99ce7dc3a6633
Signed-off-by: Jan Gelety <jgelety@cisco.com>
7 years agoFIB: 1) fix pool realloc during prefix export. 2) don't walk off the end of the path... 11/5511/2
Neale Ranns [Fri, 24 Feb 2017 14:16:01 +0000 (06:16 -0800)]
FIB: 1) fix pool realloc during prefix export. 2) don't walk off the end of the path-extension vector

Change-Id: I8bd8f6917ace089edb1f65bd017b478ee198c03f
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoVPP-650: handle buffer failure in vlib_buffer_copy(...) 05/5505/2
Dave Barach [Thu, 23 Feb 2017 22:11:26 +0000 (17:11 -0500)]
VPP-650: handle buffer failure in vlib_buffer_copy(...)

Change-Id: I6aac48d780fcd935818221044eae50067f225175
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoFixed QAT device binding and device unbinding when vpp package is removed 98/5498/3
Radu Nicolau [Thu, 23 Feb 2017 14:28:49 +0000 (14:28 +0000)]
Fixed QAT device binding and device unbinding when vpp package is removed

Change-Id: I35ad6a42093cad0945df1df09a39c63c4560dce6
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
7 years agoMFIB memory leak. free the per-source interface hash 08/5508/2
Neale Ranns [Fri, 24 Feb 2017 09:34:14 +0000 (01:34 -0800)]
MFIB memory leak. free the per-source interface hash

Change-Id: I0ccb337eb0ed50ccc64193533cd816f6e36e6db5
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoVPP-279: Document changes for vnet/vnet/devices 81/5481/2
Billy McFall [Wed, 22 Feb 2017 19:13:42 +0000 (14:13 -0500)]
VPP-279: Document changes for vnet/vnet/devices

Add doxygen documentation for dpdk CLI commands.

Outside of adding documentation to the CLI Commands, modified the CLI
code as follows:
* The "set dpdk interface placement" command allows the user to move
  interface/queues to a different thread. But there is only a subset of
  threads that are valid. Updated the "show dpdk interface placement"
  command to display all valid threads, even if all interface/queues
  have been moved off. Updated the "show dpdk interface hqos placement"
  the same way.
* There is a command to modify the Subport attributes, but no way to
  display the changes. Added a "Subport" section to the "show dpdk
  interface hqos" command.
* Reworked the "set dpdk interface hqos subport" command.
  - The current implementation had a local rte_sched_subport_params
    structure and initialized it to default values, then overwrote with
    what was input. The side effect of this is that if all the current
    data is non-default, and a new command is entered with just one
    attribute, all the remaining attrbutes are getting set back to
    default under the cover. Very confusing for the user. Updated the
    code to read the current value and overwrite what has changed.
  - DPDK does not have a read subport data, so no way query the current
    applied values. The set command was not updating the local copy that
    is created at init. Modified the code to store the updated values if
    the DPDK apply function was successful.
  - Several functions repeated the same code to get a pointer to the
    local HQoS data. Added a utility function.get_hqos(..), to perform
    this action. Did not port other code to use new function.
* The "set dpdk interface hqos pktfield" allows the user to set the
  packet fields required for classifiying the incoming packet. The
  classification is across three fields (subport, pipe, tc). The command
  was using 0,1,2 to represent these three fields, but had no
  explanation regarding these magic numbers. Updated the command to take
  the three tokens (subport, pipe, tc) for more clarity. For legacy
  sake, still allow 0,1,2 to be entered. Also updated the "show dpdk
  interface hqos" command to show these tokens.
* The "set dpdk interface hqos tctbl" maps an interface and value 0-63
  to a traffic class and queue. The "show dpdk interface hqos" command
  showed the internal DPDK magic number for traffic class and queue.
  Updated the show command to display what was input instead of the
  magic number.
* The "show dpdk hqos queue" command always returns zeros by default
  because RTE_SCHED_COLLECT_STATS is not defined in DPDK. Took me a
  while to figure out why I wasn't getting values returned. So returned
  an error message if RTE_SCHED_COLLECT_STATS is not defined instead of
  zeros.

Change-Id: I22b640d668245839ee977ef3602175c61d91d24c
Signed-off-by: Billy McFall <bmcfall@redhat.com>
7 years agoFix vpp built-in version of api_unformat_sw_if_index(...) 79/5479/4
Dave Barach [Wed, 22 Feb 2017 17:44:56 +0000 (12:44 -0500)]
Fix vpp built-in version of api_unformat_sw_if_index(...)

Change-Id: I103fe19a1ecbaf3746ec6b957fa1010458cc9fae
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoRemove prints from LISP test 89/5489/2
Filip Tehlar [Thu, 23 Feb 2017 08:11:35 +0000 (09:11 +0100)]
Remove prints from LISP test

Change-Id: I2776e0a0661794b1c0076519b08807080a1282fb
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agoClean up "binary-api" help string, arg parse bugs 86/5486/1
Dave Barach [Wed, 22 Feb 2017 22:29:20 +0000 (17:29 -0500)]
Clean up "binary-api" help string, arg parse bugs

Change-Id: I12311be8ebd376b8aeac25364d010d70a85c7874
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoFix LISP and ONE crc marcos 77/5477/3
Filip Tehlar [Wed, 22 Feb 2017 17:09:49 +0000 (18:09 +0100)]
Fix LISP and ONE crc marcos

Change-Id: Icd0dba04d8929456228136d1f25c459bffcc6a7a
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agoSupport multiple plugin build in the sample-plugin 78/5478/2
Anlu Yan [Wed, 22 Feb 2017 17:18:11 +0000 (09:18 -0800)]
Support multiple plugin build in the sample-plugin

This follows the setup in the src/plugins directory, and allows
multiple plugin build independent of the main vpp source tree.

Change-Id: I9e20f4087d72ad89c6dc3f505bace4628385a40e
Signed-off-by: Anlu Yan <ayan@cisco.com>
7 years agoVPP-635: CLI Memory leak with invalid parameter 48/5148/5
Billy McFall [Wed, 15 Feb 2017 16:39:12 +0000 (11:39 -0500)]
VPP-635: CLI Memory leak with invalid parameter

In the CLI parsing, below is a common pattern:
  /* Get a line of input. */
  if (!unformat_user (input, unformat_line_input, line_input))
    return 0;

  while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT)
    {
      if (unformat (line_input, "x"))
x = 1;
      :
      else
return clib_error_return (0, "unknown input `%U'",
  format_unformat_error, line_input);
    }
  unformat_free (line_input);

The 'else' returns if an unknown string is encountered. There a memory
leak because the 'unformat_free(line_input)' is not called. There is a
large number of instances of this pattern.

Replaced the previous pattern with:
  /* Get a line of input. */
  if (!unformat_user (input, unformat_line_input, line_input))
    return 0;

  while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT)
    {
      if (unformat (line_input, "x"))
x = 1;
      :
      else
        {
  error = clib_error_return (0, "unknown input `%U'",
     format_unformat_error, line_input);
  goto done:
        }
    }

  /* ...Remaining code... */

done:
  unformat_free (line_input);
  return error;
}

In multiple files, 'unformat_free (line_input);' was never called, so
there was a memory leak whether an invalid string was entered or not.

Also, there were multiple instance where:
  error = clib_error_return (0, "unknown input `%U'",
     format_unformat_error, line_input);
used 'input' as the last parameter instead of 'line_input'. The result
is that output did not contain the substring in error, instead just an
empty string. Fixed all of those as well.

There are a lot of file, and very mind numbing work, so tried to keep
it to a pattern to avoid mistakes.

Change-Id: I8902f0c32a47dd7fb3bb3471a89818571702f1d2
Signed-off-by: Billy McFall <bmcfall@redhat.com>
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agojvpp: remove unnecessary msg_id_base caching 30/5430/2
Marek Gradzki [Mon, 20 Feb 2017 08:14:13 +0000 (09:14 +0100)]
jvpp: remove unnecessary msg_id_base caching

Jvpp code uses CRCs to obtain msg IDs.

Checking api_main_t.msg_index_by_name_and_crc is
enough to detect API mismatch.
Calling vl_client_get_first_plugin_msg_id is not needed.

Also fixes VPP-627.

Change-Id: Ie3085dfa458795fa11f17615ac94e76197a1c8cd
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
7 years agoConsolidate DHCP v4 and V6 implementation. No functional change intended 70/5470/1
Neale Ranns [Thu, 16 Feb 2017 11:38:59 +0000 (03:38 -0800)]
Consolidate DHCP v4 and V6 implementation. No functional change intended

The DHCP proxy and VSS information maintained by VPP is the same for v4 and v6, so we can manage this state using the same code.
Packet handling is cleary different, so this is kept separate.

Change-Id: I10f10cc1f7f19debcd4c4b099c6de64e56bb0c69
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoAdd ref to test framework docs in doxygen output. 07/5407/2
Dave Wallace [Fri, 17 Feb 2017 05:10:53 +0000 (00:10 -0500)]
Add ref to test framework docs in doxygen output.

Change-Id: If3081c4a9dde00cd522d1fc5a7daa9b1849684bf
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
7 years agofix trace frame-queue unformat of index 60/5460/2
Matus Fabian [Wed, 22 Feb 2017 06:27:13 +0000 (22:27 -0800)]
fix trace frame-queue unformat of index

Change-Id: Id891af5ef3c4afe877282b34cd03fc43886940a3
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agoFix last run time update for timer wheel 59/5459/2
Florin Coras [Wed, 22 Feb 2017 03:26:51 +0000 (19:26 -0800)]
Fix last run time update for timer wheel

Change-Id: I9ac04b15440297c154ed1e3fba888915044cb245
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agoRepair SNAT's IPFIX and IF-add-del test functions. 58/5458/2
Jon Loeliger [Tue, 21 Feb 2017 19:49:37 +0000 (13:49 -0600)]
Repair SNAT's IPFIX and IF-add-del test functions.

Inspection shows that the names of two functions:
    api_snat_ipfix_enable_disable()
    api_snat_add_del_interface_addr()
don't match their bodies and have been swapped.
Make the world right again by swapping them to match.

Change-Id: Ieefd7f0fdbf52794e8649b0cbbcf6e1403c1b90a
Signed-off-by: Jon Loeliger <jdl@netgate.com>
7 years agoAdd Overlay Network Engine API 32/5432/6
Filip Tehlar [Fri, 17 Feb 2017 13:29:11 +0000 (14:29 +0100)]
Add Overlay Network Engine API

Change-Id: I6b5984df176688f0722a2888e73f05d8ed8b9310
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agodhcp: multiple additions 49/5449/4
Neale Ranns [Tue, 14 Feb 2017 15:28:41 +0000 (07:28 -0800)]
dhcp: multiple additions

DHCP additions:
1) DHCPv4 will only relay a message back to the client, if the Option82 information is present. So make this the default.
2) It is no longer possible to select via the API to "insert circuit ID" - since this is now default
3) Remove the version 2 API since it's now the same as version 1.
4) Adding the VSS option is now conditional only on the presence of VSS config (not the 'insert' option in the set API)
5) DHCP proxy dump via API

Change-Id: Ia7271ba8c1d4dbf34a02c401d268ccfbb1b74f17
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agocryptodev: Automatically download and build ISA-L Crypto library 33/5433/3
Radu Nicolau [Mon, 20 Feb 2017 12:27:02 +0000 (12:27 +0000)]
cryptodev:  Automatically download and build ISA-L Crypto library

Change-Id: I5454053461e6fb98e7f58f9562efde3590bb7cb5
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
7 years agoAdd basic 4o4 LISP unit test 15/5015/8
Filip Tehlar [Tue, 31 Jan 2017 09:39:16 +0000 (10:39 +0100)]
Add basic 4o4 LISP unit test

Change-Id: I2d812153d7afe7980346382b525af89b3c47e796
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agotest: ip6 vrf instances multi-context test (CSIT-497) 33/4433/4
Jan Gelety [Tue, 20 Dec 2016 16:32:45 +0000 (17:32 +0100)]
test: ip6 vrf instances multi-context test (CSIT-497)

- add/delete IPv6 VRF instances and verify results by parsing output
  of ip6_fib_dump API command and by traffic

- small changes in assert_nothing_captured and get_capture to get logged
  unexpected packets

Change-Id: I32207447be2df942e335aa9890ff52fb88e46597
Signed-off-by: Jan Gelety <jgelety@cisco.com>
7 years agoRename LISP GPE API to GPE 35/5435/3
Filip Tehlar [Mon, 20 Feb 2017 14:20:37 +0000 (15:20 +0100)]
Rename LISP GPE API to GPE

Change-Id: I133c55bce46d40ffddabbbf8626cbd3d072522d4
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agoVPP-540 : pbb tag rewrite details 15/4715/8
Pavel Kotucek [Mon, 16 Jan 2017 16:01:56 +0000 (17:01 +0100)]
VPP-540 : pbb tag rewrite details

Extended sw_interface_dump to provide 802.1ah (pbb) tag rewrite info if
present.

Extended log "l2-output" to provide raw data to display result of
prospetive pbb tag rewrite. Tracing is moved after l2output_vtr to show
these changes.

Change-Id: I8b7cb865dc67ce21afab402cc086dac35f7c0f07
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoUpdate CSIT tests 170213 -> 170220 31/5431/2
Jan Gelety [Mon, 20 Feb 2017 11:15:39 +0000 (12:15 +0100)]
Update CSIT tests 170213 -> 170220

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

Change-Id: I815b3ef67f1664f72f68984087413f4c4985f694
Signed-off-by: Jan Gelety <jgelety@cisco.com>
7 years agoFIB reset leaves residual routes. Wrong API used to remove the routes meant the lock... 38/5438/2
Neale Ranns [Mon, 20 Feb 2017 17:17:02 +0000 (09:17 -0800)]
FIB reset leaves residual routes. Wrong API used to remove the routes meant the lock count on the entry did not drop to zero

Change-Id: I6e2dff8c3c7976fd1c2e4c5258f5dc73123aa9b7
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoLISP: don't show PITR generated mapping in dump call 36/5436/1
Filip Tehlar [Mon, 20 Feb 2017 16:31:57 +0000 (17:31 +0100)]
LISP: don't show PITR generated mapping in dump call

Change-Id: Iecba818ccf74a4d34e35d498e6f6a1d3c62419f4
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agodpdk: updated build to automatically download Intel(R) Multi-Buffer Crypto for IPsec... 97/5397/6
Radu Nicolau [Thu, 16 Feb 2017 13:54:42 +0000 (13:54 +0000)]
dpdk: updated build to automatically download Intel(R) Multi-Buffer Crypto for IPsec Library

Change-Id: I58182edb7b0d314bb6dfa1daf7b00012196fd3e1
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
7 years agoCLI extension to add multiple (S,G)s at once and time it 21/5421/3
Neale Ranns [Wed, 15 Feb 2017 08:38:27 +0000 (00:38 -0800)]
CLI extension to add multiple (S,G)s at once and time it

Change-Id: Id17060fd0e8ac80c8cf1999b0b82d0241b3b969a
Signed-off-by: Neale Ranns <nranns@cisco.com>