vpp.git
5 years agolb: remove api boilerplate 95/22395/3
Ole Troan [Mon, 30 Sep 2019 09:04:39 +0000 (11:04 +0200)]
lb: remove api boilerplate

Type: refactor
Change-Id: I5555037386d6f6593ac3328385603a382be1fc2a
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agovmxnet3: remove api boilerplate 96/22396/2
Ole Troan [Mon, 30 Sep 2019 09:19:28 +0000 (11:19 +0200)]
vmxnet3: remove api boilerplate

Type: refactor
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I009e806997461ad790f125d6359993862e1c5e5d

5 years agostn: remove api boilerplate 98/22398/2
Ole Troan [Mon, 30 Sep 2019 10:44:03 +0000 (12:44 +0200)]
stn: remove api boilerplate

Type: refactor
Change-Id: I212c87c03324137c79a674d0842ca4537b28e4b4
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agotls: remove api boilerplate 11/22411/2
Ole Troan [Mon, 30 Sep 2019 11:17:26 +0000 (13:17 +0200)]
tls: remove api boilerplate

Type: refactor
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I92c010e64aa6cc6fb2b3845b37cc24dd112fc5f9

5 years agomactime: remove api boilerplate 10/22410/2
Ole Troan [Mon, 30 Sep 2019 11:11:35 +0000 (13:11 +0200)]
mactime: remove api boilerplate

Type: refactor
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I034cc6fb2a12d1b43b3470a1ba39cc1fe020386a

5 years agostats: fix per-worker stat vector length 01/22401/3
Benoît Ganne [Mon, 30 Sep 2019 10:39:55 +0000 (12:39 +0200)]
stats: fix per-worker stat vector length

Type: fix

Change-Id: I198a2312f5fc6e922c8a6c51ba7248ce6e236f81
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agohsa: fix non-NULL terminated C-string use in echo 07/22407/3
Benoît Ganne [Mon, 30 Sep 2019 08:56:33 +0000 (10:56 +0200)]
hsa: fix non-NULL terminated C-string use in echo

Use '%v' format for non-NULL terminated vectors instead of '%s'.

Type: fix

Change-Id: Id83de52486ad8dad3cdf3f32dad63a223fc1fdf7
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agosession: Fix missing elt regrab 17/22417/2
Nathan Skrzypczak [Mon, 30 Sep 2019 12:49:13 +0000 (14:49 +0200)]
session: Fix missing elt regrab

Type: fix

Change-Id: Ie756c5477d989702e633aa0d42ca154ff32b4c9a
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
5 years agoct6: remove api boilerplate 71/22271/5
Ole Troan [Wed, 25 Sep 2019 16:42:47 +0000 (18:42 +0200)]
ct6: remove api boilerplate

Type: refactor
Change-Id: Ibf00279d8065e7ef4fc06e8b9946dcc7bfd647de
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agol2e: remove api boilerplate 43/22343/3
Ole Troan [Fri, 27 Sep 2019 12:06:56 +0000 (14:06 +0200)]
l2e: remove api boilerplate

Type: refactor
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Ifca5eee01b7813ddb6a8e4510f3adb96ade55fa7

5 years agoipsec: add insecure option for format of SA 62/22362/3
Christian E. Hopps [Fri, 27 Sep 2019 18:43:22 +0000 (14:43 -0400)]
ipsec: add insecure option for format of SA

If specified, shows keys, otherwise redacts. This change sets this flag
in the existing CLI code (thus maintaining the old behavior). The use
case for not specifying the insecure flag (and thus redacting the keys
from the show output) is for log messages.

Type: feature
Signed-off-by: Christian E. Hopps <chopps@chopps.org>
Change-Id: I8c0ab6a9a8aba7c687a2559fa1a23fac9d0aa111

5 years agoipsec: allow null cipher with dpdk esp 64/22364/2
Christian E. Hopps [Fri, 27 Sep 2019 19:19:19 +0000 (15:19 -0400)]
ipsec: allow null cipher with dpdk esp

The NULL cipher is a (valid) non-AEAD choice for ESP encrypt path.
Allow it.

Type: fix
Signed-off-by: Christian E. Hopps <chopps@chopps.org>
Change-Id: I6d8b66223a0ffb0952c2dd6fa898a8a2289fef7a

5 years agoipsec: fix memleaks in ikev2 openssl code 65/22365/2
Christian E. Hopps [Fri, 27 Sep 2019 19:24:37 +0000 (15:24 -0400)]
ipsec: fix memleaks in ikev2 openssl code

- Need to always free created contexts
- Always pair init with cleanup for older openssl API.

Type: fix
Signed-off-by: Christian E. Hopps <chopps@chopps.org>
Change-Id: Ie8840403bcac500c20085d57240401ad39d119f8

5 years agovppinfra: implement CLIB_PAUSE () for aarch64 platforms 56/22356/2
jaszha03 [Fri, 27 Sep 2019 16:48:23 +0000 (11:48 -0500)]
vppinfra: implement CLIB_PAUSE () for aarch64 platforms

Define CLIB_PAUSE () to generate the "yield" instruction. No significant
performance changes were observed for clib_spinlock_t and clib_rwlock_t.

Type: feature

Change-Id: I59eb996e61c7a16007517e57e6996567302c1657
Signed-off-by: Jason Zhang <jason.zhang2@arm.com>
Reviewed-by: Lijian Zhang <Lijian.Zhang@arm.com>
5 years agoipsec: support 4o6 and 6o4 for tunnel protect 48/22348/2
Neale Ranns [Fri, 27 Sep 2019 13:32:02 +0000 (13:32 +0000)]
ipsec: support 4o6 and 6o4 for tunnel protect

Type: feature

Change-Id: Ib2352ca4c7abf4645f21fa16aaaf27408890a2bf
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agosession: fix io_evt mq locking 51/22351/2
Nathan Skrzypczak [Fri, 27 Sep 2019 15:04:47 +0000 (17:04 +0200)]
session: fix io_evt mq locking

Type: fix

Change-Id: Iaa8045bba19cc305c84074668a20e1468d431b10
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
5 years agol3xc: remove api boilerplate 44/22344/2
Ole Troan [Fri, 27 Sep 2019 12:09:31 +0000 (14:09 +0200)]
l3xc: remove api boilerplate

Type: refactor
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Iea808fcdbf97cb78a2e2805002d3e2333279cb89

5 years agolacp: remove api boilerplate 45/22345/2
Ole Troan [Fri, 27 Sep 2019 12:14:38 +0000 (14:14 +0200)]
lacp: remove api boilerplate

Type: refactor
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I5b77da8e9c476bd784be087a53b2eafb2d1a4831

5 years agosvs: remove api boilerplate 46/22346/2
Ole Troan [Fri, 27 Sep 2019 12:21:58 +0000 (14:21 +0200)]
svs: remove api boilerplate

Type: refactor
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I08eab052b67893cc6633d235885438e69950904b

5 years agoikev2: remove api boilerplate 42/22342/3
Ole Troan [Fri, 27 Sep 2019 12:02:13 +0000 (14:02 +0200)]
ikev2: remove api boilerplate

Type: refactor
Change-Id: Ib46ed3e65e75a97995a3e251d87324fec6595024
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agosctp: remove api boilerplate 47/22347/2
Ole Troan [Fri, 27 Sep 2019 12:27:16 +0000 (14:27 +0200)]
sctp: remove api boilerplate

Type: refactor
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I6576b76ef7ba494a8b777d01d75055270d837b24

5 years agotests: add quic plugin qclose/sclose tests 85/22185/5
Dave Wallace [Sat, 21 Sep 2019 04:19:26 +0000 (04:19 +0000)]
tests: add quic plugin qclose/sclose tests

Type: test

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I3122b038f7d77c7e5e8ee7c24046da6c94ca2d2c

5 years agobuiltinurl: remove api boilerplate 69/22269/4
Ole Troan [Wed, 25 Sep 2019 16:20:20 +0000 (18:20 +0200)]
builtinurl: remove api boilerplate

Type: refactor
Change-Id: Iaf728642e489acfd63e1da88aa8daa44ceca21e9
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agocdp: remove api boilerplate 70/22270/5
Ole Troan [Wed, 25 Sep 2019 16:24:42 +0000 (18:24 +0200)]
cdp: remove api boilerplate

Type: refactor
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I3b4bbbf2574faf8d06546eb72f127fa47479e988
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agoavf: remote api boilerplate 67/22267/3
Ole Troan [Wed, 25 Sep 2019 15:33:46 +0000 (17:33 +0200)]
avf: remote api boilerplate

Type: refactor
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Iafa1c0d0c1195f88b1a55f0341459c3278c3b2e6
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agoigmp: remove api boilerplate 36/22336/2
Ole Troan [Fri, 27 Sep 2019 07:59:53 +0000 (09:59 +0200)]
igmp: remove api boilerplate

Type: refactor
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I578b09ec223c8e4a04b7590b55354b1104ac6628

5 years agohttp_static: remove api boilerplate 35/22335/2
Ole Troan [Fri, 27 Sep 2019 07:46:08 +0000 (09:46 +0200)]
http_static: remove api boilerplate

Type: refactor
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Ie1f0cccf0c9dc4c0d8ae1e1b5d8e6a75c325d1ce

5 years agogtpu: remove api boilerplate 34/22334/3
Ole Troan [Fri, 27 Sep 2019 07:35:04 +0000 (09:35 +0200)]
gtpu: remove api boilerplate

Type: refactor
Change-Id: I08d200fbec805af3109e738eee32c3ecfd61c7cc
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agogbp: remove api boilerplate 31/22331/2
Ole Troan [Fri, 27 Sep 2019 07:20:37 +0000 (09:20 +0200)]
gbp: remove api boilerplate

Type: refactor
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I2995413619f5fbe77bbe2df9f5d37db8cc596b73

5 years agodns: remove api boilerplate 30/22330/2
Ole Troan [Fri, 27 Sep 2019 07:07:51 +0000 (09:07 +0200)]
dns: remove api boilerplate

Type: refactor
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Ifffa86b45dd1f213ba974a296ab64202b672a6df

5 years agoabf: remove api boilerplate 66/22266/4
Ole Troan [Wed, 25 Sep 2019 15:33:27 +0000 (17:33 +0200)]
abf: remove api boilerplate

Type: refactor
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I80a371baf7715de1acee90952a0dd270172d8538
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agoacl: remove api boilerplate 65/22265/2
Ole Troan [Wed, 25 Sep 2019 15:32:25 +0000 (17:32 +0200)]
acl: remove api boilerplate

Type: refactor
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I5701b7d6d5e1423fb0004f7e48815cd672f81e4d

5 years agomisc: add vnet classify filter set support 64/22264/4
Dave Barach [Wed, 25 Sep 2019 15:27:46 +0000 (11:27 -0400)]
misc: add vnet classify filter set support

Type: feature

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I79b216d2499df143f53977e5b70382f6f887e0bc

5 years agoip: fix use-after-free in reassembly 29/21929/5
Benoît Ganne [Fri, 19 Jul 2019 11:42:12 +0000 (13:42 +0200)]
ip: fix use-after-free in reassembly

 - ip{4,6}_reass_finalize() frees the reassembly context: do not access
it after the call.
 - traces access reassembly context: free it after and not before
tracing.

Type: fix

Change-Id: Ia3aaea9c7b74932e249e013be04b9bd7298fd187
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agomap: use SVR for MAP-E 75/22175/10
Klement Sekera [Wed, 21 Aug 2019 10:53:14 +0000 (10:53 +0000)]
map: use SVR for MAP-E

This change is part of an effort to unify reassembly code. By removing
shallow virtual reassembly functionality in MAP and using the common
vnet provided shallow virtual reassembly, code size and complexity is
reduced.

Type: refactor
Change-Id: I431f47d4db97154fecaeaecd6719cfc3b83cfc4a
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agoip: add shallow virtual reassembly functionality 82/20382/25
Klement Sekera [Tue, 25 Jun 2019 11:19:22 +0000 (11:19 +0000)]
ip: add shallow virtual reassembly functionality

Type: feature

Change-Id: Ibc8334e26c7e6f6120696c3e313b6e11d73dab99
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agolb: add APIs for set interface nat4 and nat6 03/21903/3
Hongjun Ni [Mon, 9 Sep 2019 16:49:24 +0000 (00:49 +0800)]
lb: add APIs for set interface nat4 and nat6

Type: feature

Change-Id: I5656cd798b108dd780381b87f574554442ed7b23
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
5 years agoclassify: use vector code even when data is not aligned 47/22247/2
Damjan Marion [Tue, 24 Sep 2019 22:25:36 +0000 (00:25 +0200)]
classify: use vector code even when data is not aligned

Type: feature

Change-Id: I8f5f4841965beb13ebc8c2a37ce0dc331c920109
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agolb: vl_api_lb_conf_t_handler has to ntohl 49/22149/5
Vratko Polak [Fri, 20 Sep 2019 16:23:58 +0000 (18:23 +0200)]
lb: vl_api_lb_conf_t_handler has to ntohl

As requested in review, this is a minimal edit.
Refactor comes as a separate Change.

Type: fix

Change-Id: Ie3bdfc3cfde4bfee56848217133ca5f6bbccaeef
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
5 years agodevices: pipe API cleanup 52/22252/2
Jakub Grajciar [Wed, 25 Sep 2019 08:07:28 +0000 (10:07 +0200)]
devices: pipe API cleanup

Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ifd62207048d125bec18b3a728590ac540dcafe5e

5 years agoip: respect buffer boundary when searching for ipv6 headers 05/17905/22
Klement Sekera [Wed, 6 Mar 2019 10:59:57 +0000 (11:59 +0100)]
ip: respect buffer boundary when searching for ipv6 headers

Type: fix

Change-Id: I5a5461652f8115fa1270e20f748178fb5f5450f2
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agoudp: do not send received packets to error-drop 20/22220/3
Aloys Augustin [Tue, 24 Sep 2019 16:57:50 +0000 (18:57 +0200)]
udp: do not send received packets to error-drop

This tends to pollute the error counter.

Type: fix
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Change-Id: Idb628e767b074a5ee7e00d001bc88c378d7b8d0b

5 years agosession: validate connection in session lookup del 63/22263/2
Florin Coras [Wed, 25 Sep 2019 14:28:34 +0000 (07:28 -0700)]
session: validate connection in session lookup del

Type: fix

Change-Id: I4e2617f99064c5a96e4debae8b68716ca129ee73
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agotcp: use sacks for timer based recovery 33/22033/30
Florin Coras [Fri, 13 Sep 2019 01:36:44 +0000 (18:36 -0700)]
tcp: use sacks for timer based recovery

Type: feature

If available, reuse sack scoreboard in timer triggered retransmit to
minimize spurious retransmits.

Additional changes/refactoring:
- limited transmit updates
- add sacked rxt count to scoreboard
- prr pacing of fast retransmits
- startup pacing updates
- changed loss window to flight + mss

Change-Id: I057de6a9d6401698bd1031d5cf5cfbb62f2bdf61
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agosession: fix cleanup in closing states 45/22245/5
Florin Coras [Tue, 24 Sep 2019 19:45:14 +0000 (12:45 -0700)]
session: fix cleanup in closing states

Type: fix

Change-Id: Iccc283bb98d3bb459a711ec2b74d6a32ad12903b
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoapi: split api generated files 08/22108/14
Ole Troan [Wed, 18 Sep 2019 23:08:30 +0000 (01:08 +0200)]
api: split api generated files

Split generation of API message enum and the typedefs into
separate files, so that the type file can be included from
elsewhere.

Generate a C file for VPP that contains the API registration,
this was previously done via X macros by the C pre-
processor.

This allows deleting lots of skeleton/copy paste code
for each feature.

plugins/flowprobe
plugins/map
examples/sample-plugin
vnet/ipip
used as Guinea pigs.

Generate a C Test file for VAT, that does the same for VAT plugins.
Also add support for a per-message CLI option, that is currently
limited to VAT help text. option vat_help = "<help text>";

Type: refactor
Change-Id: I245e3104bb76f7e1fb69a59ab20cc7c8dfcdd460
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agofib: fix some typos in fib/mtrie 49/22249/2
Lijian.Zhang [Mon, 16 Sep 2019 08:22:36 +0000 (16:22 +0800)]
fib: fix some typos in fib/mtrie

Type: fix

Change-Id: I1af0e4a9bc23a3b6b6d3a74df093801ab6cae1f8
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
5 years agoip: refactor reassembly 13/20313/11
Klement Sekera [Mon, 24 Jun 2019 11:52:49 +0000 (11:52 +0000)]
ip: refactor reassembly

this is a preparation step for introducing other reassembly types

Type: refactor

Change-Id: I197e299dbd729b00eead31667913b8ceff915d63
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agopapi: truncate long logger messages 65/22065/4
Klement Sekera [Thu, 12 Sep 2019 09:01:06 +0000 (09:01 +0000)]
papi: truncate long logger messages

Dumping whole cli_inband output causes huge unformatted messages written
to logger, so truncate these to avoid that.

Type: fix

Change-Id: I59565a98e3595cbfe4971cc346e104cb198d8f24
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agovlib: add flag to explicitelly mark nodes which can init per-node packet trace 19/22219/2
Damjan Marion [Tue, 24 Sep 2019 16:10:49 +0000 (18:10 +0200)]
vlib: add flag to explicitelly mark nodes which can init per-node packet trace

Type: feature

Change-Id: I913f08383ee1c24d610c3d2aac07cef402570e2c
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agobuild: pass 'no-pci' to autgenerated config 18/22218/2
Damjan Marion [Tue, 24 Sep 2019 15:45:49 +0000 (17:45 +0200)]
build: pass 'no-pci' to autgenerated config

Avoid aggresive hiijack of pci interfaces when 'make run' and
'make run-release' are used and there is no startup.conf present.

Type: feature

Change-Id: Id653b5f9ac3d2935a40299885e616960e75d4a95
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agosession: avoid transport cleanup if previously deleted 17/22217/3
Florin Coras [Tue, 24 Sep 2019 14:18:51 +0000 (07:18 -0700)]
session: avoid transport cleanup if previously deleted

Type: fix

Change-Id: I485d38c7d9473e2ad1cbd8e17a788ec8d29ab001
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agomisc: improve pcap drop trace output 04/22204/1
Dave Barach [Mon, 23 Sep 2019 20:03:49 +0000 (16:03 -0400)]
misc: improve pcap drop trace output

Append <nodename>: <error-string> to pcap drop traces.

The data displays perfectly fine in [vanilla] wireshark, and makes it
100% obvious which node dropped the packet, and why.

Type: feature
Ticket: VPP-1776

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I9b964b99da4011b93723354db6ef0b128fca20cb

5 years agotests: fix test-checkstyle to check plugin tests 84/22184/2
Dave Wallace [Sat, 21 Sep 2019 03:53:22 +0000 (03:53 +0000)]
tests: fix test-checkstyle to check plugin tests

Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I93eb0ae4338247fa2479f8e419483d1593436dc7

5 years agomisc: unify pcap rx / tx / drop trace 01/22201/4
Dave Barach [Mon, 23 Sep 2019 14:27:27 +0000 (10:27 -0400)]
misc: unify pcap rx / tx / drop trace

Use a single vnet_pcap_t in vlib_global_main, specifically to support
unified tracing

Update sphinx docs, doxygen tags

Type: refactor
Ticket: VPP-1776

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Id15d41a596712968c0714cef1bd2cd5bc9cbdd55

5 years agogbp: fix contract rule handling 61/21861/4
Benoît Ganne [Fri, 6 Sep 2019 11:43:16 +0000 (13:43 +0200)]
gbp: fix contract rule handling

Fix a memory leak when removing old GBP contract rules and make sure a
GBP contract rule exists when matching the corresponding ACL rule.

Type: fix
Fixes: 13a08cc098

Change-Id: Iba67d573e69280ad998488a7a3d3462341c68ea4
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agotcp: fix unformat cwnd multiplier 93/22193/4
Florin Coras [Mon, 23 Sep 2019 02:05:50 +0000 (19:05 -0700)]
tcp: fix unformat cwnd multiplier

Type: fix

Change-Id: Ife4e650cb8b16f84ca6f77ba7b1d17a0f452fc3f
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agohsa: fix typo in vpp_echo for tx-buf 99/22199/5
MathiasRaoul [Mon, 23 Sep 2019 11:48:49 +0000 (11:48 +0000)]
hsa: fix typo in vpp_echo for tx-buf

fix typo and allow use of Gb, Mb or Kb for tx/rx-buf sizes

Type: fix

Change-Id: I2cfd4c09d6b14dd5c744d942eea09ca9ddcc0f46
Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
5 years agonat: fix update of outside fibs (output-feature) 23/21423/11
Dmitry Vakhrushev [Tue, 20 Aug 2019 18:44:51 +0000 (14:44 -0400)]
nat: fix update of outside fibs (output-feature)

NAT hasn't worked when NAT interfaces wasn't in
default VRF (fib_index = 0). This issue has been occurred with
interfaces with output-feature in endpoint-dependent mode.

Update VAT commands:
  - update nat44_add_del_address_range
  - add nat44_interface_add_del_output_feature

Ticket: VPP-1732
Type: fix

Change-Id: Iddea15dde4b948f159a0056d48c55bd917037fd1
Signed-off-by: Dmitry Vakhrushev <dmitry@netgate.com>
5 years agointerface: use the correct condition for checking if the pcap fd is open 93/21993/4
Andrew Yourtchenko [Wed, 11 Sep 2019 14:14:43 +0000 (14:14 +0000)]
interface: use the correct condition for checking if the pcap fd is open

The 9af7e2e87e used a comparison that fd is >= 0 to check that
the pcap needs closing. While the pcap_close() function does
reset the file descriptor to -1, the freshly initialized structure
has it equal to 0.

This causes the VPP to close stdin if the packets are being seen
on pg interface without the capture file being opened.
This triggers the vpp attempting to read from STDIN
(another bug), which results in running out of memory.

Change-Id: I11d61422701500a9b3e0dd52d59383f297d57f54
Type: fix
Fixes: 9af7e2e87e
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agoebuild: Add MAKE_PARALLEL_FLAGS to VPP build 52/21152/6
juraj.linkes [Thu, 8 Aug 2019 13:59:10 +0000 (15:59 +0200)]
ebuild: Add MAKE_PARALLEL_FLAGS to VPP build

Align with other packages.

Type: make

Change-Id: I3c8f5c6a349ce9d4e05f546945ae2d8dcf3b1b61
Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
5 years agoapi: add missing format_vl_api_ip[46]_address_with_prefix_t 97/22197/2
Jakub Grajciar [Mon, 23 Sep 2019 08:42:19 +0000 (10:42 +0200)]
api: add missing format_vl_api_ip[46]_address_with_prefix_t

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Iad7067962b1dd8d3a1335f07e89a62f901e82dff

5 years agofib: do not dump no-longer valid adjacencies 32/21932/4
Benoît Ganne [Thu, 18 Jul 2019 15:34:28 +0000 (17:34 +0200)]
fib: do not dump no-longer valid adjacencies

In some cases, we can refer to no-longer adjacencies (eg. in traces). Do
not dump them in this case as they are probably incorrect (memory can be
reused).

Type: fix

Change-Id: Ib653ba066bb6595ec6ec37d313a3124bce0eeed3
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agogbp: remove loopback interfaces between tests 59/21859/2
Benoît Ganne [Tue, 3 Sep 2019 16:17:38 +0000 (18:17 +0200)]
gbp: remove loopback interfaces between tests

Type: fix

Change-Id: I440f25b95b23b717518d101a1327ecf16d6ba39a
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agoip: fix memory leak in ip_dump handler 39/22139/2
Matthew Smith [Wed, 18 Sep 2019 18:51:46 +0000 (13:51 -0500)]
ip: fix memory leak in ip_dump handler

Type: fix

A vector allocated by vl_api_ip_dump_t_handler() was not being
freed.

Change-Id: I13425b8087e60df60c6aaa1230aa7e6d60b101a8
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
5 years agosession: fix msg freeing on error 56/22056/5
Nathan Skrzypczak [Fri, 13 Sep 2019 15:14:57 +0000 (17:14 +0200)]
session: fix msg freeing on error

Type: fix

Change-Id: I0807f84737d5e98e69e9ed27a1de6813b2ddd138
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
5 years agotcp: refactor congestion event handling 31/22031/10
Florin Coras [Thu, 12 Sep 2019 06:22:29 +0000 (23:22 -0700)]
tcp: refactor congestion event handling

Type: refactor

Minor cleanup to congestion event handling.

Change-Id: I7179ff9e21c1853382ba814652c9024f3e5b8a37
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agomisc: classifier-based packet trace filter 59/22059/9
Dave Barach [Fri, 13 Sep 2019 21:47:50 +0000 (17:47 -0400)]
misc: classifier-based packet trace filter

See .../src/vnet/classify/trace_classify.h for the business end
of the scheme.

It would be best to hash pkts, prefetch buckets, and do the primary
table lookups two at a time. The inline as given works, but perf
tuning will be required. "At least it works..."

Add "classify filter" debug cli, for example:
classify filter mask l3 ip4 src dst \
  match l3 ip4 dst 192.168.2.10 src 192.168.1.10

Add "pcap rx | tx trace ... filter" to use the current classify filter chain

Patch includes sphinx documentation and doxygen tags.

Next step: device-driver integration

Type: feature

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I05b1358a769f61e6d32470e0c87058f640486b26

5 years agoclassify: remove includes from classifier header file 54/22154/2
Damjan Marion [Thu, 19 Sep 2019 16:43:42 +0000 (18:43 +0200)]
classify: remove includes from classifier header file

Type: refactor

Change-Id: I6f0af1c3078edce1c1b29a8b99c4a232d7084d33
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agohsa: refactor vpp_echo failure handling 57/22157/5
Dave Wallace [Thu, 19 Sep 2019 20:38:44 +0000 (20:38 +0000)]
hsa: refactor vpp_echo failure handling

- Return unique value for each failure condition
- Last failure value returned
- All failures included in description
- Output failure value and description

Type: test

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I72d5e7f660ad4765c468874421622607af6ae3d1
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 years agointerface: fix pcap drop trace in case of vlan 03/22103/4
Benoît Ganne [Tue, 17 Sep 2019 15:30:35 +0000 (17:30 +0200)]
interface: fix pcap drop trace in case of vlan

Type: fix

Change-Id: If3c4e5c376b51a26143d8922dcacfbda534163bd
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agosession: builtin app rx notifications regardless of state 53/22153/2
Florin Coras [Thu, 19 Sep 2019 15:19:44 +0000 (08:19 -0700)]
session: builtin app rx notifications regardless of state

Type: feature

Provide rx notifications to builtin apps even after disconnect.
Consequently tcp connections that are past FIN_WAIT_1 can still receive
rx notifications.

This is not currently supported for external applications.

Change-Id: I529da7f7120b0e7c62c5026ac71f86d6b5196cf4
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoikev2: add support for GCM cipher 45/22145/2
Filip Tehlar [Wed, 18 Sep 2019 22:43:44 +0000 (22:43 +0000)]
ikev2: add support for GCM cipher

Type: feature
Change-Id: Ic703015b55f0ae947e5e44b10b74b3c79efe7da6
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
5 years agocop: API cleanup 58/21458/7
Jakub Grajciar [Wed, 3 Apr 2019 12:05:11 +0000 (14:05 +0200)]
cop: API cleanup

Use consistent API types.

Type: fix

Change-Id: I6ac453c88628a4dbb08b03c408df09b91b1ea5ca
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
5 years agoapi: split vl_api_prefix into two 97/21997/8
Ole Troan [Wed, 11 Sep 2019 15:49:08 +0000 (17:49 +0200)]
api: split vl_api_prefix into two

One type for address with prefix and one type for prefix.

Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Icfec51d9b7d5cde1d69fbecdd97498688ab7b295
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agotests: split up the long running IPSec tests into separate classes 15/21915/9
Andrew Yourtchenko [Mon, 9 Sep 2019 11:14:59 +0000 (11:14 +0000)]
tests: split up the long running IPSec tests into separate classes

Type: test
Change-Id: Ieeae7f1653f5f2e8e49f258871b389ef8954c90b
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agohsa: fix vpp_echo stats output 07/22107/5
Dave Wallace [Tue, 17 Sep 2019 18:38:59 +0000 (18:38 +0000)]
hsa: fix vpp_echo stats output

- Output stats when there are missing timing events
- Add missing timing event status to the stats output

Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I10a8db6db9568b98379df544d0098f9722a44867

5 years agovppapigen: fix missing vla check for union class 17/22117/2
Ole Troan [Wed, 18 Sep 2019 10:12:47 +0000 (12:12 +0200)]
vppapigen: fix missing vla check for union class

Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Ie775cf3469d761847ac39cf0d80a3ec6463b7928

5 years agostats: fix per_worker vector rate heap 19/22119/2
Ole Troan [Wed, 18 Sep 2019 11:13:16 +0000 (13:13 +0200)]
stats: fix per_worker vector rate heap

The per_worker counters were outside of the stats heap.
Also fixes the length of the per_vector counter.
A simple vector is two dimensional including a thread dimension.

Fixes: f89a6de8f0
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I370bf9cb033d264f42df2723e01b768dc270792b

5 years agoquic : refactor function naming 00/22100/6
MathiasRaoul [Tue, 17 Sep 2019 14:37:13 +0000 (14:37 +0000)]
quic : refactor function naming

- functions renaming to be consistent with the other plugin functions name
- removing useless logs

Type: style

Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
Change-Id: Iea212a799448975e01a92f16cc329de13907ff07
Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
5 years agotcp: compute snd time for rate sample 74/21974/5
Florin Coras [Wed, 11 Sep 2019 06:26:27 +0000 (23:26 -0700)]
tcp: compute snd time for rate sample

Type: feature

Change-Id: I6bd675dc28dbc34293e895911efe986844c0564f
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agobuiltinurl: initial working attempt 99/22099/4
Dave Barach [Tue, 17 Sep 2019 13:47:35 +0000 (09:47 -0400)]
builtinurl: initial working attempt

Note that the builtin URLs are disabled by default. To activate,
"builtinurl enable" or use the builtinurl_enable API.

See .../extras/http/sample.md for some Hugo-friendly .md w/ embedded
Javascript that accesses the builtin URLs.

Type: feature

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I6d82d9292c41d6d2d90be73ba8a1a043fb20c986

5 years agovppapigen: fix tests and run on verify 47/20947/4
Paul Vinciguerra [Wed, 31 Jul 2019 04:34:05 +0000 (00:34 -0400)]
vppapigen: fix tests and run on verify

- changes vppapigen to only process an import once.

Type: fix

Change-Id: Ifcbcfcc69fdfb80d63195a17701762d0c239d7b4
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agobuild: fix rpm python 3 depends 09/22109/2
Ed Kern [Tue, 17 Sep 2019 19:19:42 +0000 (13:19 -0600)]
build: fix rpm python 3 depends

Type: fix

Change-Id: Ie6eaccb27779bb14c0a23764a16cd22f0a72e379
Signed-off-by: Ed Kern <ejk@cisco.com>
5 years agosession: limit pacer bucket size 63/22063/5
Florin Coras [Sun, 15 Sep 2019 23:28:45 +0000 (16:28 -0700)]
session: limit pacer bucket size

Type: feature

Change-Id: I3ca27b09670716eba463d7b16771f765a1bd6dcd
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agovlib: fix cli process stack overflow 74/22074/3
Aloys Augustin [Mon, 16 Sep 2019 13:37:48 +0000 (13:37 +0000)]
vlib: fix cli process stack overflow

Some cli processes, including bringing up an i40e interface with dpdk,
consume more than the currently available stack space.

Type: fix
Fixes: VPP-1774
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Change-Id: I86ceb9e6e07523d5e0f760b5922467f09a8d4006

5 years agotcp: use rate sample rtt in recovery if possible 04/22004/3
Florin Coras [Wed, 11 Sep 2019 20:42:57 +0000 (13:42 -0700)]
tcp: use rate sample rtt in recovery if possible

If in recovery and rate samples are taken for burts that have not been
retransmitted, use the rtt estimate.

Type: feature

Change-Id: I95028f492008457c959157aa4ee4c3435fa9c3f0
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agohttp_static: add dynamic GET / POST method hooks 05/22005/8
Dave Barach [Thu, 12 Sep 2019 01:35:48 +0000 (21:35 -0400)]
http_static: add dynamic GET / POST method hooks

Add .json output to format_vnet_sw_interface_cntrs(...)

Type: feature

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ied036ebfaaafbf1dfc2a4e396c00f09f40659400

5 years agodpdk: initialize rte_mbuf during mempool dequeue 63/21863/4
Damjan Marion [Fri, 6 Sep 2019 12:24:36 +0000 (14:24 +0200)]
dpdk: initialize rte_mbuf during mempool dequeue

In some cases it may happen that buffer is allocated by DPDK, and freed
by VPP native code. In such cases dpdk metadata is not reset, so we need
to do that during mempool dequeue. Template approach is taken to reduce
cost of that operation.

Type: fix
Fixes: 910d369

Change-Id: Ic239007cfc8fbceb965021c56963cda9d53f63be
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agovlib: cli support ctrl-w to erase left word 57/21357/8
Hiroki Shirokura [Fri, 16 Aug 2019 11:30:34 +0000 (11:30 +0000)]
vlib: cli support ctrl-w to erase left word

Type: fix
Signed-off-by: Hiroki Shirokura <slank.dev@gmail.com>
Change-Id: I3ae7dc3858d0353764d629d6a9eff2bdab5f8768

5 years agoapi: autogenerate api trace print/endian 72/21772/11
Ole Troan [Wed, 4 Sep 2019 07:12:29 +0000 (09:12 +0200)]
api: autogenerate api trace print/endian

In addition to the external vppapitrace tool, VPP itself supports dumping of API trace files.
In two formats, "custom-dump" and "dump". "dump" gives a human friendly list,
and "custom-dump" is meant to give a list of commands that can be fed to VAT.
This patch only deals with "dump".
Prior to this fix, auto-generation was only done for the basic types.
This fix adds support for any type, including lists, and supports pretty-printing
of enums, strings, IP addresses, MAC addresses and so on.

Usage: api trace dump <api-trace-file>

For example

Change-Id: I4e485680e6dcfce7489299ae6cf31d835071ac40

---------- trace 48 -----------
vl_api_sw_interface_set_flags_t:
  _vl_msg_id: 75
  client_index: 0
  context: 10
  sw_if_index: 1
  flags: IF_STATUS_API_FLAG_ADMIN_UP
---------- trace 49 -----------
vl_api_sw_interface_add_del_address_t:
  _vl_msg_id: 88
  client_index: 0
  context: 11
  sw_if_index: 1
  is_add: 1
  del_all: 0
  prefix: 172.16.1.1/24
---------- trace 51 -----------
vl_api_cli_inband_t:
  _vl_msg_id: 819
  client_index: 0
  context: 13
  cmd: packet-generator capture pg0 pcap /tmp/vpp-unittest-TestMAP-YhcmDX/pg0_out.pcap disable
---------- trace 58 -----------
vl_api_ip_neighbor_add_del_t:
  _vl_msg_id: 199
  client_index: 0
  context: 20
  is_add: 1
  neighbor:
    sw_if_index: 2
    flags: IP_API_NEIGHBOR_FLAG_NONE
    mac_address: 0202.0000.ff02
    ip_address: fd01:2::2

Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I5556d06008de2762e7c2d35a8b0963ae670b3db1
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agosession: add session enable option in config file 54/22054/2
Nathan Skrzypczak [Fri, 13 Sep 2019 13:44:54 +0000 (15:44 +0200)]
session: add session enable option in config file

Type: feature

Change-Id: I8f02873e75c6e890f6749806d4f02547f951c8ca
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
5 years agohsa: Fix QUIC sessions count calculation 30/22030/4
Aloys Augustin [Thu, 12 Sep 2019 16:04:30 +0000 (18:04 +0200)]
hsa: Fix QUIC sessions count calculation

Type: fix
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Change-Id: Ia53a41a30920f8af7cd00c6f809b32e7cc277b7a

5 years agodevices: partial revert of af_packet API cleanup patch 47/22047/3
Damjan Marion [Fri, 13 Sep 2019 11:48:05 +0000 (11:48 +0000)]
devices: partial revert of af_packet API cleanup patch

Reverting as make test must me able to run non-root so creating tap interfaces is no-go.

Type: fix
Fixes: 3b2db9002c14f9e0742622f2d503c5801d443827

Change-Id: Ib6eb2679b65b662ed6e88e67f8b199744abae85e
Signed-off-by: Damjan Marion <dmarion@me.com>
5 years agotcp: cleanup scoreboard after recovery 34/22034/2
Florin Coras [Fri, 13 Sep 2019 01:49:44 +0000 (18:49 -0700)]
tcp: cleanup scoreboard after recovery

Type: fix

When recovering from congestion, remove last hole in scoreboard if it
covers all bytes sent above snd_congestion.

Change-Id: I752accd4590cd9bf553c35a1bb40a38c308c04f5
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agodevices: af_packet API cleanup 04/21504/8
Jakub Grajciar [Mon, 26 Aug 2019 09:25:52 +0000 (11:25 +0200)]
devices: af_packet API cleanup

Use consistent API types.

- fix af_packet_dump dumping deleted interface

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ie8d138e30c8c51a2306bb2ad9ac0b7a49d5412bf
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
5 years agomap: fix non-null-terminated C-string 98/21998/3
Benoît Ganne [Wed, 11 Sep 2019 15:47:56 +0000 (17:47 +0200)]
map: fix non-null-terminated C-string

Type: fix

Change-Id: Ia3a4693acd5eab234f60b37436c5b642b00bda46
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agodpdk: fix null-termination of strings 19/22019/4
Elias Rudberg [Thu, 12 Sep 2019 12:57:47 +0000 (14:57 +0200)]
dpdk: fix null-termination of strings

Fix problem with some strings not being null-terminated,
by using the vec_terminate_c_string macro in two places.
The problem was found using AddressSanitizer.
(Also make sure indentation is OK for those changes.)

Ticket: VPP-1772
Type: fix

Signed-off-by: Elias Rudberg <elias.rudberg@bahnhof.net>
Change-Id: Ib7826e3c322e58b649e2d7f6053786da618a5e9e

5 years agohsa: fix memory management bugs 94/21994/3
Benoît Ganne [Wed, 11 Sep 2019 14:40:04 +0000 (16:40 +0200)]
hsa: fix memory management bugs

Fix use-after-free and non-null terminated string.

Type: fix

Change-Id: Ibba2a6cae68c612a34477aa813b3bf27a0c8fc1f
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agoquic: fix use-after-free 95/21995/2
Benoît Ganne [Wed, 11 Sep 2019 14:41:49 +0000 (16:41 +0200)]
quic: fix use-after-free

Type: fix

Change-Id: I5e5e37684e336ca992dae8ea1d39b1fb103802b1
Signed-off-by: Benoît Ganne <bganne@cisco.com>