vpp.git
7 years agoImprove debug-cli in test framework 56/3656/2
Klement Sekera [Wed, 2 Nov 2016 08:25:05 +0000 (09:25 +0100)]
Improve debug-cli in test framework

Opening debug-cli only makes sense if there is time for user to use it,
so either the run must be debugged or stepped. Only open the debug-cli
in these cases.

Change-Id: Ied276071797a549880d730cda43c59230a412efe
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoAllow empty DPDK device init config 57/3657/2
Pierre Pfister [Wed, 2 Nov 2016 10:06:49 +0000 (10:06 +0000)]
Allow empty DPDK device init config

This patch allows for empty dpdk device configuration
such as: dpdk { dev 0000:0a:00.0 { } }

Instead of exiting.

Change-Id: If9488eecc7fb1e0b5c6626f9c074649b39b727d3
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
7 years agoadj: fix typos 52/3652/2
Damjan Marion [Wed, 2 Nov 2016 00:21:05 +0000 (01:21 +0100)]
adj: fix typos

Change-Id: Ib5b5a15223ac9252e9cacd163bd870b009ec3b63
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agodpdk-hqos: don't hold up packets indefinitely under low load 46/3646/6
David Hotham [Tue, 1 Nov 2016 10:51:24 +0000 (10:51 +0000)]
dpdk-hqos: don't hold up packets indefinitely under low load

Change-Id: If884637a6db0cb813a40920194795da2e98c8b23
Signed-off-by: David Hotham <david.hotham@metaswitch.com>
7 years agofeature: add new feature handling code and device-input features 45/3445/25
Damjan Marion [Fri, 28 Oct 2016 18:30:15 +0000 (20:30 +0200)]
feature: add new feature handling code and device-input features

Signed-off-by: Damjan Marion <damarion@cisco.com>
Change-Id: I010ecde93863dbdad84b993cd3680a5446db59b5

7 years agoFix recursion loop - recurse through cover 50/3650/2
Neale Ranns [Tue, 1 Nov 2016 20:38:53 +0000 (20:38 +0000)]
Fix recursion loop - recurse through cover

Change-Id: I07870122f90e41fbb216b2f426bccbfd94049cd6
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoVPP-437: ip6 hbh processing with FIB 2.0 53/3153/6
Shwetha [Tue, 27 Sep 2016 07:04:05 +0000 (08:04 +0100)]
VPP-437: ip6 hbh processing with FIB 2.0

1. Modifies ip6 hbh selective processing in lookup
only when non-recursive routes are present.
2. Adds ip6 hbh processing in load balance.
3. Cleanup of ip6 iOAM hbh plugin formatting and
CLI handling found while testing the changes.
4. Deleted wrong asserts in dual loop for add
and pop iOAM hbh nodes. The current data of the buffer
ip6 start and will not be 0
5. Deleted set ioam destination cli and associate functions.
iOAM add/pop is enabled via classifier, this cli is no longer
used.

Change-Id: I3aac71ad512762c0b2b602fe88fe0291b85d39c7
Signed-off-by: Shwetha <shwethab@cisco.com>
7 years agoMPLS Exp-null Tests 48/3648/2
Neale Ranns [Tue, 1 Nov 2016 10:05:08 +0000 (10:05 +0000)]
MPLS Exp-null Tests

Add some 'make test' unit tests for MPLS explicit NULL label handling.
Fix the stacking of the MPLS load-balance result form the lookup onto the IPx lookup object.

Change-Id: I890d1221b8e3dea99bcc714ed9d0154a5f602c52
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agovppinfra: add STATIC_ASSERT macro 49/3649/2
Damjan Marion [Tue, 1 Nov 2016 14:16:30 +0000 (15:16 +0100)]
vppinfra: add STATIC_ASSERT macro

Change-Id: Icc4e74ae1627c5b97746ed64955a3dc089e3998f
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agofix typo in .gitignore 47/3647/2
Klement Sekera [Tue, 1 Nov 2016 11:33:40 +0000 (12:33 +0100)]
fix typo in .gitignore

Change-Id: I09c25b855c09f55da7e836e641570befead40f4f
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agonode: ensure that vlib_node_runtime_t is cacheline sized 45/3645/1
Damjan Marion [Tue, 1 Nov 2016 00:26:01 +0000 (01:26 +0100)]
node: ensure that vlib_node_runtime_t is cacheline sized

Change-Id: Ib14ba63d09212a172fe52b01131404bf50cc494d
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agol2: fix l2-patch node 44/3644/2
Damjan Marion [Mon, 31 Oct 2016 22:21:46 +0000 (23:21 +0100)]
l2: fix l2-patch node

This node was not setting vnet_buffer (b0)->sw_if_index[VLIB_TX]
properly.

Change-Id: I3e9f095da5f79c4186e3988ef315a7045ac85708
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agodpdk: use u32 for next0 43/3643/2
Damjan Marion [Mon, 31 Oct 2016 22:23:34 +0000 (23:23 +0100)]
dpdk: use u32 for next0

Change-Id: I0158a290736f68d0d56dff2f15dd18518059efd2
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoconfig: rename ip_config_main_t to vnet_feature_config_main_t 42/3642/2
Damjan Marion [Mon, 31 Oct 2016 22:18:04 +0000 (23:18 +0100)]
config: rename ip_config_main_t to vnet_feature_config_main_t

It will not be used for IP only...

Change-Id: I90ef3030aff7f9e24767553f019cabc1ea987126
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoadd vpp debugging support to test framework 41/3641/5
Klement Sekera [Fri, 28 Oct 2016 11:20:27 +0000 (13:20 +0200)]
add vpp debugging support to test framework
improve test documentation

Change-Id: Ia9678aa2532ecb4cb33736aedb4a31aa3f2a3f93
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoUpdate _slabshr fields when updating HQoS masks 40/3340/3
David Hotham [Tue, 11 Oct 2016 09:30:52 +0000 (09:30 +0000)]
Update _slabshr fields when updating HQoS masks

Change-Id: Ia1042622c656861a80b856115aeb3c2e5cf5ea2a
Signed-off-by: David Hotham <david.hotham@metaswitch.com>
7 years agoVPP-120: add custom types support to jvpp 99/3199/11
Marek Gradzki [Thu, 29 Sep 2016 11:22:35 +0000 (13:22 +0200)]
VPP-120: add custom types support to jvpp

Generates java classes based on typeonly definitions
(hashcode, equals and toString methods are also included).

Adds JNI handling for request and reply messages
(also arrays of custom types).

Change-Id: I16f1cea17899704426aa083fad1cb800a8d115df
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
7 years agovppinfra: use 64-bit crc32 instruction in bihash_24_8 28/3628/3
Damjan Marion [Fri, 28 Oct 2016 20:35:17 +0000 (22:35 +0200)]
vppinfra: use 64-bit crc32 instruction in bihash_24_8

Change-Id: Ibeb6d35e15a8d332753df7c352c0b51c277a0ee5
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agovhost-user: fix crash in vhost_user_intfc_tx (VPP-519) 29/3629/2
Damjan Marion [Fri, 28 Oct 2016 21:52:40 +0000 (23:52 +0200)]
vhost-user: fix crash in vhost_user_intfc_tx (VPP-519)

The crash was the result of indexing off the end of the next[] array.
Removing that prefetch code completelly, as it is questionable
how much it helps so late in the game.

Change-Id: I7bc83483a1088437edb4ac0f95a54c39afce136b
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoVPP-478: SNAT address range overlapping 65/3565/2
Matus Fabian [Tue, 25 Oct 2016 11:19:26 +0000 (04:19 -0700)]
VPP-478: SNAT address range overlapping

Ignore adding duplicate address.

Change-Id: Icbb76bbcb3a78a18acb1a50d5d8ab777e9f9bd36
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agoVPP-459: SNAT dump API for in and out interfaces 39/3539/2
Matus Fabian [Mon, 24 Oct 2016 10:30:00 +0000 (03:30 -0700)]
VPP-459: SNAT dump API for in and out interfaces

Change-Id: Ie0cba0778b094eaafa960d3f432199e1e3b2d116
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agoInitial deb packaging of vpp-python-api 30/3630/3
Ed Warnicke [Fri, 28 Oct 2016 22:52:36 +0000 (22:52 +0000)]
Initial deb packaging of vpp-python-api

Change-Id: I14d5180d6abd59b813906011718121a2bbc9bafd
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
7 years agoIPv6 Classify Forwarding Graph errors 21/3621/3
Neale Ranns [Fri, 28 Oct 2016 13:31:54 +0000 (06:31 -0700)]
IPv6 Classify Forwarding Graph errors

Fix a few places where the protocol of the DPO object was incorrectly set and hence the graph traversed by the packet jumped between ip4 and ip6 nodes.

Change-Id: I75c4ecfdf79df39f5dbb7c68f1fc82ff04aaed28
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
7 years agovppinfra: fix issue with bihash_8_8 hash function (VPP-518) 27/3627/2
Damjan Marion [Fri, 28 Oct 2016 20:17:38 +0000 (22:17 +0200)]
vppinfra: fix issue with bihash_8_8 hash function (VPP-518)

Change-Id: Ia9a484575d0142e89ec5b6b4c6c2e702e1098a1e
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agopolicer: replace uintX_t with uX, fix style 06/3606/2
Damjan Marion [Thu, 27 Oct 2016 08:27:00 +0000 (10:27 +0200)]
policer: replace uintX_t with uX, fix style

Change-Id: Ie4a0ba57d5c672ab04fe37801836f65d8731a90a
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoUpdate test framework after API function change 05/3605/2
Juraj Sloboda [Thu, 27 Oct 2016 08:44:25 +0000 (10:44 +0200)]
Update test framework after API function change

Change-Id: I326ef57fa0c691c5a1cecea0364d770b6f7a73c8
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
7 years agoFix potential L2 forwarding crash with stale L2FIB entry (VPP-516) 12/3612/2
John Lo [Thu, 27 Oct 2016 15:17:02 +0000 (11:17 -0400)]
Fix potential L2 forwarding crash with stale L2FIB entry (VPP-516)

On moving interface between L2 and L3 forwarding modes, adjust the
l2-output node next index for the sw_if_index of the interface so
packet output via stale MAC entries in L2 FIB will be dropped.

Change-Id: I25afd7a617edb4ae35ce296bac33e62683edad9a
Signed-off-by: John Lo <loj@cisco.com>
7 years agoFix coverity issues in LISP 96/3596/2
Filip Tehlar [Wed, 26 Oct 2016 12:58:18 +0000 (14:58 +0200)]
Fix coverity issues in LISP

Change-Id: Ifef27540f02f423070e8843951be5cba0acea8cf
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agoPer-packet IPFIX record generation plugin 18/3318/6
Dave Barach [Fri, 7 Oct 2016 15:30:23 +0000 (08:30 -0700)]
Per-packet IPFIX record generation plugin

Change-Id: Ia790aa018e70d67ed343e3e466d1b33b22560fc0
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agofeatures: fix crash due to missing null termination 01/3601/2
Damjan Marion [Wed, 26 Oct 2016 21:50:47 +0000 (23:50 +0200)]
features: fix crash due to missing null termination

Change-Id: I98b407f9b698307c5a0007b198a734674b33f925
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoFix description of devel package. 04/3404/4
Thomas F Herbert [Sat, 1 Oct 2016 22:09:33 +0000 (18:09 -0400)]
Fix description of devel package.

Change-Id: Ia289299691daa2ed47f0129d2695678e1d390ab8
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
7 years agodpdk: enable building with dpdk 16.11-rc1 71/3571/3
Damjan Marion [Tue, 25 Oct 2016 12:54:38 +0000 (14:54 +0200)]
dpdk: enable building with dpdk 16.11-rc1

Works with:

http://dpdk.org/browse/dpdk/snapshot/dpdk-16.11-rc1.tar.xz

placed into dpdk/ or ~/Downloads

Change-Id: I17f6a721529dbefc796f555e2525d157b9bf8740
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoFix unformat-at-eof bug 00/3600/2
Dave Barach [Wed, 26 Oct 2016 18:03:20 +0000 (14:03 -0400)]
Fix unformat-at-eof bug

Change-Id: Id9a64303b1d415b55a3bc0ea1483df6fc2eb5011
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agorefactor test framework 45/3345/17
Klement Sekera [Tue, 11 Oct 2016 09:47:09 +0000 (11:47 +0200)]
refactor test framework

Change-Id: I31da3b1857b6399f9899276a2d99cdd19436296c
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Signed-off-by: Matej Klotton <mklotton@cisco.com>
Signed-off-by: Jan Gelety <jgelety@cisco.com>
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
7 years agodpdk: remove support for dpdk 16.04 75/3575/2
Damjan Marion [Tue, 25 Oct 2016 16:53:41 +0000 (18:53 +0200)]
dpdk: remove support for dpdk 16.04

This also removes old DPDK vhost-user code which doesn't help
much with DPDK 16.07 or newer.

Change-Id: Ic996df1eaccc33acd3fa6cabeaf7381a672c2a90
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agodpdk: remove support for dpdk 2.2 74/3574/2
Damjan Marion [Tue, 25 Oct 2016 16:38:29 +0000 (18:38 +0200)]
dpdk: remove support for dpdk 2.2

Change-Id: I2d1a7063f3776a9070e75a627beb5d0e45a67874
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agodpdk: remove KNI support 73/3573/2
Damjan Marion [Tue, 25 Oct 2016 16:27:29 +0000 (18:27 +0200)]
dpdk: remove KNI support

This code is outdated and without real use case

Change-Id: I30628cc4ca293e5249aea3891173507cbfad8b61
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoUse only 24 bits for vni in lisp-gpe data packets 70/3570/3
Florin Coras [Tue, 25 Oct 2016 14:47:52 +0000 (16:47 +0200)]
Use only 24 bits for vni in lisp-gpe data packets

Change-Id: I5a8ff12dfa8d4d9f24275590ff8293e7eb7ffbb6
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agopython api - vla - allow the user to pass in a normal python list 33/3233/2
Gabriel Ganne [Thu, 22 Sep 2016 19:00:17 +0000 (21:00 +0200)]
python api - vla - allow the user to pass in a normal python list

Only add support for named variable-length-arrays as some api fo not
follow the expected order of length preceding the value.

Change-Id: I4c22c9b3c05f23edb3edc1cbc445be87b0a69162
Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>
7 years agodpdk: remove dpdk_pmd_constructor_init 68/3568/2
Damjan Marion [Tue, 25 Oct 2016 13:45:10 +0000 (15:45 +0200)]
dpdk: remove dpdk_pmd_constructor_init

This is not needed anymore, likely because we use --whole-archive
parameter during linking.

Change-Id: Iab0f2ec647b63c59663faceacfbc60aa4a4b84a6
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoImprove equals generation for jvpp DTOs 56/3556/2
Marek Gradzki [Tue, 25 Oct 2016 05:57:30 +0000 (07:57 +0200)]
Improve equals generation for jvpp DTOs

Variable 'other' is no longer defined in equals method
of DTOs without defined fileds.
Fixes dead local store coverity issues.

Change-Id: I69eddf2b4b3f433149ff4d49e49c46515572d61a
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
7 years agoImprove JNI code generation (array truncation) 37/3537/4
Marek Gradzki [Mon, 24 Oct 2016 08:34:16 +0000 (10:34 +0200)]
Improve JNI code generation (array truncation)

Fixes DEADCODE coverity issue:

size_t max_size = 0;
if (max_size != 0 && ...)

Change-Id: I0e3ea4e4ddddb476519490c6f00208379089397c
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
7 years agoSupport IETF routing Yang models (VPP-503). 02/3502/5
Neale Ranns [Thu, 20 Oct 2016 12:39:34 +0000 (13:39 +0100)]
Support IETF routing Yang models (VPP-503).

Add support for special routes to send ICMP unreachable or admin prohibited.

Change-Id: Ia1ac65b0e5e925c0f9ebc7824141833b4e18f05e
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoUpdate CSIT tests 161017 -> 161024 53/3553/2
Jan [Mon, 24 Oct 2016 21:17:45 +0000 (23:17 +0200)]
Update CSIT tests 161017 -> 161024

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

Change-Id: Icb36e5a68f6c1ef5edbc5159f2af3d255cecbdeb
Signed-off-by: Jan <jgelety@cisco.com>
7 years agoAdd API call of sw_interface_set_mpls_enable to vpp_api_test 55/3555/3
John Lo [Tue, 25 Oct 2016 00:20:11 +0000 (20:20 -0400)]
Add API call of sw_interface_set_mpls_enable to vpp_api_test

Change-Id: If0e98c111b3dfa38cb2c619dde4ddb3e52ee8dfa
Signed-off-by: John Lo <loj@cisco.com>
7 years agoDisable colored output for tests, when not tty 63/3563/3
Peter Ginchev [Tue, 25 Oct 2016 10:22:15 +0000 (13:22 +0300)]
Disable colored output for tests, when not tty

Change-Id: I73f01bd3a8e7caa00c75b845b9e61d3cb0f34877
Signed-off-by: Peter Ginchev <pginchev@cisco.com>
7 years agoAdd generated python bindings to .gitignore 62/3562/1
Marek Gradzki [Tue, 25 Oct 2016 10:17:33 +0000 (12:17 +0200)]
Add generated python bindings to .gitignore

Change-Id: I05b5955afa9fee5dd213a98126982626eae4d9ca
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
7 years agoFix LISP src/dst based policy 93/3493/5
Filip Tehlar [Mon, 17 Oct 2016 14:20:18 +0000 (16:20 +0200)]
Fix LISP src/dst based policy

Change-Id: Ibcc58ad50e33cd26367fd28f60334e29f45a094c
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agoFix VXLAN tunnel delete crash 44/3544/1
John Lo [Mon, 24 Oct 2016 16:13:27 +0000 (12:13 -0400)]
Fix VXLAN tunnel delete crash

Change-Id: I610648f28b7504798da9e377ea099629aa7a5150
Signed-off-by: John Lo <loj@cisco.com>
7 years agoFix jvpp coverity issues #2 36/3536/2
Marek Gradzki [Mon, 24 Oct 2016 06:06:52 +0000 (08:06 +0200)]
Fix jvpp coverity issues #2

- synchronize AbstractFutureJvppInvoker.getRequests
- handle registry & jvpp close in API usage examples

Change-Id: I918bf864b8212fde04f0d9194037f1c6a810fc3f
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
7 years agovppinfra: clib_memcpy optimization 31/3531/3
Damjan Marion [Fri, 21 Oct 2016 17:30:42 +0000 (19:30 +0200)]
vppinfra: clib_memcpy optimization

This patch allows copiler to select which SIMD instructions
will be used for copying 16 and 32 byte block.

Immediate effect of this change will occur in avx2 variants of
graph node functions. So far 128 byte registers were used
even in code optimized for avx2 due to macro nature of
clib_memcpy. With this patch gcc should pick 256 byte registers
in such cases.

Change-Id: I3510ee9b3bf01f3f0a9184e1a3f8e1bd827f8eee
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoDual Loop Lookup and Adj-midchain 34/3534/2
Neale Ranns [Sat, 22 Oct 2016 22:17:21 +0000 (15:17 -0700)]
Dual Loop Lookup and Adj-midchain

Change-Id: Id78b6dc637626c01b64bd5868d22425a30318348
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
7 years agoVPP-504: Permissions Error on Centos Vagrant VPP VM 04/3504/3
Billy McFall [Thu, 20 Oct 2016 12:50:11 +0000 (08:50 -0400)]
VPP-504: Permissions Error on Centos Vagrant VPP VM

Change-Id: I5e63538e0ba2395fb13f99f0c7c2ca3123a34e59
Signed-off-by: Billy McFall <bmcfall@redhat.com>
7 years agoFix Coverity Errors in FIB. This is mainly consolidating the vnet_link_t and fib_link... 87/3487/3
Neale Ranns [Wed, 19 Oct 2016 07:25:46 +0000 (08:25 +0100)]
Fix Coverity Errors in FIB. This is mainly consolidating the vnet_link_t and fib_link_t enums into just vnet_link_t.

Change-Id: Id2147afec1a28e95fec86dfd524088cd56563f63
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoQuad-loop ip4_lookup_inline, add _x4 validate buffer enqueue 77/3477/2
Dave Barach [Tue, 18 Oct 2016 19:25:35 +0000 (15:25 -0400)]
Quad-loop ip4_lookup_inline, add _x4 validate buffer enqueue

Change-Id: I80a25fa90d8a65db619b8697cede2b98bed37cea
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoPretty-print vl_api_api_get_first_msg_id_t msgs 30/3530/2
Dave Barach [Fri, 21 Oct 2016 16:58:51 +0000 (12:58 -0400)]
Pretty-print vl_api_api_get_first_msg_id_t msgs

Change-Id: I380bef59d64c8c647a437026085dfa20b27727e1
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoJava api generation for ioam trace plugin 87/3387/6
Shwetha [Thu, 13 Oct 2016 00:46:19 +0000 (01:46 +0100)]
Java api generation for ioam trace plugin

Makefile, configure, jvpp changes follow snat plugin jvpp
Fixes trace api handling for endianess

Change-Id: Id5c950ed3c85d5e0dc28ba31b580987baa1b133f
Signed-off-by: Shwetha <shwethab@cisco.com>
7 years agoCandidate fix for race condition in building jvpp_common and jvpp_registry 11/3511/2
Ed Warnicke [Thu, 20 Oct 2016 16:47:54 +0000 (16:47 +0000)]
Candidate fix for race condition in building jvpp_common and jvpp_registry

Change-Id: I244c4e02befc8c4d30915b219abe36ab03c4291d
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
7 years agovppinfra: add 256-bit vector typedefs 99/3499/1
Damjan Marion [Thu, 20 Oct 2016 09:08:03 +0000 (10:08 +0100)]
vppinfra: add 256-bit vector typedefs

Change-Id: Ic07c1c25f5ad99225209c73b5ff4deb9c52f3b1e
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoimprove java build process 86/3486/2
Klement Sekera [Wed, 19 Oct 2016 10:31:25 +0000 (12:31 +0200)]
improve java build process

Change-Id: Ia4c7503ee31fca74fa45da4ff883f3b80b42e85e
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoFix coverity issues in jvpp (newlines + CompletableDumpFuture.ctxId) 22/3422/2
Marek Gradzki [Fri, 14 Oct 2016 09:45:00 +0000 (11:45 +0200)]
Fix coverity issues in jvpp (newlines + CompletableDumpFuture.ctxId)

Change-Id: I2931982ac1ae64313a6ab781212793620af24585
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
7 years agoDeprecate MPLSoGRE tunnels (VPP-502) 67/3467/6
Neale Ranns [Sun, 16 Oct 2016 19:01:42 +0000 (12:01 -0700)]
Deprecate MPLSoGRE tunnels (VPP-502)

Add shared memory APIs for MPLS routes and MPLS to IP prefix bindings.

Change-Id: I85b074a4dadc8249c410fdabd8ea019d20479cf8
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
7 years agoDO_NOT_MERGE: Update CSIT tests 161002 -> 161017 38/3438/4
pmikus [Mon, 17 Oct 2016 10:03:42 +0000 (11:03 +0100)]
DO_NOT_MERGE: Update CSIT tests 161002 -> 161017

- Update of CSIT operational branch with 16.04

Change-Id: I47346a5756e0944f29bee7760540912eb36081fa
Signed-off-by: pmikus <pmikus@cisco.com>
7 years agoFix test target build 17/3417/3
Peter Ginchev [Fri, 14 Oct 2016 07:23:37 +0000 (10:23 +0300)]
Fix test target build

Change-Id: Ib06b40292858f32df9c62e747808e0ef140bd9dd
Signed-off-by: Peter Ginchev <pginchev@cisco.com>
7 years agoUpdate tx and output node runtime when recycling interface 47/3447/3
Pierre Pfister [Mon, 17 Oct 2016 14:58:29 +0000 (15:58 +0100)]
Update tx and output node runtime when recycling interface

When an interface is removed, and another one is created,
the nodes from the previous interface are reused. The current
code fails when the new interface type differs from the original.
It is necessary to update the node runtime, in particular the
node function, and the node format function.

Jira: VPP-460

Change-Id: I2fc3c609e0173a7f62597230768669039853ab03
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
7 years agoLoad-balancing in IP4 dual loop typos. (VPP-501) 69/3469/1
Neale Ranns [Tue, 18 Oct 2016 13:25:34 +0000 (14:25 +0100)]
Load-balancing in IP4 dual loop typos. (VPP-501)

Change-Id: I7b70d52d11c228ec5e790632a91b042b34b38d28
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoLoadBal: Use intrinsics and use protocol number 94/3394/3
Pierre Pfister [Thu, 13 Oct 2016 12:36:18 +0000 (13:36 +0100)]
LoadBal: Use intrinsics and use protocol number

This patch modifies the load balancer hash table such that
it uses vector operations.

It also fixes the hash computation logic such that the port
is only looked-up for TCP and UDP.
Some additional work is still needed for other types of traffic.

Change-Id: I788b4c782a9923d3792f3985f0580c0c81b3aad3
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
7 years agoVPP-491: Update CLI Command documentation for "show ip fib" and "show ip6 fib". 54/3454/2
Billy McFall [Mon, 17 Oct 2016 15:35:32 +0000 (11:35 -0400)]
VPP-491: Update CLI Command documentation for "show ip fib" and "show ip6 fib".

Change-Id: I9d1d02ffbb3cdbe8c4a3f335ece40f3dcbd848a7
Signed-off-by: Billy McFall <bmcfall@redhat.com>
7 years agoSupport MPLSoGRE with the new FIB 2.0 31/3431/3
John Lo [Sat, 15 Oct 2016 21:45:35 +0000 (17:45 -0400)]
Support MPLSoGRE with the new FIB 2.0

Note that the new way to provision MPLSoGRE is using the "normal"
GRE tunnel such as in the following example:
  create gre tunnel src 10.0.3.1 dst 10.0.3.3
  set in state gre0 up
  set int ip addr gre0 10.0.4.1/30
  set int mpls gre0 enable
  ip route table 4 6.0.0.0/24 via 10.0.4.2 gre0 out-label 30
  mpls local-label add 30 eos ip4-lookup-in-table 4

The previous CLIs/APIs used to configure MPLSoGRE tunnel such as
"create mpls gre tunnel...", "mpls encap|decap add label .." and
"show mpls tunnel", etc. can not be used. They will be deprecated
in a later update to the VPP code base.

Change-Id: I244916841924dc2b87d2143691cd8476716c06b1
Signed-off-by: John Lo <loj@cisco.com>
7 years agooam: fix compilation with gcc6 41/3441/2
Damjan Marion [Mon, 17 Oct 2016 11:54:59 +0000 (13:54 +0200)]
oam: fix compilation with gcc6

gcc6 reports:

vpp/oam/oam.c:560:531: error: self-comparison always evaluates to true
[-Werror=tautological-compare]

Change-Id: I7a086099c14c6661d0c6b4cf0370631fc06bc23d
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agostyle: fix VLIB_NODE_FUNCTION_MULTIARCH indent 40/3440/2
Damjan Marion [Mon, 17 Oct 2016 10:51:18 +0000 (12:51 +0200)]
style: fix VLIB_NODE_FUNCTION_MULTIARCH indent

Change-Id: I9c23ddbbd576e8c900ba82425572ed7a3c4f56e3
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoVPP-492: Fix ability to change mac address of the interface 19/3419/4
Pavel Kotucek [Fri, 14 Oct 2016 08:20:59 +0000 (10:20 +0200)]
VPP-492: Fix ability to change mac address of the interface

Fixed Coverity complaining about the clib_memcpy used in
/vnet/vnet/interface.c

Change-Id: I401f05aea1066d829abac1555021e1180b4a161e
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoVPP-488: Fix build errors, which uncovered IPv6 load balance lookup bug. 27/3427/2
Billy McFall [Fri, 14 Oct 2016 13:51:49 +0000 (09:51 -0400)]
VPP-488: Fix build errors, which uncovered IPv6 load balance lookup bug.

Change-Id: Id17fcb9154c5337908f29b7ce3a282b6a4b72d64
Signed-off-by: Billy McFall <bmcfall@redhat.com>
7 years agoVPP-490: vpp crash in show ip6 neighbor 28/3428/1
Billy McFall [Fri, 14 Oct 2016 14:45:49 +0000 (10:45 -0400)]
VPP-490: vpp crash in show ip6 neighbor

Change-Id: I003f95db85ce5085045c607f0b1daaefa792c910
Signed-off-by: Billy McFall <bmcfall@redhat.com>
7 years agoVPP-489: CLI Command "test lookup" crashes with invalid fib-index. 24/3424/2
Billy McFall [Fri, 14 Oct 2016 11:37:33 +0000 (07:37 -0400)]
VPP-489: CLI Command "test lookup" crashes with invalid fib-index.

Change-Id: If4c47b91e949483675cf569cd474b6c85fecef05
Signed-off-by: Billy McFall <bmcfall@redhat.com>
7 years agoFIB2.0: Adjacency complete pull model (VPP-487) 99/3399/4
Neale Ranns [Sat, 8 Oct 2016 12:03:40 +0000 (13:03 +0100)]
FIB2.0: Adjacency complete pull model (VPP-487)

Change the adjacency completion model to pull not push.

A complete adjacency has a rewirte string, an incomplete one does not. the re-write string for a peer comes either from a discovery protocol (i.e. ARP/ND) or can be directly derived from the link type (i.e. GRE tunnels). Which method it is, is interface type specific.
For each packet type sent on a link to a peer there is a corresponding adjacency. For example, if there is a peer 10.0.0.1 on Eth0 and we need to send to it IPv4 and MPLS packets, there will be two adjacencies; one for the IPv4 and one for the MPLS packets. The adjacencies are thus distinguished by the packets the carry, this is known as the adjacency's 'link-type'. It is not an L3 packet type, since the adjacency can have a link type of Ethernet (for L2 over GRE).
The discovery protocols are not aware of all the link types required - only the FIB is. the FIB will create adjacencies as and when they are required, and it is thus then desirable to 'pull' from the discovery protocol the re-write required. The alternative (that we have now) is that the discovery protocol pushes (i.e. creates) adjacencies for each link type - this creates more adjacencies than we need.
To pull, FIB now requests from the interface-type to 'complete' the adjacency. The interface can then delegate to the discovery protocol (on ethernet links) or directly build the re-write (i.e on GRE).

Change-Id: I61451789ae03f26b1012d8d6524007b769b6c6ee
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoAdd macro for sending large data structures to API clients 08/3408/1
Florin Coras [Thu, 13 Oct 2016 14:19:40 +0000 (16:19 +0200)]
Add macro for sending large data structures to API clients

Change-Id: I1c4ec4dd02ce5a16e33aa0908a606496ad0d64cc
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agoadd xxx_or_null(...) message buffer allocation variants 07/3407/1
Dave Barach [Thu, 13 Oct 2016 21:35:09 +0000 (17:35 -0400)]
add xxx_or_null(...) message buffer allocation variants

Useful when attempting to serialize potentially very large data
structures and send them to API clients. NULL pointer checks are
MANDATORY when calling xxx_or_null(...) variant functions.

Change-Id: I6ae272deb7150a2c5aa82ec45a206e5bddee7a02
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agofeature: rename vnet_ip_feature_* to vnet_feature_* 02/3402/2
Damjan Marion [Thu, 13 Oct 2016 12:10:10 +0000 (14:10 +0200)]
feature: rename vnet_ip_feature_* to vnet_feature_*

Change-Id: Idf68266f705b0455e5ab0ac73d23c7e0f4120d5b
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoAdd clib_mem_alloc_or_null(...) 00/3400/1
Dave Barach [Thu, 13 Oct 2016 14:53:26 +0000 (10:53 -0400)]
Add clib_mem_alloc_or_null(...)

Change-Id: I5177d6d3349384beb551b4f2f52b30b044ce335b
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoVPP-286: Add CLI Command documentation via doxygen comments for vnet/vnet/ip. 93/3393/1
Billy McFall [Thu, 13 Oct 2016 12:27:31 +0000 (08:27 -0400)]
VPP-286: Add CLI Command documentation via doxygen comments for vnet/vnet/ip.

Change-Id: Ie1be9dc057d07c250852952ea159ed3c44c25f5f
Signed-off-by: Billy McFall <bmcfall@redhat.com>
7 years agovhost-user: Add reconnect support 90/3390/2
Damjan Marion [Thu, 13 Oct 2016 08:02:19 +0000 (10:02 +0200)]
vhost-user: Add reconnect support

QEMU 2.7 introduces reconnect support. However it doesn't send
last state of last_avail_idx in the SET_VRING_BASE.

With this patch we are overriding SET_VRING_BASE with value taken
from used->idx.

It is a bit hackish as it basically overrides SET_VRING_BASE
provided value but it should work in most of the cases.
This is what author of reconnect code is also suggesting in his post:

https://lists.gnu.org/archive/html/qemu-devel/2016-06/msg01495.html

Change-Id: I10e5f401c409d2989bf6c43eaea377800a9c76df
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoVPP-446: 1:1 SNAT Inside overlapping interfaces 94/3294/2
Matus Fabian [Thu, 6 Oct 2016 11:28:29 +0000 (04:28 -0700)]
VPP-446: 1:1 SNAT Inside overlapping interfaces

Change-Id: Idabf89bd27ee95769da16331a6bd1439497b2765
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agoVPP-453: SNAT delete and dump addresses 40/3240/3
Matus Fabian [Tue, 4 Oct 2016 10:23:43 +0000 (03:23 -0700)]
VPP-453: SNAT delete and dump addresses

Delete operation for SNAT addresses
Dump API for SNAT addresses

Change-Id: I84e888d20286ec2523fbd4ca7e68e3eef5927984
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agoVPP-483: Fixed IPSec tunnel interface 81/3381/2
Matus Fabian [Wed, 12 Oct 2016 13:23:58 +0000 (06:23 -0700)]
VPP-483: Fixed IPSec tunnel interface

Change-Id: I570f57218293a4824f83b38575eacdbe3da540d8
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agovpp_lite: add cpu pinning support (VPP-467) 32/3332/8
Pavel Kotucek [Fri, 7 Oct 2016 06:37:28 +0000 (08:37 +0200)]
vpp_lite: add cpu pinning support (VPP-467)

Proper cpu pinning in vpp_lite platform, like in normal vpp image.
Extended “show threads” command to show propper information.
Changed handling of coreID and socketID for threads in "show threads"
CLI, pthread_getaffinity is used instead of info stored in DPDK.

Change-Id: Ic8299ec5e284472bb10a37a95fadeed57b6edae8
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoFix coverity warnings, VPP-486 85/3385/1
Dave Barach [Wed, 12 Oct 2016 21:32:39 +0000 (17:32 -0400)]
Fix coverity warnings, VPP-486

Change-Id: I7a14d9a28514cdb49f65fab1b120b53239fed7e3
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoVPP-213: vnet classifier does not work for l3 ip4 rules 14/3214/5
Ole Troan [Fri, 30 Sep 2016 07:22:36 +0000 (09:22 +0200)]
VPP-213: vnet classifier does not work for l3 ip4 rules

The classifier was written with the assumption that next-indicies
of IP4 and IP6 IP_LOOKUP_NEXT nodes are equal. That's not true,
and this patch splits the classifier session for IP4 and IP6.

Change-Id: Id0368f17bb1d3f145b771d2dc283b56871264e99
Signed-off-by: Ole Troan <ot@cisco.com>
7 years agoCoverity warnings in new FIB code (VPP-484) 78/3378/3
Neale Ranns [Wed, 12 Oct 2016 12:51:05 +0000 (13:51 +0100)]
Coverity warnings in new FIB code (VPP-484)

Change-Id: Ie221e246dd8c6a1b3c76e7aa85924762d4397782
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoVPP-362 Implement dumping of LISP adjacencies 47/3147/9
Filip Tehlar [Fri, 23 Sep 2016 08:00:52 +0000 (10:00 +0200)]
VPP-362 Implement dumping of LISP adjacencies

Change-Id: Ieea56f3bf9e749878d9f2b35d39d9f7a9cdabde4
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agoRename ip_feature_init_cast(...) to vnet_feature_arc_init(...), VPP-481 61/3361/2
Dave Barach [Tue, 11 Oct 2016 20:16:02 +0000 (16:16 -0400)]
Rename ip_feature_init_cast(...) to vnet_feature_arc_init(...), VPP-481

Eliminate an unused parameter in vnet_feature_arc_init(...) which
eliminates a spurious relationship between feature arcs and ip.

Add doxygen tags for 2x debug CLI commands, and for
vnet_feature_arc_init(...)

Change-Id: If83589539bcbbbd4d85e84458dd7eb7eb08837a0
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoVPP-474 Revert "FIX sysctl configuration directory" 48/3348/2
Miroslav Miklus [Tue, 11 Oct 2016 11:35:26 +0000 (13:35 +0200)]
VPP-474 Revert "FIX sysctl configuration directory"

This reverts commit 822af5c95d080a58cda504228df4b5f3896e72b6.
Reason for revert is a bug in procps upstart script.

Change-Id: Ie9e501c9b52e65d8d0f31ce6600823021e89fb6f
Signed-off-by: Miroslav Miklus <mmiklus@cisco.com>
7 years agovppinfra: use crc32q instruction instead of xxhash in bihash_8_8 39/3339/3
Damjan Marion [Tue, 11 Oct 2016 07:53:12 +0000 (09:53 +0200)]
vppinfra: use crc32q instruction instead of xxhash in bihash_8_8

xxhash calculation takes 10 clock cycles on Haswell so it makes sense
to use crc32q insutrction when available.

Change-Id: Iab5e7d9c8ec0125626bbcd067e5dc30574c8febc
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoRebind kernel drivers on VPP uninstall 51/3351/2
Peter Ginchev [Tue, 11 Oct 2016 12:34:24 +0000 (15:34 +0300)]
Rebind kernel drivers on VPP uninstall

Change-Id: Icb0ce47134146c3a212b234f088c682982480128
Signed-off-by: Peter Ginchev <pginchev@cisco.com>
7 years agoTest: Add test case for Load Balancer plugin 20/3320/3
Pierre Pfister [Fri, 7 Oct 2016 15:31:57 +0000 (16:31 +0100)]
Test: Add test case for Load Balancer plugin

This adds a basic test for the four existing encap modes
for the load balancer plugin.
- ip4 over gre4
- ip4 over gre6
- ip6 over gre4
- ip6 over gre6

Apparently, scapy does not support GRE and IPv6 combinations.
Hence, those tests do send packets through VPP, but only
ip4 over gre4 output is actually parsed and verified.

Change-Id: I7cedb0f88fd0788ee51b1428ddf9cff7c037511f
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
7 years agoipfix: add l4 unformat support for mask and match (VPP-204) 63/2263/13
Juraj Sloboda [Mon, 8 Aug 2016 06:46:45 +0000 (23:46 -0700)]
ipfix: add l4 unformat support for mask and match (VPP-204)

Change-Id: Iff32c488af9b71acbc4e572c6741afae0a67333c
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
7 years agoipfix: add classification nodes for flow statistics (VPP-204) 62/2262/13
Juraj Sloboda [Mon, 8 Aug 2016 06:45:24 +0000 (23:45 -0700)]
ipfix: add classification nodes for flow statistics (VPP-204)

In order to have meaningfull IPFIX implementation we should be able
to classify all packets flowing through vpp. But existing IPv4 and IPv6
classifier nodes are called only if destination IP address is local
to vpp. This commit adds new IPv4 and IPv6 classifier nodes that should
be used for collecting flow statistics.

Change-Id: I60e60105663ba15b5200862a23bb817047fe4d1a
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
7 years agoAdd signal handling 30/3330/5
Dave Barach [Sun, 9 Oct 2016 21:43:22 +0000 (17:43 -0400)]
Add signal handling

Please send SIGTERM to stop vpp_api_test, especially during
long-running operations such as a high-count asynchronous set of
ip_add_del_routes.

Otherwise, there's every chance that the data plane to vpp_api_test
message queue will fill and cause an easily-avoided deadlock.

Change-Id: I09309b445c354e1a692fed708dd5ea44d1ea9882
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoplatform: rewrote vppctl script to include history 40/3040/6
Padraig [Wed, 21 Sep 2016 13:59:02 +0000 (14:59 +0100)]
platform: rewrote vppctl script to include history

Added more ability to search history to vppctl shell
*Up and down keys give history
*Script now written in Python 2.7.6
*Contains all original functionality
*Added Python dependency for deb/rpms

Change-Id: I5088f7b018fce92b9b5411df0bffc34709810dec
Signed-off-by: Padraig Connolly <padraig.connolly@intel.com>
7 years agoFIB2.0: memory leaks during load-balance update (VPP-475) 16/3316/3
Neale Ranns [Fri, 7 Oct 2016 14:14:33 +0000 (15:14 +0100)]
FIB2.0: memory leaks during load-balance update (VPP-475)

some other fixes and enhancemets to address failures in the IPv6 Scale testing:
 - The rate at which VPP sends ARP/ND requests, 1 per-millisecond, is too high. This is reduced to 1 every 10 ms. probably still too high.
 - If an ARP/ND response is received that does not contain a change to the known MAC address, no further processing is done.
 - Added stats to get info about the async FIB walks.
 - When walking FIB entries and performing a load-balance update, it is not necessary to re-insert the LB in the forwarding table.

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