Commit Graph

26028 Commits

Author SHA1 Message Date
John McNamara
3745f64b4a license: add licenses for exception cases
The license/exceptions.txt file lists a small number of files
that have licenses that are exceptions to the three main
licenses defined in the Intellectual Property Policy of the
DPDK Charter.

The three exception licenses are MIT, ISC and BSD-2-Clause.
Each of these licenses states that the content of the license
message should be included in the code distribution. This
change adds the text of the MIT, ISC and BSD-2-Clause licenses
as defined on the SPDX website.

Cc: stable@dpdk.org

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2020-12-11 12:22:19 +01:00
Nick Connolly
ecc69f98c7 build: disable Windows warnings for insecure funtions
Microsoft CRT defines Windows-specific secure alternatives to
standard library functions and triggers warnings when "insecure"
functions are used [1]. However, calling code already has all
necessary checks around those functions, so these warnings are not
useful for DPDK. MinGW provides its own CRT without this issue.

[1]:
https://docs.microsoft.com/en-us/cpp/c-runtime-library/security-features-in-the-crt?view=msvc-160

Disable this by defining -D_CRT_SECURE_NO_WARNINGS.

Signed-off-by: Nick Connolly <nick.connolly@mayadata.io>
Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Acked-by: Pallavi Kadam <pallavi.kadam@intel.com>
2020-12-07 21:34:04 +01:00
Nick Connolly
498ec3c6da eal/windows: fix vfprintf warning with clang
When building with clang (11.0,--buildtype=debug), eal_lcore.c
produces a -Wformat-nonliteral warning from the vfprintf call
in log_early.

Add __rte_format_printf annotation.

Fixes: b8a36b0866 ("eal/windows: improve CPU and NUMA node detection")
Cc: stable@dpdk.org

Suggested-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Signed-off-by: Nick Connolly <nick.connolly@mayadata.io>
Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Acked-by: Pallavi Kadam <pallavi.kadam@intel.com>
2020-12-07 21:24:57 +01:00
Nick Connolly
a7288328a9 eal/windows: fix debug build with MinGW
Compiling with MinGW in --buildtype=debug produces a redefinition
error for strncasecmp.

The root cause is that rte_os.h shouldn't be injecting POSIX definitions
into the environment.  It is the applications responsibility to decide
how to handle missing functionality.

Resolving this properly will require further work, but in the meantime
wrap all such definitions with #ifndef/#endif.  This resolves the specific
issue with strncasecmp and handles similar issues that applications may
encounter.

Fixes: e8428a9d89 ("eal/windows: add some basic functions and macros")
Cc: stable@dpdk.org

Reported-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Nick Connolly <nick.connolly@mayadata.io>
2020-12-07 20:46:33 +01:00
Dmitry Kozlyuk
de785ba056 bus/pci: fix build with MinGW-w64 8
Fix redefinition of GUID, missing from previous versions.

Fixes: b762221ac2 ("bus/pci: support Windows with bifurcated drivers")
Cc: stable@dpdk.org

Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Tested-by: Thomas Monjalon <thomas@monjalon.net>
2020-12-07 15:26:26 +01:00
Dmitry Kozlyuk
93bf432dd5 eal/windows: fix build with MinGW-w64 8
MinGW-w64 above 8.0.0 exposes VirtualAlloc2() API in headers, but lacks
it in import libraries. Hence, availability of this API at compile-time
can't be used to choose between locating VirtualAlloc2() manually or
relying on the dynamic linker.

Fix redefinition compile-time errors.
Always link VirtualAlloc2() when using GCC.

Fixes: 2a5d547a4a ("eal/windows: implement basic memory management")
Cc: stable@dpdk.org

Reported-by: Thomas Monjalon <thomas@monjalon.net>
Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Tested-by: Thomas Monjalon <thomas@monjalon.net>
2020-12-07 14:00:22 +01:00
David Marchand
d3fa7b89f0 version: 21.02-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>
2020-11-30 10:55:22 +01:00
Thomas Monjalon
b1d36cf828 version: 20.11.0
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2020-11-27 19:48:48 +01:00
Ferruh Yigit
df18819356 doc: announce deprecation of maximum Rx length field
The configuration related to the MTU is complex
and have some design issues.
This area should be redesigned a bit.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: Matan Azrad <matan@nvidia.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
2020-11-27 19:33:52 +01:00
Ferruh Yigit
7f01375166 doc: announce flow API matching structs changes
Proposing to replace protocol header fields in the ``rte_flow_item_*``
structures with the protocol structs.

This is both for documenting the intention and to be sure
``rte_flow_item_*`` always starts with complete protocol header.

Change will be done in two steps, at first step in v21.02 release,
protocol header struct will be added as union, for example:

Current ``struct rte_flow_item_eth``,

struct rte_flow_item_eth {
	struct rte_ether_addr dst;
	struct rte_ether_addr src;
	rte_be16_t type;
	uint32_t has_vlan:1;
	uint32_t reserved:31;
}

will become in v21.02:

__extension__
struct rte_flow_item_eth {
	union {
		struct {
			struct rte_ether_addr dst;
			struct rte_ether_addr src;
			rte_be16_t type;
		};
		struct rte_ether_hdr hdr;
	};
	uint32_t has_vlan:1;
	uint32_t reserved:31;
}

After this point usage should switch to 'hdr' struct.

And in the second step, in the v21.11 LTS release the protocol fields
will be removed, and the struct will become:

struct rte_flow_item_eth {
	struct rte_ether_hdr hdr;
	uint32_t has_vlan:1;
	uint32_t reserved:31;
}

Already many ``rte_flow_item_*`` structures implemented to have protocol
struct, target is convert all to this usage.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
2020-11-27 19:17:00 +01:00
Andrew Rybchenko
8ca9bf26f5 ethdev: deprecate shared counters using action attribute
A new generic shared actions API may be used to create shared
counter. There is no point to keep duplicate COUNT action specific
capability to create shared counters.

Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Ori Kam <orika@nvidia.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2020-11-27 19:16:45 +01:00
Ajit Khaparde
f78c615377 doc: add vector mode limitation in bnxt guide
PMD can support vector mode when jumbo is enabled as long as MTU is not
large enough to require scattered RX (which also depends on the mbuf size).

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2020-11-27 18:39:04 +01:00
Anatoly Burakov
8a8979c9c5 doc: add VFIO troubleshooting in Linux guide
There are common problems with VFIO that get asked over and over on the
mailing list. Document common problems with VFIO and how to fix them or
at least figure out what went wrong.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Kevin Traynor <ktraynor@redhat.com>
2020-11-27 18:33:58 +01:00
Anatoly Burakov
fc08c18338 doc: add VFIO no-IOMMU in Linux guide
Currently, we have no documentation on how to use VFIO in no-IOMMU mode.
Add such documentation.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2020-11-27 18:33:58 +01:00
Anatoly Burakov
9180da6766 doc: reword VFIO and UIO sections in Linux guide
Make sure that we always prioritize VFIO over UIO. Also, minor wording
corrections and improvements.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
2020-11-27 18:33:58 +01:00
Anatoly Burakov
57ff39f432 doc: move VFIO driver to be first in Linux guide
Currently, the Linux GSG mentions UIO drivers first. This is not ideal
as for the longest time, the recommended way to use DPDK with hardware
devices has been to use VFIO driver.

This commit simply moves UIO section after VFIO, with minor edits.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2020-11-27 18:33:58 +01:00
David Marchand
b0a49787b4 usertools: remove dpdk-setup.sh
This old script relied on deprecated stuff, and especially make.
It also applied some scary 666 permissions on files under /dev/vfio.

Its deprecation had been notified in a previous release, remove it.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2020-11-27 17:25:24 +01:00
Ruifeng Wang
3ca55dac6d net/igc: fix build with gcc optimization level 0
GCC build with '-O0' failed for:
 ../drivers/net/igc/base/igc_api.c
 Assembler messages:
29: Error: selected processor does not support `casp x0,x1,x2,x3,[x4]'
82: Error: selected processor does not support `caspa x0,x1,x2,x3,[x4]'
135: Error: selected processor does not support `caspl x0,x1,x2,x3,[x4]'
188: Error: selected processor does not support `caspal x0,x1,x2,x3,[x4]'

This is due to c_args not been passed to meson.

Fixes: 8cb7c57d9b ("net/igc: support device initialization")
Cc: stable@dpdk.org

Reported-by: Feifei Wang <feifei.wang2@arm.com>
Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Tested-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Haiyue Wang <haiyue.wang@intel.com>
2020-11-27 17:01:59 +01:00
Ruifeng Wang
d123fd111a eal/arm: fix build with gcc optimization level 0
GCC build with '-O0' on platforms with RTE_ARM_FEATURE_ATOMICS set
failed for:
 ../lib/librte_efd/rte_efd.c
 Assembler messages:
3866: Error: selected processor does not support `crc32cb w0,w0,w1'
3890: Error: selected processor does not support `crc32ch w0,w0,w1'
3914: Error: selected processor does not support `crc32cw w0,w0,w1'
3938: Error: selected processor does not support `crc32cx w0,w0,x1'

This was caused by an architecture specifier added for Clang.
Unlike Clang, GCC considers each inline assembly block to be dependent
and therefore, the architecture specifier impacts assemble of some
blocks require certain extension support.

Removed the architecture for GCC to fix the issue.

Fixes: 8fce34cd0a ("eal/arm: fix clang build of native target")
Cc: stable@dpdk.org

Reported-by: Feifei Wang <feifei.wang2@arm.com>
Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
2020-11-27 16:51:46 +01:00
Anatoly Burakov
8397cac725 doc: update information on using hugepages
Current information regarding hugepage usage is a little out of date.
Update it to include information on in-memory mode, as well as on
default mountpoints provided by systemd.

Cc: stable@dpdk.org

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2020-11-27 16:25:59 +01:00
Anatoly Burakov
3c3a861ce0 doc: clarify instructions on running as non-root
The current instructions are slightly out of date when it comes to
providing information about setting up the system for using DPDK as
non-root, so update them.

Cc: stable@dpdk.org

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2020-11-27 16:25:59 +01:00
Ray Kinsella
e25156a871 doc: clarify reference version for ABI checks
Clarify the ABI reference version (DPDK_ABI_REF_VERSION) tag, to use
when testing builds with devtools/test-meson-builds.sh before
submitting patches.

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Reviewed-by: David Marchand <david.marchand@redhat.com>
2020-11-27 15:41:32 +01:00
Ferruh Yigit
9f5e6556b9 doc: add sample for ABI checks
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
2020-11-27 15:38:22 +01:00
Stephen Hemminger
95215c7a93 maintainers: update for netvsc
The removed maintainers deal with the Linux side of netvsc and
are not relevant for DPDK.

With Long's help the driver is now stable enough for real usage,
so the experimental mark is removed.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2020-11-27 11:19:42 +01:00
Nikhil Rao
1cb4e1bfc0 maintainers: update for eventdev Rx/Tx adapters
Jay is the new maintainer since Nikhil no longer works on DPDK.

Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
2020-11-27 10:44:05 +01:00
Ajit Khaparde
178290237e doc: add tested platforms for Broadcom NICs
Add tested platforms for Broadcom NICs to the 20.11 release notes.

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2020-11-27 10:34:04 +01:00
Raslan Darawsheh
4d319541bc doc: add tested platforms with Mellanox NICs
Add tested platforms with Mellanox NICs to the 20.11 release notes.

Signed-off-by: Raslan Darawsheh <rasland@nvidia.com>
2020-11-27 10:33:52 +01:00
Bo Chen
6070ae89d0 doc: add tested Intel platforms with Intel NICs
Add tested Intel platforms with Intel NICs to v20.11 release note.

Signed-off-by: Bo Chen <box.c.chen@intel.com>
2020-11-27 10:25:03 +01:00
John McNamara
fb8bf05f8a doc: update release notes for 20.11
Fix grammar, spelling and formatting of DPDK 20.11 release notes.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2020-11-27 10:14:41 +01:00
Bruce Richardson
dc198581b3 doc: remove meson version deprecation notice
DPDK has been using meson 0.47 for some time now, so we can safely
remove the note calling out this fact.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: David Marchand <david.marchand@redhat.com>
2020-11-27 02:03:42 +01:00
Gregory Etelson
829b22c212 doc: add pkg-config requirement for applications
DPDK relies on pkg-config(1) to provide correct parameters for
compiler and linker used in application build.  Inaccurate build
parameters, produced by pkg-config from DPDK .pc files could fail
application build or cause unpredicted results during application
runtime.

Update system requirements doc about a bug in pkg-config v0.27
used in RHEL-7.

Signed-off-by: Gregory Etelson <getelson@nvidia.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2020-11-27 01:59:21 +01:00
Thomas Monjalon
c50a1d91a5 doc: remove Linux headers from requirements
The compilation of the kernel module KNI is optional.
The kernel headers should not be required for DPDK compilation.

Fixes: 91a861e541 ("config: disable Linux kernel modules by default")
Cc: stable@dpdk.org

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2020-11-27 01:55:16 +01:00
Olivier Matz
44d00a1d12 doc: add missing network layers in API index
Add missing files in doxy-api-index.md and add a short description
for files that hadn't one.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
2020-11-27 01:51:27 +01:00
Olivier Matz
95e0871929 kni: fix build on RHEL 8.3
Like what was done for mainline kernel in commit 38ad54f3bc ("kni: fix
build with Linux 5.6"), a new parameter 'txqueue' has to be added to
'ndo_tx_timeout' ndo on RHEL 8.3 kernel.

Cc: stable@dpdk.org

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Tested-by: Christophe Grosse <christophe.grosse@6wind.com>
Tested-by: David Marchand <david.marchand@redhat.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
2020-11-27 01:39:54 +01:00
Asaf Penso
88d2efd85c doc: update BlueField platform guide
The documentation file contains some broken links to Mellanox's site.
Also now BlueField-2 platform is supported.

This patch provides new links and adds documentation for
BlueField-2 platform.

Signed-off-by: Asaf Penso <asafp@nvidia.com>
2020-11-27 01:35:07 +01:00
Raslan Darawsheh
6c21c88736 doc: add ConnectX-6 Lx and BlueField-2 in mlx5 guide
This adds ConnectX-6 Lx and BlueField-2 to the list of NICs
supported by mlx5 PMD.

Signed-off-by: Raslan Darawsheh <rasland@nvidia.com>
2020-11-27 01:30:15 +01:00
Asaf Penso
cb7b0c24c8 doc: update hardware offloads support in mlx5 guide
In DPDK 20.11 the following offload features are added:
* Buffer Split
* Sampling
* Tunnel offload
* 2-port hairpin
* RSS shared action
* Age shared action

Update the relevant tables with OFED/rdma-core/NIC versions.

Signed-off-by: Asaf Penso <asafp@nvidia.com>
2020-11-27 01:30:15 +01:00
Asaf Penso
6457d0ecc1 doc: add Rx functions limitations in mlx5 guide
The mlx5 PMD supports various Rx burst functions.
Each function is enabled differently and supports different features.

Signed-off-by: Asaf Penso <asafp@nvidia.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2020-11-27 00:55:34 +01:00
Qi Zhang
e89aebf3b5 doc: update ice user guide
Add link for firmware/OOT kernel driver/DDP download
Add matching List.

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
2020-11-26 18:19:37 +01:00
Lijun Ou
45bf45a894 doc: update hns3 features
Since the hns3 NIC hardware features are not counted
and it is supported in fact. Besides, the flow director
is not supported and need to delete it.

Fixes: fa29fe45a7 ("net/hns3: support queue start and stop")
Fixes: 521ab3e933 ("net/hns3: add simple Rx path")
Fixes: bba6366983 ("net/hns3: support Rx/Tx and related operations")
Fixes: 936eda25e8 ("net/hns3: support dump register")
Fixes: 53b9f2b9a5 ("doc: update feature list in hns3 guide")
Cc: stable@dpdk.org

Signed-off-by: Lijun Ou <oulijun@huawei.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
2020-11-26 18:01:19 +01:00
Ajit Khaparde
c6f039745f doc: update TRUFLOW support in bnxt guide
Currently TRUFLOW is supported only on Whitney+ and Stingray devices.
Update the PMD doc with this info.

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2020-11-26 18:01:19 +01:00
Ajit Khaparde
f79e7b094d doc: announce end of support for some Broadcom devices
Devices belonging to BCM573xx and BCM5740x family will not be supported
from the 21.02 release.

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Kevin Traynor <ktraynor@redhat.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2020-11-26 18:01:19 +01:00
Ajit Khaparde
3e294259f9 doc: remove list of supported OS from bnxt guide
Remove list of supported OS in PMD specific doc.
Documenting an unsupported version of OS makes more sense in
PMD specific docs.
Platforms tested with this device is documented in release notes anyway.

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2020-11-26 18:01:19 +01:00
Stephen Hemminger
ad709fa901 doc: prefer VFIO for device binding
We should be encouraging the use of vfio-pci for developers, not telling
them to use igb_uio.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2020-11-26 17:04:40 +01:00
Reshma Pattan
2351615116 doc: clarify multi-process roles for pdump
Update the pdump library programmers guide and Howto doc
with the use of multi process channel replacing socket
based communication.

Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2020-11-26 16:32:11 +01:00
Stephen Hemminger
a0abf70522 doc: add SPDX license tag header to Intel performance guide
This document never had any license or copyright on this file, add one.

Fixes: b932ebcb26 ("doc: add NIC performance guide on Linux IA")
Cc: stable@dpdk.org

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2020-11-26 16:13:42 +01:00
Sarosh Arif
c053d9e962 doc: fix grammar
This patch corrects a grammatical error by changing 'an DPDK' to 'a DPDK',
so that the sentences can become grammatically accurate.

Fixes: 2e486e2632 ("doc: remove Intel references from linux guide")
Fixes: 48624fd96e ("doc: remove Intel references from prog guide")
Fixes: e0c7c47319 ("doc: remove Intel references from sample apps guide")
Cc: stable@dpdk.org

Signed-off-by: Sarosh Arif <sarosh.arif@emumba.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
2020-11-26 16:03:16 +01:00
Viacheslav Ovsiienko
0d6ce665ee net: fix eCPRI header generic data field
There was a typo in eCPRI header definition.

Fixes: d164c609e7 ("ethdev: add eCPRI key fields to flow API")
Cc: stable@dpdk.org

Reported-by: Rani Sharoni <ranish@nvidia.com>
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Reviewed-by: Bing Zhao <bingz@nvidia.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2020-11-26 01:14:11 +01:00
Viacheslav Ovsiienko
8f9b743900 app/testpmd: fix build without i40e
If there was no RTE_NET_I40E configured the static routine
str2flowtype() was not used causing compilation warning.

The str2flowtype() is moved under #ifdef RTE_NET_I40E block.

Fixes: 1be514fbce ("ethdev: remove legacy FDIR filter type support")

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2020-11-26 01:01:02 +01:00
Gregory Etelson
4467fed6f9 doc: update flow API guide for rule removal on stop
There is a discrepancy between ethdev API and flow rules guide
regarding flow rules maintenance after port stop.
librte_ethdev.h declares that flow rules will not be stored in PMD
after port stop:
>>>>> Quote start
 Please note that some configuration is not stored between calls to
 rte_eth_dev_stop()/rte_eth_dev_start(). The following configuration
 will be retained:

 - MTU
 - flow control settings
 - receive mode configuration (promiscuous mode, all-multicast mode,
   hardware checksum mode, RSS/VMDQ settings etc.)
 - VLAN filtering configuration
 - default MAC address
 - MAC addresses supplied to MAC address array
 - flow director filtering mode (but not filtering rules)
 - NIC queue statistics mappings
<<<< Quote end

PMD cannot always correctly restore flow rules after port stop / port
start because application may alter port configuration after port stop
without PMD knowledge about undergoing changes.  Consider the
following scenario:
application configures 2 queues 0 and 1 and creates a flow rule with
'queue index 1' action. After that application stops the port and
removes queue 1.
Although PMD can implement flow rule shadow copy to be used for
restore after port start, attempt to restore flow rule from shadow
will fail in example above and PMD could not notify application about
that failure.  As the result, flow rules map in HW will differ from
what application expects.  In addition, flow rules shadow copy used
for port start restore consumes considerable amount of system memory,
especially in systems with millions of flow rules.

Signed-off-by: Gregory Etelson <getelson@nvidia.com>
Acked-by: Ori Kam <orika@nvidia.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2020-11-26 00:40:15 +01:00