vpp.git
5 years agoapi: fix dead client scan heap issue 17/23317/2
Nathan Skrzypczak [Thu, 7 Nov 2019 15:00:57 +0000 (16:00 +0100)]
api: fix dead client scan heap issue

Type: fix

On multiworker setup when an app client dies, the
vec_reset_length call fails the assert in
clib_mem_is_heap_object. Same thing might happen for
the clib_warnings

Change-Id: I369f9d2dbe60407c84994a4e8d25f6df7848ca93
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
5 years agosession: Add crypto context 39/22639/6
Nathan Skrzypczak [Wed, 9 Oct 2019 12:41:48 +0000 (14:41 +0200)]
session: Add crypto context

Type: feature

Crypto contexts are a per protocol cache for storing
crypto related connection data. They share a common
interface with generic properties : cert, key, engine
and session refcount.

Change-Id: I8165e05afbcc6ecb3777b6abeab62c369d2fe9ed
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
5 years agohsa: Add ckpair & crypto engine in vpp_echo 83/23283/4
Nathan Skrzypczak [Wed, 6 Nov 2019 13:12:23 +0000 (14:12 +0100)]
hsa: Add ckpair & crypto engine in vpp_echo

Type: feature

* vpp echo adds and dels a cert and key pair for each run
* it passes the crypto engine to be used (openssl, picotls, vpp, mbedtls)

Change-Id: Iaba1de2e6abb510e6c4edbe84b2324b2f4843f26
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
5 years agoquic: Add support for ckpair & crypto engine 91/23291/2
Nathan Skrzypczak [Wed, 6 Nov 2019 15:33:37 +0000 (16:33 +0100)]
quic: Add support for ckpair & crypto engine

quic choice used ckpair is now the one passed to
connect or listen via mq.
The crypto engine is chosen with the value passed to
connect or listen via mq:
* If NONE(0) is provided, we default to quic_main.
default_crypto_engine (picotls at init, can be changed
via debug cli : quic set crypto api [crypto engine])
* If PICTOLS/VPP is provided, use this one
* Other values return an error

Type: feature

Change-Id: Ifab893d6d03c83f202e6c7e7a9936f546a4b1530
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
5 years agosession: ckpair store & crypto engine as mq params 90/23290/3
Nathan Skrzypczak [Wed, 6 Nov 2019 13:47:40 +0000 (14:47 +0100)]
session: ckpair store & crypto engine as mq params

Type: feature

This patch adds the logic to pass to connect &
listen msg in the mq the following parameters
* ckpair index
* crypto engine (for now only used in quic)

Change-Id: I7213d8b581cb4532a9a6b18c4b3fe021287b7733
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
5 years agosession: fix app attach on error 04/23304/2
Nathan Skrzypczak [Thu, 7 Nov 2019 09:29:24 +0000 (10:29 +0100)]
session: fix app attach on error

Type: fix

Change-Id: I57b3c76515544ba3655690b37e0dacb47734ba6d
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
5 years agosvm: fix byte accounting when allocating fifo header 01/23301/2
Florin Coras [Thu, 7 Nov 2019 00:24:29 +0000 (16:24 -0800)]
svm: fix byte accounting when allocating fifo header

Type: fix

Change-Id: Ie50625271d257da814445ce13c2e6cd98986d523
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agointerface: shmemioerror while getting name_filter arg 40/23140/10
Aleksander Djuric [Thu, 31 Oct 2019 11:35:21 +0000 (14:35 +0300)]
interface: shmemioerror while getting name_filter arg

Type: fix

Signed-off-by: Aleksander Djuric <aleksander.djuric@gmail.com>
Change-Id: I5e0eb7024d208040d79e9d6db863f41e2ecf4ee6
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agotests: make threads in punt tests join when finished 75/23275/4
Andrew Yourtchenko [Tue, 5 Nov 2019 18:38:08 +0000 (19:38 +0100)]
tests: make threads in punt tests join when finished

The 42693521f6046997133c8f63bcfc9d615d96f69d added the timeout
to the child process join + print the name of the offending
child process.

Upon testing the issue furher, appeared the offenders were
always the same - punt tests. The processes running them
were stuck trying to acquire lock, even if all
the user-accessible execution has finished. Some searching
revealed that one needs to tread carefully when dealing
with Thread and Multiprocessing at the same time.

punt tests used threads but did not call thread.join. Somehow
it worked in some cases but not the others. This fix makes
the threads exit cleanly - which also makes the timeouts
waiting for the process to join disappear.

Type: test
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Change-Id: I05d99bb48a9987544bbfe45118755c09d7867aa0
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agotcp: validate the IP address while checking TCP connection 03/23303/1
Srikanth Akula [Thu, 7 Nov 2019 02:53:13 +0000 (18:53 -0800)]
tcp: validate the IP address while checking TCP connection

Type: feature

Along with the port information, we need to validate the IP address details as well.
This is very useful in the case port re-use scenario

Signed-off-by: Srikanth Akula <srakula@cisco.com>
Change-Id: I11e1ebcd3e56aae47ac235a89606a83c928aa6bb

5 years agomisc: add lcov scripts, README.md 99/23299/2
Dave Barach [Wed, 6 Nov 2019 21:58:48 +0000 (16:58 -0500)]
misc: add lcov scripts, README.md

See extras/lcov

Type: feature

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

5 years agodocs: Rewrite the what is VPP (first) section, also fix the build 96/23296/2
John DeNisco [Wed, 6 Nov 2019 18:58:28 +0000 (10:58 -0800)]
docs: Rewrite the what is VPP (first) section, also fix the build

Signed-off-by: John DeNisco <jdenisco@cisco.com>
Change-Id: Ifb558171f8976a721703e74afea997d006273b5f
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agodocs: add spellcheck to 'make docs' sphinx docs 78/23278/3
Paul Vinciguerra [Tue, 5 Nov 2019 20:34:36 +0000 (15:34 -0500)]
docs: add spellcheck to 'make docs' sphinx docs

The CI gate will fail if there are typos in the docs.

  writing output... [ 21%] events/Summits/OpensourceSummit...
  writing output... [ 22%] events/Summits/UKNO/2017_04_30_...

  featuresbyrelease/vpp16.06.rst:34:Rasberry:vpp16.06
  writing output... [100%] usecases/vppinazure
  Spelling checker messages written to /vpp/docs/_build/html/output.txt

  Warning, treated as error:
  Found 1 misspelled words
  Makefile:31: recipe for target 'html' failed
  make[1]: *** [html] Error 2
  make[1]: Leaving directory '/vpp/docs'

If you introduce a term that is not recognized,
please add it to custom dictionary at
docs/spelling_wordlist.txt.

Type: feature

Change-Id: Id49be4fbee617f544f1ab8e78e7de8a4df36448b
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agodpdk: conditionally revert rte_vfio_dma_map patch 88/23288/2
Damjan Marion [Wed, 6 Nov 2019 14:40:21 +0000 (15:40 +0100)]
dpdk: conditionally revert rte_vfio_dma_map patch

DPDK have bug which will be fixed in 19.11.

Type: fix
Change-Id: I6c0058928e5991d61b3c5fcba706f35e6886b0f2
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agobuild: add yaml file linting to make checkstyle 05/23205/3
Paul Vinciguerra [Sun, 3 Nov 2019 23:44:31 +0000 (18:44 -0500)]
build: add yaml file linting to make checkstyle

Type: feature

fts and trex rely on yaml config files.  Verify
that they are valid, so comitters can catch
errors early.

Change-Id: Ide0bb276659119c59bdbbc8b8155e37562a648b8
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoquic: free qctx after udp cleanup 67/23267/3
Nathan Skrzypczak [Tue, 5 Nov 2019 13:47:48 +0000 (14:47 +0100)]
quic: free qctx after udp cleanup

Type: fix

As udp_session.opaque is qctx index, qctx free
needs to happen after session cleanup. This patch
also introduces
* assert timer stop on ctx free
* debug cli for listing quic ctx

Change-Id: I3a58d226b094a0bbdf090b4f3eccbc2e11c6329b
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
5 years agotcp: IPv6 flow label support 36/23236/3
Tarun Gupta [Tue, 5 Nov 2019 00:35:59 +0000 (16:35 -0800)]
tcp: IPv6 flow label support

Type:feature

For cases when proxy is in use IPv6 flow label received in origin pkt needs to be added
to ipv6 header of outgoing pkts from proxy to original destination and vice versa.

Signed-off-by: Tarun Gupta <tarungup@cisco.com>
Change-Id: I143f7e67237c0f865333078628a016b50ad5e630
Signed-off-by: Tarun Gupta <tarungup@cisco.com>
5 years agomisc: Fix python scripts shebang line 59/23159/5
Renato Botelho do Couto [Thu, 31 Oct 2019 18:31:07 +0000 (13:31 -0500)]
misc: Fix python scripts shebang line

Type: fix

Since CentOS 8, RPM build script doesn't accept '#!/usr/bin/env python'
as a valid shebang line.  It requires scripts to explicitly chose
between python2 or python3.

Change all to use python3 as suggested by Paul Vinciguerra.

Depends-On: https://gerrit.fd.io/r/23170

Signed-off-by: Renato Botelho do Couto <renato@netgate.com>
Change-Id: Ie72af9f60fd0609e07f05b70f8d96e738b2754d1

5 years agodocs: fix 'make doxygen' under python3 70/23170/6
Paul Vinciguerra [Fri, 1 Nov 2019 19:07:32 +0000 (15:07 -0400)]
docs: fix 'make doxygen' under python3

The 'make doxygen' component has this cool vpp specific customization called siphon.
This updates the siphon component so that 'make doxygen' works with python3.

Needed-By: https://gerrit.fd.io/r/23159
Type: docs

Change-Id: Ie29f1602bf3460b637058acbb0a2f19b128a8824
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agodocs: fix issues with src/scripts/fts.py 66/23166/2
Paul Vinciguerra [Fri, 1 Nov 2019 06:34:32 +0000 (02:34 -0400)]
docs: fix issues with src/scripts/fts.py

  - packaging issue
  - yaml deprecation
  - yaml formatting

Type: fix

Change-Id: Ia8808cbc83271a3067164f2db2418f071b35607a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agonat: NAT udp counter & unit test fixes 66/23266/2
Filip Varga [Tue, 5 Nov 2019 13:14:08 +0000 (14:14 +0100)]
nat: NAT udp counter & unit test fixes

Ticket: VPP-1798
Type: fix

Change-Id: I42f02d5824575720e95b9fc99cfa864252221a82
Signed-off-by: Filip Varga <fivarga@cisco.com>
5 years agosession tcp: refactor pacer time 39/22939/16
Florin Coras [Wed, 23 Oct 2019 02:01:39 +0000 (19:01 -0700)]
session tcp: refactor pacer time

Type: refactor

Change-Id: Ic1c3e1f7987702cd88972acc34849dc1f585d5fe
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoip: Fragmentation fixes 08/23108/4
Neale Ranns [Wed, 30 Oct 2019 17:34:14 +0000 (17:34 +0000)]
ip: Fragmentation fixes

Type: fix

if the packet is about to be fragmented, then don't call any of the
actions that expect the rewrite to have been written.
1) don't double count packets thru the adjacency (original & fragments)
2) don't double decrement the TTL for fragments
3) return to ip4-midchain post ip-frag if that's where we started.
4) only run midchain/mcast fixups if not fragmenting (if no errors)

Change-Id: Ib2866787a42713ee5871b87b597d8f74b901044b
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agotcp: correct validity check return value 38/23238/3
Ryujiro Shibuya [Tue, 5 Nov 2019 07:24:32 +0000 (07:24 +0000)]
tcp: correct validity check return value

Type: fix

Signed-off-by: Ryujiro Shibuya <ryujiro.shibuya@owmobility.com>
Change-Id: Ib59bf664d8da20516d8f16d716c5e8698675da4b

5 years agotests: support setting random seed 63/23263/2
Klement Sekera [Tue, 5 Nov 2019 11:18:25 +0000 (11:18 +0000)]
tests: support setting random seed

Log the random seed used when running tests and provide means to re-use
it in a later run.

Type: feature

Change-Id: I18d2a36ee802b901d4cca5577df41cec07f09cc0
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agolibmemif: reset number of queues on disconnect 41/23241/3
Jakub Grajciar [Tue, 5 Nov 2019 09:58:00 +0000 (10:58 +0100)]
libmemif: reset number of queues on disconnect

Type: fix

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

5 years agonat: respect udp checksum 42/23242/2
Filip Varga [Mon, 21 Oct 2019 16:18:00 +0000 (18:18 +0200)]
nat: respect udp checksum

Type: fix

Change-Id: I732be02d2e2b854eb589c3fa10f980ef2dbe8dfc
Signed-off-by: Filip Varga <fivarga@cisco.com>
5 years agotests: avoid test runner hanging on child test process join 35/23235/2
Andrew Yourtchenko [Tue, 5 Nov 2019 00:08:26 +0000 (01:08 +0100)]
tests: avoid test runner hanging on child test process join

In parallel test, the single process is spawning
a bunch of child processes running the tests,
and communicates to them. When the child process
signals that it has finished, the parent calls
child.join(). Sometimes this join never returns.
The result is a lot of defunct python processes,
and the test run just hangs.

I have seen this failure intermittently a fair bit
in a busy containerized environment, and by chance,
consistently reproduced it on a Thinkpad X280
with 8G of RAM and Ubuntu 19.04, which allowed
to diagnose it.

Type: test
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Change-Id: If0a3110fc2d23e73d77c310d61c3ea90a2b53610

5 years agoipsec: ipsec-input: check for too-short packets 93/22993/2
Benoît Ganne [Fri, 25 Oct 2019 13:26:27 +0000 (15:26 +0200)]
ipsec: ipsec-input: check for too-short packets

Make sure packet is big enough before processing it.
Policy matching is done speculatively but is discarded if packet is too
short.

Type: fix

Change-Id: I647db2c4e568b0d9bf2cfd5056e1b1c2e25132fe
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agoquic: enhance error reporting 74/23174/2
Dave Wallace [Fri, 1 Nov 2019 20:36:28 +0000 (20:36 +0000)]
quic: enhance error reporting

Type: refactor

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

5 years agoquic: fix quicly rtt time skew 71/23171/2
Dave Wallace [Fri, 1 Nov 2019 18:41:29 +0000 (14:41 -0400)]
quic: fix quicly rtt time skew

- This patch to quicly fixes an intermittent failure
  in the rtt calculation when there is a time skew

Type: fix

Change-Id: If89c47401ee75c88f0eb65ae888b6914695b2aec
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 years agoquic: remove redundant function calls 24/23124/4
Dave Wallace [Wed, 30 Oct 2019 23:40:33 +0000 (23:40 +0000)]
quic: remove redundant function calls

- session_transport_delete_notify() is called before
  and inside quic_connection_delete()

Type: fix

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

5 years agonat: revert respect udp checksum 15/23215/5
Ole Troan [Mon, 4 Nov 2019 12:44:09 +0000 (13:44 +0100)]
nat: revert respect udp checksum

This reverts commit 0d75f783644a24b219ed79d9f9c17387783f67ca.

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

5 years agoikev2: fix traffic selector match 38/23138/2
Filip Tehlar [Wed, 23 Oct 2019 11:11:42 +0000 (11:11 +0000)]
ikev2: fix traffic selector match

Type: fix

Change-Id: I81ab3dcd03f397b3d275da6cfa094e048ad92f95
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
5 years agonat: revert fix dual-loop tcp checksum botch 14/23214/3
Ole Troan [Mon, 4 Nov 2019 12:43:17 +0000 (13:43 +0100)]
nat: revert fix dual-loop tcp checksum botch

This reverts commit 9654a37fac7fe2b425576eb0237b8d24ae44e1b1.

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

5 years agovlib: fix for vlib_node_add_next_with_slot 78/23178/3
Christian Hopps [Sun, 3 Nov 2019 04:59:49 +0000 (00:59 -0400)]
vlib: fix for vlib_node_add_next_with_slot

- vlib_node_add_next_with_slot was not cleaning the old next node
references to the given slot when replacing it with new next node. This mostly
worked until one tried to set the slot to a previously (but not currently) used
next node for that slot.

Type: fix

Signed-off-by: Christian Hopps <chopps@labn.net>
Change-Id: I7ee607625da874e320158b80f12ddc16e377f8e9

5 years agompls: number of mpls tunnel paths returns zero 06/23206/2
IJsbrand Wijnands [Mon, 28 Oct 2019 16:19:27 +0000 (17:19 +0100)]
mpls: number of mpls tunnel paths returns zero

The number of paths on the mpls tunnel returned through the bapi is
always zero. Doing a ntohl on a uint32 and poking it into a uint8 causes the problem.

Type: fix
Signed-off-by: IJsbrand Wijnands <ice@cisco.com>
Change-Id: I4135ad43a891e7818ca673c8067ef1f11cb34530

5 years agonat: fix dual-loop tcp checksum botch 81/23181/2
Dave Barach [Sun, 3 Nov 2019 16:29:29 +0000 (11:29 -0500)]
nat: fix dual-loop tcp checksum botch

Type: fix
Fixes: 22921

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

5 years agobuild: install generated api enum and type headers 73/23173/3
Dave Barach [Fri, 1 Nov 2019 20:24:41 +0000 (16:24 -0400)]
build: install generated api enum and type headers

Otherwise, <api-name>.api_enum.h and <api-name>.api_types.h files are
unavailable. If plugin B needs to send an API message to plugin A,
it's out of luck.

Type: fix

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I25fdb904b5cf57727d6196fa2c0c71be68f207ed
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
5 years agosession: fix show cli with closed session 75/23175/3
Florin Coras [Fri, 1 Nov 2019 21:03:28 +0000 (14:03 -0700)]
session: fix show cli with closed session

Type: fix

Change-Id: Ifb6ead644c0273b84a5647f7923053f1db7c5a76
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agosession: reschedule asap when snd space constrained 77/23177/6
Florin Coras [Sat, 2 Nov 2019 21:32:52 +0000 (14:32 -0700)]
session: reschedule asap when snd space constrained

Type: feature

Improves fairness for sessions that are snd space or pacer constrained.

Change-Id: Ida5f523090f1dcbfb17bf5116bc7917747ac8593
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agovlib: enhance the "show cli" debug CLI command 67/23167/3
Dave Barach [Fri, 1 Nov 2019 15:24:43 +0000 (11:24 -0400)]
vlib: enhance the "show cli" debug CLI command

Dump the entire CLI, mp-safe commands, non-mp-safe commands, commands
which have been executed. Optionally, clear the hit counters.

Type: feature

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

5 years agovlib: Handle race in thread barrier processing 76/23176/3
Alexander Kabaev [Fri, 1 Nov 2019 22:26:20 +0000 (18:26 -0400)]
vlib: Handle race in thread barrier processing

When CLIB_DEBUG is enabled, vlib_foreach_main macro asserts that
vlib_main it currently looks at is safely parked in barrier, by
checkling that vlib_main->parked_at_barrier is not 0.
Unfortunately, the check is racy - workers first increment the
atomic counter to indicate that they have reached the barrier
and _then_ set this_main->parked_at_barrier to 1. For the last
worker to suspend this opens the race - main thread is free
to execute and assert immediately after atomic counter has been
incremented, before worker gets to write to own parked_at_barrier.

Fix this by simply swapping the order of two operations.

Type: fix

Signed-off-by: Alexnader Kabaev <kan@FreeBSD.org>
Change-Id: Iae47abd6ca0be1c5413f5ecaefabc64cd7eac2ed

5 years agodpdk: fix tso not properly check the 'enable-tcp-udp-checksum' option issue 37/22637/2
Chenmin Sun [Thu, 10 Oct 2019 16:28:13 +0000 (00:28 +0800)]
dpdk: fix tso not properly check the 'enable-tcp-udp-checksum' option issue

Type: fix

Fix tso did not properly check the 'enable-tcp-udp-checksum' option issue
Add description of 'tso' and 'enable-tcp-udp-checksum' in startup.conf

Signed-off-by: Chenmin Sun <chenmin.sun@intel.com>
Change-Id: Id659067a9fa9e1db6c3f8dc533a2e90351b86831

5 years agoquic: fifo size is u32 05/23105/9
Dave Wallace [Wed, 30 Oct 2019 16:58:30 +0000 (16:58 +0000)]
quic: fifo size is u32

- Fix cli / config fifo size to only accept u32
  size input.
- Make cli / config fifo-size input type handling
  to be the same as vpp hoststack
- Update external transfer tests to use new
  syntax with different fifo sizes for
  vpp_echo client/server and vpp.

Type: fix

Change-Id: Ia5ddb2b8d3d9908ab502352819eebeec8ac0971d
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 years agobuild: bump rdma-core version to 26.0 63/23163/2
Damjan Marion [Thu, 31 Oct 2019 22:06:15 +0000 (23:06 +0100)]
build: bump rdma-core version to 26.0

Type: make
Change-Id: I642cff93c4935d6ba7948f0e38761c64007ae0c2
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agobuild: bump nasm version to 2.14.02 62/23162/2
Damjan Marion [Thu, 31 Oct 2019 21:22:46 +0000 (22:22 +0100)]
build: bump nasm version to 2.14.02

Type: make
Change-Id: I9b598ce17c058709553a45524e18a64de642a8db
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agobuild: remove obsolete dpdk patches 61/23161/2
Damjan Marion [Thu, 31 Oct 2019 21:20:09 +0000 (22:20 +0100)]
build: remove obsolete dpdk patches

Type: refactor
Change-Id: I2bad8d4e7b9d7868c949856d0bbabeccb6825273
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agodhcp: fix proxy dhcpv6 size check 94/23094/2
Benoît Ganne [Wed, 30 Oct 2019 13:46:40 +0000 (14:46 +0100)]
dhcp: fix proxy dhcpv6 size check

Type: fix

Change-Id: Ibbb25bc530fdeaa3083c9b833a286a5d40e93c1e
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agovlib: only dump 1st buffer in chain by default 77/22877/3
Benoît Ganne [Mon, 21 Oct 2019 13:13:54 +0000 (15:13 +0200)]
vlib: only dump 1st buffer in chain by default

Several nodes include buffers in their traces, but only the 1st. When
formatting the trace we must not try to iterate through all chained
buffers.
Default to display only the 1st buffer.

Type: fix

Change-Id: Ib3c668bbf4ab70ae68eba2ac402c7b7329825b70
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agoipsec: fix esp trace seq number overflow 95/23095/2
Benoît Ganne [Tue, 29 Oct 2019 10:13:05 +0000 (11:13 +0100)]
ipsec: fix esp trace seq number overflow

Do not copy invalid seq number if packet is too small.

Type: fix

Change-Id: I1e78f5920e9645521f57efccaf35bbf9ce0676a8
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agomisc: Use tabs in MAINTAINERS 58/23158/2
Vratko Polak [Thu, 31 Oct 2019 18:16:21 +0000 (19:16 +0100)]
misc: Use tabs in MAINTAINERS

Type: style

Change-Id: Idd15c372f43a720e18a973e78ec5ccd00e1ad709
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
5 years agoquic: fix wrong error checking 49/23149/2
Dave Wallace [Thu, 31 Oct 2019 16:21:27 +0000 (12:21 -0400)]
quic: fix wrong error checking

- Revert error checking to previous ASSERT

Type: fix
Fixes: 7c7fa9066

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

5 years agosession: avoid double dispatch of new events 28/23128/6
Florin Coras [Thu, 31 Oct 2019 02:22:51 +0000 (19:22 -0700)]
session: avoid double dispatch of new events

Type: fix

Avoid re-dispatching new events if they've just been added to the old
events linked list.

Change-Id: Ie5d0b799eae6cebb118d97204e5111eb194c0b8e
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agosession: fix dispatch event logging 27/23127/4
Florin Coras [Thu, 31 Oct 2019 00:11:53 +0000 (17:11 -0700)]
session: fix dispatch event logging

Type: fix

Change-Id: Icf3c73cd7eb7565ed6e1b0371da172b5408a9d36
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agotests: Revert "tests: add sending SIGQUIT to vpp quit sequence" 35/23135/4
Andrew Yourtchenko [Thu, 31 Oct 2019 08:34:22 +0000 (08:34 +0000)]
tests: Revert "tests: add sending SIGQUIT to vpp quit sequence"

This reverts commit 4465fe1e30556b40c9ef8a1a155aa1665102dd22.

That commit makes *every* test to send SIGQUIT to VPP when it is done,
thereby triggering the coredump if there was none.

It is most surely not what we want.

Type: test

Change-Id: I3cc4c96f44c05527d586142f8feccc2f93c3e536
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agoquic: disable failing test 29/23129/2
Florin Coras [Thu, 31 Oct 2019 02:43:57 +0000 (19:43 -0700)]
quic: disable failing test

Type: fix

Disable test until fixed.

Change-Id: I1f03630d126e61578c63a3536a0dd1a7b4da2b92
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoacl: add missing square brackets to vat_help option in acl api 84/23084/2
Jieqiang Wang [Mon, 28 Oct 2019 11:14:06 +0000 (19:14 +0800)]
acl: add missing square brackets to vat_help option in acl api

Add the missing right square brackets to remove ambiguity in
vat_help option for acl_add_replace and macip_acl_add_replace api.

Type: fix

Change-Id: I2679d8ce163d23a0e513afdfdb87434cbb673c74
Signed-off-by: Jieqiang.Wang <Jieqiang.Wang@arm.com>
5 years agotcp: track lost rxt segments in byte tracker 38/22938/5
Florin Coras [Tue, 22 Oct 2019 20:34:30 +0000 (13:34 -0700)]
tcp: track lost rxt segments in byte tracker

Type: feature

Change-Id: I18dfac9c3d2f539edf20dba64cd2b7b541154144
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoquic: fix quicly fifo size mismatch 12/23112/2
Dave Wallace [Wed, 30 Oct 2019 18:30:53 +0000 (18:30 +0000)]
quic: fix quicly fifo size mismatch

- This fixes an intermittent failure of the
  test_quic_ext_transfer test due to quicly
  being configured with the wrong fifo size
  which was taken from the cli or startup.conf
  file. The fifo size from the application
  context is now used when creating the
  quicly context.
- Emit an error message if the entire chunk
  of a stream is not enqueued in the svm fifo.

Type: fix

Change-Id: I03847ea7d4cd7a617b577697dfe3afa969850937
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 years agovpp_config: fix typos in templates 73/23073/3
Paul Vinciguerra [Wed, 30 Oct 2019 02:58:50 +0000 (22:58 -0400)]
vpp_config: fix typos in templates

Type: style

Change-Id: Ia435604c8c48a78054848095567f1e54d028227e
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agohttp_static: fifo-size is u32 14/23114/2
Dave Wallace [Wed, 30 Oct 2019 18:47:46 +0000 (18:47 +0000)]
http_static: fifo-size is u32

- Limit cli input to u32

Type: fix

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

5 years agovlib: fix subclass name being truncated in output 13/23113/2
Paul Vinciguerra [Wed, 30 Oct 2019 18:43:08 +0000 (14:43 -0400)]
vlib: fix subclass name being truncated in output

Type: fix

Change-Id: I50816cca4eb88f58209138a348fc5954ab835f5b
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agodns: fix typo in counter 15/23115/2
Paul Vinciguerra [Wed, 30 Oct 2019 19:03:56 +0000 (15:03 -0400)]
dns: fix typo in counter

Type: fix

Change-Id: Id8a0ce8278816d2839d229799daa3735a097bc7b
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agol2: fix typo in doxygen 16/23116/2
Paul Vinciguerra [Wed, 30 Oct 2019 19:07:20 +0000 (15:07 -0400)]
l2: fix typo in doxygen

Type: style

Change-Id: I286280fffa6ab5d3e15986911a4ccc35efbf41c3
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agotests: add sending SIGQUIT to vpp quit sequence 14/23014/2
Paul Vinciguerra [Sun, 27 Oct 2019 18:08:09 +0000 (14:08 -0400)]
tests: add sending SIGQUIT to vpp quit sequence

As suggested in the docs by:
https://fd.io/docs/vpp/master/usecases/contiv/core_files#let-vpp-crash

Type: test

Change-Id: I10caf16220e2507351636c1b26e57e19bcf8a542
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoip: cleanup typos in documentation 03/23003/4
Paul Vinciguerra [Sat, 26 Oct 2019 23:34:40 +0000 (19:34 -0400)]
ip: cleanup typos in documentation

Type: style

Change-Id: I7d44b7fab1b8b196e4934cb4832ee51084c5bf98
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agotls: fifo size is u32 10/23110/2
Dave Wallace [Wed, 30 Oct 2019 17:53:56 +0000 (17:53 +0000)]
tls: fifo size is u32

- unformat_memory_size() writes to a uword *
- Limit cli input to u32

Type: fix

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

5 years agohsa: vpp_echo fifo size is u32 04/23104/2
Dave Wallace [Wed, 30 Oct 2019 16:49:35 +0000 (16:49 +0000)]
hsa: vpp_echo fifo size is u32

- Fix cli / config fifo size to only accept u32
  size input.
- Make cli / config fifo-size input type handling
  to be the same as vpp hoststack
- Clean up vpp_echo usage output
- Clean up json close stats labels to make them
  less confusing

Type: fix

Change-Id: I3aa2247f75a4ce284be9e7c0adc71ba488bfbf2b
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 years agotcp: rx fifo size is u32 07/23107/2
Dave Wallace [Wed, 30 Oct 2019 17:25:24 +0000 (17:25 +0000)]
tcp: rx fifo size is u32

- Limit cli input for rx fifo size to u32

Type: fix

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

5 years agomisc: MAINTAINERS clean up typos 34/23034/2
Paul Vinciguerra [Mon, 28 Oct 2019 14:12:29 +0000 (10:12 -0400)]
misc: MAINTAINERS clean up typos

Type: style

Change-Id: I0241005c1bb009444fdc510fc1a6599cc90d91dd
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agovlib: Trivial - fix typo in short help 00/23100/2
Paul Vinciguerra [Wed, 30 Oct 2019 15:14:58 +0000 (11:14 -0400)]
vlib: Trivial - fix typo in short help

Type: fix

Change-Id: Ifada594088984291ce2e79da0bbbbd1f500640c9
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agodpdk: use local logger 11/23111/2
Paul Vinciguerra [Wed, 30 Oct 2019 18:10:56 +0000 (14:10 -0400)]
dpdk: use local logger

Type: fix

Change-Id: I44922f70aef6a3c53f0f56c6d0656502c8fd69b2
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoquic: fix typos 16/23016/2
Paul Vinciguerra [Sun, 27 Oct 2019 21:39:46 +0000 (17:39 -0400)]
quic: fix typos

Type: style

Change-Id: Iec3478541997352a627c8869e38cb7be7c3dae6a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agotls: fix on tcp connection reset 88/22688/5
Zeyu Zhang [Sat, 12 Oct 2019 06:21:59 +0000 (14:21 +0800)]
tls: fix on tcp connection reset

VPP would fail in tcp_connection_reset() if the tls
or app session was just created.

Type: fix

Change-Id: I45d107f57e4f3fc468c15ca3392d5e1c413bd690
Signed-off-by: Zeyu Zhang <zeyu.zhang@intel.com>
5 years agolisp: fix lisp-gpe db hash 96/23096/2
Benoît Ganne [Tue, 29 Oct 2019 10:19:52 +0000 (11:19 +0100)]
lisp: fix lisp-gpe db hash

lgt->key is already a pointer to the key, hash the pointed data instead
of the pointer value.

Type: fix

Change-Id: I4d29d8c6519afc3843cb2e5ef88795d60f715e23
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agodhcp: allocate memory for dns 86/23086/4
Aleksander Djuric [Wed, 30 Oct 2019 09:26:46 +0000 (12:26 +0300)]
dhcp: allocate memory for dns

Type: fix

Signed-off-by: Aleksander Djuric <aleksander.djuric@gmail.com>
Change-Id: I56375d5d53eb07d80c1b12513798317f60c81a6d
Signed-off-by: Aleksander Djuric <aleksander.djuric@gmail.com>
5 years agodocs: devices-- add FEATURES.yaml 70/23070/2
Paul Vinciguerra [Tue, 29 Oct 2019 20:11:09 +0000 (16:11 -0400)]
docs: devices-- add FEATURES.yaml

Type: docs

Change-Id: I039ba9ad5385452b202366fba0b367506a21ea4f
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agol2: l2tp API cleanup 22/23022/3
Jakub Grajciar [Mon, 28 Oct 2019 09:22:01 +0000 (10:22 +0100)]
l2: l2tp API cleanup

Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I9015fc60e8d77e5d5ac36bf2862c1fe794addb81
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
5 years agolb: refactor ntohl in lb_conf handler 82/22182/5
Vratko Polak [Fri, 20 Sep 2019 16:56:49 +0000 (18:56 +0200)]
lb: refactor ntohl in lb_conf handler

Type: refactor

Change-Id: Ibe8f3c1ed5c04d1800fea9b9a90772816aa38d65
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
5 years agotests: decode worker stdout/stderr output 71/23071/1
Dave Wallace [Tue, 29 Oct 2019 23:12:03 +0000 (19:12 -0400)]
tests: decode worker stdout/stderr output

Type: fix

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

5 years agovcl: handle rx notifications on reused sessions 43/23043/3
Florin Coras [Mon, 28 Oct 2019 20:22:37 +0000 (13:22 -0700)]
vcl: handle rx notifications on reused sessions

Type: fix

Ignore events on sessions that have been reused but not fully
initialized.

Change-Id: Ided020eb5245d665d0a2e4a9e1f8a6dddebae009
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agodpdk: replace deprecated VFIO API invocation 82/22982/2
Damjan Marion [Fri, 25 Oct 2019 12:55:53 +0000 (14:55 +0200)]
dpdk: replace deprecated VFIO API invocation

Type: refactor

Change-Id: I1712729b3f5d4ab659f51a2d3bf798db16b50820
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoip: refactor ip4_mtrie to use atomic store-release 59/22359/4
jaszha03 [Fri, 27 Sep 2019 17:52:18 +0000 (12:52 -0500)]
ip: refactor ip4_mtrie to use atomic store-release

ip4_mtrie used full memory barrier compare-and-swap in set_leaf () and
set_root_leaf () even though only one thread updates the trie. Replaced
such instances of compare-and-swap with atomic store-release.

Type: refactor

Change-Id: Ic6e3c84480697915541acd16dcc630d1c436137d
Signed-off-by: Jason Zhang <jason.zhang2@arm.com>
Reviewed-by: Lijian Zhang <Lijian.Zhang@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
5 years agoip: refactor ip4_mtrie to atomically unset leaves 66/22366/3
jaszha03 [Fri, 27 Sep 2019 20:42:02 +0000 (15:42 -0500)]
ip: refactor ip4_mtrie to atomically unset leaves

ip4_mtrie set leaves atomically in set_leaf () and set_root_leaf () but
deleted leaves using regular stores in unset_leaf () and unset_root_leaf ().
Changed leaf deletion to update mtrie using atomic store-release.

Slight performance improvement was observed in benchmarking on Qualcomm
and Xeon machines. Benchmarking involved running 'ip route add' and
'ip route del' on vpp instances. Below are the routes/second for adding
and deleting 100k routes before and after the store-release changes:

Xeon Add Routes Before: 1.140e6, 1.139e6, 1.148e6, 1.158e6, 1.155e6
Xeon Add Routes After: 1.167e6, 1.170e6, 1.174e6, 1.173e6, 1.169e6
Xeon Del Routes Before: 7.287e7, 8.089e7, 6.048e7, 7.171e7, 7.821e7
Xeon Del Routes After: 8.729e7, 7.353e7, 7.856e7, 8.209e7, 7.787e7
Qualcomm Add Routes Before: 3.709e5, 3.954e5, 3.739e5, 3.759e5, 3.671e5
Qualcomm Add Routes After: 3.879e5, 3.967e5, 3.936e5, 3.764e5, 3.817e5
Qualcomm Del Routes Before: 1.286e7, 1.379e7, 1.353e7, 1.230e7, 1.331e7
Qualcomm Del Routes After: 1.411e7, 1.355e7, 1.373e7, 1.394e7, 1.314e7

Type: refactor

Change-Id: If3acd25a2fb87addd0eb13d82d3c8f46579e8060
Signed-off-by: Jason Zhang <jason.zhang2@arm.com>
Reviewed-by: Lijian Zhang <Lijian.Zhang@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
5 years agodocs: Fix warning with sphinx build, add script to publish docs 61/23061/1
John DeNisco [Tue, 29 Oct 2019 14:40:09 +0000 (10:40 -0400)]
docs: Fix warning with sphinx build, add script to publish docs

Signed-off-by: John DeNisco <jdenisco@cisco.com>
Change-Id: Ic17585bcb4196e5b0661104745f67d6a02ab6b3d

5 years agotests: fix TEST= filtering for python3 59/23059/2
Klement Sekera [Tue, 29 Oct 2019 11:03:47 +0000 (11:03 +0000)]
tests: fix TEST= filtering for python3

Type: fix

Change-Id: Iceb60e8a507120434cfc68758476ff5351b05f58
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agoethernet: VNET API to create sub-interfaces 36/23036/2
Neale Ranns [Mon, 28 Oct 2019 14:56:15 +0000 (07:56 -0700)]
ethernet: VNET API to create sub-interfaces

Type: refactor

Change-Id: I37899a9c1c2b0790bee90b84aec6b51cdd5236b4
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agomisc: 19.04.3 Release Notes 46/23046/2
Dave Wallace [Tue, 29 Oct 2019 02:43:28 +0000 (22:43 -0400)]
misc: 19.04.3 Release Notes

Type: docs

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

5 years agotcp: correct tcp connection lookup condition 17/23017/3
Ryujiro Shibuya [Mon, 28 Oct 2019 00:32:12 +0000 (00:32 +0000)]
tcp: correct tcp connection lookup condition

Type: fix

Signed-off-by: Ryujiro Shibuya <ryujiro.shibuya@owmobility.com>
Change-Id: Ibdbac568d5f765e6b5c959cab5e32dc33335064d

5 years agosession: allow transport cleanup only if not deleted 37/23037/2
Florin Coras [Mon, 28 Oct 2019 15:46:37 +0000 (08:46 -0700)]
session: allow transport cleanup only if not deleted

Type: fix

Change-Id: I51282182952a66be698226bace39626df4d67b9f
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoip: Punt rather than drop unkown IPv6 ICMP packets 91/22991/2
Neale Ranns [Fri, 25 Oct 2019 14:20:42 +0000 (07:20 -0700)]
ip: Punt rather than drop unkown IPv6 ICMP packets

Type: feature

Change-Id: Ib137c453ff2dd5b9d028c653afa80e6b2b81b9e0
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoping: move the echo responder into the ping plugin 80/22980/2
Neale Ranns [Fri, 25 Oct 2019 08:40:47 +0000 (01:40 -0700)]
ping: move the echo responder into the ping plugin

Type: feature

Change-Id: I246346b82858e73b16d727e2106350bc0fc3c6f2
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agovlib: don't use vector for keeping buffer indices in the pool 42/18242/10
Damjan Marion [Tue, 12 Mar 2019 17:14:15 +0000 (18:14 +0100)]
vlib: don't use vector for keeping buffer indices in the pool

Type: refactor

Change-Id: I72221b97d7e0bf5c93e20bbda4473ca67bfcdeb4
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoip: reassembly fix sanity checks 28/23028/4
Klement Sekera [Mon, 28 Oct 2019 11:26:28 +0000 (11:26 +0000)]
ip: reassembly fix sanity checks

use correct value for sanity checks

Type: fix

Change-Id: If33db5ce3e4a26f7876c2a67832ca2947563e211
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agodocs: cleanup typos on readthrough 15/23015/2
Paul Vinciguerra [Sun, 27 Oct 2019 21:28:10 +0000 (17:28 -0400)]
docs: cleanup typos on readthrough

Type: style

Change-Id: I3b15035ea6c13cd1ca3cdc9dfa9b10a6e1be9880
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agosession: app-closed to transport-deleted on delete notify 01/23001/4
Florin Coras [Fri, 25 Oct 2019 23:23:39 +0000 (16:23 -0700)]
session: app-closed to transport-deleted on delete notify

Type: refactor

As a result, transport-deleted is the only session state that has no
transport data structure.

Change-Id: I2da2bc4bbb141d8a7b52faae66a4733de8f8513b
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agonat: respect udp checksum 21/22921/4
Filip Varga [Mon, 21 Oct 2019 16:18:00 +0000 (18:18 +0200)]
nat: respect udp checksum

Type: fix

Change-Id: I73895fa0101bd50483160c8dc6faac2c67513077
Signed-off-by: Filip Varga <fivarga@cisco.com>
5 years agotests: switch test framework to python3 by default 47/22947/8
Ole Troan [Wed, 23 Oct 2019 09:47:33 +0000 (11:47 +0200)]
tests: switch test framework to python3 by default

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

5 years agotests: make RA tests run on VPP time 95/22695/4
Andrew Yourtchenko [Sun, 13 Oct 2019 18:56:03 +0000 (18:56 +0000)]
tests: make RA tests run on VPP time

the IPv6 RA tests take timing into the account,
but the time inside VPP may go slightly differently compared
to the time inside the driving python thread,
if the machine running the tests is heavily loaded.
Make a sleep function which sleeps "on VPP time" and use it.

Change-Id: I3b34b0164f6e0ec7a619b92ee308089a4a8935e3
Type: test
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>