vpp.git
4 years agoipsec: Changes to make ipsec encoder/decoders reusable by the plugins 19/23419/19
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>
4 years agotests: GRE over IPSec unit tests 43/23743/2
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

4 years agovppinfra: preserve total_cpu_time across clock freq adjustment 09/23709/4
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

4 years agotests: raise exception in vpp_interface for invalid sw_if_index 15/23715/3
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>
4 years agobonding: add/del secondary mac address callback 36/23436/5
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>
4 years agotests: BFD python3 changes 17/23717/2
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>
4 years agodhcp: add FEATURE.yaml for the DHCP plugin 00/23700/3
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

4 years agosession: no cleanup notification for forced deletes 01/23701/2
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>
4 years agoclassify: debug cli %v not %s 91/23691/1
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

4 years agoip: init l3_hdr_offset when pushing an ip4 header 48/23648/2
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>
4 years agovlib: add 'wait' cli command 04/23004/10
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>
4 years agotests: display stdout and stderr when output caching is disabled 87/23587/2
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>
4 years agonat: fix dhcp client on outside interface with output feature 08/23608/2
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>
4 years agomisc: add address sanitizer heap instrumentation 37/21937/10
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>
4 years agopapi: fix typo in repr 44/23644/3
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>
4 years agofib: Fix crash on cover update to non activated adj source 45/23645/4
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

4 years agomap: Fix inverted 'map security check enable' CLI flag. 46/23646/1
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>
4 years agoquic: Refactor for crypto contexts 81/23381/9
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>
4 years agoflow: fix several crash issues 82/23582/2
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

4 years agofib: reduce save_rewrite_length to u8 78/23578/3
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>
4 years agofib: Another realloc burn 77/23577/2
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

4 years agomisc: add gdb helpers for vlib buffers 86/23586/2
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>
4 years agolb: lb_add_del_vip and lb_add_del_as doesn't work. 35/23635/3
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>
4 years agobuild: remove valgrind leftovers 28/23628/2
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>
4 years agoethernet: all dmac checks include secondary addrs 25/23525/2
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>
4 years agofib: Table Replace 36/23336/6
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>
4 years agotap: fix coverity warning 205875 30/23630/2
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>
4 years agotcp: honor cc pacing rate when resetting pacer 29/23629/5
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>
4 years agotcp: invalidate expired timer handles before dispatching 11/23611/3
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>
4 years agoquic: update quicly to v0.0.6-vpp 24/23624/1
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>
4 years agotests: fix typo in test_vlib 12/23612/2
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

4 years agovlib: autogenerate <node> before <last-in-arc> constraints 10/23610/2
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

4 years agopapi: fix papi default handling 19/23619/3
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>
4 years agovppapigen: clean up typos in c generated code 92/23592/3
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>
4 years agovppapigen: fix i64 format string 13/23613/3
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

4 years agovppapigen: fix typo on f64 endian_string 53/23553/3
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

4 years agopapi: add missing base types to serializer 17/23617/2
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>
4 years agopapi: add repr to packer types for troubleshooting 18/23618/1
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>
5 years agoquic: Refactor quic rx callback for offload 85/23585/5
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>
5 years agohsa: Improve for mq-intensive 00/23600/3
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>
5 years agobuild: add build types helpstring to cmake project 46/23546/3
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>
5 years agoquic: Remove qctx opening pool 67/23567/6
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>
5 years agocrypto-ipsecmb: use single GCM API 03/23603/4
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

5 years agovppinfra: fix coverity issue 205691 in pmalloc 98/23498/3
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>
5 years agopapi: support default for type alias decaying to basetype 30/23530/7
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

5 years agocrypto-ipsecmb: bump to intel-ipsec-mb version 0.53 26/23226/8
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

5 years agoipsec: fix trailing data overflow 32/23532/2
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>
5 years agoikev2: install/remove ipsec tunnels from main thread 75/22975/6
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>
5 years agotcp: add no csum offload config option 75/23575/4
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>
5 years agovcl: if the ldp user send buf with 0 len, it will assert failed. 84/23584/3
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>
5 years agobuild: Update missing package 74/23574/2
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

5 years agosession tcp: support pacer idle timeouts 18/23418/13
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>
5 years agoclassify: per-interface rx/tx pcap capture filters 62/23562/2
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

5 years agovlib: improve code coverage, part deux 49/23549/2
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

5 years agoipsec: Honour the renumber argument when selecting show instnace 57/23557/2
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

5 years agovlib: pci: fix non-NULL terminated C-string 56/23556/2
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>
5 years agoikev2: fix memory leak in child SA 60/23560/4
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>
5 years agomisc: fix 4 coverity warnings in srv6-mobile 65/23565/3
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

5 years agoflow: Add GTP support 11/22811/8
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

5 years agotap: multiqueue support 34/23434/6
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>
5 years agoquic: Increase logging 63/23563/3
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>
5 years agovirtio: fix use-after-free 61/23561/2
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>
5 years agosession tcp: add opaque data to show cli 52/23552/3
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>
5 years agobash: vpp-make-test bash function 50/23550/3
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>
5 years agosession: fix transport proto unformat 51/23551/4
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>
5 years agoquic: handle duplicate packet from quicly 42/23542/2
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

5 years agosession: Fix out of order mq 43/23543/2
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>
5 years agosrv6-mobile: fix yamllint failure in FEATURE.yaml 41/23541/1
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

5 years agodpdk: fix non-NULL terminated string 39/23539/2
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>
5 years agosession: more show cli output 68/22968/8
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>
5 years agosrv6-mobile 97/23297/29
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>
5 years agomap: fix coverity issue 205684 00/23500/2
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>
5 years agonat: respect arc features (multi worker) 04/23204/5
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>
5 years agomap: Fix TCP MSS clamping for MAP-E traffic. 37/23437/5
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>
5 years agosession: Increasing the Header lengthe size 24/23524/2
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

5 years agosession: extra checks in session validation 23/23523/4
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

5 years agovlib: improve code coverage in src/vlib 27/23527/1
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

5 years agoapi: configurable binary api client rx pthread fcn 27/23427/2
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

5 years agoipsec: Coverity warnings 75/23475/2
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

5 years agonsim: add FEATURE.yaml 89/23489/1
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

5 years agobfd: allow IPv6 link-local address as local address 45/23145/3
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>
5 years agotcp: close session on retransmit failure 59/23459/2
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>
5 years agoquic: replace quicly patch with upstreamed fix 82/23482/2
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>
5 years agobuild: fix docs/doxygen targets 79/23479/1
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

5 years agobuild: make checkstyle-* targets and cleanup 35/23435/2
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>
5 years agotests: Add UT to test incomplete MPLS adjacencies send ARP requests 84/23284/4
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>
5 years agotests: Remove the unrequired VPP IP address/prefix class wrappers 80/23380/4
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>
5 years agoikev2: add definitions for libssl 76/23376/2
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

5 years agoikev2: correct byte order in api handlers 59/23359/6
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>
5 years agodpdk: Enable bnxt PMD 89/23389/5
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

5 years agovirtio: refactor virtio-pci logging 44/23344/6
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>
5 years agointerface: send proper link/admin status in event 89/23289/3
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>
5 years agofib: Copy the prefix before use in case the underlying entry reallocs. 81/23281/2
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>
5 years agovcl: Handle newer Glibc (>2.28) where fcntl is actually fcntl64 88/23388/4
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>
5 years agodhcp: option 61 add missing type field 16/23416/1
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

5 years agovlib: improve vlib "make test" code coverage 85/23385/4
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

5 years agobuild: Revert "build: fix make checkstyle" 15/23415/2
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

5 years agogtpu: check packet has enough data for gtpu header 94/22994/2
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>
5 years agovirtio: feature arc have higher priority than redirect 96/23396/3
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>
5 years agocrypto: do not crash if no crypto engine loaded 85/23285/4
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>