IGMPv3 sends a variable length of sources in a query. Today if the
amount of data on the wire does not exactly match that required for the
number of sources the packet is dropped.
Relax this check and instead accept the packet is the amount of wire
data is equal or greater than the number of sources.
Some devices on the wild internet pad small packets.
Type: feature
Change-Id: I102682814b38c0a0614d71816c9a286d90b834df
Signed-off-by: Neale Ranns <nranns@cisco.com>
Memory is dirt cheap. But there is no need to throw it away.
Type: fix
Change-Id: I155130ab3c435b1c04d7c0e9f54795b8de9383d9
Signed-off-by: Steven Luong <sluong@cisco.com>
Makes life easier for binary API language bindings
Type: fix
Change-Id: Ib459274fda05153d01cbb7bc328a8407e3ee5027
Signed-off-by: Dave Barach <dave@barachs.net>
If the host interface name is not specified at creation, host_if_name
was wrongly set to a stack-allocated variable. Make sure it always
points to a heap allocated vector.
At deletion time, we must free all allocated vectors.
Type:fix
Change-Id: I17751f38e95097998d51225fdccbf3ce3c365593
Signed-off-by: Benoît Ganne <bganne@cisco.com>
This commit ensures that the tests always run with the exact same
version for all the Python dependencies. It uses pip-tools to achieve
that.
Our top-level dependencies are specified in the requirements.txt file.
From this file, pip-tools generates the requirements-{2,3}.txt file,
which pins all the versions of all the recursive dependencies, and is
used to install the packages in the test virtualenv.
To change or add a top-level dependency, update requirements.txt and run
make test as usual with python2 and python3. The requirements-{2,3}.txt
file will be updated and you can verify that nothing breaks. Then add
all requirements* files in your commit.
To refresh the python packages (i.e. get new versions of the recursive
dependencies, or of the dependencies that are not pinned in
requirements.txt), just run:
PYTHON=python2.7 make test-refresh-deps
PYTHON=python3.6 make test-refresh-deps
and this will update the requirements-{2,3}.txt files. Ideally we
should run this after each release.
Type: make
Change-Id: Ic533de3d06ec4019ff38f5231208da6f1025bfc7
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Reduce the amount of data sent to avoid a hang in the QUIC stack when
the fifos get full. This fixes the QUIC tests in debug mode while
https://gerrit.fd.io/r/c/19823/ is not merged.
Change-Id: I1ed4c5dc3d41c09bc674de808f3778a074b15454
Type: test
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Type: feature
Try to also catch weirdness when running tests on arm cpus.
Change-Id: I45ab7c225f43623447271e67ebf37f94236a288f
Signed-off-by: Florin Coras <fcoras@cisco.com>
PacketGenerator streams were named based on their sw_if_index but without
knowing that, it looked like it was paired with the interface instance value.
Reencode the name to encode the data in a clearer way.
20:48:12,859 CLI: packet-generator new pcap
/tmp/vpp-unittest-TestClassifierPBR-6DVQW2/pg0_in.pcap
source pg0 name pcap0-sw_if_index-1
Change-Id: I5b82193943fee0cf060900d73aaaaecca1247105
Type: style
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Socket transport is maintaining message_table to map
message name to index. After disconnect and re-connect,
the VPP may have been restarted with different set of plugins,
so message_table has to be wiped.
+ Edited MAINTAINERS to recognize "papi" as a separate component.
Type: fix
Change-Id: I1f16ad7ee0886e03bbc6a17bcddbfcaa322354e5
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Type: fix
Attempt at fixing a random failing tcp test
Change-Id: I73aa31e26dd2df77d8b975e4fc88df16d8991863
Signed-off-by: Florin Coras <fcoras@cisco.com>
During packet classification, make sure packets coming from an EP also
matches this specific EP IP address and vice-versa. This prevents and EP
to send a packet on behalf of another EP.
Type: fix
Change-Id: I30287644ec73b90d9b6913952a82b2baedf6a5ff
Signed-off-by: Benoît Ganne <bganne@cisco.com>
format_vl_api_prefix_t returns a dict with keys 'address' and 'address_length',
but other format_vl_api_prefix functions return a dict with 'prefix', and 'len'.
Refactor all format_vl_api_prefix_t to return consistent keys 'address' and 'len'.
Type: refactor
Change-Id: I5f9558fc2da8742a303266e011102f5b2db80aad
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Object id's are used as keys in the object repository.
They need to be unique.
Also useful for debugging in log.txt.
Type: test
Change-Id: I69b5f3a7508918a5780ff8f20d27d4a3c34a5699
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
using inlines exposes the users to the internal data types used by VPP, namely vec.h. This file does not compile with a C++ compiler.
Type: feature
Change-Id: I1544fdd9eae998309f865df61df78571bdb96903
Signed-off-by: Neale Ranns <nranns@cisco.com>
remote_test.py - Remove 'ret' arg from _remote_exec(), so that the function
always reads the reply from the pipe. (fix unmatched request/reply)
memif_test.py - Don't register VppIpRoute to VppObjectRegistry.
Type: fix
Change-Id: I8a51e7ffd68df5f379534f5ddd5ec9367a89be32
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
In the case of an error, it is uninitialized.
Type: fix
Change-Id: Ib88fb997e5eef410c1cd970674d9385575f30366
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Fixed the missing bond_dump, slave_dump, and rx_placement_dump in
custom_dump.c
Type: fix
Change-Id: I9bf9ce071db175543edb383768c5915b939758ae
Signed-off-by: Steven Luong <sluong@cisco.com>
Add missing custom dump for vmxnet3_create, vmxnet3_delete, and
vmxnet3_dump.
Fix vmxnet3_create debug cli which may not parse all parameters
correctly due to passing address of u16 to unformat(). The fix is
to use a u32 local variable to receive the correct value from
unformat().
Type: fix
Change-Id: I04251c9ed0ab397ed4b1b5843a73880aec98b9f6
Signed-off-by: Steven Luong <sluong@cisco.com>
Usually the adj cover refinement check which ensures that for any
adj sourced prefix its cover is connected, is satified by the presence
of the interface source. The interface source has a high priority
hence during the adj refinement check get_flags() which uses the best
source, usually returns the flags for the interface source. However,
in the presence of higher priority sources that interpose get_flags does
not return connected and the check fails.
With this change add a specific check for the interface source if the
best is not connected.
Type: feature
Change-Id: Iabc3e29fe7c447fc3ef313e40b00d48fab09fba4
Signed-off-by: Neale Ranns <nranns@cisco.com>
Type: feature
Provide interface for sending Window Update ACK,
ensuring it will be sent only once, if RWND became non-zero,
after zero RWND has been advertised before.
Change-Id: I7f0d8af76d7763208625df68ab4ac3727fdaf449
Signed-off-by: Vladimir Kropylev <vladimir.kropylev@enea.com>