vpp.git
4 years agotests: split up the long running IPSec tests into separate classes 88/22388/2
Andrew Yourtchenko [Mon, 9 Sep 2019 11:14:59 +0000 (11:14 +0000)]
tests: split up the long running IPSec tests into separate classes

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

4 years agoquic : refactor function naming 86/22386/2
MathiasRaoul [Tue, 17 Sep 2019 14:37:13 +0000 (14:37 +0000)]
quic : refactor function naming

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

Type: style

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

4 years agotcp: compute snd time for rate sample 85/22385/2
Florin Coras [Wed, 11 Sep 2019 06:26:27 +0000 (23:26 -0700)]
tcp: compute snd time for rate sample

Type: feature

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

4 years agosession: limit pacer bucket size 10/22310/3
Florin Coras [Sun, 15 Sep 2019 23:28:45 +0000 (16:28 -0700)]
session: limit pacer bucket size

Type: feature

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

4 years agovlib: fix cli process stack overflow 84/22384/2
Aloys Augustin [Mon, 16 Sep 2019 13:37:48 +0000 (13:37 +0000)]
vlib: fix cli process stack overflow

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

Type: fix
Fixes: VPP-1774
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Change-Id: I86ceb9e6e07523d5e0f760b5922467f09a8d4006
(cherry picked from commit 735d2e202b6d68059049a233b0a870ec3713564d)

4 years agohttp_static: add dynamic GET / POST method hooks 83/22383/2
Dave Barach [Thu, 12 Sep 2019 01:35:48 +0000 (21:35 -0400)]
http_static: add dynamic GET / POST method hooks

Add .json output to format_vnet_sw_interface_cntrs(...)

Type: feature

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

4 years agovlib: cli support ctrl-w to erase left word 82/22382/2
Hiroki Shirokura [Fri, 16 Aug 2019 11:30:34 +0000 (11:30 +0000)]
vlib: cli support ctrl-w to erase left word

Type: fix
Signed-off-by: Hiroki Shirokura <slank.dev@gmail.com>
Change-Id: I3ae7dc3858d0353764d629d6a9eff2bdab5f8768
(cherry picked from commit 67e4df144b8fd9ef45a188937441ce11260c8b67)

4 years agosession: add session enable option in config file 81/22381/2
Nathan Skrzypczak [Fri, 13 Sep 2019 13:44:54 +0000 (15:44 +0200)]
session: add session enable option in config file

Type: feature

Change-Id: I8f02873e75c6e890f6749806d4f02547f951c8ca
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
(cherry picked from commit 1292d19c79c2fd4f09ffcc43ebf39f5d9d485c35)

4 years agohsa: Fix QUIC sessions count calculation 80/22380/2
Aloys Augustin [Thu, 12 Sep 2019 16:04:30 +0000 (18:04 +0200)]
hsa: Fix QUIC sessions count calculation

Type: fix
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Change-Id: Ia53a41a30920f8af7cd00c6f809b32e7cc277b7a
(cherry picked from commit a786687ab44afe477cef90ca128a82ef0b177c62)

4 years agomap: fix non-null-terminated C-string 79/22379/2
Benoît Ganne [Wed, 11 Sep 2019 15:47:56 +0000 (17:47 +0200)]
map: fix non-null-terminated C-string

Type: fix

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

4 years agodpdk: fix null-termination of strings 78/22378/2
Elias Rudberg [Thu, 12 Sep 2019 12:57:47 +0000 (14:57 +0200)]
dpdk: fix null-termination of strings

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

Ticket: VPP-1772
Type: fix

Signed-off-by: Elias Rudberg <elias.rudberg@bahnhof.net>
Change-Id: Ib7826e3c322e58b649e2d7f6053786da618a5e9e
(cherry picked from commit 7fd402163c221919446942c0784073a56bfd4f70)

4 years agohsa: fix memory management bugs 77/22377/2
Benoît Ganne [Wed, 11 Sep 2019 14:40:04 +0000 (16:40 +0200)]
hsa: fix memory management bugs

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

Type: fix

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

4 years agoquic: fix use-after-free 76/22376/2
Benoît Ganne [Wed, 11 Sep 2019 14:41:49 +0000 (16:41 +0200)]
quic: fix use-after-free

Type: fix

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

4 years agoquic: fix non-null terminated hostname string 12/22412/2
Benoît Ganne [Tue, 10 Sep 2019 16:42:09 +0000 (18:42 +0200)]
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)

4 years agosession: fix session filter range 16/22316/3
Florin Coras [Tue, 10 Sep 2019 02:22:36 +0000 (19:22 -0700)]
session: fix session filter range

Type:fix

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

4 years agomisc: fix shebang with missing env 74/22374/2
Nathan Skrzypczak [Mon, 9 Sep 2019 14:45:06 +0000 (16:45 +0200)]
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)

4 years agopapi: let async calls return context 73/22373/2
Vratko Polak [Fri, 6 Sep 2019 13:20:07 +0000 (15:20 +0200)]
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)

4 years agoikev2: fix crash during IKE SA Init exchange 72/22372/2
Filip Tehlar [Wed, 4 Sep 2019 11:34:15 +0000 (11:34 +0000)]
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)

4 years agoquic: fix server opening stream immediately 71/22371/2
Aloys Augustin [Thu, 5 Sep 2019 15:58:21 +0000 (17:58 +0200)]
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)

4 years agobuild: fix unsupported CMake comparison operation 18/22318/4
jialv01 [Wed, 4 Sep 2019 03:31:10 +0000 (11:31 +0800)]
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)

4 years agostats: add /if/<n>/<n>/state for lacp interface state 70/22370/2
Steven Luong [Wed, 7 Aug 2019 19:20:22 +0000 (12:20 -0700)]
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)

4 years agotests: run vapi tests by default 95/22295/3
Klement Sekera [Mon, 2 Sep 2019 15:19:41 +0000 (15:19 +0000)]
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>
4 years agostats: fix per_worker vector rate heap 87/22387/2
Ole Troan [Wed, 18 Sep 2019 11:13:16 +0000 (13:13 +0200)]
stats: fix per_worker vector rate heap

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

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

4 years agolb: vpp hang when executing "lb flush" commands with more parameters. 29/22329/3
Hongjun Ni [Fri, 27 Sep 2019 15:01:50 +0000 (23:01 +0800)]
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>
4 years agobuild: fix running error with vmxnet3_test_plugin.so 75/22375/2
jialv01 [Mon, 9 Sep 2019 16:23:55 +0000 (00:23 +0800)]
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)

4 years agolibmemif: prevent crash in case of invalid connection handle 19/22319/2
Jakub Grajciar [Mon, 9 Sep 2019 08:39:08 +0000 (10:39 +0200)]
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)

4 years agosession: improve cli 15/22315/2
Florin Coras [Sat, 31 Aug 2019 16:45:13 +0000 (09:45 -0700)]
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)

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

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

Type: feature

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

4 years agotcp: cleanup scoreboard after recovery 06/22306/3
Florin Coras [Fri, 13 Sep 2019 01:49:44 +0000 (18:49 -0700)]
tcp: cleanup scoreboard after recovery

Type: fix

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

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

4 years agotcp: handle sack reneging 09/22309/3
Florin Coras [Fri, 6 Sep 2019 19:56:58 +0000 (12:56 -0700)]
tcp: handle sack reneging

Type: feature

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

4 years agotcp: enable gso in tcp hoststack 05/22305/3
Simon Zhang [Mon, 2 Sep 2019 14:54:00 +0000 (22:54 +0800)]
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)

4 years agotcp: cc algos handle cwnd on congestion signal 08/22308/3
Florin Coras [Tue, 3 Sep 2019 19:37:11 +0000 (12:37 -0700)]
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)

4 years agotcp: send rwnd update only if wnd is large enough 13/22313/3
Florin Coras [Fri, 30 Aug 2019 18:06:35 +0000 (11:06 -0700)]
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)

4 years agotcp: force zero window on full rx fifo 90/22290/3
Florin Coras [Wed, 24 Jul 2019 17:27:20 +0000 (10:27 -0700)]
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)

4 years agotcp: validate connections in output 04/22304/2
Florin Coras [Fri, 30 Aug 2019 17:00:30 +0000 (10:00 -0700)]
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)

4 years agoethernet: move dmac filtering to inline function 03/22303/2
Matthew Smith [Fri, 12 Jul 2019 16:48:24 +0000 (11:48 -0500)]
ethernet: move dmac filtering to inline function

In eth_input_process_frame(), destination MAC addresses are
compared to the interface hardware address in a loop. Move
this to a separate inline function to facilitate making changes
to the filtering logic more cleanly.

Type: refactor

Change-Id: I0978f01667e78af5214dbbc9ba223f5b84ce6b7e
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
(cherry picked from commit fa20d4c5375c02f61e565b5fc57c490145bc0919)

4 years agosession: avoid bihash list for session tables 01/22301/2
Florin Coras [Tue, 3 Sep 2019 20:06:11 +0000 (13:06 -0700)]
session: avoid bihash list for session tables

Type: fix

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

4 years agogbp: fix set_mac() in unit tests 99/22299/2
Benoît Ganne [Tue, 3 Sep 2019 15:54:21 +0000 (17:54 +0200)]
gbp: fix set_mac() in unit tests

Do not use low-level sw_interface_set_mac_address() directly and use
higher-level set_mac() instead, otherwise interface local_mac and
configured mac are out-of-sync

Type: fix
Fixes: 25b049484f

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

4 years agotcp: fix rx min/max fifo size parsing 93/22293/4
Florin Coras [Sat, 31 Aug 2019 16:46:24 +0000 (09:46 -0700)]
tcp: fix rx min/max fifo size parsing

Type: fix

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

4 years agotcp: improve mss computation 89/22289/4
Florin Coras [Tue, 27 Aug 2019 19:15:43 +0000 (12:15 -0700)]
tcp: improve mss computation

Type: fix

Use different mss for v4 and v6 packets.

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

4 years agosession : make sure session layer is enabled when cli operate the sessions. 39/22339/2
Guanghua Zhang [Sat, 24 Aug 2019 02:52:19 +0000 (10:52 +0800)]
session : make sure session layer is enabled when cli operate the sessions.

Type: fix

show session rules tcp
vpp/src/vnet/session/application_namespace.c:34 (app_namespace_get)
 assertion `! pool_is_free (app_namespace_pool, _e)' fails
Thread 1 "vpp_main" received signal SIGABRT, Aborted.

Signed-off-by: Guanghua Zhang <ghzhang@fiberhome.com>
Change-Id: I3430339a598a92d0a38826471adeb4547b0b7df4
(cherry picked from commit fcd5e12b1c879b27d9ed53c9c5b3ae98b0a04ccf)

4 years agoquic: disable quic plugin by default 97/22297/2
Aloys Augustin [Mon, 2 Sep 2019 14:29:19 +0000 (16:29 +0200)]
quic: disable quic plugin by default

Change-Id: I8eb243e80ff043a23cb3efae186164dad6c11ca8
Type: fix
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
(cherry picked from commit baf1c7ccc10134ee38d75532d7bef7d9f3fabfc9)

4 years agoipsec ip tcp l2: multiarch nodes cannot be declared as static 96/22296/2
Damjan Marion [Mon, 2 Sep 2019 17:00:33 +0000 (19:00 +0200)]
ipsec ip tcp l2: multiarch nodes cannot be declared as static

Credits to ray.kinsella@intel.com who spotted the issue and identified
root cause.

Type: fix

Change-Id: I4afe74c47769484309f6aebca2de56ad32c8041f
Signed-off-by: Damjan Marion <damarion@cisco.com>
(cherry picked from commit d770cfc96257f9bd9e0c96c8ebe50e4531dc1bc5)

4 years agotests: fix centos detection 94/22294/2
Klement Sekera [Mon, 2 Sep 2019 14:26:26 +0000 (14:26 +0000)]
tests: fix centos detection

Type: fix
Fixes: defde0f870

Change-Id: Ib81e3610bd0fc22901a902dc76692f1951ead2b8
Signed-off-by: Klement Sekera <ksekera@cisco.com>
(cherry picked from commit 3a350702ec24d1bde0483da1e946015c2b81e0c4)

4 years agosession: move svm_fifo_clear_deq_ntf to before calling the app callback 92/22292/2
Vladimir Kropylev [Fri, 30 Aug 2019 10:04:06 +0000 (13:04 +0300)]
session: move svm_fifo_clear_deq_ntf to before calling the app callback

Type: fix

in case the app requests another dequeue notification, it should not be cleared

Change-Id: I7e94e8e30ef098f87f5e7f4880af276970ee5b37
Signed-off-by: Vladimir Kropylev <vladimir.kropylev@enea.com>
(cherry picked from commit 5c89fbf28665d13a0052fc88288c1524e0e93918)

4 years agodevices: fix issue of per_interface_next_index 91/22291/2
Michael Yu [Thu, 29 Aug 2019 16:50:16 +0000 (00:50 +0800)]
devices: fix issue of per_interface_next_index

Per interface, next hop graph node can be customized
with vnet_hw_interface_rx_redirect_to_node function,
but it doesn't work well for af-packet type interface.

In current implementation, with function
af_packet_set_interface_next_node invoked next hop graph
node index can be set to apif->per_interface_next_index,
but it's not set to next0 properly for packet processing
in af_packet_device_input_fn.

Type: fix

Signed-off-by: Michael Yu <michael.a.yu@nokia-sbell.com>
Change-Id: I8e132ddd1c3c01b6f476de78546d4a9389b3ff87
Signed-off-by: Michael Yu <michael.a.yu@nokia-sbell.com>
(cherry picked from commit 90b34ed67a516c4391ad353ba431f8419b582d50)

4 years agotcp: track zero rwnd errors 88/22288/2
Florin Coras [Fri, 30 Aug 2019 01:33:24 +0000 (18:33 -0700)]
tcp: track zero rwnd errors

Type: feature

Distinguish between rcv window errors and errors after we advertised a
zero rcv window, i.e., potential window probes.

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

4 years agoip: remove unused function parameter 86/22286/2
Simon Zhang [Sun, 25 Aug 2019 07:30:45 +0000 (15:30 +0800)]
ip: remove unused function parameter

Type: refactor

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

4 years agolacp: continuing input packet trace from device driver 87/22287/2
Steven Luong [Thu, 29 Aug 2019 16:50:28 +0000 (09:50 -0700)]
lacp: continuing input packet trace from device driver

lacp gets the packet from the device driver. Let's continue the input
packet trace's trajectory instead of restarting it in lacp-input.

Type: fix

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I4d4537e050742a23f74287086d38d39673ebd60f
(cherry picked from commit 977c1dec69bab72dcae0c62578be7fc0892e897b)

4 years agosvm: fix fifo hdr freelist allocation 85/22285/2
Florin Coras [Thu, 29 Aug 2019 00:12:32 +0000 (17:12 -0700)]
svm: fix fifo hdr freelist allocation

Type: fix

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

4 years agohsa: clean up vpp_echo json output 84/22284/2
Dave Wallace [Thu, 22 Aug 2019 21:15:54 +0000 (21:15 +0000)]
hsa: clean up vpp_echo json output

Type: style

Change-Id: I8dbf2197b78690b94a346d6ff564648ab42f8235
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
(cherry picked from commit 374f706bff707b8a4bcf62cb1ff0c48d5a65b3bf)

4 years agoquic: enable stable quic tests 83/22283/2
Dave Wallace [Fri, 23 Aug 2019 14:37:51 +0000 (14:37 +0000)]
quic: enable stable quic tests

Type: test

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

4 years agodns: update the MAINTAINERS file 81/22281/5
Dave Barach [Thu, 22 Aug 2019 23:32:49 +0000 (19:32 -0400)]
dns: update the MAINTAINERS file

This complements the cherrypick done within
commit 46441cb9cde2044c4e3e743d69418cecc897a63a to sync up the file state
with the corresponding commits in master branch.

Type: fix
Ticket: VPP-1752

Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Idc82b1ad59adb0f7c185d27ced57e9a4c25ce62f
(cherry picked from commit 84a563ae4050cc0389dcd438fbe9ea882f2b8404)

4 years agoavf: reduce default ITR interval 02/22302/2
Damjan Marion [Wed, 4 Sep 2019 13:26:55 +0000 (15:26 +0200)]
avf: reduce default ITR interval

Type: fix
Fixes: b4ff07a

Change-Id: I361ec71944048734b73eec700e32531fb070194e
Signed-off-by: Damjan Marion <damarion@cisco.com>
(cherry picked from commit 87f0dc7377311a75e906233b398af89d41b72f15)

4 years agotap: fix tap interface not working on Arm issue 98/22298/2
Lijian.Zhang [Wed, 21 Aug 2019 09:51:16 +0000 (17:51 +0800)]
tap: fix tap interface not working on Arm issue

The VPP code tries to set all userspace memory in the table via IOCTL
to VHOST_SET_MEM_TABLE. But on aarch64, the userspace address range is
larger (48 bits) than that on x86 (47 bits). Below is an segment from
/proc/[vpp]/maps.

fffb41200000-fffb43a00000 rw-s 00000000 00:0e 532232
/anon_hugepage (deleted)

Instead of setting all userspace memory space to vhost-net, will only set
the address space reserved by pmalloc module during initialization.

Type: fix

Change-Id: I91cb35e990869b42094cf2cd0512593733d33677
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Reviewed-by: Steve Capper <Steve.Capper@arm.com>
(cherry picked from commit ba0da570f264785f6b50eff7829f6653c0924069)

4 years agostats: memory leak with per-node-counters on 00/22300/2
Ole Troan [Tue, 3 Sep 2019 18:58:08 +0000 (20:58 +0200)]
stats: memory leak with per-node-counters on

vlib_node_get_nodes() creates a duplicate node structure which was never freed.

Type: fix
Fixes: 1ddbc0138b
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Ib1200854937faaa694b398607d2f0ba65aa81c01
(cherry picked from commit b6fde4a8bae474c6b73d08d223028f42e396d452)

4 years agovppapitrace: add text output 82/22282/1
Ole Troan [Fri, 23 Aug 2019 12:19:37 +0000 (14:19 +0200)]
vppapitrace: add text output

Add new argument --todump, to mimic the VPP
api trace dump output.

Type: feature
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Ia8c845b321ef9d55dd6e2f388165ca5498406ab6
(cherry picked from commit a2ac36c91749d5377b263c3d99d484ac33854eef)

4 years agomisc: improve pcap drop trace output 60/22260/2
Dave Barach [Mon, 23 Sep 2019 20:03:49 +0000 (16:03 -0400)]
misc: improve pcap drop trace output

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

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

Type: feature
Ticket: VPP-1776

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

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

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

Update sphinx docs, doxygen tags

Type: refactor
Ticket: VPP-1776

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

4 years agointerface: fix pcap drop trace in case of vlan 58/22258/2
Benoît Ganne [Tue, 17 Sep 2019 15:30:35 +0000 (17:30 +0200)]
interface: fix pcap drop trace in case of vlan

Type: fix

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

4 years agomisc: classifier-based packet trace filter 57/22257/2
Dave Barach [Fri, 13 Sep 2019 21:47:50 +0000 (17:47 -0400)]
misc: classifier-based packet trace filter

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

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

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

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

Patch includes sphinx documentation and doxygen tags.

Next step: device-driver integration

Type: feature

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

4 years agointerface: use the correct condition for checking if the pcap fd is open 56/22256/2
Andrew Yourtchenko [Wed, 11 Sep 2019 14:14:43 +0000 (14:14 +0000)]
interface: use the correct condition for checking if the pcap fd is open

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

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

Change-Id: I11d61422701500a9b3e0dd52d59383f297d57f54
Type: fix
Fixes: 9af7e2e87e
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 4da1506d39eb8f67ed2c48c76916bb6bcca6fbf1)

4 years agointerface: fix pcap_write function 48/22248/4
Andrew Yourtchenko [Tue, 24 Sep 2019 22:54:02 +0000 (22:54 +0000)]
interface: fix pcap_write function

when use pcap cli to capture pcakets into two files rx01.pcap && rx02.pcap,
the first time:
1)pcap rx trace on max 100 intfc any file rx01.pcap
2)......the process of capture data to buffer......
3)pcap rx trace off

the second time:
4)pcap rx trace on max 100 intfc any file rx02.pcap
5)......the process of capture data to buffer......
6)pcap rx trace off

the pcap_write function bug in this two lines
pm->n_packets_captured = 0;
if (pm->n_packets_captured >= pm->n_packets_to_capture) referring to calling pcap_close()
will result in that the twice pcap cli both writes the packets
into rx01.pcap, but nothing into rx02.pcap. Beside, the rx02.pcap
file will not be created.

solution: separate the pcap_close() out of pcap_write()

The automatic cherrypick did not work, so
the manual cherrypick of commit 9af7e2e87e6a11fb69309fc9ce4432acbc4e3
was performed as follows:

0) git checkout stable/1908
1) git checkout -b stable-1908-history-rewrite
2) git rebase -i d1e17d00bb81659bf9e45caa62482bf7029d98f7~1
3) in the editor, mark the second commit as "edit", search for the following commits
   and edit as in the snippet below:

  edit 30d28bdfd api: enforce vla is last and fixed string type
  drop 4c19bfd93 vlib: clean up the "pcap dispatch trace" debug CLI
  pick 4aef0dd82 dpdk: fix extended stats
  edit 1dafb7fd8 dpdk: initialize rte_mbuf during mempool dequeue
  drop 4b943d632 misc: clean up "pcap [rx|tx] trace" debug CLI

4) close the editor
5) git cherry-pick 9af7e2e87e6a11fb69309fc9ce4bf8432acbc4e3
   (it applies cleanly)
6) git rebase --continue
   (rebase of a 1000+ patches)
7) at prompt - git cherry-pick -x e5948fb49a6eeaf437323cc1043a350cd33bcd47
8) git rebase --continue
9) at prompt - git cherry-pick -x b97641c79f4aaf0069268c550f263167ddea2b34
10) git rebase --continue
11) the rebase finished.
12) git checkout stable/1908
13) git diff stable/1908..stable-1908-history-rewrite | patch -p1
14) discard the whitespace-only hunk
15) git commit -a -s; edit this commit message

Type: fix
Change-Id: Iedeb46f9cf0a4cb12449fd75a4014f95f3bb3fa8
Signed-off-by: Jack Xu <jack.c.xu@ericsson.com>
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
4 years agohsa: fix http response 33/22233/2
Benoît Ganne [Wed, 21 Aug 2019 18:32:18 +0000 (20:32 +0200)]
hsa: fix http response

http_ok is a const null-terminated string, not a vector.

Type: fix
Fixes: 844a36d1a6

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

4 years agolibmemif: introduce 'memif_per_thread_' namespace 28/22228/2
Jakub Grajciar [Wed, 31 Jul 2019 12:40:52 +0000 (14:40 +0200)]
libmemif: introduce 'memif_per_thread_' namespace

APIs in 'memif_per_thread_' namespace are used to split the global
database into separate databases, to improve multi-thread use cases.

Using 'memif_per_thread_init' client can create separate libmemif
databases (libmemif_main_t). Client will reference these databases
using memif_per_thread_handle_t. Each database requires unique socket.
Created interface will be stored in the same database as the socket
passed in connection arguments.

Example code: extras/libmemif/examples/icmp_responder_3-1/main.c

Type: feature

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I261563ecc34761a76e94f20c20015394398ddfd7
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
(cherry picked from commit 17f2a7bbf25f54dbd71aa8f377875828b7b88e35)

4 years agoipsec: Fix NULL encryption algorithm 39/22239/2
Neale Ranns [Tue, 27 Aug 2019 12:26:14 +0000 (12:26 +0000)]
ipsec: Fix NULL encryption algorithm

Type: fix
Ticket: VPP-1756

the block-size was set to 0 resulting in incorrect placement of the ESP
footer.

add tests for NULL encrypt + integ.

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

4 years agordma: fix pending packets check on tx 42/22242/2
Benoît Ganne [Tue, 27 Aug 2019 08:58:59 +0000 (10:58 +0200)]
rdma: fix pending packets check on tx

Fix coverity CID 203636: Control flow issues  (NO_EFFECT).
This greater-than-or-equal-to-zero comparison of an unsigned value is
always true. "n_left_from >= 0U".

Type: fix
Fixes: e7e8bf37f100b20acb99957572f1796f648c2853

Change-Id: Ibbf8c82defb12d6d532345eea657d5f300e6a514
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agordma: use rings for buffers management 37/22237/3
Benoît Ganne [Wed, 21 Aug 2019 13:11:43 +0000 (15:11 +0200)]
rdma: use rings for buffers management

Refactor rdma driver for improved performance and prepare for raw
datapath access.

Type: refactor

Change-Id: Iae31872055a6947708ea9f430bd1dc083ea63b5a
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agoquic: Fix listener vpp_session_handle 43/22243/2
Nathan Skrzypczak [Wed, 28 Aug 2019 13:19:17 +0000 (15:19 +0200)]
quic: Fix listener vpp_session_handle

Type: fix

Change-Id: I19f70403e15cd180e9d337fbdad47191de333b34
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
(cherry picked from commit 50059cca899117f7d3d2de616ada05166ccd1c97)

4 years agoavf: print queue id in packet trace 29/22229/2
Damjan Marion [Wed, 21 Aug 2019 14:33:56 +0000 (16:33 +0200)]
avf: print queue id in packet trace

Type: feature

Change-Id: If3deb26b9ee3b9e677c9dc50789bf81fe6c11dee
Signed-off-by: Damjan Marion <damarion@cisco.com>
(cherry picked from commit c33eddebe8e390ed3d5b817e7e6017ae8a543097)

4 years agolacp: mark is_mp_safe for show and dump binary API 44/22244/2
Steven Luong [Fri, 16 Aug 2019 03:30:23 +0000 (20:30 -0700)]
lacp: mark is_mp_safe for show and dump binary API

show and dump binary APIs for lacp neighbors are running in the same thread
as the create and delete interface. There is no need for barrier lock.

Type: fix

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

4 years agointerface: Remove residual dpdk bonding code 40/22240/2
Steven Luong [Tue, 27 Aug 2019 14:43:27 +0000 (07:43 -0700)]
interface: Remove residual dpdk bonding code

dpdk bonding code was removed in 19.08. However, there are still references
to VNET_SW_INTERFACE_FLAG_BOND_SLAVE which was set by the already removed
code.

Type: fix

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I949a7281e6273f2733dd7532cc4a3bb4f3ce30de
(cherry picked from commit 5ad541eeaa428c6a88c40e2088cdaabc0748c9df)

4 years agotcp: fix byte tracker samples flush 36/22236/2
Florin Coras [Fri, 23 Aug 2019 17:28:01 +0000 (10:28 -0700)]
tcp: fix byte tracker samples flush

Type: fix

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

4 years agoipsec: Add 'detail' option to 'sh ipsec sa' 41/22241/2
Neale Ranns [Tue, 27 Aug 2019 12:47:17 +0000 (12:47 +0000)]
ipsec: Add 'detail' option to 'sh ipsec sa'

Type: feature

with detail option prints all details for all SAs

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

4 years agoip: reassembly: remove unnecessary code 38/22238/3
Klement Sekera [Tue, 27 Aug 2019 09:20:33 +0000 (09:20 +0000)]
ip: reassembly: remove unnecessary code

Type: refactor

Change-Id: I30cb324006c3c6ab88d01c044cf80fab3a34f13a
Signed-off-by: Klement Sekera <ksekera@cisco.com>
(cherry picked from commit 8e9e0eccb280619f10d287dad3f79541ade03adc)

4 years agoip: fix merge issue 35/22235/3
Klement Sekera [Thu, 22 Aug 2019 11:34:33 +0000 (11:34 +0000)]
ip: fix merge issue

Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: Idd64b0b3eedb7179f6d316b66cea8160ad577990
Type: fix
Fixes: 630ab5846bceddf8d663e9f488a2dc0378949827
Signed-off-by: Klement Sekera <ksekera@cisco.com>
(cherry picked from commit 95e091b268212c4bc7153d1526fdffd3ce1d647a)

4 years agoip: reassembly: send packet out on correct worker 24/22224/4
Klement Sekera [Fri, 19 Jul 2019 09:14:19 +0000 (09:14 +0000)]
ip: reassembly: send packet out on correct worker

Note which worker received fragment with offset zero and use this worker
to send out the reassembled packet.

Type: fix
Change-Id: I1d3cee16788db3b230682525239c0100d51dc380
Signed-off-by: Klement Sekera <ksekera@cisco.com>
(cherry picked from commit 630ab5846bceddf8d663e9f488a2dc0378949827)

4 years agotests: support worker threads 23/22223/3
Klement Sekera [Wed, 31 Jul 2019 13:14:16 +0000 (13:14 +0000)]
tests: support worker threads

Add support for specifying the worker thread when adding packet stream.

Type: feature

Change-Id: I8a98b91c211e60cd53e1166f9f51365394ecacfd
Signed-off-by: Klement Sekera <ksekera@cisco.com>
(cherry picked from commit 4ecbf105a4290de9917b1ded14b0854c68cbd655)

4 years agovlib: fix null pointer crash on strncmp 34/22234/2
Steven Luong [Wed, 21 Aug 2019 18:35:27 +0000 (11:35 -0700)]
vlib: fix null pointer crash on strncmp

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff4b71de0 in __strncmp_sse42 () from /lib64/libc.so.6
(gdb) up
up
    vm=0x7ffff6664d40 <vlib_global_main>, addr=0x7fffb4bec6d0,
    ids=0x7fffb31675f0 <avf_pci_device_ids>, handle=0x7fffb4bec594)
    at /usr/src/debug/vpp-20.01/src/vlib/linux/pci.c:1250
1250   if (strncmp ("vfio-pci", (char *) di->driver_name, 8) == 0)
(gdb) p di
p di
$1 = (vlib_pci_device_info_t *) 0x7fffb6446164
(gdb) p di->driver_name
p di->driver_name
$2 = (u8 *) 0x0
(gdb)

driver_name may be null. strncmp is not forgiving. Change to use C11 safeC
version.

Type: fix

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

4 years agolb: fix memcpy error issue 51/22251/1
Yulong Pei [Fri, 23 Aug 2019 09:24:13 +0000 (17:24 +0800)]
lb: fix memcpy error issue

vl_api_prefix_t size is 21 byte, ip46_address_t size is 16 byte, only copy
16 byte of vl_api_prefix_t to ip46_address_t is not correct.

Type:fix

Change-Id: I35ede7836a0c878d39388b29b15d91bb08f87a07
Signed-off-by: Yulong Pei <yulong.pei@intel.com>
(cherry picked from commit 71f36067ca923fa4eb10060d6f6878f5fa864673)

4 years agosr: fix sr_set_encap_source reply 32/22232/2
Vratko Polak [Wed, 21 Aug 2019 16:40:03 +0000 (18:40 +0200)]
sr: fix sr_set_encap_source reply

Can we get a reply macro that would avoid such copypaste errors?

Type: fix

Change-Id: I753efb1d82fced668c27f2e44b0318bfd31c0a23
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
(cherry picked from commit 1096b46d9bfeb4f4c6c3bcd7b12b1d99c5da54a4)

4 years agohsa: move udp_echo to vpp_echo 22/22222/2
Nathan Skrzypczak [Mon, 12 Aug 2019 14:12:48 +0000 (16:12 +0200)]
hsa: move udp_echo to vpp_echo

Type: refactor

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

4 years agomisc: missing ntohl for bond_slave's custom dump 25/22225/2
Steven Luong [Tue, 20 Aug 2019 18:39:00 +0000 (11:39 -0700)]
misc: missing ntohl for bond_slave's custom dump

sw_if_index argument is u32 and it needs to be converted to host order
for format in custom dump, a very highly sophisticated stuff.

Type: fix

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: Ie6d49a17e4411df5d567dbb2a7c95993dceda31b
(cherry picked from commit 58caa37dcac3cef95279f8b2c82082b1a2af6a62)

4 years agoavf: fix init when num_rx_queues > num_tx_queues 26/22226/2
Damjan Marion [Tue, 20 Aug 2019 15:51:22 +0000 (17:51 +0200)]
avf: fix init when num_rx_queues > num_tx_queues

Type: fix
Fixes: ae91180

Change-Id: Id93b0f4d23ad7022e341e305bbd93ef2fff5787d
Signed-off-by: Damjan Marion <damarion@cisco.com>
(cherry picked from commit 017002ae357a05ca1ae1b7d8fbc7bbc8063c9e34)

4 years agotcp: add option for always on event logging 30/22230/2
Florin Coras [Tue, 20 Aug 2019 14:09:31 +0000 (07:09 -0700)]
tcp: add option for always on event logging

Type: feature

Add option to always compile in debugging infra. Debug verbosity can be
controlled via configuration updatable via cli. Compile time inclusion
and configuration of event logging verbosity is still available in order
to minimize event logging impact.

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

4 years agovcl: fix ldp_set_app_name overflow 31/22231/1
Benoît Ganne [Wed, 21 Aug 2019 16:27:23 +0000 (18:27 +0200)]
vcl: fix ldp_set_app_name overflow

In case of overflow, we null-terminate the parameter ('app_name')
instead of ldp global name ('ldp->app_name').
Moreover, snprintf() always safely null-terminate the destination string
even in case of overflow.

Type: fix
Fixes: 048b1d6ab7

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

4 years agoquic: fix rx_callback refactoring 87/22187/2
Nathan Skrzypczak [Mon, 19 Aug 2019 15:49:56 +0000 (17:49 +0200)]
quic: fix rx_callback refactoring

* check_quic_client_connected might allocate ctx
and invalidate our pointer

Type: fix

Change-Id: I885ca5a1a6db9a7765c9047a7df9cdf66c94f1cb
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
(cherry picked from commit 1682b51c416561b083d84194d49ff617e070eb47)

4 years agohsa: move tcp_echo to vpp_echo 88/22188/2
Nathan Skrzypczak [Mon, 12 Aug 2019 10:02:25 +0000 (12:02 +0200)]
hsa: move tcp_echo to vpp_echo

Type: refactor

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

4 years agotests: Revert "Tests: Example duplicate code refactoring." 90/22190/2
Klement Sekera [Wed, 24 Jul 2019 12:40:37 +0000 (12:40 +0000)]
tests: Revert "Tests: Example duplicate code refactoring."

This reverts commit 6955595a577e1b7d316b5b69267bf1d1d951a4ab. The result
is that test filtering for reassembly tests works again.

Type: fix

Change-Id: I4acb094b5b4aa264745986afa0bb0528789807b3
Signed-off-by: Klement Sekera <ksekera@cisco.com>
(cherry picked from commit 947a85c7792b14d4cc84b0d25c953102435069e5)

4 years agovppapigen: remove python2 support 89/22189/2
Paul Vinciguerra [Wed, 7 Aug 2019 02:02:45 +0000 (22:02 -0400)]
vppapigen: remove python2 support

vppapigen has been running under python3 for months.
Remove the python2 conditional code.

In case of an error, explicitly log and return non-0.

Type: refactor
Change-Id: I20a73e0f2cb875aab6441959a85a35e88c9f8250
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
(cherry picked from commit 2cd3cc8a605a062c7900dbcc3fad53d04723c298)

4 years agotcp: forward conn resets through tcp-output 91/22191/1
Florin Coras [Mon, 19 Aug 2019 01:09:28 +0000 (18:09 -0700)]
tcp: forward conn resets through tcp-output

Type: refactor

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

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

Type: fix

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

4 years agovppinfra: Update "show cpu" output for AArch64 chips 70/22170/3
Nitin Saxena [Thu, 28 Mar 2019 09:12:31 +0000 (14:42 +0530)]
vppinfra: Update "show cpu" output for AArch64 chips

- Allow "Microarch model(family)" row to show PASS
revison as either string (like A0, B0) or number (like
1.0, 2.0).
- Fix part number for Marvell CN96XX

Type: refactor

Change-Id: Ie01a3960c4e5e481be354dc8bb60f744e5c65737
Signed-off-by: Nitin Saxena <nsaxena@marvell.com>
(cherry picked from commit c9122f97398b11f8be0256901a0cbd83dc3b6511)

4 years agodpdk: fix ipsec coverity warning 73/22173/2
Matthew Smith [Fri, 16 Aug 2019 16:30:02 +0000 (11:30 -0500)]
dpdk: fix ipsec coverity warning

Type: fix
Fixes: 5025d40a1134272ab57c3c3f10311e31a65cd63c

Update the expression for a conditional block which should be executed
when an encrypted packet will be sent via IPv6. Coverity was
complaining that a NULL pointer could be dereferenced. It is unclear
whether that ever would have actually happened, but the updated
expression should quell the warning and should more accurately detect
whether the block for IPv6 should be executed.

Change-Id: I731cad1f982e8f55bd44e6e05e98eff96f1957bb
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
(cherry picked from commit c458f5c09a21cc905aa1b53eda30736e52426418)

4 years agovlib: fix vlib_buffer_main_init_numa_node memory leak. 72/22172/2
Guanghua Zhang [Sun, 18 Aug 2019 00:35:04 +0000 (08:35 +0800)]
vlib: fix vlib_buffer_main_init_numa_node memory leak.

Type: fix

Signed-off-by: Guanghua Zhang <ghzhang@fiberhome.com>
Change-Id: I8252ed2555f5af6db2f12dc7c30e41cc1ec7dde0
(cherry picked from commit 785daf4f847a786ba618e3017752567f20f0be1c)

4 years agobuild: fix vpp compilation failure on ThunderX2 and Amp 71/22171/2
Jianlin Lv [Thu, 27 Jun 2019 05:50:30 +0000 (13:50 +0800)]
build: fix vpp compilation failure on ThunderX2 and Amp

fix compile issue that caused by enabling "-mtune=thunderx2t99"
flag during compilation, such as
"/opt/vpp-agent/dev/vpp/src/vnet/interface_stats.c:164:1:
internal compiler error: Segmentation fault"

Type: fix

Change-Id: Iaf9f80a6c203a7e5b6a40523f14a62bb37091c92
Signed-off-by: Jianlin Lv <Jianlin.Lv@arm.com>
(cherry picked from commit 416e32cf9292b899cbed28ec29836517eb942206)

4 years agoip: leverage existing vlib_buffer_advance 69/22169/2
Zhiyong Yang [Wed, 26 Jun 2019 02:41:55 +0000 (22:41 -0400)]
ip: leverage existing vlib_buffer_advance

The function ip4_rewrite_inline_with_gso can leverage
the existing vlib_buffer_advance to simplify code.

Type: fix

Change-Id: I25d943dc78aba2f67654385cf3f693eb01e0210e
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
(cherry picked from commit a6659214aa7be7fe9fa04fbdc744affaaa8324ec)

4 years agonsh: rewrite nsh_output_inline 68/22168/2
Zhiyong Yang [Wed, 24 Jul 2019 05:43:39 +0000 (01:43 -0400)]
nsh: rewrite nsh_output_inline

Type: style

Change-Id: I0c870eddb427efa26cd5b52daf12b13c3927976a
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
(cherry picked from commit e16f6a77eb18f1e9b61f987089c82fe38bc317b2)

4 years agordma: add support for MAC changes 67/22167/2
Benoît Ganne [Mon, 12 Aug 2019 09:44:20 +0000 (11:44 +0200)]
rdma: add support for MAC changes

Type: feature

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

4 years agodpdk: add TSO support in dpdk plugin. 66/22166/2
Chenmin Sun [Wed, 17 Jul 2019 14:29:44 +0000 (22:29 +0800)]
dpdk: add TSO support in dpdk plugin.

Type: feature

You can enable tso in starup.conf like this:
dev 0000:86:00.0{
tso on
}

TSO is disabled by default.

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