349 Commits

Author SHA1 Message Date
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
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
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
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
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
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
33007f505b Fix vppctl for multivpp
Change-Id: If028aca042dbba653cc0f51a0149b36bed5c7853
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-04-04 15:53:44 -07:00
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
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
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
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
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
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
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
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
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
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
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
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
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
b2ef4dde97 Adjacency allocator
Change-Id: Ieacbfa4dbbfd13b38eaa2d37f618f212cef4e492
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-29 12:46:42 +02:00
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
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
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
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
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
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
20a64f5f8a iOAM trace configuration APIs
Change-Id: I6d31f0ddb812d148ad065e27775440d09f402def
Signed-off-by: Shwetha <shwethab@cisco.com>
2016-03-25 20:57:19 +00:00
1901020228 Use rte_mempool private data for storing vlib_buffer_t
Change-Id: If3fc88a35bc0b736376113a39667caea42802ea1
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-25 20:55:15 +00:00
46040a513b Fix distclean to correctly handle Centos
Change-Id: I3f930306e9f384011687d2ce88052639df0d966b
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-03-25 20:37:40 +00:00
c841eac773 Fix vagrant centos flavor to work with top level make file
Change-Id: I89044ed27130a036536ed33aba847034ed15ad7d
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-03-25 20:37:28 +00:00
1d49c98f7f vpp-api-test and sample-plugin should depend on dpdk conditionally
Change-Id: Ie26340141fdbd3256e305ab37f4baa817081bf46
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-25 20:34:59 +00:00
84eda9de0b Add build-root/*.rpm to .gitignore
Change-Id: I88398b5e538271efa4657851bf53c9b76a56b432
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-03-25 20:28:48 +00:00
aca36e1bd2 Remove unnecesary clib_bitmap_set from af_packet input node
Change-Id: I856fefd52efdfc0a3b8be8bafa3f3106267dfcf1
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-25 20:06:39 +01:00
d6f5b96e6f l2-rw: Packet rewrite feature for L2 bridges
This patch defines a new l2input feature: l2-rw
It makes use of vnet_classify in order to match
packets and applies mask/value changes depending
on the matched classify entry.

Change-Id: Ia98c128931e59195bf3ecb66721e155ff9049a2e
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-03-24 17:49:44 +00:00
2e89a894a4 Reduce number of parallel gcc invocations from 4 to 2 per cpu
Some build hosts can run out of memory during compilation.
This should reduce memory demand without affecting build time.

Change-Id: I11bd2884a1f8885a8a332bbbf0a63324a3079c3b
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-24 17:20:14 +01:00
e2efecec42 Fix L2 flood packet replication interaction with VXLAN-tunnel
The check for input sw_if_index against output sw_if_index is not correct
for the interface on the replication order after VXLAN tunnel because the
encap code overwrite packet sw_if_index[VLIB_RX] with that of the VXLAN
tunnel sw_if_index. The check should be done using sw_if_index[VLIB_RX]
saved in the packet context.

Change-Id: I175717221409977e80576e84dfe5362d1f6aed2f
Signed-off-by: John Lo <loj@cisco.com>
2016-03-23 19:44:39 -04:00
d90df1820a Add dpdk vmxnet3 driver patch and init.c change to allow jumbo packets
Change-Id: I9d7f8b9a0543d885ed10908b859d52a80bf89f56
Signed-off-by: John Lo <loj@cisco.com>
2016-03-23 16:42:33 -04:00
3a8f32be9f tapcli: Receive vector of packets and memory leak fix
tapcli interfaces were creating single-packet frames.
It now calls readv until the frame is full, or
readv returns error EAGAIN.
This is usefull when a significant amount of traffic
flows through tap interfaces.
This patch also fixes a memory leak by correctly
initializing b->clone_count to zero.

Change-Id: I15e435ba76d542be2f263274e76297425cd10243
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-03-22 11:48:32 +00:00
d56209695a Unbreak build on gcc-5
Change-Id: I0dc5f48ade786b60b34441c30f3de5b9f373d714
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-21 19:09:09 +01:00
f39ff74346 vnet classifier debug CLI enhancements
Extensible next-index and opaque unformat function scheme. Added
next-index-by-node-name and sw_if_index->opaque functions.

Allow dynamic graph arcs to be added to ip4/6-inacl.

Change-Id: Ie434335399a0708772eb82563a154df19c63b622
Signed-off-by: Dave Barach <dave@barachs.net>
2016-03-20 10:15:24 -04:00
4f81085a77 * Added support to configure trace type as a
configuration parameter.  This can be any combination
  of nodeid, interface indices, timestamp and appdata.
  This configuration is passed through packet header by
  encap node to all other nodes. Rewrite buffer is resized
  accordingly. Trace function modified accordingly.
* Added CLI 'show ioam summary' command to display various
  configuration.
* Added CLI 'clear ioam rewrite'

Change-Id: Ide4c85f8b22561303df48519c5ea59668a300188
Signed-off-by: rangan <rangan@cisco.com>
2016-03-19 13:43:52 +00:00
acf0872108 cosmetic: indent code
Gerrit wouldn't merge the previous attempt, so let's just make the
pain go away...

Change-Id: Ia008d43f755b6e3a5f4c699de365d241bf361aa9
Signed-off-by: Dave Barach <dave@barachs.net>
2016-03-19 08:54:10 -04:00
a0005dc347 Add llc_init in osi_init to ensure init order dependency
Change-Id: I5cb2a319384e49a072d75f3ea05e6fb92e381c23
Signed-off-by: Nagaprabhanjan Bellari <nagp.lists@gmail.com>
2016-03-19 12:46:08 +00:00
ca46d8c501 Adminis-trivia - rename skel files
- rename skels so M-x skel-<tab> gives catalog

Change-Id: Ice25a4ce4d02d09e076f0de51e8443cfab20688d
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-03-19 12:41:20 +00:00
eec8d3e220 add ctags and cscope files to .gitignore
Change-Id: I047cc41a5d0c4a6e4191ca35c505ff21236abcfa
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-18 15:03:18 +00:00
76a66c1f06 Add -y to apt-get install for install-dep target
This allows install-dep to be run non-interactively

Change-Id: I5c3e55958ed16dd3d128bbad9f317d9f2428d41a
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-03-18 15:02:24 +00:00
ba8c540c52 Fix longstanding next-frame clone bug
Do not propagate flags into cloned vlib_next_frame_t's.
vlib_next_frame_init(...) sets nf->frame_index to ~0. If it turns out
that the original flags include VLIB_FRAME_IS_ALLOCATED, the wheels
fall off. And so on.

Change-Id: I8de18653acfcc8eb20cee36f4eb5b9e82234f21b
Signed-off-by: Dave Barach <dave@barachs.net>
2016-03-18 14:53:07 +00:00
cb656303df vnet_classify: Handle non-aligned vectors and various bugfixes
classifier used to crash when packet data was not aligned.
This commit also includes:
- writer lock initialization bugfix
- CLI help was missing opaque-index
- ip_input_acl was applying the mask on buffer->data instead of packet head

On a side note, my tests failed to show any improvements
when using SSE. Further tests might be interesting to see if they
actually perform better.

Change-Id: Ic34eecd6a2226919121ffce2fe4324506deee52f
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-03-18 14:22:37 +00:00
dbf19ca7f9 Make adjacencies shareable
Change-Id: I620871ca715b751d2e487f37341b7118797c9176
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-18 12:59:51 +01:00