321 Commits

Author SHA1 Message Date
Todd Foggoa
619ac1c84c Porting 2 dpdk patches to dpdk 16.04 patches
Change-Id: If298d0ba4941b3c8ccec3b407080661b4a06ac5b
Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
2016-04-12 20:34:21 +00:00
Alpesh Patel
370a24e36e Creating a new CLI to create loopback interfaces to make the interface
creation cli consistent

Change-Id: I72f074bb8c771511cb5203af6905adccefbb4197
Signed-off-by: Alpesh Patel <apatel9191@hotmail.com>
2016-04-12 16:01:40 +02:00
Pierre Pfister
b3e80947dc IP6 FIB: Micro optimization in lookup
The mask is increasingly small.
This saves a few cycles and becomes significant when there are many
prefix lengths.

Change-Id: Ibd0c9331f675697bb4e90e8ad617994f83edec9c
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-04-12 12:12:50 +00:00
Damjan Marion
c42552d4e0 Add support for DPDK 16.04 release, rebase some of 2.2.0 patches
Change-Id: I08292ba39dc6012c2edbcdaed0b02a8ebe07aec4
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-12 12:11:15 +00:00
Filip Tehlar
254b036dff Add unit test infrastructure for LISP protocol
Change-Id: I802700ad832de1dc6f4a1981e8985aa6e926c8ad
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-04-12 11:47:39 +00:00
Bud Grise
42f2006975 Add counter for the number of barrier syncs performed.
Change-Id: I42b26c8f95c17577006f13e3419b8ccc9ef7c4f3
Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
2016-04-12 11:44:50 +00:00
Dave Barach
cbed90c8cb Add a configurable "significant error" metric
Change-Id: Idda59272a029ffcbc029f9bb167508d7bd5e6e21
Signed-off-by: Dave Barach <dave@barachs.net>
2016-04-12 03:44:46 +00:00
Jeff Shaw
ecec279029 vagrant: libvirt configuration.
Configure the proxy, vcpu, and memory parameters for the libvirt provider.

Change-Id: Id662e60f76b4b424d3a5d98929a44ef2587ef258
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
2016-04-11 21:02:00 +00:00
Yoann Desmouceaux
e41b49490d Add a counter for unknown IPv6 hop-by-hop options.
Change-Id: I3db82b71ae5e32e0f2230662497a05e57ddb6755
Signed-off-by: Yoann Desmouceaux <ydesmouc@cisco.com>
2016-04-11 17:04:29 +02:00
Yoann Desmouceaux
f53b7d5e97 Fix possible infinite loop in IPv6 hop-by-hop header parsing
Unknown hop-by-hop options are currently not processed, which triggers an
infinite loop due to the pointer not advancing further in the header.

Change-Id: Idf9176090e042b17aac1baa25a6cb4beb8c199d8
Signed-off-by: Yoann Desmouceaux <ydesmouc@cisco.com>
2016-04-11 14:49:56 +00:00
Bud Grise
5ac4a0f76a Propagate the VLIB_FRAME_NO_FREE_AFTER_DISPATCH flag to cloned next_frames
Without this, frames can be double-freed to nodes like "error-punt",
leading to buffer leaks and other problems.

Change-Id: Ie28a4f504254ee439f720dbaac7f12206cea753b
Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
2016-04-11 14:23:34 +00:00
Sean Hope
608d1edf74 Add vnet_rename_interface API
Change-Id: I9a8e1ed310aa9a72644540856426c77f61f4b4bb
Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
2016-04-11 13:18:02 +00:00
Damjan Marion
5ba5f83b79 Bump DPDK 16.04 to RC4
Change-Id: Ia9affeee54e860b6039d7ee0f411bd022b1dc76c
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-11 13:04:16 +00:00
Damjan Marion
c47e979674 Add configure option to enable building unit tests
Same template should be used for other libs...

Change-Id: Icc771cb6b243d215f30fb51c0dbc028e497a74c6
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-11 13:03:30 +00:00
Peter Lei
dba76f29e6 Add option to delete af_packet (host) interfaces
Change-Id: Iab76951758ae9b9a99d679a223941a4b8c683078
Signed-off-by: Alpesh S. Patel <apatel9191@hotmail.com>
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-11 11:38:28 +00:00
Benoît Ganne
d530445067 fix uninitialized vars warnings with -Os
Change-Id: I15a16ba9751b6b612bac61a160b5da394ed2e15c
Signed-off-by: Benoît Ganne <bganne@kalrayinc.com>
2016-04-08 22:25:44 -07:00
Ed Warnicke
7c38f1ff14 Migrate bootstrap.ubuntu.sh to using top level Makefile
This script moves to using the top level Makefile
in vagrant.

The reason for not merging yet is to make sure that we
don't put the training at risk.  The patch should
be fine (its been tested), but better safe than sorry.

Change-Id: Ic57cfe1f26867c820784e5511d418e68f24b5fcd
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-04-09 03:09:51 +00:00
Matus Fabian
e5f42feb4f Add IKEv2 APIs
Change-Id: I5936b05aa927b67c707b5858ffee45fc7a5d2043
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-04-09 03:02:31 +00:00
Hongjun Ni
b2cdd2f5f0 Add Rx and Tx statistics within nsh-vxlan-gpe node
PatchSet2: Modify the code according to review comments.

PatchSet3: modify sw_if_index1 in encap.c.

Change-Id: Ic4d3ee19a0ba0fa10568e570a79a3cb85cfbc9ab
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-04-08 14:38:43 +00:00
Hongjun Ni
639b4bded6 Change encap-fib-id and decap-fib-id within create_nsh_vxlan_gpe_tunnel_command
Change-Id: Ied5275fcea21ae2e0b346931f9e2f520a73afd67
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-04-07 15:04:27 +00:00
Hongjun Ni
08fa373d2b Add key.pad=0 within vnet_nsh_vxlan_gpe_add_del_tunnel
Change-Id: Ieed704ed0c3d747afc9836671f2ea9cc396ee09d
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-04-07 15:02:56 +00:00
Hongjun Ni
e1ed8bddb4 Change key.src=a->dst.as_u32 within vnet_nsh_vxlan_gpe_add_del_tunnel
Change-Id: Ica062e532d116cc1806d73f2fa85db89402928a4
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-04-07 15:01:36 +00:00
John Lo
bcebbb988d Enhance CLI/API Support for Bonded Interface
For interfaces which are slave links to a bounded interface, do not
allow sub-interface creation nor interface state to be changed.
Change "show interface" to display interface state as "bond-slave"
for slave links to a bonded interface.
Change "show hardware" to support a "bond" keyword and display slave
links to a bonded interface.

Change-Id: I4db3cae6985bcb1489ab16a07c72c5ee9b2f2dd3
Signed-off-by: John Lo <loj@cisco.com>
2016-04-07 14:33:05 +00:00
Dave Barach
2fa6beff57 Classify node should pay attention to dynamically-added arcs
Change-Id: I65bc03dbb5fedfc75f4ce7153eae116fe599730c
Signed-off-by: Dave Barach <dbarach@cisco.com>
2016-04-07 10:17:31 -04:00
Ed Warnicke
a25bd1cae4 Do not listen unless configured with cli-listen.
I noticed while mucking about with lsof that vpp
was listening on port 5000.

telnet 0 5000 revealed that it was listening for
the cli on that port.

Digging into the code, it turns out that if you
do not configure cli-listen (Example:

unix {
     cli-listen localhost:5002
}
)

Then vpp is listening on the first available port
starting at port 5000 anyway.  This is a simple
patch to *not* listen unless configured to do so.

Change-Id: Id7f6f4d69e0a1642d2767849a90b21f38f21ecaa
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-04-06 16:03:33 +00:00
Florin Coras
df2b0fd802 Fix ip4 udp encap length type
Change-Id: If666cda99a5fd92e904898ced40bcf2b5ac2d3a5
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-04-06 08:05:17 -07:00
Todd Foggoa
a292c8c357 Fix DPDK patch files so git am works smoothly
Change-Id: Ic2a6e6f1ceea81f2e34f3db370682569327b44ad
Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
2016-04-06 09:57:01 -04:00
Alpesh Patel
83cc4e140d host-interface admin down/up does not bring the interface up
Change-Id: I4c9ae5d88e885ccbc85b64cadc052563529c762d
Signed-off-by: Alpesh Patel <apatel9191@hotmail.com>
2016-04-05 13:00:01 -07:00
Ed Warnicke
33007f505b
Fix vppctl for multivpp
Change-Id: If028aca042dbba653cc0f51a0149b36bed5c7853
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-04-04 15:53:44 -07:00
Florin Coras
aff04a0921 Fix DPDK check in udp.h
Change-Id: I4734b248f512e223703d234d28542257af1a8074
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-04-02 20:33:41 +02:00
Florin Coras
e127a7e452 LISP GPE: initial CP commit and DP improvements
Control Plane
-------------
In essence, this introduces basic support for map-request/reply
processing, the logic to generate and consume such messages, including
SMRs, a control-plane backend, consisting of an eid-table, locator and
locator-set tables, and CLI to interact with it. Naturally, we can now
serialize/deserialize LISP specific types: addresses, locators,
mappings, messages. An important caveat is that IPv6 support is not
complete, both for EIDs and RLOCs.

Functionally, the DP forwards all packets it can't handle to the CP
(lisp_cp_lookup node) which takes care of obtaining a mapping for the
packet's destination from a pre-configured map-resolver using the LISP
protocol. The CP then caches this information and programs the DP such
that all new packets with the same destination (or within the covering
prefix) are encapsulated to one of the locators retrieved in the
mapping. Ingress traffic-engineering is not yet supported.

Data Plane
----------
First of all, to enable punting to the CP, when LISP GPE is turned on a
default route that points to lisp_cp_lookup is now inserted. The DP
also exposes an API the CP can use to program forwarding for a given
mapping. This mainly consists in allocating a tunnel and programming the
FIB such that all packets destined to the mapping's prefix are forwarded
to a lisp-gpe encapsulating node.

Another important change done for lisp forwarding is that both source
and destination IP addresses are considered when encapsulating a packet.
To this end, a new FIB/mtrie is introduced as a second stage, src
lookup, post dst lookup. The latter is still done in the IP FIB but for
source-dest entries, in the dest adjacency the lookup_next_index points
to a lisp lookup node and the rewrite_header.sw_if_index points to the
src FIB. This is read by the lisp lookup node which then walks the src
mtrie, finds the associated adjacency, marks the buffer with the index
and forwards the packet to the appropriate next node (typically,
lisp-gpe-encap).

Change-Id: Ibdf52fdc1f89311854621403ccdd66f90e2522fd
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-04-02 17:20:44 +00:00
Damjan Marion
28e3db9dd6 Add options to link with external DPDK tree
By uncommenting following lines in the build-data/platforms/vpp.mk
VPP links nicely with packaged DPDK 2.2 distributed with
Ubuntu 16.04 LTS.

vpp_uses_external_dpdk = yes
vpp_dpdk_inc_dir = /usr/include/dpdk
vpp_dpdk_lib_dir = /usr/lib
vpp_dpdk_shared_lib = yes

Change-Id: Id5b7d95bac6aa60341933b92e86d949a9abf1a5d
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-01 15:22:15 +00:00
Damjan Marion
aa04a0ff8e Add option to link DPDK dynamically
Change-Id: Ie2b47f9020c8260b199d141103318a0261e16832
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-01 16:38:33 +02:00
Damjan Marion
102ec52bc4 Add support for installing ipv4 routes via unresolved next hop
Change-Id: I71f3ba0c8192fe0ac3b5b81fb1275b64ec02876a
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-01 10:38:42 +00:00
Damjan Marion
b02e49c4be Enable af_packet interfaces in the API test apps
Change-Id: Ic1247a712614df2762c95142122ff122076fd0ab
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-31 17:44:25 +02:00
Dave Barach
459a11a07a Remove historical tags, fix the debug tag
Change-Id: I013784aeef5ae6b5ba4a30c7759e9daff3c2c576
Signed-off-by: Dave Barach <dave@barachs.net>
2016-03-30 10:24:56 -04:00
Damjan Marion
0df78dda5a Add DPDK 16.04-rc2 support
Can be used by specifying DPDK_VERSION=16.04-rc2 in the make command line

Change-Id: I657b44d7ca22f1ef57756e7703088020fab12bc6
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-29 21:25:12 +00:00
John Lo
23650e6cad Update ENIC driver patches for DPDK 2.2.0
This includes all patches in ENIC driver which are up-streamed to DPDK
to improve RX performance, fix buffer/error handling and interoperation
with link bonding PMD library.

Change-Id: Id4c71a350d5234834951f9261c69db5476ba396b
Signed-off-by: John Lo <loj@cisco.com>
2016-03-29 16:14:35 -04:00
Dave Barach
13f3c450cc Support per-interface packet rx redirection
Change-Id: I8bb6124efa5665053620b48d11c8160472103c29
Signed-off-by: Dave Barach <dave@barachs.net>
2016-03-29 11:56:55 -04:00
Damjan Marion
dab123ba69 Add abbility to specify dpdk tarball download base url
Change-Id: Ieceb0b1f4ab69609961d8946f627dd9311963da5
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-29 15:24:49 +00:00
Ed Warnicke
31854abeb9
Fix to centos vagrant file
Change-Id: I5ceae4354c029cb92527b2eeb1a71b76dc2b0311
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-03-29 08:27:30 -05:00
Damjan Marion
f1bd8bec87 Move classify_table_index under the union
Fields needed only by specific adj type should
be shared.

Change-Id: I59ee15a29d2f5f527f46910a1a63866b291734c7
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-29 12:50:53 +00:00
Dave Barach
b2ef4dde97 Adjacency allocator
Change-Id: Ieacbfa4dbbfd13b38eaa2d37f618f212cef4e492
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-29 12:46:42 +02:00
Ed Warnicke
3c79e65bd6 Fix epl-release in make install-dep for rpm
Change-Id: I01a7421dc58ee6683eb84482bb92dd6a519a21e8
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-03-29 09:00:29 +00:00
Jurek Matuszewski
a69318b7f7 Increment MRU if hardware supports CRC stripping
Change-Id: I46bd007c3c75e5fb872c1beba557e6140fa8d715
Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
2016-03-29 08:59:46 +00:00
Todd Foggoa (tfoggoa)
ad8b4728cb Allow vlans to be programmed on 40GE VF interfaces
Change-Id: Ia3a1bf7cb482f0aa98628b23d88de01cf60c46a9
Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
2016-03-29 08:52:27 +00:00
Todd Foggoa (tfoggoa)
4b9fb50010 Mark some show commands as mp safe
Change-Id: I92cd378370feeddf27832acde06f186fbdf64908
Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
2016-03-29 08:51:59 +00:00
Dave Barach
e5389bb053 event logger skeletons, improve debug CLI
Change-Id: Ieb2e4043fc7bc3b4a5436a7a6aa35f573d8d4506
Signed-off-by: Dave Barach <dave@barachs.net>
2016-03-28 17:12:36 -04:00
Dave Barach
fb6e59d839 Improve main-loop event-logs
Change-Id: I984debeffe0dce36c9e7ab963f25d862cc7550cc
Signed-off-by: Dave Barach <dave@barachs.net>
2016-03-26 18:45:52 -04:00
Shwetha
20a64f5f8a iOAM trace configuration APIs
Change-Id: I6d31f0ddb812d148ad065e27775440d09f402def
Signed-off-by: Shwetha <shwethab@cisco.com>
2016-03-25 20:57:19 +00:00