vpp.git
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>
7 years agovlib: Add 'show cpu' command 74/3874/2
Damjan Marion [Fri, 18 Nov 2016 15:59:24 +0000 (16:59 +0100)]
vlib: Add 'show cpu' command

Change-Id: I0d9af8e022cc25b8b4503f808f79028190475f8f
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agomake: call install-dep on unatteded invocation 80/3880/3
Damjan Marion [Sat, 19 Nov 2016 11:04:34 +0000 (12:04 +0100)]
make: call install-dep on unatteded invocation

Change-Id: I7a3c21c47f49b56b6435397e731d4da961ef8ffd
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agodpdk: quad loop dpdk-input node 70/3870/2
Damjan Marion [Tue, 15 Nov 2016 18:47:58 +0000 (19:47 +0100)]
dpdk: quad loop dpdk-input node

Change-Id: I761af883403b6740bd24ce196ae0bfe6bc77b409
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoCLI for access to HQoS queue statistics 20/3820/4
David Hotham [Mon, 14 Nov 2016 14:37:07 +0000 (14:37 +0000)]
CLI for access to HQoS queue statistics

Change-Id: Ib9bc5d8d28b4742583f917c3a20e7c676df59de4
Signed-off-by: David Hotham <david.hotham@metaswitch.com>
7 years agohandoff - allow symmetrical dispatch 62/3862/3
Gabriel Ganne [Wed, 16 Nov 2016 15:57:00 +0000 (16:57 +0100)]
handoff - allow symmetrical dispatch

update cli cmd with symmetrical|asymmetrical flag
(asymetrical by default)

Change-Id: I8186506413a3ba0aa0561c0448b5e06e6d6e7ece
Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>
7 years agoFix bug in configure 'vlan-strip-offload on' first, then configure "set interface... 66/3866/3
jerryian [Fri, 18 Nov 2016 03:20:19 +0000 (11:20 +0800)]
Fix bug in configure 'vlan-strip-offload on' first, then configure "set interface mtu" command,
vlan-strip-offload option will be changed to off.

Change-Id: I1f39628fc8cde4e46ed5b2e3208253a07327de81
Signed-off-by: jerryian <gu.jian1@zte.com.cn>
7 years agodpdk: maintain per-worker trace buffer 69/3869/2
Damjan Marion [Fri, 18 Nov 2016 10:41:37 +0000 (11:41 +0100)]
dpdk: maintain per-worker trace buffer

Change-Id: I8234054cef4cadada6745a8c00c8df2c20daac33
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoAdd the Makefile to Lua API which got gitignored and adjust local .gitignore 68/3868/2
Andrew Yourtchenko [Fri, 18 Nov 2016 10:39:56 +0000 (10:39 +0000)]
Add the Makefile to Lua API which got gitignored and adjust local .gitignore

Change-Id: I87358dc5dddc6964c128283f096d382492af5886
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
7 years agodpdk: remove unused code 67/3867/1
Damjan Marion [Fri, 18 Nov 2016 09:35:35 +0000 (10:35 +0100)]
dpdk: remove unused code

Change-Id: Iabb5a3b15e35fb062c04bbc076b19fe50910d412
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoFix VPP-132: leave IPv4 addresses in network byte order when sending. 16/3816/2
Matthew Smith [Mon, 14 Nov 2016 14:31:21 +0000 (08:31 -0600)]
Fix VPP-132: leave IPv4 addresses in network byte order when sending.

Change-Id: Ibae771e7cba0a3e834382f43d4bc07b457844b00
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
7 years agofeature: API/CLI to enable/disable feature per interface 24/3824/4
Pavel Kotucek [Tue, 15 Nov 2016 08:19:11 +0000 (09:19 +0100)]
feature: API/CLI to enable/disable feature per interface

Change-Id: I91d5f5648189143903eb973fdc60de9880fd47c2
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
7 years agoremove reference to Intel with dpdk docs 29/3829/2
Padraig Connolly [Tue, 15 Nov 2016 09:35:50 +0000 (09:35 +0000)]
remove reference to Intel with dpdk docs

*Changed configure files to say DPDK instead of Intel DPDK
*Changed rpm and deb config files to say DPDK instead of Intel DPDK
*Changed vnet Makefile to say DPDK instead of Intel DPDK

Change-Id: Ic6e3eacf2341af873d4bd2e036d5afa857ca6355
Signed-off-by: Padraig Connolly <padraig.connolly@intel.com>
7 years agoFix coverity warnings, VPP-486 64/3864/2
Dave Barach [Thu, 17 Nov 2016 16:36:59 +0000 (11:36 -0500)]
Fix coverity warnings, VPP-486

Change-Id: If98e5e00eede8f2aa9f17517c726b337c98e5467
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoFixup Path weights of 0 63/3863/2
Neale Ranns [Wed, 16 Nov 2016 11:47:44 +0000 (11:47 +0000)]
Fixup Path weights of 0

A path wight of 0 is a meaningless value. We can either reject it and thus expect CLI/API clients to always write a non-zero value, or we can accept it and assume the intent was a weight of 1 - this fix does the latter.

Change-Id: Ide736dbbb8376f85441f5a67388d5e3acad4d34e
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agodpdk: remove efd 37/3837/4
Damjan Marion [Tue, 15 Nov 2016 18:47:58 +0000 (19:47 +0100)]
dpdk: remove efd

Change-Id: I761af883403b6740bd24ce196ae0bfe6bc77b408
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoPut address in top bytes for the nexthop in vl_api_fib_path_t (VPP-532) 59/3859/2
Steven [Wed, 16 Nov 2016 21:26:27 +0000 (13:26 -0800)]
Put address in top bytes for the nexthop in vl_api_fib_path_t (VPP-532)

VPP-500 added the API for the fib dump capability. However, it puts the address of the
nexthop in the low bytes while the top bytes are padded with 0's if the address is ipv4.
The address field is defined as 16 bytes to accommodate both ipv4 and ipv6.
This fix is to correct the issue and put the address of the nexthop in the top bytes.

Change-Id: I429dec662e32040b186dfc323801ef49b76a42a3
Signed-off-by: Steven <sluong@cisco.com>
7 years agoFix 4 typos 46/3846/2
Dave Barach [Wed, 16 Nov 2016 13:04:58 +0000 (08:04 -0500)]
Fix 4 typos

As given, the macro was ignoring its bi0...bi3 arguments, and would
only work if the arguments happened to be given as pi0..pi3

Change-Id: I5a8b163fcfc6b8197534d474fcd952b2e8b2694b
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoVPP-533 Fix ping race condition in JVpp 17/3817/3
Maros Marsalek [Mon, 14 Nov 2016 15:14:58 +0000 (16:14 +0100)]
VPP-533 Fix ping race condition in JVpp

Improper synchronization between ping_send and ping_reply_handle

Change-Id: I844c96bc3f5cd750a1c43188d3133c92f8f14e38
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
7 years agoVPP-534 Remove references to DTOs created in JVpp 45/3845/2
Maros Marsalek [Wed, 16 Nov 2016 10:29:33 +0000 (11:29 +0100)]
VPP-534 Remove references to DTOs created in JVpp

JVM objects allocated from a native thread need to be freed,
they are not subject to GC.

Change-Id: If1e140d2ceaec93631735ae7665f45db5aacf7cf
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
7 years agoTune the ethernet input untagged l2-bridging case 55/3855/1
Dave Barach [Wed, 16 Nov 2016 15:23:50 +0000 (10:23 -0500)]
Tune the ethernet input untagged l2-bridging case

Change-Id: I62fe0834e1031e191787a26452fb167c33e30ffd
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agovhost: Fix bug during interface deletion 41/3841/3
Pierre Pfister [Wed, 16 Nov 2016 02:43:29 +0000 (02:43 +0000)]
vhost: Fix bug during interface deletion

This small patch fixes a critical bug during interface deletion.
While the interface was removed, thread placement was not corrected
properly.

This should help fixing VPP-528,VPP-531 as well as other FDS bug reports.

Change-Id: I02f9d44c62b6ca4c0b6d73f476600b342846507f
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
7 years agoAdd an ability to punt all unknown UDP traffic to the host 40/3840/2
Alexander Popovsky (apopovsk) [Tue, 15 Nov 2016 23:36:23 +0000 (15:36 -0800)]
Add an ability to punt all unknown UDP traffic to the host

By default, VPP replies with ICMP error: port unreachable when receives
an ‘unknown’ UDP (destination port with no registered listener) packet.

An existing punt() API is extended to accept ALL (~0) as a L4 port
number and if used redirects all ‘unknown’ UDP packets to the host.

New ‘all’ option is added to the “set punt udp” CLI as well.

Change-Id: I444fc5e32ffa3f0f085bb17708bf32b883ba09df
Signed-off-by: Alexander Popovsky (apopovsk) <apopovsk@cisco.com>
7 years agoVPP-521: Classify API enhancement to redirect traffic to pre-defined VRF 31/3731/8
Steve Shin [Tue, 8 Nov 2016 18:47:10 +0000 (10:47 -0800)]
VPP-521: Classify API enhancement to redirect traffic to pre-defined VRF

Ingress packets are punted to the “Input ACL node” where traffic is
classified based on n-tuple keys. If no matched session is found from
the classify tables, then it will be passed to “the lookup node” for
normal packet forwarding. If a classify session is hit from one of
classify tables, then packet vnet buffer field sw_if_index[VLIB_TX]
will be updated to the new FIB index used for subsequent IP lookup
for this packet.

Change-Id: Ifdea63196ddb81c2d5c43b8c98e11ddbf5b11858
Signed-off-by: Steve Shin <jonshin@cisco.com>
7 years agofeature: remove old interface output feature code 39/3839/2
Damjan Marion [Tue, 15 Nov 2016 22:20:01 +0000 (23:20 +0100)]
feature: remove old interface output feature code

Only consumer was ipsec which is now moved to the new
ip{4,6}-output feature arc.

Change-Id: I06008e67b5449c25eae77f28e1688521af3a23e0
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agofeature: convert ipsec output to new feature code 33/3833/2
Matus Fabian [Tue, 15 Nov 2016 14:08:51 +0000 (06:08 -0800)]
feature: convert ipsec output to new feature code

Change-Id: Ia287298bac76c8e6bf760d48c1e1e697de52999c
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 years agothreads: add support for multiple worker handoff queues 29/3729/5
Damjan Marion [Tue, 8 Nov 2016 16:37:01 +0000 (17:37 +0100)]
threads: add support for multiple worker handoff queues

Change-Id: I2452df3c493eeb0a5078d53a230df6906651c057
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agospan: add feature (rx only) (VPP-185) 82/3682/16
Pavel Kotucek [Fri, 4 Nov 2016 08:58:01 +0000 (09:58 +0100)]
span: add feature (rx only) (VPP-185)

Change-Id: I0f7cbf06b5a5acd745d13c9f5c761ea18132107b
Signed-off-by: marek <mazavods@gmail.com>
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoVPP-393: Subinterface is still used after deletion 46/3446/3
Pavel Kotucek [Mon, 17 Oct 2016 13:31:59 +0000 (15:31 +0200)]
VPP-393: Subinterface is still used after deletion

Fixed bug in delete of sub-interface, if sub-interface is xconnected it
was not deleted correctly (show interface address fails).

Interface is set to L3 mode before deletion.

Fixed help in API command.
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
Change-Id: Ibe781e4b53422e6535e34ec72dbe274f9045f051

7 years agoUpdate test documentation. 76/3776/9
Matej Klotton [Fri, 11 Nov 2016 10:38:55 +0000 (11:38 +0100)]
Update test documentation.

- update IRB, IPv4, ipv6 doc
- revert 778c2765c8ea5c6628f6d668847f0b9ae06dbf3d

Change-Id: I9af5ed9329ce5fe01392cf28d5bf321cfc647e48
Signed-off-by: Matej Klotton <mklotton@cisco.com>
7 years agoUpdate CSIT tests 161106 -> 161113 05/3805/2
Jan [Mon, 14 Nov 2016 08:53:37 +0000 (09:53 +0100)]
Update CSIT tests 161106 -> 161113

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

Change-Id: I3a475b34764cfe3e433ce7ab8cfc5501f6131690
Signed-off-by: Jan <jgelety@cisco.com>
7 years agoDPDK_HQoS: fix coverity warnings on uninitialized variables 03/3803/2
Jasvinder Singh [Sat, 12 Nov 2016 11:49:10 +0000 (11:49 +0000)]
DPDK_HQoS: fix coverity warnings on uninitialized variables

Change-Id: I76437b76619a280a44e4def4d6c048eaf3926102
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
7 years agothreads: add assert to silence coverity warning 07/3807/2
Damjan Marion [Mon, 14 Nov 2016 09:22:48 +0000 (10:22 +0100)]
threads: add assert to silence coverity warning

Change-Id: I381786b26050f2dfcb4c74094309cf2114d26d85
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agobuffer: clone free_list to each vlib_main on creation 91/3791/3
Damjan Marion [Fri, 11 Nov 2016 20:35:18 +0000 (21:35 +0100)]
buffer: clone free_list to each vlib_main on creation

Currently only packet-generator is creating free_lists
during runtime. This avoids crash when buffer is freed
on different worker thread.

Change-Id: If2ae066a12cf7c4b3267d56d8566806f31cf7ffc
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoDump routes (VPP-500) 70/3670/9
Steven [Wed, 2 Nov 2016 17:40:09 +0000 (10:40 -0700)]
Dump routes (VPP-500)

Change-Id: I86e7382395a8b6471a0deaf57163718d41b71b83
Signed-off-by: Steven <sluong@cisco.com>
7 years agodpdk: add build support for DPDK 16.11 release 22/3822/2
Damjan Marion [Mon, 14 Nov 2016 20:45:20 +0000 (21:45 +0100)]
dpdk: add build support for DPDK 16.11 release

Change-Id: Icec79bfc5d786cd293520b1dcc6b8dccd1419acb
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agomake test: improve naming of temporary pcap files 18/3818/1
Klement Sekera [Mon, 14 Nov 2016 08:49:09 +0000 (09:49 +0100)]
make test: improve naming of temporary pcap files

Change-Id: I0f4e83aab8bec80562bd90e8035f602ce903cd3e
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoAdd support for multi FIB DHCPv6 Proxy 54/3754/4
Wojciech Dec [Tue, 1 Nov 2016 15:44:06 +0000 (16:44 +0100)]
Add support for multi FIB DHCPv6 Proxy

- Support multiple DHCPv6 server targets across VRFs
- Allows clients and servers to be in different VRFs
- Aligns CLI and VAT for DHCPv6 to DHCPv4

Change-Id: If47756b3a51dc1b9d045a32b7d32ceb80c1746e2
Signed-off-by: Wojciech Dec <wdec@cisco.com>
7 years agoAdd clang to 'make verify' 01/3801/3
Damjan Marion [Sat, 12 Nov 2016 00:23:55 +0000 (01:23 +0100)]
Add clang to 'make verify'

Change-Id: I9ba84632da93ffb7713064db51f2888fc212713a
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoFix a bug in the timing wheel 81/3781/3
Klement Sekera [Fri, 11 Nov 2016 04:58:10 +0000 (05:58 +0100)]
Fix a bug in the timing wheel

Properly propagate vector allocated in advance_cpu_time_base() for a
special case, when the expired_user_data parameter passed to
timing_wheel_advance() is NULL and the only expired event is in the
overflow pool.

Change-Id: I5cefab0e881958334791aaa6354ec08225af23c1
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoUse gcc for start in 'make verify' 98/3798/3
Damjan Marion [Fri, 11 Nov 2016 22:59:48 +0000 (23:59 +0100)]
Use gcc for start in 'make verify'

Change-Id: I8ef5f8aeb9af5127337163c4767bfa92b62f8175
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agopseudo atomic adjacency updates 71/3771/3
Neale Ranns [Thu, 10 Nov 2016 20:35:14 +0000 (20:35 +0000)]
pseudo atomic adjacency updates

When an adjacency changes from incomplete to complete (arp to rewrite) and vice-versa, that update must produce valid behavour w.r.t. the packets that continue to encounter it.

Change-Id: Icc2709aff9807c5d24f91ef7649268991ad9a45d
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoClean up coverity warnings, VPP-486 96/3796/2
Dave Barach [Fri, 11 Nov 2016 22:27:51 +0000 (17:27 -0500)]
Clean up coverity warnings, VPP-486

Change-Id: I709e7cf0bb52d8e6cdc9ddb3b7648660204aa3bd
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoAdd 'make verify' target to top-level makefile 97/3797/1
Damjan Marion [Fri, 11 Nov 2016 22:31:55 +0000 (23:31 +0100)]
Add 'make verify' target to top-level makefile

Change-Id: I992df2b6ded9533d32f5f936e6d651055061f054
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoAdd single-loop test variant to L2BD and L2XC tests 97/3597/7
Jan [Wed, 26 Oct 2016 13:44:27 +0000 (15:44 +0200)]
Add single-loop test variant to L2BD and L2XC tests

 - create single-loop version of tests
 - update doc strings

 - add possibility to log CLI string for logging level "info"

Change-Id: Ibc9e5650b8a33d2ed168a8440c2ae03227be60bb
Signed-off-by: Jan <jgelety@cisco.com>
7 years agoLuajit API and some examples 90/3790/2
Andrew Yourtchenko [Fri, 11 Nov 2016 16:32:52 +0000 (16:32 +0000)]
Luajit API and some examples

Change-Id: Ia140c4750f06870c40b7058c4afb2e20ca633a49
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
7 years agoFix clang compile errors in plugins 89/3789/1
Neale Ranns [Fri, 11 Nov 2016 16:14:30 +0000 (16:14 +0000)]
Fix clang compile errors in plugins

Change-Id: I2c2df9b5ba567bde2564c924bd9ad2fbbac775c4
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agofeature: convert all feature nodes to new feature infra 59/3759/8
Damjan Marion [Wed, 9 Nov 2016 18:54:20 +0000 (19:54 +0100)]
feature: convert all feature nodes to new feature infra

Change-Id: I34c527ba910fb282a95458b78d1d684eb337905e
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoAdd IRB test 96/3696/6
Matej Klotton [Fri, 4 Nov 2016 10:11:44 +0000 (11:11 +0100)]
Add IRB test

- JIRA: CSIT-255
- create loopback interfaces
- move pg-interface specific arp and neighbor discovery from vpp_interface to vpp_pg_interface
- base configuration of IRB tests
- IP test scenario

Change-Id: I9945a188163652a4e22325877aef008c4d029557
Signed-off-by: Matej Klotton <mklotton@cisco.com>
7 years agoip_frag: fix implicit enum conversion 55/3755/2
Damjan Marion [Wed, 9 Nov 2016 23:41:13 +0000 (00:41 +0100)]
ip_frag: fix implicit enum conversion

Change-Id: I024b8d79cced45cf53a7a912319eca2cc932b10e
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agofeature: fix init issue when multiple arc are present 69/3769/2
Damjan Marion [Thu, 10 Nov 2016 17:01:42 +0000 (18:01 +0100)]
feature: fix init issue when multiple arc are present

Change-Id: I9c76b6d7ffebeeb92d5eeca5852c487d73151f28
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoEnable verification received packet for LB test 63/3763/1
Matej Klotton [Thu, 10 Nov 2016 14:36:19 +0000 (15:36 +0100)]
Enable verification received packet for LB test

Change-Id: I9c8a2f5744f322b2bd91c5ae24aeb1279cd11e0c
Signed-off-by: Matej Klotton <mklotton@cisco.com>
7 years agoVXLAN tunnel encap forwarding optimization with FIB 2.0 17/3717/13
John Lo [Mon, 7 Nov 2016 23:30:47 +0000 (18:30 -0500)]
VXLAN tunnel encap forwarding optimization with FIB 2.0

Optimize VXLAN encap node so that vxlan4-encap node is used for IP4
and vxlan6-encap node is used for IP6 underlay. Also stack the VXLAN
encap nodes to the appropriate FIB IP4 or IP6 load-balance node
instead of ip4/ip6-lookup node to save IP lookup operation.

For VXLAN decap node, check VXLAN header FLAGS field for each packet
and remove the code to support decap-next for IP4 or IP6. These decap-
next values were intended for experimentation purposes and not needed
any more since VXLAN-GPE tunnel is supported. The decap-next field is
still kept in API for backward compatibility and its value has no
effect. Decap next for both vxlan4-decap and vxlan6-decap nodes is
always l2-input node.

Change-Id: I8ac95774946549ec403ab691f999df0c006b460f
Signed-off-by: John Lo <loj@cisco.com>
7 years agoFix Compile errors from clang in FIB2.0 code 52/3752/2
Neale Ranns [Wed, 9 Nov 2016 17:49:42 +0000 (17:49 +0000)]
Fix Compile errors from clang in FIB2.0 code

Change-Id: Ief769c966888094944b7a6b7f26527e7eff6103f
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoFix DHCP proxy when used for non-default FIB tables 53/3753/1
Igor Mikhailov (imichail) [Wed, 9 Nov 2016 20:38:33 +0000 (12:38 -0800)]
Fix DHCP proxy when used for non-default FIB tables

An issue is that the server->server_fib_index is overwritten by
some incorrect value on subsequent calls to the function - e.g.
when setting DHCP proxy for the same FIB table several times.

Change-Id: I2e129b47f5c8fe3a0b924a7d71bb83e6fc53e9b5
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
7 years agoFix a batch of coverity warnings, VPP-486 50/3750/1
Dave Barach [Wed, 9 Nov 2016 16:28:36 +0000 (11:28 -0500)]
Fix a batch of coverity warnings, VPP-486

Change-Id: I0379844824b4c2eb42588d0fb8e1a7eb441e923f
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoUpdate CSIT tests 161030 -> 161106 46/3746/2
Jan [Wed, 9 Nov 2016 14:06:18 +0000 (15:06 +0100)]
Update CSIT tests 161030 -> 161106

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

Change-Id: I5e705f4a4d1f843ff0041930399f707e59d01b05
Signed-off-by: Jan <jgelety@cisco.com>
7 years agothreads: don't wait for dpdk init in vpp_lite 39/3739/3
Damjan Marion [Wed, 9 Nov 2016 09:22:49 +0000 (10:22 +0100)]
threads: don't wait for dpdk init in vpp_lite

Change-Id: I110cdc3cc2a26aa36dc250302a6f26db2d884e08
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agodevices: create dummy device-input node to keep nexts in sync 42/3742/3
Damjan Marion [Wed, 9 Nov 2016 10:59:42 +0000 (11:59 +0100)]
devices: create dummy device-input node to keep nexts in sync

device-input feature arc requires that all input-nodes have
nexts in sync. packet-generator tends to call vlib_node_add_next
when new stream is created and that puts nexts out of sync.

With this change all input node are siblings of device-input
node so call to vlib_node_add_next(...) will install same next
to the whole family.

Change-Id: I33d79492e5f30f348af19e527f36fe0222c524d7
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agodpdk: bump to 16.11-rc3 release 32/3732/2
Damjan Marion [Tue, 8 Nov 2016 19:31:11 +0000 (20:31 +0100)]
dpdk: bump to 16.11-rc3 release

Tarball available at:
 http://dpdk.org/browse/dpdk/snapshot/dpdk-16.11-rc3.tar.xz

Change-Id: Ib34f32206d866888c4b5bf6609b8ae53f570daaa
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agofix errors reported by clang 34/3734/4
Damjan Marion [Tue, 8 Nov 2016 20:28:22 +0000 (21:28 +0100)]
fix errors reported by clang

Change-Id: Ib821e52dac7cd7ee24e6e495916689e23e8b699a
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoImprove test framework documentation 25/3725/2
Klement Sekera [Tue, 8 Nov 2016 01:00:28 +0000 (02:00 +0100)]
Improve test framework documentation

Change-Id: I06f0cbbbdd29e04a07f1db6807b3e16f1d41e8d2
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoDisable non-working checks in load-balancer test and rename ip->ip4 26/3726/3
Klement Sekera [Tue, 8 Nov 2016 07:48:30 +0000 (08:48 +0100)]
Disable non-working checks in load-balancer test and rename ip->ip4

Change-Id: If62011e29e912bf0c47625b0d3b3624ef6375013
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoUpdate sample plugin and plugin skeletons: use driver feature arc 35/3735/2
Dave Barach [Tue, 8 Nov 2016 21:47:34 +0000 (16:47 -0500)]
Update sample plugin and plugin skeletons: use driver feature arc

Change-Id: Ic0a1479e4a0408a4b93f47e50752d07c2bdccdde
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agopg: maintain per-worker bitmap of enabled streams 24/3724/2
Damjan Marion [Tue, 8 Nov 2016 12:20:42 +0000 (13:20 +0100)]
pg: maintain per-worker bitmap of enabled streams

Change-Id: I38e476c8080faa5a8647ce6be5a71090e0aa8d5b
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoAdd the tap driver to the driver feature arc scheme 30/3730/1
Dave Barach [Tue, 8 Nov 2016 17:12:12 +0000 (12:12 -0500)]
Add the tap driver to the driver feature arc scheme

Change-Id: I5f5251ed6b2a39d5e83dd7c702079245ef5f32b0
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agovhost: Improve packet tracing 28/3728/2
Pierre Pfister [Tue, 8 Nov 2016 15:49:28 +0000 (15:49 +0000)]
vhost: Improve packet tracing

Packet tracing for packets sent or received on vhost interfaces
now includes:
- virtio header information
- virtio queue transmit mode (chained, indirect, etc...)

Should be *really* helpful for dealing with the many existing
qemu/driver versions/implementations.

Change-Id: Id0a5d1d671d8b9d3e05691fe13def991b30ee105
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
7 years agopg: support for packet generator on different worker threads 15/3715/3
Damjan Marion [Mon, 7 Nov 2016 21:19:55 +0000 (22:19 +0100)]
pg: support for packet generator on different worker threads

New Debug CLI:
packet-generator new {
  worker X
}

Change-Id: I71499733a29b49cd36d753d54846d2553af6d024
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoRestore punt/inject after FIB2.0 02/3702/2
Igor Mikhailov (imichail) [Sat, 5 Nov 2016 03:25:00 +0000 (20:25 -0700)]
Restore punt/inject after FIB2.0

The tuntap punt/inject should be enabled for IPv4/6 RX once any vpp
interface has an IP address.

Change-Id: I4a507b7540b7464ed6d21035ac9b8f9463028c6f
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
7 years agoFix a class of spurious clib_memcpy (...) warnings, VPP-486 11/3711/2
Dave Barach [Mon, 7 Nov 2016 14:55:55 +0000 (09:55 -0500)]
Fix a class of spurious clib_memcpy (...) warnings, VPP-486

Coverity doesn't understand the vector-unit memcpy functions. #ifdef
them out of the way when running a coverity scan.

Change-Id: I312eec1c861c1d3722510d2c121fb5f398fca868
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoFix dual-loop issue in vxlan_gpe decap 02/3602/3
Hongjun Ni [Thu, 27 Oct 2016 10:39:44 +0000 (18:39 +0800)]
Fix dual-loop issue in vxlan_gpe decap

From logical point, if first packet is ipv4, and second packet is ipv6.
When first packet failed, the procedure will skip key6_1 setting.
This will lead to second packet's failure.
But here the graph node only process either ipv4 or ipv6 packets completely.
So it is not an issue here.

This patch only make the packet processig's logic clear. It is just a cosmetic change.

Change-Id: I0104ebf2546208d9068000649ce6dccdeeb5aa79
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
7 years agopg: add device-input feature arc support on pg interfaces 07/3707/2
Damjan Marion [Mon, 7 Nov 2016 11:24:50 +0000 (12:24 +0100)]
pg: add device-input feature arc support on pg interfaces

Change-Id: Ice97940a27c9f4d983d9199d59719d953520fcdb
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agouse STATIC_ASSERT macro instead of calling _Static_assert directly 09/3709/2
Damjan Marion [Mon, 7 Nov 2016 13:57:50 +0000 (14:57 +0100)]
use STATIC_ASSERT macro instead of calling _Static_assert directly

Change-Id: Iccae655334b6219d22c325108b0e7f37d1dd68cf
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agofix isssues discovered by coverity scan 08/3708/2
Damjan Marion [Mon, 7 Nov 2016 13:05:34 +0000 (14:05 +0100)]
fix isssues discovered by coverity scan

Change-Id: I62deaaa47a9259c886efa702eb4279c1c481585f
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoFix longArray type in JVPP generator 06/3706/1
Maros Marsalek [Mon, 7 Nov 2016 10:37:49 +0000 (11:37 +0100)]
Fix longArray type in JVPP generator

Change-Id: I0319b45d2e070ee2e20dcf900477fdaadd072aef
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
7 years agoVPP-498: Prepare vpp RPM packaging for use by downstream distros. 32/3432/7
Thomas F Herbert [Thu, 13 Oct 2016 22:36:50 +0000 (18:36 -0400)]
VPP-498: Prepare vpp RPM packaging for use by downstream distros.

Change spec to add new macros to get rid of relative dir reference and
use vpp version. Store version string in .version to store metadata in
dist archive. New script to create dist archive.
Add dist and wipedist targets to Makefile for builds of source RPMs.

Change-Id: I7cf0164f0cb094ec70f3dc323ed7fa2ee82bd902
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
7 years agoVPP-524: Add support to API to dump IPsec SPDs 99/3699/3
Matthew Smith [Fri, 4 Nov 2016 12:58:37 +0000 (07:58 -0500)]
VPP-524: Add support to API to dump IPsec SPDs

Change-Id: Ief37bef8db9f194fe2a75e0eb223a41bc739bc4f
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
7 years agovlib: fix cacheline alignement in several structs 00/3700/2
Damjan Marion [Fri, 4 Nov 2016 13:41:44 +0000 (14:41 +0100)]
vlib: fix cacheline alignement in several structs

sizeof(vlib_frame_queue_t) was 208 bytes so non-zero elements
of array were not aligned with cacheline.

Change-Id: I626615cb64fe9aa86122881a1fff1c5bcca1ec20
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agofeature: store arc index in vlib_buffer 97/3697/5
Damjan Marion [Fri, 4 Nov 2016 10:00:27 +0000 (11:00 +0100)]
feature: store arc index in vlib_buffer

Previos implementation imposed a limit that node can be member of
only one feature arc as feature arc index was stored in node runtime.
Now start node stores index into vlib_buffer_t and feature
nodes are taking it from there.

Change-Id: I252841083bc292af7ed36bf1ac652f2b8c16bfb8
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoDHCPv6: relay reply fixes (VPP-510) 01/3501/13
Wojciech Dec [Thu, 20 Oct 2016 09:25:37 +0000 (11:25 +0200)]
DHCPv6: relay reply fixes (VPP-510)

Fixes DHCPv6 relay reply message corruption.

Change-Id: Iead995f29d2fa9cbb04f0f9d42b3aa9002267117
Signed-off-by: Wojciech Dec <wdec@cisco.com>
7 years agovhost-user: multiqueue support 22/2922/24
Pierre Pfister [Wed, 21 Sep 2016 07:04:59 +0000 (08:04 +0100)]
vhost-user: multiqueue support

This patch adds multi-queue support to non-dpdk's vhost-user
driver.
Waiting for a unified way to manage threads, this patch
defines a way to assign threads to interfaces that is
specific to vhost.

Change-Id: I86298788b1a4e886c5431f187dc17175d12c7a8b
Signed-off-by: Pierre Pfister <ppfister@cisco.com>