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
Neale Ranns [Fri, 15 Nov 2019 15:03:27 +0000 (15:03 +0000)]
ipsec: Coverity warnings
Type: fix
Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I6bb6c6be62f98ac9a059469c81a5f4476b96e96e
Dave Barach [Sun, 17 Nov 2019 23:38:07 +0000 (18:38 -0500)]
nsim: add FEATURE.yaml
Type: docs
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I75d1efc503135bdc224f563b4e02b449904bfa08
Alexander Chernavin [Thu, 31 Oct 2019 14:38:43 +0000 (10:38 -0400)]
bfd: allow IPv6 link-local address as local address
Type: fix
Change-Id: Ia3dacd2628591f7ba9710e8e4d68df97ae21935c
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Florin Coras [Fri, 15 Nov 2019 07:32:08 +0000 (23:32 -0800)]
tcp: close session on retransmit failure
Type: fix
Since the connection is closed, also mark the session as closed.
Change-Id: Ica3849c3ff12fa7a65ba64e563a60d6c94f5ceca
Signed-off-by: Florin Coras <fcoras@cisco.com>
Dave Wallace [Fri, 15 Nov 2019 23:18:59 +0000 (18:18 -0500)]
quic: replace quicly patch with upstreamed fix
- Replace the solution to the quicly time skew assert
with h2o/quicly PR#222 which was merged upstream
after verification that it resolved the vpp issue.
Type: refactor
Change-Id: I26df08e4108b054a28f50c964ddff1c80a592339
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Dave Wallace [Fri, 15 Nov 2019 21:58:48 +0000 (16:58 -0500)]
build: fix docs/doxygen targets
- Add missing dependencies
- Fix clean/wipe to remove generated files
- Fix doxygen src variable
Type: fix
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: If6b2797e8af3f2e735759fab5841a0b4576ed7cc
Dave Wallace [Thu, 14 Nov 2019 17:19:32 +0000 (12:19 -0500)]
build: make checkstyle-* targets and cleanup
- Add new make targets:
checkstyle-commit
checkstyle-test (alias test-checkstyle)
checkstyle-all
test-wipe-papi (papi-wipe deprecated)
retest-all
retest-all-debug
install-deps (alias install-dep)
install-ext-dep (alias install-ext-deps)
- Fix .PHONY dependencies
- Cleanup redundant target commands
Type: refactor
Change-Id: I08b0ef459d421a09fb929aee5cd6baec329931b7
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Neale Ranns [Wed, 6 Nov 2019 13:13:01 +0000 (13:13 +0000)]
tests: Add UT to test incomplete MPLS adjacencies send ARP requests
Type: test
Change-Id: I81e07233aec54c786e4e9beb8c4f06d0a3dca90f
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Mon, 11 Nov 2019 08:32:34 +0000 (08:32 +0000)]
tests: Remove the unrequired VPP IP address/prefix class wrappers
Type: refactor
Change-Id: I204f3f8eebc5f5d5a377e91262f91c615fd00168
Signed-off-by: Neale Ranns <nranns@cisco.com>
Aleksander Djuric [Tue, 12 Nov 2019 09:36:08 +0000 (12:36 +0300)]
ikev2: add definitions for libssl
Type: fix
Signed-off-by: Aleksander Djuric <aleksander.djuric@gmail.com>
Change-Id: I2fe36e2e4e8ce2906a6573301c7fca3cbab571c3
Aleksander Djuric [Mon, 11 Nov 2019 12:30:24 +0000 (15:30 +0300)]
ikev2: correct byte order in api handlers
Type: fix
Signed-off-by: Aleksander Djuric <aleksander.djuric@gmail.com>
Change-Id: I186286b8959ae138528a5171c22d3e1b00f46baf
Signed-off-by: Aleksander Djuric <aleksander.djuric@gmail.com>
Andy Gospodarek [Tue, 12 Nov 2019 22:55:01 +0000 (17:55 -0500)]
dpdk: Enable bnxt PMD
This adds support to compile the bnxt PMD that supports Broadcom's
10/25/40/50/100/200 Gbps NICs. Tested with modified DPDK driver on
x86_64 and aarch64 targets that is pending upstream acceptance, but
should compile just fine today.
Type: feature
Signed-off-by: Andy Gospodarek <gospo@broadcom.com>
Change-Id: I735a991c4cae4fa77e5605094facea54b781a1db
Damjan Marion [Fri, 8 Nov 2019 16:41:06 +0000 (17:41 +0100)]
virtio: refactor virtio-pci logging
Type: refactor
Change-Id: I34306c1206b2bf5f521be6c6b78074ccf9259a08
Signed-off-by: Damjan Marion <damarion@cisco.com>
Alexander Chernavin [Wed, 6 Nov 2019 14:58:18 +0000 (09:58 -0500)]
interface: send proper link/admin status in event
Type: fix
Change-Id: I7cba9f911abe1ae82d8381a48f65e81b615ede76
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Neale Ranns [Wed, 6 Nov 2019 11:17:54 +0000 (11:17 +0000)]
fib: Copy the prefix before use in case the underlying entry reallocs.
Type: fix
all other uses of the fib_entry_get_preifx in the code base don't pass
the prefix into recursive functions.
Change-Id: Ic1c56acd406a733b215ee2fd98b6bed58b490a4f
Signed-off-by: Neale Ranns <nranns@cisco.com>
Carl Smith [Wed, 13 Nov 2019 01:37:39 +0000 (14:37 +1300)]
vcl: Handle newer Glibc (>2.28) where fcntl is actually fcntl64
Glibc 2.28 now provides fcntl64 which is used instead of fcntl
by defining fcntl as fcntl64 in fcntl.h
Type: fix
Change-Id: I87fedfbf3e0d241aafdc920e90f824d71353e0e6
Signed-off-by: Carl Smith <carl.smith@alliedtelesis.co.nz>
Dave Barach [Wed, 13 Nov 2019 22:12:47 +0000 (17:12 -0500)]
dhcp: option 61 add missing type field
Apparently some dhcp servers care about it. Also fixed the unit-test.
Type: fix
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: If0af70d624f4122b0339f20f84be047053776fe8
Dave Barach [Tue, 12 Nov 2019 22:51:18 +0000 (17:51 -0500)]
vlib: improve vlib "make test" code coverage
Type: test
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Idf982fddad9e577595d2e05ac78c39705e9d616d
Dave Wallace [Wed, 13 Nov 2019 17:32:28 +0000 (12:32 -0500)]
build: Revert "build: fix make checkstyle"
This reverts commit
069e2a734cf75f4d151efe49d1efc51bc82cedb2.
Reason for revert: The vpp-verify-checkstyle-master build executor now
runs 'make install-dep'
Type: fix
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I2ab6bee642b7ed631d2aa06203c76c3d0ca01c9e
Benoît Ganne [Fri, 25 Oct 2019 14:53:10 +0000 (16:53 +0200)]
gtpu: check packet has enough data for gtpu header
Type: fix
Change-Id: I604e4dd2b29962bfcd8e950a0074637dab53c79e
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Damjan Marion [Wed, 13 Nov 2019 09:12:53 +0000 (10:12 +0100)]
virtio: feature arc have higher priority than redirect
Type: fix
Fixes:
8389fb9
Change-Id: Ie159eb444b28b36a7af86049b80fba4e49be93cb
Signed-off-by: Damjan Marion <damarion@cisco.com>
Benoît Ganne [Wed, 6 Nov 2019 13:21:07 +0000 (14:21 +0100)]
crypto: do not crash if no crypto engine loaded
Do not overflow ops_handlers vector.
Type: fix
Change-Id: I8d5e7fb8125a7bd87ecfe6f4f1390fb9f43dad8f
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Florin Coras [Wed, 13 Nov 2019 05:47:41 +0000 (21:47 -0800)]
build: fix make checkstyle
Type: fix
Comment out yamllint for now.
Change-Id: Id40a5aef3fa15b2c6e9d7fe6fd6201923593b4cd
Signed-off-by: Florin Coras <fcoras@cisco.com>
Paul Vinciguerra [Tue, 12 Nov 2019 17:11:00 +0000 (12:11 -0500)]
papi: enhance MACAddress() equality
Allows for comparison without needing str(MACAddress())
Traceback (most recent call last):
File "/vpp/test/test_ip6.py", line 1074, in test_icmpv6_echo
self.assertEqual(ether.dst, self.pg0.remote_mac)
AssertionError: '02:01:00:00:ff:02' != MACAddress(02:01:00:00:ff:02)
Type: feature
Change-Id: Ife1cbfc74d477695d15b33a19da7dd2fa241a348
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Paul Vinciguerra [Wed, 30 Oct 2019 01:53:25 +0000 (01:53 +0000)]
tap: Move client registration check to top
Type: fix
Change-Id: I33dc4cf7b6c69f74c7bf4971ce59442678b878ef
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Paul Vinciguerra [Mon, 11 Nov 2019 23:34:59 +0000 (18:34 -0500)]
docs: update logging configuration section.
Type: docs
Change-Id: I6359623b2eadb404fc391e4c4608fff86020f53f
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Damjan Marion [Tue, 12 Nov 2019 10:00:27 +0000 (11:00 +0100)]
virtio: remove unused code
Type: refactor
Change-Id: I25f1cc3969c6a6ec1384079dc437537acd2ec152
Signed-off-by: Damjan Marion <damarion@cisco.com>
Jon Loeliger [Fri, 8 Nov 2019 21:05:23 +0000 (15:05 -0600)]
interface: Allow VLAN tag-rewrite on non-sub-interfaces too.
This fix was first made in
commit
fdea5c6a00b74971dbb1b7ec4e25839a871006ca
but was subsequently lost in
commit
053204ab039d34a990ff0e14c32ce3b294fcce0e
Added unit test for setting VTR on a non-sub-interface to
help ensure no future regressions of this ability.
Type: fix
Change-Id: I71ce2684fb72383741455829ae2d397ea2e95eae
Signed-off-by: Jon Loeliger <jdl@netgate.com>
Carl Smith [Tue, 12 Nov 2019 01:57:37 +0000 (14:57 +1300)]
vcl: fix nonblocking accept with >1 event in the queue
We discard unwanted events until we get an ACCEPTED.
But if we are non-blocking we need to check the queue
length every time and EAGAIN if empty before waiting.
Type: fix
Signed-off-by: Carl Smith <carl.smith@alliedtelesis.co.nz>
Change-Id: Ie0c7e5cb00f0d37d2e1534f8bb384221ff56f2e3
Neale Ranns [Tue, 12 Nov 2019 17:16:47 +0000 (17:16 +0000)]
ip: IP address and prefix types (moved from LISP)
Type: refactor
Change-Id: I2c6b59013bfd21136a2955442c779685f951932b
Signed-off-by: Neale Ranns <nranns@cisco.com>
Ole Troan [Mon, 14 Oct 2019 21:07:06 +0000 (23:07 +0200)]
papi: add wrapper to validate crc manifest
If a client application is built against 19.08, it can dump the "manifest" of API signatures.
Either the all APIs (--dump) or the APIs it is interested in (--dumpfiltered).
When the developers of said client application wants to verify that it works with VPP 20.01.
It can connect to VPP and --validate the old mainfest file, and will be told a list of
messages (both request and reply) that has changed.
import argparse
from vpp_papi import VPP
import sys
import argparse
parser = argparse.ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument("--dump", action="store_true")
group.add_argument("--dumpfiltered", action="store_true")
group.add_argument("--validate", action="store_true")
args = parser.parse_args()
vpp = VPP(use_socket=True)
vpp.connect(name='apimanifest')
if args.validate:
# Verify manifest
message_table = eval(sys.stdin.read())
missing = vpp.validate_message_table(message_table)
print ('Changed message signatures: {}'.format(missing))
elif args.dump:
# Output manifest to stdout
print('{}'.format(vpp.dump_message_table()))
elif args.dumpfiltered:
# Output manifest to stdout
filterlist = eval(sys.stdin.read())
print('{}'.format(vpp.dump_message_table_filtered(filterlist)))
vpp.disconnect()
Type: feature
Change-Id: I7e708b36f599ed88e4864970c8593cc2fe5fbf61
Signed-off-by: Ole Troan <ot@cisco.com>
Nathan Skrzypczak [Thu, 7 Nov 2019 16:55:01 +0000 (17:55 +0100)]
session: session enable in multiworker
Having session enable in config file wasn't
working for multiple workers
Type: fix
Change-Id: Ib29ba540a6e1d714e7e470f4c7518e3d266fe7ca
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Florin Coras [Mon, 11 Nov 2019 21:58:34 +0000 (13:58 -0800)]
tls: fix picotls coverity warnings
Type: fix
Change-Id: Ib5c9de9c9053b8339f514ff648a75c3b56b55215
Signed-off-by: Florin Coras <fcoras@cisco.com>
Benoît Ganne [Wed, 6 Nov 2019 13:36:38 +0000 (14:36 +0100)]
bonding: fix non-null terminated vector
Type: fix
Change-Id: Iea7d73a304236b525b95bdad3bfdb41e711f8cdb
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Lijian Zhang [Fri, 27 Sep 2019 08:25:35 +0000 (16:25 +0800)]
crypto: not use vec api with opt_data[VNET_CRYPTO_N_OP_IDS]
opt_data is defined as a array, while in some code, e.g., function
vnet_crypto_get_op_type, it's used as vec.
vec api is not applicable to static arraies.
src/vnet/crypto/crypto.h:234:70: error: address of array 'cm->opt_data' will always evaluate to 'true' [-Werror,-Wpointer-bool-conversion]
vnet_crypto_op_data_t *od = ({ do { if ((0 > 0) && ! ((id) < ((cm->opt_data) ? (((vec_header_t *) (cm->opt_data) - 1)->len) : 0)))
Type: fix
Change-Id: I0b6754406e4216ca975bc1da4b5d4ce293a9bb45
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Florin Coras [Fri, 8 Nov 2019 01:00:15 +0000 (17:00 -0800)]
svm: improve fifo segment verbose cli
Type: feature
Also make sure that size for dlmalloc allocated private segments is
accurate.
Change-Id: I6ec81ff99a13dd29b9664d768835a68019f0c96c
Signed-off-by: Florin Coras <fcoras@cisco.com>
Dave Barach [Fri, 8 Nov 2019 13:22:28 +0000 (08:22 -0500)]
vlib: fix handoff queue sequencing bug
Set vm->check_frame_queues after actually enqueuing a frame. Under
obscure circumstances, the code managed to set check_frame_queues so
far in advance that 100 dispatch cycles could elapse before the frame
enqueue succeeded. That resulted in permanent lack of queue service.
Type: fix
Ticket: VPP-1734
Fixes: 18191
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: If2d398202b4ba2b96581d25e8142daef3f74c9e5
Florin Coras [Wed, 30 Oct 2019 16:22:14 +0000 (09:22 -0700)]
tcp: improve lost rxt heuristic
Type: feature
- retransmit first unacked segment if newer retransmitted packets
are acked
- avoid spurious retransmits if recovery ends with sacked bytes
Change-Id: Ic1b56d22e025822edb7609afb136e47440ea6032
Signed-off-by: Florin Coras <fcoras@cisco.com>
Ole Troan [Wed, 9 Oct 2019 11:33:19 +0000 (13:33 +0200)]
ip: functional interface to ip fragmentation
This provides a functional interface to IP fragmentation.
Allowing external features to fragment. Supports
arbitrary encap size, for e.g. MPLS or inner fragmentation
of tunnels.
This also removed dual loop in MAP that was fundamentally broken.
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Ia89ecec8ee3cbe2416edbe87630fdb714898c2a8
Signed-off-by: Ole Troan <ot@cisco.com>
Dave Barach [Sun, 10 Nov 2019 20:46:31 +0000 (15:46 -0500)]
dhcp: ipv6 prefix delegation improvements
Autoconfigure router advertisements for delegated prefixes.
Clean up a longstanding issue. If vpp receives a dhcpv6 renew reply,
do NOT reset per-delegated-prefix timers. That prevented vpp from
sending a solicit to renew the delegation on time. That, in turn
caused the RA code to send advertisements with valid_time =
preferred_time = 0. That causes almost any downstream client to throw
away its delegated address.
Miscellaneous changes
o src/vnet/ip/ip6_neighbor.c - always memset elements allocated from pools
to zero. DGMS.
o Remove debug spew from the ipv6 connection-tracker plugin
Type: feature
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I428feccdc47efdc413898600e0d62916928a6eb7
Simon Zhang [Mon, 14 Oct 2019 11:41:51 +0000 (19:41 +0800)]
tls: picotls engine basic enabling for TLS
Type: feature
Change-Id: I700d999771d837604dd0571741f4f0bcbec82403
Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>