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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Ivan Kelly [Fri, 7 Oct 2016 16:02:43 +0000 (18:02 +0200)]
Fix double free in af_packet api/cli
The api was allocating a vector for the name, passing it, then freeing
it, on create. The cli allocated, passed then forgot about it.
af_packet_create_if was storing a reference to the name, which in the
case of the api, meant it was referencing dead memory. On
af_packet_delete_if this reference was freed, so in the api case, there
was a double free.
Also, the cli for delete leaked the name.
Change-Id: I4d572bd2936eaf8ea7a0a8ff282e83ac2bf1b062
Signed-off-by: Ivan Kelly <ivan@midokura.com>
Marek Gradzki [Tue, 9 Aug 2016 11:23:08 +0000 (13:23 +0200)]
HONEYCOMB-228 Snat plugin jvpp support
Change-Id: I5510a0ae3ecfeb5bd41c3a73e6e05465ebd96165
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
Pierre Pfister [Fri, 7 Oct 2016 15:30:03 +0000 (16:30 +0100)]
Test Infra: Add plugin support
This patch adds plugin path to vpp commandline arguments
when 'make test' is run.
Hence, test cases can test plugins.
Change-Id: Ib90efa1f62e03b45b84533c49c7a5d040aa8cddf
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
Neale Ranns [Mon, 3 Oct 2016 12:05:48 +0000 (13:05 +0100)]
unicast RPF for FIB2.0
In a heirarchical FIB performing a unicast RPF check would require the traversal of the data-plane graph to seek out all the adjacency objects and then read those to find their interface. This is not efficient. Instead, for each path-list we construct a list of unique input interfaces and link this uRPF-list against the entry in the prefix table. In the data-plane the uRPF list can be retrieved from the load-balance lookup result and the RPF check is a simple and efficient walk across the minimal interface list. The uRPF-list is maintained as the routing heirarchy changes, in a similar way to the data-plane object graph.
We also provide a knob to allow an arbitrary prefix to pass the loose check.
Change-Id: Ie7c0ae3c4483ef467cfd5b136ee0315ff98ec15b
Signed-off-by: Neale Ranns <nranns@cisco.com>
Alexander Popovsky (apopovsk) [Thu, 6 Oct 2016 05:31:23 +0000 (22:31 -0700)]
VPP-395 Add udp-punt node(s) and API
Uses existing UDP local API in order to register
requested UDP port punt to the host.
CLI: set punt udp [del] <port>
API: punt protocol <l4-protocol> [ip <ver>] [port <l4-port>] [del]
* Only UDP (l4-protocol = 17) is supported at this time
Change-Id: I9232af1c891d1ed174d77f3e0dfe60c4b9d85e40
Signed-off-by: Alex Popovsky <apopovsk@cisco.com>
Pavel Kotucek [Fri, 7 Oct 2016 06:38:45 +0000 (08:38 +0200)]
VPP-466: PG pg_create_interface API returns wrong interface index
Change-Id: Ife7b2907012a79e6893cfa7f2cf61c7a54865248
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
Matus Fabian [Fri, 7 Oct 2016 10:29:09 +0000 (03:29 -0700)]
VPP-464: Fix IPSec-GRE tunnel input with FIB 2.0
Change-Id: Ic29592d39f1d672cb6e7e32b4af6123683e022a7
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Damjan Marion [Thu, 6 Oct 2016 14:53:32 +0000 (16:53 +0200)]
Add some useful scripts
Change-Id: Ic7ae9b43020ab4d26214bfab71b19ee259771c52
Signed-off-by: Damjan Marion <damarion@cisco.com>
John Lo [Wed, 5 Oct 2016 22:16:24 +0000 (18:16 -0400)]
Fix IP6 ND solicitation termination to allow link-local source IP
Move check for link-local source IP address for MAC/IP notification
only. Allow generation of response to IP6 ND solicitation request
if a match is found for target IP irrespective of source IP type.
Change-Id: Ib79d4b75fb4fe8aece625fd8cd26c8b9fc75ea47
Signed-off-by: John Lo <loj@cisco.com>
Igor Mikhailov (imichail) [Wed, 5 Oct 2016 22:58:35 +0000 (15:58 -0700)]
Fix sw_interface_set_unnumbered API for FIB2.0
ip[4|6]_sw_interface_enable_disable() should be called for
the unnumbered interface (and not on the interface with IP address)
Change-Id: Iffd347c539567c1302fa8136eea9c4e06b24d1bd
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
Klement Sekera [Wed, 5 Oct 2016 12:05:33 +0000 (14:05 +0200)]
don't require root privileges when running the tests
Change-Id: Ib67bf1a898e3c1e4038698f1cb068ae9099d7921
Signed-off-by: Klement Sekera <ksekera@cisco.com>