summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-11-29vcl: basic support for apps that forkFlorin Coras10-168/+358
- 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>
2018-11-29GRE: fix VRF unit-testsNeale Ranns1-3/+8
Change-Id: Ic6d011065bf062a84fdccdb1726ed3e5ed99cfbc Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-11-29VPP-1507: Added binary api to dump configured ip_punt_redirectPavel Kotucek9-60/+310
Change-Id: I790f7785e183cc9aaffd5b593617c4e12a32e20d Signed-off-by: Pavel Kotucek <pavel.kotucek@pantheon.tech>
2018-11-29ldp: basic multiworker supportFlorin Coras3-119/+170
Change-Id: Ia794fa7e15dac02c8607c4cee2f119ad9815c0a8 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-11-29vppinfra: add pool_dup macroFlorin Coras1-0/+35
Change-Id: I192e340bd072d27bf6ddc382347ad5c3ca411bad Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-11-29Export ethernet/mac_address.h as part of API installation.Jon Loeliger1-0/+1
Change-Id: Ibb6d648948f990280e3cb048ce907f01e5c32b12 Signed-off-by: Jon Loeliger <jdl@netgate.com>
2018-11-29make test: create virtualenv under /test/Klement Sekera13-84/+89
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>
2018-11-29dpdk-ipsec-nodes multiarch: nodes are formatted in VLIB_NODE_FN styleKingwel Xie4-13/+24
crypto-input,esp encrypt/decrypt are indicated in CMakefiles Change-Id: I18ba851c1d4e5633d07c5de61cdaeae938e94982 Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2018-11-29dpdk: bump to DPDK 18.11Damjan Marion2-50/+7
Change-Id: Ib6458e56f546bb5b11c23aa5e1afe0f4b5011c08 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-11-29MAP: Use bool type in map.api instead of u8.Ole Troan1-5/+5
Change-Id: I4e40bb6d6bf274a27892053f37aeeb81a7278965 Signed-off-by: Ole Troan <ot@cisco.com>
2018-11-29vppapigen: Fix python3 compatibilityOle Troan1-24/+40
Change-Id: I9124fcb755ba43fd8f44712f0940f351c460c5b0 Signed-off-by: Ole Troan <ot@cisco.com>
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>