vpp.git
5 years agovcl/test: increase wait time before connect 88/16288/2
Florin Coras [Fri, 30 Nov 2018 02:22:10 +0000 (18:22 -0800)]
vcl/test: increase wait time before connect

Also split tests into smaller groups

Change-Id: I35809607b7a59029606bb34b90cfeffd1985fe60
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agovcl: wait for segments with segment handle 86/16286/4
Florin Coras [Fri, 30 Nov 2018 01:02:29 +0000 (17:02 -0800)]
vcl: wait for segments with segment handle

Instead of waiting for notification from binary api.

Change-Id: I5ecab857d6bcdbed62d6bb06709570c4cf6b19ea
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoAPI: Add dependency on compiler for API .json and .api generation. 83/16283/2
Ole Troan [Thu, 29 Nov 2018 19:14:33 +0000 (20:14 +0100)]
API: Add dependency on compiler for API .json and .api generation.

Add dependency on the API compiler, so that builds can deal with changes to the tool.

Change-Id: I2587235fefa93a69955495870d49f36b4203bfea
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agoTests: Fix traceback. 63/16163/4
Paul Vinciguerra [Sun, 25 Nov 2018 06:19:12 +0000 (22:19 -0800)]
Tests: Fix traceback.

        self.assertTrue(packet.haslayer(msg_type))
      File "/usr/lib/python2.7/unittest/case.py", line 422, in assertTrue
        raise self.failureException(msg)
    AssertionError: 0 is not true

* Scapy packet.haslayer() returns 1 or 0.
  Replace with assertEqual(packet.haslayer(), 1) to fix tracebacks.

* Scapy has multiple layers called TCP/UDP
  Specify the module name to prevent namespace collisions.

* Remove duplicate import.

Change-Id: I600f9f330075cd40e1da50f8b2ceb24f645f2c20
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agosession: segment handle in accept/connect notifications 84/16284/7
Florin Coras [Thu, 29 Nov 2018 20:40:10 +0000 (12:40 -0800)]
session: segment handle in accept/connect notifications

Change-Id: I03884b6cde9d4c38ae13d1994fd8d37d44016ef0
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agosession: use endpt fib index if app in default ns 99/16199/5
John Lo [Tue, 27 Nov 2018 03:13:57 +0000 (22:13 -0500)]
session: use endpt fib index if app in default ns

Change-Id: Icf1408c50a6438c81e16033e83b2a76ce6eb0166
Signed-off-by: John Lo <loj@cisco.com>
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoGRE: UT uses new pkt send functions 78/16278/2
Neale Ranns [Thu, 29 Nov 2018 08:48:37 +0000 (08:48 +0000)]
GRE: UT uses new pkt send functions

Change-Id: Icb1767b31421aa1e427498adc82d79307835ee1a
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agomake test: verify packet counters in ipsec tests 02/15902/9
Klement Sekera [Tue, 13 Nov 2018 10:12:57 +0000 (11:12 +0100)]
make test: verify packet counters in ipsec tests

Change-Id: Ia15b40f9d91daf3a325cb8d707b22a1dbc68d9cc
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agodo not opttimize graph node functions in debug builds 80/16280/2
Damjan Marion [Thu, 29 Nov 2018 13:40:30 +0000 (14:40 +0100)]
do not opttimize graph node functions in debug builds

Change-Id: I5b4cd419d317381a06e7e6d703373959f4bbd97b
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoDHCP: Initialise trace for copied buffers. 76/16276/4
Ole Troan [Thu, 29 Nov 2018 11:39:41 +0000 (12:39 +0100)]
DHCP: Initialise trace for copied buffers.

DHCP tests failed intermittantly with a core dump.
Let's see if this fixes it.

Change-Id: I42829a2c7e7f5a9a6775330d37bf972ff0008210
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agovpp_papi: Add custom exceptions. 29/16229/3
Paul Vinciguerra [Tue, 27 Nov 2018 16:15:22 +0000 (08:15 -0800)]
vpp_papi:  Add custom exceptions.

This patchset adds and raises the following custom exception classes:

* class VPPApiError(Exception):
* class VPPNotImplementedError(NotImplementedError):
* class VPPIOError(IOError):
* class VPPRuntimeError(RuntimeError):
* class VPPValueError(ValueError):

* class VPPSerializerValueError(ValueError):

* class VPPStatsIOError(IOError):
* class VPPStatsClientLoadError(RuntimeError):

* class VppTransportShmemIOError(IOError):

* class VppTransportSocketIOError(IOError)

Change-Id: Ia40900fd2dcef148d01125d6c691329fc666901e
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agovpp_papi: Fix: raise NotImplemented. 07/16207/4
Paul Vinciguerra [Tue, 27 Nov 2018 09:41:35 +0000 (01:41 -0800)]
vpp_papi: Fix: raise NotImplemented.

'raise NotImplemented' should be 'raise NotImplementedError'.
NotImplemented is not part of the Exception heirarchy.

Change-Id: I7fb647f1d56e689fafa2cd9a5566da826def072b
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoTrivial: test_container.py 24/16224/3
Paul Vinciguerra [Tue, 27 Nov 2018 13:53:35 +0000 (05:53 -0800)]
Trivial: test_container.py

First argument of a classmethod should be named 'cls'.

Change-Id: Iff4b8d856e57c13a3404dbf6780c1d4add45b36a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoTrivial: test/test_ipip.py 25/16225/3
Paul Vinciguerra [Tue, 27 Nov 2018 14:01:22 +0000 (06:01 -0800)]
Trivial: test/test_ipip.py

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

Change-Id: I7260916ce9d96108202b650dbf7ac8ce4b3aafdc
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoVOM: missing GBP symbol 81/16281/1
Neale Ranns [Thu, 29 Nov 2018 14:39:08 +0000 (06:39 -0800)]
VOM: missing GBP symbol

Change-Id: I6cbed0bce7c78970d5a22ac823d0380d14b73dbc
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoapi: ip_source_check_interface_add_del api is added. 41/16241/7
Chore [Wed, 28 Nov 2018 07:23:11 +0000 (10:53 +0330)]
api: ip_source_check_interface_add_del api is added.

Change-Id: I4799a9d469c797e54669ff4b50851a9acc849427
Signed-off-by: Chore <s3m2e1.6star@gmail.com>
5 years agoVOM: deprecate TAP add ip-punt redirect dump 74/16274/3
Neale Ranns [Wed, 28 Nov 2018 17:51:40 +0000 (09:51 -0800)]
VOM: deprecate TAP add ip-punt redirect dump

Change-Id: I675e04d9f8bb2a18293cf6dd01581a9dc62882fe
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoGBP: l3-out subnets 15/16215/7
Neale Ranns [Wed, 21 Nov 2018 13:44:35 +0000 (05:44 -0800)]
GBP: l3-out subnets

Change-Id: Id4a20066fc5be716c61a497dfcb4d00dc1dbb28d
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agogbp: Add support for flow hash profile 79/16079/7
Mohsin Kazmi [Wed, 21 Nov 2018 09:46:57 +0000 (10:46 +0100)]
gbp: Add support for flow hash profile

Change-Id: Ibea87f21b3403045cc0d865903b94396fe670e79
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agoNAT: syslog - sessions logging (VPP-1139) 68/16268/2
Matus Fabian [Thu, 29 Nov 2018 05:26:34 +0000 (21:26 -0800)]
NAT: syslog - sessions logging (VPP-1139)

Change-Id: I6e0b7cf37c1a9ac66f8ac011db29504e57844ee9
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 years agotest: use smaller timeouts for vcl/ldp tests 73/16273/3
Florin Coras [Thu, 29 Nov 2018 08:39:53 +0000 (00:39 -0800)]
test: use smaller timeouts for vcl/ldp tests

Change-Id: Idebd110cbf5f0ddc5d9da5a1975b5d278825d131
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agovcl: basic support for apps that fork 98/16198/18
Florin Coras [Tue, 27 Nov 2018 01:01:36 +0000 (17:01 -0800)]
vcl: basic support for apps that fork

- intercept fork and register a new worker with vpp
- share sessions between parent and forked child
- keep binary api state per worker

Change-Id: Ib177517d661724fa042bd2d98d18e777056352a2
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoGRE: fix VRF unit-tests 72/16272/2
Neale Ranns [Thu, 29 Nov 2018 08:24:38 +0000 (08:24 +0000)]
GRE: fix VRF unit-tests

Change-Id: Ic6d011065bf062a84fdccdb1726ed3e5ed99cfbc
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoVPP-1507: Added binary api to dump configured ip_punt_redirect 09/16209/5
Pavel Kotucek [Tue, 27 Nov 2018 08:59:44 +0000 (09:59 +0100)]
VPP-1507: Added binary api to dump configured ip_punt_redirect

Change-Id: I790f7785e183cc9aaffd5b593617c4e12a32e20d
Signed-off-by: Pavel Kotucek <pavel.kotucek@pantheon.tech>
5 years agoldp: basic multiworker support 69/16269/2
Florin Coras [Thu, 29 Nov 2018 06:13:45 +0000 (22:13 -0800)]
ldp: basic multiworker support

Change-Id: Ia794fa7e15dac02c8607c4cee2f119ad9815c0a8
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agovppinfra: add pool_dup macro 31/16231/4
Florin Coras [Wed, 28 Nov 2018 01:11:37 +0000 (17:11 -0800)]
vppinfra: add pool_dup macro

Change-Id: I192e340bd072d27bf6ddc382347ad5c3ca411bad
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoExport ethernet/mac_address.h as part of API installation. 61/16261/2
Jon Loeliger [Wed, 28 Nov 2018 19:51:42 +0000 (13:51 -0600)]
Export ethernet/mac_address.h as part of API installation.

Change-Id: Ibb6d648948f990280e3cb048ce907f01e5c32b12
Signed-off-by: Jon Loeliger <jdl@netgate.com>
5 years agomake test: create virtualenv under /test/ 99/15999/5
Klement Sekera [Thu, 8 Nov 2018 10:21:39 +0000 (11:21 +0100)]
make test: create virtualenv under /test/

instead of using build-root, use /test/venv directory for virtualenv
similarly, don't pollute build-root with test-built binaries

Change-Id: I1e63c04037eaee718b27b34ef16c9eb0252afa53
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agodpdk-ipsec-nodes multiarch: nodes are formatted in VLIB_NODE_FN style 35/16235/4
Kingwel Xie [Wed, 28 Nov 2018 07:10:35 +0000 (02:10 -0500)]
dpdk-ipsec-nodes multiarch: nodes are formatted in VLIB_NODE_FN style

crypto-input,esp encrypt/decrypt are indicated in CMakefiles

Change-Id: I18ba851c1d4e5633d07c5de61cdaeae938e94982
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
5 years agodpdk: bump to DPDK 18.11 14/16214/5
Damjan Marion [Tue, 27 Nov 2018 11:18:26 +0000 (12:18 +0100)]
dpdk: bump to DPDK 18.11

Change-Id: Ib6458e56f546bb5b11c23aa5e1afe0f4b5011c08
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoMAP: Use bool type in map.api instead of u8. 49/16249/2
Ole Troan [Wed, 28 Nov 2018 10:34:38 +0000 (11:34 +0100)]
MAP: Use bool type in map.api instead of u8.

Change-Id: I4e40bb6d6bf274a27892053f37aeeb81a7278965
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agovppapigen: Fix python3 compatibility 68/15468/8
Ole Troan [Tue, 23 Oct 2018 08:50:07 +0000 (10:50 +0200)]
vppapigen: Fix python3 compatibility

Change-Id: I9124fcb755ba43fd8f44712f0940f351c460c5b0
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agoAPI: Add support for type aliases 06/15906/9
Ole Troan [Tue, 13 Nov 2018 11:36:56 +0000 (12:36 +0100)]
API: Add support for type aliases

Previously all types are compound. This adds support for aliases,
so one can do things like:

typedef u32 interface_index;

or
typedef u8 ip4_address[4];

Change-Id: I0455cad0123fc88acb491d2a3ea2725426bdb246
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agoipsec: move ipsec defs to ipsec.h 00/15900/7
Klement Sekera [Mon, 12 Nov 2018 13:32:19 +0000 (14:32 +0100)]
ipsec: move ipsec defs to ipsec.h

Change-Id: Ia3dcd98edb6188deb96a3a99d831e71b2ffa0060
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agoVPP-1508: vpp_transport_socket.py fix import 63/16263/2
Paul Vinciguerra [Thu, 29 Nov 2018 00:17:56 +0000 (16:17 -0800)]
VPP-1508: vpp_transport_socket.py fix import

Import queue in an py2-py3 compatable way.

Change-Id: I83f166a959c4ee55438e3997edbcb596dc72059f
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoUse acquire/release ordering when accessing svm_fifo shared variable cursize 84/16184/6
Sirshak Das [Thu, 8 Nov 2018 00:46:42 +0000 (18:46 -0600)]
Use acquire/release ordering when accessing svm_fifo shared variable cursize

Improves TCP iperf3 performance by ~3% on AArch64.

Change-Id: I1e51bd8403ba45ec6af4c2f96b95e884c1ae0d67
Signed-off-by: Sirshak Das <sirshak.das@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Ola Liljedahl <ola.liljedahl@arm.com>
5 years agovpp_papi: Reserved keywords. 06/16206/3
Paul Vinciguerra [Tue, 27 Nov 2018 09:32:42 +0000 (01:32 -0800)]
vpp_papi: Reserved keywords.

'async' and 'await' are reserved keywords starting with Python 3.7.

This change is necessary to support VPP-1508.

Change-Id: Iba2b3aef98a0ecaabc1622719b364f8f4ab5d5a3
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agopmalloc: fix shared hugepage backed mmap on older kernels 16/16216/4
Damjan Marion [Tue, 27 Nov 2018 12:02:13 +0000 (13:02 +0100)]
pmalloc: fix shared hugepage backed mmap on older kernels

Usual suspect, CentOS 7. Kernel doens't like MAP_HUGETLB to be
set together with MAP_SHARED even if we are mapping hugetlb backed file.

Change-Id: I6bb0fe14e9e42286963bb648840279942b2e8307
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agodpdk: allow interface name to be specified from startup.conf 19/16219/4
Damjan Marion [Tue, 27 Nov 2018 12:41:02 +0000 (13:41 +0100)]
dpdk: allow interface name to be specified from startup.conf

Example:

dpdk {
    dev 0000:01:00.0 { name eth0 }
    dev 0000:02:00.0 { name eth1 }
}

Change-Id: I11e60e969a7e3548c99ac0c0c3531767819cb157
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agocmake: display warning and continue if dpdk not present 46/16246/1
Damjan Marion [Wed, 28 Nov 2018 09:46:03 +0000 (10:46 +0100)]
cmake: display warning and continue if dpdk not present

Change-Id: I5cb2619444507a159c42ac8401800e90b6541a20
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoRemove useless prefetch in ip4-rewrite node 77/16177/3
Simon Zhang [Mon, 26 Nov 2018 09:15:24 +0000 (17:15 +0800)]
Remove useless prefetch in ip4-rewrite node

Prefetching first 2 packets' header is useless cause of the prefetching
action is not done before using the packets.

There's no performance drop in Xeon platform and slightly performance
gain in Atom platform after rmoving the prefetch.

Change-Id: Ib4b074af20d7cd5053aecc7147b162141aec31f5
Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
5 years agovpp_papi: Use new style classes. 05/16205/2
Paul Vinciguerra [Mon, 26 Nov 2018 20:04:48 +0000 (12:04 -0800)]
vpp_papi: Use new style classes.

Python2 defaults to old style classes to maintain compatability with python 2.1.
Moving to new style classes will ensure consistent behavior across interpreters.

Change-Id: I89493d608d1edb63989000c17a9566a97785a4aa
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agotest/remote_test.py: Fix missing import 20/16220/2
Paul Vinciguerra [Tue, 27 Nov 2018 12:42:05 +0000 (04:42 -0800)]
test/remote_test.py: Fix missing import

Change-Id: I192c33d36f43ae2df0dda509e118f2b920d561ac
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoldp: sid to fd mapper for apps with multiple workers 02/16202/2
Florin Coras [Tue, 27 Nov 2018 08:04:59 +0000 (00:04 -0800)]
ldp: sid to fd mapper for apps with multiple workers

Change-Id: I79585cd6b467b007c3eb9a7668387ff3777de46d
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agopmalloc: correct format_pmalloc_map u32 index overrun bug 50/15850/4
Kingwel Xie [Mon, 12 Nov 2018 03:55:58 +0000 (22:55 -0500)]
pmalloc: correct format_pmalloc_map u32 index overrun bug

Change-Id: I95ba4eab6e2154ef33a479450b997c8317db3a92
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
5 years agodocs: Add more on trex 96/16196/2
jdenisco [Mon, 26 Nov 2018 20:15:09 +0000 (15:15 -0500)]
docs: Add more on trex

Change-Id: Ifb5eabe30e1b0ba911ddf455573cc346ff4bec85
Signed-off-by: jdenisco <jdenisco@cisco.com>
5 years agocmake: Add protocol.h to lacp plugin .h includes 03/16203/2
Alexander Chernavin [Tue, 27 Nov 2018 08:16:43 +0000 (03:16 -0500)]
cmake: Add protocol.h to lacp plugin .h includes

Change-Id: I42e715345b6bc9b469d8b74ce216fc98b7824cf8
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
5 years agoVPP-1508 python3 tests: use six.iteritems 67/16167/3
Paul Vinciguerra [Sun, 25 Nov 2018 16:36:47 +0000 (08:36 -0800)]
VPP-1508 python3 tests: use six.iteritems

This replaces dictionary.iteritems() on Python 2 and dictionary.items() on Python 3.

Change-Id: I58a3ded7d284c59e28d484b0c285aac435bfc229
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoVPP-1508 python3 tests: .encode('hex') 69/16169/3
Paul Vinciguerra [Sun, 25 Nov 2018 18:35:29 +0000 (10:35 -0800)]
VPP-1508 python3 tests: .encode('hex')

Change to binascii.hexlify() for consistent bahavior.

Change-Id: Ie430cdd1ffeb6510db4aa037546e42d85992093b
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoVPP-1508 Fix for bug introduced in tests on use of repr. 95/16195/3
Paul Vinciguerra [Mon, 26 Nov 2018 17:57:21 +0000 (09:57 -0800)]
VPP-1508 Fix for bug introduced in tests on use of repr.

This fixes the change from https://gerrit.fd.io/r/#/c/16175/

...

======
Totals
======
Ran: 856 tests in 2123.0000 sec.
 - Passed: 667
 - Skipped: 157
 - Expected Fail: 0
 - Unexpected Success: 0
 - Failed: 32
Sum of execute time for each test: 1641.0832 sec.

==============
Worker Balance
==============
 - Worker 0 (416 tests) => 0:35:06.788054
 - Worker 1 (440 tests) => 0:31:13.814911
Test id                                                                                 Runtime (s)
--------------------------------------------------------------------------------------  -----------
test.test_vcl.VCLCutThruTestCase.test_ldp_cut_thru_bi_dir_nsock                         120.382
test.test_vcl.VCLThruHostStackGroupBTestCase.test_ldp_thru_host_stack_bi_dir_nsock       60.368
test.test_vcl.VCLIpv6ThruHostStackGroupBTestCase.test_ldp_thru_host_stack_bi_dir_nsock   60.356
test.test_igmp.TestIgmp.test_igmp_host                                                   47.411
test.test_reassembly.TestFIFReassembly.test_fif6                                         38.561
test.test_reassembly.TestFIFReassembly.test_fif4                                         37.045
test.test_gbp.TestGBP.test_gbp                                                           30.041
test.test_dhcp.TestDHCP.test_dhcp_proxy                                                  29.339
test.test_vcl.VCLCutThruTestCase.test_ldp_cut_thru_iperf3                                20.489
test.test_neighbor.ARPTestCase.test_arp                                                  19.004

Change-Id: Ic1565f14962f157d5041230de3aeeab0b85f21e1
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoMinor tweaks 97/16197/1
Dave Barach [Mon, 26 Nov 2018 23:34:33 +0000 (18:34 -0500)]
Minor tweaks

Significant refit coming soon.

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: If7d196e84354c5088706e2ac81e2add42597a550

5 years agoSplit non-parallel testsuite 24/16024/4
juraj.linkes [Fri, 16 Nov 2018 16:28:56 +0000 (17:28 +0100)]
Split non-parallel testsuite

Split one big suite into smaller suites when not running tests in
parallel. This results in all tests being executed in one iteration.

Change-Id: I0d3d357a95d9cc596b606d5911a5819e8ffdeee5
Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
5 years agostats: Remove unneeded dependencies in stat_client 56/16156/2
Ole Troan [Fri, 23 Nov 2018 22:07:13 +0000 (23:07 +0100)]
stats: Remove unneeded dependencies in stat_client

Remove exposing stat_client_main internals and atomics to
simplify use from C++.

Change-Id: Ie864170fee8b4eaa2fd7f98556cf0ebb46cb1a2a
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agoPython3 tests: Fix asserts. 64/16164/3
Paul Vinciguerra [Sun, 25 Nov 2018 07:19:53 +0000 (23:19 -0800)]
Python3 tests: Fix asserts.

Use assert(Not)Equal()
Use assert{Greater,Less}[Equal]

Change-Id: I7c14570b8dce463ee13a67e9c1f10beb1a0308a8
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoFix IPSec CLI key parsing 76/16176/3
Pierre Pfister [Mon, 26 Nov 2018 08:29:00 +0000 (09:29 +0100)]
Fix IPSec CLI key parsing

strncpy stops copying when a byte set to 0 is read.
The fix is to use mempcy instead.

This patch also adds spd id to ipsec input trace.

Change-Id: Ibed071d3607fa76c3f6ee065f94128f1aca9b2e2
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
5 years agoAdd a feature arc consistency check 93/16193/2
Dave Barach [Mon, 26 Nov 2018 16:04:45 +0000 (11:04 -0500)]
Add a feature arc consistency check

Verify that last node in the computed feature order matches
reality. This check doesn't make sense in all cases, so we skip it if
the newly-added vnet_feature_arc_registration_t ".last_in_arc" datum
is a NULL pointer.

Change-Id: Ia99c3e2b2da2e4780a7d5bc71670c5742a66fef2
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agovppinfra: prevent dlmalloc from allocating memory via mmap_alloc() 86/16186/2
Andrew Yourtchenko [Mon, 26 Nov 2018 14:40:20 +0000 (15:40 +0100)]
vppinfra: prevent dlmalloc from allocating memory via mmap_alloc()

If the heap does not have enough space to satisfy allocation
request, the allocator calls sys_alloc(). There, if the request
is bigger than mparams.mmap_threshold, the mmap_alloc() is called
to allocate memory via a direct mmap call.
The resulting allocated memory is properly recognized by
clib_mem_is_heap_object() only for the first such request.
Subsequent requests overwrite the tracking data, resulting
in previously "valid" addresses become invalid, as seen
by clib_mem_is_heap_object(). The result is a misleading
behavior which masks other issues.

This is a temporary change to avoid the affected codepath
until there is a proper fix to track the directly mmap-allocated
memory.

Change-Id: I4137f91b5196d4503c40cf8ecc2f71554bc8f858
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>