vpp.git
5 years agoflow-hash: Add symmetric flag for flow hashing 49/16049/3
Mohsin Kazmi [Tue, 20 Nov 2018 10:11:12 +0000 (11:11 +0100)]
flow-hash: Add symmetric flag for flow hashing

When 'Symmetric' flag is enabled, it will sort the addresses
and hence, same flow hash will be calculated on both directions.

Change-Id: I5d846f8d0b94ca1121e03d15b02bb56edb5887b1
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agovapi: break if parsing progress cannot be made 85/16185/2
Klement Sekera [Mon, 26 Nov 2018 14:37:28 +0000 (15:37 +0100)]
vapi: break if parsing progress cannot be made

Change-Id: I1b76994f674a045f7fce3d61ef2aa5294ddb53a9
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agoRemove unused argument from eth_identify_subint(...) 88/16188/1
Damjan Marion [Mon, 26 Nov 2018 15:05:07 +0000 (16:05 +0100)]
Remove unused argument from eth_identify_subint(...)

Change-Id: I0e89fbc51f30325655c4e9d0104aceb3ead3b16f
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoRevert "VPP-1508 python3 tests: raw_input" 80/16180/2
Ole Trøan [Mon, 26 Nov 2018 10:27:50 +0000 (10:27 +0000)]
Revert "VPP-1508 python3 tests: raw_input"

This reverts commit 72f0004ac5f6e201cbe042593d76df6f2491d743.

Reason for revert: Traceback (most recent call last):
  File "/home/ksekera/vpp/test/test_ipsec_ah.py", line 36, in
setUpClass
    super(TemplateIpsecAh, cls).setUpClass()
  File "/home/ksekera/vpp/test/template_ipsec.py", line 105, in
setUpClass
    super(TemplateIpsec, cls).setUpClass()
  File "/home/ksekera/vpp/test/framework.py", line 459, in setUpClass
    cls.quit()
  File "/home/ksekera/vpp/test/framework.py", line 475, in quit
    six.input("When done debugging, press ENTER to kill the "
AttributeError: 'module' object has no attribute 'input'

Change-Id: Idf0bbfea231730b37bae5dcb4557a0f82ab1b810
Signed-off-by: Ole Troan <ot@cisco.com>
5 years ago test_fib.py: Remove empty methods 74/16174/2
Paul Vinciguerra [Sun, 25 Nov 2018 20:20:40 +0000 (12:20 -0800)]
 test_fib.py: Remove empty methods

Remove methods that only call super.

py27 runtests: commands[5] | stestr --test-path ./test run --slowest test_fib
==============================================================================
FIB Test Case
==============================================================================
==============================================================================
IPv6 Test Case
==============================================================================
12:19:23,856 Couldn't stat : /tmp/vpp-unittest-TestFIB-BcLbkQ/stats.sock
{1} test.test_fib.TestFIB.test_fib [0.216340s] ... ok
==============================================================================
IPv4 Test Case
==============================================================================
{0} test.test_ip6.TestIPv6.test_fib [5.328127s] ... ok
12:19:33,921 Couldn't stat : /tmp/vpp-unittest-TestIPv4-AoGvoK/stats.sock
{1} test.test_ip4.TestIPv4.test_fib [5.071083s] ... ok

======
Totals
======
Ran: 3 tests in 34.0000 sec.
 - Passed: 3
 - Skipped: 0
 - Expected Fail: 0
 - Unexpected Success: 0
 - Failed: 0
Sum of execute time for each test: 10.6155 sec.

==============
Worker Balance
==============
 - Worker 0 (1 tests) => 0:00:05.328127
 - Worker 1 (2 tests) => 0:00:10.251002
Test id                          Runtime (s)
-------------------------------  -----------
test.test_ip6.TestIPv6.test_fib  5.328
test.test_ip4.TestIPv4.test_fib  5.071
test.test_fib.TestFIB.test_fib   0.216
______________________________________________________ summary ______________________________________________________
  py27: commands succeeded
  congratulations :)
vagrant@vpp:/vpp$

Change-Id: Ia07fe13affe2672ea2df774678312c6db8ea63fb
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoVPP-1508 Add support for environment markers. 42/16142/4
Paul Vinciguerra [Fri, 23 Nov 2018 11:43:52 +0000 (03:43 -0800)]
VPP-1508 Add support for environment markers.

Add the ability to specify a specific python library version
based on the interpreter/platform/etc.

Change-Id: I027acdf22ad839b5cff63b319f0aa100b0f336c8
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoVPP-1508 python3 tests locals() 70/16170/2
Paul Vinciguerra [Sun, 25 Nov 2018 18:46:44 +0000 (10:46 -0800)]
VPP-1508 python3 tests  locals()

Do not use locals() for string formatting.

Change-Id: I2e811f479198159b4005fa69c09ad903944d8ae3
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoFix swapped decorators in VppTestCase. 05/16105/2
Paul Vinciguerra [Wed, 21 Nov 2018 17:28:32 +0000 (09:28 -0800)]
Fix swapped decorators in VppTestCase.

Change-Id: I39b5a8e368f0e0b5c83203141d01f22d909b6f9d
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoVPP-1508 python3 tests: raw_input 71/16171/2
Paul Vinciguerra [Sun, 25 Nov 2018 19:05:13 +0000 (11:05 -0800)]
VPP-1508 python3 tests: raw_input

Raw input does not exist in python3 use six.input.

Change-Id: Ie461696ff869057bcc3969a7571602dde570f5b8
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoVPP-1508 python3 tests: python3 repr. 75/16175/1
Paul Vinciguerra [Sun, 25 Nov 2018 20:47:04 +0000 (12:47 -0800)]
VPP-1508 python3 tests: python3 repr.

Use six.reprlib.  Uses repr for python 2 and reprlib for python 3.

Change-Id: Ia343a492d533bd511ed57166381e10a37e452d36
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agomake test: Fix too wide subprocess exceptions 59/16159/2
Paul Vinciguerra [Sun, 25 Nov 2018 05:19:38 +0000 (21:19 -0800)]
make test: Fix too wide subprocess exceptions

When a command fails, CalledProcessError is raised. testing with except: masks other failures.

Change-Id: I7e3a6739411cb6a4c13e96dd123aff9159213fea
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoUse a dissector table instead of strcmp 57/16157/2
Dave Barach [Sat, 24 Nov 2018 23:29:26 +0000 (18:29 -0500)]
Use a dissector table instead of strcmp

... to map vpp node names to dissector handles.

Wireshark has an easy-to-use string to dissector function handle
hashing scheme, so use it. Thanks to Guy Harris for writing up the
incantation.

Change-Id: I6c1eb609332b0afe87154ba447a98f783e13ca68
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agovlib:init free list buffers vec 65/16165/2
Eyal Bari [Sun, 25 Nov 2018 13:42:47 +0000 (15:42 +0200)]
vlib:init free list buffers vec

fixes a problem seen when dhcp proxy uses vlib_buffer_chain_linearize
function which tries to vlib_buffer_alloc zero buffers - which succeeds
if the buffers vector is initialized but otherwise crashes when trying to
update the _vec_len in vlib_buffer_alloc_from_free_list
solved by initializing the free_list buffers vec

Change-Id: I1186d7aac05e54864d72f3f144e1bef8064f8efa
Signed-off-by: Eyal Bari <ebari@cisco.com>
5 years agoFix typo in test/test_acl_plugin_conns.py 61/16161/2
Paul Vinciguerra [Sun, 25 Nov 2018 05:57:08 +0000 (21:57 -0800)]
Fix typo in test/test_acl_plugin_conns.py

first argument of a classmethod should be named 'cls'

Change-Id: I1462be1edbfd42cbc6ad3f93d73f23b70d95e70c
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoFix Typo: test/test_mtu.py 62/16162/2
Paul Vinciguerra [Sun, 25 Nov 2018 06:02:58 +0000 (22:02 -0800)]
Fix Typo: test/test_mtu.py

first argument of a method should be named 'self'.

Change-Id: Iab84a333baba9b9dfb6ffd6da66df4da331a6b11
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoVPP-1505 VPP-1508 Remove dep.: py_lispnetworking 41/16141/2
Paul Vinciguerra [Fri, 23 Nov 2018 11:20:21 +0000 (03:20 -0800)]
VPP-1505 VPP-1508 Remove dep.: py_lispnetworking

test_lisp.py No longer needs the external dependency to run.

py27 runtests: commands[6] | stestr --test-path ./test run --slowest test_lisp
==============================================================================
Basic LISP test
==============================================================================
{0} test.test_lisp.TestLisp.test_lisp_basic_encap [0.487960s] ... ok

======
Totals
======
Ran: 1 tests in 18.0000 sec.
 - Passed: 1
 - Skipped: 0
 - Expected Fail: 0
 - Unexpected Success: 0
 - Failed: 0
Sum of execute time for each test: 0.4880 sec.

==============
Worker Balance
==============
 - Worker 0 (1 tests) => 0:00:00.487960
Test id                                        Runtime (s)
---------------------------------------------  -----------
test.test_lisp.TestLisp.test_lisp_basic_encap  0.488
______________________________________________________ summary ______________________________________________________
  py27: commands succeeded
  congratulations :)
vagrant@vpp:/vpp$

Change-Id: I35b35f8ddaed79066b3ed62fa0460c9ea83273c2
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agovhost-user: use memory store barrier 48/16148/2
Damjan Marion [Fri, 23 Nov 2018 13:56:55 +0000 (14:56 +0100)]
vhost-user: use memory store barrier

Should be less expensive...

Change-Id: I678a39e42a054bf5f6ef9c59d0fb93ff9719b964
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agomake test: remove test-ext, fix test*-all targets 68/15968/4
Klement Sekera [Thu, 15 Nov 2018 13:27:04 +0000 (14:27 +0100)]
make test: remove test-ext, fix test*-all targets

build extended binaries, vom & friends when test*-all targets are run,
remove unneeded test-ext target (which is semantically same as
test-debug-all)

Change-Id: Id710e061fdc93e286a4ed91be6a0cdcf75a2dafd
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agoFix test framework keepalive 90/16090/3
juraj.linkes [Wed, 21 Nov 2018 12:20:43 +0000 (13:20 +0100)]
Fix test framework keepalive

The pipe used for sending keepalive messages was being added to an
instance of KeepAliveReporter and then used by the class itself. This
worked in the past but doesn't anymore. Fix the issue by adding the pipe
to the class instead of an instance.

Change-Id: If7cdca2de23ca78448e80569b155e9e29e81ff94
Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
5 years agoFix test logging propagation 89/16089/5
juraj.linkes [Wed, 21 Nov 2018 12:13:39 +0000 (13:13 +0100)]
Fix test logging propagation

When running tests with child processes the logs from child processes
would propagate to root logger, potentially resulting in some logs
being emitted twice. Fix this by disabling log propagation to parent
loggers in child processes.

Change-Id: I31eb265c2b7f7bceff627043956a67d6def3da2b
Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
5 years agoVPP-1476: L2fib failures in master 29/16129/3
Pavel Kotucek [Wed, 21 Nov 2018 12:20:41 +0000 (13:20 +0100)]
VPP-1476: L2fib failures in master

Overlaping range of BDs.

Change-Id: I96d2caf98b94206cd6b145961819720727f13c61
Signed-off-by: Pavel Kotucek <pavel.kotucek@pantheon.tech>
5 years agosession: fix coverity app name warning 02/16102/3
Florin Coras [Wed, 21 Nov 2018 16:53:17 +0000 (08:53 -0800)]
session: fix coverity app name warning

Change-Id: I1bbad8716b9be3f2413aaebd400887c1e2aa3c7a
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoacl-plugin: fix coverity error that the fix related for [VPP-1502] has triggered 28/16128/3
Andrew Yourtchenko [Fri, 23 Nov 2018 08:22:10 +0000 (09:22 +0100)]
acl-plugin: fix coverity error that the fix related for [VPP-1502] has triggered

Fix the trivial use-before-check copypaste error.

There was a more subtle issue with that patch that Coverity didn't notice:
namely, vec_validate(v, len-1) is a terrible idea if len happens to be == 0.
Fix that.

Change-Id: I0fab8b1750e9e9973eefb5d39f35e4c3a13fc66f
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agodoc: delete wrong description since VPP support 1G hugepage 26/16126/2
Yulong Pei [Fri, 23 Nov 2018 09:37:52 +0000 (17:37 +0800)]
doc: delete wrong description since VPP support 1G hugepage

Change-Id: Ib673f8059f47d8e2e86ad810a354ddf630f557cf
Signed-off-by: Yulong Pei <yulong.pei@intel.com>
5 years agoFix permission for vpp_papi 33/16133/2
Onong Tayeng [Fri, 23 Nov 2018 10:03:41 +0000 (15:33 +0530)]
Fix permission for vpp_papi

The permission for the top-level vpp_papi dir under
/usr/lib/python2.7/site-packages is set to 644 which means that
non-root users cannot import vpp_papi. As a result, devstack setup
with VPP/networking-vpp fails since it is run as non-root user.

Change-Id: Id85b468b2dcc92efb3a64c51ffb23ef6d596e4ad
Signed-off-by: Onong Tayeng <otayeng@cisco.com>
5 years agovhost-user: add missing inlines 25/16125/2
Damjan Marion [Thu, 22 Nov 2018 21:25:38 +0000 (22:25 +0100)]
vhost-user: add missing inlines

Change-Id: I1ed39c4ee084b26faac8286d9729413311ba9508
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agovhost-user: avoid global storage access 24/16124/2
Damjan Marion [Thu, 22 Nov 2018 21:16:19 +0000 (22:16 +0100)]
vhost-user: avoid global storage access

Change-Id: I9dbeff51d3ede6db3cd5a097623aa580e5e25042
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agovhost-user: simplify input loop 73/16073/3
Damjan Marion [Wed, 21 Nov 2018 09:03:44 +0000 (10:03 +0100)]
vhost-user: simplify input loop

Change-Id: I6e6963882825e83d8da3a460be35c7349e107777
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoNAT44: improve expired sessions reuse (VPP-1503) 11/16111/3
Matus Fabian [Thu, 22 Nov 2018 08:12:15 +0000 (00:12 -0800)]
NAT44: improve expired sessions reuse (VPP-1503)

Change-Id: Iab506f127136c94a641df31ded108016de26260b
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 years agoMAP: Use explicit address/prefix types in API 15/16115/3
Ole Troan [Thu, 22 Nov 2018 11:53:00 +0000 (12:53 +0100)]
MAP: Use explicit address/prefix types in API

Change-Id: Ic751fecc4a060eedcdb9eaf5d02e1416c838fd63
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agoRevert "Add support for MAP-T CE (VPP-1058)" 14/16114/2
Ole Troan [Thu, 22 Nov 2018 11:15:17 +0000 (12:15 +0100)]
Revert "Add support for MAP-T CE (VPP-1058)"

This reverts commit 0ae15ed43aaa600a75ca4c154bc62478820c00b4.

Re-add MAP CE support later. This patch polluted the code
with too many if (ce) ...

Change-Id: Ia0ffd6fdb452aa5d30abec57772c17fc16fb0dbd
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agoacl-plugin: optimize hash memory usage + fix the startup config parsing for memory... 70/16070/3
Andrew Yourtchenko [Wed, 21 Nov 2018 07:56:53 +0000 (08:56 +0100)]
acl-plugin: optimize hash memory usage + fix the startup config parsing for memory sizes [VPP-1502]

In a couple of places vec_add1()-style was repeatedly called in a loop for
smallish vectors where the number of additions was known in advance.
With a test with large number of ACEs these numbers contribute to heap
fragmentation noticeably.

Minimize the number of allocations by preallocating the known size and
then resetting the length accordingly, and then calling vec_add1()

Also unify the parsing of the memory-related startup config parameters.

Change-Id: If8fba344eb1dee8f865ffe7b396ca3b6bd9dc1d0
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agovhost-user: hint ethernet-input about single sw_if_index 72/16072/2
Damjan Marion [Wed, 21 Nov 2018 08:54:41 +0000 (09:54 +0100)]
vhost-user: hint ethernet-input about single sw_if_index

Change-Id: Ia495f8f50c43baf0d6eeb8e9ba04314ce277286f
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agovhost-user: avoid per-packet feature arc lookups 71/16071/2
Damjan Marion [Wed, 21 Nov 2018 08:51:42 +0000 (09:51 +0100)]
vhost-user: avoid per-packet feature arc lookups

Change-Id: If96f5a7c7e4b511cab3d57e5b57796aa516aff11
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agovhost-user: fix input node runtime stats 19/16119/1
Damjan Marion [Thu, 22 Nov 2018 14:45:54 +0000 (15:45 +0100)]
vhost-user: fix input node runtime stats

Change-Id: Idda43d1236889ef91d8c37faf98ae23a19de688c
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoRevert "Fix instance method call in test/framework.py" 13/16113/1
Ole Trøan [Thu, 22 Nov 2018 10:01:09 +0000 (10:01 +0000)]
Revert "Fix instance method call in test/framework.py"

This reverts commit c32023b9fd6970ed1cac1b3c7f36233b536d9968.

Change-Id: Ic934d223b10028093b0262e28515bde3ae1ccb71
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agoFix instance method call in test/framework.py 06/16106/3
Paul Vinciguerra [Wed, 21 Nov 2018 17:54:50 +0000 (09:54 -0800)]
Fix instance method call in test/framework.py

Instance method breaking encapsulation by calling a global fn.

Change-Id: Ifde2a207951143764aed75f1b191aed0bac83704
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agostat_client issues while running parallel tests. 09/16109/2
Paul Vinciguerra [Thu, 22 Nov 2018 00:34:09 +0000 (16:34 -0800)]
stat_client issues while running parallel tests.

This patch addresses intermittent problems we saw in our CI while running parallel tests.

Change-Id: Icb5fdb34cc134e3eb341225d56ab67fbbef80b0d
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoAdd RFC5424 syslog protocol support (VPP-1139) 21/16021/2
Matus Fabian [Mon, 19 Nov 2018 12:25:32 +0000 (04:25 -0800)]
Add RFC5424 syslog protocol support (VPP-1139)

Syslog protocol logging transport event messages across network over UDP
protocol based on RFC5426.

Change-Id: Ica74b40bcc2e6d0fbd41e9bf78e76395fbabab3c
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 years agostats: golang vpp_if_stats_client 01/16101/4
Koren Lev [Wed, 21 Nov 2018 16:46:54 +0000 (18:46 +0200)]
stats: golang vpp_if_stats_client

see README for details

Change-Id: Ida603ccaee21dabc903512699b5b355cebb70320
Signed-off-by: Koren Lev <korenlev@gmail.com>
5 years agoNAT44: Apply transitory timeout on TCP RST (VPP-1494) 94/16094/2
Matus Fabian [Wed, 21 Nov 2018 12:53:10 +0000 (04:53 -0800)]
NAT44: Apply transitory timeout on TCP RST (VPP-1494)

RFC7857 section 2.2.

Change-Id: I031af5fe379b72262e83fd8565c34fa1b772f2c8
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 years agodpdk: don't shift flags twice 88/16088/1
Damjan Marion [Wed, 21 Nov 2018 11:52:12 +0000 (12:52 +0100)]
dpdk: don't shift flags twice

Change-Id: I3555230ef7b7677d6187282fb0c0f02af216e0a0
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoVPP-1309: fixed crash when listing ip arp after removing interface 24/15924/5
Pavel Kotucek [Wed, 14 Nov 2018 08:24:16 +0000 (09:24 +0100)]
VPP-1309: fixed crash when listing ip arp after removing interface

Change-Id: I8f88214eab0535573863f31d2c21e2239a811921
Signed-off-by: Pavel Kotucek <pavel.kotucek@pantheon.tech>
5 years agosession: improve app cli 66/16066/4
Florin Coras [Wed, 21 Nov 2018 00:52:49 +0000 (16:52 -0800)]
session: improve app cli

Change-Id: I766c0b2bfd5f781e4fe5df615a7ecd139b7d2cc4
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agosession: cleanup use of api_client_index 61/16061/5
Florin Coras [Tue, 20 Nov 2018 19:31:26 +0000 (11:31 -0800)]
session: cleanup use of api_client_index

Change-Id: I8a680be62ab91d2ccb144641981a635506973a49
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoethernet-input: fix assert in l2 mode 64/16064/2
Damjan Marion [Tue, 20 Nov 2018 23:47:42 +0000 (00:47 +0100)]
ethernet-input: fix assert in l2 mode

Change-Id: I3befc762694e7c6d6847c361a144f72547038ba1
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoAdd wireshark dissector to extras 65/16065/1
Dave Barach [Wed, 21 Nov 2018 01:15:37 +0000 (20:15 -0500)]
Add wireshark dissector to extras

See extras/wireshark/readme.md for a quick writeup.

Change-Id: Id48d198aa2f1d643d0587947fe9c3fd62b613a9f
Signed-off-by: Dave Barach <dbarach@cisco.com>
5 years agoAdd buffer tracing to the dispatch tracer 60/16060/3
Dave Barach [Tue, 20 Nov 2018 17:08:39 +0000 (12:08 -0500)]
Add buffer tracing to the dispatch tracer

Change-Id: I56f25d653b71a25c70e6c5c1a93dd9c5158f2079
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agomemif input-node improvements 54/16054/3
Damjan Marion [Tue, 20 Nov 2018 13:20:15 +0000 (14:20 +0100)]
memif input-node improvements

Change-Id: Ida2262238c0558d8340f05c678a84e76f990935d
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoethernet-input optimizations 42/15842/16
Damjan Marion [Wed, 14 Nov 2018 15:55:53 +0000 (16:55 +0100)]
ethernet-input optimizations

Change-Id: I4ec7750ef58363bd8966a16a2baeec6db18b7e9e
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agovhost-user: cleanup 62/16062/2
Damjan Marion [Tue, 20 Nov 2018 20:07:03 +0000 (21:07 +0100)]
vhost-user: cleanup

Change-Id: Ibf68423e9514b8e85cdf0a3e57ababd55dd4fcc4
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoIPSEC: remove duplicate memcy 59/16059/2
Neale Ranns [Tue, 20 Nov 2018 17:06:25 +0000 (09:06 -0800)]
IPSEC: remove duplicate memcy

Change-Id: If91257fa23ba74c09e5c3b5528eb2fd4c4b36b6a
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agomake test: Shorten VCL extended test times 15/13215/9
Dave Wallace [Tue, 26 Jun 2018 05:14:04 +0000 (01:14 -0400)]
make test: Shorten VCL extended test times

- And include them in regular CI testing

Change-Id: I519fd07e1482baf6808601b3c928b825f9691c87
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 years agoFix inspection for 18.10, requirements 58/16058/2
jdenisco [Tue, 20 Nov 2018 16:25:17 +0000 (11:25 -0500)]
Fix inspection for 18.10, requirements

Change-Id: I1ecc278f43afff184a26f6f18fe22a49d8916eb1
Signed-off-by: jdenisco <jdenisco@cisco.com>
5 years agoLink speed sent as little endian across API 46/16046/3
Ole Troan [Tue, 20 Nov 2018 10:03:10 +0000 (11:03 +0100)]
Link speed sent as little endian across API

Change-Id: I03c991cbf13c6d3599bfb5a60b18dc8ec9390414
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agoacl-plugin: performance optimizations for established connections 08/14708/12
Andrew Yourtchenko [Thu, 25 Oct 2018 16:49:45 +0000 (18:49 +0200)]
acl-plugin: performance optimizations for established connections

Change-Id: Id5b7429ca7cce10ce8022c9b8a223bd02f6c3b5f
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agoNAT44: fix virtual fragmentation reassembly in forwarding mode (VPP-1501) 48/16048/2
Matus Fabian [Tue, 20 Nov 2018 10:19:05 +0000 (02:19 -0800)]
NAT44: fix virtual fragmentation reassembly in forwarding mode (VPP-1501)

Change-Id: Id86d8aa8753b9b2ff4c709b11e3901ba8d552918
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 years agovlib: reset frame flags when frame is reused 42/16042/2
Damjan Marion [Tue, 20 Nov 2018 08:55:10 +0000 (09:55 +0100)]
vlib: reset frame flags when frame is reused

Change-Id: I8f4843e7a961a1e6c3fd057554b31ae49fc9b328
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agovom: Add support for redirect contracts in gbp 13/16013/5
Mohsin Kazmi [Sun, 18 Nov 2018 23:12:11 +0000 (00:12 +0100)]
vom: Add support for redirect contracts in gbp

Change-Id: I18543785166811ddbd628d19065d3dfad3f948e9
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agovlib: add vlib_buffer_enqueue_to_single_next(...) function 43/16043/2
Damjan Marion [Tue, 20 Nov 2018 08:56:01 +0000 (09:56 +0100)]
vlib: add vlib_buffer_enqueue_to_single_next(...) function

Change-Id: I485dd07ea0fe032bdd5990567578e73e9bcffe1e
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agovppinfra: add 128 and 256 bit vector scatter/gather inlines 44/16044/3
Damjan Marion [Tue, 20 Nov 2018 09:06:57 +0000 (10:06 +0100)]
vppinfra: add 128 and 256 bit vector scatter/gather inlines

Change-Id: If6c65f16c6fba8beb90e189c1443c3d7d67ee02c
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agodhcp4:(VPP-1483) linearize chained packets before handling 59/15759/6
Eyal Bari [Mon, 5 Nov 2018 11:29:25 +0000 (13:29 +0200)]
dhcp4:(VPP-1483) linearize chained packets before handling

dhcp packets might (when flooded) arrive in chains of cloned buffers

Change-Id: Ifddecd656b6a5d6ba8cd94184f5c021684e35548
Signed-off-by: Eyal Bari <ebari@cisco.com>
5 years agoVPP-1498: test/framework.py: AttributeError 10/16010/2
Paul Vinciguerra [Sun, 18 Nov 2018 16:17:34 +0000 (08:17 -0800)]
VPP-1498: test/framework.py: AttributeError

Traceback if .send_keep_alive is called before pipe is configured.

Traceback (most recent call last):
      File "/vpp/test/test_span.py", line 27, in setUpClass
        super(TestSpan, cls).setUpClass()
      File "/vpp/test/framework.py", line 411, in setUpClass
        cls.reporter.send_keep_alive(cls, 'setUpClass')
      File "/vpp/test/framework.py", line 172, in send_keep_alive
        if self.pipe is None:
      File "/vpp/test/framework.py", line 160, in pipe
        return self._pipe
    AttributeError: 'KeepAliveReporter' object has no attribute '_pipe'

Change-Id: I561d2748441702478a84fbb4580a4d2667d70ffd
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoImprove feature arc order constraint specification 34/16034/2
Dave Barach [Mon, 19 Nov 2018 14:31:48 +0000 (09:31 -0500)]
Improve feature arc order constraint specification

Add the VNET_FEATURE_ARC_ORDER macro, which allows specification of
bulk order constraints. Here's an example:

VNET_FEATURE_ARC_ORDER(ip4_unicast_arc_order, static) = {
  .arc_name = "ip4-unicast",
  .node_names = VNET_FEATURES ("ip4-flow-classify",
                               "ip4-inacl",
                               "ip4-source-check-via-rx",
                               "ip4-source-check-via-any",
                               "ip4-source-and-port-range-check-rx",
                               "ip4-policer-classify",
                               "ipsec4-input",
                               "vpath-input-ip4",
                               "ip4-vxlan-bypass",
                               "ip4-not-enabled",
                               "ip4-lookup"),
};

Simply list feature nodes in the desired order, and you're
done. Multiple macro instances per are are fine / expected /
tested.

Under the covers: generate "a before b" tuples by chain-dragging
across the ordered list. No need to touch existing per-feature
constraints.

Fixed a long-broken "you lose!" error message.

Change-Id: I259282e426fd305e22c8d65886787c41a1d348d3
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agoNAT44: fix bug in TCP close with output-feature interface (VPP-1493) 98/15998/2
Matus Fabian [Fri, 16 Nov 2018 12:41:31 +0000 (04:41 -0800)]
NAT44: fix bug in TCP close with output-feature interface (VPP-1493)

Change-Id: If8c883d6b1ee58de9a03012d3567ec82211a0225
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 years agoadd vlib_prefetch_buffer_data(...) macro 12/16012/1
Damjan Marion [Sun, 18 Nov 2018 22:48:43 +0000 (23:48 +0100)]
add vlib_prefetch_buffer_data(...) macro

Change-Id: Iba750a41262cc028ad0363fff78cc219e4a33538
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoEnable l4 checksum offload for ThunderX PMD 66/15966/3
Federico Claramonte [Thu, 15 Nov 2018 12:19:29 +0000 (13:19 +0100)]
Enable l4 checksum offload for ThunderX PMD

Change-Id: I6a6ab6d8d9aeca9df3ba8a3ac519be25aaa796e8
Signed-off-by: Federico Claramonte <fede.claramonte@caviumnetworks.com>
5 years agovcl/session: apps with process workers 17/15917/17
Florin Coras [Tue, 13 Nov 2018 23:52:38 +0000 (15:52 -0800)]
vcl/session: apps with process workers

Allow apps to register child processes as app workers. In particular,
on fork vcl now registers the child process with vpp as a new worker.

Change-Id: I52a65fbc3292962b1f6e1fe0f6153f739e6e0d4a
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoComplain if a client binary API queue is full 11/16011/2
Dave Barach [Sun, 18 Nov 2018 17:03:48 +0000 (12:03 -0500)]
Complain if a client binary API queue is full

Definitely indicates a client binary API queue handling issue. We
can't simply turf the message, or we'll end up with a more subtle
derivative misbehavior.

Change-Id: I6363fda1430b0a9ec33ad69badc1e0072fe20fa8
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agomac_address_t: size to 6 bytes so it represents wire format 00/16000/3
Neale Ranns [Fri, 16 Nov 2018 13:20:36 +0000 (05:20 -0800)]
mac_address_t: size to 6 bytes so it represents wire format

Change-Id: I4d6b505a2b1e0cb960a4145796351ad1bc7e860d
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agopcap-based dispatch tracer 05/16005/2
Dave Barach [Fri, 16 Nov 2018 22:19:00 +0000 (17:19 -0500)]
pcap-based dispatch tracer

To facilitate dispatch trajectory tracing, vlib_buffer_t decoding, etc.
through Wireshark

Change-Id: I31356b9fa1f40cba8830aaf10a86a9fbb7546438
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agoldp: fixes/improvements to select 07/16007/2
Florin Coras [Sat, 17 Nov 2018 02:56:28 +0000 (18:56 -0800)]
ldp: fixes/improvements to select

Change-Id: I3f3e8fce01309da02689c7e9d23cf1b3181e78c9
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoIP-punt: add documentation to the API and fix IP address init 91/15991/2
Neale Ranns [Fri, 16 Nov 2018 08:53:53 +0000 (00:53 -0800)]
IP-punt: add documentation to the API and fix IP address init

Change-Id: I0bdff4dbfd81d67e82211ce9fdc97209a1b23c66
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoVPP-1496 Cleanup stats socket on exit. 71/15971/3
Paul Vinciguerra [Thu, 15 Nov 2018 15:14:27 +0000 (07:14 -0800)]
VPP-1496 Cleanup stats socket on exit.

Stats socket not cleaned up on exit.

vagrant@vpp:/tmp/vpp-failed-unittests/vpp-unittest-VCLCutThruTestCase-clRggF-FAILED$ ls -ltr

total 104

srwxrwxr-x 1 vagrant vagrant     0 Nov 14 18:21 stats.sock

Change-Id: I8126e70da2983222ca430aa280f3b9e45eea7ca4
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoVPP-1495: Fix intermittent stat sock test failures. 73/15973/4
Paul Vinciguerra [Thu, 15 Nov 2018 16:13:03 +0000 (08:13 -0800)]
VPP-1495: Fix intermittent stat sock test failures.

Loosen polling loop while waiting for stats socket.

==============================================================================
Classifier IP6 UDP proto Test Case
==============================================================================
connect: No such file or directory
==============================================================================
ERROR: setUpClass (test_ip4.TestIPLoadBalance)
------------------------------------------------------------------------------
Traceback (most recent call last):
  File "/vpp/test/framework.py", line 424, in setUpClass
    cls.statistics = VPPStats(socketname=cls.stats_sock)
  File "build/bdist.linux-x86_64/egg/vpp_papi/vpp_stats.py", line 120, in _init_
    raise IOError()
IOError

Change-Id: I80523122f96eafc41b3ebbf27bee73f6c637d781
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoQoS: fix always recoding as IP 53/15953/2
Neale Ranns [Thu, 15 Nov 2018 07:46:12 +0000 (07:46 +0000)]
QoS: fix always recoding as IP

Change-Id: I7a54cdfa26652c04971999ad1f8144566e13c7bf
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoGBP: redirect contracts 07/15807/9
Neale Ranns [Wed, 7 Nov 2018 17:25:54 +0000 (09:25 -0800)]
GBP: redirect contracts

Change-Id: I463b153de93cfec29a9c15e8e84e41f6003d4c5f
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoVPP-1474: fix 2x coverity warnings 46/15946/2
Dave Barach [Wed, 14 Nov 2018 16:42:03 +0000 (11:42 -0500)]
VPP-1474: fix 2x coverity warnings

Change-Id: I441beaf3d7f57886580d7cce35ef592aa0fcca5f
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agoacl-plugin: fix coverity error 188909 in unit-test code 38/15938/2
Andrew Yourtchenko [Wed, 14 Nov 2018 15:39:39 +0000 (16:39 +0100)]
acl-plugin: fix coverity error 188909 in unit-test code

The assignment was redundant with a one just a dozen lines above
in the case of the ACL loaded being non-empty, so its only
apparent purpose in life was make coverity unhappy...
Thus fix by deletion.

Change-Id: I573308cb9c212bdfdca2551aa381720dbbcb006e
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agoip4-input: fix prefetch data issue for tunnel decap cases 57/15757/4
Zhiyong Yang [Wed, 7 Nov 2018 05:04:28 +0000 (00:04 -0500)]
ip4-input: fix prefetch data issue for tunnel decap cases

There are two reasons to modify the existing code ip4_input_inline.

1. For many tunnel decap cases, inner ip header or its part is possible
in the second cacheline, not first cacheline only after the field "data",
and this will cause data cache miss once the second cacheline is needed
to access. e.g vxlan-gpe.
2. For most of cases, "data" is the starting address of ethernet
header, not IP header. The existing code causes misunderstanding
from code readability perspective.

Change-Id: I43e119b899dbde95803bccbac54259729fd2cddf
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Signed-off-by: Yuwei Zhang <yuwei1.zhang@intel.com>
5 years agoipsec: infra for selecting backends 23/15823/10
Klement Sekera [Thu, 8 Nov 2018 12:00:02 +0000 (13:00 +0100)]
ipsec: infra for selecting backends

Change-Id: Ifa6d8391b1b2413a88b7720fc434e0bc849a149a
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agosession: fix endpt cfg test (VPP-1492) 47/15947/5
Florin Coras [Wed, 14 Nov 2018 17:32:07 +0000 (09:32 -0800)]
session: fix endpt cfg test (VPP-1492)

Change-Id: I0f2266c4727a96b6410a3084dc079bae7bc649ab
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoVXLAN-GBP: c-n-p error in the dual-loop tracing 40/15940/2
Neale Ranns [Wed, 14 Nov 2018 16:18:12 +0000 (08:18 -0800)]
VXLAN-GBP: c-n-p error in the dual-loop tracing

Change-Id: I3722a1850f7a72e4382e351120c1514d7a1759b8
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoVPP-1477: Replace DatatypeConverter.printHexBinary with bytesToHex 33/15933/4
Michal Cmarada [Wed, 14 Nov 2018 13:05:42 +0000 (14:05 +0100)]
VPP-1477: Replace DatatypeConverter.printHexBinary with bytesToHex

As of Java 11 javax.xml.bind.DatatypeConverter is no longer part of
standard Java distribution, therefore it is replaced by equivalent method.

Change-Id: I51726d0d0d02782bd3bb1dbdc54df5bd63bd8f15
Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
5 years agoRemove c-11 memcpy checks from perf-critical code 16/15916/4
Dave Barach [Tue, 13 Nov 2018 21:34:13 +0000 (16:34 -0500)]
Remove c-11 memcpy checks from perf-critical code

Change-Id: Id4f37f5d4a03160572954a416efa1ef9b3d79ad1
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agovcl/ldp: fix poll 18/15918/4
Florin Coras [Wed, 14 Nov 2018 06:44:54 +0000 (22:44 -0800)]
vcl/ldp: fix poll

Change-Id: I8eb5546ff8634d5498d8ce5bbc9407bceb9ae3ef
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agodocs and Config utility, package cloud support 11/15911/2
jdenisco [Tue, 13 Nov 2018 17:40:12 +0000 (12:40 -0500)]
docs and Config utility, package cloud support

Change-Id: I61303242b73e509df42dedba54f2ee5906a7e526
Signed-off-by: jdenisco <jdenisco@cisco.com>
5 years agotcp: cubic improvements 95/15895/3
Florin Coras [Tue, 13 Nov 2018 08:03:43 +0000 (00:03 -0800)]
tcp: cubic improvements

- avoid cwnd excessive increments on threshold changes
- fix K computation when fastconvergence is on

Change-Id: I99c36abc879e63aecc0617f7aed5a2f68430ba71
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agotcp: cubic fast convergence 92/15892/7
Florin Coras [Mon, 12 Nov 2018 17:13:10 +0000 (09:13 -0800)]
tcp: cubic fast convergence

Change-Id: I3a15960fe346763faf13e8728ce36c2f3bf7b05a
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agovlib:remove unused argument 56/15856/2
Eyal Bari [Mon, 12 Nov 2018 14:13:49 +0000 (16:13 +0200)]
vlib:remove unused argument

Change-Id: I88c3d3e516401bb1c84991515cd701c156ae19dd
Signed-off-by: Eyal Bari <ebari@cisco.com>
5 years agoipsec: fix typo 01/15901/4
Klement Sekera [Mon, 12 Nov 2018 13:42:00 +0000 (14:42 +0100)]
ipsec: fix typo

Change-Id: I04c59bbe1780e7289cb27a0a912803812fdc297e
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agojapi: Move Java API binding to cmake 47/15047/9
Mohsin Kazmi [Thu, 13 Sep 2018 07:59:50 +0000 (09:59 +0200)]
japi: Move Java API binding to cmake

Change-Id: I264d547a06e3636d021a74cd26efb8137f629cbc
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
5 years agoIGMP: improve CLI debug output 08/15908/2
Neale Ranns [Tue, 13 Nov 2018 13:27:18 +0000 (13:27 +0000)]
IGMP: improve CLI debug output

Change-Id: If88fc3acdba1f73b3e8be94d8014556c5239596c
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoL2 feautre bitmaps output verbose/non-verbose mode 51/15851/2
Neale Ranns [Fri, 9 Nov 2018 16:19:27 +0000 (08:19 -0800)]
L2 feautre bitmaps output verbose/non-verbose mode

Change-Id: I15ff191ee8724a3354c074db590472db05e0652e
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agovlib rename vlib_frame_args(...) to vlib_frame_scalar_args(..) 97/15897/2
Damjan Marion [Sat, 10 Nov 2018 09:23:00 +0000 (10:23 +0100)]
vlib rename vlib_frame_args(...) to vlib_frame_scalar_args(..)

Typically we have scalar_size == 0, so it doesn't matter
but vlib_frame_args was providing pointer to scalar frame
data, not vector data. To avoid future confusion function
is renamed to vlib_frame_scalar_args(...)

Change-Id: I48b75523b46d487feea24f3f3cb10c528dde516f
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agotcp: handle disconnects after enq notifications 45/15845/4
Florin Coras [Fri, 9 Nov 2018 22:34:08 +0000 (14:34 -0800)]
tcp: handle disconnects after enq notifications

Make sure that we notify the app of the data enqueued in the burst
before notifying of disconnect.

Change-Id: I7747a5cbb4c6bc9132007f849c24ce04b7841273
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agodocs: add 1810, including package cloud 43/15843/2
jdenisco [Fri, 9 Nov 2018 20:20:26 +0000 (15:20 -0500)]
docs: add 1810, including package cloud

Change-Id: Ieae5fc7c1e099392bc2a4e5948669d9210f2ebac
Signed-off-by: jdenisco <jdenisco@cisco.com>
5 years agoIPv6: Make link-local configurable per-interface (VPP-1446) 03/15503/4
Juraj Sloboda [Mon, 22 Oct 2018 07:57:13 +0000 (09:57 +0200)]
IPv6: Make link-local configurable per-interface (VPP-1446)

Remove old nonfunctional code for setting link-local addresses.
Use common API for setting all IPv6 addresses.

Change-Id: I562329df86341f81ef2441510a9eefbbf710f6e0
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 years agoproxy-app: fix active connect 44/15844/3
Florin Coras [Fri, 9 Nov 2018 21:40:02 +0000 (13:40 -0800)]
proxy-app: fix active connect

Change-Id: Ib55684dd3f1d39f5436d6feb2fb105583027493c
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agopmalloc: u32 pp->index leads to va address overrun 47/15847/1
Kingwel Xie [Sat, 10 Nov 2018 07:56:00 +0000 (02:56 -0500)]
pmalloc: u32 pp->index leads to va address overrun

when pagesize is 1G, this pm->base + (pp->index << pm->def_log2_page_sz) would very soon overrun if creating multiple mempools
add a (uword) to it

Change-Id: If769b99d344cc3f547418a242a7497d044071615
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>