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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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
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
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>
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>
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
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>
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>
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>
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
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
Dave Barach [Thu, 1 Aug 2019 12:15:01 +0000 (08:15 -0400)]
vppinfra: make first bihash add thread-safe
Type: fix
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ie37ff66faba79e3b8f46c7a704137f9ef2acc773
Nathan Skrzypczak [Wed, 31 Jul 2019 13:51:04 +0000 (15:51 +0200)]
quic: Improve quicly_ctx handling & crypto ctx
Type: fix
Change-Id: I898de67c017c3a45bed123d81041b32b43f749d0
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Neale Ranns [Tue, 30 Jul 2019 13:29:47 +0000 (06:29 -0700)]
ethernet: Fix node ordering on ARP feautre ARC
Type: fix
Fixes:
fe2fff37
this improves the tracing for dropped ARP packets
Change-Id: Iefd0391e349fc54f1beebda403b2349534b20c48
Signed-off-by: Neale Ranns <nranns@cisco.com>
Filip Varga [Wed, 31 Jul 2019 12:36:39 +0000 (14:36 +0200)]
nat: handoff rewrite & fixes for multi-worker
Type: fix
Change-Id: Ib9164d8f6c681e8900e645306f3a2dc0ac0e40a8
Signed-off-by: Filip Varga <filipvarga89@gmail.com>
jaszha03 [Wed, 26 Jun 2019 22:06:59 +0000 (17:06 -0500)]
vppinfra: refactor clib_spinlock_t to use compare and swap
Tested performance of a CAS implementation (using __atomic_compare_exchange)
against a TAS implementation (using __atomic_exchange) using test_spinlock.c
and found some performance improvement.
Generated assembly for CAS and TAS implementations show that TAS always
executes with a load-store dependency, but CAS moves a branch condition
between the load and store so that only a load occurs when the lock is free.
Benchmarking:
The results below are the cycle counts from test_spinlock.c, configured so
that for 10000 iterations, 12 threads on separate cores are spawned, each of
which increments a global counter 10000 times in each iteration. For
A72, 8 threads are spawned in each test.
x86 Xeon TAS: 7.333e8, 7.605e8, 7.535e8, 7.485e8, 7.321e8
x86 Xeon CAS: 5.842e8, 5.433e8, 5.389e8, 5.983e8, 5.552e8
Aarch64 ThX2* TAS: 9.852e7, 10.209e7, 9.190e7, 9.600e7, 9.224e7
Aarch64 ThX2* CAS: 7.640e7, 7.486e7, 7.425e7, 7.269e7, 7.534e7
A72 TAS: 7.289e6, 6.963e6, 7.208e6, 6.976e6, 7.200e6
A72 CAS: 1.695e6, 1.608e6, 1.600e6, 1.634e6, 1.746e6
*ThunderX2 used additional gcc options "-march=armv8.1-a+crc+crypto+lse"
Type: refactor
Change-Id: Ic5cd97991804f6b012707fad1a5d1a6edb96cd3d
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>
Florin Coras [Wed, 31 Jul 2019 21:11:05 +0000 (14:11 -0700)]
tcp: honor snd_wnd in fast rxt
Type:fix
Change-Id: I2f4224a53360f533c086ebde6a3056e60431da87
Signed-off-by: Florin Coras <fcoras@cisco.com>
Neale Ranns [Thu, 1 Aug 2019 08:04:24 +0000 (01:04 -0700)]
qos: Uninitialised variable (coverity)
Type: fix
Fixes:
83832e7ced8be8b7de394415feaba70c32e3c38d
Change-Id: I63130c442f71d1aef0d389ab00bac8092224bec2
Signed-off-by: Neale Ranns <nranns@cisco.com>
Vratko Polak [Thu, 1 Aug 2019 08:31:49 +0000 (10:31 +0200)]
vppapigen: revert "implement reversible repr's"
The previous change seems to affect all CRCs.
Type: fix
Fixes:
b504777e7f1c9728e65b874284b4dfd39359c8a8.
Change-Id: I65e27ce22020e5ebc764b5a51b5fc84992ddb40a
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Hongjun Ni [Mon, 10 Jun 2019 11:43:48 +0000 (19:43 +0800)]
lb: vip and as dump/detail api's
- lb_vip_dump/lb_vip_details - get all vip.
- lb_as_dump/lb_as_details - get all as list per vip.
- adds api unit test.
- adds vpp_lb to test framework.
Ticket:
Type: feature
Change-Id: I24be50d62c5234f3535cc840603ddd9df7eb3f07
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
Paul Vinciguerra [Sat, 27 Jul 2019 14:35:07 +0000 (10:35 -0400)]
api: add prefix matcher typedef
There is a need to be able to specifiy whether a prefix in
a request is to match exactly or if more specific
prefixes are also desired.
Todo: Uncomment defaults, once supported in vppapigen.
Type: feature
Change-Id: I74fdef0e89e3aefda822c7c0a477e22479297a90
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Filip Varga [Wed, 31 Jul 2019 10:45:48 +0000 (12:45 +0200)]
nat: elog rewrite for multi-worker support
Type: fix
Change-Id: I04f136a04bc022d223e4bcb5c59920bd1f1fd560
Signed-off-by: Filip Varga <filipvarga89@gmail.com>
Mohsin Kazmi [Wed, 31 Jul 2019 14:01:13 +0000 (16:01 +0200)]
gso: fix the test case
Type: fix
Fixes:
22e9cfd760be613f33a4135e9247729b64619cc6
Change-Id: Idb198642e439dc3d54c04d8bde9d3e8382ebf830
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Steven Luong [Mon, 6 May 2019 15:51:56 +0000 (08:51 -0700)]
devices interface tests: vhosst GSO support
Add gso option in create vhost interface to support gso and checksum
offload.
Tested with the following startup options in qemu:
csum=on,gso=on,guest_csum=on,guest_tso4=on,guest_tso6=on,guest_ufo=on,
host_tso4=on,host_tso6=on,host_ufo=on
Type: feature
Change-Id: I9ba1ee33677a694c4a0dfe66e745b098995902b8
Signed-off-by: Steven Luong <sluong@cisco.com>
Neale Ranns [Wed, 31 Jul 2019 09:48:02 +0000 (02:48 -0700)]
qos: Store function
Type: feature
store: write a QoS value into the buffer meta-data
record: Extract a QoS value from a packet header and store it.
mark: Make a change to the content of a packet header by writing a stored
QoS value
Change-Id: I07d1e87dd1ca90d40ac1ae1774fee1b272cab83f
Signed-off-by: Neale Ranns <nranns@cisco.com>
Paul Vinciguerra [Wed, 31 Jul 2019 03:01:31 +0000 (23:01 -0400)]
vppapigen: implement reversible repr's
Type: feature
Change-Id: I92757f041cde399229c42e34515ace0fcd37908b
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
YohanPipereau [Fri, 19 Jul 2019 15:53:18 +0000 (17:53 +0200)]
build: Append build number for cpack packages
add_vpp_packaging maccro was circumventing scripts/version causing:
1. build number not being appended to the package
2. invalid package name format (due to cmake cpack module)
Change-Id: I2b9a985357a3f3bd501be6db6ca638d4430f4bbb
Type: make
Fixes:
def35a2352c9a54f748d301ffa47a446d25a83e0
Signed-off-by: YohanPipereau <ypiperea@cisco.com>
Andrew Yourtchenko [Mon, 29 Jul 2019 09:27:10 +0000 (09:27 +0000)]
pg: clarify the text of error message
Enabling capture on pg with the file already existing
results in a misleading error message. Fix the text.
Change-Id: I1aea49cfeda3b4bfe6ed7b18fd543948a078508a
Type: fix
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Dave Barach [Wed, 31 Jul 2019 13:05:37 +0000 (09:05 -0400)]
vlib: fix format_error_trace
Error index calculation is error_code + error_node->error_heap_index.
Type: fix
Fixes: gerrit 20802
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I66cf05a29b3cfd9ef9c5468e399290e862b784af
jaszha03 [Mon, 1 Jul 2019 22:20:52 +0000 (17:20 -0500)]
vppinfra: added performance test for clib_rwlock_t (test_rwlock.c)
Spawns a uniform number of writer and reader threads across a number of
cores where each writer thread increments a global variable a specified
number of times, and the reader threads continually poll the global's
value until the writers complete.
Type: test
Change-Id: I979c3734c6d03139d0802bff1846875d226f6fbb
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>
jaszha03 [Thu, 11 Jul 2019 20:47:24 +0000 (20:47 +0000)]
vppinfra: refactor test_and_set spinlocks to use clib_spinlock_t
Spinlock performance improved when implemented with compare_and_exchange
instead of test_and_set. All instances of test_and_set locks were refactored
to use clib_spinlock_t when possible. Some locks e.g. ssvm synchronize
between processes rather than threads, so they cannot directly use
clib_spinlock_t.
Type: refactor
Change-Id: Ia16b5d4cd49209b2b57b8df6c94615c28b11bb60
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>
jaszha03 [Wed, 19 Jun 2019 19:07:05 +0000 (14:07 -0500)]
vppinfra: added lock performance test for clib_spinlock_t (test_spinlock.c)
Spawns a uniform number of threads across a number of cores where each
thread increments a global variable a specified number of times.
Type: test
Change-Id: I12b3a37708a199c297d022348d99dbb0e8349a9f
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>
Florin Coras [Tue, 30 Jul 2019 21:08:23 +0000 (14:08 -0700)]
vcl: fix epoll chain validation
Type:fix
Change-Id: I91dfe7e0ae2e632022fbf639ca16c93f570849de
Signed-off-by: Florin Coras <fcoras@cisco.com>
Paul Vinciguerra [Tue, 23 Jul 2019 13:53:06 +0000 (09:53 -0400)]
api papi: add alias for timestamp(datetime)/timedelta
Now that we have support for f64:
- create explicit types for timestamp(datetime)/timedelta
- update log_details to use timestamp and remove redundant string representation.
If you need the string representation, in python do str(timestamp).
If you prefer the raw f64 value, the client can pass in the
_no_type_conversion option.
Type: feature
Change-Id: I547b5fa7122d2afa12628b7db0192c23babbbae8
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Paul Vinciguerra [Tue, 30 Jul 2019 22:24:41 +0000 (18:24 -0400)]
vppapigen: add endian_string for f64
Type: fix
Change-Id: I35838baea21ead4a3f45d998ff225a513781d7ee
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Andrew Yourtchenko [Thu, 25 Jul 2019 10:03:51 +0000 (10:03 +0000)]
tests: disable pg capture before enabling it
In a lot of places within the unit tests pg_start() starts
the capture with an already existing capture running
for the same test.
If the pcap file already exists, then it is renamed and there
is no problem.
However, there is a potential for race if the previous
pg_start() has enabled the capture, but the check for
renaming it happened just slightly earlier than the first
packet has arrived.
Then a second call to pg_start() will hit a check that
a file exists, and will cause an error. This is especially
visible when running the tests in parallel due to increased
load.
Solution: disable the capture before enabling it.
This will flush the aready running capture and eliminate the race.
The additional delay that flushing of the pcap creates has exposed
several other race conditions:
NAT tests: Some of the NAT reassembly tests
verify that the entries were added to the reassembly data structures,
but do so by comparing the quantities of entries. With the default
timeout being 2s, some of the entries might timeout,
resulting in a bogus test failure.
Solution: Bump the timeout to 20s for the affected tests.
Punt tests: nr_packets == 3 makes test intermittently fail,
nr_packets > 3 make it reliably fail, and nr_packets = 2 works
Solution: set nr_packets == 2 for the time being
IGMP tests: the leave-group calls get a spurious packet
from the time the new groups were configured
Solution: add 1 second delay before starting to delete the groups
Type: test
Change-Id: I931182a7b2860cf670e030ee7da8038f6e87356d
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Neale Ranns [Wed, 31 Jul 2019 07:13:18 +0000 (00:13 -0700)]
tests: Split IPSec ESP into parameterized tests per engine
Type: feature
Change-Id: Icb1bd3fce768aebf8919c63a104f771ca7fa1d6f
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Mon, 29 Jul 2019 14:49:52 +0000 (14:49 +0000)]
ip: Ensure reassembly runs before IPSec decrypt.
Type: fix
Change-Id: I01eeedf8d5015b07b9422c65afe78bfe8177c22c
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Mon, 29 Jul 2019 12:45:27 +0000 (12:45 +0000)]
fib: Add some path-list flags to its key
Type: fix
Ticket: 1729
The flags that are permanently set on a path-list should form part of
its key in the path-list DB. Otherwise, if shared, they will not behave
as expected.
Change-Id: I0aa7c7c5d270c97b08014e4a47ddbdcee2358706
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Mon, 29 Jul 2019 12:59:45 +0000 (12:59 +0000)]
fib: fix calls to unformat_fib_path
Type: fix
Ticket: 1728
Change-Id: I679c2b8c5b0f751c9476db3669ab3f6c26dcdd28
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Wed, 31 Jul 2019 08:04:43 +0000 (01:04 -0700)]
ipsec: Typo in flag name
Type: fix
Change-Id: I0c9353598d3c9b7ea587ea8a2b6e1faa5454843d
Signed-off-by: Neale Ranns <nranns@cisco.com>
Nathan Skrzypczak [Tue, 30 Jul 2019 14:14:34 +0000 (16:14 +0200)]
quic: fix cert loading
Type: fix
Change-Id: I29d24c8ec7b8e0613d4fbf5eedc72384326dc284
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Aloys Augustin [Thu, 25 Jul 2019 15:08:32 +0000 (17:08 +0200)]
quic: cleanup and refactorisation
Change-Id: I031a60ac010b55110f32f0a08e19b1156aeda268
Type: refactor
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
jaszha03 [Wed, 12 Jun 2019 21:01:19 +0000 (16:01 -0500)]
vppinfra: refactor use of CLIB_MEMORY_BARRIER ()
All instances of test_and_set locks used the following sequence
to release the locks:
CLIB_MEMORY_BARRIER ();
p->lock = 0; // p is a generic struct with a TAS lock
Use clib_atomic_release to generate more efficient assembly code.
Type: refactor
Change-Id: Idca3a38b1cf43578108bdd1afe83b6ebc17a4c68
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>
Neale Ranns [Tue, 30 Jul 2019 14:14:25 +0000 (07:14 -0700)]
vlib: Fix packet tracing
Type: fix
Fixes:
99536f4
Change-Id: Ica230ec9fa7f6fd36e2754e8b0b9db555460ca55
Signed-off-by: Neale Ranns <nranns@cisco.com>
Mohsin Kazmi [Mon, 29 Jul 2019 11:21:17 +0000 (13:21 +0200)]
tap: fix segv when host-if-name is not given
Type: fix
Fixes:
c30d87e6139c64eceade54972715b402c625763d
Change-Id: I86b606b18ff6a30709b7aff089fd5dd00103bd7f
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
jaszha03 [Wed, 12 Jun 2019 21:01:19 +0000 (16:01 -0500)]
vppinfra: conformed spinlocks to use CLIB_PAUSE
Modified test-and-set spin locks to call CLIB_PAUSE () when spinning
for code consistency. Decreases the memory bandwidth consumed.
Type: fix
Change-Id: I1cca4f87f44f23f257c7a35466cd2e7767072f51
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>
Dave Barach [Fri, 26 Jul 2019 15:58:16 +0000 (11:58 -0400)]
misc: add vnet/pipeline.h example
To the sample plugin. We should probably suggest that folks use the
pipeline.h coding model more often. It's really easy, and these days
the performance results are similar to quad-single loop coding.
Type: refactor
Change-Id: Ie2caa087972737e6d9c31c4ac79355f3d8ced282
Signed-off-by: Dave Barach <dave@barachs.net>
Florin Coras [Thu, 25 Jul 2019 21:51:09 +0000 (14:51 -0700)]
session: fix vpp to app msg generation
Type:fix
Freeing mq messages in vpp (producer), if enqueueing fails, invalidates
consumer assumption that messages can be freed without a lock.
Change-Id: I748a33b8846597bdad865945d8e899346d482434
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Tal Saiag <tal.saiag@gmail.com>
Florin Coras [Sun, 28 Jul 2019 17:25:40 +0000 (10:25 -0700)]
vcl: fix config parsing of hex values
Type:fix
Change-Id: I31f35dd86fb6efb04d4a449f7fc834296baaa043
Signed-off-by: Tal Saiag <tal.saiag@gmail.com>
Signed-off-by: Florin Coras <fcoras@cisco.com>
Paul Vinciguerra [Tue, 23 Jul 2019 15:56:30 +0000 (11:56 -0400)]
api acl: breakout acl_types.api for reuse by others
Type: refactor
Change-Id: I40518ccddcb78e58f7e6a098c27d9ec53e5a1146
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Benoît Ganne [Wed, 17 Jul 2019 12:47:23 +0000 (14:47 +0200)]
fib: add invalid source type and fix debug log
Add the FIB_SOURCE_INVALID fib source type. This allows to spot
uninitialized fib source more easily (0 no longer means special) and we
can use it as placeholder when no source is present.
Use it to fix FIB_ENTRY_DBG() which was accessing the 1st source, even
when no sources were present.
Type: fix
Fixes:
710071bf0e
Change-Id: I980b6a6a07616d4a8d6f2db166a1dd335721c74d
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Paul Vinciguerra [Mon, 8 Jul 2019 12:51:15 +0000 (08:51 -0400)]
api: add vl_api_version_t type
Type: feature
Depends-on: https://gerrit.fd.io/r/20484
Change-Id: Ifc8d7e00d7254db40856a088fdd352d9773f71d5
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Paul Vinciguerra [Tue, 9 Jul 2019 20:49:46 +0000 (16:49 -0400)]
build: add option to wipe/rebuild papi
Previously, the only option was to wipe/rebuild all the test dependencies.
Type: make
Change-Id: Ia95d6e800f67bef033dcf614dbfa249c3e43159d
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Mohsin Kazmi [Tue, 23 Jul 2019 09:54:48 +0000 (11:54 +0200)]
pg: add GSO support
Type: feature
Change-Id: I72676495a85fbecc946aa266a75234cce70c3a5e
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Ahmed Abdelsalam [Thu, 20 Jun 2019 11:18:57 +0000 (11:18 +0000)]
sr: ipv6 segment routing header (srh) update
SRH has passed WG review in IETF and currently an IESG document.
This patch updates the SRH definition to be compliant with IETF.
- Change "first_segment" to "last_entry"
- Change "reserved" to "tag"
Change-Id: I1765c968671655c5646f6de478d1f7196abbc040
Type: fix
Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com>
Ahmed Abdelsalam [Thu, 25 Jul 2019 18:45:55 +0000 (13:45 -0500)]
sr: fix srv6 end.t behavior
Update the sr_localsid code to set the DPO for SRv6 End.T behavior.
Change-Id: I17e102a419eb2b4fdd1de7a672b109e4ff7e1dc2
Type: fix
Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com>
Florin Coras [Fri, 26 Jul 2019 21:46:12 +0000 (14:46 -0700)]
session: define connection id length
Type:feature
To be used by transports overwriting the connection id.
Change-Id: Ia5dbd9dccc2e3eb62e602514b24882ddc12ff1f2
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Mon, 22 Jul 2019 02:23:46 +0000 (19:23 -0700)]
session: separate ctrl, new and old events
Type: feature
Change-Id: I5e030b23943c012d8191ff657165055d33ec87a2
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Fri, 26 Jul 2019 17:18:51 +0000 (10:18 -0700)]
tcp: count resets sent
Type:feature
Change-Id: Ie1ab4b24af9c654d5e0ed94b7fa96ca195b01c56
Signed-off-by: Florin Coras <fcoras@cisco.com>