vpp.git
4 years agotests: make RA tests run on VPP time 86/23186/2
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>
(cherry picked from commit 63cb8827e586f02f53512d23a8e7596fe9c19aa8)

4 years agovlib: unix trivial- clean up typos in docs 85/23185/2
Paul Vinciguerra [Sun, 27 Oct 2019 18:00:53 +0000 (14:00 -0400)]
vlib: unix trivial- clean up typos in docs

seen while reading through the code.

Type: style

Change-Id: I7a2f021b9f06d0eebb2ea3d0cafb6955ccb14781
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
(cherry picked from commit d29422cbeeefb58d0213b295b35d04a673b380e7)

4 years agoip: trivial typos in docs 84/23184/2
Paul Vinciguerra [Fri, 18 Oct 2019 01:08:17 +0000 (21:08 -0400)]
ip: trivial typos in docs

Type: style

Change-Id: I620f15b96ee5401e0145a139f06d343d7c4fadb4
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
(cherry picked from commit f158944cc4f1bfcc21bed16f5c6f9177734adecd)

4 years agotcp: avoid sending acks when data available 82/23182/2
Florin Coras [Thu, 17 Oct 2019 02:28:17 +0000 (19:28 -0700)]
tcp: avoid sending acks when data available

Type: fix

Change-Id: I02e2cb2d349f9ddb2bfed040a08ca448f379d565
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit cb711a4ec908b89edc9da29d3c2e093dab85fbbf)

4 years agosession: avoid old io dispatch if no slots left to send 42/23142/2
Ryujiro Shibuya [Wed, 9 Oct 2019 01:54:04 +0000 (02:54 +0100)]
session: avoid old io dispatch if no slots left to send

Type: fix

Signed-off-by: Ryujiro Shibuya <Ryujiro.Shibuya@owmobility.com>
Change-Id: I8e1f6cbd905ad5c21aed1b2e358540d0fbd7fc47
(cherry picked from commit 2a1118411deed799e079bf34d3f6d8bccb37f8c5)

4 years agogso: fix buffers trace 48/23148/2
Andrew Yourtchenko [Thu, 31 Oct 2019 15:44:02 +0000 (15:44 +0000)]
gso: fix buffers trace

When segmenting, new buffers must inherit the original buffer trace
handle.

Type: fix

Change-Id: Ibd1859a501b2862906dfc563b98652cfee5681da
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
4 years agoipsec: fix tunnel protection removal 26/22926/3
Filip Tehlar [Fri, 18 Oct 2019 22:24:41 +0000 (22:24 +0000)]
ipsec: fix tunnel protection removal

Type: fix

Change-Id: I4d5546d1f9b3a162291997f6f0c094c5c3d6cf31
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
(cherry picked from commit 89b24950005914317c142149fa1ba8a167a978ca)

4 years agordma: build: fix ibverb compilation test 64/23164/1
Benoît Ganne [Tue, 22 Oct 2019 14:55:19 +0000 (16:55 +0200)]
rdma: build: fix ibverb compilation test

Type: fix

Change-Id: Ib6389ecbcf4a1b7bae25b2bd9e7fbdec49545aaa
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 386ebb6e2baa7d3b2535d646c04ccf852f859869)

4 years agotcp: correct tcp connection lookup condition 57/23057/2
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
(cherry picked from commit c8be851161739d9f0b1c4bfbda4e991461ff0bc9)

4 years agonat: respect udp checksum 56/23056/2
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>
(cherry picked from commit 0d75f783644a24b219ed79d9f9c17387783f67ca)

4 years agomemif: memif buffer leaks during disconnecting zero copy interface. 55/23055/2
Changqian Wang [Fri, 18 Oct 2019 09:13:13 +0000 (17:13 +0800)]
memif: memif buffer leaks during disconnecting zero copy interface.
code added to free the zero copy interface rx/tx queue buffers during disconnecting.
As ddc9eb4 find the last official solution introduced core in ut. This does not.

Type: fix

Signed-off-by: Changqian Wang <changqwa@cisco.com>
Change-Id: I971ee164e6d4331a85feb9e65d6702d771c86985
(cherry picked from commit 00b2d74d1f58b9357e8d955ad7410fb608490904)

4 years agogtpu: msg id fix in send_gtpu_tunnel_details api 54/23054/2
Miklos Tirpak [Tue, 22 Oct 2019 09:01:42 +0000 (11:01 +0200)]
gtpu: msg id fix in send_gtpu_tunnel_details api

Type: fix

_vl_msg_id must start at msg_id_base.

Signed-off-by: Miklos Tirpak <miklos.tirpak@gmail.com>
Change-Id: Id3f05683c873fcac47667a9736e45e85849b740c
(cherry picked from commit bd0a00a45637c1dde533ef6c3798418c2ab15009)

4 years agotcp: improve rate samples for retansmitted segments 53/23053/2
Florin Coras [Sun, 13 Oct 2019 01:10:20 +0000 (18:10 -0700)]
tcp: improve rate samples for retansmitted segments

Type: fix

- Initialize max_seq on both transmitted and retransmitted segments
- Keep track of segments that have been sacked.
- Track new data segments sent during recovery

Change-Id: Ice55231a3da200ae6171702e54b2ce155f831143
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit d6ae4bf13a7819d64d128d196d491af4700fa948)

4 years agotcp: fix sack retransmit beyond snd_nxt 52/23052/2
Florin Coras [Wed, 23 Oct 2019 02:44:45 +0000 (19:44 -0700)]
tcp: fix sack retransmit beyond snd_nxt

Type: fix

Ensure that sack retransmit logic does not try to inadvertently send new
data.

Change-Id: Idfda19643577d9c1b58e2af8d8283cabfbaf98e6
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 81cb8e4092991d3fd1e24f0862c12548a2d4c714)

4 years agovppinfra: make coverity happy with vec_set_len 51/23051/2
Benoît Ganne [Tue, 22 Oct 2019 16:19:00 +0000 (18:19 +0200)]
vppinfra: make coverity happy with vec_set_len

Coverity gets confused by ASSERT((l) <= vec_max_len(v)) when l is 0.

Type: fix

Change-Id: I247d7015b148233d8f195bcf41e9a047b7a21309
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 70d5d4fa09520bd5825b49960ae896beca3535e8)

4 years agovppinfra: add clib_mem_free_s 50/23050/2
Benoît Ganne [Mon, 29 Apr 2019 15:27:24 +0000 (17:27 +0200)]
vppinfra: add clib_mem_free_s

IPsec zero-es all allocated key memory including memory sur-allocated by
the allocator.
Move it to its own function in clib mem infra to make it easier to
instrument.

Type: refactor

Change-Id: Icd1c44d18b741e723864abce75ac93e2eff74b61
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 78af0a8c5ff1a33ff8dccb1b2ea6ffadb8ef7b62)

4 years agotcp: Init cwnd from ssthresh. 12/23012/2
Sergey Ivanushkin [Thu, 17 Oct 2019 09:16:27 +0000 (10:16 +0100)]
tcp: Init cwnd from ssthresh.

Set high ssthresh out of the box and make configurable

Type: fix

Signed-off-by: Sergey Ivanushkin <sergey.ivanushkin@enea.com>
Change-Id: Iba1549b4ee55e51468ad0b28ef3d26a85fa9cae0
(cherry picked from commit c30318da220953610820a2e7cd957da7046eaf4b)

4 years agosession: increase max ctrl msg size 10/23010/2
Florin Coras [Wed, 16 Oct 2019 18:21:41 +0000 (11:21 -0700)]
session: increase max ctrl msg size

Type: fix

Connect ctrl message recently outgrew the maximum ctrl msg size, so
increase the limit. Also add static asserts for messages that could
potentially exceed the limit.

Change-Id: I0d3e32e0d4d67d7e222cff14ddba59a0c3fb8b00
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit e24a4bc023b880cb01aeaf8ffea98f44dd66ef4a)

4 years agotcp: avoid head retransmit if scoreboard has no holes 09/23009/2
Florin Coras [Wed, 16 Oct 2019 17:07:39 +0000 (10:07 -0700)]
tcp: avoid head retransmit if scoreboard has no holes

Type: fix

Change-Id: I6164ad0d97cd91b60c85302eff691836d12a0a70
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 8a8b05c526883fe34b83239a3c4f56087d1df9e5)

4 years agogbp: missing contract hash-mode setting 48/23048/2
Neale Ranns [Tue, 22 Oct 2019 12:32:49 +0000 (12:32 +0000)]
gbp: missing contract hash-mode setting

Type: fix

Change-Id: Ia0f1e88b43e861d3f6965076c73cc48fb9574da3
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit bb098f176433d435471161f8be297d43b3558f4f)

4 years agol2: l2bd nd termination test instability 27/23027/2
Ole Troan [Fri, 25 Oct 2019 15:03:54 +0000 (17:03 +0200)]
l2: l2bd nd termination test instability

The test for ND event suppression reused the previous test run
ipv6 address, and would sometimes consider that a duplicate,
and therefore suppressing that one too.

Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I1b115aa4eba9d57770fa03fcf38b7a1c251cfe88
(cherry picked from commit df0191ead2cf39611714b6603cdc5bdddc445b57)

4 years agodevices: vhoost cpu->copy array overflow on tcp jumbo frame (65535 bytes) 98/22998/2
Steven Luong [Wed, 23 Oct 2019 20:28:37 +0000 (13:28 -0700)]
devices: vhoost cpu->copy array overflow on tcp jumbo frame (65535 bytes)

We reserve 40 slots in cpu->copy array prior to copy out to avoid overflowing
the array. However, 40 is not enough for the jumbo frame because desceiptor
buffer len is likely at 1536. Change the reserve to 200 and add ASSERT to avoid
encountering the same problem in the future.

Type: fix

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: Ibf0c03c4b4f33e781d5be8679ccd6c3a4b4a646d
(cherry picked from commit 7331005c16d0e1499080899b2a0676a0cd945595)

4 years agobuild: add missing ldflags to exe and shared 26/23026/2
Benoît Ganne [Tue, 11 Jun 2019 14:56:41 +0000 (16:56 +0200)]
build: add missing ldflags to exe and shared

Type: fix

Change-Id: I859bc6ebc574ab09fd70b45f8c911769d00e7acf
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 534de8b2a77cc2479a3f23cdb6df3d43cead06a6)

4 years agovppinfra: add vec_set_len() 25/23025/2
Benoît Ganne [Mon, 22 Jul 2019 12:21:46 +0000 (14:21 +0200)]
vppinfra: add vec_set_len()

l2-flood and bier nodes reset vector length without updating it to its
effective size. Introduce a helper to do it (this allows ASAN to keep
track of the new vector size).

Type: refactor

Change-Id: I2d652550c440f0553a2b49c3ee3d37b49ebc16c3
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 8a4bfdae87286ed281df855c58b669eb6b76aaf8)

4 years agotests: add PID of VPP under test to API dump filename for the test 24/23024/2
Andrew Yourtchenko [Mon, 21 Oct 2019 12:55:48 +0000 (12:55 +0000)]
tests: add PID of VPP under test to API dump filename for the test

Some testclasses (e.g. IPSec) have methods with the same names,
this causes a race when running in parallel to save the API and
move it into the test's directory - the name of the file has
only the test method name as a discriminator.

Saving two traces from two VPP instances "succeeds", in that
it silently overwrites the file. But only one mv operation
works - the other gives an error "file not found" and fails the test.

Solution: add the PID of VPP under test to the API dump filename,
this way the filenames become guaranteed unique and the race is avoided.

Change-Id: I1bb47ed73369fea0f1bfbf907588a51e2cabfb7f
Type: test
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 586d3edf49f5dd8cd3e4f836afd562e21766914d)

4 years agovlib: enable worker-thread dispatch pcap trace 23/23023/2
Dave Barach [Fri, 18 Oct 2019 18:44:05 +0000 (14:44 -0400)]
vlib: enable worker-thread dispatch pcap trace

Needed a bit of foreach_vlib_main(...) action to turn on/off all
instances of vm->dispatch_pcap_enable, and to pick up the pcap_main_t
pointer from vlib_global_main.

Type: fix

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I49b69b87934c7dc7a9835cd07aa2c5c4d3c79f18
(cherry picked from commit 349cd1af77a27962e9475e9fa9c0ed15e2af23de)

4 years agomisc: Update gitignore for /test/ext/.d 11/23011/2
Neale Ranns [Wed, 16 Oct 2019 15:15:23 +0000 (08:15 -0700)]
misc: Update gitignore for /test/ext/.d

.. otherwise i'm going to commit it accidentally

Type: feature

Change-Id: I0378b9a29a28ea7317bc7d234f8cbacdafd6b762
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit 8161d73d7eb292ce8d6212b3a1575eed12dfeee2)

4 years agotcp: fix mss flag in option parsing 24/22924/2
Florin Coras [Wed, 16 Oct 2019 19:26:51 +0000 (12:26 -0700)]
tcp: fix mss flag in option parsing

Type: fix

Change-Id: Ib03151a097caf15e4e8285afea83d1b930a874b0
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit a9e1f7b99bcb2164f3481cf48134d4efe7319c04)

4 years agosvm: immediate fifo growth even when wrapped 22/22922/2
Ryujiro Shibuya [Wed, 16 Oct 2019 05:30:02 +0000 (06:30 +0100)]
svm: immediate fifo growth even when wrapped

Type: fix

- when the fifo is wrapped, and if applicable, insert a new chunk after
  the tail-chunk and rebuild the rb_tree.
- make sure that this new algorithm can be applied only when the fifo is
  used by a single thread (master-thread of the fifo).

Signed-off-by: Ryujiro Shibuya <ryujiro.shibuya@owmobility.com>
Change-Id: I3fc187bc496ea537ca24381e4abc08d2906c9e03
(cherry picked from commit 8e20fe7ab445e2de80caabb298aef8a658f6d4ab)

4 years agotls: allow disconnects from main thread 08/23008/2
Florin Coras [Fri, 11 Oct 2019 15:00:43 +0000 (08:00 -0700)]
tls: allow disconnects from main thread

Type: fix

Use api with explicit thread index to retrieve tls contex on close.

Change-Id: Ibdc4338747300b7fc8f91ef3e10bcd48ce7ae366
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 6faac1622e0d5352da987c73a6f3f1ec55896116)

4 years agotcp: refactor flags into cfg and conn flags 07/23007/2
Florin Coras [Thu, 10 Oct 2019 20:52:04 +0000 (13:52 -0700)]
tcp: refactor flags into cfg and conn flags

Type: refactor

Change-Id: Ib5e2ecf55732599e1322736e3662178c9da49c7d
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit bbcfaac9571004d87998684c123354667b726532)

4 years agotcp: improve pacing after idle send periods 06/23006/2
Florin Coras [Sun, 6 Oct 2019 21:06:14 +0000 (14:06 -0700)]
tcp: improve pacing after idle send periods

Rest pacer on ack reception if we haven't recently sent anything.

Type: feature

Change-Id: I820bacd81b65130052dfafbfcbe6ca4553069fbc
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit c31dc31f84961033ecb6354811e0c360b6cf5f79)

4 years agoebuild: Unite default build platform to vpp 05/23005/2
juraj.linkes [Wed, 14 Aug 2019 09:11:33 +0000 (11:11 +0200)]
ebuild: Unite default build platform to vpp

Top level makefile is using vpp as the default platform. The other place
where platform is specified has native as the default. Unite them to the
only currently supported platform - vpp.

Type: make

Change-Id: Idb12ccc3056dd6be640a2d6763dc30e4f789d2ac
Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
(cherry picked from commit 664ec91fdea75c90c3b9c8086a9a97df32a6f91b)

4 years agomisc: 19.04.3 Release Notes 45/23045/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

4 years agobonding: fix interface deletion 25/22925/2
Benoît Ganne [Wed, 16 Oct 2019 13:03:06 +0000 (15:03 +0200)]
bonding: fix interface deletion

Copy sw_if_index value instead of using pointers to original
bif->slaves content which could be overriden by eg. vec_del1().

Type: feature

Change-Id: I37e458effd6b2367479574f7bd3facd4e93bada4
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit cc3aac05697976b512ce68017ca02b27d613eff2)

4 years agomisc: (cdp) fix non-null terminated vector use 23/22923/3
Benoît Ganne [Wed, 16 Oct 2019 12:54:24 +0000 (14:54 +0200)]
misc: (cdp) fix non-null terminated vector use

Type: fix

Change-Id: I31e5d9d9e93339eb789aed20996f326b085c22a9
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 94e4dea15ac704a40617fe8bcfcce74e2d890856)

4 years agosvm: reset vector data instead of length 20/22920/2
Benoît Ganne [Wed, 16 Oct 2019 12:58:51 +0000 (14:58 +0200)]
svm: reset vector data instead of length

Reseting vector length confuses ASAN and does not reset data either.
Only reset data instead.

Type: fix

Change-Id: Id60b8333df28a5b636a9d302b987bbad95c85c38
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit a9f1e7d4fd764b4f68e830528dbd296921050293)

4 years agosession: fix use-after-free 19/22919/2
Benoît Ganne [Wed, 16 Oct 2019 13:11:22 +0000 (15:11 +0200)]
session: fix use-after-free

Type: fix

Change-Id: Ie63b80db56febc8a16bafcdd5399b2f92b6aa437
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 94d2da0b294b0084dd97217e79de18842f09356b)

4 years agoipip: fix typos in short_help 18/22918/2
Ignas Bacius [Thu, 10 Oct 2019 13:14:47 +0000 (16:14 +0300)]
ipip: fix typos in short_help

Type: fix
Signed-off-by: Ignas Bacius <ignas@noia.network>
Change-Id: Ica069e8c9dd4efd1f00639754da471bf11418b57
(cherry picked from commit 3d93ad9f33c8743ba3a6d3babdd1d25fdfbf0c6e)

4 years agogbp: Add extended SFC unit tests 17/22917/2
Mohsin Kazmi [Wed, 10 Jul 2019 16:45:55 +0000 (18:45 +0200)]
gbp: Add extended SFC unit tests

Type: feature

Change-Id: I1218257af0053ae27c4394d7666fde87a732e08c
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit a3c8ca10e9fb09e81a0dba40ad8a5fc6a9d27467)

4 years agoping: Move to plugin 16/22916/2
Mohsin Kazmi [Wed, 9 Oct 2019 16:35:16 +0000 (18:35 +0200)]
ping: Move to plugin

Type: refactor

Change-Id: I51d5bf54dfd408aa0c406cbdf0f4be10ef19d10d
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
(cherry picked from commit 26c7a4b0b6488423688f4a7f3c8aacf0d1b9c742)

4 years agotests: make pg_start() wait until pg completes 15/22915/2
Andrew Yourtchenko [Sun, 13 Oct 2019 10:09:50 +0000 (10:09 +0000)]
tests: make pg_start() wait until pg completes

A sizable number of tests call pg_start() to get the packets flowing and then
immediately expect to have the entirety of the packets gone through.
This works on powerful and unstressed hardware, but fails in beautifully random
ways under load.

This also necessitates the complicated logic of remembering the "zombie captures",
then sleeping for some time before cleaning them up....

The solution is simple: in pg_start(), start the generators, wait till they
all finish, clean up, done.

Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Change-Id: I930e51b7aae39c9841d22dd905a4d13a465a672b
Type: test
(cherry picked from commit 8d829f6c480cdd6536537fc49356baa1878b9570)

4 years agotests: log error which happens during connect and wait longer for stats socket 14/22914/2
Andrew Yourtchenko [Sun, 13 Oct 2019 10:06:46 +0000 (10:06 +0000)]
tests: log error which happens during connect and wait longer for stats socket

Intermittently, a test would start VPP, but no testcases would execute.
This would be more probable apparent during the high load or if there
is another testcase dumping the core at that moment.
Adding the logging to the connection revealed it was the stats socket
connection erroring with error -2. Increasing the deadline
from 3 seconds to 5 minutes has eliminated this error.

Change-Id: I40bd7e642abb9e2aef0238c612e4c34781de5db2
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Type: test
(cherry picked from commit 4f05a8e408cba09057841d97cd5e7da3058836d1)

4 years agotests: explicitly wait for the PG to finish before looking for capture file 13/22913/2
Andrew Yourtchenko [Fri, 11 Oct 2019 12:34:12 +0000 (12:34 +0000)]
tests: explicitly wait for the PG to finish before looking for capture file

Rather than only using time-based method of periodically checking
whether the pcap file appeared, first check that the packet generator
has stopped. To make this change fail-safe, have a 5-minute timeout
on this activity, just in case the things go terribly wrong.

Type: test
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Change-Id: Id16b2802b2de8a4cafb5d9f0a8c9ba62ec89dc32
(cherry picked from commit 3d36f19a0febaed532bd255a150504f7af8f18c2)

4 years agotcp: retry lost retransmits 10/22910/2
Florin Coras [Fri, 27 Sep 2019 15:16:40 +0000 (08:16 -0700)]
tcp: retry lost retransmits

Add heuristic that detects lost retransmitted segments and retries
sending them.

Type: feature

Change-Id: I34d1bb16799e1993779222eb2bfad4b40704159e
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit be237bf02382854118986e8ea84c7544e42023f2)

4 years agosr: fix deleting an SR l2 steering policy 09/22909/2
Ahmed Abdelsalam [Tue, 8 Oct 2019 16:27:34 +0000 (16:27 +0000)]
sr: fix deleting an SR l2 steering policy

Type: fix
Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com>
Change-Id: I9e98b1622785e58484bf316ef491e44cfb06bcb7
(cherry picked from commit a6b93eac5979f1f1166cdf6f8bfa216b243b2662)

4 years agoikev2: fix dangling pointer 08/22908/2
Filip Tehlar [Wed, 2 Oct 2019 09:08:04 +0000 (09:08 +0000)]
ikev2: fix dangling pointer

Type: fix

Change-Id: I8aa9029e0a5cf21aa24a90b39eb2787653f65abb
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
(cherry picked from commit 1890e9ce57a4b6dbc732f8f11d78001bea7c5855)

4 years agobuild: clean up make help output 07/22907/2
Dave Wallace [Tue, 24 Sep 2019 21:52:36 +0000 (17:52 -0400)]
build: clean up make help output

This change is designed to help the uninformed find the right way
to run extended tests by using the test-all[-debug] targets.
'make test EXTENDED_TESTS=y' fails to build as it has a dependency
on 'vom-install' which is conveniently included in test-all[-debug].

- clarify test-all[-debug] description and
  make test-help description
- Also align indentation of make help output

Type: style

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: Ief54cc8a5af68c052aacb0d660237c5eb63451b5
(cherry picked from commit 2777ec761514fc0838ad11e6232ad97897663356)

4 years agovlib: fix cli process stack overflow 06/22906/2
Chenmin Sun [Mon, 7 Oct 2019 19:35:20 +0000 (03:35 +0800)]
vlib: fix cli process stack overflow

Type: fix

Some cli processes, including configuring an test flow
on an i40e interface consume more than the currently
available stack space.

Signed-off-by: Chenmin Sun <chenmin.sun@intel.com>
Change-Id: I3df53d251cd43286f94647384d6e50a463bad15c
(cherry picked from commit 2fd44a00aa26188ca75f0accd734f21758c199bf)

4 years agoquic: fix wrong condition in update_fifo_size 81/22881/2
MathiasRaoul [Mon, 7 Oct 2019 15:41:37 +0000 (15:41 +0000)]
quic: fix wrong condition in update_fifo_size

Type: fix

Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
Change-Id: If371cde9412be29634164830c58634da248ad0ae
(cherry picked from commit cc702410c18b5c54ec8686b02a0d208c9bc80421)

4 years agovppinfra: fix page boundary crossing bug in hash_memory64 11/22911/2
Dave Barach [Wed, 9 Oct 2019 16:57:13 +0000 (12:57 -0400)]
vppinfra: fix page boundary crossing bug in hash_memory64

Fix a day-1 bug, possibly dating back as far as 2002. The zap64() game
involves fetching 8 byte chunks, and clearing octets not to be
included in the key.

That's fine *unless* the 8-byte fetch happens to cross a page boundary
into unmapped or no-access space.

Type: fix

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I4607e9840032257c96ba7387f86c931c0921749d
(cherry picked from commit 7e2cea3d26701ff1d80fda7d8ca907890e3e7baa)

4 years agogbp: use correct dst mac for RD-UU forward 53/22853/2
Benoît Ganne [Mon, 14 Oct 2019 12:54:34 +0000 (14:54 +0200)]
gbp: use correct dst mac for RD-UU forward

Type: fix

Change-Id: Ifdd193fab24796346b11a5df81740880f9a50ee8
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit db056acca08900d05ef806a6bab74ea30b262f0f)

4 years agobonding: feature arc may not be enabled for the slave interface 52/22852/2
Steven Luong [Wed, 9 Oct 2019 17:29:47 +0000 (10:29 -0700)]
bonding: feature arc may not be enabled for the slave interface

vnet_feature_enable_disable takes sw_if_index, not hw_if_index. If there
is a subinterface created prior to the slave interface is created,
sw_if_index and hw_if_index start to diverge and the problem will happen.

Type: fix

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I11e1f099378832f83b748526c6cbeb56960fad3c
(cherry picked from commit 1a41a35b27da6921d6d86a9f1ad5f1b46e1185f7)

4 years agoip: fix clang debug compilation 51/22851/2
Benoît Ganne [Mon, 7 Oct 2019 13:06:52 +0000 (15:06 +0200)]
ip: fix clang debug compilation

The non-extern declaration confuses clang linker in debug mode.
The function is defined as inline above anyway.

Type: fix
Fixes: c6215d902f

Change-Id: Ic7e4477631cf0bcfb31ab3f81effe3642dd4223e
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 5b1379be3e25df096d97dcd217965169fc6bb1b2)

4 years agotcp: fix tso not work in single buffer issue 82/22882/2
Simon Zhang [Tue, 24 Sep 2019 13:16:56 +0000 (21:16 +0800)]
tcp: fix tso not work in single buffer issue

Type: fix

Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
Change-Id: Iddb6fd41812e8c97af58859ef43279cfc0f9d1df
Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
(cherry picked from commit 8a047ed741072bdb8d93b0841473eae06ae3c9d0)

4 years agompls: support fragmentation of mpls output packet 50/22850/2
Rajesh Goel [Sun, 6 Oct 2019 07:47:36 +0000 (13:17 +0530)]
mpls: support fragmentation of mpls output packet

Type: fix

Signed-off-by: Rajesh Goel <rajegoel@cisco.com>
Change-Id: Ie4372c5cf58ab215cdec5ce56f8a994daaba2844
(cherry picked from commit d6f1c9c5141c177a14d011a514e392a9357398fb)

4 years agoip: only install IPv6 prefixes in FIB when the interface is up 49/22849/2
Neale Ranns [Tue, 8 Oct 2019 05:40:54 +0000 (22:40 -0700)]
ip: only install IPv6 prefixes in FIB when the interface is up

otherwise they get installed twice and the reference counting means they are not removed.
This is the same behaviour as IPv4.

Type: fix

Change-Id: I9266e04ccff6ff06a577e85973a2ddbeb9dfc52b
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit 1ff3c15b3c7607c9b590ad44d18dea5eb1cb8c4e)

4 years agofib: P2P interfaces do not need specific multicast adjacencies 48/22848/2
Neale Ranns [Tue, 8 Oct 2019 05:44:54 +0000 (22:44 -0700)]
fib: P2P interfaces do not need specific multicast adjacencies

they can use the 'auto' adj for all traffic

Type: fix

Change-Id: Id2b9557683252a94badc8f9dfab5f7b2ae26f1ee
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit da0e7497ca972f3219352d884b5c51e455503dbb)

4 years agotests: handle unicode charactes in cli output 46/22846/2
Klement Sekera [Tue, 1 Oct 2019 19:14:34 +0000 (19:14 +0000)]
tests: handle unicode charactes in cli output

Type: fix

Change-Id: Ic4fb53e6d10a1de155a3088be81d53d9efeb0c0f
Signed-off-by: Klement Sekera <ksekera@cisco.com>
(cherry picked from commit 6be55648334308d4eaa4a02143b968720bb62078)

4 years agobuild: add env variable to pass extra cmake args 45/22845/2
Nathan Skrzypczak [Mon, 16 Sep 2019 14:26:58 +0000 (16:26 +0200)]
build: add env variable to pass extra cmake args

If VPP_EXTRA_CMAKE_ARGS is set, its content will be
appended to the vpp cmake command cli

Type: feature

Change-Id: I825d4239e62b0a2fb70a652f0671f6c559630aad
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
(cherry picked from commit 29736540335fb983f472457883e9fefde61bd913)

4 years agotcp: rate sample for persist segments 47/22847/1
Florin Coras [Tue, 8 Oct 2019 00:19:09 +0000 (17:19 -0700)]
tcp: rate sample for persist segments

Type: fix

Change-Id: I7c38d2ad6364f098529f51c15b533eb234b82716
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit dd60b1b128d8d6c07dc8b8bcbf932b808cedbaab)

4 years agovlib: move thread barrier around mod of global node next data 12/22712/2
Christian E. Hopps [Sun, 29 Sep 2019 01:36:36 +0000 (21:36 -0400)]
vlib: move thread barrier around mod of global node next data

The old code modified the node next array prior to obtaining the thread
barrier. Then it updated the runtime node data, and upon barrier release
caused reforking of each worker thread. The reforking clones the main
thread nodes and reconstructs the runtime node structure. This cloning
is not 100% "deep" in the sense that the node next array is
shared (i.e., only the pointer is copied). So prior to the barrier being
obtained the node's next array is being changed while workers are
actively using it (bad). Treating the node next array as read-only in
the workers and sharing it is a decent optimization so instead of trying
to fix that just move the barrier a little earlier in the process to
protect the node next array as well.

This was tripping an assert in next frame ownership change by way of the
ip4-arp node. The assert verifies that the node's next array length is
equal to the runtime next node count. The race above was lost and the
node next array data was updated in the main thread while the arp code
was still executing in a worker.

This was being hit when many arp requests were being sent from both ends
of a tunnel during which the add next node function was called, which
often led to an assert b/c the next node array was out of sync with the
runtime next node count.

- PS#2 update - move barrier sync to just above code that modifies state.

Ticket: VPP-1783
Type: fix

Signed-off-by: Christian E. Hopps <chopps@chopps.org>
Change-Id: I868784e28f994ee0922aaaae11c4894a3f4f1fe7
Signed-off-by: Christian E. Hopps <chopps@chopps.org>
(cherry picked from commit d3122ef4ecfa9a515cc39c1632d29e43fa771b2a)

4 years agodhcp: API return code fix 11/22711/2
Neale Ranns [Mon, 7 Oct 2019 08:13:44 +0000 (08:13 +0000)]
dhcp: API return code fix

Type: fix

Change-Id: Ifcbfeecd6ca1215ec473eec4cce736ab4eacde80
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit d751746af9ca1130202d19bddd96a5f6af2ecc5c)

4 years agoip: Fix IP unnumbered dump of one interface 10/22710/2
Neale Ranns [Sun, 6 Oct 2019 08:04:26 +0000 (01:04 -0700)]
ip: Fix IP unnumbered dump of one interface

Type: fix

Change-Id: I35fb6fdfba50c4a59cf1ffb94cb51487bcf5afc9
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit ac3e72cb9765f78f1cf03ff5d5ccd9ff944668b6)

4 years agomisc: add "show run summary" 09/22709/2
Dave Barach [Fri, 4 Oct 2019 13:59:00 +0000 (09:59 -0400)]
misc: add "show run summary"

Prints the interior node vector rate, rx / tx / drop rates

Type: feature

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I57130db0f99e852a8498aa90d01e52f7ac33dcc9
(cherry picked from commit ac78f8a902fc61465edf657f7c7da7ff575210c8)

4 years agohsa: make APP_OPTIONS_PREALLOC_FIFO_PAIRS configurable 07/22707/2
MathiasRaoul [Fri, 4 Oct 2019 15:28:00 +0000 (15:28 +0000)]
hsa: make APP_OPTIONS_PREALLOC_FIFO_PAIRS configurable

-add prealloc_fifo_pairs  member in echo_main_t
-new cli parameter in vpp_echo

Type: feature

Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
Change-Id: I6bb1214ee93e06421cd0a3721420278c51cd59c4
(cherry picked from commit 7028a0157e28066696fba7d9978f7ab474f4d4f8)

4 years agoquic: make quic fifo size configurable via cli 06/22706/4
MathiasRaoul [Fri, 4 Oct 2019 15:27:03 +0000 (15:27 +0000)]
quic: make quic fifo size configurable via cli

Type: feature

Depends-On: I8d71078a9ed42326e19453ea10008c6bb6992c52
Change-Id: I6d6ac649094ef4bee2aed311915dd58f11972e79
Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
(cherry picked from commit 00078b991365db97edf919567ca8b169ffd9b3e4)

4 years agofib: fix use-after-free for interface adj removal 76/22776/2
Benoît Ganne [Wed, 16 Oct 2019 13:08:37 +0000 (15:08 +0200)]
fib: fix use-after-free for interface adj removal

Type: fix

Change-Id: I82308e368d14d84f5970dad229bdcf2de7d1839d
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 7391156ce68a81f258d65f498ec6161d694fae47)

4 years agobonding: graph node running after bond-input in feature arc may crash 99/22799/2
Steven Luong [Thu, 10 Oct 2019 18:36:41 +0000 (11:36 -0700)]
bonding: graph node running after bond-input in feature arc may crash

In bond RX quad loop, when all packets within the frame have the same incoming
interface, we cannot skip calling bond_update_next because that function calls
vnet_feature_next() to update the b->current_config_index. The next node needs
the correct b->current_config_index to work with.

Type: fix

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I3d8b3d4e0f95490f406fae7638f0c43c301ce664
(cherry picked from commit 71e5b4710258376873c62428cb4a81b2a650fc26)

4 years agoip: RD-CP API incorrect reply code 96/22696/2
Neale Ranns [Thu, 10 Oct 2019 19:59:02 +0000 (12:59 -0700)]
ip: RD-CP API incorrect reply code

Type: fix

Change-Id: Ie436d51999dc1384a0db492f28a7e66620e14551
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit be01e635bcc942395c581eeb5a108edaaa82e36f)

4 years agofib: recursive calculation leads to delegate pool realloc 35/22735/2
Neale Ranns [Mon, 14 Oct 2019 15:52:43 +0000 (08:52 -0700)]
fib: recursive calculation leads to delegate pool realloc

Type: fix

Change-Id: Ib7ac53d1b59b641ccd3b1d733107d7f1ba174314
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit a66020becd7d01eefea55244cbcf5df9679a9443)

4 years agovppinfra: create unformat function for data size parsing 03/22703/2
MathiasRaoul [Fri, 4 Oct 2019 09:53:45 +0000 (09:53 +0000)]
vppinfra: create unformat function for data size parsing

Type: feature

Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
Change-Id: I8d71078a9ed42326e19453ea10008c6bb6992c52
(cherry picked from commit 579b165069e7c14392cded3a76e5cc1964ad13a9)

4 years agomisc: add "maxframe" and "rate" to packet-generator cli. 01/22701/2
Christian E. Hopps [Fri, 27 Sep 2019 16:59:30 +0000 (12:59 -0400)]
misc: add "maxframe" and "rate" to packet-generator cli.

Allow for setting the maximum number of generated packets to be included
in the frame passed to next nodes. This is very important for testing
code which may be susceptible to multi-frame vs single-frame bugs (e.g.,
code that is doing re-ordering where packets may be buffered between
frames).

Update:
- remove redundant packet "rate" option.
- reduce n_max_frame to u32 as that's what pulled from the CLI.

Type: feature
Signed-off-by: Christian E. Hopps <chopps@chopps.org>
Change-Id: Ie362bbb110b2cf01d9f65c559bbe9101e17b7fdc
Signed-off-by: Christian Hopps <chopps@labn.net>
(cherry picked from commit 87d7bac5cf2ebdc7820e1edaadc2cc3b6d111cf2)

4 years agordma: fix crash when failing to read pci addr on create 14/22714/2
Benoît Ganne [Mon, 7 Oct 2019 13:36:10 +0000 (15:36 +0200)]
rdma: fix crash when failing to read pci addr on create

Type: fix

Change-Id: I543e2e5976cb384b81278a7ec98a0a6ab1612438
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 0dd97d473bc0c958d9fcea508e1f5122a137b23f)

4 years agordma: fix crash when failing to detect numa node on create 13/22713/2
Benoît Ganne [Mon, 7 Oct 2019 13:57:32 +0000 (15:57 +0200)]
rdma: fix crash when failing to detect numa node on create

Type: fix

Change-Id: Ibb8e7c1c13869c1dce2385f58bd7260fcf776c5a
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 90ea5dc1bd7adcedd0d5765c3ee04c98c4853337)

4 years agovlib: pci: set pci driver name to none when no driver is loaded 08/22708/2
Benoît Ganne [Fri, 4 Oct 2019 15:30:21 +0000 (17:30 +0200)]
vlib: pci: set pci driver name to none when no driver is loaded

If no Linux PCI driver module is loaded, then the driver_name in the PCI
info struct is NULL. This can triggers crash when checking driver name
eg. in vlib_pci_device_open().
Default to "<NONE>" as driver name, which should never match.

Type: fix

Change-Id: I9e69889a7566467bd8220b92bbbaa72ada957257
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 0eae2bb1f1199f7dcb6a8c62b1ea612ed9ee4ae1)

4 years agoip: fix use-after-free in IPv6 SLAAC expiration 05/22705/2
Benoît Ganne [Mon, 30 Sep 2019 08:55:33 +0000 (10:55 +0200)]
ip: fix use-after-free in IPv6 SLAAC expiration

Type: fix

Change-Id: I46b166b3a10c4543eafa4422531dd3c725db45f1
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 79c9d3650357fa675df2998e362e9881cff17a34)

4 years agonat: fix use-after-free 02/22702/2
Benoît Ganne [Thu, 18 Jul 2019 15:33:42 +0000 (17:33 +0200)]
nat: fix use-after-free

Type: fix

Change-Id: Iac91c086c4e975f0bada058f40b7b7d4475377f8
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 7233846ce93fddef495a1029ca211f42afe046f2)

4 years agodevices: vhost not reading packets from vring 84/22584/2
Steven Luong [Wed, 2 Oct 2019 14:33:48 +0000 (07:33 -0700)]
devices: vhost not reading packets from vring

In a rare event, after the vhost protocol message exchange has finished and
the interface had been brought up successfully, the driver MAY still change
its mind about the memory regions by sending new memory maps via
SET_MEM_TABLE. Upon processing SET_MEM_TABLE, VPP invalidates the old memory
regions and the descriptor tables. But it does not re-compute the new
descriptor tables based on the new memory maps. Since VPP does not have the
descriptor tables, it does not read the packets from the vring.

In the normal working case, after SET_MEM_TABLE, the driver follows up with
SET_VRING_ADDRESS which VPP computes the descriptor tables.

The fix is to stash away the descriptor table addresses from
SET_VRING_ADDRESS. Re-compute the new descriptor tables when processing
SET_MEM_TABLE if descriptor table addresses are known.

Type: fix
Ticket: VPP-1784

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I3361f14c3a0372b8d07943eb6aa4b3a3f10708f9
(cherry picked from commit 61b8ba69f7a9540ed00576504528ce439f0286f5)

4 years agoip: MFIB CLI fix for parsing path flags 71/22671/2
Neale Ranns [Mon, 7 Oct 2019 08:23:38 +0000 (08:23 +0000)]
ip: MFIB CLI fix for parsing path flags

Type: fix

Change-Id: I7ed9726d8c5ca26715a84b004a18fd7f93142486
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit 46023762d1da674ff73954f0d1523d450bfcf03c)

4 years agolisp: fix dangling references to bihash tables 78/22678/1
Dave Barach [Fri, 11 Oct 2019 15:31:43 +0000 (11:31 -0400)]
lisp: fix dangling references to bihash tables

gid_ip4_table_t's and gid_ip6_table_t's are allocated from pools. They
MUST NOT be listed on the clib_all_bihash list to avoid dangling
references.

Switch to the clib_bihash_init2 API, which has the required knob.

Type: fix
Ticket: VPP-1788

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

4 years agotcp: unittest: do not access non-existent samples 69/22669/2
Benoît Ganne [Mon, 30 Sep 2019 10:56:28 +0000 (12:56 +0200)]
tcp: unittest: do not access non-existent samples

There is no bt->samples for this test, do not use it.

Type: fix

Change-Id: I2090290887bc5c0b5cdb0561cf2bf72a87781089
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit b0a7c484eec9a813751e6e3fa71a9955ad5f0f74)

4 years agoacl: fix intermittent test failure 68/22668/2
Andrew Yourtchenko [Thu, 3 Oct 2019 07:55:52 +0000 (07:55 +0000)]
acl: fix intermittent test failure

ACL tests use random port number in the tests.
A port number 6081 causes the decode in scapy
to consume some of the Raw payload into GENEVE
encoding, which breaks the test.

Solution: bring up the lower range of random
port to 16384, so that it does not touch any
of the well known ports.

Type: test
Change-Id: I022660d8ec147857924b436f1871b0b5ddcf4c47
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit ec574ff9129a7cc4282916d2a989e88d78aaff60)

4 years agoquic: Create custom event logger 67/22667/2
MathiasRaoul [Thu, 26 Sep 2019 09:17:13 +0000 (09:17 +0000)]
quic: Create custom event logger

Type: feature

Change-Id: I20acfe6a53cf9f15e3e4b8847b6f76757962f1c7
Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
(cherry picked from commit dd4d8ac29202fe54e74a13ce86d1ba3f79d1555f)

4 years agoapi: fix non-null-terminated C-string 42/22542/2
Benoît Ganne [Fri, 27 Sep 2019 16:07:39 +0000 (18:07 +0200)]
api: fix non-null-terminated C-string

Type: fix

Change-Id: I132112bf77e1fad7fc0227a96e6b0cee590295e8
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit fb0bb3a732cd46848e26fcc6a17d9fdf99727af3)

4 years agoipsec: initialize msgid and allow no dh in child sa 41/22541/2
Christian E. Hopps [Fri, 27 Sep 2019 19:05:41 +0000 (15:05 -0400)]
ipsec: initialize msgid and allow no dh in child sa

- set msgid to 0 not random.
- allow for no DH in ESP child SA

Ticket: VPP-1781
Type: fix
Signed-off-by: Christian E. Hopps <chopps@chopps.org>
Change-Id: Ibe26009d38f444eeaec5b042097f145d161c7672
(cherry picked from commit 0e182c5b1d27139764dca7059c9c91be8387977a)

4 years agoquic: Add Tx, Rx and packet drop counters 40/22540/2
MathiasRaoul [Thu, 26 Sep 2019 09:13:39 +0000 (09:13 +0000)]
quic: Add Tx, Rx and packet drop counters

Type: feature

Change-Id: I25aeeed49fc569315296a73c5595c2e2e302434f
Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
(cherry picked from commit ff1f6faaa90cd446545a8d0c0b0baa85d69efa35)

4 years agosession: fix use-after-free 39/22539/2
Benoît Ganne [Thu, 18 Jul 2019 16:38:42 +0000 (18:38 +0200)]
session: fix use-after-free

Make sure to reinitialize data before free-ing it.

Type: fix

Change-Id: I45727c456d0345204d4825ecdd9690c5ebeb5e94
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit d4aeb84c3f066b755b723163da292eab95bd1ef9)

4 years agoquic: add cli command for stats 38/22538/2
MathiasRaoul [Thu, 26 Sep 2019 09:07:16 +0000 (09:07 +0000)]
quic: add cli command for stats

add command to display stats from quicly (rtt, packet loss)

Type: feature

Change-Id: Iaa18bc78fbf80a9367ef150a8cf4997a456c6b39
Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
(cherry picked from commit 922f0b211c160b4f1d05b87ad0103581d17efb8b)

4 years agobuild: build-root/Makefile rm of install tree 79/22579/2
Burt Silverman [Mon, 30 Sep 2019 13:50:42 +0000 (09:50 -0400)]
build: build-root/Makefile rm of install tree

Type: fix

The scenario is touch of a dpdk source file in places like
<TOP>/build-root/build-vpp-native/external/dpdk-19.08/.  The subsequent
build will trigger an rm -rf $(PACKAGE_INSTALL_DIR) by
build-root/Makefile at around line 709.  Because the package in
question, "external", consists of various "sub" packages, all of which
are controlled with files like .quicly.install.ok located in
build-root/build-vpp[_debug]-native/external, we end up not handling the
.*.install.ok files to reflect the removal of that PACKAGE_INSTALL_DIR.
This fix will correct that, at least for the case of touching/changing
dpdk files. A better long term solution would be to change the "sub"
packages to be full fledged build system packages, as Dave Barach points
out.

Signed-off-by: Burt Silverman <burtms@gmail.com>
Change-Id: Ia94ccaa2795cbf354b5921c3001a7141313b66be
(cherry picked from commit 839a7bce3872f992f4807ee6d6a76f9b361151dc)

4 years agohsa: fix vpp_echo mq locking 35/22535/2
Nathan Skrzypczak [Fri, 27 Sep 2019 15:03:15 +0000 (17:03 +0200)]
hsa: fix vpp_echo mq locking

Type: fix

Change-Id: I18d2cde0baaed4134e8378c09aaa88693fb997f8
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
(cherry picked from commit 46b91ebb5c350ceeccec97d8e09524f708512342)

4 years agovppinfra: implement CLIB_PAUSE () for aarch64 platforms 33/22533/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>
(cherry picked from commit 18512b002da5da312aa2638b67a8ec4bb2c10236)

4 years agotcp: custom checksum calculations for Ipv4/Ipv6 94/22494/8
Srikanth A [Thu, 3 Oct 2019 00:48:58 +0000 (17:48 -0700)]
tcp: custom checksum calculations for Ipv4/Ipv6

Type: feature

Based on the configuration, we can disable checksum offload capability
and calculate checksum while pushing the TCP & IP header.
This saves some cycles when VPP stack is used in legacy hardware devices.

Signed-off-by: Srikanth A <srakula@cisco.com>
Change-Id: Ic1b3fcf3040917e47ee65263694ebf7437ac5668

4 years agordma: prevent loopback of broadcast packets 23/22623/2
Benoît Ganne [Fri, 4 Oct 2019 13:28:12 +0000 (15:28 +0200)]
rdma: prevent loopback of broadcast packets

TX queues must be created before RX queues on Mellanox cards in order to
not receive our own broadcast packets.

Type: fix

Change-Id: I32ae25a47d819f715feda621a5ecddcf4efd71ba
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit df213385d391f21d99eaeaf066f0130a20f7ccde)

4 years agordma: make sure pci subsystem is initialized 22/22622/1
Benoît Ganne [Fri, 4 Oct 2019 15:38:05 +0000 (17:38 +0200)]
rdma: make sure pci subsystem is initialized

The rdma driver use the pci subsystem, make sure the dependency is
recorded.

Type: fix

Change-Id: Ibd613f623d355612881acc31b9423f2de13793a3
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 4a98388daec998a56cb150e2acb8a26ae51c0c28)

4 years agodns: fix non-NULL terminated C-string 77/22577/2
Benoît Ganne [Mon, 30 Sep 2019 08:13:27 +0000 (10:13 +0200)]
dns: fix non-NULL terminated C-string

Type: fix

Change-Id: Ib030e6ac3386528901e0805d1ffe2eec033d819f
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 328c08d603bb0a9956b82553f1691fd8a5a5de7d)

4 years agovlib: fix old nodes vector overflow in refork 78/22578/2
Benoît Ganne [Fri, 30 Aug 2019 14:20:12 +0000 (16:20 +0200)]
vlib: fix old nodes vector overflow in refork

Type: fix

Change-Id: I81c4cf0ce87288bb2d3c7b9f31e9419290d588b4
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 5517bd34535e4ffffb838a835bb95ddcb77e2bba)

4 years agoipsec: fix use-after-free 37/22537/2
Benoît Ganne [Mon, 9 Sep 2019 14:34:54 +0000 (16:34 +0200)]
ipsec: fix use-after-free

When deleting interface from the API, 'hi' gets removed before
'h->sw_if_index' is copied.

Type: fix

Change-Id: I8e10108e9bdf95ab2fe002790d98262d583ca58c
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 8133c780a22480496c74a4ead321e8350d5beeb4)

4 years agobonding: fix non-null-terminated C-string 36/22536/2
Benoît Ganne [Fri, 27 Sep 2019 16:08:22 +0000 (18:08 +0200)]
bonding: fix non-null-terminated C-string

Type: fix

Change-Id: Ibb7ba878b049b8b18e890c43fdd6324cb88d63b8
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 5c828bc1f24fb5222d6bb634d8e5228ed8b138f0)

4 years agoapi: fix use-after-free 34/22534/3
Benoît Ganne [Wed, 11 Sep 2019 14:43:44 +0000 (16:43 +0200)]
api: fix use-after-free

Type: fix

Change-Id: I2a599c22d5770587fdd419e5d212c8527054d2e9
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit f26b2511cf661d4ebef32c19f944041637ec5907)