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>
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>
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>
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>
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>
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>
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>
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>
.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>
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>
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>
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>
memif, lacp, nsh and cdp used local REPLY_MACROs.
Remove and use those in api_helper.h
Change-Id: Ib01d6ae5cff0b6f1cef90996a54b3177f0c53463
Signed-off-by: Ole Troan <ot@cisco.com>
1. fix wrong assignemnt of lik/rik
2. keys initialized to 0, to avoid using random data
in stack. could cause memory overlapped then crash
3. show sa->id in hex format
Change-Id: Id0430aa49bb55c27cee4f97f8c0e4ec87515dcd2
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
Coverity complains about resource leak after open when fd gets 0 with below
warning.
off_by_one: Testing whether handle tfd is strictly greater than zero is
suspicious. tfd leaks when it is zero.
It is right. 0 is a valid fd. -1 is not.
Change-Id: I22c2eb75b99bb6209921b9f874190cbbdf10e6ce
Signed-off-by: Steven Luong <sluong@cisco.com>
Part of further cleanups of this file.
Removed most wrappers that don't have conflicting signature with
message API.
Change-Id: I6acd93d20291feb7731eb35ab2eb8c9f22f4632c
Signed-off-by: Ole Troan <ot@cisco.com>
total_length_not_including_first_buffer should only be used when
VLIB_BUFFER_TOTAL_LENGTH_VALID is set, if not it uses stale data
from previous session_chain_tail calculation to set data/chunk len.
Change-Id: I9802341e522cf9b18d0aef817f0047b76945782e
Signed-off-by: Sirshak Das <sirshak.das@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Instead of allocating pairs of message queues per cut-thru session and
having the applications map them, this uses vpp as an io event message
switch.
Change-Id: I51db1c7564df479a7d1a3288342394251fd188bb
Signed-off-by: Florin Coras <fcoras@cisco.com>
A security feature: drop unsolicited global unicast traffic.
Change-Id: I421da7d52e08b7acf40c62a1f6e2a6caac349e7e
Signed-off-by: Dave Barach <dave@barachs.net>
Refactor of duplicate methods in test/test_reassembly.py.
Change-Id: I46f880da6a0ced2acae1fa33c6892d0148b26139
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
VPP supports two DPDK drivers for managing netvsc devices on
Azure/Hyper-V. The new netvsc PMD looks a lot like other PCI-based
PMDs but it requires recently added kernel support (>=4.17). The
older vdev_netvsc is an abstraction that manages the mlx4 VF
and tap device underlying the netvsc interface using the failsafe PMD.
Distros with older kernels (e.g. RHEL/CentOS 7.x) have to use vdev_netvsc.
At startup, netvsc devices are processed and an attempt is made to
initialize them for management by the netvsc PMD. If that fails, then
vlib_vmbus_bind_to_uio() returns early and the device can be initialized
for management by vdev_netvsc.
The operation that is supposed to fail if the netvsc PMD cannot be used
is registration of the netvsc device type ID with the uio_hv_generic
driver. This operation is attempted exactly once so it does not fail
for netvsc devices processed after the first one and they end up in a
state where they cannot be initialized for use by vdev_netvsc.
Only unset uio_new_id_needed if uio_hv_generic registration succeeds.
Change-Id: I6be925d422b87ed24e0f4611304cc3a6b07a34fd
Signed-off-by: Matthew Smith <mgsmith@netgate.com>