Damjan Marion [Mon, 11 Apr 2016 10:51:00 +0000 (12:51 +0200)]
Bump DPDK 16.04 to RC4
Change-Id: Ia9affeee54e860b6039d7ee0f411bd022b1dc76c
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Mon, 11 Apr 2016 11:34:36 +0000 (13:34 +0200)]
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>
Peter Lei [Fri, 8 Apr 2016 15:16:31 +0000 (08:16 -0700)]
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>
Benoît Ganne [Sat, 9 Apr 2016 05:25:05 +0000 (22:25 -0700)]
fix uninitialized vars warnings with -Os
Change-Id: I15a16ba9751b6b612bac61a160b5da394ed2e15c
Signed-off-by: Benoît Ganne <bganne@kalrayinc.com>
Ed Warnicke [Wed, 6 Apr 2016 19:21:03 +0000 (12:21 -0700)]
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>
Matus Fabian [Fri, 8 Apr 2016 09:18:08 +0000 (11:18 +0200)]
Add IKEv2 APIs
Change-Id: I5936b05aa927b67c707b5858ffee45fc7a5d2043
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Hongjun Ni [Wed, 6 Apr 2016 23:20:22 +0000 (16:20 -0700)]
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>
Hongjun Ni [Thu, 7 Apr 2016 00:54:39 +0000 (17:54 -0700)]
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>
Hongjun Ni [Thu, 7 Apr 2016 00:18:39 +0000 (17:18 -0700)]
Add key.pad=0 within vnet_nsh_vxlan_gpe_add_del_tunnel
Change-Id: Ieed704ed0c3d747afc9836671f2ea9cc396ee09d
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
Hongjun Ni [Thu, 7 Apr 2016 00:47:08 +0000 (17:47 -0700)]
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>
John Lo [Tue, 5 Apr 2016 19:47:43 +0000 (15:47 -0400)]
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>
Dave Barach [Thu, 7 Apr 2016 14:16:33 +0000 (10:16 -0400)]
Classify node should pay attention to dynamically-added arcs
Change-Id: I65bc03dbb5fedfc75f4ce7153eae116fe599730c
Signed-off-by: Dave Barach <dbarach@cisco.com>
Ed Warnicke [Sat, 2 Apr 2016 03:43:37 +0000 (22:43 -0500)]
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>
Florin Coras [Wed, 6 Apr 2016 15:05:17 +0000 (08:05 -0700)]
Fix ip4 udp encap length type
Change-Id: If666cda99a5fd92e904898ced40bcf2b5ac2d3a5
Signed-off-by: Florin Coras <fcoras@cisco.com>
Todd Foggoa [Wed, 6 Apr 2016 13:57:01 +0000 (09:57 -0400)]
Fix DPDK patch files so git am works smoothly
Change-Id: Ic2a6e6f1ceea81f2e34f3db370682569327b44ad
Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
Alpesh Patel [Tue, 5 Apr 2016 19:49:30 +0000 (12:49 -0700)]
host-interface admin down/up does not bring the interface up
Change-Id: I4c9ae5d88e885ccbc85b64cadc052563529c762d
Signed-off-by: Alpesh Patel <apatel9191@hotmail.com>
Ed Warnicke [Mon, 4 Apr 2016 21:37:21 +0000 (14:37 -0700)]
Fix vppctl for multivpp
Change-Id: If028aca042dbba653cc0f51a0149b36bed5c7853
Signed-off-by: Ed Warnicke <eaw@cisco.com>
Florin Coras [Sat, 2 Apr 2016 18:30:39 +0000 (20:30 +0200)]
Fix DPDK check in udp.h
Change-Id: I4734b248f512e223703d234d28542257af1a8074
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Thu, 18 Feb 2016 21:20:01 +0000 (22:20 +0100)]
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>
Damjan Marion [Fri, 1 Apr 2016 10:35:17 +0000 (12:35 +0200)]
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>
Damjan Marion [Fri, 1 Apr 2016 10:34:24 +0000 (12:34 +0200)]
Add option to link DPDK dynamically
Change-Id: Ie2b47f9020c8260b199d141103318a0261e16832
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Tue, 29 Mar 2016 11:18:17 +0000 (13:18 +0200)]
Add support for installing ipv4 routes via unresolved next hop
Change-Id: I71f3ba0c8192fe0ac3b5b81fb1275b64ec02876a
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Thu, 31 Mar 2016 15:44:25 +0000 (17:44 +0200)]
Enable af_packet interfaces in the API test apps
Change-Id: Ic1247a712614df2762c95142122ff122076fd0ab
Signed-off-by: Damjan Marion <damarion@cisco.com>
Dave Barach [Wed, 30 Mar 2016 14:24:41 +0000 (10:24 -0400)]
Remove historical tags, fix the debug tag
Change-Id: I013784aeef5ae6b5ba4a30c7759e9daff3c2c576
Signed-off-by: Dave Barach <dave@barachs.net>
Damjan Marion [Tue, 29 Mar 2016 20:37:02 +0000 (22:37 +0200)]
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>
John Lo [Tue, 29 Mar 2016 20:14:35 +0000 (16:14 -0400)]
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>
Dave Barach [Tue, 29 Mar 2016 15:56:41 +0000 (11:56 -0400)]
Support per-interface packet rx redirection
Change-Id: I8bb6124efa5665053620b48d11c8160472103c29
Signed-off-by: Dave Barach <dave@barachs.net>
Damjan Marion [Tue, 29 Mar 2016 14:43:58 +0000 (16:43 +0200)]
Add abbility to specify dpdk tarball download base url
Change-Id: Ieceb0b1f4ab69609961d8946f627dd9311963da5
Signed-off-by: Damjan Marion <damarion@cisco.com>
Ed Warnicke [Tue, 29 Mar 2016 13:26:29 +0000 (08:26 -0500)]
Fix to centos vagrant file
Change-Id: I5ceae4354c029cb92527b2eeb1a71b76dc2b0311
Signed-off-by: Ed Warnicke <eaw@cisco.com>
Damjan Marion [Tue, 29 Mar 2016 11:06:36 +0000 (13:06 +0200)]
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>
Dave Barach [Wed, 23 Mar 2016 12:56:01 +0000 (08:56 -0400)]
Adjacency allocator
Change-Id: Ieacbfa4dbbfd13b38eaa2d37f618f212cef4e492
Signed-off-by: Damjan Marion <damarion@cisco.com>
Ed Warnicke [Mon, 28 Mar 2016 19:53:19 +0000 (14:53 -0500)]
Fix epl-release in make install-dep for rpm
Change-Id: I01a7421dc58ee6683eb84482bb92dd6a519a21e8
Signed-off-by: Ed Warnicke <eaw@cisco.com>
Jurek Matuszewski [Mon, 28 Mar 2016 19:15:15 +0000 (15:15 -0400)]
Increment MRU if hardware supports CRC stripping
Change-Id: I46bd007c3c75e5fb872c1beba557e6140fa8d715
Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
Todd Foggoa (tfoggoa) [Mon, 28 Mar 2016 17:52:32 +0000 (13:52 -0400)]
Allow vlans to be programmed on 40GE VF interfaces
Change-Id: Ia3a1bf7cb482f0aa98628b23d88de01cf60c46a9
Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
Todd Foggoa (tfoggoa) [Thu, 24 Mar 2016 15:51:24 +0000 (11:51 -0400)]
Mark some show commands as mp safe
Change-Id: I92cd378370feeddf27832acde06f186fbdf64908
Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
Dave Barach [Mon, 28 Mar 2016 21:12:19 +0000 (17:12 -0400)]
event logger skeletons, improve debug CLI
Change-Id: Ieb2e4043fc7bc3b4a5436a7a6aa35f573d8d4506
Signed-off-by: Dave Barach <dave@barachs.net>
Dave Barach [Sat, 26 Mar 2016 22:45:42 +0000 (18:45 -0400)]
Improve main-loop event-logs
Change-Id: I984debeffe0dce36c9e7ab963f25d862cc7550cc
Signed-off-by: Dave Barach <dave@barachs.net>
Shwetha [Fri, 25 Mar 2016 10:55:01 +0000 (10:55 +0000)]
iOAM trace configuration APIs
Change-Id: I6d31f0ddb812d148ad065e27775440d09f402def
Signed-off-by: Shwetha <shwethab@cisco.com>
Damjan Marion [Thu, 24 Mar 2016 16:17:47 +0000 (17:17 +0100)]
Use rte_mempool private data for storing vlib_buffer_t
Change-Id: If3fc88a35bc0b736376113a39667caea42802ea1
Signed-off-by: Damjan Marion <damarion@cisco.com>
Ed Warnicke [Tue, 22 Mar 2016 17:52:22 +0000 (12:52 -0500)]
Fix distclean to correctly handle Centos
Change-Id: I3f930306e9f384011687d2ce88052639df0d966b
Signed-off-by: Ed Warnicke <eaw@cisco.com>
Ed Warnicke [Tue, 22 Mar 2016 21:10:07 +0000 (16:10 -0500)]
Fix vagrant centos flavor to work with top level make file
Change-Id: I89044ed27130a036536ed33aba847034ed15ad7d
Signed-off-by: Ed Warnicke <eaw@cisco.com>
Damjan Marion [Fri, 25 Mar 2016 20:20:03 +0000 (21:20 +0100)]
vpp-api-test and sample-plugin should depend on dpdk conditionally
Change-Id: Ie26340141fdbd3256e305ab37f4baa817081bf46
Signed-off-by: Damjan Marion <damarion@cisco.com>
Ed Warnicke [Tue, 22 Mar 2016 21:09:29 +0000 (16:09 -0500)]
Add build-root/*.rpm to .gitignore
Change-Id: I88398b5e538271efa4657851bf53c9b76a56b432
Signed-off-by: Ed Warnicke <eaw@cisco.com>
Damjan Marion [Fri, 25 Mar 2016 19:06:39 +0000 (20:06 +0100)]
Remove unnecesary clib_bitmap_set from af_packet input node
Change-Id: I856fefd52efdfc0a3b8be8bafa3f3106267dfcf1
Signed-off-by: Damjan Marion <damarion@cisco.com>
Pierre Pfister [Mon, 21 Mar 2016 16:17:52 +0000 (16:17 +0000)]
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>
Damjan Marion [Thu, 24 Mar 2016 16:19:27 +0000 (17:19 +0100)]
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>
John Lo [Wed, 23 Mar 2016 23:44:39 +0000 (19:44 -0400)]
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>
John Lo [Wed, 23 Mar 2016 20:42:33 +0000 (16:42 -0400)]
Add dpdk vmxnet3 driver patch and init.c change to allow jumbo packets
Change-Id: I9d7f8b9a0543d885ed10908b859d52a80bf89f56
Signed-off-by: John Lo <loj@cisco.com>
Pierre Pfister [Mon, 21 Mar 2016 12:21:30 +0000 (12:21 +0000)]
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>
Damjan Marion [Mon, 21 Mar 2016 18:09:09 +0000 (19:09 +0100)]
Unbreak build on gcc-5
Change-Id: I0dc5f48ade786b60b34441c30f3de5b9f373d714
Signed-off-by: Damjan Marion <damarion@cisco.com>
Dave Barach [Sun, 20 Mar 2016 14:14:45 +0000 (10:14 -0400)]
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>
rangan [Thu, 17 Mar 2016 22:01:17 +0000 (03:31 +0530)]
* 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>
Dave Barach [Sat, 19 Mar 2016 12:53:58 +0000 (08:53 -0400)]
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>
Nagaprabhanjan Bellari [Fri, 18 Mar 2016 13:40:21 +0000 (19:10 +0530)]
Add llc_init in osi_init to ensure init order dependency
Change-Id: I5cb2a319384e49a072d75f3ea05e6fb92e381c23
Signed-off-by: Nagaprabhanjan Bellari <nagp.lists@gmail.com>
Keith Burns (alagalah) [Fri, 18 Mar 2016 14:22:15 +0000 (07:22 -0700)]
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>
Damjan Marion [Thu, 17 Mar 2016 16:53:03 +0000 (17:53 +0100)]
add ctags and cscope files to .gitignore
Change-Id: I047cc41a5d0c4a6e4191ca35c505ff21236abcfa
Signed-off-by: Damjan Marion <damarion@cisco.com>
Ed Warnicke [Fri, 18 Mar 2016 03:37:27 +0000 (20:37 -0700)]
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>
Dave Barach [Fri, 18 Mar 2016 13:48:16 +0000 (09:48 -0400)]
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>
Pierre Pfister [Wed, 16 Mar 2016 09:14:28 +0000 (09:14 +0000)]
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>
Dave Barach [Tue, 15 Mar 2016 09:21:54 +0000 (10:21 +0100)]
Make adjacencies shareable
Change-Id: I620871ca715b751d2e487f37341b7118797c9176
Signed-off-by: Damjan Marion <damarion@cisco.com>
Todd Foggoa [Thu, 17 Mar 2016 18:22:34 +0000 (14:22 -0400)]
Bring back p1.c so plugins can see DPDK symbols
Change-Id: Ia450c9bc6d00fbd054d41a462366f826121d781d
Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
Damjan Marion [Thu, 17 Mar 2016 09:28:23 +0000 (10:28 +0100)]
Reincarnate call to unix_physmem_init() for non-dpdk use
Change-Id: Iaa3da32060e78bbc505ee84a2a6393f899aa110e
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Thu, 17 Mar 2016 11:46:57 +0000 (12:46 +0100)]
Don't stop binding pci device if write to new_id fails
In some cases write to new_id fails but binding is still
possible.
Change-Id: I1944eab4326a08e85e83cd5cd7379c6a4d03d98d
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Wed, 16 Mar 2016 21:49:05 +0000 (22:49 +0100)]
Few additions to top-level Makefile
* Added option to specify target platform (e.g. export PLATFORM=vpp_lite)
* Added ctags targed to (re)build ctags database
* Added cscope targed to (re)build cscope database
Change-Id: I93feb7b458abe9fbd93000f75b7be24e3865f089
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Wed, 16 Mar 2016 21:59:21 +0000 (22:59 +0100)]
af_packet: vec functions should not be used on pool
Change-Id: Ifc67db0575a7517ac24519894996906ea44ead67
Signed-off-by: Damjan Marion <damarion@cisco.com>
Dave Wallace [Tue, 15 Mar 2016 05:28:58 +0000 (01:28 -0400)]
Add VLIB_INIT_FUNCTION() to dual-loop-skel
Change-Id: I4aafad8a3e4c0c57eef1940fac8debfb80bbb137
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Damjan Marion [Mon, 29 Feb 2016 12:09:30 +0000 (13:09 +0100)]
Add vpp native linux kernel AF_PACKET interface support
This is 1st drop of VPP native driver for linux AF_PACKET.
New CLI:
create host-interface name <host-if-name> [hw-addr <mac-address>]
References:
- Documentation/networking/packet_mmap.txt in the Linux kernel tree
- man 7 packet
Known issues:
- attaching to linux bridge doesn't work
- it is not expected to work in multicore setup
Change-Id: I1cb1c3d305f349759e90e76e25696718b73bd73d
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Mon, 14 Mar 2016 19:02:35 +0000 (20:02 +0100)]
Declare node, hw_interface_class and device_class instances as external
This fixes issue observed on Ubuntu 16.04 where
dynamic loader is not finding correct instance of
specific structure.
Change-Id: I618d0933c7e171b8a9b40495b36894785af7790a
Signed-off-by: Damjan Marion <damarion@cisco.com>
Jean-Mickael Guerin [Fri, 4 Mar 2016 13:14:21 +0000 (14:14 +0100)]
fix declaration of symbol of different size
I got many warnings at the link step with gcc version 5.3.1
20160225 (Ubuntu 5.3.1-10ubuntu2):
/usr/bin/ld: Warning: size of symbol `cop_input_node' changed from 112 in vnet/cop/.libs/cop.o to 168 in vnet/cop/.libs/node1.o
/usr/bin/ld: Warning: size of symbol `ethernet_input_node' changed from 112 in vnet/.libs/interface.o to 136 in vnet/ethernet/.libs/node.o
/usr/bin/ld: Warning: size of symbol `l2output_node' changed from 112 in vnet/l2/.libs/l2_efp_filter.o to 120 in vnet/l2/.libs/l2_output.o
/usr/bin/ld: Warning: size of symbol `srp_input_node' changed from 112 in vnet/srp/.libs/format.o to 136 in vnet/srp/.libs/node.o
/usr/bin/ld: Warning: size of symbol `vxlan_encap_node' changed from 112 in vnet/vxlan/.libs/vxlan.o to 128 in vnet/vxlan/.libs/encap.o
/usr/bin/ld: Warning: size of symbol `vxlan_input_node' changed from 112 in vnet/vxlan/.libs/vxlan.o to 144 in vnet/vxlan/.libs/decap.o
...
Looking at vlib_node_registration_t, I think the reason is that
the char * next_nodes[] could be bigger where the variable is defined
in .c file.
We should mark global variables as external in header files.
Some of them can be made static.
Change-Id: Ieb6961fd08180c9a69e1d884852703f3eb23f23f
Signed-off-by: Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
Jean-Mickael Guerin [Wed, 2 Mar 2016 18:05:05 +0000 (19:05 +0100)]
dpdk: fix link error
/usr/bin/ld: -f may not be used without -shared
collect2: error: ld returned 1 exit status
Indeed an extra "-fPIC" is given to ld, see the -Wl,-fPIC below:
gcc -pie -fPIC -pthread -march=native -DRTE_MACHINE_CPUFLAG_SSE -DRTE_MACHINE_CPUFLAG_SSE2 -DRTE_MACHINE_CPUFLAG_SSE3 -DRTE_MACHINE_CPUFLAG_SSSE3 -DRTE_MACHINE_CPUFLAG_SSE4_1 -DRTE_MACHINE_CPUFLAG_SSE4_2 -DRTE_MACHINE_CPUFLAG_AES -DRTE_MACHINE_CPUFLAG_PCLMULQDQ -DRTE_MACHINE_CPUFLAG_AVX -DRTE_COMPILE_TIME_CPUFLAGS=RTE_CPUFLAG_SSE,RTE_CPUFLAG_SSE2,RTE_CPUFLAG_SSE3,RTE_CPUFLAG_SSSE3,RTE_CPUFLAG_SSE4_1,RTE_CPUFLAG_SSE4_2,RTE_CPUFLAG_AES,RTE_CPUFLAG_PCLMULQDQ,RTE_CPUFLAG_AVX -I/home/jmg/dev/vpp/build-root/install-vpp_debug-native/dpdk/include -include /home/jmg/dev/vpp/build-root/install-vpp_debug-native/dpdk/include/rte_config.h -O3 -W -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wold-style-definition -Wpointer-arith -Wcast-align -Wnested-externs -Wcast-qual -Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings -D_GNU_SOURCE -Wl,-Map=test.map,--cref -o test commands.o test.o test_pci.o test_prefetch.o test_byteorder.o test_per_lcore.o test_atomic.o test_malloc.o test_cycles.o test_spinlock.o test_memory.o test_memzone.o test_ring.o test_ring_perf.o test_pmd_perf.o test_rwlock.o test_mempool.o test_mempool_perf.o test_mbuf.o test_logs.o test_memcpy.o test_memcpy_perf.o test_hash.o test_thash.o test_hash_perf.o test_hash_functions.o test_hash_scaling.o test_debug.o test_errno.o test_tailq.o test_string_fns.o test_cpuflags.o test_mp_secondary.o test_eal_flags.o test_eal_fs.o test_alarm.o test_interrupts.o test_version.o test_func_reentrancy.o test_cmdline.o test_cmdline_num.o test_cmdline_etheraddr.o test_cmdline_portlist.o test_cmdline_ipaddr.o test_cmdline_cirbuf.o test_cmdline_string.o test_cmdline_lib.o test_red.o test_sched.o test_meter.o test_kni.o test_common.o test_devargs.o virtual_pmd.o packet_burst_generator.o test_link_bonding.o test_link_bonding_mode4.o test_link_bonding_rssconf.o test_pmd_ring.o test_pmd_ring_perf.o test_cryptodev_perf.o test_cryptodev.o test_kvargs.o -Wl,-pie -Wl,-fPIC -Wl,--no-as-needed -Wl,-export-dynamic -L/home/jmg/dev/vpp/build-root/install-vpp_debug-native/dpdk/lib -Wl,-g -L/home/jmg/dev/vpp/build-root/install-vpp_debug-native/dpdk/lib -Wl,--whole-archive -Wl,-ldpdk -Wl,--start-group -Wl,-lrt -Wl,-lm -Wl,-ldl -Wl,--end-group -Wl,--no-whole-archive
Fixed by unsetting the flags -pie -fPIC out of LDFLAGS, these are not
options for the linker.
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.3.1-10ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.3.1
20160225 (Ubuntu 5.3.1-10ubuntu2)
Change-Id: Iffbebfbb625e8831822ec092bea88dea42f12930
Signed-off-by: Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
Yoann Desmouceaux [Tue, 8 Mar 2016 13:54:28 +0000 (14:54 +0100)]
Better match vhost-user specification for live migration
The specification requires logging of used vring writes to only happen
when VHOST_VRING_F_LOG flag is present in VHOST_USER_SET_VRING_ADDR
message; take that into account.
Change-Id: I9bf4b9eb43a1783b39909b1a3ea1a3bdf50d91a8
Signed-off-by: Yoann Desmouceaux <ydesmouc@cisco.com>
Dave Wallace [Mon, 14 Mar 2016 04:10:24 +0000 (00:10 -0400)]
Fix skel files to use <vppinfra/*.h> instead of <clib/*.h> when
including vppinfra header files.
Change-Id: I961c602e0ccd2048fac633b5aeebb8c3cd0899fb
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Stefan Kobza [Fri, 11 Mar 2016 14:18:42 +0000 (15:18 +0100)]
Do not use hugepages if none are available.
In case socket-mem was set to <1024 and no 1G page long hupepages were
available, the condition was evaluated in unexpected manner. In other
words use_1g == 1, and that fails later in mount().
This patch makes sure this is prevented - if there are no pages_available,
do not even try to use that pagesize.
Change-Id: I30675aa017d97b99d84d5db926e62f0acb54deb6
Signed-off-by: Stefan Kobza <skobza@cisco.com>
Vincent JARDIN [Fri, 4 Mar 2016 23:56:06 +0000 (00:56 +0100)]
lex - yylval undeclared
Fix compilation with Ubuntu 16.04/yacc:
$ yacc -V
yacc - 1.9
20140715
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu Xenial Xerus (development branch)
Release: 16.04
Codename: xenial
Change-Id: Ib1a6d7b7f9485db893465041ac6bce2a98ded2f7
Signed-off-by: Vincent JARDIN <vincent.jardin@6wind.com>
Pierre Pfister [Wed, 9 Mar 2016 18:22:32 +0000 (18:22 +0000)]
Set hardware iface state for loopback interfaces
So unless I have missed something, loopback interfaces
are spawned hardware-down and never set up. This patch
uses the same process as tapcli interfaces by
mirroring sw state to hw state.
Change-Id: I94198c1c880de773daccbb63ca8d32c4c7e26a74
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
Vincent JARDIN [Sat, 5 Mar 2016 00:41:05 +0000 (01:41 +0100)]
lt-*m4 - remove auto generated files
The files are installed by libtoolize:
libtoolize: copying file `m4/libtool.m4'
libtoolize: copying file `m4/ltoptions.m4'
libtoolize: copying file `m4/ltsugar.m4'
libtoolize: copying file `m4/ltversion.m4'
libtoolize: copying file `m4/lt~obsolete.m4'
No need to keep them into the repository.
Change-Id: Ic24d51f7e7680161ac8c780f34e76bc21435b3c1
Signed-off-by: Vincent JARDIN <vincent.jardin@6wind.com>
John Lo [Wed, 9 Mar 2016 03:15:20 +0000 (22:15 -0500)]
More updated match to ENIC PMD for DPDK 2.2.0 including rx path optimization.
Change-Id: I756940c9c1b2bb71d47caeb08ab34a2e954ddff6
Signed-off-by: John Lo <loj@cisco.com>
Pierre Pfister [Wed, 9 Mar 2016 15:56:31 +0000 (15:56 +0000)]
Fix IPv6 NDP and bridge BVI and restore NDP and ARP when BVI move is changed.
Both ARP and NDP need to be called when hi->output_node_index is changed.
It does not look like a perfect solution though. Maybe an actual up-down
call would be better...
Change-Id: If2988d131e77f4fc522f34f3ffe2d5ba9c1d506c
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
Dave Barach [Mon, 7 Mar 2016 22:10:36 +0000 (17:10 -0500)]
Fix longstanding cleanup-flag bug
Change-Id: I9b325b454ef80ffff80a0b0e23b24e3313127376
Signed-off-by: Dave Barach <dave@barachs.net>
Dave Barach [Mon, 7 Mar 2016 20:37:18 +0000 (15:37 -0500)]
Packet filter control-plane API bugfix
Don't complain about unknown fib-id's unless actually trying to
use the indicated per-address-family fib.
Change-Id: Ie8c28dbf7dac9c38193a02ff15a8529d0f90d99a
Signed-off-by: Dave Barach <dave@barachs.net>
Pavel Kotucek [Thu, 3 Mar 2016 12:27:11 +0000 (13:27 +0100)]
Add sw_interface_clear_stats API call
Change-Id: I0731357744ddcb890efaebd81aac5370449a90e3
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
Jean-Mickael Guerin [Wed, 2 Mar 2016 21:34:50 +0000 (22:34 +0100)]
build: fix call to mkdir
Seen during build:
/bin/bash: line 1: @mkdir: command not found
Remove the extra prefix '@', this line is part of a
single operation actually.
Change-Id: I5fc265ae7c2dda01c61b369803d3c30a42a91f70
Signed-off-by: Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
Bud Grise [Wed, 24 Feb 2016 21:09:05 +0000 (16:09 -0500)]
Allow dpdk linkstate and stat polling intervals to be set dynamically.
Change-Id: I6aa662e060f7ce01a4dd80ae2498dc91a8b65a8e
Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
rangan [Fri, 4 Mar 2016 16:53:25 +0000 (22:23 +0530)]
Modified ioam CLI syntax to conform with other CLIs
Change-Id: I384d7b2cdbb63b5ca904db5a11c8b8748f7197b9
Signed-off-by: rangan <rangan@cisco.com>
Shesha Sreenivasamurthy [Wed, 2 Mar 2016 18:33:26 +0000 (10:33 -0800)]
Collect per Q stats for vhost-user interface
Change-Id: I394960c300ff7a81c4c8e05afd5a4175e66666eb
Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
Jean-Mickael Guerin [Fri, 4 Mar 2016 13:27:39 +0000 (14:27 +0100)]
vppinfra: remove generated config.h.in
Change-Id: I04f53789bf1f39fdf16bc813280b24144fedd020
Signed-off-by: Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
Maros Marsalek [Wed, 24 Feb 2016 10:30:00 +0000 (11:30 +0100)]
gitignore
Change-Id: I59c4711fce1999b4bd23f0a0bac41aa14ca716f5
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
Damjan Marion [Fri, 4 Mar 2016 11:44:14 +0000 (12:44 +0100)]
Add CPU detection functions
Change-Id: Id7ea0410d6a789000c747c36a7e50076e31dc29a
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Fri, 4 Mar 2016 12:39:38 +0000 (13:39 +0100)]
Use xxhash in map code when SSE4.2 not available
Change-Id: If4fb86cfeeaf35f3ae89946b437ce5160adbce94
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Thu, 3 Mar 2016 19:19:02 +0000 (20:19 +0100)]
Refuse to start if binary requires unavailable CPU extensions
Change-Id: I4d0d152b6f5d4ba566398fcccaa6a1f96625f864
Signed-off-by: Damjan Marion <damarion@cisco.com>
John Lo [Thu, 3 Mar 2016 17:13:11 +0000 (12:13 -0500)]
Change default L3 MTU to allow jumbo packets for non-DPDK interfaces.
Note that L3 MTU for DPDK interfaces is derived from DPDK port_conf
in vnet/devices/dpdk/init.c.
Change-Id: I9633a1887347a18d05598435baceb6a62cd7b19a
Signed-off-by: John Lo <loj@cisco.com>
Nikhil P Rao [Thu, 3 Mar 2016 16:56:19 +0000 (22:26 +0530)]
Copy flags when cloning next_frames
The VLIB_FRAME_NO_FREE_AFTER_DISPATCH flag is not preserved when cloning
next_frames, as a result VLIB_FRAME_FREE_AFTER_DISPATCH can
erroneously be set for a frame (see vlib_get_next_frame_internal())
Change-Id: Ice1d7ddcb807e1168aa0c157d9474be492d102c2
Signed-off-by: Nikhil P Rao <nikhil.rao@intel.com>
Damjan Marion [Thu, 3 Mar 2016 17:22:02 +0000 (18:22 +0100)]
Use CRC32 instruction only when build for SSE4.2 enabled platforms
This fixes SIGILL crash observed on Penryn CPU
Change-Id: I960878d88f0f088847d4d86605ef082f6600e2c7
Signed-off-by: Damjan Marion <damarion@cisco.com>
John Lo [Thu, 3 Mar 2016 05:25:54 +0000 (00:25 -0500)]
Fix UDP length check for local IP/UDP lookup and error handling.
Change-Id: If6695e19e5a1e5471e56099e2cf31794c73f3303
Signed-off-by: John Lo <loj@cisco.com>
Ole Troan [Wed, 2 Mar 2016 09:01:43 +0000 (10:01 +0100)]
TAP: Jumbo-frame support.
Change-Id: I3a0726d7645f775738253d0a47ee04d94d138c9a
Signed-off-by: Ole Troan <ot@cisco.com>
Todd Foggoa [Wed, 2 Mar 2016 18:52:53 +0000 (10:52 -0800)]
Always showing DPDK physical memory on bootup
Fixing a previous commit to remove the commandline option and just
always display the DPDK physical memory on startup. Also remove
the DPDK args for the dbeug image.
Change-Id: I9336a2a26ebab84c3b50ae0610025c29da7995f2
Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
Bud Grise [Wed, 24 Feb 2016 21:14:22 +0000 (16:14 -0500)]
Add rotates to v6 worker hash to prevent SIP/DIP synchronizing.
Change-Id: Ibe8ec6271b3f04290a60c0145e59a01d3130500f
Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
Dave Barach [Wed, 2 Mar 2016 14:48:04 +0000 (09:48 -0500)]
Remove spurious call to unix_physmem_init(...)
It turns out that unix_physmem_init(...) has been effectively disabled
for a very long time. The vnet library supplied a weak symbol override
for the vlib_app_physmem_init(...) which returned 1, meaning "do
nothing." When we switched libvnet.a -> libvnet.so, the symbol
override stopped working.
Presto: unix_physmem_init(...) romps all over the data set up by
vlib_buffer_pool_create(...), leading to ASSERT failures and/or bus
errors, but only when using worker threads. Even then, the failure
depended in some complicated way on library dynamic load order.
We should remove .../vlib/vlib/unix/physmem.c entirely once we're sure
we'll never want it back.
Change-Id: I27747edbeb0de88d2f2d8728f7f8eb3135e7f0cf
Signed-off-by: Dave Barach <dave@barachs.net>
Sean Hope [Mon, 22 Feb 2016 20:21:31 +0000 (15:21 -0500)]
Dump DPDK physmem to stdout before allocating mbufs
Change-Id: I9dac27dc8b6b95cfb0ee77e3cff18240b4ec21d6
Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
Christian Dechamplain [Fri, 19 Feb 2016 17:26:57 +0000 (12:26 -0500)]
Add ability to filter and change MACs
Added new functions to change the MAC address and filter multicast MAC
addresses.
Change-Id: Iddf518e57dc889800a2f706fda51ee4e5c5142f2
Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>