vpp.git
4 years agoapi: use string type for strings in memclnt.api 50/21450/6
Ole Troan [Thu, 22 Aug 2019 07:02:59 +0000 (09:02 +0200)]
api: use string type for strings in memclnt.api

Explicitly using string type in API allows for autogenerating tools to print
strings instead of hex-dumping byte strings.

Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I573962d6b34d5d10aab9dc6a5fdf101c9b12a6a6
Signed-off-by: Ole Troan <ot@cisco.com>
4 years agogso: fix segmentation when gso_size greater than vlib buffer size 66/21466/4
Mohsin Kazmi [Thu, 22 Aug 2019 16:40:28 +0000 (18:40 +0200)]
gso: fix segmentation when gso_size greater than vlib buffer size

Type: fix
Ticket: VPP-1751

Change-Id: I5ffb078492adc97374290de404f2ec0102b75184
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agomisc: 19.08 new features 38/21538/2
Andrew Yourtchenko [Tue, 20 Aug 2019 16:31:34 +0000 (16:31 +0000)]
misc: 19.08 new features

The full RELEASE.md diff is b610f2022c9f4e10a922e7b57c80ec77cd45d021

Change-Id: Ide6d85d41bdc836a03390a50ab94f6ebbaae0b28
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 1c586de48cc76fc6eac50f5d87003e2a80aa43e7)

4 years agomisc: VPP 19.08 Release Notes 37/21537/1
Andrew Yourtchenko [Sat, 17 Aug 2019 14:57:13 +0000 (14:57 +0000)]
misc: VPP 19.08 Release Notes

Change-Id: I81c7ad50c66b4b8d690e87aad1f3c16af065fc85
Type: docs
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit b610f2022c9f4e10a922e7b57c80ec77cd45d021)

4 years agoip: ip6_preflen_to_mask incorrect result for prefix len > 64 20/21520/2
Andrew Yourtchenko [Mon, 26 Aug 2019 12:58:48 +0000 (12:58 +0000)]
ip: ip6_preflen_to_mask incorrect result for prefix len > 64

The as_u64[0] in the result was not correctly filled in for
longer prefix lengths.

Type: fix
Fixes: 1c7104514c

Change-Id: I871772c618475396d1c1c4c699ff77e35097f07e
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
4 years agordma: use rings for buffers management 05/21505/2
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 agotcp: fix byte tracker samples flush 91/21491/3
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>
4 years agovppapitrace: add text output 78/21478/2
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

4 years agodns: fix trivial multi-thread deadlock 68/21468/1
Dave Barach [Thu, 22 Aug 2019 23:32:49 +0000 (19:32 -0400)]
dns: fix trivial multi-thread deadlock

Add a simple lock trace mechanism

Type: fix
Ticket: VPP-1752

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

4 years agotests: move plugin tests to src/plugins/*/test 46/21446/3
Dave Wallace [Thu, 22 Aug 2019 00:32:29 +0000 (00:32 +0000)]
tests: move plugin tests to src/plugins/*/test

- Relocate plugin tests for 'make test' into
  src/plugins/*/test so that plugin test cases
  are co-located with the plugin source code.

Type: refactor

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I503e6a43528e14981799b735fa65674155713f67
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
4 years agodns: make the dns name resolver a plugin 44/21444/4
Dave Barach [Wed, 21 Aug 2019 23:23:00 +0000 (19:23 -0400)]
dns: make the dns name resolver a plugin

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

4 years agoavf: properly set irq queue masks 55/21455/2
Damjan Marion [Thu, 22 Aug 2019 11:36:15 +0000 (13:36 +0200)]
avf: properly set irq queue masks

Type: fix
Fixes: ae91180

Change-Id: I9c55c3fdf41089d337b998e2e28abb23d81525ef
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 years agonat: handoff traffic matching for dynamic NAT 29/21429/4
Filip Varga [Mon, 12 Aug 2019 12:24:39 +0000 (14:24 +0200)]
nat: handoff traffic matching for dynamic NAT

Type: feature

Change-Id: I5c5af6f9acb340cc674323305104b8ce23e6d21d
Signed-off-by: Filip Varga <fivarga@cisco.com>
4 years agoip: fix merge issue 54/21454/1
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>
4 years agovlib: fix null pointer crash on strncmp 42/21442/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

4 years agohsa: fix http response 41/21441/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>
4 years agosr: fix sr_set_encap_source reply 40/21440/4
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>
4 years agovcl: fix ldp_set_app_name overflow 39/21439/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>
4 years agotcp: add option for always on event logging 13/21413/9
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>
4 years agoavf: print queue id in packet trace 35/21435/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>
4 years agodns: add basic functional "make test" case 33/21433/2
Dave Barach [Wed, 21 Aug 2019 13:11:41 +0000 (09:11 -0400)]
dns: add basic functional "make test" case

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

4 years agolibmemif: introduce 'memif_per_thread_' namespace 66/20966/12
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>
4 years agodpdk: bump DPDK version to 19.08 06/21406/2
Damjan Marion [Tue, 20 Aug 2019 10:38:08 +0000 (12:38 +0200)]
dpdk: bump DPDK version to 19.08

Type: feature

Change-Id: I16b8cdf0b6af6715a5f01ad84365a8c8a1b76237
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 years agoavf: fix init when num_rx_queues > num_tx_queues 17/21417/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>
4 years agotcp: default to debug disabled 14/21414/4
Florin Coras [Tue, 20 Aug 2019 14:14:00 +0000 (07:14 -0700)]
tcp: default to debug disabled

Type:fix

Change-Id: Ib5c33f0bdb3a8b1c2585135fcc8c07b151e47df3
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agomisc: missing ntohl for bond_slave's custom dump 22/21422/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

4 years agotls: Add C API for TLS openssl to set engine 71/21371/7
Ping Yu [Mon, 19 Aug 2019 11:01:17 +0000 (07:01 -0400)]
tls: Add C API for TLS openssl to set engine

Type: feature

Parameters of the engine can be set by C API.
After this patch, it is easier to integrate TLS into CSIT test.

Change-Id: I063cabf613aabbfad831727551579328705afb41
Signed-off-by: Ping Yu <ping.yu@intel.com>
4 years agovppapigen: remove support for legacy typedefs 07/21207/6
Paul Vinciguerra [Wed, 7 Aug 2019 04:05:59 +0000 (00:05 -0400)]
vppapigen: remove support for legacy typedefs

vppapigen has remapped legacy to typedefs behind the scenes
for some time now.

- update .api files to use new style typedefs.
- issue error on 'typeonly define' in .api files
- remove unneeded macros redefining vl_noop_handler

Type: refactor

Change-Id: I7a8c4a6dafacee6a131f95cd0e9b03a8c60dea8b
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agoip: reassembly: send packet out on correct worker 76/20976/5
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>
4 years agovlib: create unix runtime directory 91/21391/6
Ole Troan [Mon, 19 Aug 2019 12:51:45 +0000 (14:51 +0200)]
vlib: create unix runtime directory

Ensure the runtime directory is created at startup.
Default /run/vpp

Type: fix
Fixes: I53d70939c8125d04a365ac51a6cbf8926dc52adf
Change-Id: I6d70364ea756b86768c4dd1f6a9383238ed275c8
Signed-off-by: Ole Troan <ot@cisco.com>
4 years agotests: support worker threads 75/20975/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>
4 years agofix pcap_write function 70/16770/8
Jack Xu [Wed, 27 Mar 2019 15:51:32 +0000 (11:51 -0400)]
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()

Change-Id: Iedeb46f9cf0a4cb12449fd75a4014f95f3bb3fa8
Signed-off-by: Jack Xu <jack.c.xu@ericsson.com>
4 years agoapi: Cleanup APIs interface.api 61/18361/22
Jakub Grajciar [Mon, 18 Mar 2019 12:17:53 +0000 (13:17 +0100)]
api: Cleanup APIs interface.api

Use of consistent API types for interface.api

Type: fix

Change-Id: I88206d7d0907cffd564031f73c9a996df2e5e21a
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
4 years agotcp: forward conn resets through tcp-output 70/21370/6
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>
4 years agotests: Revert "Tests: Example duplicate code refactoring." 74/20974/3
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>
4 years agovppapigen: remove python2 support 06/21206/9
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>
4 years agodns: handle multiple replies for single requests 98/21398/1
Dave Barach [Mon, 19 Aug 2019 22:15:51 +0000 (18:15 -0400)]
dns: handle multiple replies for single requests

The world is a mess. A single DNS request may yield multiple, subtly
different responses; all with the same DNS protocol-level ID.

Last response wins in terms of what ends up in the cache.

First response wins in terms of the response sent to the client. Hard
to do otherwise since we have no clue that more than one answer will
be forthcoming.

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

4 years agohsa: move udp_echo to vpp_echo 43/21243/6
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>
4 years agohsa: move tcp_echo to vpp_echo 42/21242/5
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>
4 years agoquic: fix rx_callback refactoring 97/21397/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>
4 years agovppapigen map: raise ValueError when fieldname is python keyword 04/21204/5
Paul Vinciguerra [Tue, 6 Aug 2019 23:58:24 +0000 (19:58 -0400)]
vppapigen map: raise ValueError when fieldname is python keyword

When working on the lb api, one of the field names was chosen as 'as'
(application server). Since 'as' is a python keyword, the field was
renamed to _1 in vpp_papi.

This changeset instead fails early with a descriptive message,
hopefully saving others time troubleshooting the issue.

    ValueError: Fieldname 'as' is a python keyword and
    is not accessible via the python API.

Type: feature
Change-Id: Ib048d97de0e392645540092e356cf8989848c947
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agodpdk: fix ipsec coverity warning 64/21364/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>
4 years agovlib: fix vlib_buffer_main_init_numa_node memory leak. 67/21367/3
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

4 years agobuild: fix vpp compilation failure on ThunderX2 and Amp 79/20379/6
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>
4 years agovppinfra: Update "show cpu" output for AArch64 chips 64/18564/5
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

Change-Id: Ie01a3960c4e5e481be354dc8bb60f744e5c65737
Signed-off-by: Nitin Saxena <nsaxena@marvell.com>
4 years agoip: leverage existing vlib_buffer_advance 43/20343/5
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>
4 years agonsh: rewrite nsh_output_inline 16/20816/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>
4 years agordma: add support for MAC changes 29/21229/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>
4 years agodpdk: add TSO support in dpdk plugin. 86/20686/3
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>
4 years agodpdk: QAT devices update, add c4xxx and xeon d15xx 16/21216/4
Jim Thompson [Mon, 12 Aug 2019 07:03:38 +0000 (02:03 -0500)]
dpdk: QAT devices update, add c4xxx and xeon d15xx

Type: feature

Change-Id: I21f8f4563f5545a684b2666f7410847e0f7bc403
Signed-off-by: Jim Thompson <jim@netgate.com>
4 years agodevices: skip checksum calculation if guest supports checksum offload 96/21096/2
Steven Luong [Wed, 7 Aug 2019 04:51:34 +0000 (21:51 -0700)]
devices: skip checksum calculation if guest supports checksum offload

Set VNET_HW_INTERFACE_FLAG_SUPPORTS_TX_L4_CKSUM_OFFLOAD for the interface
to skip checksum calculation if guest supports checksum offload.

Type: fix

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: Ie933c3462394f07580ef7f2bec1d2eb3b075bd0c

4 years agordma: add support for input feature arcs 01/21101/3
Benoît Ganne [Wed, 7 Aug 2019 11:35:29 +0000 (13:35 +0200)]
rdma: add support for input feature arcs

Input feature arcs enable functions such as l2patch or bonding.

Type: feature

Change-Id: Ie333c9b8f7ea20f8a3a409a9a06367807e215a57
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agosession: add explicit reset api 65/21365/4
Florin Coras [Sat, 17 Aug 2019 00:48:44 +0000 (17:48 -0700)]
session: add explicit reset api

Type: feature

This can be used to forcefully close a session. It's only available to
builtin applications for now. Transports must support the reset api
otherwise normal close is used.

Change-Id: I5e6d681cbc4c8045385e293e0e9d86fa2bf45849
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agotcp: set cc_algo on connection alloc 62/21362/3
Florin Coras [Fri, 16 Aug 2019 16:44:00 +0000 (09:44 -0700)]
tcp: set cc_algo on connection alloc

Type: feature

Change-Id: Ie00329b11e26cab5db64b9c006171d283854c8ef
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agotcp: allow cc algos to set pacing rate 63/21363/2
Florin Coras [Fri, 16 Aug 2019 17:33:49 +0000 (10:33 -0700)]
tcp: allow cc algos to set pacing rate

Type: feature

Change-Id: Ie7f0f5d2a476d401ede567e422abb953b2bb4a78
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agogso: fix l3 and l4 header offset in case of tagged interface 99/20899/4
Mohsin Kazmi [Mon, 29 Jul 2019 09:39:26 +0000 (11:39 +0200)]
gso: fix l3 and l4 header offset in case of tagged interface

previously, PG and virtio interfaces calculate wrong l3 and l4
header offset. This patch fixes this issue.

Type: fix
Ticket: VPP-1739

Change-Id: I5ba978e464babeb65e0711e1027320d46b3b9932
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agogso: fix the segmentation to use current_data offset 80/21280/2
Mohsin Kazmi [Tue, 13 Aug 2019 16:23:26 +0000 (18:23 +0200)]
gso: fix the segmentation to use current_data offset

Type: fix
Ticket: VPP-1740

Change-Id: If3e34b5b8260e4c50af338895066c2c96f4603af
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agobonding lacp: deleting virtual interface which was enslaved may cause crash 69/21069/4
Steven Luong [Mon, 5 Aug 2019 16:47:58 +0000 (09:47 -0700)]
bonding lacp: deleting virtual interface which was enslaved may cause crash

Virtual interfaces may be part of the bonding like physical interfaces. The
difference is virtual interfaces may disappear dynamically. As an example,
the following CLI sequence may crash the debug image

create vhost-user socket /tmp/sock1
create bond mode lacp
bond add BondEthernet0 VirtualEthernet0/0/0
delete vhost-user VirtualEhernet0/0/0

Notice the virtual interface is deleted without first doing bond delete.
The proper order is to first remove the slave interface from the bond prior
to deleting the virtual interface as shown below. But we should handle it
anyway.

create vhost-user socket /tmp/sock1
create bond mode lacp
bond add BondEthernet0 VirtualEthernet0/0/0
bond del VirtualEthernet0/0/0   <-----
delete vhost-user VirtualEhernet0/0/0

The fix is to register for VNET_SW_INTERFACE_ADD_DEL_FUNCTION and remove
the slave interface from the bond if the to-be-deleted interface is part of
the bond. We check the interface that it is actually up before we send
the lacp pdu. Up means both hw and sw admin up.

Type: fix

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: If4d2da074338b16aab0df54e00d719e55c45221a

4 years agoacl: fix stats-segment counters validation on acl update 35/21335/2
Andrew Yourtchenko [Thu, 15 Aug 2019 12:26:17 +0000 (12:26 +0000)]
acl: fix stats-segment counters validation on acl update

The stats-segment validation/clear logic for acl counters was wrong,
fix it. Also add the code to the unittests to cover that case,
add a vat command to enable/disable counters, clean up
the unnecessary endian conversion and remove the stray clib_warning()

Change-Id: I421297a92e4aeb885c468c72a97cec25981df615
Type: fix
Ticket: VPP-1744
Fixes: f995c7122ba0d024b17bc3232e8edd18d5e25088
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 4c945dacb9ff9da731301feb26b1edb4ac00e8bd)

4 years agodevices: vhost-user crashes displaying show trace for deleted interface 41/21341/2
Steven Luong [Thu, 15 Aug 2019 21:30:16 +0000 (14:30 -0700)]
devices: vhost-user crashes displaying show trace for deleted interface

After the trace is collected and if the interface is then deleted, show
trace may crash for the debug image. This is due to the additional check
in pool_elt_at_index() to make sure that the block is not free.

The fix is to do the check in vhost format trace and return "interface deleted"

Type: fix

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I0744f913ba6146609663443f408d784067880f93

4 years agohsa: Refactor quic_echo to allow other protocols 56/21056/9
Nathan Skrzypczak [Mon, 5 Aug 2019 11:43:31 +0000 (13:43 +0200)]
hsa: Refactor quic_echo to allow other protocols

Type: refactor

Change-Id: Iaef9091e1d057110530255e644fad1c298418966
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 years agotcp: fix cc algo name parsing 42/21342/3
Florin Coras [Fri, 16 Aug 2019 02:55:03 +0000 (19:55 -0700)]
tcp: fix cc algo name parsing

Type: fix

The initial config parser passed a pointer to the field algo id field in
tcp main. Because the field is a u8 and it was interpreted as a uword,
it ended up overwrting other tcp configuration fields.

Change-Id: Ie9020051c8fca40e14cf42a9888daa87360e5038
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agoquic: quic_app_rx_callback refactor. 83/21083/6
Mathias Raoul [Tue, 6 Aug 2019 11:08:51 +0000 (13:08 +0200)]
quic: quic_app_rx_callback refactor.

Add quic_process_one_rx_packet() function

Type: refactor

Change-Id: Iecaec3f7fed9f95a25ea55d0251626beb79181fd
Signed-off-by: Mathias Raoul <mathias.raoul@gmail.com>
4 years agogso: remove the ip checksum flag in case of ipv6 11/21311/2
Mohsin Kazmi [Wed, 14 Aug 2019 14:23:17 +0000 (16:23 +0200)]
gso: remove the ip checksum flag in case of ipv6

Type: fix
Ticket: VPP-1727

Change-Id: Icfee35c5ab5e1c65079d1ca7bb514162319113e5
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agoipsec: fix missed IPSEC_INTEG_ALG_MD5_96 84/21284/4
Dmitry Vakhrushev [Wed, 14 Aug 2019 04:12:33 +0000 (00:12 -0400)]
ipsec: fix missed IPSEC_INTEG_ALG_MD5_96

This algorithm was missed in last improvements.

Type:fix

Signed-off-by: Dmitry Vakhrushev <dmitry@netgate.com>
Change-Id: Ib818cbdcdd1a6f298e8b0086dac4189cc201baa3

4 years agodhcp: resolver process node index in main_t 38/21338/1
Dave Barach [Thu, 15 Aug 2019 19:14:14 +0000 (15:14 -0400)]
dhcp: resolver process node index in main_t

Remove the (unused) node_registration_t, don't try to use it to signal
resolution events.

Type: fix
Ticket: VPP-1746

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

4 years agovlib: copy trace_handle in vlib_buffer_copy/clone() functions 83/21283/3
John Lo [Tue, 13 Aug 2019 22:18:21 +0000 (18:18 -0400)]
vlib: copy trace_handle in vlib_buffer_copy/clone() functions

Since vlib_buffer_copy() and vlib_buffer_clone() both preserve
VLIB_BUFFER_IS_TRACED bit in flags field, it should also copy
trace_handle which would add minimal overhead. Thus, callers of
these functions do not have to call vlib_buffer_copy_trace_flags()
to copy trace_handle.

Type: refactor

Signed-off-by: John Lo <loj@cisco.com>
Change-Id: Iff6a3f81660dd62b36a2966033eb380305340310

4 years agodpdk: ipsec tunnel support for ip6-in-ip4 07/21107/3
Matthew G Smith [Tue, 6 Aug 2019 13:43:50 +0000 (08:43 -0500)]
dpdk: ipsec tunnel support for ip6-in-ip4

Type: feature

If an attempt was made to send an IPv6 packet over an IPv4 tunnel,
the DPDK esp_encrypt did not complete setting up
the crypto operation for a buffer, but still queued the crypto
operations that were allocated. This results in a SEGV when
attempting to dequeue them in dpdk-crypto-input.

Allow IPv6 packets to be sent over a v4 tunnel when using the DPDK
plugin esp crypto nodes.

Change-Id: Ic9a4cd69b7fc06a17ab2f64ae806ec2ceacfef27
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
4 years agostats: refactor header files 02/21302/3
Dave Barach [Wed, 14 Aug 2019 13:35:41 +0000 (09:35 -0400)]
stats: refactor header files

Performant stat segment scraping involves caching the results of
stat_segment_ls (...) and directly fishing counter data from the
shared-memory segment.

To do that, we need to publish several things previously hidden,
declared in stat_client.c:

o stat_client_main_t typedef
o stat_segment_access_t typedef
o stat_segment_access_start inline function
o stat_segment_access_end inline function

Type: refactor

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

4 years agotcp: extend protocol configuration 49/21249/12
Florin Coras [Mon, 12 Aug 2019 21:17:47 +0000 (14:17 -0700)]
tcp: extend protocol configuration

Type: feature

Expose more configuration parameters and refactor some of the existing
ones.

Change-Id: If44c31ff77ce3d7e8da67d39a4ff61346bdf5ccc
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agogbp: add local l3out redirect to local SEP unit test 37/21037/5
Benoît Ganne [Fri, 2 Aug 2019 15:57:08 +0000 (17:57 +0200)]
gbp: add local l3out redirect to local SEP unit test

Type: test

Change-Id: Ia6dad86d02f6f665a3e6960812b2527eaabb65f1
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agogbp: do not scan gbp bihash if not instantiated 81/21081/2
Benoît Ganne [Tue, 6 Aug 2019 11:47:21 +0000 (13:47 +0200)]
gbp: do not scan gbp bihash if not instantiated

Type: fix
Fixes: 32dcd3b2f227dec638c39ade0c58d6741d83ec30

Change-Id: I42550fcc5b3fa486a05770d3e220d7a86315628e
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agosvm: fix svmtool and svmdbtool segment fault. 11/21211/3
Guanghua Zhang [Mon, 12 Aug 2019 01:04:35 +0000 (09:04 +0800)]
svm: fix svmtool and svmdbtool segment fault.

Type: fix

Signed-off-by: Guanghua Zhang <ghzhang@fiberhome.com>
Change-Id: Ifd3abaa5ec912378dbc7b73c4863aad26777dd7e

4 years agosession: fix enqueue notification on 32bit systems 78/21278/1
Florin Coras [Tue, 13 Aug 2019 15:35:39 +0000 (08:35 -0700)]
session: fix enqueue notification on 32bit systems

Type:fix

Change-Id: I7b5566525fc30fe0d3cc8cd991960f6ed2f1fc27
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agofib: add adj_midchain.h to the list of files to install in the include path 28/21228/2
Alberto Compagno [Mon, 12 Aug 2019 09:43:19 +0000 (11:43 +0200)]
fib: add adj_midchain.h to the list of files to install in the include path

Type: fix
Ticket: VPP-1735

Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
Change-Id: I7063516a60bb211ad91ef04041b2751ca3f6598e

4 years agopapi: Revert vpp-api-python to py2, add py3 pkg 05/21205/7
Ian Wells [Sat, 10 Aug 2019 00:27:19 +0000 (17:27 -0700)]
papi: Revert vpp-api-python to py2, add py3 pkg

A previous commit, ca3d38ae18c21ce37212f0d5d5f4a1702429e70c, converts
the vpp-api-python package from a python2 library to a python3 one.
This changes the behaviour of the package and breaks anything that
uses it as a dependency.

This change reverts the package behaviour to a python2 package, and
additionally adds a *separate* python3 package for correct python3
behaviour.

Type: fix
Fixes: VPP-1738
Signed-Off-By: Ian Wells <iawells@cisco.com>
Change-Id: I54eb45156eb6e00fc4cd5b48e7a0aa17fd2f43f7
Signed-off-by: Dave Barach <dave@barachs.net>
4 years agohttp_static: fix session expiration timer bugs 46/21246/1
Dave Barach [Mon, 12 Aug 2019 18:38:59 +0000 (14:38 -0400)]
http_static: fix session expiration timer bugs

Type: fix
Fixes: 21231

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

4 years agoip: allow addrs from the same prefix on intf 20/21120/6
Matthew Smith [Wed, 7 Aug 2019 16:46:30 +0000 (11:46 -0500)]
ip: allow addrs from the same prefix on intf

Type: feature

Adding a prefix to an interface was not permitted if it overlapped
with another prefix on an interface which used the same FIB.

Loosen the restriction. Allow 2 or more addresses from the same
prefix on a single interface. Reference count the prefix to figure
out when a glean/connected route for the prefix needs to be added
or removed.

Added unit tests to check that the route is only removed when all
addresses in the prefix are removed from the interface.

Change-Id: I1a962ecb5e1ee65fc6d41f98a4cc097a51a55321
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
4 years agotcp: handle fin+rst+syn in closing state 12/21212/2
Florin Coras [Mon, 12 Aug 2019 02:49:05 +0000 (19:49 -0700)]
tcp: handle fin+rst+syn in closing state

Type: fix

Change-Id: I32d4d4a5de04e89087f4ab4a5c425eda572932a8
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agohttp_static: debug spew control, session expiration timers 31/21231/1
Dave Barach [Mon, 12 Aug 2019 12:05:39 +0000 (08:05 -0400)]
http_static: debug spew control, session expiration timers

Type: refactor

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

4 years agohttp_static: tls support 93/21093/5
Dave Barach [Tue, 6 Aug 2019 21:38:13 +0000 (17:38 -0400)]
http_static: tls support

Type: refactor

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

4 years agocrypto: add '-maes' compile switch 91/21191/2
Benoît Ganne [Fri, 9 Aug 2019 12:07:23 +0000 (14:07 +0200)]
crypto: add '-maes' compile switch

AES intrinsics use builtins available only with the -maes and GCC 9 just
started to enforce it.

Type: fix

Change-Id: Ia6825ea3eae7191a4bfee47f9fa93fad16ccf76c
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agoquic: handle session migration notifications 11/21011/9
Aloys Augustin [Thu, 1 Aug 2019 13:22:07 +0000 (15:22 +0200)]
quic: handle session migration notifications

Rely on the migrate callback to move quic connections to follow the
underlying udp connection placement.

Change-Id: Ia1cf3a16187bbe48f5afb3d1f444427f288ff79c
Type: fix
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
4 years agovlib: fix vlib_buffer_copy to preserve buffer flags bit 27/21127/2
John Lo [Wed, 7 Aug 2019 23:30:29 +0000 (19:30 -0400)]
vlib: fix vlib_buffer_copy to preserve buffer flags bit

Make vlib_buffer_copy() preserve buffer flags bit the same way as
that of vlib_buffer_clone() so both are consistent.

Type: fix

Signed-off-by: John Lo <loj@cisco.com>
Change-Id: I6c32aa1e88724b482ce2439d82019e690311b664

4 years agosession: allow closed transports to send 29/21129/9
Florin Coras [Thu, 8 Aug 2019 02:12:38 +0000 (19:12 -0700)]
session: allow closed transports to send

Type:fix

Transports like tcp may notify session layer of a close but they may
defer the connection's deletion (e.g., tcp time-wait). During that time,
transports may still want to send packets. So, unless the session has no
transport (transport-deleted state), allow the transport to send.

Change-Id: I3ae335c7b951ff64be8529a5e3f3ad790feddc84
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agotls: mark as no lookup transport 61/21161/3
Florin Coras [Fri, 9 Aug 2019 00:38:26 +0000 (17:38 -0700)]
tls: mark as no lookup transport

Type:fix

Also fix transport close while handshake is ongoing.

Change-Id: I004c56d2297d0847c2cb77202f8fba3edaacad29
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agotls: handle transport reset 32/21132/6
Florin Coras [Thu, 8 Aug 2019 04:39:27 +0000 (21:39 -0700)]
tls: handle transport reset

Type:fix

Change-Id: I5994fb53dc4b9fd58920b3d67472c38b41db27c2
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agogbp: add remote EP redirect to remote SEP unit test 34/21034/3
Benoît Ganne [Fri, 2 Aug 2019 14:36:35 +0000 (16:36 +0200)]
gbp: add remote EP redirect to remote SEP unit test

Type: test

Change-Id: I4dd685f9acd4d467e0967e6fdd428558ffc8b209
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agogbp: add unknown remote EP redirect unit test 65/20965/3
Benoît Ganne [Wed, 31 Jul 2019 12:15:57 +0000 (14:15 +0200)]
gbp: add unknown remote EP redirect unit test

Type: test

Change-Id: I1dfbeef08a4f112551450682fc4040820251485b
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agostats: create /run/vpp before stat socket bind() 04/20004/9
YohanPipereau [Thu, 6 Jun 2019 14:34:14 +0000 (16:34 +0200)]
stats: create /run/vpp before stat socket bind()

When VPP tries to bind to stats.sock it will complain about non-existing
/run/vpp directory.
/run/vpp is created before cli socket operations are performed.
The same should be done for stat socket.

Ticket: VPP-1708
Type: fix
Change-Id: I53d70939c8125d04a365ac51a6cbf8926dc52adf
Signed-off-by: YohanPipereau <ypiperea@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
4 years agoapi: vppapitrace JSON/API trace converter 32/20932/12
Ole Troan [Tue, 30 Jul 2019 13:38:13 +0000 (15:38 +0200)]
api: vppapitrace JSON/API trace converter

usage: vppapitrace.py [-h] [--debug] [--apidir APIDIR] {convert,replay} ...

optional arguments:
  -h, --help        show this help message and exit
  --debug           enable debug mode
  --apidir APIDIR   Location of JSON API definitions

subcommands:
  valid subcommands

  {convert,replay}  additional help
    convert         Convert API trace to JSON or Python and back
    replay          Replay messages to running VPP instance

To convert an API trace file to JSON:
vppapitrace convert /tmp/api.trace trace.json

To convert an (edited) JSON file back to API trace for replay:
vppapitrace convert trace.json api-edited.trace

To generate a Python file that can be replayed:
vppapitrace convert /tmp/api.trace trace.py
vppapitrace convert trace.json trace.py

Replay it to a running VPP instance:
vppapitrace replay --socket /tmp/api.trace

In VPP that file can be replayed with:
vpp# api trace replay api-edited.trace

This patch also modifies the API binary trace format, to include the
message id to message name table.

Change-Id: Ie6441efb53c1c93c9f778f6ae9c1758bccc8dd87
Type: refactor
Signed-off-by: Ole Troan <ot@cisco.com>
4 years agodocs: Add Ray's ACL use case 28/20928/3
jdenisco [Tue, 30 Jul 2019 12:54:01 +0000 (08:54 -0400)]
docs: Add Ray's ACL use case

Change-Id: Id99f16953a23a4be4cc1fb94419ea8282fa720e8
Signed-off-by: jdenisco <jdenisco@cisco.com>
4 years agoudp: fix rx event generation 95/21095/4
Florin Coras [Wed, 7 Aug 2019 01:28:49 +0000 (18:28 -0700)]
udp: fix rx event generation

When session is owned by another thread, avoid postponing the generation
of the rx event.

Type:fix

Change-Id: Ie6afc8116ce40e83d8aae0432b48e19b31287d8b
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agosvm: fix fifo max writeable chunk computation 57/21157/2
Florin Coras [Thu, 8 Aug 2019 19:57:48 +0000 (12:57 -0700)]
svm: fix fifo max writeable chunk computation

Type:fix

Change-Id: I60fdd7651a3d3fac505e7aec7a41f9d096022895
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agotcp: cleanup timers 41/21041/6
Florin Coras [Fri, 2 Aug 2019 22:17:21 +0000 (15:17 -0700)]
tcp: cleanup timers

Type:refactor

Change-Id: I37dbc8b55827d66c2578d6ab8b86ed7e18198aa6
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agotls: fix close with data 25/21125/7
Florin Coras [Wed, 7 Aug 2019 18:14:56 +0000 (11:14 -0700)]
tls: fix close with data

Type:fix

Also changes the way the ctx is freed. TLS now waits for tcp delete
notification before freeing the ctx.

Change-Id: I2f606a9ce7b3755ae9d11d6fe714fe11b65dcb98
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agotcp: fix zero rwnd sent check 54/21154/2
Florin Coras [Thu, 8 Aug 2019 16:44:47 +0000 (09:44 -0700)]
tcp: fix zero rwnd sent check

Type:fix

Change-Id: I1e6f2cb28c1bf544cc3d060b11c8935f9edb0eed
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agoapi: api socket respect unix runtime directory 00/21100/2
Ole Troan [Wed, 7 Aug 2019 11:41:39 +0000 (13:41 +0200)]
api: api socket respect unix runtime directory

socksvr {} should respect the unix runtime directory.
Default is now /run/vpp/api.sock
The 'default' keyword is deprecated.
The user is responsible for creating directories outside of the
unix runtime directory.

Not yet done: Exit VPP when socket cannot be opened.
              (currently only process exits).

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

4 years agoudp: fix connections move 88/21088/10
Aloys Augustin [Tue, 6 Aug 2019 14:09:01 +0000 (16:09 +0200)]
udp: fix connections move

Without this the use of uc0 is racy between the current thread and the
thread that owns it and will delete it.

This also ensures we don't trigger a read event on the session before
moving it to the right thread and notifying the application.

Type: fix
Change-Id: Icb1ca3ee5805ea3c0d2d424d4b23511465deb3b6
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
4 years agodocs: Add link to 20.01 test framework docs 23/21123/1
Andrew Yourtchenko [Wed, 7 Aug 2019 17:25:08 +0000 (17:25 +0000)]
docs: Add link to 20.01 test framework docs

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