vpp.git
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>
7 years agovppctl: Do not use sudo if already root 95/3695/2
Pierre Pfister [Thu, 3 Nov 2016 13:14:29 +0000 (13:14 +0000)]
vppctl: Do not use sudo if already root

When using sudo, environment variable such as the PATH
are overwritten.
This patch just checks if user is already root and does
not use sudo in such situation.
This allows using approaches like:
sudo env PATH=path/to/vpp-binary/:$PATH vppctl

Not really important in production setups, but this is handy
for testing.

Change-Id: I079c104d026ae7d378468380b012279a6e5d765d
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
7 years agovlib: add vlib_buffer_copy function 91/3691/2
Damjan Marion [Thu, 3 Nov 2016 19:16:04 +0000 (20:16 +0100)]
vlib: add vlib_buffer_copy function

It works with and without DPDK so it allws us to enable
lawful-intercept code in vpp_lite images.

Change-Id: I08f234cbc652c3ff47a6123a43b9e7f8bdcd5534
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoCrash when adding duplicate paths 92/3692/2
Neale Ranns [Thu, 3 Nov 2016 21:15:28 +0000 (14:15 -0700)]
Crash when adding duplicate paths

Change-Id: Icd29c9013ae70f5444eb940aff4f08589e755f48
Signed-off-by: Neale Ranns <nranns@cisco.com>
7 years agoTest framework: improve gdbserver handling 80/3680/2 v17.01-rc0
Klement Sekera [Thu, 3 Nov 2016 04:36:01 +0000 (05:36 +0100)]
Test framework: improve gdbserver handling

Produce a user-friendly message if gdbserver is not available, instead
of cryptic exception.

Change-Id: Ia0d99e0488d2ee6e8af764b466dae2639f17ea55
Signed-off-by: Klement Sekera <ksekera@cisco.com>
7 years agoFail to register Java API for plugin that was not loaded (VPP-522) 81/3681/2
Marek Gradzki [Thu, 3 Nov 2016 09:52:43 +0000 (10:52 +0100)]
Fail to register Java API for plugin that was not loaded (VPP-522)

Change-Id: Idb95888ae6fc7a9df197a919e3d3283f915f4a4c
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
7 years agoFix vpp-plugins rpms 76/3676/2
Ed Warnicke [Wed, 14 Sep 2016 23:58:33 +0000 (16:58 -0700)]
Fix vpp-plugins rpms

vpp by default looks in /usr/lib/vpp_plugins
rpmbuild has ${_libdir} as /usr/lib64

Thus vpp doesn't see the plugins.

Change-Id: Iecbc491940678728305c181b04bb0914ad174bf1
Signed-off-by: Ed Warnicke <eaw@cisco.com>
(cherry picked from commit 2dfd08242d66fb79c9a861c6a0c7fee45ef6bc60)

7 years agoRemove unused jvpp dependency on plugins' control_ping 83/3683/2
Marek Gradzki [Thu, 3 Nov 2016 12:33:07 +0000 (13:33 +0100)]
Remove unused jvpp dependency on plugins' control_ping

Change-Id: I6ebb69443e79e60c7ce6afded6a2d3af85048e6e
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
7 years agoReset frame length after dispatch when recycling frames 02/3202/2
Dave Barach [Thu, 29 Sep 2016 14:53:44 +0000 (10:53 -0400)]
Reset frame length after dispatch when recycling frames

Fixes a gross bug when enqueuing x->x->error-drop or similar

Change-Id: Ie1dc10371de4a265f5131b67cab7a62ed460a1fc
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoTimestamp now a 64-bit integer: ns since 1/1/1970 74/3674/3
Dave Barach [Wed, 2 Nov 2016 22:37:56 +0000 (18:37 -0400)]
Timestamp now a 64-bit integer: ns since 1/1/1970

Properly initialize allocated buffers

Change-Id: Ib2005e605c89a164a4856790db6968fcd7520f5c
Signed-off-by: Dave Barach <dave@barachs.net>
7 years agoAdding Sequence Number - Per Packet Counter(PPC) support for iOAM6. 82/2282/20
AkshayaNadahalli [Tue, 9 Aug 2016 08:08:04 +0000 (13:38 +0530)]
Adding Sequence Number - Per Packet Counter(PPC) support for iOAM6.

- Added support in classifier session to identify a flow to be iOAM6 encap/decap
- Sequence number as part of iOAM6 E2E header is created as a plugin.

Change-Id: Ib7605de45aecff25d684d099b525f8dc96ee7038
Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>
7 years agofeature: recover "show ip features" command 73/3673/1
Damjan Marion [Wed, 2 Nov 2016 20:38:53 +0000 (21:38 +0100)]
feature: recover "show ip features" command

Removed by accident.

Change-Id: Ifebbe99eb2825cb6ee7d33d55cf3c087a9817f72
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agofeature: all input nodes must have same nexts 62/3662/3
Damjan Marion [Wed, 2 Nov 2016 13:48:21 +0000 (14:48 +0100)]
feature: all input nodes must have same nexts

Change-Id: Ie4c820933114af2269c99531856c45b0271a4a3e
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoethernet: fix wrong start node for ethernet tx feature path 66/3666/2
Damjan Marion [Wed, 2 Nov 2016 14:51:12 +0000 (15:51 +0100)]
ethernet: fix wrong start node for ethernet tx feature path

Change-Id: I3e02588e8c05ec50eacbe7c10cd5ac185daad43b
Signed-off-by: Damjan Marion <damarion@cisco.com>
7 years agoUpdate CSIT tests 161024 -> 161030 68/3668/2
Jan [Wed, 2 Nov 2016 15:29:05 +0000 (16:29 +0100)]
Update CSIT tests 161024 -> 161030

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

Change-Id: I9f7418a2161e6411375c2d7ff1f3f686b991fb87
Signed-off-by: Jan <jgelety@cisco.com>