dpdk.git
3 years agoapp/testpmd: fix memory leak on error path
Yunjian Wang [Mon, 25 May 2020 01:46:23 +0000 (09:46 +0800)]
app/testpmd: fix memory leak on error path

This patch fixes the resource leak issue.

Fixes: e63b50162aa3 ("app/testpmd: clean metering and policing commands")
Cc: stable@dpdk.org
Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
3 years agonet/netvsc: do not spin forever waiting for reply
Stephen Hemminger [Tue, 19 May 2020 16:52:30 +0000 (09:52 -0700)]
net/netvsc: do not spin forever waiting for reply

Because of bugs in driver or host a reply to a request might
never occur. Better to give an error than spin forever.

Fixes: 4e9c73e96e83 ("net/netvsc: add Hyper-V network device")
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
3 years agonet/netvsc: process link change messages in alarm
Stephen Hemminger [Tue, 19 May 2020 16:52:29 +0000 (09:52 -0700)]
net/netvsc: process link change messages in alarm

The original code would deadlock itself if a link change event
happened with link state interrupt enabled. The problem is that
the link state changed message would be seen while reading
the host to guest ring (under lock) and then the driver would
send a query to the host to see the new link state. The response
would never be seen (stuck in a while loop) waiting for the
response.

The solution is to use the link change indication to trigger
a DPDK alarm. The alarm will happen in a different thread and
in that context it can send request for new link state and
also do interrupt callback. This is similar to how the bonding
driver is handling the same thing.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
3 years agonet/netvsc: do not query VF link state
Stephen Hemminger [Tue, 19 May 2020 16:52:28 +0000 (09:52 -0700)]
net/netvsc: do not query VF link state

When the primary device link state is queried, there is no
need to query the VF state as well. The application only sees
the state of the synthetic device.

Fixes: dc7680e8597c ("net/netvsc: support integrated VF")
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
3 years agonet/netvsc: fix warning when VF is removed
Stephen Hemminger [Tue, 19 May 2020 16:52:27 +0000 (09:52 -0700)]
net/netvsc: fix warning when VF is removed

The code to unset owner of VF device was changing port to invalid
value before calling unset.

Fixes: 4a9efcddaddd ("net/netvsc: fix VF support with secondary process")
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
3 years agonet/netvsc: change datapath logging
Stephen Hemminger [Tue, 19 May 2020 16:52:26 +0000 (09:52 -0700)]
net/netvsc: change datapath logging

The PMD_TX_LOG and PMD_RX_LOG can hide errors since this
debug log is typically disabled. Change the code to use
PMD_DRV_LOG for errors.

Under load, the ring buffer to the host can fill.
Add some statistics to estimate the impact and see other errors.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
3 years agonet/netvsc: implement descriptor status
Stephen Hemminger [Tue, 19 May 2020 16:52:25 +0000 (09:52 -0700)]
net/netvsc: implement descriptor status

These functions are useful for applications and debugging.
The netvsc PMD also transparently handles the rx/tx descriptor
functions for underlying VF device.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
3 years agonet/netvsc: support per-queue info requests
Stephen Hemminger [Tue, 19 May 2020 16:52:24 +0000 (09:52 -0700)]
net/netvsc: support per-queue info requests

There is not a lot of info here from this driver.
But worth supporting these additional info queries.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
3 years agonet/bnxt: fix crash during close
Ajit Khaparde [Fri, 22 May 2020 21:27:31 +0000 (14:27 -0700)]
net/bnxt: fix crash during close

We are freeing flow_stats a little early. This results in a
segfault when the driver accesses the members during cleanup.
Move the call to bnxt_free_flow_stats_info() to prevent this.

Fixes: 02a95625fe9c ("net/bnxt: add flow stats in extended stats")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
3 years agonet/bnxt: fix performance for Arm
Rahul Gupta [Fri, 22 May 2020 17:42:09 +0000 (23:12 +0530)]
net/bnxt: fix performance for Arm

Eliminate unnecessary rte_smp_wmb() before writing to request/completion
doorbells. Use rte_cio_wmb() memory barrier instead of rte_io_wmb()
before writing to tx/rx request queue doorbells and use
rte_compiler_barrier() before writing to tx/rx completion queue
doorbells.

Fixes: 4af9d0c72941 ("net/bnxt: cleanup NQ doorbell")
Fixes: f8168ca0e690 ("net/bnxt: support thor controller")
Cc: stable@dpdk.org
Signed-off-by: Rahul Gupta <rahul.gupta@broadcom.com>
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Lance Richardson <lance.richardson@broadcom.com>
3 years agonet/bnxt: fix settingĀ link speed
Kalesh AP [Fri, 22 May 2020 17:42:08 +0000 (23:12 +0530)]
net/bnxt: fix settingĀ link speed

bnxt PMD uses the macro BNXT_SUPPORTED_SPEEDS to validate
the user requested speed. But this has all the speed values
supported by the PMD and is not chip specific.

The check against this macro returns success when the user
tries set the speed to 100G on a port even if the chip does
not support 100G speed.

Fixed it to use bnxt_get_speed_capabilities() to check the
supported speeds by the chip.

Fixes: 1d0704f4d793 ("net/bnxt: add device configure operation")
Cc: stable@dpdk.org
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
3 years agonet/hns3: fix key length when configuring RSS
Lijun Ou [Fri, 22 May 2020 09:21:18 +0000 (17:21 +0800)]
net/hns3: fix key length when configuring RSS

When users set the length of RSS hash key greater than the supported
length by hardware, the driver should intercept and can not configure
the wrong key into the hardware.

Fixes: c37ca66f2b27 ("net/hns3: support RSS")
Cc: stable@dpdk.org
Signed-off-by: Lijun Ou <oulijun@huawei.com>
Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
3 years agonet/hns3: add RSS hash offload to Rx configuration
Lijun Ou [Fri, 22 May 2020 09:21:17 +0000 (17:21 +0800)]
net/hns3: add RSS hash offload to Rx configuration

Rx offload flag `DEV_RX_OFFLOAD_RSS_HASH` which can be used to
enable/disable PMDs write to `rte_mbuf::hash::rss`. The hns3 PMD driver
already can notify the validity of `rte_mbuf::hash:rss` to the
application by enabling `PKT_RX_RSS_HASH` flag in `rte_mbuf::ol_flags`.

Fixes: 19a3ca4c99cf ("net/hns3: add start/stop and configure operations")
Fixes: c37ca66f2b27 ("net/hns3: support RSS")
Cc: stable@dpdk.org
Signed-off-by: Lijun Ou <oulijun@huawei.com>
Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
3 years agonet/hns3: fix Tx less than 60 bytes
Wei Hu (Xavier) [Fri, 22 May 2020 09:21:16 +0000 (17:21 +0800)]
net/hns3: fix Tx less than 60 bytes

Currently, when running testpmd application based on hns3 network engine
with csum fwd mode by "set fwd csum" command in the prompt line, sending
42 consecutive bytes of ARP packets to network port with packets
generator. But in fact hardware can't send the ARP packets and the
related logs as below:
"Preparing packet burst to failed: Invalid argument"

The hardware doesn't support transmit packets less than 60 bytes, and in
the '.tx_pkt_burst' ops implementation function named hns3_xmit_pkts
appending operation has been added for less than 60 bytes packets. So
the interception needs to be removed in the '.tx_pkt_prepare' ops
implementation function named hns3_prep_pkts.

Fixes: de620754a109 ("net/hns3: fix sending packets less than 60 bytes")
Fixes: bba636698316 ("net/hns3: support Rx/Tx and related operations")
Cc: stable@dpdk.org
Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
Signed-off-by: Hao Chen <chenhao164@huawei.com>
Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
3 years agonet/hns3: clear promiscuous on PF uninit
Chengchang Tang [Fri, 22 May 2020 09:21:15 +0000 (17:21 +0800)]
net/hns3: clear promiscuous on PF uninit

Currently, promiscuous mode configuration are not cleared during
uninstallation based on hns3 PF device. The residual entries may cause
unnecessary bandwidth usage.

So, we need clear the PF's promisc mode status during the uninit.

Fixes: a45fd0aa0ea1 ("net/hns3: fix Rx queue search with broadcast packet")
Fixes: d51867db65c1 ("net/hns3: add initialization")
Cc: stable@dpdk.org
Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
3 years agonet/hns3: replace special vport ids with macros
Chengchang Tang [Fri, 22 May 2020 09:21:14 +0000 (17:21 +0800)]
net/hns3: replace special vport ids with macros

In hns3 PMD driver, the vport id 0 denote PF, and the vport id 1 denote
the first VF device of the port.

This patch adds two macros named HNS3_PF_FUNC_ID and
HNS3_1ST_VF_FUNC_ID, and replaces this two numbers to improve code
readability.

Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
3 years agonet/iavf: fix RSS protocol field selector
Jeff Guo [Sun, 24 May 2020 05:52:30 +0000 (13:52 +0800)]
net/iavf: fix RSS protocol field selector

When VFs configure the rss rule by virtchnl, it need to set bit mask
into the field selector for the protocol, then PF got the configure
massage and parse the field selector to the corresponding protocol
field.

Fixes: 7be10c3004be ("net/iavf: add RSS configuration for VF")
Cc: stable@dpdk.org
Signed-off-by: Jeff Guo <jia.guo@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Tested-by: Zhiwei He <zhiwei.he@intel.com>
3 years agonet/ice: fix switch action number check
Wei Zhao [Thu, 21 May 2020 07:34:11 +0000 (15:34 +0800)]
net/ice: fix switch action number check

The action number for switch filter should be 1, any
other such as 0 or more than 1 is invalid.

Fixes: 3428c6b6ec1f ("net/ice: add action number check for switch")
Cc: stable@dpdk.org
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Tested-by: Qimai Xiao <qimaix.xiao@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
3 years agodoc: fix API index
Thomas Monjalon [Tue, 26 May 2020 20:29:20 +0000 (22:29 +0200)]
doc: fix API index

With Doxygen 1.8.18, a warning appears when tagging
the main markdown header with {#index}.
That's why the tag has been removed from the API index in DPDK 20.05.
Unfortunately it makes the index page classified as a standard
"related page" instead of being the "main page".

The tag {#mainpage} could be used instead of {#index}.
Another solution, chosen here, is to specify the main page file
in the Doxygen configuration with the variable USE_MDFILE_AS_MAINPAGE.

Fixes: 76fb8fc486f9 ("doc: fix build with doxygen 1.8.18")
Cc: stable@dpdk.org
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Tested-by: David Marchand <david.marchand@redhat.com>
3 years agoversion: 20.08-rc0
David Marchand [Wed, 27 May 2020 08:41:11 +0000 (10:41 +0200)]
version: 20.08-rc0

Start a new release cycle with empty release notes.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
3 years agoversion: 20.05.0
Thomas Monjalon [Tue, 26 May 2020 15:41:39 +0000 (17:41 +0200)]
version: 20.05.0

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
3 years agodoc: remove old devargs deprecation notice
Gaetan Rivet [Wed, 13 May 2020 10:42:44 +0000 (12:42 +0200)]
doc: remove old devargs deprecation notice

When modifying the rte_devargs implementation, a deprecation notice was
done for v18.11, regarding internal rte_devargs structure and exposed
functions.

Most of the changes were part of v18.11, but the notice was not removed.

Signed-off-by: Gaetan Rivet <grive@u256.net>
3 years agodoc: announce removal of non-kernel based PCI probing
Jerin Jacob [Mon, 25 May 2020 08:15:41 +0000 (13:45 +0530)]
doc: announce removal of non-kernel based PCI probing

In order to optimize the DPDK PCI enumeration management, RTE_KDRV_NONE
based device driver probing will be removed in v20.08.
The legacy virtio is the only consumer of RTE_KDRV_NONE based
device  driver probe scheme.
The legacy virtio support will be available through existing VFIO/UIO
based kernel driver scheme.
More details at https://patches.dpdk.org/patch/69351/

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
3 years agodoc: announce splitting ethdev ops struct
Ferruh Yigit [Wed, 4 Mar 2020 09:57:20 +0000 (09:57 +0000)]
doc: announce splitting ethdev ops struct

For the ABI compatibility it is better to hide internal data structures
from the application as much as possible. But because of some inline
functions 'struct eth_dev_ops' can't be hidden completely.

Plan is to split the 'struct eth_dev_ops' into two as ones used by
inline functions and ones not used, and hide the second part that not
used by inline functions completely to the application.

Because of ABI break the work will be done in 20.11

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: David Marchand <david.marchand@redhat.com>
3 years agodoc: update release notes for 20.05
John McNamara [Mon, 25 May 2020 19:11:34 +0000 (20:11 +0100)]
doc: update release notes for 20.05

Fix grammar, spelling and formatting of DPDK 20.05 release notes.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
3 years agodoc: update ice guide
Xiaolong Ye [Mon, 25 May 2020 15:22:28 +0000 (23:22 +0800)]
doc: update ice guide

Update the description and limitation about ice PMD according to the
product release strategy.

Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
Acked-by: Qiming Yang <qiming.yang@intel.com>
3 years agodoc: update firmware/driver mapping table for i40e
Zhaoyan Chen [Thu, 21 May 2020 07:45:12 +0000 (15:45 +0800)]
doc: update firmware/driver mapping table for i40e

Update i40e PMD firmware/driver mapping table.

Signed-off-by: Zhaoyan Chen <zhaoyan.chen@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
3 years agodoc: add tested platforms with Broadcom NICs
Ajit Khaparde [Mon, 25 May 2020 14:50:45 +0000 (07:50 -0700)]
doc: add tested platforms with Broadcom NICs

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
3 years agoversion: 20.05-rc4
Thomas Monjalon [Sun, 24 May 2020 23:56:53 +0000 (01:56 +0200)]
version: 20.05-rc4

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
3 years agodoc: announce adoption of C11 atomic operations semantics
Honnappa Nagarahalli [Fri, 22 May 2020 04:30:13 +0000 (23:30 -0500)]
doc: announce adoption of C11 atomic operations semantics

As agreed in the DPDK tech board [1], after 20.05 release, patches must
use C11 atomic operations semantics with the help of wrappers.

[1] http://mails.dpdk.org/archives/dev/2020-April/165143.html

Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: David Christensen <drc@linux.vnet.ibm.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
3 years agodoc: announce ethdev TM API back to experimental status
Nithin Dabilpuram [Tue, 5 May 2020 08:07:33 +0000 (13:37 +0530)]
doc: announce ethdev TM API back to experimental status

Based on the discussion in mail thread, it is concluded that
all traffic manager API's (rte_tm.h) need to be marked experimental
till few more releases to support further improvements to spec.

https://mails.dpdk.org/archives/dev/2020-April/164970.html

Adding deprecation notice for the same in advance.

Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
3 years agodoc: announce deprecation of ethdev HW Rx done API
Ferruh Yigit [Wed, 26 Feb 2020 15:01:14 +0000 (15:01 +0000)]
doc: announce deprecation of ethdev HW Rx done API

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: David Marchand <david.marchand@redhat.com>
3 years agodoc: clarify experimental API status in security process
Ferruh Yigit [Mon, 17 Jun 2019 16:06:48 +0000 (17:06 +0100)]
doc: clarify experimental API status in security process

Explicitly note that experimental APIs also part of security process.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
3 years agodoc: clarify security pre-release end of embargo date
Ferruh Yigit [Mon, 17 Jun 2019 16:06:47 +0000 (17:06 +0100)]
doc: clarify security pre-release end of embargo date

Clarify that a fixed date will be used for end of embargo (public
disclosure) date while communicating with downstream stakeholders.

Initial document got a review that it gives an impression that
communicated embargo date can be a range like 'less than a week' which
is not the case. The range applies when defining the end of the embargo
date but a fix date will be communicated.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
3 years agodoc: add tested Marvell integrated NIC platforms
Jerin Jacob [Fri, 22 May 2020 19:46:11 +0000 (01:16 +0530)]
doc: add tested Marvell integrated NIC platforms

Add tested Marvell integrated NIC platforms to v20.05 release notes.

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
3 years agodoc: add tested platforms with Mellanox NICs
Raslan Darawsheh [Wed, 20 May 2020 08:38:31 +0000 (11:38 +0300)]
doc: add tested platforms with Mellanox NICs

Signed-off-by: Raslan Darawsheh <rasland@mellanox.com>
3 years agodoc: add tested Intel platforms with Intel NICs
Zhaoyan Chen [Fri, 22 May 2020 04:30:39 +0000 (12:30 +0800)]
doc: add tested Intel platforms with Intel NICs

Add tested Intel platforms for DPDK 20.05 release.

Signed-off-by: Zhaoyan Chen <zhaoyan.chen@intel.com>
3 years agodoc: prefer https when pointing to dpdk.org
David Marchand [Thu, 19 Mar 2020 08:28:59 +0000 (09:28 +0100)]
doc: prefer https when pointing to dpdk.org

for file in $(git grep -l http://.*dpdk.org doc/); do
  sed -i -e 's#http://\(.*dpdk.org\)#https://\1#g' $file;
done

Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Kevin Traynor <ktraynor@redhat.com>
3 years agodoc: fix typo in contributors guide
Muhammad Bilal [Thu, 26 Mar 2020 05:46:54 +0000 (10:46 +0500)]
doc: fix typo in contributors guide

Bugzilla ID: 422
Fixes: 9e0e4a00df77 ("doc: suggest to keep doc and code in same patch")
Cc: stable@dpdk.org
Signed-off-by: Muhammad Bilal <m.bilal@emumba.com>
3 years agodoc: fix typo in contributors guide
Sarosh Arif [Sat, 21 Mar 2020 18:06:54 +0000 (23:06 +0500)]
doc: fix typo in contributors guide

Bugzilla ID: 420
Fixes: 58abf6e77c6b ("doc: add contributors guide")
Cc: stable@dpdk.org
Signed-off-by: Sarosh Arif <sarosh.arif@emumba.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
3 years agodoc: update igb_uio module status in Linux guide
Ferruh Yigit [Thu, 21 May 2020 15:11:06 +0000 (16:11 +0100)]
doc: update igb_uio module status in Linux guide

igb_uio kernel module disabled by default starting from v20.02,
document this to prevent confusion.

And add note about long term igb_uio plans/directions to move it to
another repo based on DPDK technical board decision:
http://mails.dpdk.org/archives/dev/2019-November/151763.html

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
3 years agodoc: add gcc 10 support to release notes
Kevin Traynor [Fri, 22 May 2020 15:14:34 +0000 (16:14 +0100)]
doc: add gcc 10 support to release notes

Note support for gcc 10 in the DPDK 20.05 release notes.

Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
3 years agodevtools: add acronyms in dictionary for commit checks
Ferruh Yigit [Wed, 20 May 2020 10:25:02 +0000 (11:25 +0100)]
devtools: add acronyms in dictionary for commit checks

AltiVec ->
IOTLB   -> Input/Output Translation Lookaside Buffer
IPsec   -> Internet Protocol security
PPPoE   -> Point-to-Point Protocol over Ethernet
PVID    -> Port VLAN IDentifier

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
3 years agodevtools: remove old ABI validation script
Neil Horman [Thu, 16 Apr 2020 14:54:14 +0000 (10:54 -0400)]
devtools: remove old ABI validation script

Since we've moved away from our initial validate-abi.sh script,
in favor of check-abi.sh, which uses libabigail,
remove the old script from the tree, and update the docs accordingly.

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
3 years agousertools: read PCI device name as UTF-8
Christos Ricudis [Mon, 13 Apr 2020 16:18:04 +0000 (00:18 +0800)]
usertools: read PCI device name as UTF-8

Fixes the case where a PCI device string identifier
contains non-ASCII UTF-8

A particular example is Mellanox Connext-X 5 EN MT27800:

28:00.0 Ethernet controller: Mellanox Technologies
MT27800 Family [ConnectX-5]

Subsystem: Mellanox Technologies ConnectXĀ®-5 EN network
interface card, 100GbE single-port QSFP28, PCIe3.0 x16,
tall bracket; MCX515A-CCAT

Signed-off-by: Christos Ricudis <ricudis@niometrics.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
3 years agodoc: add NASM installation steps
Pablo de Lara [Thu, 21 May 2020 09:15:12 +0000 (10:15 +0100)]
doc: add NASM installation steps

The intel-ipsec-mb library requires NASM as a dependency.
Steps on how to get and install NASM are added on the documentation
of the crypto PMDs which requires the library.

Bugzilla ID: 417
Cc: stable@dpdk.org
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Kevin Traynor <ktraynor@redhat.com>
3 years agodoc: fix telemetry registration example
Ciara Power [Fri, 22 May 2020 16:27:41 +0000 (17:27 +0100)]
doc: fix telemetry registration example

The example shown for registering telemetry commands was previously
missing the help text parameter.

Fixes: 24cd1b529f35 ("doc: update telemetry guides")

Signed-off-by: Ciara Power <ciara.power@intel.com>
Reviewed-by: Kevin Laatz <kevin.laatz@intel.com>
3 years agoexamples/ip_pipeline: remove check of null response
Jasvinder Singh [Mon, 27 Apr 2020 16:56:49 +0000 (17:56 +0100)]
examples/ip_pipeline: remove check of null response

For sending request messages to data plane threads, the
caller invokes *_msg_send_recv() functions which never
return null response. Thus, removed redundant check on
the returned response.

Coverity issue: 357750, 357740, 357749, 357758, 357702, 357736
Coverity issue: 357679, 357791, 357738, 357778, 357716, 357705
Coverity issue: 357776, 357753, 357729, 357735, 357773, 357723
Fixes: 32e5d9b154cb ("examples/ip_pipeline: add enable and disable commands")
Fixes: 50e73d051806 ("examples/ip_pipeline: add stats read commands")
Fixes: 6b1b3c3c9d30 ("examples/ip_pipeline: add port enable and disable commands")
Fixes: a3a95b7d58b9 ("examples/ip_pipeline: add table entry commands")
Fixes: 3186282f8e12 ("examples/ip_pipeline: add table bulk add command")
Fixes: f634e4c5698a ("examples/ip_pipeline: add table entry delete command")
Fixes: c64b9121a963 ("examples/ip_pipeline: add table entry stats command")
Fixes: 7e11393e40ef ("examples/ip_pipeline: add meter profile commands")
Fixes: e92058d604e6 ("examples/ip_pipeline: add meter stats command")
Fixes: 2b82ef4861c0 ("examples/ip_pipeline: add DSCP table update command")
Fixes: d0d306c7f2a1 ("examples/ip_pipeline: add TTL stats command")
Fixes: a3169ee5ec59 ("examples/ip_pipeline: support rule time read")
Cc: stable@dpdk.org
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
3 years agoexamples/kni: fix crash during MTU set
Ferruh Yigit [Thu, 21 May 2020 15:10:42 +0000 (16:10 +0100)]
examples/kni: fix crash during MTU set

During MTU set (kni_change_mtu) sample application setup queues, which
can free and re-allocate queues.
Meanwhile sample application keeps continues in Rx/Tx burst calls in
different threads, which may cause crash during queue setup.

Pausing application Rx/Tx calls before MTU set and starts it back
afterwards.

Bugzilla ID: 482
Fixes: a26b116749a3 ("examples/kni: fix MTU change to setup Tx queue")
Cc: stable@dpdk.org
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Rasesh Mody <rmody@marvell.com>
Tested-by: Xi Zhang <xix.zhang@intel.com>
3 years agotelemetry: fix init log printing
Ciara Power [Fri, 22 May 2020 13:48:39 +0000 (14:48 +0100)]
telemetry: fix init log printing

Initially, printf was used to indicate and error/warning resulting from
telemetry initialisation. This is now fixed to use EAL logs for
notices, and the unnecessary printf for an error is removed.

Fixes: eeb486f3ba65 ("eal: add telemetry as dependency")
Fixes: dd6275a424ac ("telemetry: fix error log output")

Signed-off-by: Ciara Power <ciara.power@intel.com>
Reviewed-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
3 years agonet/ixgbe: check driver type in MACsec API
Guinan Sun [Fri, 22 May 2020 05:59:55 +0000 (05:59 +0000)]
net/ixgbe: check driver type in MACsec API

The driver type need to be checked in private API.

Fixes: 50556c88104c ("net/ixgbe: fix MACsec setting")
Cc: stable@dpdk.org
Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
Acked-by: Kevin Traynor <ktraynor@redhat.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
3 years agonet/i40e: fix flow director enabling
Wei Zhao [Thu, 21 May 2020 08:03:06 +0000 (16:03 +0800)]
net/i40e: fix flow director enabling

When we flush flow FDIR, all queues are disabled for FDIR.
If FDIR rule is created again, then the flow list is empty,
as it is the first time to create rule after flush fdir filter,
so we need to enable FDIR for all queues.
And also, disable FDIR for queues should be done in function
i40e_flow_flush_fdir_filter().

Fixes: 1491f63c7559 ("net/i40e: fix flush of flow director filter")
Fixes: 6ae9b2b5e8c2 ("net/i40e: cache flow director enable value in Rx queue")
Cc: stable@dpdk.org
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Reviewed-by: Jeff Guo <jia.guo@intel.com>
3 years agonet/iavf: fix flow access
Jeff Guo [Fri, 22 May 2020 02:11:51 +0000 (22:11 -0400)]
net/iavf: fix flow access

Add invalid flow checking func in iavf generic flow to avoid the error
of "Cannot access memory at address 0xXXXXXX" occur.

When hash init, the default RSS rules would be added, while hash uninit,
the default RSS rules should be deleted. Add the missing part in the
hash uninit process.

Fixes: 5ea614254332 ("net/iavf: fix VF reset for RSS")
Fixes: ff2d0c345c3b ("net/iavf: support generic flow API")

Signed-off-by: Jeff Guo <jia.guo@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Tested-by: Yuan Peng <yuan.peng@intel.com>
3 years agonet/ice: fix setting L2TAG
Jeff Guo [Wed, 20 May 2020 21:46:14 +0000 (17:46 -0400)]
net/ice: fix setting L2TAG

Base on HW, if a packet is split into multiple segments, the L2TAG
should only be valid on the last Rx descriptor. So fix it by setting
L2TAG into mbuf when processing the last split packet.

Fixes: c68a52b8b38c ("net/ice: support vector SSE in Rx")
Cc: stable@dpdk.org
Signed-off-by: Jeff Guo <jia.guo@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
3 years agonet/iavf: fix setting L2TAG
Jeff Guo [Wed, 20 May 2020 21:44:14 +0000 (17:44 -0400)]
net/iavf: fix setting L2TAG

Base on HW, if a packet is split into multiple segments, the L2TAG
should only be valid on the last Rx descriptor. So fix it by setting
L2TAG into mbuf when processing the last split packet.

Fixes: 319c421f3890 ("net/avf: enable SSE Rx Tx")
Cc: stable@dpdk.org
Signed-off-by: Jeff Guo <jia.guo@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
3 years agonet/i40e: fix setting L2TAG
Jeff Guo [Wed, 20 May 2020 21:25:21 +0000 (17:25 -0400)]
net/i40e: fix setting L2TAG

Base on HW, if a packet is split into multiple segments, the L2TAG
should only be valid on the last Rx descriptor. So fix it by setting
L2TAG into mbuf when processing the last split packet.

Fixes: ca74903b75cf ("net/i40e: extract non-x86 specific code from vector driver")
Cc: stable@dpdk.org
Signed-off-by: Jeff Guo <jia.guo@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
3 years agodoc: add cycles per packet in testpmd guide
Dharmik Thakkar [Wed, 20 May 2020 03:20:22 +0000 (03:20 +0000)]
doc: add cycles per packet in testpmd guide

Update documentation for 'show fwd' testpmd runtime function to show
CPU cycles/packet example.

Signed-off-by: Dharmik Thakkar <dharmik.thakkar@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
3 years agonet/mlx5: revert DevX preference for Rx objects
Dekel Peled [Wed, 20 May 2020 12:37:31 +0000 (15:37 +0300)]
net/mlx5: revert DevX preference for Rx objects

Recent patch exposed a minor performance issue,
so it is reverted.

Fixes: d237d22fbe62 ("net/mlx5: prefer DevX API to create Rx objects")

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
3 years agonet/sfc/base: fix manual filter delete in EF10
Igor Romanov [Wed, 20 May 2020 13:59:52 +0000 (14:59 +0100)]
net/sfc/base: fix manual filter delete in EF10

When user requests a filter deletion only filter with
manual priority must be deleted. When an automatic filter has
the same specification, it must be skipped.

Fixes: 585c22edb29c ("net/sfc/base: handle manual and auto filter clashes in EF10")
Cc: stable@dpdk.org
Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
3 years agonet/hinic: fix TSO
Xiaoyun Wang [Wed, 20 May 2020 11:52:59 +0000 (19:52 +0800)]
net/hinic: fix TSO

When TSO MSS is smaller than 80, and the sum length of continuous
sge num is larger than a MSS, which may cause hardware failed,
so in this scenarios pmd driver should adjust the tso_segsz with
the same with the value of hardware supported.

Fixes: 076221c8fe1d ("net/hinic: add Rx/Tx")
Cc: stable@dpdk.org
Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
3 years agonet/octeontx2: fix buffer size assignment
Ankur Dwivedi [Wed, 20 May 2020 12:20:10 +0000 (17:50 +0530)]
net/octeontx2: fix buffer size assignment

The elt_size field in mempool holds the size of one packet buffer.
It can be used to set the lpm_sizem1 field in rq context.

The lpb_sizem1 field in rq context is 12 bit, direct assignment
to it was causing overflow of value. Because of this errors
were observed while trying inline inbound with large packets.
This patch resolves the errors.

Fixes: 094fc8a3a1e2 ("net/octeontx2: add Rx queue setup and release")
Cc: stable@dpdk.org
Signed-off-by: Ankur Dwivedi <adwivedi@marvell.com>
Reviewed-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
Reviewed-by: Jerin Jacob <jerinj@marvell.com>
3 years agonet/bnxt: fix Rx ring producer index
Rahul Gupta [Wed, 20 May 2020 17:39:18 +0000 (23:09 +0530)]
net/bnxt: fix Rx ring producer index

When a queue is started after deferred_start, then increment raw_prod
irrespective of new mbuf is allocated or old mbufs are used.

Fixes: d256c73c1122 ("net/bnxt: fix memory leak during queue restart")
Cc: stable@dpdk.org
Signed-off-by: Rahul Gupta <rahul.gupta@broadcom.com>
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
3 years agodoc: update bnxt guide
Ajit Khaparde [Fri, 1 May 2020 19:22:45 +0000 (12:22 -0700)]
doc: update bnxt guide

    - Update list of supported adapters.
    - Update list of supported features.
    - Add some details to describe the features.
    - Remove obsolete limitations.
    - Fix and update links.

Signed-off-by: JP Lee <jongpil.lee@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Marko Kovacevic <marko.kovacevic@intel.com>
3 years agonet/iavf: fix flow director after queue reconfigured
Leyi Rong [Wed, 20 May 2020 06:39:50 +0000 (14:39 +0800)]
net/iavf: fix flow director after queue reconfigured

FDIR ID parsing will not be handled correctly after queue reconfigured,
enable FDIR ID parsing per Q regardless of fdir_ref_cnt to fix it.

Fixes: f71dbf852d46 ("net/iavf: add flow director enabled switch value")

Signed-off-by: Leyi Rong <leyi.rong@intel.com>
Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
3 years agonet/ice/base: fix tunnel type match word handling
Qi Zhang [Mon, 18 May 2020 04:23:51 +0000 (12:23 +0800)]
net/ice/base: fix tunnel type match word handling

Use a common function when selecting the proper word and mask match for
a tunnel type when programming switch rules.

Store switch recipe field mask as little endian, which avoids needing to
convert back to big endian after reading recipe from FW.

Obtain word mask from FW recipe.

Fix word matching element and index pairing.

Fixes: fed0c5ca5f19 ("net/ice/base: support programming a new switch recipe")
Cc: stable@dpdk.org
Signed-off-by: Dan Nowlin <dan.nowlin@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Qiming Yang <qiming.yang@intel.com>
3 years agocryptodev: fix SHA-1 digest enum comment
Adam Dybkowski [Thu, 21 May 2020 14:48:53 +0000 (16:48 +0200)]
cryptodev: fix SHA-1 digest enum comment

This patch fixes improper SHA-1 digest size in the enum comment
and also adds the note about HMAC-SHA-1-96.

Fixes: 1bd407fac80b ("cryptodev: extract symmetric operations")
Cc: stable@dpdk.org
Signed-off-by: Adam Dybkowski <adamx.dybkowski@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Anoob Joseph <anoobj@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
3 years agodoc: fix build with doxygen 1.8.18
Thomas Monjalon [Wed, 20 May 2020 13:33:43 +0000 (15:33 +0200)]
doc: fix build with doxygen 1.8.18

Having an explicit "index" anchor looks forbidden:

doc/api/doxy-api-index.md:1: warning:
multiple use of section label 'index' for main page

Anyway this anchor was not used, it can be removed.

Fixes: 9bf486e606b0 ("doc: generate HTML for API with doxygen")
Cc: stable@dpdk.org
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Tested-by: Jerin Jacob <jerinj@marvell.com>
3 years agodevtools: allow warnings in ABI reference build
Thomas Monjalon [Wed, 20 May 2020 09:52:25 +0000 (11:52 +0200)]
devtools: allow warnings in ABI reference build

There is no point in forcing warning-free compilation when building
an ABI reference. It is only preventing from compiling ABI reference
of old releases with recent compilers.

Note: DPDK 20.02 is built (with warnings) by GCC 10 if using -fcommon.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: David Marchand <david.marchand@redhat.com>
Acked-by: Kevin Traynor <ktraynor@redhat.com>
3 years agoexamples/vm_power: drop Unix path limit redefinition
Thomas Monjalon [Wed, 20 May 2020 08:10:50 +0000 (10:10 +0200)]
examples/vm_power: drop Unix path limit redefinition

The Unix socket path may be as long as UNIX_PATH_MAX.
This constant is supposed to be defined in sys/un.h.
On Linux, it appears to be in linux/un.h.

This constant was re-defined locally, based on a variable declaration.
It is breaking compilation with -fno-common (default in GCC 10)
We could avoid the variable declaration by using NULL struct,
but it looks simpler not redefining this system constant.

As the power library and its examples are restricted to Linux only,
the Linux header file is directly included.

Fixes: 0d74597c1b4f ("examples/vm_power: fix max length of unix socket path")
Cc: stable@dpdk.org
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: David Marchand <david.marchand@redhat.com>
Acked-by: Kevin Traynor <ktraynor@redhat.com>
3 years agoexamples/vm_power: fix build with -fno-common
Thomas Monjalon [Wed, 20 May 2020 07:59:35 +0000 (09:59 +0200)]
examples/vm_power: fix build with -fno-common

The variables of the same name are merged together
if compiled with -fcommon. It used to be the default.
This default behaviour allows to declare a variable in a header file and
share the variable in every .o binaries thanks to merge at link-time.

If compiling with -fno-common (default in GCC 10), the variable must be
shared as extern to avoid multiple re-definitions.

Fixes: dff22404aaad ("examples/vm_power_mgr: add VCPU to PCPU mapping")
Cc: stable@dpdk.org
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: David Marchand <david.marchand@redhat.com>
Acked-by: Kevin Traynor <ktraynor@redhat.com>
3 years agonet/mvpp2: fix build with gcc 10
Thomas Monjalon [Wed, 20 May 2020 09:56:02 +0000 (11:56 +0200)]
net/mvpp2: fix build with gcc 10

GCC 10 is detecting the enum mismatch when assigning UDP variables
with MUSDK constants for TCP.

drivers/net/mvpp2/mrvl_flow.c:2521:47: error: implicit conversion
from 'enum mv_net_tcp_fields' to 'enum mv_net_udp_fields'
[-Werror=enum-conversion]

An assigned field is also fixed from "tcp" to "udp".

Fixes: 7235341d7517 ("net/mrvl: support classifier")
Cc: stable@dpdk.org
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Liron Himi <lironh@marvell.com>
Acked-by: David Marchand <david.marchand@redhat.com>
Acked-by: Kevin Traynor <ktraynor@redhat.com>
3 years agobus/fslmc: drop inline from non-static functions
Ferruh Yigit [Wed, 20 May 2020 10:22:22 +0000 (11:22 +0100)]
bus/fslmc: drop inline from non-static functions

There is no point in having non-static (and non-extern) inline
functions.

Also this breaks the build for the ICC [1] because of the 'internal'
symbol check.

When function is 'inline' ICC is ignoring 'section' attribute and not
putting function to 'internal' section which breaks 'check-symbols.sh'
script with below error.

[1]
qbman_swp_dqrr_next is not flagged as internal
but is listed in version map
Please add __rte_internal to the definition of qbman_swp_dqrr_next
qbman_swp_enqueue_multiple is not flagged as internal
but is listed in version map
Please add __rte_internal to the definition of qbman_swp_enqueue_multiple
qbman_swp_enqueue_multiple_desc is not flagged as internal
but is listed in version map
Please add __rte_internal to the definition of qbman_swp_enqueue_multiple_desc
qbman_swp_enqueue_multiple_fd is not flagged as internal
but is listed in version map
Please add __rte_internal to the definition of qbman_swp_enqueue_multiple_fd
qbman_swp_pull is not flagged as internal
but is listed in version map
Please add __rte_internal to the definition of qbman_swp_pull
qbman_swp_release is not flagged as internal
but is listed in version map
Please add __rte_internal to the definition of qbman_swp_release

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
3 years agoversion: 20.05-rc3
Thomas Monjalon [Tue, 19 May 2020 18:52:47 +0000 (20:52 +0200)]
version: 20.05-rc3

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
3 years agomaintainers: update for ice
Qi Zhang [Thu, 30 Apr 2020 09:28:05 +0000 (17:28 +0800)]
maintainers: update for ice

Replace Wenzhuo Lu with Qi Zhang.

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
3 years agovhost: fix zero-copy server mode
Xuan Ding [Tue, 19 May 2020 10:15:46 +0000 (10:15 +0000)]
vhost: fix zero-copy server mode

This patch fixes the situation where vhost-user cannot start as server
with dequeue_zero_copy enabled.

Using flag instead of vsocket->is_server to determine whether vhost-user
is in client mode. Because vsocket->is_server is not ready at this time.

Fixes: 715070ea10e6 ("vhost: prevent zero-copy with incompatible client mode")
Cc: stable@dpdk.org
Signed-off-by: Xuan Ding <xuan.ding@intel.com>
Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
Tested-by: Yinan Wang <yinan.wang@intel.com>
3 years agonet/iavf: fix VF reset for RSS
Jeff Guo [Tue, 19 May 2020 14:23:50 +0000 (10:23 -0400)]
net/iavf: fix VF reset for RSS

Since there are some default rss configure in kernel PF/VF but not DPDK
IAVF, if these configurations be modified by VF and then VF reset, this
default rss configurations can not be reset to default by IAVF. So need
to add default rss set in IAVF hash initial process.

Fixes: 7be10c3004be ("net/iavf: add RSS configuration for VF")
Cc: stable@dpdk.org
Signed-off-by: Jeff Guo <jia.guo@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Tested-by: Zhiwei He <zhiwei.he@intel.com>
3 years agonet/i40e: fix queue related exception handling
Qiming Yang [Mon, 18 May 2020 05:45:53 +0000 (13:45 +0800)]
net/i40e: fix queue related exception handling

There should have different behavior in queue start fail and stop fail
case.  When queue start fail, all the next actions should be terminated
and then started queues should be cleared. But for queue stop stage, one
queue stop fail should not end other queues stop. This patch fixed that
issue in PF and VF.

Fixes: b6583ee40265 ("i40e: full VMDQ pools support")
Fixes: 3f6a696f1054 ("i40evf: queue start and stop")
Cc: stable@dpdk.org
Signed-off-by: Qiming Yang <qiming.yang@intel.com>
Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
3 years agonet/ice: fix RSS for GTPU
Qi Zhang [Wed, 13 May 2020 12:11:44 +0000 (20:11 +0800)]
net/ice: fix RSS for GTPU

All supported pattern for GTPU include extend header:
pattern_eth_ipv4_gtpu_eh_ipv4
pattern_eth_ipv4_gtpu_eh_ipv4_udp
pattern_eth_ipv4_gtpu_eh_ipv4_tcp

So the RSS rule should only take effect on GTPU packet that contains
extend header. The patch fix above issue and also allow inner l4 port
as input set.

Fixes: c08a72c79c7f ("net/ice: fix pattern name of GTPU with extension header")
Cc: stable@dpdk.org
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Qiming Yang <qiming.yang@intel.com>
Tested-by: Simei Su <simei.su@intel.com>
3 years agonet/i40e: fix wild pointer
Wei Zhao [Mon, 18 May 2020 08:00:51 +0000 (16:00 +0800)]
net/i40e: fix wild pointer

In i40e PMD code of function i40e_res_pool_free(), if valid_entry
is freed by "rte_free(valid_entry);" in the code, then the following
code for pool update may still use the wild pointer "valid_entry"
for pool info update. It seems has the risk of core dump for
using wild pointer operation, we should avoid this risk.

Fixes: 4861cde46116 ("i40e: new poll mode driver")
Cc: stable@dpdk.org
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Reviewed-by: Jeff Guo <jia.guo@intel.com>
Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
3 years agodoc: update release notes for hns3 driver
Wei Hu (Xavier) [Tue, 19 May 2020 02:11:09 +0000 (10:11 +0800)]
doc: update release notes for hns3 driver

Add release notes for Hisilicon hns3 PMD driver.

Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
3 years agoapp/fib: fix parsing of invalid line
Vladimir Medvedkin [Mon, 11 May 2020 09:22:32 +0000 (10:22 +0100)]
app/fib: fix parsing of invalid line

Check returned value after strtok()
CID 355674 (#1 of 1): Dereference null return value (NULL_RETURNS)
4. dereference: Dereferencing a pointer that might be NULL s when
calling inet_pton

Fixes: 103809d032cd ("app/test-fib: add test application for FIB")
Cc: stable@dpdk.org
Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
3 years agoexamples/l3fwd-graph: check link query failure
Pavan Nikhilesh [Wed, 13 May 2020 20:22:17 +0000 (01:52 +0530)]
examples/l3fwd-graph: check link query failure

Fix unchecked return values reported by coverity.

Coverity issue: 350601
Fixes: ef853f1fd979 ("examples/l3fwd-graph: add ethdev configuration changes")

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Acked-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
3 years agoexamples/l3fwd: check service core reset result
Pavan Nikhilesh [Wed, 13 May 2020 20:20:25 +0000 (01:50 +0530)]
examples/l3fwd: check service core reset result

Fix unchecked return values reported by coverity.

Coverity issue: 354235
Fixes: 8bd537e9c6cf ("examples/l3fwd: add service core setup based on caps")
Cc: stable@dpdk.org
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
3 years agodevtools: preserve internal section on ABI bump
Haiyue Wang [Thu, 30 Apr 2020 05:46:06 +0000 (13:46 +0800)]
devtools: preserve internal section on ABI bump

INTERNAL is a newly introduced version, update the script used to bump
ABI in all map files but leaving internal section exactly as it is.

Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>
Acked-by: David Marchand <david.marchand@redhat.com>
3 years agodevtools: handle internal version in symbols check
Haiyue Wang [Thu, 30 Apr 2020 05:46:05 +0000 (13:46 +0800)]
devtools: handle internal version in symbols check

INTERNAL is a newly introduced version, update the shell script that
checks whether built libraries are versioned with expected ABI
(current ABI, current ABI + 1, EXPERIMENTAL, or INTERNAL).

Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>
Acked-by: David Marchand <david.marchand@redhat.com>
3 years agoexamples/kni: fix MTU change to setup Tx queue
Rasesh Mody [Thu, 14 May 2020 04:09:38 +0000 (21:09 -0700)]
examples/kni: fix MTU change to setup Tx queue

This patch adds a fix to setup Tx queue when changing KNI interface MTU.
It ensures device can safely start txq post MTU change operation.

Fixes: fc9ee41b7016 ("examples/kni: convert to new ethdev offloads API")
Cc: stable@dpdk.org
Signed-off-by: Rasesh Mody <rmody@marvell.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
3 years agomempool/octeontx2: add devargs to lock context in cache
Pavan Nikhilesh [Mon, 11 May 2020 10:07:38 +0000 (15:37 +0530)]
mempool/octeontx2: add devargs to lock context in cache

Add device arguments to lock NPA aura and pool contexts in NDC cache.
The device args take hexadecimal bitmask where each bit represent the
corresponding aura/pool id.
Example:
-w 0002:02:00.0,npa_lock_mask=0xf // Lock first 4 aura/pool ctx

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
3 years agomk: add note about make system deprecation
Bruce Richardson [Mon, 27 Apr 2020 14:25:20 +0000 (15:25 +0100)]
mk: add note about make system deprecation

When anyone uses the make build system, they are to be informed
about upcoming plans to deprecate and subsequently remove that
system and to use meson and ninja instead.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
3 years agokernel/linux: error out on module build failure
Anatoly Burakov [Mon, 11 May 2020 10:25:13 +0000 (11:25 +0100)]
kernel/linux: error out on module build failure

Now that kernel modules aren't built by default, we can be more
strict with their build process, and fail the build if they were
requested to be built, but weren't.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
3 years agobuild: skip config of explicitly disabled drivers
Darek Stojaczyk [Thu, 7 May 2020 10:13:50 +0000 (12:13 +0200)]
build: skip config of explicitly disabled drivers

Even when a PMD was disabled with meson's disable_drivers option
its config file was still being parsed. Some of the PMD configs
attempt to find a library they depend on and parse its header files
with certain assumptions. If the library is found, but it's simply
too old to contain the necessary header files, the meson build
fails and it can only be fixed by either updating that library, or
expanding the meson script for the faulty PMD.

While the latter should be still done for the sake of DPDK quality,
an intermediate solution would be to skip building the faulty PMD
- there's a chance we don't need it. That's what this patch allows.

Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
3 years agometer: provide experimental alias for matured API
Ferruh Yigit [Tue, 19 May 2020 12:16:29 +0000 (13:16 +0100)]
meter: provide experimental alias for matured API

On v20.02 some meter APIs have been matured and symbols moved from
EXPERIMENTAL to DPDK_20.0.1 block.

This can break the applications that were using these mentioned APIs on
v19.11. Although there is no modification on the APIs and the action is
positive and matures the APIs, the affect can be negative to
applications.

This patch provides aliasing by duplicating the existing and versioned
symbols as experimental.

Since symbols moved from DPDK_20.0.1 to DPDK_21 block in the v20.05, the
aliasing done between EXPERIMENTAL and DPDK_21.

With DPDK_21 ABI (DPDK v20.11) all aliasing will be removed and only
stable version of the APIs will remain.

Fixes: 30512af820fe ("meter: remove experimental flag from RFC4115 trTCM API")
Cc: stable@dpdk.org
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
3 years agodoc: add link to stable roadmap
Kevin Traynor [Fri, 13 Mar 2020 19:54:42 +0000 (19:54 +0000)]
doc: add link to stable roadmap

The versions currently listed as maintained have gone stale.

Rather than having to keep updating this doc, point to the
dpdk.org stable roadmap.

Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
Acked-by: David Marchand <david.marchand@redhat.com>
3 years agodoc: use globbing terminology
Jerin Jacob [Mon, 4 May 2020 13:45:37 +0000 (19:15 +0530)]
doc: use globbing terminology

Glob is the terminology used in fnmatch man page.
Use glob terminology across DPDK for shell pattern.

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
3 years agofix same typo in multiple places
Muhammad Bilal [Fri, 15 May 2020 16:50:54 +0000 (21:50 +0500)]
fix same typo in multiple places

Removed the typing error in doc/guides/eventdevs/index.rst,
drivers/net/mlx5/mlx5.c and in lib/librte_vhost/rte_vhost.h

Bugzilla ID: 477
Fixes: 0857b9421138 ("doc: add event device and software eventdev")
Fixes: 039253166a57 ("vhost: add device op when notification to guest is sent")
Fixes: ad74bc619504 ("net/mlx5: support multiport IB device during probing")
Cc: stable@dpdk.org
Signed-off-by: Muhammad Bilal <m.bilal@emumba.com>
3 years agobus/fslmc: remove unused internal symbol
Hemant Agrawal [Fri, 15 May 2020 09:47:52 +0000 (15:17 +0530)]
bus/fslmc: remove unused internal symbol

rte_dpaa2_memsegs is not being used by any other library
or even within bus.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
3 years agobus/fslmc: add accessor for MCP
Hemant Agrawal [Fri, 15 May 2020 09:47:51 +0000 (15:17 +0530)]
bus/fslmc: add accessor for MCP

Currently rte_mcp_ptr_list is being shared as a variable
across libs. This is only used in control path.
This patch change it to a exported function based access.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
3 years agobus/dpaa: add accessor for netcfg
Hemant Agrawal [Fri, 15 May 2020 09:47:50 +0000 (15:17 +0530)]
bus/dpaa: add accessor for netcfg

This patch changes the export of fman port config
as function call instead of direct variable access.
This is in control path, so it will not impact perf.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
3 years agobus/dpaa: move log types to NXP drivers
Hemant Agrawal [Fri, 15 May 2020 09:47:49 +0000 (15:17 +0530)]
bus/dpaa: move log types to NXP drivers

This is to reduce the number of variables getting exposed
from the dpaa bus. They are not required to be in bus.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
3 years agobus/dpaa: add accessor for qman portal ids
Hemant Agrawal [Fri, 15 May 2020 09:47:48 +0000 (15:17 +0530)]
bus/dpaa: add accessor for qman portal ids

qman caam and pool portal ids are only used in control
path. This patch changes their inter library access to
function call instead of direct shared variable.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
3 years agomempool/dpaa2: install missing header with meson
Hemant Agrawal [Fri, 15 May 2020 09:47:47 +0000 (15:17 +0530)]
mempool/dpaa2: install missing header with meson

rte_dpaa2_mempool.h header was missed to be added in meson.build
for header installation.

Fixes: 7ed359909556 ("mempool/dpaa2: add functions for CMDIF")
Cc: stable@dpdk.org
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>