vpp.git
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>
4 years agoInitial 20.01-rc0 commit 22/21122/2 v20.01-rc0
Andrew Yourtchenko [Wed, 7 Aug 2019 17:12:27 +0000 (17:12 +0000)]
Initial 20.01-rc0 commit

Change-Id: Iee2e28647b966ba8ed9e4fe0e809639fbe8a5756
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
4 years agordma: add missing symbols 89/21089/3
Benoît Ganne [Tue, 6 Aug 2019 16:14:12 +0000 (18:14 +0200)]
rdma: add missing symbols

rdma-core-25.0 move some symbol to another library, make sure we link
to it.

Type: fix
Fixes: ec757593859bd8c16839ea8a81a2ef4eb8b29539

Change-Id: I6b8a56ea5fc7787d3de0982015ed47b767557c06
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agointerface: fix checksum flags 92/21092/2
Florin Coras [Tue, 6 Aug 2019 20:48:50 +0000 (13:48 -0700)]
interface: fix checksum flags

Type:fix
Fixes:4208a4c

Change-Id: I7077788cd14f539b06ead5dc65d8411940438bae
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
4 years agogbp: add l3out redirect to remote SEP unit test 69/20969/5
Benoît Ganne [Wed, 31 Jul 2019 12:29:00 +0000 (14:29 +0200)]
gbp: add l3out redirect to remote SEP unit test

Type: test

Change-Id: I0fafaebbb1f70488e0bc7d21da778d55fe15c3f5
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agovom: export/install cmake files 31/20931/2
Neale Ranns [Tue, 30 Jul 2019 13:20:39 +0000 (06:20 -0700)]
vom: export/install cmake files

Type: feature

allow other projects to use cmake modules to find VOM

Change-Id: I00e01e9bec3ecf79903cd522d2770bdb70e5399b
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agotests: UT for MPLS 6PE 46/21046/2
Neale Ranns [Sun, 4 Aug 2019 10:30:56 +0000 (03:30 -0700)]
tests: UT for MPLS 6PE

Type: test

Change-Id: I48650473591aa181167cf3a86ed2f5da58a81072
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agofib tests: IP multicast over GRE 45/21045/3
Neale Ranns [Sun, 4 Aug 2019 09:41:57 +0000 (02:41 -0700)]
fib tests: IP multicast over GRE

Type: feature

Change-Id: I1632ff23b1bf6d91aa3406c95ebd6ef0aa595f35
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agogbp: update gbp endpoint cli 82/21082/2
Benoît Ganne [Tue, 6 Aug 2019 11:56:18 +0000 (13:56 +0200)]
gbp: update gbp endpoint cli

Type: feature

Change-Id: I0afc6eb4765029dc28859c9ac2b0578749a38d3d
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agoudp: fix session migrate when not needed 58/21058/6
Nathan Skrzypczak [Mon, 5 Aug 2019 12:20:54 +0000 (14:20 +0200)]
udp: fix session migrate when not needed

Type: fix

Change-Id: I56f5f5e7e6430552f0346a65b1e5707edc28c1c0
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 years agoquic: Add missing session_migrate_callback 63/21063/3
Nathan Skrzypczak [Mon, 5 Aug 2019 15:23:07 +0000 (17:23 +0200)]
quic: Add missing session_migrate_callback

Change-Id: Ibbec53e07852f1b8987696fddbc3bf83f75705ce
Type: fix
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 years agordma: fix double-free in rdma-tx 62/21062/2
Benoît Ganne [Mon, 5 Aug 2019 15:07:20 +0000 (17:07 +0200)]
rdma: fix double-free in rdma-tx

In case of tx success after multiple retries, the last buffers to be
enqueued will be both enqueued for tx and freed.

Type: fix
Fixes: 211ef2eb24

Change-Id: I57d218cff58b74c1f3d6dc5722624327f0821758
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agodpdk: remove SFP eeprom dump from 'show hardware-interfaces' and 'show hardware-inter... 71/21071/2
Lijian.Zhang [Fri, 2 Aug 2019 02:42:48 +0000 (10:42 +0800)]
dpdk: remove SFP eeprom dump from 'show hardware-interfaces' and 'show hardware-interfaces verbose'

Type: fix

It's time-consuming to execute 'show hardware-interfaces detail' in CSIT script.
'show hardware-interfaces' dumps SFP eeprom, via a software emulated I2C bus.
Currently 'show hardware-interfaces', 'show hardware-interfaces verbose' and
'show hardware-interfaces detail' give exactly the same output,
and they all will dump SFP eeprom.
Will move the SFP eeprom dump to 'show hardware-interfaces detail' only,
and use “show hardware-interfaces verbose” in CSIT script to save time.

Change-Id: I1a6e5a0ca5fce5b4f0b9a6eb4e9dfd76d45b2487
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
4 years agoethernet: change to mark the CFI bit in the L2 header. 85/20985/9
Prashant Maheshwari [Wed, 31 Jul 2019 16:07:33 +0000 (21:37 +0530)]
ethernet: change to mark the CFI bit in the L2 header.

Type: fix
Fixes: 039cbfe2

Signed-off-by: Prashant Maheshwari <pmahesh2@cisco.com>
Change-Id: Idca91c73758824688dd6ce61df994be66753d838

4 years agordma: bump rdma-core to 25.0 67/21067/3
Benoît Ganne [Mon, 5 Aug 2019 15:52:25 +0000 (17:52 +0200)]
rdma: bump rdma-core to 25.0

Type: make

Change-Id: Ie7596e2976917657b089162c44b3b669e3a2d048
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agosvm: fix fifo growth on dequeue with drop 68/21068/3
Florin Coras [Mon, 5 Aug 2019 16:39:47 +0000 (09:39 -0700)]
svm: fix fifo growth on dequeue with drop

Type:fix

Change-Id: I39c339abf1b51105ef1bcf3d6f0f4f6ded54f32d
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agosession: cache align transport base class 39/21039/5
Florin Coras [Fri, 2 Aug 2019 19:52:00 +0000 (12:52 -0700)]
session: cache align transport base class

Type:refactor

Also remove tx stats. Expectation is that transports will keep track of
them.

Change-Id: I083b328d87d0ad3688b630ddb5ef97827a4dbc2b
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agovcl: fix bapi disconnect with socket transport 44/21044/3
Florin Coras [Sun, 4 Aug 2019 01:53:48 +0000 (18:53 -0700)]
vcl: fix bapi disconnect with socket transport

Type:fix

Change-Id: I7b69c28118f3d7054a20ca48792dfc403a8e2694
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agodocs: Add more quic plugin documentation 98/20898/3
Nathan Skrzypczak [Mon, 29 Jul 2019 11:51:31 +0000 (13:51 +0200)]
docs: Add more quic plugin documentation

Type: docs

Change-Id: I0209769f73a46ddad7c2625ad0f774ee2eef43dd
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 years agoquic: fix memset 0 picotls depends on 57/21057/3
Nathan Skrzypczak [Mon, 5 Aug 2019 12:07:15 +0000 (14:07 +0200)]
quic: fix memset 0 picotls depends on

Type: fix

Change-Id: Id03cc839662179f8543b0b3f540932e1d87f1cea
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 years agovxlan: fix VXLANoIP6 checksum offload setup 43/21043/2
John Lo [Sat, 3 Aug 2019 22:25:49 +0000 (18:25 -0400)]
vxlan: fix VXLANoIP6 checksum offload setup

Fix UDP over IP6 checksum offload setup for VXLAN and VXLAN-GBP.

Type: fix

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

4 years agoip: fix ip6/udp checksum for pkts using buffer chaining 42/21042/1
John Lo [Sat, 3 Aug 2019 18:36:39 +0000 (14:36 -0400)]
ip: fix ip6/udp checksum for pkts using buffer chaining

Fix ip6_tcp_udp_icmp_compute_checksum to work properly for packets
with multiple buffers.
Fix ip4_tcp_udp_compute_checksum to exit upon detecting error.

Type: fix

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

4 years agoquic: Improve quic echo connect threading 75/20775/12
Nathan Skrzypczak [Mon, 22 Jul 2019 14:30:40 +0000 (16:30 +0200)]
quic: Improve quic echo connect threading

Type: fix

Change-Id: I64f90139ad70e722f1ecbc4e0c6c1e723ec0f054
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 years agovlib: fix out of memory issue 63/20563/6
Filip Tehlar [Tue, 9 Jul 2019 13:52:26 +0000 (13:52 +0000)]
vlib: fix out of memory issue

'show node foo' causes infinite loop resulting in out of memory.
This patch fixes the issue by breaking the loop on invalid input.

Ticket: VPP-1538
Type: fix
Fixes: 98afc711c5
Change-Id: Icf2be92e277a7f820d4e08bea9ef22ffbbb116f6
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
4 years agodevices: add null check after map_guest_mem calls 91/20991/3
Steven Luong [Wed, 31 Jul 2019 23:01:14 +0000 (16:01 -0700)]
devices: add null check after map_guest_mem calls

map_guest_mem may return null. Coverity complains about calls
without checking its return. Simple stuff.

Type: fix

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

4 years agovcl: initialize worker thread index and heap map slot 38/21038/2
Florin Coras [Fri, 2 Aug 2019 17:53:01 +0000 (10:53 -0700)]
vcl: initialize worker thread index and heap map slot

Type: fix

Change-Id: I7e762b43a2a074dc81cb7b0f6446e315e63ecae5
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agovppinfra: Expose function setting __os_thread_index 29/21029/3
Nathan Skrzypczak [Thu, 1 Aug 2019 16:14:06 +0000 (18:14 +0200)]
vppinfra: Expose function setting __os_thread_index

Type: feature

This is needed when creating pthreads in client applications,
they need a way to set __os_thread_index per thread
that does not conflict with the binary API thread index.

If __os_thread_index is left to 0 in two client pthreads and
they call vl_msg_api_alloc and vec_resize at the same time
it can fail due to them sharing (and push/poping) the same
clib_per_cpu_mheaps slot.

Change-Id: I85d4248a39b641a4d3ad5a1c1bd6e0db5875fab6
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 years agotcp: add more connection stats 05/20905/13
Florin Coras [Tue, 30 Jul 2019 01:13:25 +0000 (18:13 -0700)]
tcp: add more connection stats

Type:feature

Change-Id: If02884d0f1f26bfe31ec609ea9611cb27b699868
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agoethernet: fix ARP feature arc definition 19/21019/3
Dave Barach [Thu, 1 Aug 2019 20:08:13 +0000 (16:08 -0400)]
ethernet: fix ARP feature arc definition

This patch gets rid of an ugly warning during vpp startup:

"vnet_feature_init:143: WARNING: arp arc: last node is arp-disabled,
but expected error-drop!"

Type: fix
Fixes: 1ff56f00ca015e82ef29955986e503913d1c3b86

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

4 years agovmxnet3: don't bypass ethernet_input 21/21021/2
Steven Luong [Fri, 2 Aug 2019 02:04:40 +0000 (19:04 -0700)]
vmxnet3: don't bypass ethernet_input

Queue everything to ethernet_input to not break pcap rx trace.
Fix a minor typo in vmxnet3_api.c

Type: fix

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

4 years agolb: fix usage of lb_main in test 16/21016/3
Florin Coras [Thu, 1 Aug 2019 18:39:34 +0000 (11:39 -0700)]
lb: fix usage of lb_main in test

Type: fix

Change-Id: I9f8a8da31624637c060a9757256589c8f372f192
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agoipsec: FIx feature ordering 28/21028/2
Neale Ranns [Fri, 2 Aug 2019 08:17:13 +0000 (01:17 -0700)]
ipsec: FIx feature ordering

Type: fix
Fixes: 1404698df397bc4d3007daea41f52ad75ed4486c

Change-Id: Ibb77d95bb5e862cf5d1cb65843c526fd2e225c62
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agovirtio: add the display information in virtio cli 15/20715/5
Chenmin Sun [Thu, 18 Jul 2019 15:19:28 +0000 (23:19 +0800)]
virtio: add the display information in virtio cli

Type: fix

1. Add option '[gso-enabled]' in cli 'create interface virtio'
2. Add gso information in virtio_show()

Change-Id: I4eb58f4421325ef54a6a68c8341b3a6d3d68136a
Signed-off-by: Chenmin Sun <chenmin.sun@intel.com>
4 years agoquic: fix connection move with multiple workers 10/21010/2
Aloys Augustin [Tue, 30 Jul 2019 13:46:56 +0000 (15:46 +0200)]
quic: fix connection move with multiple workers

Change-Id: Ibd1012c2c1382de442ed294dd9e8a0ec89349fa1
Type: fix
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
4 years agointerface: fix pcap tx/rx trace cli handling 18/21018/2
John Lo [Thu, 1 Aug 2019 19:15:36 +0000 (15:15 -0400)]
interface: fix pcap tx/rx trace cli handling

Provide default packet_to_capture value. Display interface name
correctly for "pcap tx/rx trace status".

Type: fix

Signed-off-by: John Lo <loj@cisco.com>
Change-Id: I7064d0dbea236a9aff68bba7fbaf2c4a73b16c6f
Signed-off-by: John Lo <loj@cisco.com>
4 years agosession: session pool migration notification 92/20992/3
Florin Coras [Wed, 31 Jul 2019 23:46:24 +0000 (16:46 -0700)]
session: session pool migration notification

Type: feature

Change-Id: Ia9a5b1a6d85c7f3f2e6db583b33b5b20029a1e88
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agovppinfra: fix spinlock and rwlock tests 15/21015/2
Florin Coras [Thu, 1 Aug 2019 17:54:06 +0000 (10:54 -0700)]
vppinfra: fix spinlock and rwlock tests

Type: fix

Change-Id: I67b72b5ad03b972198c27bc0d927867f41b0e20b
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agoipsec: Redo the anit-replay check post decrypt 09/21009/2
Neale Ranns [Thu, 1 Aug 2019 11:45:15 +0000 (04:45 -0700)]
ipsec: Redo the anit-replay check post decrypt

Type: fix

Change-Id: I1fa8c5326d6f22cfb8dd40e97d8a22d11a716922
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agodocs: Small fixes and ordering 93/20893/4
Nathan Skrzypczak [Mon, 29 Jul 2019 09:18:05 +0000 (11:18 +0200)]
docs: Small fixes and ordering

* deactivtates the TODOs on doxygen (were empty)
* This move punt.md to readthedocs (should be the new
place for dev doc ?)
* Makes Handoff queue demo plugin a child of dev doc
in doxygen

Type: fix

Change-Id: I1f0476a911b35208212af8dd608bc76160efd22a
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 years agovppinfra: refactor clib_rwlock_t to use single condition variable 63/20863/4
jaszha03 [Mon, 1 Jul 2019 22:08:57 +0000 (17:08 -0500)]
vppinfra: refactor clib_rwlock_t to use single condition variable

Previous implementation of clib_rwlock_t used two spinlocks: one
writer lock, and one to guard the counter for the number of readers.
This implementation uses a single condition variable rw_cnt which
has the following properties:

if a writer has the rwlock, rw_cnt = -1
if the rwlock is free, rw_cnt = 0
otherwise, rw_cnt > 0 and rw_cnt = number of readers
rw_cnt will never be less than -1

Benchmarking:
The results below are the cycle counts from test_rwlock.c, configured so
that for 10000 iterations, 6 reader and 6 writer threads on separate cores
are spawned such that each writer thread increments a global counter
10000 times in each iteration. For Taishan, 4 reader and 4 writer
threads are spawned in each test.

x86 Xeon old rwlock: 12.473e8, 11.655e8, 13.201e8, 11.347e8, 13.182e8
x86 Xeon new rwlock: 5.881e8, 5.796e8, 6.536e8, 5.540e8, 5.890e8
Aarch64 ThX2* old rwlock: 9.263e7, 8.933e7, 9.074e7, 8.979e7, 9.378e7
Aarch64 ThX2* new rwlock: 7.221e7, 8.107e7, 7.515e7, 7.672e7, 7.386e7
A72 old rwlock: 3.268e6, 3.200e6, 3.086e6, 3.176e6, 3.170e6
A72 new rwlock: 1.261e6, 1.288e6, 1.251e6, 1.229e6, 1.234e6

*ThunderX2 used additional gcc options "-march=armv8.1-a+crc+crypto+lse"

Type: refactor

Change-Id: I7c347d3037b36205ab532cbcb52a374c846eb275
Signed-off-by: Jason Zhang <jason.zhang2@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Lijian Zhang <Lijian.Zhang@arm.com>
4 years agovppinfra: remove unused historical code 12/21012/3
Dave Barach [Thu, 1 Aug 2019 13:54:05 +0000 (09:54 -0400)]
vppinfra: remove unused historical code

"timer.[ch]" used a signal handler to deliver timer callbacks. Without
indulging in a set of sigprocmask(...) system calls, it would be
unsafe to use the mechanism.

Rather than wait for another developer to accidentally open this
particular can of worms, best to remove the code. It's nothing more
than an attractive nuisance at this point.

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