7331 Commits

Author SHA1 Message Date
Florin Coras
4767cf24f4 vcl: allow non-blocking connects
Type: feature

Change-Id: I55349f482ce6781337f747b2f0d2c0a027c3a675
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 57c88938f8a80e63e7307cacaca23b0ab3a51b6c)
2019-10-03 08:36:14 +00:00
Neale Ranns
98780be1cd ip: mfib CLI 'via local' fix
Type: fix

Change-Id: I6fd7bb27b95a50d37424f65dc51e8b341f8b1b28
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit eacc8c5943e44d19b5a65a68db3ad5adf9e37495)
2019-10-02 13:16:58 +00:00
Florin Coras
da3cc716c0 session: validate connection in session lookup del
Type: fix

Change-Id: I4e2617f99064c5a96e4debae8b68716ca129ee73
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit e1e7fb88e47b0ec99d32ea0391d969542960391a)
2019-10-02 01:50:20 +00:00
Florin Coras
d4aa3d9f88 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>
(cherry picked from commit 36ebcfffbc7ab0e83b4bb8dfaec16bf16cafb954)
2019-10-02 01:49:36 +00:00
Matthew Smith
45aab261a1 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>
(cherry picked from commit 6d5f6592559bc0db4294c53236177d4e35e603c6)
2019-10-02 01:45:09 +00:00
Florin Coras
4afd0a1298 session: avoid transport cleanup if previously deleted
Type: fix

Change-Id: I485d38c7d9473e2ad1cbd8e17a788ec8d29ab001
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit cac31a4a23241eb94e6982c049c0feb8b180c868)
2019-10-01 22:06:54 +00:00
Dave Wallace
bd05baee48 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
(cherry picked from commit 789ac9de0674f3e5e064734dd81314716ed8cd1a)
2019-10-01 18:36:01 +00:00
Florin Coras
90ac1abeec session: move ctrl messages from bapi to mq
Type:refactor

Moves connect, disconnect, bind, unbind and app detach to message
queue from binary api. Simplifies app/vcl interaction with the session
layer since all session control messages are now handled over the mq.

Add/del segment messages require internal C api changes which affect all
builtin applications. They'll be moved in a different patch and might
not be back portable to 19.08.

Change-Id: I93f6d18e551b024effa75d47f5ff25f23ba8aff5
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 458089bbad9cf5bef6cf8119f23fc44e66b36ad3)
2019-09-30 16:46:38 +00:00
Florin Coras
ff596d93f3 tcp: fix unformat cwnd multiplier
Type: fix

Change-Id: Ife4e650cb8b16f84ca6f77ba7b1d17a0f452fc3f
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 1df833e6deecaa1ca68d6e98af7fb109fc0ca18a)
2019-09-30 16:45:48 +00:00
Benoît Ganne
59ffe5ea1c 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>
(cherry picked from commit 138c37af5291e2045075052a4db036be03be4a85)
2019-09-30 15:34:52 +00:00
Benoît Ganne
804a95cf81 gbp: remove loopback interfaces between tests
Type: fix

Change-Id: I440f25b95b23b717518d101a1327ecf16d6ba39a
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit d51880c5de3a1b22d9ac510305bdfe98fa12e51c)
2019-09-30 15:34:34 +00:00
Nathan Skrzypczak
a30d969297 session: fix msg freeing on error
Type: fix

Change-Id: I0807f84737d5e98e69e9ed27a1de6813b2ddd138
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
(cherry picked from commit 1afa7afffad6e296a97556aa4c9482f4cd544074)
2019-09-30 15:32:48 +00:00
Florin Coras
296513b590 tcp: refactor congestion event handling
Type: refactor

Minor cleanup to congestion event handling.

Change-Id: I7179ff9e21c1853382ba814652c9024f3e5b8a37
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit afef8bf22369d10ab8107a63b1e3529ed7dd6c8d)
2019-09-30 15:32:24 +00:00
Florin Coras
8e4afc86d2 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>
(cherry picked from commit 5c29029ef029edc96340f9eecf7fe24821f2ef2a)
2019-09-30 15:30:00 +00:00
Filip Tehlar
2fa9f679c8 ikev2: add support for GCM cipher
Type: feature
Change-Id: Ic703015b55f0ae947e5e44b10b74b3c79efe7da6
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
(cherry picked from commit de2dd6c35653225525b071d4dc748451e0d6bd7d)
2019-09-30 15:29:23 +00:00
Andrew Yourtchenko
bc49679802 tests: split up the long running IPSec tests into separate classes
Type: test
Change-Id: Ieeae7f1653f5f2e8e49f258871b389ef8954c90b
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit fbc388986e3f38aaedff87b843137be81b7d4f91)
2019-09-30 15:29:08 +00:00
MathiasRaoul
0aff6ecda7 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>
(cherry picked from commit b28349e891a5a6c69b9ee731bdee35405770519d)
2019-09-30 15:27:39 +00:00
Florin Coras
69460ae11c tcp: compute snd time for rate sample
Type: feature

Change-Id: I6bd675dc28dbc34293e895911efe986844c0564f
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 7436b436733ea7217e745f3cc9971aaff1e3dfa4)
2019-09-30 15:27:12 +00:00
Florin Coras
079895d95f session: limit pacer bucket size
Type: feature

Change-Id: I3ca27b09670716eba463d7b16771f765a1bd6dcd
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 7c8f828ba353472e27369a77574bca532147e458)
2019-09-30 15:26:18 +00:00
Aloys Augustin
3d7e472309 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
(cherry picked from commit 735d2e202b6d68059049a233b0a870ec3713564d)
2019-09-30 15:25:52 +00:00
Dave Barach
faf5195e3a 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
(cherry picked from commit 5554c56a65cff3ef90844eb5e63d89283fae74df)
2019-09-30 15:25:25 +00:00
Hiroki Shirokura
e4de750843 vlib: cli support ctrl-w to erase left word
Type: fix
Signed-off-by: Hiroki Shirokura <slank.dev@gmail.com>
Change-Id: I3ae7dc3858d0353764d629d6a9eff2bdab5f8768
(cherry picked from commit 67e4df144b8fd9ef45a188937441ce11260c8b67)
2019-09-30 15:25:02 +00:00
Nathan Skrzypczak
b1ef5567b6 session: add session enable option in config file
Type: feature

Change-Id: I8f02873e75c6e890f6749806d4f02547f951c8ca
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
(cherry picked from commit 1292d19c79c2fd4f09ffcc43ebf39f5d9d485c35)
2019-09-30 15:24:38 +00:00
Aloys Augustin
62042e618a hsa: Fix QUIC sessions count calculation
Type: fix
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Change-Id: Ia53a41a30920f8af7cd00c6f809b32e7cc277b7a
(cherry picked from commit a786687ab44afe477cef90ca128a82ef0b177c62)
2019-09-30 15:24:19 +00:00
Benoît Ganne
b7a6c5633c map: fix non-null-terminated C-string
Type: fix

Change-Id: Ia3a4693acd5eab234f60b37436c5b642b00bda46
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 3c7c613cf18f7825e22190be45ea7f054efafb77)
2019-09-30 15:23:59 +00:00
Elias Rudberg
8e35619169 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
(cherry picked from commit 7fd402163c221919446942c0784073a56bfd4f70)
2019-09-30 15:23:24 +00:00
Benoît Ganne
003dd32489 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>
(cherry picked from commit 58519563acc0933771172941291b7d0de2ffeddc)
2019-09-30 15:23:02 +00:00
Benoît Ganne
fcb879c96c quic: fix use-after-free
Type: fix

Change-Id: I5e5e37684e336ca992dae8ea1d39b1fb103802b1
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 6d6456ab421ee30f14aded964bad2d3ba55bcf20)
2019-09-30 15:22:43 +00:00
Benoît Ganne
c811c43606 quic: fix non-null terminated hostname string
Type: fix

Change-Id: I089d359d5726050f32f69366547086216fdb3098
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit b840c773dc9d7f0f9f85753a20d00acb53a6bce7)
2019-09-30 15:22:20 +00:00
Florin Coras
bda5886239 session: fix session filter range
Type:fix

Change-Id: I173f45bf3d90e6979675b2ac812a969539f02147
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 61a89f2b614184eeced3f67affed959897d4da18)
2019-09-30 15:20:13 +00:00
Nathan Skrzypczak
2af93b2643 misc: fix shebang with missing env
This is needed for macos where /usr/bin/python[23] does not exist
and /usr/bin is write protected

Type: fix

Change-Id: Ia1b3c732248c78482993de532fa2ea96e376d90a
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
(cherry picked from commit 5c2f96436afd0cef13797f764474a54f464d7916)
2019-09-30 15:19:53 +00:00
Vratko Polak
e6b29a9df5 papi: let async calls return context
Callback receives "reply" messages containing context,
but previously there was no easy way
to get the automatically generated context value
of the originally sent "command" message.

With this, the caller can store the contexts,
so the callback knows which command got replied to.

Type: feature

Change-Id: I58ca812d20b03916f74096c396126710115a747c
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
(cherry picked from commit 2f6e0c6002f732b7f938a0f770f19c9dec9269f1)
2019-09-30 15:19:29 +00:00
Filip Tehlar
45a02523b1 ikev2: fix crash during IKE SA Init exchange
Type: fix

Change-Id: If827fe348fe35d1221d29f91b7e6ea1624d13999
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
(cherry picked from commit b736e75d5bb2d132fb00c35b6aabaa52e5f624ad)
2019-09-30 15:19:09 +00:00
Aloys Augustin
587eeecf0d quic: fix server opening stream immediately
Previously, if the first thing a server did was to open a stream and
send data, this could trigger a crash on the clilent side VPP as the
quic session wouldn't be allocated.

Change-Id: I43990ce2a71217d6719ecae4da60111d05fbcfc0
Type: fix
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
(cherry picked from commit ffbfe3a2d6aaf4e847a1848c29fc8ce2997ed260)
2019-09-30 15:18:51 +00:00
jialv01
9636f97482 build: fix unsupported CMake comparison operation
VERSION_GREATER_EQUAL is not supported before CMake version 3.7.

Type: fix

Signed-off-by: Jianlin Lv <Jianlin.Lv@arm.com>
Change-Id: Id690b7b7c26121f9d289ebd0aaea0860be63795f
(cherry picked from commit ea397f5a67e8cdef1034757cb07fb409dd150fb8)
2019-09-30 15:18:30 +00:00
Steven Luong
d5e8ed7be1 stats: add /if/<n>/<n>/state for lacp interface state
Add /if/lacp/<bond-sw_if_index>/<slave-sw_if_index>/state

<bond-sw_if_index> is a vector of the bond sw_if_index
<slave-sw_if_index> is a vector of the slave sw_if_index
Content is the integer value of the lacp actor state. The state is actually
a bitfield as described in the lacp protocol spec.

Type: feature

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: Ic6eca8ce2a1acd2d858e4e50b7eac1d000ea08e5
Signed-off-by: Ole Troan <ot@cisco.com>
(cherry picked from commit 0f09a828ad2dc53d4f1e69de536f3104eaccc4b0)
2019-09-30 15:18:09 +00:00
Klement Sekera
b0888636de tests: run vapi tests by default
Type: fix

Change-Id: I7b190507446fca745fc4bc6abbdeed48f55abdb9
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-09-30 12:13:04 +00:00
Ole Troan
c90f4363aa 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
(cherry picked from commit a41b0b78a4341478ee6c8701f9ec642b5c2d1cdd)
2019-09-30 09:33:03 +00:00
Hongjun Ni
2f77ee8919 lb: vpp hang when executing "lb flush" commands with more parameters.
- get all vip list.
- get all as list per vip.

Ticket: VPP-1778
Type: fix

Change-Id: I0d82f38960ef1264d04ac07589a555d01f6e8110
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2019-09-30 09:32:47 +00:00
jialv01
54e099f101 build: fix running error with vmxnet3_test_plugin.so
vpp_api_test load vmxnet3_test_plugin.so error:
"load_one_plugin:42:/vpp/lib/vpp_api_test_plugins/vmxnet3_test_plugin.so:
  undefined symbol: unformat_vlib_pci_addr"

Type: fix

Signed-off-by: Jianlin Lv <Jianlin.Lv@arm.com>
Change-Id: I444aa05d0bc3c4f4f25082388243f1adb305dd0a
(cherry picked from commit 082ebeba166accc87619c45e7de0c29c9f00d254)
2019-09-30 00:13:27 +00:00
Jakub Grajciar
4aee015225 libmemif: prevent crash in case of invalid connection handle
Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I803c86a48e0148ef143026a5cd93e4510c4f0611
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
(cherry picked from commit bdf3ebe358787ef240dc9fadc515dfd178dfef7b)
2019-09-30 00:10:30 +00:00
Florin Coras
2ff21af396 session: improve cli
Type: feature

Allow session cli filtering based on thread index, transport protocol,
session state and range of session pool indices. For instance

show session thread 1 proto tcp state ready range 0 20 verbose

Shows the session ids for the first 20 tcp sessions in thread 1 that are
in ready state.

To avoid excessive output that could reasult in the worker barrier being
held by the main thread for long periods of time, the session cli will
only output:
- session ids (verbose == 1) for a maximum of 50 sessions / worker
- verbose > 1 details for a maximum of 10 sessions

Change-Id: I2cfb351b548e2e0a1d5b4345810be613e2917d17
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 5bb23ecd098eac639641e2b3d62eb8744e0efef0)
2019-09-30 00:08:22 +00:00
Florin Coras
6702641f53 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>
(cherry picked from commit 1dbda64b467f020db131cb9a01422b8f3fbf58df)
2019-09-29 16:45:32 +00:00
Florin Coras
dedb3c8d95 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>
(cherry picked from commit 321cfa5fcb8f347329a5296e2024ef0e6cef319f)
2019-09-29 16:41:21 +00:00
Florin Coras
9dba3dbf03 tcp: handle sack reneging
Type: feature

Change-Id: I201155b1b92cf7e57310af726879dab039090582
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 558e3e09577a7b49e2fec58e8ac27f3f3ae0592f)
2019-09-29 16:34:19 +00:00
Simon Zhang
6f3621d772 tcp: enable gso in tcp hoststack
Type: feature

Change-Id: If68d07fbe8c6f7fffd2f93c7e854367082927e4f
Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
(cherry picked from commit 1146ff4bcd336d8efc19405f1d83914e6115a01f)
2019-09-29 16:32:26 +00:00
Florin Coras
56f1938ee2 tcp: cc algos handle cwnd on congestion signal
Type: refactor

Change-Id: I15b10a22d0d0b83075a0eef5ef8c09cf76989866
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 8b4114e52f69b9292efb282e49ed4d90699ceeb8)
2019-09-29 16:23:09 +00:00
Florin Coras
0ad8477baf tcp: send rwnd update only if wnd is large enough
Type: feature

Change-Id: I3e97e05a31806afb6b2e84ecf05fb96d285db92e
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 017dc45243bad1b3708d0a9b902d23ca47859344)
2019-09-29 16:22:19 +00:00
Florin Coras
fbe948c813 tcp: force zero window on full rx fifo
Type: feature

Change-Id: I7c5684a9f88e56fd62d83a59c14c4e4a6f096b89
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 182d2198332c2a20891a7cdbceeaaf62b47924e8)
2019-09-29 16:21:06 +00:00
Florin Coras
ea584d137d tcp: validate connections in output
Type: feature

This shouldn't happen unless connections are removed after buffers were
enqueued to tcp-output and before tcp-output runs. For instance, packet
is enqueued to tcp output and cleanup is called for connection.

Change-Id: Ib7dd82ffa6cfb21ff5068aba010e0a3497eeea13
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 78dae00881d26b205ee6721ce8c2bcae76996e79)
2019-09-29 13:15:45 +00:00