Vratko Polak [Fri, 20 Sep 2019 16:23:58 +0000 (18:23 +0200)]
lb: vl_api_lb_conf_t_handler has to ntohl
As requested in review, this is a minimal edit.
Refactor comes as a separate Change.
Type: fix
Change-Id: Ie3bdfc3cfde4bfee56848217133ca5f6bbccaeef
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Jakub Grajciar [Wed, 25 Sep 2019 08:07:28 +0000 (10:07 +0200)]
devices: pipe API cleanup
Use consistent API types.
Type: fix
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ifd62207048d125bec18b3a728590ac540dcafe5e
Klement Sekera [Wed, 6 Mar 2019 10:59:57 +0000 (11:59 +0100)]
ip: respect buffer boundary when searching for ipv6 headers
Type: fix
Change-Id: I5a5461652f8115fa1270e20f748178fb5f5450f2
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Aloys Augustin [Tue, 24 Sep 2019 16:57:50 +0000 (18:57 +0200)]
udp: do not send received packets to error-drop
This tends to pollute the error counter.
Type: fix
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Change-Id: Idb628e767b074a5ee7e00d001bc88c378d7b8d0b
Florin Coras [Wed, 25 Sep 2019 14:28:34 +0000 (07:28 -0700)]
session: validate connection in session lookup del
Type: fix
Change-Id: I4e2617f99064c5a96e4debae8b68716ca129ee73
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Fri, 13 Sep 2019 01:36:44 +0000 (18:36 -0700)]
tcp: use sacks for timer based recovery
Type: feature
If available, reuse sack scoreboard in timer triggered retransmit to
minimize spurious retransmits.
Additional changes/refactoring:
- limited transmit updates
- add sacked rxt count to scoreboard
- prr pacing of fast retransmits
- startup pacing updates
- changed loss window to flight + mss
Change-Id: I057de6a9d6401698bd1031d5cf5cfbb62f2bdf61
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Tue, 24 Sep 2019 19:45:14 +0000 (12:45 -0700)]
session: fix cleanup in closing states
Type: fix
Change-Id: Iccc283bb98d3bb459a711ec2b74d6a32ad12903b
Signed-off-by: Florin Coras <fcoras@cisco.com>
Ole Troan [Wed, 18 Sep 2019 23:08:30 +0000 (01:08 +0200)]
api: split api generated files
Split generation of API message enum and the typedefs into
separate files, so that the type file can be included from
elsewhere.
Generate a C file for VPP that contains the API registration,
this was previously done via X macros by the C pre-
processor.
This allows deleting lots of skeleton/copy paste code
for each feature.
plugins/flowprobe
plugins/map
examples/sample-plugin
vnet/ipip
used as Guinea pigs.
Generate a C Test file for VAT, that does the same for VAT plugins.
Also add support for a per-message CLI option, that is currently
limited to VAT help text. option vat_help = "<help text>";
Type: refactor
Change-Id: I245e3104bb76f7e1fb69a59ab20cc7c8dfcdd460
Signed-off-by: Ole Troan <ot@cisco.com>
Lijian.Zhang [Mon, 16 Sep 2019 08:22:36 +0000 (16:22 +0800)]
fib: fix some typos in fib/mtrie
Type: fix
Change-Id: I1af0e4a9bc23a3b6b6d3a74df093801ab6cae1f8
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Klement Sekera [Mon, 24 Jun 2019 11:52:49 +0000 (11:52 +0000)]
ip: refactor reassembly
this is a preparation step for introducing other reassembly types
Type: refactor
Change-Id: I197e299dbd729b00eead31667913b8ceff915d63
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Klement Sekera [Thu, 12 Sep 2019 09:01:06 +0000 (09:01 +0000)]
papi: truncate long logger messages
Dumping whole cli_inband output causes huge unformatted messages written
to logger, so truncate these to avoid that.
Type: fix
Change-Id: I59565a98e3595cbfe4971cc346e104cb198d8f24
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Damjan Marion [Tue, 24 Sep 2019 16:10:49 +0000 (18:10 +0200)]
vlib: add flag to explicitelly mark nodes which can init per-node packet trace
Type: feature
Change-Id: I913f08383ee1c24d610c3d2aac07cef402570e2c
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Tue, 24 Sep 2019 15:45:49 +0000 (17:45 +0200)]
build: pass 'no-pci' to autgenerated config
Avoid aggresive hiijack of pci interfaces when 'make run' and
'make run-release' are used and there is no startup.conf present.
Type: feature
Change-Id: Id653b5f9ac3d2935a40299885e616960e75d4a95
Signed-off-by: Damjan Marion <damarion@cisco.com>
Florin Coras [Tue, 24 Sep 2019 14:18:51 +0000 (07:18 -0700)]
session: avoid transport cleanup if previously deleted
Type: fix
Change-Id: I485d38c7d9473e2ad1cbd8e17a788ec8d29ab001
Signed-off-by: Florin Coras <fcoras@cisco.com>
Dave Barach [Mon, 23 Sep 2019 20:03:49 +0000 (16:03 -0400)]
misc: improve pcap drop trace output
Append <nodename>: <error-string> to pcap drop traces.
The data displays perfectly fine in [vanilla] wireshark, and makes it
100% obvious which node dropped the packet, and why.
Type: feature
Ticket: VPP-1776
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I9b964b99da4011b93723354db6ef0b128fca20cb
Dave Wallace [Sat, 21 Sep 2019 03:53:22 +0000 (03:53 +0000)]
tests: fix test-checkstyle to check plugin tests
Type: fix
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I93eb0ae4338247fa2479f8e419483d1593436dc7
Dave Barach [Mon, 23 Sep 2019 14:27:27 +0000 (10:27 -0400)]
misc: unify pcap rx / tx / drop trace
Use a single vnet_pcap_t in vlib_global_main, specifically to support
unified tracing
Update sphinx docs, doxygen tags
Type: refactor
Ticket: VPP-1776
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Id15d41a596712968c0714cef1bd2cd5bc9cbdd55
Benoît Ganne [Fri, 6 Sep 2019 11:43:16 +0000 (13:43 +0200)]
gbp: fix contract rule handling
Fix a memory leak when removing old GBP contract rules and make sure a
GBP contract rule exists when matching the corresponding ACL rule.
Type: fix
Fixes:
13a08cc098
Change-Id: Iba67d573e69280ad998488a7a3d3462341c68ea4
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Florin Coras [Mon, 23 Sep 2019 02:05:50 +0000 (19:05 -0700)]
tcp: fix unformat cwnd multiplier
Type: fix
Change-Id: Ife4e650cb8b16f84ca6f77ba7b1d17a0f452fc3f
Signed-off-by: Florin Coras <fcoras@cisco.com>
MathiasRaoul [Mon, 23 Sep 2019 11:48:49 +0000 (11:48 +0000)]
hsa: fix typo in vpp_echo for tx-buf
fix typo and allow use of Gb, Mb or Kb for tx/rx-buf sizes
Type: fix
Change-Id: I2cfd4c09d6b14dd5c744d942eea09ca9ddcc0f46
Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
Dmitry Vakhrushev [Tue, 20 Aug 2019 18:44:51 +0000 (14:44 -0400)]
nat: fix update of outside fibs (output-feature)
NAT hasn't worked when NAT interfaces wasn't in
default VRF (fib_index = 0). This issue has been occurred with
interfaces with output-feature in endpoint-dependent mode.
Update VAT commands:
- update nat44_add_del_address_range
- add nat44_interface_add_del_output_feature
Ticket: VPP-1732
Type: fix
Change-Id: Iddea15dde4b948f159a0056d48c55bd917037fd1
Signed-off-by: Dmitry Vakhrushev <dmitry@netgate.com>
Andrew Yourtchenko [Wed, 11 Sep 2019 14:14:43 +0000 (14:14 +0000)]
interface: use the correct condition for checking if the pcap fd is open
The
9af7e2e87e used a comparison that fd is >= 0 to check that
the pcap needs closing. While the pcap_close() function does
reset the file descriptor to -1, the freshly initialized structure
has it equal to 0.
This causes the VPP to close stdin if the packets are being seen
on pg interface without the capture file being opened.
This triggers the vpp attempting to read from STDIN
(another bug), which results in running out of memory.
Change-Id: I11d61422701500a9b3e0dd52d59383f297d57f54
Type: fix
Fixes:
9af7e2e87e
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
juraj.linkes [Thu, 8 Aug 2019 13:59:10 +0000 (15:59 +0200)]
ebuild: Add MAKE_PARALLEL_FLAGS to VPP build
Align with other packages.
Type: make
Change-Id: I3c8f5c6a349ce9d4e05f546945ae2d8dcf3b1b61
Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
Jakub Grajciar [Mon, 23 Sep 2019 08:42:19 +0000 (10:42 +0200)]
api: add missing format_vl_api_ip[46]_address_with_prefix_t
Type: fix
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Iad7067962b1dd8d3a1335f07e89a62f901e82dff
Benoît Ganne [Thu, 18 Jul 2019 15:34:28 +0000 (17:34 +0200)]
fib: do not dump no-longer valid adjacencies
In some cases, we can refer to no-longer adjacencies (eg. in traces). Do
not dump them in this case as they are probably incorrect (memory can be
reused).
Type: fix
Change-Id: Ib653ba066bb6595ec6ec37d313a3124bce0eeed3
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Benoît Ganne [Tue, 3 Sep 2019 16:17:38 +0000 (18:17 +0200)]
gbp: remove loopback interfaces between tests
Type: fix
Change-Id: I440f25b95b23b717518d101a1327ecf16d6ba39a
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Matthew Smith [Wed, 18 Sep 2019 18:51:46 +0000 (13:51 -0500)]
ip: fix memory leak in ip_dump handler
Type: fix
A vector allocated by vl_api_ip_dump_t_handler() was not being
freed.
Change-Id: I13425b8087e60df60c6aaa1230aa7e6d60b101a8
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Nathan Skrzypczak [Fri, 13 Sep 2019 15:14:57 +0000 (17:14 +0200)]
session: fix msg freeing on error
Type: fix
Change-Id: I0807f84737d5e98e69e9ed27a1de6813b2ddd138
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Florin Coras [Thu, 12 Sep 2019 06:22:29 +0000 (23:22 -0700)]
tcp: refactor congestion event handling
Type: refactor
Minor cleanup to congestion event handling.
Change-Id: I7179ff9e21c1853382ba814652c9024f3e5b8a37
Signed-off-by: Florin Coras <fcoras@cisco.com>
Dave Barach [Fri, 13 Sep 2019 21:47:50 +0000 (17:47 -0400)]
misc: classifier-based packet trace filter
See .../src/vnet/classify/trace_classify.h for the business end
of the scheme.
It would be best to hash pkts, prefetch buckets, and do the primary
table lookups two at a time. The inline as given works, but perf
tuning will be required. "At least it works..."
Add "classify filter" debug cli, for example:
classify filter mask l3 ip4 src dst \
match l3 ip4 dst 192.168.2.10 src 192.168.1.10
Add "pcap rx | tx trace ... filter" to use the current classify filter chain
Patch includes sphinx documentation and doxygen tags.
Next step: device-driver integration
Type: feature
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I05b1358a769f61e6d32470e0c87058f640486b26
Damjan Marion [Thu, 19 Sep 2019 16:43:42 +0000 (18:43 +0200)]
classify: remove includes from classifier header file
Type: refactor
Change-Id: I6f0af1c3078edce1c1b29a8b99c4a232d7084d33
Signed-off-by: Damjan Marion <damarion@cisco.com>
Dave Wallace [Thu, 19 Sep 2019 20:38:44 +0000 (20:38 +0000)]
hsa: refactor vpp_echo failure handling
- Return unique value for each failure condition
- Last failure value returned
- All failures included in description
- Output failure value and description
Type: test
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I72d5e7f660ad4765c468874421622607af6ae3d1
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Benoît Ganne [Tue, 17 Sep 2019 15:30:35 +0000 (17:30 +0200)]
interface: fix pcap drop trace in case of vlan
Type: fix
Change-Id: If3c4e5c376b51a26143d8922dcacfbda534163bd
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Florin Coras [Thu, 19 Sep 2019 15:19:44 +0000 (08:19 -0700)]
session: builtin app rx notifications regardless of state
Type: feature
Provide rx notifications to builtin apps even after disconnect.
Consequently tcp connections that are past FIN_WAIT_1 can still receive
rx notifications.
This is not currently supported for external applications.
Change-Id: I529da7f7120b0e7c62c5026ac71f86d6b5196cf4
Signed-off-by: Florin Coras <fcoras@cisco.com>
Filip Tehlar [Wed, 18 Sep 2019 22:43:44 +0000 (22:43 +0000)]
ikev2: add support for GCM cipher
Type: feature
Change-Id: Ic703015b55f0ae947e5e44b10b74b3c79efe7da6
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Jakub Grajciar [Wed, 3 Apr 2019 12:05:11 +0000 (14:05 +0200)]
cop: API cleanup
Use consistent API types.
Type: fix
Change-Id: I6ac453c88628a4dbb08b03c408df09b91b1ea5ca
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Ole Troan [Wed, 11 Sep 2019 15:49:08 +0000 (17:49 +0200)]
api: split vl_api_prefix into two
One type for address with prefix and one type for prefix.
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Icfec51d9b7d5cde1d69fbecdd97498688ab7b295
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Andrew Yourtchenko [Mon, 9 Sep 2019 11:14:59 +0000 (11:14 +0000)]
tests: split up the long running IPSec tests into separate classes
Type: test
Change-Id: Ieeae7f1653f5f2e8e49f258871b389ef8954c90b
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Dave Wallace [Tue, 17 Sep 2019 18:38:59 +0000 (18:38 +0000)]
hsa: fix vpp_echo stats output
- Output stats when there are missing timing events
- Add missing timing event status to the stats output
Type: fix
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I10a8db6db9568b98379df544d0098f9722a44867
Ole Troan [Wed, 18 Sep 2019 10:12:47 +0000 (12:12 +0200)]
vppapigen: fix missing vla check for union class
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Ie775cf3469d761847ac39cf0d80a3ec6463b7928
Ole Troan [Wed, 18 Sep 2019 11:13:16 +0000 (13:13 +0200)]
stats: fix per_worker vector rate heap
The per_worker counters were outside of the stats heap.
Also fixes the length of the per_vector counter.
A simple vector is two dimensional including a thread dimension.
Fixes:
f89a6de8f0
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I370bf9cb033d264f42df2723e01b768dc270792b
MathiasRaoul [Tue, 17 Sep 2019 14:37:13 +0000 (14:37 +0000)]
quic : refactor function naming
- functions renaming to be consistent with the other plugin functions name
- removing useless logs
Type: style
Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
Change-Id: Iea212a799448975e01a92f16cc329de13907ff07
Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
Florin Coras [Wed, 11 Sep 2019 06:26:27 +0000 (23:26 -0700)]
tcp: compute snd time for rate sample
Type: feature
Change-Id: I6bd675dc28dbc34293e895911efe986844c0564f
Signed-off-by: Florin Coras <fcoras@cisco.com>
Dave Barach [Tue, 17 Sep 2019 13:47:35 +0000 (09:47 -0400)]
builtinurl: initial working attempt
Note that the builtin URLs are disabled by default. To activate,
"builtinurl enable" or use the builtinurl_enable API.
See .../extras/http/sample.md for some Hugo-friendly .md w/ embedded
Javascript that accesses the builtin URLs.
Type: feature
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I6d82d9292c41d6d2d90be73ba8a1a043fb20c986
Paul Vinciguerra [Wed, 31 Jul 2019 04:34:05 +0000 (00:34 -0400)]
vppapigen: fix tests and run on verify
- changes vppapigen to only process an import once.
Type: fix
Change-Id: Ifcbcfcc69fdfb80d63195a17701762d0c239d7b4
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Ed Kern [Tue, 17 Sep 2019 19:19:42 +0000 (13:19 -0600)]
build: fix rpm python 3 depends
Type: fix
Change-Id: Ie6eaccb27779bb14c0a23764a16cd22f0a72e379
Signed-off-by: Ed Kern <ejk@cisco.com>
Florin Coras [Sun, 15 Sep 2019 23:28:45 +0000 (16:28 -0700)]
session: limit pacer bucket size
Type: feature
Change-Id: I3ca27b09670716eba463d7b16771f765a1bd6dcd
Signed-off-by: Florin Coras <fcoras@cisco.com>
Aloys Augustin [Mon, 16 Sep 2019 13:37:48 +0000 (13:37 +0000)]
vlib: fix cli process stack overflow
Some cli processes, including bringing up an i40e interface with dpdk,
consume more than the currently available stack space.
Type: fix
Fixes: VPP-1774
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Change-Id: I86ceb9e6e07523d5e0f760b5922467f09a8d4006
Florin Coras [Wed, 11 Sep 2019 20:42:57 +0000 (13:42 -0700)]
tcp: use rate sample rtt in recovery if possible
If in recovery and rate samples are taken for burts that have not been
retransmitted, use the rtt estimate.
Type: feature
Change-Id: I95028f492008457c959157aa4ee4c3435fa9c3f0
Signed-off-by: Florin Coras <fcoras@cisco.com>
Dave Barach [Thu, 12 Sep 2019 01:35:48 +0000 (21:35 -0400)]
http_static: add dynamic GET / POST method hooks
Add .json output to format_vnet_sw_interface_cntrs(...)
Type: feature
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ied036ebfaaafbf1dfc2a4e396c00f09f40659400
Damjan Marion [Fri, 6 Sep 2019 12:24:36 +0000 (14:24 +0200)]
dpdk: initialize rte_mbuf during mempool dequeue
In some cases it may happen that buffer is allocated by DPDK, and freed
by VPP native code. In such cases dpdk metadata is not reset, so we need
to do that during mempool dequeue. Template approach is taken to reduce
cost of that operation.
Type: fix
Fixes:
910d369
Change-Id: Ic239007cfc8fbceb965021c56963cda9d53f63be
Signed-off-by: Damjan Marion <damarion@cisco.com>
Hiroki Shirokura [Fri, 16 Aug 2019 11:30:34 +0000 (11:30 +0000)]
vlib: cli support ctrl-w to erase left word
Type: fix
Signed-off-by: Hiroki Shirokura <slank.dev@gmail.com>
Change-Id: I3ae7dc3858d0353764d629d6a9eff2bdab5f8768
Ole Troan [Wed, 4 Sep 2019 07:12:29 +0000 (09:12 +0200)]
api: autogenerate api trace print/endian
In addition to the external vppapitrace tool, VPP itself supports dumping of API trace files.
In two formats, "custom-dump" and "dump". "dump" gives a human friendly list,
and "custom-dump" is meant to give a list of commands that can be fed to VAT.
This patch only deals with "dump".
Prior to this fix, auto-generation was only done for the basic types.
This fix adds support for any type, including lists, and supports pretty-printing
of enums, strings, IP addresses, MAC addresses and so on.
Usage: api trace dump <api-trace-file>
For example
Change-Id: I4e485680e6dcfce7489299ae6cf31d835071ac40
---------- trace 48 -----------
vl_api_sw_interface_set_flags_t:
_vl_msg_id: 75
client_index: 0
context: 10
sw_if_index: 1
flags: IF_STATUS_API_FLAG_ADMIN_UP
---------- trace 49 -----------
vl_api_sw_interface_add_del_address_t:
_vl_msg_id: 88
client_index: 0
context: 11
sw_if_index: 1
is_add: 1
del_all: 0
prefix: 172.16.1.1/24
---------- trace 51 -----------
vl_api_cli_inband_t:
_vl_msg_id: 819
client_index: 0
context: 13
cmd: packet-generator capture pg0 pcap /tmp/vpp-unittest-TestMAP-YhcmDX/pg0_out.pcap disable
---------- trace 58 -----------
vl_api_ip_neighbor_add_del_t:
_vl_msg_id: 199
client_index: 0
context: 20
is_add: 1
neighbor:
sw_if_index: 2
flags: IP_API_NEIGHBOR_FLAG_NONE
mac_address: 0202.0000.ff02
ip_address: fd01:2::2
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I5556d06008de2762e7c2d35a8b0963ae670b3db1
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Nathan Skrzypczak [Fri, 13 Sep 2019 13:44:54 +0000 (15:44 +0200)]
session: add session enable option in config file
Type: feature
Change-Id: I8f02873e75c6e890f6749806d4f02547f951c8ca
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Aloys Augustin [Thu, 12 Sep 2019 16:04:30 +0000 (18:04 +0200)]
hsa: Fix QUIC sessions count calculation
Type: fix
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Change-Id: Ia53a41a30920f8af7cd00c6f809b32e7cc277b7a
Damjan Marion [Fri, 13 Sep 2019 11:48:05 +0000 (11:48 +0000)]
devices: partial revert of af_packet API cleanup patch
Reverting as make test must me able to run non-root so creating tap interfaces is no-go.
Type: fix
Fixes:
3b2db9002c14f9e0742622f2d503c5801d443827
Change-Id: Ib6eb2679b65b662ed6e88e67f8b199744abae85e
Signed-off-by: Damjan Marion <dmarion@me.com>
Florin Coras [Fri, 13 Sep 2019 01:49:44 +0000 (18:49 -0700)]
tcp: cleanup scoreboard after recovery
Type: fix
When recovering from congestion, remove last hole in scoreboard if it
covers all bytes sent above snd_congestion.
Change-Id: I752accd4590cd9bf553c35a1bb40a38c308c04f5
Signed-off-by: Florin Coras <fcoras@cisco.com>
Jakub Grajciar [Mon, 26 Aug 2019 09:25:52 +0000 (11:25 +0200)]
devices: af_packet API cleanup
Use consistent API types.
- fix af_packet_dump dumping deleted interface
Type: fix
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ie8d138e30c8c51a2306bb2ad9ac0b7a49d5412bf
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Benoît Ganne [Wed, 11 Sep 2019 15:47:56 +0000 (17:47 +0200)]
map: fix non-null-terminated C-string
Type: fix
Change-Id: Ia3a4693acd5eab234f60b37436c5b642b00bda46
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Elias Rudberg [Thu, 12 Sep 2019 12:57:47 +0000 (14:57 +0200)]
dpdk: fix null-termination of strings
Fix problem with some strings not being null-terminated,
by using the vec_terminate_c_string macro in two places.
The problem was found using AddressSanitizer.
(Also make sure indentation is OK for those changes.)
Ticket: VPP-1772
Type: fix
Signed-off-by: Elias Rudberg <elias.rudberg@bahnhof.net>
Change-Id: Ib7826e3c322e58b649e2d7f6053786da618a5e9e
Benoît Ganne [Wed, 11 Sep 2019 14:40:04 +0000 (16:40 +0200)]
hsa: fix memory management bugs
Fix use-after-free and non-null terminated string.
Type: fix
Change-Id: Ibba2a6cae68c612a34477aa813b3bf27a0c8fc1f
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Benoît Ganne [Wed, 11 Sep 2019 14:41:49 +0000 (16:41 +0200)]
quic: fix use-after-free
Type: fix
Change-Id: I5e5e37684e336ca992dae8ea1d39b1fb103802b1
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Steven Luong [Wed, 11 Sep 2019 17:49:30 +0000 (10:49 -0700)]
misc: bond_create is broken for custom dump print
Regression from https://gerrit.fd.io/r/#/c/vpp/+/21508/
The aformentioned patch changed lb and mode to u32. But it does not make the
same change to custom_dump.c
Type: fix
Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I2b7d065e21427090af3deb47c8a24c5da679e4f5
Benoît Ganne [Tue, 10 Sep 2019 16:42:09 +0000 (18:42 +0200)]
quic: fix non-null terminated hostname string
Type: fix
Change-Id: I089d359d5726050f32f69366547086216fdb3098
Signed-off-by: Benoît Ganne <bganne@cisco.com>
jdenisco [Wed, 11 Sep 2019 13:05:45 +0000 (09:05 -0400)]
docs: run-sphinx-docs-merged
Type: docs
Signed-off-by: jdenisco <jdenisco@cisco.com>
Change-Id: I571222f3e3672253930700e23cca4812dde84a6d
Lijian.Zhang [Mon, 8 Jul 2019 02:33:34 +0000 (10:33 +0800)]
ip: apply dual loop unrolling in ip4_input
Too many prefetches within loop unrollings induce bottleneck and
performance degradation on some CPUs which have less cache line fill
buffers, e.g, Arm Cortex-A72.
Apply dual loop unrolling and tune prefetches manually to resolve
hot-spot with prefetch instructions.
It saves about 11.5% cycles with ip4_input node on Cortex-A72 CPUs.
Type: feature
Change-Id: I1ac9eb21061a804af2a414b420217fbcda3689c9
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Lijian.Zhang [Tue, 9 Jul 2019 09:54:32 +0000 (17:54 +0800)]
ip: apply dual loop unrolling in ip4_rewrite
Too many prefetches within loop unrollings induce bottleneck and
performance degradation on some CPUs which have less cache line fill
buffers, e.g, Arm Cortex-A72.
Apply dual loop unrolling and tune prefetches manually to remove
hot-spot with prefetch instructions, to get throughput improvement.
It brings about 7% throughput improvement and saves 28% clocks with
ip4_rewrite nodes on Cortex-A72 CPUs.
Type: feature
Change-Id: I0d35ef19faccbd7a5a4647f50bc369bfcb01a20d
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Lijian.Zhang [Thu, 11 Jul 2019 08:44:22 +0000 (16:44 +0800)]
dpdk: apply dual loop unrolling in DPDK TX
Too many prefetches within loop unrollings induce bottleneck and
performance degradation on some CPUs which have less cache line fill
buffers, e.g, Arm Cortex-A72.
Apply dual loop unrolling and tune prefetches manually to remove
hot-spot with prefetch instructions, to get throughput improvement.
It brings about 1% throughput improvement and saves 8% clocks with
the target node on Cortex-A72.
Type: feature
Change-Id: If3a64a04a77e90cd0240bc4d1186dbb09dac7df0
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Jakub Grajciar [Wed, 11 Sep 2019 08:21:17 +0000 (10:21 +0200)]
memif: fix zero-copy arg overwrite
Type: fix
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I9a34465c85597baecdbc672ce395265f7dbb7f00
Jakub Grajciar [Mon, 26 Aug 2019 10:55:15 +0000 (12:55 +0200)]
bonding: API cleanup
Use consistent API types.
Type: fix
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Idbba4ab6a412b75338e3149e51476693f0862f16
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Florin Coras [Fri, 6 Sep 2019 19:56:58 +0000 (12:56 -0700)]
tcp: handle sack reneging
Type: feature
Change-Id: I201155b1b92cf7e57310af726879dab039090582
Signed-off-by: Florin Coras <fcoras@cisco.com>
jialv01 [Mon, 9 Sep 2019 16:23:55 +0000 (00:23 +0800)]
build: fix running error with vmxnet3_test_plugin.so
vpp_api_test load vmxnet3_test_plugin.so error:
"load_one_plugin:42:/vpp/lib/vpp_api_test_plugins/vmxnet3_test_plugin.so:
undefined symbol: unformat_vlib_pci_addr"
Type: fix
Signed-off-by: Jianlin Lv <Jianlin.Lv@arm.com>
Change-Id: I444aa05d0bc3c4f4f25082388243f1adb305dd0a
Simon Zhang [Mon, 2 Sep 2019 14:54:00 +0000 (22:54 +0800)]
tcp: enable gso in tcp hoststack
Type: feature
Change-Id: If68d07fbe8c6f7fffd2f93c7e854367082927e4f
Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
Dave Barach [Mon, 9 Sep 2019 20:38:17 +0000 (16:38 -0400)]
misc: clean up "pcap [rx|tx] trace" debug CLI
Separate debug CLI arg parsing from the underlying action
function. Fixes a number of subtle ordering dependencies, and will
allow us to add a binary API to control the feature at some point in
the future.
Type: refactor
Ticket: VPP-1770
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Id0dbeda06dad20e756c941c691e2088ce3c50ec7
Florin Coras [Tue, 10 Sep 2019 02:22:36 +0000 (19:22 -0700)]
session: fix session filter range
Type:fix
Change-Id: I173f45bf3d90e6979675b2ac812a969539f02147
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Fri, 30 Aug 2019 17:00:30 +0000 (10:00 -0700)]
tcp: validate connections in output
Type: feature
This shouldn't happen unless connections are removed after buffers were
enqueued to tcp-output and before tcp-output runs. For instance, packet
is enqueued to tcp output and cleanup is called for connection.
Change-Id: Ib7dd82ffa6cfb21ff5068aba010e0a3497eeea13
Signed-off-by: Florin Coras <fcoras@cisco.com>
Nathan Skrzypczak [Mon, 9 Sep 2019 14:45:06 +0000 (16:45 +0200)]
misc: fix shebang with missing env
This is needed for macos where /usr/bin/python[23] does not exist
and /usr/bin is write protected
Type: fix
Change-Id: Ia1b3c732248c78482993de532fa2ea96e376d90a
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Vratko Polak [Fri, 6 Sep 2019 13:20:07 +0000 (15:20 +0200)]
papi: let async calls return context
Callback receives "reply" messages containing context,
but previously there was no easy way
to get the automatically generated context value
of the originally sent "command" message.
With this, the caller can store the contexts,
so the callback knows which command got replied to.
Type: feature
Change-Id: I58ca812d20b03916f74096c396126710115a747c
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Dave Barach [Mon, 9 Sep 2019 20:56:53 +0000 (16:56 -0400)]
misc: fix coverity warning in the oddbuf plugin
Clean up license / copyright headers
Type: fix
Ticket: VPP-1771
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ibfc2a46632e17578fd74357b83f417987b8447be
Dave Barach [Mon, 9 Sep 2019 15:02:45 +0000 (11:02 -0400)]
docs: improve unformat documentation
Specifically: document the unformat specifiers "%=", "%|", and correct
usage of unformat_line_input.
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I254f9c4a61c5c8d3edbf76f521e5f38fb89150f1
Jakub Grajciar [Wed, 21 Aug 2019 08:51:21 +0000 (10:51 +0200)]
memif: API cleanup
Use consistent API types.
memif_create now enables zero-copy by default.
Add no_zero_copy param to memif_create which
if set, disables zero copy.
Type: refactor
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I11df8b9212c40de179ee71dc9da14039b982ede5
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Jakub Grajciar [Mon, 9 Sep 2019 08:39:08 +0000 (10:39 +0200)]
libmemif: prevent crash in case of invalid connection handle
Type: fix
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I803c86a48e0148ef143026a5cd93e4510c4f0611
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Dave Barach [Thu, 29 Aug 2019 22:01:30 +0000 (18:01 -0400)]
vlib: clean up the "pcap dispatch trace" debug CLI
Separate debug CLI arg parsing from the underlying action
function. Fixes a number of subtle ordering dependencies, and will
allow us to add a binary API to control the feature at some point in
the future.
Type: refactor
Ticket: VPP-1762
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I1240fe3f61a0acf5ee9faed60d6ad3386e72e569
Dave Barach [Wed, 4 Sep 2019 16:09:32 +0000 (12:09 -0400)]
ip: fix udp/tcp checksum corner cases
When checksumming chained buffers with odd lengths: insert a
NULL byte, or the calculation fails.
Type: fix
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: John Lo <loj@cisco.com>
Change-Id: I380f7c42897bdb28c8c29aa1c4cdaaa849cc9ecc
Filip Tehlar [Wed, 4 Sep 2019 11:34:15 +0000 (11:34 +0000)]
ikev2: fix crash during IKE SA Init exchange
Type: fix
Change-Id: If827fe348fe35d1221d29f91b7e6ea1624d13999
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Steven Luong [Tue, 20 Aug 2019 23:58:00 +0000 (16:58 -0700)]
bonding: add weight support for active-backup mode
Not all interfaces have the same characteristics within the bonding group.
For active-backup mode, we should do our best to select the slave that
performs the best as the primary slave. We already did that by preferring
the slave that is local numa. Sometimes, this is not enough. For example,
when all are local numas, the selection is arbitrary. Some slave interfaces
may have higher speed or better qos than the others. But this is hard to
infer.
One rule does not fit all. So we let the operator to optionally specify the
weight for each slave interface. Our primary slave selection rule is now
1. biggest weight
2. is local numa
3. current primary slave (to avoid churn)
4. lowest sw_if_index (for deterministic behavior)
This selection rule only applies to active-backup mode which only one slave
is used for forwarding traffic until it becomes unreachable. At that time,
the next "best" slave candidate is automatically promoted. The slaves are
sorted according to the preference rule when they are up. So there is no need
to find the next best candidate when the primary slave goes down.
Another good thing about this rule is when the down slave comes back up, it
is selected as the primary slave again unless there is indeed a "better"
slave than this down slave that were added during that period.
To set the weight for the slave interface, do this after the interface is
enslaved
set interface bond <interface-name> weight <value>
Type: feature
Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I59ced6d20ce1dec532e667dbe1afd1b4243e04f9
Aloys Augustin [Thu, 5 Sep 2019 15:58:21 +0000 (17:58 +0200)]
quic: fix server opening stream immediately
Previously, if the first thing a server did was to open a stream and
send data, this could trigger a crash on the clilent side VPP as the
quic session wouldn't be allocated.
Change-Id: I43990ce2a71217d6719ecae4da60111d05fbcfc0
Type: fix
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Mohsin Kazmi [Thu, 5 Sep 2019 18:17:30 +0000 (20:17 +0200)]
tap: revert clean-up when linux will delete the tap interface
Type: fix
Ticket: VPP-1766
revert
e4ac48e792f4eebfce296cfde844ee73b1abd62f
Change-Id: I03feea4008a47859d570ad8d1d08ff3f30d139ef
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
(cherry picked from commit
623a1b7053424b539a51faf866ab839d3da3f45b)
jialv01 [Wed, 4 Sep 2019 03:31:10 +0000 (11:31 +0800)]
build: fix unsupported CMake comparison operation
VERSION_GREATER_EQUAL is not supported before CMake version 3.7.
Type: fix
Signed-off-by: Jianlin Lv <Jianlin.Lv@arm.com>
Change-Id: Id690b7b7c26121f9d289ebd0aaea0860be63795f
Filip Tehlar [Tue, 3 Sep 2019 14:21:05 +0000 (14:21 +0000)]
dpdk: fix extended stats
Extended stats are not displayed due to incorrect condition.
Type: fix
Change-Id: Ie04664e6274137462dce832bf7ee06204cd77be5
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Jakub Grajciar [Mon, 2 Sep 2019 11:28:52 +0000 (13:28 +0200)]
bfd: API cleanup
Use consistent API types.
Type: fix
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I4b91ebe8aadbec8b95716ed1cde4b0a13eee3a3f
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Steven Luong [Wed, 7 Aug 2019 19:20:22 +0000 (12:20 -0700)]
stats: add /if/<n>/<n>/state for lacp interface state
Add /if/lacp/<bond-sw_if_index>/<slave-sw_if_index>/state
<bond-sw_if_index> is a vector of the bond sw_if_index
<slave-sw_if_index> is a vector of the slave sw_if_index
Content is the integer value of the lacp actor state. The state is actually
a bitfield as described in the lacp protocol spec.
Type: feature
Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: Ic6eca8ce2a1acd2d858e4e50b7eac1d000ea08e5
Signed-off-by: Ole Troan <ot@cisco.com>
Jakub Grajciar [Wed, 4 Sep 2019 08:32:49 +0000 (10:32 +0200)]
memif: always enable zero-copy when creating memif using API
Type: fix
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I823b6297e1d2bdd438633ec7b877960e6d8423fa
Florin Coras [Sat, 31 Aug 2019 16:45:13 +0000 (09:45 -0700)]
session: improve cli
Type: feature
Allow session cli filtering based on thread index, transport protocol,
session state and range of session pool indices. For instance
show session thread 1 proto tcp state ready range 0 20 verbose
Shows the session ids for the first 20 tcp sessions in thread 1 that are
in ready state.
To avoid excessive output that could reasult in the worker barrier being
held by the main thread for long periods of time, the session cli will
only output:
- session ids (verbose == 1) for a maximum of 50 sessions / worker
- verbose > 1 details for a maximum of 10 sessions
Change-Id: I2cfb351b548e2e0a1d5b4345810be613e2917d17
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Tue, 3 Sep 2019 19:37:11 +0000 (12:37 -0700)]
tcp: cc algos handle cwnd on congestion signal
Type: refactor
Change-Id: I15b10a22d0d0b83075a0eef5ef8c09cf76989866
Signed-off-by: Florin Coras <fcoras@cisco.com>
Matthew Smith [Fri, 12 Jul 2019 16:48:24 +0000 (11:48 -0500)]
ethernet: move dmac filtering to inline function
In eth_input_process_frame(), destination MAC addresses are
compared to the interface hardware address in a loop. Move
this to a separate inline function to facilitate making changes
to the filtering logic more cleanly.
Type: refactor
Change-Id: I0978f01667e78af5214dbbc9ba223f5b84ce6b7e
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Damjan Marion [Wed, 4 Sep 2019 13:26:55 +0000 (15:26 +0200)]
avf: reduce default ITR interval
Type: fix
Fixes:
b4ff07a
Change-Id: I361ec71944048734b73eec700e32531fb070194e
Signed-off-by: Damjan Marion <damarion@cisco.com>
Ole Troan [Wed, 28 Aug 2019 12:12:02 +0000 (14:12 +0200)]
api: memclnt api use string type.
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Idad79286b7730c8e85202c4b8e675ea50f8bbc48
Signed-off-by: Ole Troan <ot@cisco.com>
Florin Coras [Tue, 3 Sep 2019 20:06:11 +0000 (13:06 -0700)]
session: avoid bihash list for session tables
Type: fix
Change-Id: I1dbc822061f43fcc25dfa5d1728f5c7575139f45
Signed-off-by: Florin Coras <fcoras@cisco.com>
Matthew Smith [Tue, 3 Sep 2019 21:45:33 +0000 (16:45 -0500)]
ethernet: fix dmac check avx2 loop condition
In eth_input_process_frame(), a loop which checks the destination
MAC address of received packets had a different condition for avx2
than it did for the non-avx2 version of the loop. It could result
in one unnecessary execution of the loop body after all packets
had been processed.
Type: fix
Fixes:
8d6f34e2b1cbfde5702e88686631527d5e1e10a0
Change-Id: Ib673f45917a0dea461987fdc8f0ca318b749fb1a
Signed-off-by: Matthew Smith <mgsmith@netgate.com>