aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2019-03-12Use AVX2 as default even on AVX512 systemsDamjan Marion1-1/+1
Use of scalar AVX512 instructions impacts the maximum CPU frequency as they require CPU to request level 1 power license. So sparse use of AVX512 like we do, typically causes more harm than improvement. This patch makes AVX2 higher priority than AVX512, but still there is option to change it on per-node basis: vpp# set node function ethernet-input avx512 Change-Id: I42e03510a6efc1756e22fbb70e8c76d7f74f59d7 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-12svm mq: add unit testFlorin Coras2-3/+179
Change-Id: I2f1fa15a99163b9c105707484503dc9502265c52 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-12tcp: print congestion control algorithm in cliFlorin Coras1-11/+12
And shuffle some of the other connection variables. Change-Id: Ib5361d0a45537a3bd2421b8e4145ea0f0e525d91 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-12dpdk: pass log-level configuration to EALStephen Hemminger3-31/+0
The log-level dpdk config value should be transparently forwarded to DPDK via EAL argument. Since DPDK now supports naming log-levels, VPP no longer needs to parse and call rte_set_loglevel(). This was the other part of the DPDK log-level change. It must have got missed during my initial checkin. Without it passing dynamic log-level values like are silently ignored. Fixes: 6ca6ac6c887e ("dpdk: support passing log-level") Change-Id: I732cec5f638c9924e3ffb04c4753f957e3633d64 Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2019-03-12Perf tune handoff queue pollingDave Barach3-3/+25
Change-Id: I5cfa0f6eee67156bf87907fcf8a39f16d68a0905 Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-12ip: migrate old MULTIARCH macros to VLIB_NODE_FNFilip Tehlar10-174/+178
Change-Id: Id55ec87724e421d5b722314f9302c6ade7545306 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-12l2: migrate old MULTIARCH macros to VLIB_NODE_FNFilip Tehlar16-122/+150
Change-Id: I8370c06150ce4499475e9d6dc6b3ab8be2016202 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-12DOC ONLY: add packet handoff docDave Barach1-11/+117
Change-Id: I2e8076bb4f697819780e61ff761defdc74bf4f09 Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-12VPP-1585: fix dns test cliFilip Tehlar1-1/+3
Change-Id: Iac105e09bb88434fe55365fc1546d769f034e0e2 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-12GBP: L3 out fixesNeale Ranns7-59/+260
Change-Id: I0562d597fd45c7ddcb6db42cf17d3ffb569eb140 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-12GBP: custom-dump functionsNeale Ranns5-17/+376
Change-Id: I719882acb59bd069fd88b10989f11085a0c41ae6 Signed-off-by: Neale Ranns <nranns@cisco.com> Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-03-12FIB: path parsing, table-id not fib-index (VPP-1586)Neale Ranns3-8/+44
Change-Id: Ib27952935393163eaabf005c69b1cbc2feca2b98 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-12GBP: contracts API fixed length of allowed ethertypesNeale Ranns5-36/+64
VAPI does not handle two VLAs in one struct. Change-Id: I259c998bef4398ead2bbb9e788350d50c2f05694 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-12ICMP46 error: Clone first buffer instead of "truncating" original bufferOle Troan3-52/+57
Previous code was walked buffer chain, effectively trying to "truncate" the chain, reset the length of first buffer and reused that as the ICMP error message. That could have issues in cases there were other users of the buffer chain. Update to clone the first buffer in chain, and use that for the ICMP error message instead. Change-Id: Ibc1a0bf2d854dae41874808c8297028ed93dd69d Signed-off-by: Ole Troan <ot@cisco.com>
2019-03-12VPP-1486: Unittest for stat segment file descriptor leak.Paul Vinciguerra1-0/+41
Verifies: https://gerrit.fd.io/r/#/c/18167/ Before patch: ============================================================================== Test Stats Client ============================================================================== Test file descriptor count - VPP-1486 FAIL [ temp dir used by test case: /tmp/vpp-unittest-StatsClientTestCase-EAp0e7 ] ============================================================================== FAIL: Test file descriptor count - VPP-1486 ------------------------------------------------------------------------------ Traceback (most recent call last): File "/vpp/test/test_stats_client.py", line 39, in test_client_fd_leak initial_fds, ending_fds)) AssertionError: initial client side file descriptor count: 20 is not equal to ending client side file descriptor count: 120 04:55:38,038 Symlink to failed testcase directory: /tmp/vpp-failed-unittests/vpp-unittest-StatsClientTestCase-EAp0e7-FAILED -> vpp-unittest-StatsClientTestCase-EAp0e7 ============================================================================== TEST RESULTS: Scheduled tests: 1 Executed tests: 1 Passed tests: 0 Failures: 1 FAILURES AND ERRORS IN TESTS: Testcase name: Test Stats Client FAILURE: Test file descriptor count - VPP-1486 [test_stats_client.StatsClientTestCase.test_client_fd_leak] ============================================================================= After patch: ============================================================================== Test Stats Client ============================================================================== Test file descriptor count - VPP-1486 OK ============================================================================== TEST RESULTS: Scheduled tests: 1 Executed tests: 1 Passed tests: 1 ============================================================================== Test run was successful Change-Id: I055e473ecf0566ebfbfbadd58ec6eaf11fc77d68 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-12FIB: crash when deleting default routeNeale Ranns1-9/+0
when adding a recursive path the table is locked so that it can be removed when the last recursive path is removed. however, not all RR source'd prefixs use a recursive path. so flushing the table of all RR source'd entries is not correct. Change-Id: Id4010774011046e66ddc443ac83cb8e9245313dd Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-12bfd: register udp ports only when enabledKlement Sekera1-14/+49
Change-Id: Iffb4b314be3ded0d9c6acb77ec1c6f22778f301d Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-03-11vpp_papi_provider: Remove more wrapper functions.Ole Troan36-783/+409
Split this work up into pieces. Please don't add new wrappers to vpp_papi_provider.py. Change-Id: I0f8f2afc4cd2bba07ea70ddecea2d7319f7b2e10 Signed-off-by: Ole Troan <ot@cisco.com>
2019-03-11ldp: fix worker alloc when using eventfdsFlorin Coras1-1/+15
Change-Id: Icfba7ae9cbf504a8966923eac06c9eb0e11899d2 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-11disable multiarch for error-dropFilip Tehlar1-2/+4
this is a workaround that avoids building/linking other archs for error-node. Combination error-node + avx512 arch triggers a crash in pg during test run. Change-Id: I6ed39fdf0a58f82d951082b1cf91ab2a57d8108c Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-11VPP-1533: Deleting a non-existent pre-resolved MAP next-hop causes VPP core dumpOle Troan1-7/+10
Change-Id: I6f0830b786ac46c69c867f73b044aab174e6210b Signed-off-by: Ole Troan <ot@cisco.com>
2019-03-11VPP-1508: Tests: Fix vpp_api struct.error under py3.Paul Vinciguerra15-87/+122
Fix struct.error: expected bytes object got <class 'str'> Change-Id: I837ae6e97e44c789a9372677151b157956525334 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-11dpo: migrate old MULTIARCH macros to VLIB_NODE_FNFilip Tehlar6-157/+59
Change-Id: I3043112c3e7584f61e64dc6d20d57604ebceb76a Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-11mfib: migrate old MULTIARCH macros to VLIB_NODE_FNFilip Tehlar2-29/+13
Change-Id: I7114cd55ce1fc320d17b36cab731546fe4c58a72 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-11tls: fixes and improvementsFlorin Coras5-36/+53
- disconnect sessions through session layer apis instead of directly notifying the app worker. - improve cli - increase fifo sizes for tls app Change-Id: I8a7d2865b3b00724e2a9da29fa4a906ea867da9b Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-11session: fix ct that match global table entriesFlorin Coras3-2/+26
Change-Id: I42addcd413094a8b6e9b2858ba2a292bd295ec82 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-11VPP-1486: stat segment file descriptor leakOle Troan1-0/+3
Close the mmap file descriptor at first opportunity. Change-Id: If8faa1de0a57dc7d8abb3eed97861813b841bd92 Signed-off-by: Ole Troan <ot@cisco.com>
2019-03-11VPP-1508: Use scapy.compat to manage packet level library differences.Paul Vinciguerra27-193/+261
Change-Id: Icdf6abc9e53d33b26fd1d531c7dda6be0bb9cb55 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-11Tests: fix time.sleep(0) # yield. Reduce sleep related log messages.Paul Vinciguerra4-8/+21
Reduce the incidence of: 20:04:23,606 unexpected time.sleep() result - slept for 2.187967e-03s instead of ~6.837845e-04s! Change-Id: Ic576fda7f75e571c9019111588a6a936ee2cf5c2 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-11Tests: remote_test.py. Private member test catching dunder names.Paul Vinciguerra1-9/+14
Private member check also catches __iter__, since it starts with '_'. Fixes: Captured traceback: ~~~~~~~~~~~~~~~~~~ b'Traceback (most recent call last):' b' File "/vpp/test/test_memif.py", line 47, in tearDown' b' remove_all_memif_vpp_config(self.remote_test)' b' File "/vpp/test/vpp_memif.py", line 36, in remove_all_memif_vpp_config' b' for d in dump:' b"TypeError: 'SerializableClassCopy' object is not iterable" b'' Change-Id: I6a3f3e0f2b1b2d0a2b97faa23bf542ff8f92de43 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-11Tests: use self.assertNotIn().Paul Vinciguerra13-35/+35
Many tests use self.assertEqual(error.find("failed"), -1) Use self.assertNotIn("failed", error) to provide more meaningful errors such as AssertionError: 'Failed' not found in '' instead of 0 != -1. Change-Id: I670acdc977b788b2cedf94cfeafc12097781463f Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-11Tests: 'Fix' __del__ in test/remote_test.py.Paul Vinciguerra1-4/+6
This is not a fix as much as supressing a warning. __del__ is not a destructor. test/remote_test.py:385:13: F821 undefined name 'cls' cls.vpp.poll() ^ test/remote_test.py:386:16: F821 undefined name 'cls' if cls.vpp.returncode is None: ^ test/remote_test.py:387:17: F821 undefined name 'cls' cls.vpp.terminate() ^ test/remote_test.py:388:17: F821 undefined name 'cls' cls.vpp.communicate() Change-Id: I6f0ecf3ae5dee7f279a4e25994cc1c49470bca26 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-11Test: Fix hook.py: AttributeErrorPaul Vinciguerra1-1/+1
File "/vpp/test/hook.py", line 84, in on_crash self.testcase.vpp_bin, core_path) AttributeError: 'PollHook' object has no attribute 'testcase' Change-Id: I84d9d86a5c6a5769a43a91cf23ce8a1141f7cd12 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-10Perf tune get_frame_size_infoDave Barach3-3/+14
It turns out that for scalar sizes 0..24, frames are always the same size. That range includes all current use-cases - and then some - so get rid of the hash table. Old code preserved under #ifdef VLIB_SUPPORTS_ARBITRARY_SCALAR_SIZES. Change-Id: Ic005c7143c9639f77d1a0fadd2fc0e90dccb68c1 Signed-off-by: Dave Barach <dbarach@cisco.com>
2019-03-10vcl: update buf if whole buf cannot be done at oncewuzhouhui1-0/+1
Change-Id: I0d56d2cee012b46da848362f322d6f246f8bf4c2 Signed-off-by: wuzhouhui <wuzhouhui14@mails.ucas.ac.cn>
2019-03-09SVS: cleanup default route on SVS disableNeale Ranns1-0/+5
Change-Id: Ie0680330dd619cfdcb72ae8fb7e2463f732cff8c Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-08tcp: fix rcv_wnd computationFlorin Coras1-1/+1
Change-Id: I3cecffae2e30233d4725bd3eaf5ff4a8ff194fae Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-08session/tcp/vcl: fixes and optimizationsFlorin Coras6-22/+56
Change-Id: Idc7dfe743399dd8dee0f6b3ec83f194f3fca580b Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-08tcp: fix window probes in fin-wait-1Florin Coras2-15/+10
Change-Id: Idf060f385f4d9b2f42fdab6a1d372727beb8b19e Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-08session: reorganize session fieldsFlorin Coras3-43/+25
Change-Id: I7f3b015ea6750c9773e4285bb63b0d44fa2177b9 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-08updates now that flags are supported on the APINeale Ranns2-7/+0
Change-Id: I9c45f390a6454c114f12f9c46c3a93fcecffa73f Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-07parse ethernet header in ct6_in2outDave Barach2-8/+30
fix a debug CLI scripting bug: cp_ip6_address_add_del_command_function ate any subsequent commands, yielding indigestion. Change-Id: Iaca7bed5687759da36ae91dc658e758549b71796 Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-07Tests: Refactor payload_to_info()Paul Vinciguerra22-32/+34
All callers of payload_to_info were required to wrap payload with str(). Refactor to call scapy's payload.load for raw payloads or specify the specific fieldname. Change-Id: I1c80599d4df8dc129dbb8274733afaad406d5bcf Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-07VPP-1508: Python3 tests. Explicitly specify string formatting.Paul Vinciguerra11-27/+29
.format() doesn't understand what to do with binary values by default. Specify that we expect coersion to string. Change-Id: Ic4b697f70852124dc85ab231f76b7934d0d71f4d Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-07VPP-1508: test_acl_plugin vapi changes for Python3.Paul Vinciguerra2-51/+51
Change-Id: I0863cefa523a6d7c11e48649b03f058130e5a4ee Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-07vpp_papi: Adjust aenum import for python3.Paul Vinciguerra3-4/+12
The stdlib introduced IntEnum in python 3.4 and IntFlag in python 3.6. Change-Id: I3ac278a9d5a97eefa9fc4f1491f0cd030e40c3b2 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-07make-test: Python pep8 compliance for sequencesNaveen Joy1-13/+13
For sequences, (strings, lists, tuples), use the fact that empty sequences are false. A tiny change towards getting full pep8 compliance, which will look good. Yes: if not seq: if seq: No: if len(seq): if not len(seq): (https://www.python.org/dev/peps/pep-0008/) Change-Id: I6b565bef424f81afc66aba3b0041a5029a9f8954 Signed-off-by: Naveen Joy <najoy@cisco.com>
2019-03-07Honor vnet_rewrite_data_t data_bytes == 0Dave Barach1-1/+15
Avoid the cache miss consequences of spraying [functionally harmless] junk into un-prefetched rewrite space. As things stand, several tunnel encap rewrites set rewrite data_bytes = 0, and take a performance hit due to unwanted speculative copying. Should be performance-neutral in speed-path cases, which won't execute the added check. Change-Id: Id83c0325e58c0f31631b4bae5a06457dfc7ed567 Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-07Fix typo in feature arc constraintDave Barach1-3/+3
Also, increase ip6 address field width in "show ip6 conn verbose" output Change-Id: If7d1bcd439d94a22d1f1c6c1298cb30aba13d0a2 Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-07assign flood_class to vnet_sw_interface_t template in subif api handle functionJoe Zhou1-0/+2
Change-Id: I352f4a4adcf8771c21530657efcaecb532416612 Signed-off-by: Joe Zhou <zhouyoucn@qq.com>