vpp.git
7 years agodpdk: add rte_delay_us_callback 71/3971/5
Pavel Kotucek [Mon, 28 Nov 2016 08:02:23 +0000 (09:02 +0100)]
dpdk: add rte_delay_us_callback

Converted DPDK16.07 "Allow-applications-to-override-rte_delay_us" patch
to of callback in DPDK16.11

Change-Id: I6c802e3ea8f817e5df591166b1e0a42f5f835a71
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoadd missing import to mpls test 20/4120/2
Gabriel Ganne [Tue, 6 Dec 2016 09:25:34 +0000 (10:25 +0100)]
add missing import to mpls test

Change-Id: If53a7c8066ec9713645a009218e264384afe93e4
Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>
7 years agoapi: set jvpp version to 17.01 21/4121/2
Marek Gradzki [Tue, 6 Dec 2016 09:58:56 +0000 (10:58 +0100)]
api: set jvpp version to 17.01

Change-Id: Ib22a3a24f9b290465dc80fc683d903d58ba3804c
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
7 years agoapi: missing support for dumping of neighbours (VPP-333) 90/4090/3
Pavel Kotucek [Mon, 5 Dec 2016 07:27:37 +0000 (08:27 +0100)]
api: missing support for dumping of neighbours (VPP-333)

added API to dump ipv4/ipv6 neighboors (added by ip_neighbor_add_del).

Change-Id: I33209a3d06beba64d68465c0892a9f4c65657334
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoImplement LISP control plane messages 44/3744/11
Filip Tehlar [Wed, 26 Oct 2016 12:31:24 +0000 (14:31 +0200)]
Implement LISP control plane messages

* Map-register
* Map-notify
* RLOC probing

Change-Id: I7f6295376b21cd67805446dfd1c1033acead2d4b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
7 years agoacl: The ACL plugin. 23/3423/3
Andrew Yourtchenko [Mon, 5 Dec 2016 16:25:28 +0000 (16:25 +0000)]
acl: The ACL plugin.

This is the commit from the accumulated work in the github ACL branch,
to move it to gerrit.

Change-Id: I85a6b0df0d3dd3c3c7588e92a1e22c553e4b6ef7
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
7 years agotest: l2bd instance multi-context correction 12/4112/1
Jan [Mon, 5 Dec 2016 22:29:17 +0000 (23:29 +0100)]
test: l2bd instance multi-context correction

- small correction of docstrings
- fix of create_pg_interface

Change-Id: I1958bd5ddaddaa2f7e6cbb18b0076e59e86d1e68
Signed-off-by: Jan Gelety <jgelety@cisco.com>
7 years agoUpdate CSIT tests 161128 -> 161204 07/4107/2
Jan [Mon, 5 Dec 2016 15:25:39 +0000 (16:25 +0100)]
Update CSIT tests 161128 -> 161204

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

Change-Id: I84bfb828403a32087de3341f27c3e9a04292ca8b
Signed-off-by: Jan <jgelety@cisco.com>
7 years agomake test: fix missing log/packet messages 71/3871/5
Klement Sekera [Fri, 18 Nov 2016 06:38:42 +0000 (07:38 +0100)]
make test: fix missing log/packet messages

Change-Id: Idb3119792943664748c4abc3829ad723f4156dfe
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoAll mcast and All class E have /4 not /8 subnet masks 54/4054/2
Neale Ranns [Thu, 1 Dec 2016 17:03:25 +0000 (17:03 +0000)]
All mcast and All class E have /4 not /8 subnet masks

Change-Id: I29e54014f43f0b0ce087380b2318fe623d879204
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoMove interface APIs to vnet/vnet/{interface.api,interface_api.c} 03/4103/2
Dave Barach [Mon, 5 Dec 2016 14:50:05 +0000 (09:50 -0500)]
Move interface APIs to vnet/vnet/{interface.api,interface_api.c}

Change-Id: If3f0f73ad1c1d54ac69122052c977eb83a9e16eb
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoFix l2.api patch in jvpp Makefile 02/4102/2
Marek Gradzki [Mon, 5 Dec 2016 12:36:01 +0000 (13:36 +0100)]
Fix l2.api patch in jvpp Makefile

Change-Id: Ic9a494725afde2e3507dda5b42c69680c20f090a
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
7 years agoapi: set interface MTU API (VPP-442) 93/4093/3
Matus Fabian [Mon, 5 Dec 2016 09:05:35 +0000 (01:05 -0800)]
api: set interface MTU API (VPP-442)

Change-Id: I67178f2703febb8ad3eb011606cb8a86fab5ee94
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agoFix crash in debug mode when call ethernet_register_l3_redirect() 91/4091/3
jerryian [Mon, 5 Dec 2016 09:13:00 +0000 (17:13 +0800)]
Fix crash in debug mode when call ethernet_register_l3_redirect()

Change-Id: I1c2a13663ec75460cd28ea8593aa8de3f27e47b9
Signed-off-by: jerryian <gu.jian1@zte.com.cn>
7 years agoapi: enable Java API generation for l2.api (VPP-438) 95/4095/3
Marek Gradzki [Mon, 5 Dec 2016 10:25:30 +0000 (11:25 +0100)]
api: enable Java API generation for l2.api (VPP-438)

Change-Id: I867c2f90d812007b874502d2aa60f09e40650941
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
7 years agoLocally generated packet go through lookup/load-balance - locally-generated is an... 89/3989/6
Neale Ranns [Tue, 29 Nov 2016 14:51:37 +0000 (06:51 -0800)]
Locally generated packet go through lookup/load-balance - locally-generated is an attribute of the packet and checked where necessary

Add a flag to the vnet_buffer to indicate a packet is locally originated. Then in the rewrite nodes we can check this flag and not perform the TTL decrement. The switch path cost is expected to be fractions of a clock - the flags will be hot in the cache.
The cehcks are necessary to due the requirements that VPP must be able to emit an IP packet with TTL=255.

Change-Id: Ieb9cf06e34df54fd5c950293de8b665016295c51
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoVariable-message-length tracing support, VPP-370 82/4082/3
Dave Barach [Fri, 2 Dec 2016 18:31:25 +0000 (13:31 -0500)]
Variable-message-length tracing support, VPP-370

Clean up several message handlers which spuriously depended on having
a vlib_main_t * pointer passed as a second argument. That definitely
doesn't happen when replaying an api trace...

Change-Id: Id4cf9745f770933566cb13698ee779333ee35d79
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoFix vpp crash when generating jumbo packets 75/4075/3
Juraj Sloboda [Fri, 2 Dec 2016 13:37:16 +0000 (14:37 +0100)]
Fix vpp crash when generating jumbo packets

Change-Id: Ie1832f2b5df9f9f7ba2f0f406116e11014d3ac21
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
7 years agoFix ICMP echo reply punt path 86/4086/2
Alexander Popovsky [Sun, 4 Dec 2016 10:39:38 +0000 (02:39 -0800)]
Fix ICMP echo reply punt path

Add ICMP echo reply punt logic in ip[46]-icmp-echo-reply (ping) nodes.
ICMP echo reply packets corresponding to the locally (VPP) originated
ICMP echo requests are still dropped as before. Rest of the (unknown)
ICMP echo reply packets are pushed to the “error-punt” node.

Also added ICMP echo packet (id/seq) trace information

Change-Id: I998198430dedc9b4d771b6aff2a97f18598663f9
Signed-off-by: Alexander Popovsky <apopovsk@cisco.com>
7 years agoFix crash whith bonded ethernet / DPDK 16.11 89/4089/2
Alexander Popovsky [Sun, 4 Dec 2016 23:26:58 +0000 (15:26 -0800)]
Fix crash whith bonded ethernet / DPDK 16.11

In DPDK 16.11 bonded PMD is still using old naming ‘rte_bond_pmd’.
See: dpdk-16.11/drivers/net/bonding/rte_eth_bond_api.c
Fixed crash when VPP is generating a name for ‘unknown’ non-PCI interface

Change-Id: I59e15f009e1a11949a19abf5234d09425a81c6ce
Signed-off-by: Alexander Popovsky <apopovsk@cisco.com>
7 years agotest: l2bd instances multi-context test (CSIT-479) 79/4079/3
Jan [Tue, 29 Nov 2016 09:04:53 +0000 (10:04 +0100)]
test: l2bd instances multi-context test (CSIT-479)

- add/update/delete L2BD instances and verify results by API
  command bridge_domain_dump and by traffic where applicable

Change-Id: Ic9d7f7b5f6f10e5df7053f27cbc87f653704dab1
Signed-off-by: Jan <jgelety@cisco.com>
7 years agoCoverity errors in MPLS code 77/4077/2
Neale Ranns [Fri, 2 Dec 2016 15:41:03 +0000 (15:41 +0000)]
Coverity errors in MPLS code

Change-Id: I3f98e3c30e29198cb8701bfb846ce194b7250ed7
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoremove CLIB_DEBUG conditional in fib_protocol_t 81/4081/2
Neale Ranns [Fri, 2 Dec 2016 18:15:48 +0000 (18:15 +0000)]
remove CLIB_DEBUG conditional in fib_protocol_t

Change-Id: I179941fe615935e63c6f4eacf1193c6bfab6631d
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoapi: L2 XConnect API (VPP-438) 76/4076/2
Matus Fabian [Fri, 2 Dec 2016 14:00:53 +0000 (06:00 -0800)]
api: L2 XConnect API (VPP-438)

Change-Id: I0a86184391723675488a5eb517c375f67940f5b5
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agointerfaces: make no_flatten variant of inteface_ouptut fn default 74/4074/2
Damjan Marion [Fri, 2 Dec 2016 07:09:45 +0000 (08:09 +0100)]
interfaces: make no_flatten variant of inteface_ouptut fn default

Flatten variant was used only by old native drivers.

Change-Id: If206c6c8b4f10843d60f908c3acb4e8db83ce03d
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoCoverity warning be gone, VPP-486 73/4073/2
Dave Barach [Fri, 2 Dec 2016 13:43:40 +0000 (08:43 -0500)]
Coverity warning be gone, VPP-486

Change-Id: I72dc2eca558b4a28ade75f0a6d91840b48630543
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agosnat: fix 1:1 NAT with multiple workers 46/4046/3
Matus Fabian [Thu, 1 Dec 2016 09:32:03 +0000 (01:32 -0800)]
snat: fix 1:1 NAT with multiple workers

Assign worker when static mapping is created.

Change-Id: I204e486e2ba5d1ef8e357759c35ba92a25a9a097
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agoInitialize the UDP checksum, or no supper 71/4071/2
Dave Barach [Fri, 2 Dec 2016 12:55:49 +0000 (07:55 -0500)]
Initialize the UDP checksum, or no supper

Change-Id: I542fbe9ccdf83ee220080b2506b38016359e0ce5
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agomake test: handle exceptions from VppPapiProvider.__init__ 72/4072/2
Klement Sekera [Fri, 2 Dec 2016 06:05:24 +0000 (07:05 +0100)]
make test: handle exceptions from VppPapiProvider.__init__

Change-Id: I3c0372d5d09d554ad4ebe0adfa97c111571f628a
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoAugment Vxlan to support NSH-Proxy 44/3944/15
Hongjun Ni [Thu, 24 Nov 2016 16:03:46 +0000 (00:03 +0800)]
Augment Vxlan to support NSH-Proxy

PatchSet 9: add range check for decap_next_index
PatchSet 6: delete runtime range check

Change-Id: I415e156d05d09d2ff34f6578924f0b243058f464
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
7 years agobuffers: fix vlib_buffer_copy 48/4048/2
Damjan Marion [Thu, 1 Dec 2016 10:59:33 +0000 (11:59 +0100)]
buffers: fix vlib_buffer_copy

memcpy should happen after current_data is set.

Change-Id: I838f61b54d15a8bb55d54f770f47fb4d58d071cb
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agofeature: add interface-output arc 22/4022/5
Damjan Marion [Tue, 29 Nov 2016 13:55:43 +0000 (14:55 +0100)]
feature: add interface-output arc

Change-Id: Ifea275a312e0f2474cdc3a336ac51ea83e403c74
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoPython API: Support for per message CRC and API split. 69/4069/2
Ole Troan [Fri, 2 Dec 2016 11:53:55 +0000 (12:53 +0100)]
Python API: Support for per message CRC and API split.

These changes are incompatible with Python VPP API 1.2

There is now a new VPP Class and it can be used like:

from vpp_papi import VPP
jsonfiles = []
for root, dirnames, filenames in os.walk('../../../build-root/'):
    if root.find('install-') == -1: continue
    for filename in fnmatch.filter(filenames, '*.api.json'):
        jsonfiles.append(os.path.join(root, filename))

vpp = VPP(jsonfiles)
rv = vpp.show_version()
print('RV', rv.program.decode().rstrip('\0x00'))
vpp.disconnect()

Change-Id: Ic92d226de2cf3626e750404012247e7fc24fb7fc
Signed-off-by: Ole Troan <ot@cisco.com>
7 years agoFix dpdk_validate_rte-mbuf for chained buffers 68/4068/2
Pierre Pfister [Fri, 2 Dec 2016 10:55:13 +0000 (10:55 +0000)]
Fix dpdk_validate_rte-mbuf for chained buffers

Change I4ad40f398f7b5cf introduced a bug with chained buffers.
This patch should fix it.

Change-Id: Ia409d5eb90fcd6d7ff3c7da0836edfd2eb25998b
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
7 years agoapi: fix inconsistent behaviour when adding l2fib filter entry (VPP-147) 66/4066/3
Pavel Kotucek [Fri, 2 Dec 2016 07:18:55 +0000 (08:18 +0100)]
api: fix inconsistent behaviour when adding l2fib filter entry (VPP-147)

Inconsistency when adding L2 fib entry using CLI and API (doesn't work)

Change-Id: I6b58d8a4c444d2712d1a4c225cea5eb5189c355f
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agofeature: introduce feature arc end nodes 81/3981/6
Damjan Marion [Mon, 28 Nov 2016 17:21:59 +0000 (18:21 +0100)]
feature: introduce feature arc end nodes

This change allows us to keep feature path disabled
until 1st feature is enabled. Enabling 1st feature also means
that end feature node is enabled helping feature arc tenants
to reach the end.

Change-Id: Idbd64e681bd2b42e7c67612074649e5ae51f46e6
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoMPLS infrastructure improvments 69/3669/14
Neale Ranns [Wed, 2 Nov 2016 14:20:04 +0000 (14:20 +0000)]
MPLS infrastructure improvments

- deprecate MPLSoEth and MPLSoGRE; replace with generic MPLS tunnel.
- deprecates CLI 'mpls encap ..'; replace with addition of MPLS out label to a route/tunnel.
- support for MPLS 'routes', e.g. MPLS x-connects.
 - deprecates CLI 'mpls decap ..'; replace with 'mpls route .. '

Change-Id: Ibda46544912f880d0200f22bf9ff9b52828fcc2f
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoFix wrong indentation in vppctl script 45/4045/3
Andrew Li [Thu, 1 Dec 2016 09:05:37 +0000 (17:05 +0800)]
Fix wrong indentation in vppctl script

Change-Id: I6c67df0cef53f93161e3d6b697c4d0fdc1fee8a7
Signed-off-by: Andrew Li <zhaoxili@cisco.com>
7 years agoAPI: Packaging of JSON files. 57/4057/4
Ole Troan [Thu, 1 Dec 2016 20:49:03 +0000 (21:49 +0100)]
API: Packaging of JSON files.

Change-Id: If041b6faf1a091d4758b514f0a8cd800ee0e6a89
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Ole Troan <otroan@ot-vpp.cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
7 years agoAdd a 64-byte interface "tag" for vhost and tap interfaces 80/3980/7
Dave Barach [Mon, 28 Nov 2016 16:41:35 +0000 (11:41 -0500)]
Add a 64-byte interface "tag" for vhost and tap interfaces

This patch should dispose of spurious objections around interface tag
requirements, currently in use as excuses not to support the vpp ML2
plugin.

Add "u8 tag[64];" to the sw_interface_details message sent by vpp to
control-plane clients. Add u8 tag[64] to the create_vhost_user_if and
tap_connect APIs.

Added debug CLI to set/show/clear the interface tag on any vnet sw
interface. Added the sw_interface_tag_add_del API to set/clear
tags on any vnet sw interface.

There can be no expectation of "tag atomicity" with respect to
physical hardware. Vpp discovers devices before establishing a
control-plane connection.

This patch upload verifies using the csit oper-161128 branch

Change-Id: If8520119e7a586c5ccf0fdda82484ac205622855
Signed-off-by: Dave Barach <dave@barachs.net>
7 years ago"Update CSIT tests 161120 -> 161128"" 60/4060/2
Peter Mikus [Thu, 1 Dec 2016 19:54:49 +0000 (19:54 +0000)]
"Update CSIT tests 161120 -> 161128""

This reverts commit b5388a5319ad7da519280afccbdf63f61833122b.

Change-Id: I07160d08e469417933b3da3466ce856ab673e955
Signed-off-by: Peter Mikus <pmikus@cisco.com>
7 years agoAdd vxlan-bypass feature to IP4 forwarding path 33/4033/8
John Lo [Wed, 30 Nov 2016 17:51:39 +0000 (12:51 -0500)]
Add vxlan-bypass feature to IP4 forwarding path

Added vxlan-bypass feature which can be enabled on the underlay
interface which receive VXLAN packets to accelerate VXLAN decap
processing. The CLI to enable it is:
    set interface ip vxlan-bypass <interface> [del]
With this feature enabled on an interface, there is an overhead for
non-VXLAN packets at about 13 clocks per packet.
The API is created to support vxlan-bypass for both VXLANoIPv4 and
VXLANoIPv6. With this change, vxlan-bypass is only implemented for
IPv4 forwarding path.

Change-Id: Ica7239f642010b231eade7fd5009aa4b42c119d3
Signed-off-by: John Lo <loj@cisco.com>
7 years agoARP un-unmbered called when no interfaces are unnumbered 31/4031/3
Neale Ranns [Wed, 30 Nov 2016 15:41:53 +0000 (07:41 -0800)]
ARP un-unmbered called when no interfaces are unnumbered

Change-Id: I4bb60d6382f0955dbf4848225a9fd6985b906fbc
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
7 years agoAdd rx interface, ip4 src+dst to the flow-per-packet records 34/4034/4
Dave Barach [Wed, 30 Nov 2016 20:23:07 +0000 (15:23 -0500)]
Add rx interface, ip4 src+dst to the flow-per-packet records

Change-Id: I1f49cdaf5879d9638742ed1ecc699f2e9a87f0f8
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoAdd banner for building deb and rpm packages to verify 40/4040/2
Ed Warnicke [Wed, 30 Nov 2016 23:45:42 +0000 (17:45 -0600)]
Add banner for building deb and rpm packages to verify

Change-Id: I03fd6f32ad720a6a2443c6b350c8890dec579229
Signed-off-by: Ed Warnicke <eaw@cisco.com>
7 years agovppctl: clean exit cli when ctrl-d or ctrl-c entered 73/3973/4
Padraig Connolly [Mon, 28 Nov 2016 10:21:19 +0000 (10:21 +0000)]
vppctl: clean exit cli when ctrl-d or ctrl-c entered

Ctrl-D now exits vpp cli using do_EOF function

Ctrl-C now exits cleanly without KeyboardInterrupt Error

Change-Id: I09d103df57b9512e572eb66c17c548b9c1801589
Signed-off-by: Padraig Connolly <padraig.connolly@intel.com>
7 years agodoc: doxygen documentation for vhost-user CLI Commmands (VPP-279) 77/3977/4
Billy McFall [Wed, 23 Nov 2016 17:45:29 +0000 (12:45 -0500)]
doc: doxygen documentation for vhost-user CLI Commmands (VPP-279)

Change-Id: I1f3cf7c786b0a86b56a1cd7d9650e446515f1504
Signed-off-by: Billy McFall <bmcfall@redhat.com>
7 years agoRevert "Update CSIT tests 161120 -> 161128" 39/4039/2
Ed Warnicke [Wed, 30 Nov 2016 22:57:34 +0000 (22:57 +0000)]
Revert "Update CSIT tests 161120 -> 161128"

This revert is to probe to see if CSIT tests are being broken by this patch.

This reverts gerrit https://gerrit.fd.io/r/#/c/3985/

This reverts commit f8c94313a3ec2e3dfdf7b308516cce315f69f548.

Change-Id: I6e1a7285ab077823a5d0350b8eda6bb26609f70c
Signed-off-by: Ed Warnicke <eaw@cisco.com>
7 years agoTemporarily remove make test 38/4038/1
Ed Warnicke [Wed, 30 Nov 2016 22:53:58 +0000 (16:53 -0600)]
Temporarily remove make test

Change-Id: I2b8c3c99f1358c53721790f8c6aefa7123c4959d
Signed-off-by: Ed Warnicke <eaw@cisco.com>
7 years agodpdk patch: virtio: tx with can_push when VERSION_1 is set 27/4027/2
Pierre Pfister [Wed, 30 Nov 2016 09:21:05 +0000 (09:21 +0000)]
dpdk patch: virtio: tx with can_push when VERSION_1 is set

This patch for dpdk 16.11 enables the use of shallow
virtio descriptors when VERSION_1 is set.

More info on DPDK patchwork:
  http://dpdk.org/dev/patchwork/patch/17340/

Change-Id: I28cde77ed5a3588921d00da50678debfe0338b08
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
7 years agoEnabling AES-GCM-128 with 16B ICV support 90/3990/2
Radu Nicolau [Tue, 29 Nov 2016 11:00:30 +0000 (11:00 +0000)]
Enabling AES-GCM-128 with 16B ICV support

Change-Id: Ib57b6f6b71ba14952ad77477a4df3ab33b36fef4
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
7 years agoVPP-530: adapt jvpp generation for VPP API splitting 63/3963/8
Marek Gradzki [Fri, 25 Nov 2016 07:38:29 +0000 (08:38 +0100)]
VPP-530: adapt jvpp generation for VPP API splitting

Now jvpp uses *.json instead of *.py api representation.
Multiple *.json files are supported.

Change-Id: I89fa556c7d2a35d42833f2faaa28398ebd2ed012
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
7 years agoVXLAN multicast dst (remote) address support 51/3951/5
Eyal Bari [Thu, 24 Nov 2016 17:42:43 +0000 (19:42 +0200)]
VXLAN multicast dst (remote) address support

Added support for multicast vxlan tunnels which are used for bridge domain flooding instead
of flooding the all unicast tunnels in the bridge domain.

features added:
* conditional flooding to some of the BD members - based on existance of multicast tunnel member
* added local multicast adjacency - multicast packets are handled as the same as unicast - based on src (unicast) address
* refactored some of vxlan tunnel creation code - to unify ip4/6 handling

Change-Id: I60cca4124265a8dd4f6b2d6ea8701e52e7c1baa4
Signed-off-by: Eyal Bari <ebari@cisco.com>
7 years agoStart spliting vpe.api into logically related pieces 39/3639/9
Dave Barach [Mon, 31 Oct 2016 15:59:07 +0000 (11:59 -0400)]
Start spliting vpe.api into logically related pieces

To reduce rebase / manual merge pain, among other things

Change-Id: I3186df0479066916a2ca69c48759178b45ef035c
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: Ole Troan <ot@cisco.com>
7 years agoImprove test for unlocking LISP src FIB 23/4023/1
Florin Coras [Wed, 30 Nov 2016 01:14:06 +0000 (17:14 -0800)]
Improve test for unlocking LISP src FIB

Check that either src FIB is empty or only default is present. In some
situations we may overwrite/delete default.

Change-Id: I4a90804cc30ea8e3aa24e36a07f8096b8d3e46bc
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agospan: fix wrong next1 feature index in dual loop 86/3986/3
Pavel Kotucek [Tue, 29 Nov 2016 10:03:37 +0000 (11:03 +0100)]
span: fix wrong next1 feature index in dual loop

Change-Id: I84e822f46fd1a0b83865073e797ef3ac03280e72
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoHave make verify check deb and rpm builds 26/3926/8
Ed Warnicke [Tue, 22 Nov 2016 17:57:30 +0000 (17:57 +0000)]
Have make verify check deb and rpm builds

Change-Id: I7fe3558118835240ecd155609821f9de2d609553
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
7 years agoAdded make test to make verify 25/3925/8
Ed Warnicke [Tue, 22 Nov 2016 17:48:13 +0000 (17:48 +0000)]
Added make test to make verify

Change-Id: If5dcfc330a7df69b2c811ce5a8a48c2e0f968270
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
7 years agoFix "TypeError: cannot concatenate 'str' and 'NoneType' objects" 82/3982/2
Ed Warnicke [Mon, 28 Nov 2016 19:59:22 +0000 (13:59 -0600)]
Fix "TypeError: cannot concatenate 'str' and 'NoneType' objects"

Change-Id: I85a42785d43a676b65f26b6e2cd71c997fddcbb1
Signed-off-by: Ed Warnicke <eaw@cisco.com>
7 years agoUpdate CSIT tests 161120 -> 161128 85/3985/1
Jan [Tue, 29 Nov 2016 09:08:34 +0000 (10:08 +0100)]
Update CSIT tests 161120 -> 161128

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

Change-Id: Ib0325dde7bd9f9769660d9c5c72f0fda5e752eaf
Signed-off-by: Jan <jgelety@cisco.com>
7 years agoAdd support for using documentation siphons in multiple ways 83/3283/5
Chris Luke [Wed, 5 Oct 2016 19:45:19 +0000 (15:45 -0400)]
Add support for using documentation siphons in multiple ways

Experiental support for generating  multiple output formats from the
same siphoned data.

Adds a contrived example to generate a plain list of all CLI commands
(the "itemlist" format).

Eventually we can consider moving the tempate procesisng into the
Output class as well as a way to override how the data is traversed
(ordered).

Change-Id: I77629a74a8fa0c7e583993469dc50491f72f13e7
Signed-off-by: Chris Luke <chrisy@flirble.org>
7 years agoGRE Tests update after postinit removal 79/3979/2
Neale Ranns [Mon, 28 Nov 2016 16:10:59 +0000 (16:10 +0000)]
GRE Tests update after postinit removal

Change-Id: I33df256ca07c99149465c896c7063a3153021a5a
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agosnat: fix coverity issues 76/3976/1
Matus Fabian [Mon, 28 Nov 2016 13:36:24 +0000 (05:36 -0800)]
snat: fix coverity issues

Change-Id: Icb8239c02af8758a9e4bf299726a89677f53451d
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agoClean up the Lua API, make it luajit-only, no C 65/3965/2
Andrew Yourtchenko [Fri, 25 Nov 2016 13:29:30 +0000 (13:29 +0000)]
Clean up the Lua API, make it luajit-only, no C

This removes the libcough which was a temporary layer atop
the libpneum to make it synchronous. Now Lua API only requres
luajit, and has no dependencies on compiling any C.
Also comment out a couple of debug print functions.

Change-Id: I35fd1c8088c6fd1b10b9e4d903ad241ab32fd91a
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
7 years agomake test: detect early vpp crash 45/3945/3
Klement Sekera [Thu, 24 Nov 2016 00:59:16 +0000 (01:59 +0100)]
make test: detect early vpp crash

If VPP process dies right at start, do a quick detection instead of being
stuck in the connect timeout (60s).

Change-Id: I41675181635fb81a6a7d93fbf652480a16bf78a0
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agosnat: thread safe (VPP-443) 88/3488/22
Matus Fabian [Wed, 19 Oct 2016 13:17:52 +0000 (06:17 -0700)]
snat: thread safe (VPP-443)

All traffic corresponding to a specific SANT user is handled by a CPU core.
in2out: Non-translated packets worker lookup by src address and VRF hash in
snat-in2out-worker-handoff node.
out2in: Translated packets worker lookup by dst address and port number hash in
snat-out2in-worker-handoff node.

Change-Id: Ia092a605689539469841d382588f3f486a29a769
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agodpdk: add ipsec cryptodev support 67/3967/2
Sergio Gonzalez Monroy [Fri, 25 Nov 2016 13:36:12 +0000 (13:36 +0000)]
dpdk: add ipsec cryptodev support

DPDK Cryptodev support and related IPsec ESP nodes using DPDK Cryptodev APIs.

When DPDK Cryptodev support is enabled, the node graph is modified by adding
and replacing some of the nodes.

The following nodes are replaced:
* esp-encrypt -> dpdk-esp-encrypt
* esp-decrypt -> dpdk-esp-decrypt

The following nodes are added:
* dpdk-crypto-input : polling input node
* dpdk-esp-encrypt-post : internal node
* dpdk-esp-decrypt-post : internal node

Change-Id: I6dca9a890abaf4fb2a4fffce3fd08ac013e4d701
Signed-off-by: Zhang, Roy Fan <roy.fan.zhang@intel.com>
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
7 years agoUnlock LISP source FIB if only default left 70/3970/1
Florin Coras [Mon, 28 Nov 2016 06:33:01 +0000 (22:33 -0800)]
Unlock LISP source FIB if only default left

If when removing a source route the LISP source FIB contains only the
default, remove the whole source FIB. Defaults are added when FIBs are
created so no forwarding entry depends on them.

Change-Id: I0dd5dc31d128d834ac3b92c962c4c68577aa7429
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agol2: quad loop l2input, l2learn and l2output nodes 62/3962/1
Damjan Marion [Fri, 25 Nov 2016 03:25:01 +0000 (19:25 -0800)]
l2: quad loop l2input, l2learn and l2output nodes

Change-Id: I79f76bc9791d228e2ac2867a1b857bb03d9a5279
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agol2: fix latency issue casued by unnecesary read of previous cacheline 52/3952/2
Damjan Marion [Thu, 24 Nov 2016 21:20:05 +0000 (22:20 +0100)]
l2: fix latency issue casued by unnecesary read of previous cacheline

In majority of cases ethernet header sits at the beggining of cacheline.
Reading (dst_mac - 2) into 64 bit register is much more expensive
than doing simple bitwise shift, specially if previous cacheline is
not prefetched.

Change-Id: I35e53eae735098fb917a87c307e60a87e76e460f
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoString (key,value) pair serialization 53/3953/1
Dave Barach [Thu, 24 Nov 2016 21:34:20 +0000 (16:34 -0500)]
String (key,value) pair serialization

Change-Id: I0e713b5ee82e246d4e5bca138683f3205e984561
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agovhost-user: add retry sequence in tx code 48/3948/2
Damjan Marion [Thu, 24 Nov 2016 10:10:08 +0000 (11:10 +0100)]
vhost-user: add retry sequence in tx code

This change improves NDR rate with vhost-user
interface for ~ 40%.

Change-Id: Ibec0b7cd5a9c3a20c45f71e0081b9cb2db493cb8
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agovlib: remove old memcpy implementation 42/3942/4
Damjan Marion [Thu, 24 Nov 2016 00:28:45 +0000 (01:28 +0100)]
vlib: remove old memcpy implementation

Change-Id: I21f5abb00cf12da5c144da477badc38736be7a7d
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agovhost: CLI delete interface by name 00/3900/2
Pierre Pfister [Mon, 21 Nov 2016 12:52:22 +0000 (12:52 +0000)]
vhost: CLI delete interface by name

Adds interface name parsing to 'delete vhost' command
so an interface name can be provided.

Change-Id: Iacd50545a63548c13b9bb3c36a98e08f6ad74429
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
7 years agovhost: Delete thread configuration when interface deleted 99/3899/2
Pierre Pfister [Mon, 21 Nov 2016 12:50:38 +0000 (12:50 +0000)]
vhost: Delete thread configuration when interface deleted

It does not make sense to keep interface configuration
when a vhost interface is deleted.
This fix makes sure thread configuration is removed.

Change-Id: I4b3b75d98c15b544c32928f79ef52b7622a86b75
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
7 years agoRemove postinit from make-test interfaces 35/3935/3
Matej Klotton [Wed, 23 Nov 2016 14:27:17 +0000 (15:27 +0100)]
Remove postinit from make-test interfaces

Change-Id: I1eb0f735c5d025e6096d5760eb01419a1c58530a
Signed-off-by: Matej Klotton <mklotton@cisco.com>
7 years agovlib: merge buffers.c and dpdk_buffer.c 43/3943/2
Damjan Marion [Thu, 24 Nov 2016 01:07:32 +0000 (02:07 +0100)]
vlib: merge buffers.c and dpdk_buffer.c

Majority of those two files are identical so makes
sense to have only one.

Change-Id: Id23eeb332cb23a11e54eecccefe08594e21a724e
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agodpdk: remove old patches 41/3941/2
Damjan Marion [Wed, 23 Nov 2016 22:47:53 +0000 (23:47 +0100)]
dpdk: remove old patches

Change-Id: I31244207ca5420558c6ff00b2021126ff5628e08
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoipsec: remove dependency on DPDK > 0 40/3940/2
Damjan Marion [Wed, 23 Nov 2016 22:42:23 +0000 (23:42 +0100)]
ipsec: remove dependency on DPDK > 0

ipsec code is not depenent on dpdk anymore.

Change-Id: Iff3f960ca0f0435f66bcb575998d2fcea3377701
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agol2: remove unused l3 packet type discovery in l2 path 39/3939/2
Damjan Marion [Wed, 23 Nov 2016 22:26:47 +0000 (23:26 +0100)]
l2: remove unused l3 packet type discovery in l2 path

This costs significant amount of cycles and it is not
used by anybody.

Change-Id: I42a0306aa7c254292621bdaa09b736421662d540
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agodpdk: switch to 16.11 33/3733/6
Damjan Marion [Tue, 8 Nov 2016 19:39:21 +0000 (20:39 +0100)]
dpdk: switch to 16.11

Change-Id: Icf9de5b89e5c2cda763e52d528fb70091860a754
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agodpdk: remove rte_mbuf modifications at many places in the code 35/3835/7
Damjan Marion [Tue, 15 Nov 2016 11:50:28 +0000 (12:50 +0100)]
dpdk: remove rte_mbuf modifications at many places in the code

It is sole responsibility of dpdk tx function to fill/update
rte_mbuf prior to sending packet do PMD.

Change-Id: I8ca1dba3e7bef41034d36e3525831849f7ac4ac0
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agol2: quad loop l2fwd node 37/3937/1
Damjan Marion [Wed, 23 Nov 2016 05:10:25 +0000 (21:10 -0800)]
l2: quad loop l2fwd node

Change-Id: I8510575ee1d6b7c5ccf551766e77e40ce55e644c
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agodpdk: input node next and error optimizations 36/3936/1
Damjan Marion [Wed, 23 Nov 2016 02:21:51 +0000 (18:21 -0800)]
dpdk: input node next and error optimizations

Change-Id: Iee90ed725e824a3beed2660d21d74dae48c76eb0
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoFix coverity warnings, VPP-486 33/3933/3
Dave Barach [Wed, 23 Nov 2016 13:57:37 +0000 (08:57 -0500)]
Fix coverity warnings, VPP-486

Change-Id: Id88805f77642187f304f8baef1f6b447728e4b5b
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoCSIT-473: L2 FIB tests 24/3924/2
Jan [Tue, 15 Nov 2016 16:05:00 +0000 (17:05 +0100)]
CSIT-473: L2 FIB tests

 - add/delete MAC entries and check the traffic

Change-Id: I82b568fdd7796461b2df900c07a4bd9b87ab17c2
Signed-off-by: Jan <jgelety@cisco.com>
7 years agodpdk: quad loop dpdk tx and code optimizations 78/3878/12
Damjan Marion [Tue, 15 Nov 2016 11:50:28 +0000 (12:50 +0100)]
dpdk: quad loop dpdk tx and code optimizations

Beside performance optimization this change
also introduces rte_mbuf validation in dpdk tx code.
If packet is arrving from non-DPDK source like
self-originated packets or non-dpdk devices (tuntap,
af_packet, netmap, pg) it is not anymore exepcted
that it contains valid rte_mbuf metadata unless it is
explictely stated by setting VNET_BUFFER_RTE_MBUF_VALID
flag.

dpdk-input node sets VNET_BUFFER_RTE_MBUF_VALID on all
packets and that reduces cost of validation in tx node.

Change-Id: I4ad40f398f7b5cf90656a2069a27c0f6fc13efba
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoGRE tests and fixes 30/3830/5
Neale Ranns [Tue, 15 Nov 2016 09:46:51 +0000 (09:46 +0000)]
GRE tests and fixes

Change-Id: I234240e9bdd4b69ad64a17b1449ae1e81c0edaca
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoFix coverity warnings, VPP-486 27/3927/2
Dave Barach [Tue, 22 Nov 2016 20:23:41 +0000 (15:23 -0500)]
Fix coverity warnings, VPP-486

Change-Id: I4ec49e116fdb418ebf9d84000f2a0cec1cf78b14
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoSpan node configuration fix 21/3921/2
Christophe Fontaine [Tue, 22 Nov 2016 13:52:57 +0000 (14:52 +0100)]
Span node configuration fix

Prefer to use the sw_if_index instead of the hw_if_index
to be compatible with vhost-user interfaces.

Change-Id: Id1e4255a992d428b8de47b3dd6175ed86e08c803
Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
7 years agoPrevent a frame leak when a pending node dispatches packets to itself. 13/3913/3
Neale Ranns [Tue, 22 Nov 2016 08:29:51 +0000 (08:29 +0000)]
Prevent a frame leak when a pending node dispatches packets to itself.

this patch recognises the case where the pending frame has packets dispatched to the same to-node, i.e. when restoring the frame there now exists a new to-node frame, and then frees the frame in hand.

Change-Id: If166bf56970b7b3412fa6097cd90bf22f72abe4d
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoadd vpp banner graphic when vpp-cli starts 15/3815/7
Padraig Connolly [Mon, 14 Nov 2016 11:37:37 +0000 (11:37 +0000)]
add vpp banner graphic when vpp-cli starts

Added check if termianl output is tty
*If terminal is tty, display banner

Added "FD.io VPP" banner to vppctl script on startup
*FD.io displays in red
*VPP displays in white

Change-Id: Iaab3513d4f9d7ba5eefe070c1daf319f5014cf85
Signed-off-by: Padraig Connolly <padraig.connolly@intel.com>
7 years agovppinfra: fix TSC clock detection on newer intel CPUs 08/3808/3
Damjan Marion [Sat, 12 Nov 2016 10:50:01 +0000 (11:50 +0100)]
vppinfra: fix TSC clock detection on newer intel CPUs

Change-Id: Iff88c9a0dd1b7401605075221640b269bec12859
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoVAT: don't pass u8 to unformat - it expects an 4 byte integer 19/3919/2
Neale Ranns [Tue, 22 Nov 2016 12:16:59 +0000 (12:16 +0000)]
VAT: don't pass u8 to unformat - it expects an 4 byte integer

Change-Id: I82f21a77b96b9d9f00a4d3cf261bb4bd4644460b
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoFix issues reported by coverity 17/3917/1
Pavel Kotucek [Tue, 22 Nov 2016 08:15:01 +0000 (09:15 +0100)]
Fix issues reported by coverity

Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
Change-Id: I5d8c542fd283f86c325200f3caab56294393cedf

7 years agoDual Loop Load-Balance Nodes 81/3881/2
Neale Ranns [Sat, 19 Nov 2016 13:50:04 +0000 (13:50 +0000)]
Dual Loop Load-Balance Nodes

Change-Id: I23bc477aa03f97dd546747b3297a878055d32e1c
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoAdd client-side msg_name_and_crc -> msg_index table 70/3770/12
Dave Barach [Thu, 10 Nov 2016 19:22:49 +0000 (14:22 -0500)]
Add client-side msg_name_and_crc -> msg_index table

vppapigen now generates per-message crcs. Verified that whitespace
and real changes in message A don't change the crc for message B, etc.

Fixed the sample and flowperpkt plugins to participate. Others need
the same treatment. They don't build due to python/java language binding
build issues.

To use the scheme:

Client connects as usual.

Then call: u32 vl_api_get_msg_index(char * name_and_crc)
name_and_crc is a string like: "flowperpkt_tx_interface_add_del_753301f3",
aka the message name with _%08x <expected crc> appended.

Try these vpp-api-test commands to play with it:

vat# dump_msg_api_table
     <snip>
 [366]: punt_reply_cca27fbe
 [367]: ipsec_spd_dump_5e9ae88e
 [368]: ipsec_spd_details_6f7821b0
 [369]: sample_macswap_enable_disable_0f2813e2
 [370]: sample_macswap_enable_disable_reply_476738e5
 [371]: flowperpkt_tx_interface_add_del_753301f3
 [372]: flowperpkt_tx_interface_add_del_reply_d47e6e0b

vat# get_msg_id sample_macswap_enable_disable_reply_476738e5
 'sample_macswap_enable_disable_reply_476738e5' has message index 370

vat# get_msg_id sample_macswap_enable_disable_reply_476738e3
 'sample_macswap_enable_disable_reply_476738e3' not found

CRCs may vary, etc.

vppapigen is used to build a set of JSON representations
of each API file from vpp-api/Makefile.am and that is in
turn used by each language binding (Java, Python, Lua).

Change-Id: I3d64582e779dac5f20cddec79c562c288d8fd9c6
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: Ole Troan <ot@cisco.com>
7 years agoUpdate CSIT tests 161113 -> 161120 03/3903/2
Jan [Mon, 21 Nov 2016 13:34:05 +0000 (14:34 +0100)]
Update CSIT tests 161113 -> 161120

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

Change-Id: Ib8472f0a6eb4c8add5ca8ba51bccd9ba59938636
Signed-off-by: Jan <jgelety@cisco.com>
7 years agoConvergence Improvements 97/3897/2
Neale Ranns [Mon, 21 Nov 2016 12:25:22 +0000 (12:25 +0000)]
Convergence Improvements

addressing convergence times when interface is shut.
1) prioritise the registered callback handlers. Add FIB convergence handler as high priority
2) hook the FIB convergence call-back into HW link down.
3) don't schedule a walk of a FIB node if it has no children
4) Checks at fib_path_t to prevent unnecessary walks, that it prevent the same information propagting the graph multiple times.

Change-Id: I406966b50f31d77c221821b8649776d66655194c
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agopg: avoid possible buffer leak 73/3873/2
Damjan Marion [Fri, 18 Nov 2016 13:43:10 +0000 (14:43 +0100)]
pg: avoid possible buffer leak

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