summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-11-29API: Add support for type aliasesOle Troan13-32/+179
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>
2018-11-29ipsec: move ipsec defs to ipsec.hKlement Sekera2-51/+54
Change-Id: Ia3dcd98edb6188deb96a3a99d831e71b2ffa0060 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-11-29VPP-1508: vpp_transport_socket.py fix importPaul Vinciguerra1-1/+4
Import queue in an py2-py3 compatable way. Change-Id: I83f166a959c4ee55438e3997edbcb596dc72059f Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-11-28Use acquire/release ordering when accessing svm_fifo shared variable cursizeSirshak Das3-8/+12
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>
2018-11-28vpp_papi: Reserved keywords.Paul Vinciguerra2-3/+3
'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>
2018-11-28pmalloc: fix shared hugepage backed mmap on older kernelsDamjan Marion0-0/+0
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>
2018-11-28dpdk: allow interface name to be specified from startup.confDamjan Marion4-4/+20
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>
2018-11-28cmake: display warning and continue if dpdk not presentDamjan Marion2-4/+9
Change-Id: I5cb2619444507a159c42ac8401800e90b6541a20 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-11-28Remove useless prefetch in ip4-rewrite nodeSimon Zhang1-1/+1
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>
2018-11-28vpp_papi: Use new style classes.Paul Vinciguerra6-13/+13
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>
2018-11-28test/remote_test.py: Fix missing importPaul Vinciguerra1-0/+1
Change-Id: I192c33d36f43ae2df0dda509e118f2b920d561ac Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-11-27ldp: sid to fd mapper for apps with multiple workersFlorin Coras3-22/+112
Change-Id: I79585cd6b467b007c3eb9a7668387ff3777de46d Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-11-27pmalloc: correct format_pmalloc_map u32 index overrun bugKingwel Xie2-5/+3
Change-Id: I95ba4eab6e2154ef33a479450b997c8317db3a92 Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2018-11-27docs: Add more on trexjdenisco7-22/+225
Change-Id: Ifb5eabe30e1b0ba911ddf455573cc346ff4bec85 Signed-off-by: jdenisco <jdenisco@cisco.com>
2018-11-27cmake: Add protocol.h to lacp plugin .h includesAlexander Chernavin1-0/+1
Change-Id: I42e715345b6bc9b469d8b74ce216fc98b7824cf8 Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
2018-11-27VPP-1508 python3 tests: use six.iteritemsPaul Vinciguerra2-6/+8
This replaces dictionary.iteritems() on Python 2 and dictionary.items() on Python 3. Change-Id: I58a3ded7d284c59e28d484b0c285aac435bfc229 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-11-27VPP-1508 python3 tests: .encode('hex')Paul Vinciguerra6-37/+44
Change to binascii.hexlify() for consistent bahavior. Change-Id: Ie430cdd1ffeb6510db4aa037546e42d85992093b Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-11-27VPP-1508 Fix for bug introduced in tests on use of repr.Paul Vinciguerra5-12/+12
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>
2018-11-26Minor tweaksDave Barach2-20/+49
Significant refit coming soon. Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: If7d196e84354c5088706e2ac81e2add42597a550
2018-11-26Split non-parallel testsuitejuraj.linkes3-26/+40
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>
2018-11-26stats: Remove unneeded dependencies in stat_clientOle Troan4-20/+23
Remove exposing stat_client_main internals and atomics to simplify use from C++. Change-Id: Ie864170fee8b4eaa2fd7f98556cf0ebb46cb1a2a Signed-off-by: Ole Troan <ot@cisco.com>
2018-11-26Python3 tests: Fix asserts.Paul Vinciguerra5-13/+13
Use assert(Not)Equal() Use assert{Greater,Less}[Equal] Change-Id: I7c14570b8dce463ee13a67e9c1f10beb1a0308a8 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-11-26Fix IPSec CLI key parsingPierre Pfister2-4/+11
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>
2018-11-26Add a feature arc consistency checkDave Barach8-0/+28
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>
2018-11-26vppinfra: prevent dlmalloc from allocating memory via mmap_alloc()Andrew Yourtchenko1-1/+22
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>
2018-11-26flow-hash: Add symmetric flag for flow hashingMohsin Kazmi4-4/+40
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>
2018-11-26vapi: break if parsing progress cannot be madeKlement Sekera1-0/+1
Change-Id: I1b76994f674a045f7fce3d61ef2aa5294ddb53a9 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-11-26Remove unused argument from eth_identify_subint(...)Damjan Marion3-7/+2
Change-Id: I0e89fbc51f30325655c4e9d0104aceb3ead3b16f Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-11-26Revert "VPP-1508 python3 tests: raw_input"Ole Trøan1-24/+19
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>
2018-11-26 test_fib.py: Remove empty methodsPaul Vinciguerra1-10/+0
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>
2018-11-26VPP-1508 Add support for environment markers.Paul Vinciguerra2-1/+13
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>
2018-11-26VPP-1508 python3 tests locals()Paul Vinciguerra1-2/+3
Do not use locals() for string formatting. Change-Id: I2e811f479198159b4005fa69c09ad903944d8ae3 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-11-26Fix swapped decorators in VppTestCase.Paul Vinciguerra1-5/+5
Change-Id: I39b5a8e368f0e0b5c83203141d01f22d909b6f9d Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-11-26VPP-1508 python3 tests: raw_inputPaul Vinciguerra1-19/+24
Raw input does not exist in python3 use six.input. Change-Id: Ie461696ff869057bcc3969a7571602dde570f5b8 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-11-25VPP-1508 python3 tests: python3 repr.Paul Vinciguerra5-20/+34
Use six.reprlib. Uses repr for python 2 and reprlib for python 3. Change-Id: Ia343a492d533bd511ed57166381e10a37e452d36 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-11-25make test: Fix too wide subprocess exceptionsPaul Vinciguerra3-5/+5
When a command fails, CalledProcessError is raised. testing with except: masks other failures. Change-Id: I7e3a6739411cb6a4c13e96dd123aff9159213fea Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-11-25Use a dissector table instead of strcmpDave Barach1-30/+51
... 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>
2018-11-25vlib:init free list buffers vecEyal Bari2-0/+6
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>
2018-11-25Fix typo in test/test_acl_plugin_conns.pyPaul Vinciguerra1-5/+5
first argument of a classmethod should be named 'cls' Change-Id: I1462be1edbfd42cbc6ad3f93d73f23b70d95e70c Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-11-25Fix Typo: test/test_mtu.pyPaul Vinciguerra1-3/+3
first argument of a method should be named 'self'. Change-Id: Iab84a333baba9b9dfb6ffd6da66df4da331a6b11 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-11-24VPP-1505 VPP-1508 Remove dep.: py_lispnetworkingPaul Vinciguerra3-11/+24
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>
2018-11-23vhost-user: use memory store barrierDamjan Marion1-3/+3
Should be less expensive... Change-Id: I678a39e42a054bf5f6ef9c59d0fb93ff9719b964 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-11-23make test: remove test-ext, fix test*-all targetsKlement Sekera2-11/+6
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>
2018-11-23Fix test framework keepalivejuraj.linkes1-2/+1
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>
2018-11-23Fix test logging propagationjuraj.linkes1-0/+1
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>
2018-11-23VPP-1476: L2fib failures in masterPavel Kotucek1-7/+8
Overlaping range of BDs. Change-Id: I96d2caf98b94206cd6b145961819720727f13c61 Signed-off-by: Pavel Kotucek <pavel.kotucek@pantheon.tech>
2018-11-23session: fix coverity app name warningFlorin Coras1-10/+20
Change-Id: I1bbad8716b9be3f2413aaebd400887c1e2aa3c7a Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-11-23acl-plugin: fix coverity error that the fix related for [VPP-1502] has triggeredAndrew Yourtchenko1-9/+13
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>
2018-11-23doc: delete wrong description since VPP support 1G hugepageYulong Pei1-3/+3
Change-Id: Ib673f8059f47d8e2e86ad810a354ddf630f557cf Signed-off-by: Yulong Pei <yulong.pei@intel.com>
2018-11-23Fix permission for vpp_papiOnong Tayeng1-1/+1
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>