Neale Ranns [Wed, 4 Dec 2019 06:11:00 +0000 (06:11 +0000)]
fib: Decouple source from priority and behaviour
Type: feature
the fib_source_t enum alone no longer defines the priority and
behaviour, instead each source must be allocated these attributes.
This allows the creation of other sources by the plugins (and
soon over the API).
Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I890ee820fbc16079ee417ea1fbc163192806e853
Neale Ranns [Thu, 18 Apr 2019 10:23:56 +0000 (10:23 +0000)]
gre: Multi-point interfaces
Type: feature
Change-Id: I0129ad6ace44a50a8a3b26db8e445cd06b2b49e8
Signed-off-by: Neale Ranns <nranns@cisco.com>
Jon Loeliger [Wed, 4 Dec 2019 17:14:49 +0000 (11:14 -0600)]
build: Add Jon Loeliger as plugin/MAP maintainer.
Change-Id: I2e25e6f9481afd7370bad4332906a2a7f0e78081
Type: make
Signed-off-by: Jon Loeliger <jdl@netgate.com>
Jon Loeliger [Wed, 4 Dec 2019 17:46:52 +0000 (11:46 -0600)]
map: Fix a coverity MAP dead-code issue.
Type: fix
Change-Id: I5467bbe3b25b1ea3fb44157abe6e7bfb3f191e77
Signed-off-by: Jon Loeliger <jdl@netgate.com>
Dave Wallace [Fri, 15 Nov 2019 22:29:15 +0000 (17:29 -0500)]
build: fix make test with distributed src
This patch addresses the functionality that is
missing for distributed make test source files.
In addition it extends the concept of colocating
test source code with functional source code
(eg. src/vcl/test). It also cleans up deficiencies
in the make test makefiles.
NOTE: Due to the way sphinx document tools work,
all test, all of the make test python code is
gathered using soft links into the directory:
.../build-root/build-test/src
Change summary:
- Remove 'make test' help details from
main makefile help output to reduce clutter
and redundant help output
- Move all generated build output to
.../build-root/build-test
- Move test_vcl.py as first usecase for
distributed core feature make test code
- Add test-wipe-all target and fix wipe targets
to remove all generated files
- Fix 'make test-doc' to generate module
documentation for all source files
- Remove unused targets in test/doc/Makefile
- Fix 'make test-shell'
- Fix test/ext Makefile to not generate
bogus output
Type: fix
Fixes:
a43c93f8554ad7418e31be3791b3fb71232f60ac
Change-Id: Icc2ddb81d474081c3ede4548ecd7a0624651f62d
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Nathan Skrzypczak [Tue, 3 Dec 2019 14:08:27 +0000 (15:08 +0100)]
quic: fix stream tx_fifo race condition
Type: fix
There is a race condition in when receiving TX from
a client application :
As egress_emit writes as much data as possible to
the stream, if during egress_emit the app writes
to the fifo, the data will be directly passed to
quicly. Then TX callback happens and triggers
a scheduler update telling quilcy the stream has
data to send. When the next egress_emit is called
and no more data has come, we have nothing to write,
we return len = 0 to quicly which breaks an assert if
a loss happens later on.
Change-Id: I47e00a14dfc9068b5dac7b5c090a89124aea004f
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Nathan Skrzypczak [Mon, 2 Dec 2019 16:01:40 +0000 (17:01 +0100)]
quic: clean accept/connect error codepath
Type: fix
First attempt to clean the leftover state when
accept_notify / connect_notify fails due to mq
size constraints. vpp should now be left in a
state such that clean state will eventually be
reached when timers fire.
Change-Id: I9e1166dab2778bf05d5af42d437769651369cae0
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Mohsin Kazmi [Tue, 3 Dec 2019 17:56:26 +0000 (18:56 +0100)]
gso: remove the interface count
Type: refactor
Change-Id: I51405b9d09fb6fb03d08569369fdd4e11c647908
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Nathan Skrzypczak [Mon, 2 Dec 2019 16:12:22 +0000 (17:12 +0100)]
quic: refactor connection search fn
Type: refactor
Change-Id: I55aace44773e4fab0470d27b14dd68544f7d99c5
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Nathan Skrzypczak [Mon, 2 Dec 2019 15:51:17 +0000 (16:51 +0100)]
quic: add conn-timeout config option
Type: feature
Change-Id: Ia9cb57b9f7c2d14a137556d6918763f1cb11850d
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Nathan Skrzypczak [Wed, 27 Nov 2019 12:16:11 +0000 (13:16 +0100)]
quic: fix import typo
Type: fix
Change-Id: Iab96ebc1579b0be5b711f975163f9ac96648d2ad
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Jon Loeliger [Tue, 3 Dec 2019 16:51:23 +0000 (10:51 -0600)]
ip6: Fix improper MCAST adj test in IPv6 router solicitation
Type: fix
Fixes:
cb9cadad578297ffd78fa8a33670bdf1ab669e7e
Change-Id: Id6de9780da41db5d762fe042f533cfaf21ed7b73
Reported-by: Rajith PR <rajith@rtbrick.com>
Signed-off-by: Jon Loeliger <jdl@netgate.com>
Matthew Smith [Tue, 3 Dec 2019 18:41:53 +0000 (12:41 -0600)]
ip: populate ip_reassembly_get_reply correctly
Type: fix
Fixes:
de34c35fc
The API handler for requests to retrieve IP reassembly settings was
modified to support shallow virtual reassembly. It retrieves
settings into local variables now instead of directly into the reply
message. The fields in the reply message were not being populated
using those variables. So the reply message was being sent with all
0's, except in the is_ip6 field.
Also, the max_reassembly length field in the reply message was not
being populated.
Change-Id: I80b071340fdc190c3a0b1f7294a03f14b6e00ecc
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Neale Ranns [Mon, 2 Dec 2019 23:28:50 +0000 (23:28 +0000)]
fib: constify the adjacency in the rewrite nodes
Type: refactor
Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I3aad20b35d89fc541fdf185096d71ca12b09a6e2
Neale Ranns [Mon, 25 Nov 2019 13:04:44 +0000 (13:04 +0000)]
ipip: Tunnel flags controlling copying data to/from payload/encap
Type: feature
Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I9467f11775936754406892b8e9e275f989ac9b30
Neale Ranns [Mon, 2 Dec 2019 23:10:08 +0000 (23:10 +0000)]
fib feature: Code mechanics to decouple dependency of feature on adj
Type: refactor
Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I1d8b88fe1eefc850865297b4f025b97e6373a6bd
Jon Loeliger [Tue, 3 Dec 2019 18:13:29 +0000 (12:13 -0600)]
build: Separate ip and ip6 maintainers
Boldly assign IPv6 to Neale and to me.
Ole said so. Really!
Change-Id: Iaa30a57230558dcf3ee016a94479cac95bb2d50d
Type: make
Signed-off-by: Jon Loeliger <jdl@netgate.com>
Jon Loeliger [Thu, 21 Nov 2019 17:15:53 +0000 (11:15 -0600)]
map: Avoid null dereference in 'map show' and 'map del'
If a map domain is created without a tag name, inspecting
the map data will segfault looking for an unset name in
the so-called "domain extras" vector.
Enhance "show map domain" to show all map domains.
Type: fix
Change-Id: Ic55662b84eec58221816da270b2ef9e89c3a31c3
Signed-off-by: Jon Loeliger <jdl@netgate.com>
Nathan Skrzypczak [Tue, 3 Dec 2019 16:13:09 +0000 (17:13 +0100)]
hsa: Less verbose logging for many sessions
Type: feature
ECHO_LOG has the following levels
0 -> global progression (many connections)
1 -> Connection global evts (some conn, much data)
2 -> More connection events
3 -> Data related logging
Change-Id: I69eeaa0dd02a4b8ebcfefa1c7a218ef57f217d2b
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Jakub Grajciar [Tue, 27 Aug 2019 08:16:44 +0000 (10:16 +0200)]
classify: API cleanup
Use consistent API types.
Type: fix
Change-Id: Ib5b1efa76f0a9cecc0bc146f8f8a47c2442fc1db
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Paul Vinciguerra [Mon, 2 Dec 2019 18:40:33 +0000 (13:40 -0500)]
papi: add a per-call _timeout option
add the ability to override the default timeout value on a per-call
basis.
Use:
rv = self.vapi.papi.cli_inband(cmd='wait 10', _timeout=15)
Type: feature
Change-Id: Ia90a58586a1f63e02118599a2a4b7141e5a0b90d
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Paul Vinciguerra [Mon, 2 Dec 2019 02:55:52 +0000 (21:55 -0500)]
tests: vpp_interface fix ip6 setter
Type: fix
Fixes:
efd7bc2b1c8db160933ed3e9ab3cde0d07aaf863
Change-Id: I254f9fe44189f88621b9b0ff3f869efb9966ada5
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Prashant Maheshwari [Thu, 14 Nov 2019 07:12:59 +0000 (12:42 +0530)]
ipsec: Changes to make ipsec encoder/decoders reusable by the plugins
Type: fix
Signed-off-by: Prashant Maheshwari <pmahesh2@cisco.com>
Change-Id: I81b937fc8cfec36f8fb5de711ffbb02f23f3664e
Signed-off-by: Prashant Maheshwari <pmahesh2@cisco.com>
Neale Ranns [Mon, 2 Dec 2019 22:32:05 +0000 (22:32 +0000)]
tests: GRE over IPSec unit tests
Type: test
Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I4ae1b56f273026aca86775fb61feabcdeb62c62e
Dave Barach [Sun, 1 Dec 2019 13:59:03 +0000 (08:59 -0500)]
vppinfra: preserve total_cpu_time across clock freq adjustment
If clib_time_verify_frequency() adjusts the clock frequency, transform
total_cpu_time to the new time coordinate space. Otherwise, we break
comparisons with previous clib_time_now() value.
Without this correction, time jumps in one direction or the other
depending on the sign of the frequency change. Reasonably harmless in
most cases, but under perfect storm conditions the wheels fall off.
Type: fix
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I21802c2630e2c87ff817cd732b7d78bc022cd2d7
Paul Vinciguerra [Mon, 2 Dec 2019 03:16:54 +0000 (22:16 -0500)]
tests: raise exception in vpp_interface for invalid sw_if_index
Type: test
Change-Id: I34058f2bd20f61a8f8355299a8df95f2948c25eb
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Matthew Smith [Thu, 14 Nov 2019 16:36:02 +0000 (10:36 -0600)]
bonding: add/del secondary mac address callback
Type: feature
Add a callback to the bond device class which allows a secondary
mac address to be added/deleted.
The desired operation is performed on all the hardware interfaces
which belong to the bond interface. This allows virtual MAC
addresses to be used on bond interfaces without requiring the
hardware interfaces to have promiscuous mode enabled.
When a hardware interface is added or removed from a bond, if there
are any secondary MAC addresses configured on the bond, they are
added or removed from the hardware interface.
Change-Id: If9488078b4d7869ecc56ef6853f3cc9891211860
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
snaramre [Mon, 2 Dec 2019 05:49:28 +0000 (05:49 +0000)]
tests: BFD python3 changes
Type: fix
Change-Id: Ie441e81fe3971d70f96196c79d74658f910b4875
Signed-off-by: snaramre <snaramre@cisco.com>
Jerome Tollet [Fri, 29 Nov 2019 17:21:46 +0000 (18:21 +0100)]
dhcp: add FEATURE.yaml for the DHCP plugin
Type: docs
Signed-off-by: Jerome Tollet <jtollet@cisco.com>
Change-Id: Ia2b892e550d391d421d9980d736768c918955cb6
Florin Coras [Fri, 29 Nov 2019 17:31:47 +0000 (09:31 -0800)]
session: no cleanup notification for forced deletes
Type: refactor
Change-Id: Ib36cc3f1173d093e9050f9fecda343df2aa3dc1f
Signed-off-by: Florin Coras <fcoras@cisco.com>
Dave Barach [Fri, 29 Nov 2019 13:40:58 +0000 (08:40 -0500)]
classify: debug cli %v not %s
Type: fix
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I294f0b773375f6dce020b771db0726ceb5d812cc
Florin Coras [Wed, 27 Nov 2019 02:43:25 +0000 (18:43 -0800)]
ip: init l3_hdr_offset when pushing an ip4 header
Type: fix
Change-Id: I87503b9a981724b1f3ff1c45a4a5f7a43024ca76
Signed-off-by: Florin Coras <fcoras@cisco.com>
Paul Vinciguerra [Sun, 27 Oct 2019 02:25:49 +0000 (22:25 -0400)]
vlib: add 'wait' cli command
When running exec scripts, there can be a need to wait between statements.
Type: feature
Change-Id: I2a45b390697e09fc222358c9354f28e3368a06ba
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Benoît Ganne [Thu, 21 Nov 2019 15:50:24 +0000 (16:50 +0100)]
tests: display stdout and stderr when output caching is disabled
Type: fix
Change-Id: I4286ba58bb15dd67c1199f76166bedf3b4e0344c
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Alexander Chernavin [Fri, 22 Nov 2019 15:10:45 +0000 (10:10 -0500)]
nat: fix dhcp client on outside interface with output feature
When a DHCP client is configured on a NAT outside interface with
output feature enabled, DHCP packets will reach the NAT in2out-output
node and will be dropped with "out of ports" reason.
With this commit, allow locally originated DHCP packets to be sent
from a NAT outside interface with output feature enabled.
Type: fix
Change-Id: I47d76b22587f2bf0c7b0b9dfda41c89f8f61d0b4
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Benoît Ganne [Mon, 15 Apr 2019 13:28:21 +0000 (15:28 +0200)]
misc: add address sanitizer heap instrumentation
Introduce AddressSanitizer support: https://github.com/google/sanitizers/
This starts with heap instrumentation. vlib_buffer, bihash and stack
instrumentation should follow.
Type: feature
Change-Id: I7f20e235b2f79db72efd0e756f22c75f717a9884
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Paul Vinciguerra [Tue, 26 Nov 2019 19:15:53 +0000 (14:15 -0500)]
papi: fix typo in repr
Reported by Vratko's review.
(Thanks for the review)
Fixes:
14b0b4791c0b8c886e7b5c9ca667d060f0bada0b
Type: fix
Change-Id: I9c080c0c40060cc77977e76edae03d60eb393ce2
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Neale Ranns [Tue, 26 Nov 2019 19:30:08 +0000 (19:30 +0000)]
fib: Fix crash on cover update to non activated adj source
if the adj source is not active then there is no existing cover
during a cover update
Type: fix
Ticket: VPP-1803
Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: Ie912f1c99345de4fb012bdcd97b443098d4a7351
Jon Loeliger [Tue, 26 Nov 2019 19:47:49 +0000 (13:47 -0600)]
map: Fix inverted 'map security check enable' CLI flag.
Type: fix
Fixes:
5a2e278a09726be627b8310e03f0522d60aafedf
Change-Id: Ibdc2f0be44e382bfa4a8f3e16be8d6239d7a0ec1
Signed-off-by: Jon Loeliger <jdl@netgate.com>
Nathan Skrzypczak [Tue, 12 Nov 2019 15:41:00 +0000 (16:41 +0100)]
quic: Refactor for crypto contexts
Type: refactor
Change-Id: I5ec7079d34826edd7a3048ae1d44037386f5d3ff
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Chenmin Sun [Thu, 21 Nov 2019 21:33:40 +0000 (05:33 +0800)]
flow: fix several crash issues
Type: fix
This patch fixes crash issues(marked in brackets) in the below test cases
test flow enable index 0 1/1 -> [crash]
test flow disable index 0 1/1 -> [crash]
test flow add src-ip 192.168.8.8 proto udp redirect-to-queue 8
test flow enable index 0 1/1
test flow disable index 0 1/1 - [crash]
test flow add src-ip 192.168.8.8 proto udp redirect-to-queue 8
test flow enable index 0 1/1
test flow enable index 0 1/2
test flow del index 0 -> [crash]
Signed-off-by: Chenmin Sun <chenmin.sun@intel.com>
Change-Id: I84bc6faa3d93a2cab4c82e8a876a8b1067257b62
Klement Sekera [Thu, 21 Nov 2019 10:31:03 +0000 (10:31 +0000)]
fib: reduce save_rewrite_length to u8
This is a preparation step for migrating NAT to use SVR (shallow virtual
reassembly) to conserve space in vnet_buffer. Since max rewrite length
is currently pre-data size (128), u8 is sufficient to hold that value.
Type: refactor
Change-Id: I5374bb396e178245b870cb0bbf1370d2a54230bc
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Neale Ranns [Thu, 21 Nov 2019 09:37:41 +0000 (09:37 +0000)]
fib: Another realloc burn
Type: fix
harmless this time since it only affects the debug statement, but
it still crashes an ASAN image.
Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: Ie02e7fe3014b98b9f8c83447f59017a380ab3948
Benoît Ganne [Thu, 21 Nov 2019 15:53:31 +0000 (16:53 +0100)]
misc: add gdb helpers for vlib buffers
Type: feature
Change-Id: I7e619040857310fffd33c355f6c491a55f7a4a02
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Hongjun Ni [Tue, 26 Nov 2019 11:36:17 +0000 (19:36 +0800)]
lb: lb_add_del_vip and lb_add_del_as doesn't work.
Ticket: FDIO-753
Type: fix
Change-Id: I4a8cf06970b658dfa15768459a3ff76571d6dfff
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
Benoît Ganne [Mon, 25 Nov 2019 15:28:50 +0000 (16:28 +0100)]
build: remove valgrind leftovers
Valgrind never really worked well with VPP. Remove the partial support.
Type: refactor
Change-Id: Ic09773fd85f904fdd2240bc161e23a4c2b196cf6
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Matthew Smith [Mon, 18 Nov 2019 15:35:24 +0000 (09:35 -0600)]
ethernet: all dmac checks include secondary addrs
Type: feature
In ethernet_input_inline(), when verifying that the destination
mac address on a received packet matches the mac address of the
interface where the packet was received, check the secondary
addresses on the interface if the primary address does not match.
This was done previously for eth_input_single_int().
Change-Id: I45716184dd789d83852271f9c79cedf5f6cbf75b
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Neale Ranns [Fri, 8 Nov 2019 12:42:31 +0000 (12:42 +0000)]
fib: Table Replace
Type: feature
from the API doc, a table replace is:
"
The use-case is that, for some unspecified reason, the control plane
has a very different set of entries it wants in the table than VPP
currently has. The CP would thus like to 'replace' VPP's current table
only by specifying what the new set of entries shall be, i.e. it is not
going to delete anything that already eixts.
the CP delcartes the start of this procedure with this begin_replace
API Call, and when it has populated all the entries it wants, it calls
the below end_replace API. From this point on it is of coursce free
to add and delete entries as usual.
The underlying mechanism by which VPP implements this replace is
purposefully left unspecified.
"
In the FIB, the algorithm is implemented using mark and sweep.
Algorithm goes:
1) replace_begin: this marks all the entries in that table as 'stale'
2) download all the entries that should be in this table
- this clears the stale flag on those entries
3) signal the table converged: ip_table_replace_end
- this removes all entries that are still stale
this procedure can be used when an agent first connects to VPP,
as an alternative to dump and diff state reconciliation.
Change-Id: I168edec10cf7670866076b129ebfe6149ea8222e
Signed-off-by: Neale Ranns <nranns@cisco.com>
Andrew Yourtchenko [Mon, 25 Nov 2019 18:25:46 +0000 (18:25 +0000)]
tap: fix coverity warning 205875
check the return result from fcntl, and if error, behave
the same way the expansion of _IOCTL macro does.
Type: fix
Change-Id: I6d537d1bdedae64470612aef64b46e07387fe84b
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Florin Coras [Mon, 25 Nov 2019 17:41:37 +0000 (09:41 -0800)]
tcp: honor cc pacing rate when resetting pacer
Type: fix
Change-Id: I36558b67d38266def9dfe45777d9757a33ce2569
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Sat, 23 Nov 2019 01:38:25 +0000 (17:38 -0800)]
tcp: invalidate expired timer handles before dispatching
Type: fix
Change-Id: Icc8cd05cb9c1844a9f8b0399797ad554f4ccf1a1
Signed-off-by: Florin Coras <fcoras@cisco.com>
MathiasRaoul [Mon, 25 Nov 2019 15:09:34 +0000 (15:09 +0000)]
quic: update quicly to v0.0.6-vpp
Type: feature
Change-Id: Ib604cfdd55b72f0bc605d1d1e8b387e532b0a255
Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
Paul Vinciguerra [Sat, 23 Nov 2019 03:12:31 +0000 (22:12 -0500)]
tests: fix typo in test_vlib
Trailing comma made last line of a multi-line command a new command.
Logs:
22:39:49,695 Return value: cli_inband_reply(_0=794, context=2, retval=0, reply='loop0\n')
22:39:49,695 CLI: packet-generator new {
name vlib
limit 15
size 128-128
interface loop0
node ethernet-input
data {
IP6: 00:d0:2d:5e:86:85 -> 00:0d:ea:d0:00:00
ICMP: db00::1 -> db00::2
incrementing 30
}
22:39:49,695 Calling cli_inband('cmd':'packet-generator new {\n name vlib\n limit 15\n size 128-128\n interface loop0\n node ethernet-input\n data {\n IP6: 00:d0:2d:5e:86:85 -> 00:0d:ea:d0:00:00\n ICMP: db00::1 -> db00::2\n incrementing 30\n }\n\n','context':3,'_vl_msg_id':792)
22:39:49,696 Return value: cli_inband_reply(_0=794, context=3, retval=0, reply='')
22:39:49,696 CLI: }
22:39:49,696 Calling cli_inband('cmd':'}\n\n','context':4,'_vl_msg_id':792)
22:39:49,697 Return value: cli_inband_reply(_0=794, context=4, retval=-1, reply="unknown inpu...
22:39:49,697 }
FAIL reply unknown input `}'
Type: fix
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Change-Id: Iaa82d432677d742e766e42383364adda5bd87665
Dave Barach [Fri, 22 Nov 2019 22:42:58 +0000 (17:42 -0500)]
vlib: autogenerate <node> before <last-in-arc> constraints
If an arc declaration includes '.last_in_arc = "some-node"', assume
that folks mean it and add explicit ordering constraints.
Fix the "arp" arc declaration which claimed that the arc ends at
arp-disabled, but the arc really ends at error-drop.
Type: fix
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ie2de1fb30091671cbc7c62770903a2e05987f141
Ole Troan [Sun, 24 Nov 2019 14:22:55 +0000 (15:22 +0100)]
papi: fix papi default handling
Type: fix
Change-Id: I91063e2096fb09c34898a611184c8381fccdb333
Signed-off-by: Ole Troan <ot@cisco.com>
Paul Vinciguerra [Thu, 21 Nov 2019 22:16:18 +0000 (17:16 -0500)]
vppapigen: clean up typos in c generated code
Type: style
Change-Id: Ib8febf8ea83f7ce1aeb93f227d00d3111fbef4ab
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Paul Vinciguerra [Sat, 23 Nov 2019 15:13:39 +0000 (10:13 -0500)]
vppapigen: fix i64 format string
Type: fix
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Change-Id: I6b42bb9fb9d2e57f523022e321770bb1ff7415f3
Paul Vinciguerra [Wed, 20 Nov 2019 04:30:53 +0000 (23:30 -0500)]
vppapigen: fix typo on f64 endian_string
Type: fix
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Change-Id: Id47e3f2c348f07c84d9c2499122fa25d6c74fb13
Paul Vinciguerra [Sun, 24 Nov 2019 02:02:27 +0000 (21:02 -0500)]
papi: add missing base types to serializer
File "/vpp/src/vpp-api/python/vpp_papi/vpp_serializer.py", line 512, in __init__
'Unknown message type {}'.format(f_type))
vpp_papi.vpp_serializer.VPPSerializerValueError: Unknown message type i16
Type: fix
Change-Id: Ibf73dc8df90153db586afe614e47be49739bac2f
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Paul Vinciguerra [Sun, 24 Nov 2019 04:49:57 +0000 (23:49 -0500)]
papi: add repr to packer types for troubleshooting
Type: feature
Change-Id: Id3cd89eca0deddb70f506239f9d0543fc28cf7f4
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Nathan Skrzypczak [Thu, 21 Nov 2019 15:45:30 +0000 (16:45 +0100)]
quic: Refactor quic rx callback for offload
Type: refactor
Change-Id: I1d90c8807e7eea4a77403bafc0628ec0d393c572
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Nathan Skrzypczak [Fri, 22 Nov 2019 10:26:19 +0000 (11:26 +0100)]
hsa: Improve for mq-intensive
Type: feature
* Remove the retry mechanism in case of failed connect
* Limit the number of simultaneous connects (default
to mqsize / 2)
Change-Id: I7a0ed2e349ee3e8ca71639c2a2ec4cdf84f5c13e
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Damjan Marion [Tue, 19 Nov 2019 16:58:36 +0000 (17:58 +0100)]
build: add build types helpstring to cmake project
Type: feature
Change-Id: Ia016fee107859d5ad22fe7959c8e9d32758e0787
Signed-off-by: Damjan Marion <damarion@cisco.com>
Nathan Skrzypczak [Wed, 20 Nov 2019 16:34:58 +0000 (17:34 +0100)]
quic: Remove qctx opening pool
Type: fix
We don't need the pool anymore as we store
the ctx index in the underlying UDP session opaque
Change-Id: Iec9be9c84a1f929d94b084176a143d304b0acb83
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Fan Zhang [Fri, 22 Nov 2019 11:40:23 +0000 (11:40 +0000)]
crypto-ipsecmb: use single GCM API
Type: refactor
Use ipsecmb single GCM enc/dec API to furthuer improve single
buffer performance for small packets.
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: I2d34ff50d34b09f194fc0c88b6e9a3928a86fc33
Andrew Yourtchenko [Mon, 18 Nov 2019 10:23:54 +0000 (10:23 +0000)]
vppinfra: fix coverity issue 205691 in pmalloc
set the address to MMAP_FAILED if mmap has failed,
so that we do not attempt to free it in the error
handling path.
Change-Id: I6e6b51a365fb68086dc20aa40a676a36af59a3ba
Type: fix
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Ole Troan [Tue, 19 Nov 2019 03:38:20 +0000 (04:38 +0100)]
papi: support default for type alias decaying to basetype
Add PAPI support for VppTypeAlias decaying to BaseType.
E.g vl_api_interface_index_t sw_if_index [default=0xffffffff]
Type: feature
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I2061392157c9c11fbb0ff9e5406ea65489b017e9
Fan Zhang [Mon, 4 Nov 2019 16:32:28 +0000 (16:32 +0000)]
crypto-ipsecmb: bump to intel-ipsec-mb version 0.53
This patch bumps the engine's intel-ipsec-mb version from 0.52 to
0.53, to avail performance improvement brought by the library.
Type: feature
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: I939803015dece91ca59a7fe2120e2131d29e1c55
Filip Tehlar [Mon, 18 Nov 2019 22:21:37 +0000 (22:21 +0000)]
ipsec: fix trailing data overflow
IPsec writes trailing data at the end of the buffer without checking
if there is enough space. If the packet length equals buffer size this
leads to rewiting of the next buffer header in the pool.
Type: fix
Change-Id: Iceb27bb724c7243863a4b532aad0808051b7d74c
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Filip Tehlar [Sun, 20 Oct 2019 19:04:37 +0000 (19:04 +0000)]
ikev2: install/remove ipsec tunnels from main thread
Type: fix
Change-Id: I5ad27b05c34494c5a2ea28706130612b547aaf67
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Florin Coras [Thu, 21 Nov 2019 02:34:58 +0000 (18:34 -0800)]
tcp: add no csum offload config option
Type: feature
Change-Id: I77b3ee74229f3c85e99f74bf9000cb5aedbc1760
Signed-off-by: Florin Coras <fcoras@cisco.com>
jiangxiaoming [Thu, 21 Nov 2019 15:34:56 +0000 (23:34 +0800)]
vcl: if the ldp user send buf with 0 len, it will assert failed.
Type: fix
Change-Id: I8ff60cf8726c463491c687e170ad0b1026a1303a
Signed-off-by: jiangxiaoming <jiangxiaoming@outlook.com>
Paul Vinciguerra [Thu, 21 Nov 2019 00:15:46 +0000 (19:15 -0500)]
build: Update missing package
CI jobs are being marked as unstable.
18:02:47 ---> python-tools-install.sh
18:02:47 Listing pip packages
18:02:48 DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
18:02:48 Generating Requirements File
18:02:48 The virtual environment was not created successfully because ensurepip is not
18:02:48 available. On Debian/Ubuntu systems, you need to install the python3-venv
18:02:48 package using the following command.
18:02:48
18:02:48 apt-get install python3-venv
18:02:48
18:02:48 You may need to use sudo with that command. After installing the python3-venv
18:02:48 package, recreate your virtual environment.
Type: fix
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Change-Id: Ifb9e8547bce2310f1ce6d9b70f11ceef6f0a8576
Florin Coras [Thu, 14 Nov 2019 03:09:47 +0000 (19:09 -0800)]
session tcp: support pacer idle timeouts
Type: feature
To avoid excessive bursts, pacer must be provided with an estimated rtt
for the connection. That's used to compute an idle timeout, i.e., time
after which the bucket is reset to 1 mtu due to inactivity. For now,
idle timeout is computed as 5% of the rtt.
Change-Id: Ia0b752fe7b4ad0ce97b477fb886b0133a2321541
Signed-off-by: Florin Coras <fcoras@cisco.com>
Dave Barach [Wed, 20 Nov 2019 14:28:31 +0000 (09:28 -0500)]
classify: per-interface rx/tx pcap capture filters
Finish the feature, and fix a couple of doc bugs
Type: feature
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I2c62745fda137776204c8fc4fca0e7e288051573
Dave Barach [Tue, 19 Nov 2019 15:36:41 +0000 (10:36 -0500)]
vlib: improve code coverage, part deux
Type: test
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: If31f4b50da7a6e4a9704ceb3415c582143c08355
Neale Ranns [Wed, 20 Nov 2019 08:34:58 +0000 (08:34 +0000)]
ipsec: Honour the renumber argument when selecting show instnace
Type: fix
Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: If41f154c354772f5b32cfd35ea231b8f59c2c0c5
Benoît Ganne [Wed, 20 Nov 2019 08:07:50 +0000 (09:07 +0100)]
vlib: pci: fix non-NULL terminated C-string
Type: fix
Change-Id: I6f25d9295b973ab7133071b6dc325ecd86386898
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Filip Tehlar [Wed, 23 Oct 2019 20:39:38 +0000 (20:39 +0000)]
ikev2: fix memory leak in child SA
traffic selector vector isn't freed when freeing child SA
Type: fix
Change-Id: Icf6c240db5093f45d141451bad6f6627a61821cf
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Dave Barach [Wed, 20 Nov 2019 15:20:06 +0000 (10:20 -0500)]
misc: fix 4 coverity warnings in srv6-mobile
Type: fix
Ticket: VPP-1771
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I48854befbd3d1514ad8b41ac5b194259c2a577a4
Chenmin Sun [Thu, 17 Oct 2019 23:35:16 +0000 (07:35 +0800)]
flow: Add GTP support
Type: feature
Adding:
VNET_FLOW_TYPE_IP4_GTPC
VNET_FLOW_TYPE_IP4_GTPU
VNET_FLOW_TYPE_IP4_GTPU_IP4
VNET_FLOW_TYPE_IP4_GTPU_IP6
VNET_FLOW_TYPE_IP6_GTPC
VNET_FLOW_TYPE_IP6_GTPU
VNET_FLOW_TYPE_IP6_GTPU_IP4
VNET_FLOW_TYPE_IP6_GTPU_IP6
in this patch
Signed-off-by: Chenmin Sun <chenmin.sun@intel.com>
Change-Id: I4ad53895b5ac0771432bb039b8c79e48e3c19f25
Damjan Marion [Fri, 8 Nov 2019 16:59:56 +0000 (17:59 +0100)]
tap: multiqueue support
Type: feature
Change-Id: I7dcc8c6911d02729b3bda1b3a21a211c82c3b949
Signed-off-by: Damjan Marion <damarion@cisco.com>
Nathan Skrzypczak [Wed, 20 Nov 2019 14:39:34 +0000 (15:39 +0100)]
quic: Increase logging
Type: fix
Change-Id: I689649ad163e76fecdabe96a8c2be5be3068ffde
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Benoît Ganne [Wed, 20 Nov 2019 13:32:38 +0000 (14:32 +0100)]
virtio: fix use-after-free
Type: fix
Change-Id: Ic67d9da65d937f56ecf994a5504c6351624b32ff
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Florin Coras [Wed, 20 Nov 2019 02:22:41 +0000 (18:22 -0800)]
session tcp: add opaque data to show cli
Type: feature
Change-Id: Iac8d4ed4997c4fce802589585e6a9424957152ca
Signed-off-by: Florin Coras <fcoras@cisco.com>
Dave Wallace [Tue, 19 Nov 2019 23:49:49 +0000 (18:49 -0500)]
bash: vpp-make-test bash function
- A bash function which enhances reproduction,
debugging, and verification of intermittent
make test failures.
Type: test
Change-Id: I2faf56829d0633963506e136a68b77b8a1b32236
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Florin Coras [Wed, 20 Nov 2019 01:23:22 +0000 (17:23 -0800)]
session: fix transport proto unformat
Type: fix
Change-Id: I38a5cbd53b278c21142bac4ee1bbe5dc8bcaaac9
Signed-off-by: Florin Coras <fcoras@cisco.com>
Dave Wallace [Tue, 19 Nov 2019 15:45:26 +0000 (15:45 +0000)]
quic: handle duplicate packet from quicly
Type: fix
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: Ia4b1eb3c704374e27b260d88ae6ab628754468d3
Nathan Skrzypczak [Tue, 19 Nov 2019 15:48:58 +0000 (16:48 +0100)]
session: Fix out of order mq
Type: fix
Change-Id: I522db62db50fc0fa46a6dd7cddd32e2f09b5e5a6
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Dave Wallace [Tue, 19 Nov 2019 15:28:53 +0000 (15:28 +0000)]
srv6-mobile: fix yamllint failure in FEATURE.yaml
Type: fix
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: Ia28cf193f7fed2a1702774f3f74f505cc7bad954
Benoît Ganne [Tue, 19 Nov 2019 12:40:48 +0000 (13:40 +0100)]
dpdk: fix non-NULL terminated string
Type: fix
Change-Id: Ic221cd4fcad89aece71239ed96152bf0311f3286
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Florin Coras [Thu, 24 Oct 2019 02:28:08 +0000 (19:28 -0700)]
session: more show cli output
Type: feature
Change-Id: I7f64fb1a13d90fa1679ca2ca35206092682f0c8f
Signed-off-by: Florin Coras <fcoras@cisco.com>
Tetsuya Murakami [Wed, 6 Nov 2019 19:05:51 +0000 (11:05 -0800)]
srv6-mobile
Type: feature
Plug-in for IPv6 Segment Routing Mobile
This funcion was developed by
Signed-off-by: Satoru Matsuchima <satoru.matsushima@gmail.com>
Signed-off-by: Filip Varga <filipvarga89@gmail.com>
Signed-off-by: Tetsuya Murakami <tetsuya.mrk@gmail.com>
Signed-off-by: Tetsuya Murakami <tetsuya.mrk@gmail.com>
Change-Id: Ie995adc73d8f8d444339aab71619c3599e69f12d
Signed-off-by: Tetsuya Murakami <tetsuya.mrk@gmail.com>
Andrew Yourtchenko [Mon, 18 Nov 2019 10:37:24 +0000 (10:37 +0000)]
map: fix coverity issue 205684
ip4_map_get_domain returns d0 = 0 in case of no domain,
and sets error MAP_ERROR_NO_DOMAIN. Rearrange the clauses
in the logical check that relies on dereferencing d0
such that boolean shortcutting takes care of not
referencing the null pointer.
Change-Id: I378adc120836ea920fc530808ac3c1f98ab8d593
Type: fix
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Filip Varga [Mon, 9 Sep 2019 14:55:19 +0000 (16:55 +0200)]
nat: respect arc features (multi worker)
Type: fix
Ticket: VPP-1747
Change-Id: If282aae3e584d7017c200f897b99c8a37eb1b2e5
Signed-off-by: Filip Varga <fivarga@cisco.com>
Jon Loeliger [Thu, 14 Nov 2019 22:44:40 +0000 (16:44 -0600)]
map: Fix TCP MSS clamping for MAP-E traffic.
Original MSS clamp patch by Vladimir Ratnikov.
Modified to apply only to TCP packets.
Type: fix
Test: Wrote new unit test to ensure MAP-E TCP MSS clamping.
Change-Id: I77c69714a2e3cc3b7473aa12b645243bb595c2a2
Signed-off-by: Vladimir Ratnikov <vratnikov@netgate.com>
Signed-off-by: Jon Loeliger <jdl@netgate.com>
Srikanth Akula [Mon, 18 Nov 2019 19:56:51 +0000 (11:56 -0800)]
session: Increasing the Header lengthe size
Type: feature
For some deployments(mobile traffic) we need few extra bytes of space
Signed-off-by: Srikanth Akula <srakula@cisco.com>
Change-Id: I3367561dc23dbb8b266dea583e23b9430fd7dcab
Srikanth Akula [Mon, 18 Nov 2019 19:49:58 +0000 (11:49 -0800)]
session: extra checks in session validation
Type: fix
Adding few extra checks while doign session validationwq!
Signed-off-by: Srikanth Akula <srakula@cisco.com>
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I4d18b5ad97d1802ce38a07aeb56b5f35939c1187
Dave Barach [Mon, 18 Nov 2019 22:16:49 +0000 (17:16 -0500)]
vlib: improve code coverage in src/vlib
Type: test
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I2dc4c09730f77931a2b484a6dd5dc669068f8e57
Dave Barach [Thu, 14 Nov 2019 13:03:48 +0000 (08:03 -0500)]
api: configurable binary api client rx pthread fcn
Add vl_client_connect_to_vlib_thread_fn (...) and export the
memory_client_main_t definition.
If you use this new API, make sure not to miss the setjmp / longjmp
dance shown in .../src/vlibmemory/memory_client.c:rx_thread_fn(...),
which is required for the rx pthread to terminate cleanly; please
process client delete reply messages in the rx thread...
Type: refactor
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ia67038ec59e2e14b174c67afca15b2c3f67a4d20