1334 Commits

Author SHA1 Message Date
ad422ed7ea 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>
2016-12-02 11:09:36 +00:00
caffe0980a Fix wrong indentation in vppctl script
Change-Id: I6c67df0cef53f93161e3d6b697c4d0fdc1fee8a7
Signed-off-by: Andrew Li <zhaoxili@cisco.com>
2016-12-02 11:07:09 +00:00
f14e3bf7b2 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>
2016-12-02 09:11:11 +00:00
7be864ad0d 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>
2016-12-01 22:27:31 +00:00
e245d5ecef "Update CSIT tests 161120 -> 161128""
This reverts commit b5388a5319ad7da519280afccbdf63f61833122b.

Change-Id: I07160d08e469417933b3da3466ce856ab673e955
Signed-off-by: Peter Mikus <pmikus@cisco.com>
2016-12-01 22:24:10 +00:00
37682e1237 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>
2016-12-01 19:34:12 +00:00
436d06b1c7 ARP un-unmbered called when no interfaces are unnumbered
Change-Id: I4bb60d6382f0955dbf4848225a9fd6985b906fbc
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2016-12-01 11:28:35 +00:00
de7f3a7791 Add rx interface, ip4 src+dst to the flow-per-packet records
Change-Id: I1f49cdaf5879d9638742ed1ecc699f2e9a87f0f8
Signed-off-by: Dave Barach <dave@barachs.net>
2016-12-01 11:27:10 +00:00
10389371b3 Add banner for building deb and rpm packages to verify
Change-Id: I03fd6f32ad720a6a2443c6b350c8890dec579229
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-12-01 09:32:23 +00:00
1f417aac76 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>
2016-12-01 03:16:48 +00:00
a92501ab70 doc: doxygen documentation for vhost-user CLI Commmands (VPP-279)
Change-Id: I1f3cf7c786b0a86b56a1cd7d9650e446515f1504
Signed-off-by: Billy McFall <bmcfall@redhat.com>
2016-12-01 03:15:52 +00:00
b5388a5319 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>
2016-12-01 01:06:38 +00:00
31a64e55c2 Temporarily remove make test
Change-Id: I2b8c3c99f1358c53721790f8c6aefa7123c4959d
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-11-30 16:53:58 -06:00
865d6ba8a3 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>
2016-11-30 21:06:45 +00:00
6929ea9225 Enabling AES-GCM-128 with 16B ICV support
Change-Id: Ib57b6f6b71ba14952ad77477a4df3ab33b36fef4
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
2016-11-30 20:37:45 +00:00
2fee4c8fad 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>
2016-11-30 18:24:38 +00:00
c5b1360045 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>
2016-11-30 16:31:32 +00:00
aff7077d20 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>
2016-11-30 15:06:08 +00:00
847944046c 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>
2016-11-29 17:25:44 -08:00
e2e95ce655 span: fix wrong next1 feature index in dual loop
Change-Id: I84e822f46fd1a0b83865073e797ef3ac03280e72
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-11-29 18:10:13 +00:00
ddff8a4ee4 Have make verify check deb and rpm builds
Change-Id: I7fe3558118835240ecd155609821f9de2d609553
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
2016-11-29 17:35:44 +00:00
cfce8fa443 Added make test to make verify
Change-Id: If5dcfc330a7df69b2c811ce5a8a48c2e0f968270
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
2016-11-29 17:35:44 +00:00
b8ff5d6a1b Fix "TypeError: cannot concatenate 'str' and 'NoneType' objects"
Change-Id: I85a42785d43a676b65f26b6e2cd71c997fddcbb1
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-11-29 17:35:44 +00:00
Jan
f8c94313a3 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>
2016-11-29 10:08:34 +01:00
c3f92adf6b 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>
2016-11-28 18:23:35 +00:00
39f9973f89 GRE Tests update after postinit removal
Change-Id: I33df256ca07c99149465c896c7063a3153021a5a
Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-11-28 17:42:32 +00:00
38fb44f51d snat: fix coverity issues
Change-Id: Icb8239c02af8758a9e4bf299726a89677f53451d
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-11-28 05:36:24 -08:00
985f3d11fa 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>
2016-11-28 11:55:34 +00:00
085f5c0066 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>
2016-11-28 11:54:47 +00:00
475f055305 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>
2016-11-28 11:35:22 +00:00
a10f62b11e 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>
2016-11-28 11:29:50 +00:00
feeebfe019 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>
2016-11-27 22:44:36 -08:00
dc5252b17a l2: quad loop l2input, l2learn and l2output nodes
Change-Id: I79f76bc9791d228e2ac2867a1b857bb03d9a5279
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-25 11:53:24 +01:00
30230dd7f8 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>
2016-11-25 09:27:31 +00:00
23a7412bda String (key,value) pair serialization
Change-Id: I0e713b5ee82e246d4e5bca138683f3205e984561
Signed-off-by: Dave Barach <dave@barachs.net>
2016-11-24 16:36:01 -05:00
4e969f9c18 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>
2016-11-24 11:16:29 +00:00
a5e7c29d41 vlib: remove old memcpy implementation
Change-Id: I21f5abb00cf12da5c144da477badc38736be7a7d
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-24 11:05:42 +00:00
ece983dd45 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>
2016-11-24 09:35:15 +00:00
7a91b46e03 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>
2016-11-24 09:34:56 +00:00
c5bf07fabe Remove postinit from make-test interfaces
Change-Id: I1eb0f735c5d025e6096d5760eb01419a1c58530a
Signed-off-by: Matej Klotton <mklotton@cisco.com>
2016-11-24 09:32:57 +00:00
1cd8f3c985 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>
2016-11-24 09:25:22 +00:00
f3ebeda1da dpdk: remove old patches
Change-Id: I31244207ca5420558c6ff00b2021126ff5628e08
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-24 09:24:05 +00:00
e99007b3df 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>
2016-11-24 09:14:43 +00:00
4c6b34f742 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>
2016-11-24 03:50:06 +00:00
e0a2d1796a dpdk: switch to 16.11
Change-Id: Icf9de5b89e5c2cda763e52d528fb70091860a754
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-23 22:39:02 +00:00
676554935a 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>
2016-11-23 22:12:25 +00:00
daa2cd1512 l2: quad loop l2fwd node
Change-Id: I8510575ee1d6b7c5ccf551766e77e40ce55e644c
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-23 18:43:48 +01:00
754962130a dpdk: input node next and error optimizations
Change-Id: Iee90ed725e824a3beed2660d21d74dae48c76eb0
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-23 17:22:58 +01:00
971158ee7b Fix coverity warnings, VPP-486
Change-Id: Id88805f77642187f304f8baef1f6b447728e4b5b
Signed-off-by: Dave Barach <dave@barachs.net>
2016-11-23 15:19:11 +00:00
Jan
4af521d297 CSIT-473: L2 FIB tests
- add/delete MAC entries and check the traffic

Change-Id: I82b568fdd7796461b2df900c07a4bd9b87ab17c2
Signed-off-by: Jan <jgelety@cisco.com>
2016-11-23 13:22:42 +01:00