dpdk.git
4 years agonet/netvsc: check for overflow on packet info from host
Stephen Hemminger [Tue, 11 Aug 2020 02:33:14 +0000 (19:33 -0700)]
net/netvsc: check for overflow on packet info from host

The data from the host is trusted but checked by the driver.
One check that is missing is that the packet offset and length
might cause wraparound.

Cc: stable@dpdk.org
Reported-by: Nan Chen <whutchennan@gmail.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Long Li <longli@microsoft.com>
4 years agonet/netvsc: fix stale value after free
Long Li [Tue, 11 Aug 2020 02:33:13 +0000 (19:33 -0700)]
net/netvsc: fix stale value after free

chim_index could potentially be used in other hn_txdesc when re-allocated.
Mark it as invalid to prevent stale value being used.

Fixes: cc0251813277 ("net/netvsc: split send buffers from Tx descriptors")
Cc: stable@dpdk.org
Signed-off-by: Long Li <longli@microsoft.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
4 years agobus/vmbus: remove sending interrupts via INT bit
Long Li [Tue, 11 Aug 2020 02:33:12 +0000 (19:33 -0700)]
bus/vmbus: remove sending interrupts via INT bit

netvsc is a high speed VMBus device that uses monitor bit to signal the
host. It's not necessary to send interrupts via INT bit.

Signed-off-by: Long Li <longli@microsoft.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
4 years agonet/netvsc: fix multiple channel Rx
Long Li [Tue, 11 Aug 2020 02:33:11 +0000 (19:33 -0700)]
net/netvsc: fix multiple channel Rx

netvsc uses rxbuf_info buffer to track received packets attached via
rte_pktmbuf_attach_extbuf() and ack the host based on usage count. It
uses the transaction_id in the VMBus packet to locate where to use
memory in the rxbuf_info.

This is not correct in multiple channel setup, as different channels may
return identical transaction_ids at a time, and may corrupt the
rxbuf_info buffer.

Fix this by defining rxbuf_info for each queue.

Fixes: 4e9c73e96e83 ("net/netvsc: add Hyper-V network device")
Cc: stable@dpdk.org
Signed-off-by: Long Li <longli@microsoft.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
4 years agonet/failsafe: fix double space in warning log
Stephen Hemminger [Fri, 14 Aug 2020 17:39:33 +0000 (10:39 -0700)]
net/failsafe: fix double space in warning log

Already get a newline from WARN() macro call.

Fixes: 9dda3e3393c2 ("net/failsafe: add timestamp to stats snapshot")
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Gaetan Rivet <grive@u256.net>
4 years agonet/ena/base: fix doorbell evaluation for LLQ
Michal Krawczyk [Wed, 12 Aug 2020 16:37:29 +0000 (18:37 +0200)]
net/ena/base: fix doorbell evaluation for LLQ

This patch adds a missing LLQ-related check in the
ena_com_is_doorbell_needed() routine, which is relevant for the feature
supported by the next generation HW of the ENA.

Fixes: b2b02edeb0d6 ("net/ena/base: upgrade HAL for new HW features")
CC: stable@dpdk.org
Signed-off-by: Michal Krawczyk <mk@semihalf.com>
Signed-off-by: Artur Rojek <ar@semihalf.com>
4 years agotest/service: fix race condition on stopping lcore
Harry van Haaren [Mon, 14 Sep 2020 14:31:18 +0000 (15:31 +0100)]
test/service: fix race condition on stopping lcore

This commit fixes a potential race condition in the tests
where the lcore running a service would increment a counter
that was already reset by the test-suite thread. The resulting
race-condition incremented value could cause CI failures, as
indicated by DPDK's CI.

This patch fixes the race-condition by making use of the
added rte_service_lcore_active() API, which indicates when
a service-core is no longer in the service-core polling loop.

The unit test makes use of the above function to detect when
all statistics increments are done in the service-core thread,
and then the unit test continues finalizing and checking state.

Fixes: f28f3594ded2 ("service: add attribute API")

Reported-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Reviewed-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
4 years agoservice: retrieve lcore active state
Harry van Haaren [Mon, 14 Sep 2020 14:31:17 +0000 (15:31 +0100)]
service: retrieve lcore active state

This commit adds a new experimental API which allows the user
to retrieve the active state of an lcore. Knowing when the service
lcore is completed its polling loop can be useful to applications
to avoid race conditions when e.g. finalizing statistics.

The service thread itself now has a variable to indicate if its
thread is active. When zero the service thread has completed its
service, and has returned from the service_runner_func() function.

Suggested-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Reviewed-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
4 years agobus/pci: remove duplicate declaration
David Marchand [Thu, 17 Sep 2020 11:28:23 +0000 (13:28 +0200)]
bus/pci: remove duplicate declaration

This declaration is the same as the one a few lines before.

Fixes: 6844d146ff39 ("eal: add bus pointer in device structure")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
4 years agoeal: hide internal device event structure
David Marchand [Thu, 17 Sep 2020 11:28:22 +0000 (13:28 +0200)]
eal: hide internal device event structure

This structure is not used in the public API.

Fixes: a753e53d517b ("eal: add device event monitor framework")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Jeff Guo <jia.guo@intel.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
4 years agomem: drop mapping API workaround
David Marchand [Thu, 17 Sep 2020 11:28:21 +0000 (13:28 +0200)]
mem: drop mapping API workaround

Now that the pci_map_resource API is private to the PCI bus, we can drop
the compatibility workaround we had implemented in 20.08.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
4 years agopci: move resource mapping to the PCI bus
David Marchand [Thu, 17 Sep 2020 11:28:20 +0000 (13:28 +0200)]
pci: move resource mapping to the PCI bus

As reported during 20.08 work for Windows, the pci_map_resource API was
built with the assumption that its flags would be passed to mmap().

This introduced a regression when adding the rte_mem_map API as reported
in the workaround commit 9d2b24593724 ("pci: keep API compatibility with
mmap values").

This API was only used in the PCI bus code, so move it there.

There is no code change happening during the move.
The only change is in the pci_map_resource description where the
additional flags are now documented as rte_mem_map API flags:
- *      The additional flags for the mapping range.
+ *      The additional rte_mem_map() flags for the mapping range.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
4 years agobus/pci: switch to private kernel driver enum
David Marchand [Thu, 17 Sep 2020 11:28:19 +0000 (13:28 +0200)]
bus/pci: switch to private kernel driver enum

The rte_kernel_driver enum actually only pointed at PCI drivers and is
only used in the PCI subsystem.
Remove it from the generic device API and use a private enum in the PCI
code.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
4 years agoethdev: remove unused kernel driver field
David Marchand [Thu, 17 Sep 2020 11:28:18 +0000 (13:28 +0200)]
ethdev: remove unused kernel driver field

This field was not generic as it was filled with PCI kernel drivers only.
It has no known in-tree user (and I could not find opensource projects
using it).

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
4 years agombuf: remove physical address alias
Thomas Monjalon [Mon, 14 Sep 2020 09:43:25 +0000 (11:43 +0200)]
mbuf: remove physical address alias

Remove the deprecated buf_physaddr union field from rte_mbuf.
It is replaced with buf_iova which is at the same offset.

The single field buf_physaddr in rte_kni_mbuf is also renamed.

This concludes a 3-year process of semantic change.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
4 years agombuf: remove deprecated function and macro aliases
Thomas Monjalon [Mon, 14 Sep 2020 14:33:24 +0000 (16:33 +0200)]
mbuf: remove deprecated function and macro aliases

Remove the deprecated functions
- rte_mbuf_data_dma_addr
- rte_mbuf_data_dma_addr_default
which aliased the more recent functions
- rte_mbuf_data_iova
- rte_mbuf_data_iova_default

Remove the deprecated macros
- rte_pktmbuf_mtophys
- rte_pktmbuf_mtophys_offset
which aliased the more recent macros
- rte_pktmbuf_iova
- rte_pktmbuf_iova_offset

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
4 years agomempool: remove physical address aliases
Thomas Monjalon [Mon, 14 Sep 2020 14:34:36 +0000 (16:34 +0200)]
mempool: remove physical address aliases

Remove the deprecated unioned fields physaddr and phys_addr
from the structures rte_mempool_objhdr and rte_mempool_memhdr.
They are replaced with the fields iova which are at the same offsets.

Remove the deprecated macro MEMPOOL_F_NO_PHYS_CONTIG
which is an alias of the more recent MEMPOOL_F_NO_IOVA_CONTIG.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
4 years agomem: remove physical address aliases
Thomas Monjalon [Mon, 14 Sep 2020 14:36:31 +0000 (16:36 +0200)]
mem: remove physical address aliases

Remove the deprecated unioned fields phys_addr
from the structures rte_memseg and rte_memzone.
They are replaced with the fields iova which are at the same offsets.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
4 years agotrace: fix C++ compilation
Pawel Wodkowski [Wed, 12 Aug 2020 09:51:50 +0000 (15:21 +0530)]
trace: fix C++ compilation

trace_mem is declared as 'void *' which triggers following error:
'...invalid conversion from ‘void*’ to ‘__rte_trace_header*’
[-fpermissive]...'

Fix this by adding proper typecast to 'struct __rte_trace_header *'.

Fixes: ebaee6409702 ("trace: simplify trace point headers")
Cc: stable@dpdk.org
Signed-off-by: Pawel Wodkowski <pawelwod@gmail.com>
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
Acked-by: Nicolas Chautru <nicolas.chautru@intel.com>
4 years agobpf: promote library as stable
Conor Walsh [Mon, 14 Sep 2020 14:11:42 +0000 (14:11 +0000)]
bpf: promote library as stable

The BPF lib was introduced in 18.05.
There were no changes in its public API since 19.11.
It should be mature enough to remove its 'experimental' tag.
RTE_BPF_XTYPE_NUM is also being dropped from rte_bpf_xtype to
avoid possible ABI problems in the future.

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
4 years agolog: hide internal variable
Stephen Hemminger [Thu, 3 Sep 2020 23:04:54 +0000 (16:04 -0700)]
log: hide internal variable

As announced in earlier releases, rte_logs can now be made
internal to EAL.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Signed-off-by: David Marchand <david.marchand@redhat.com>
4 years agolog: promote rte_log_get_stream as stable
Stephen Hemminger [Thu, 3 Sep 2020 23:04:53 +0000 (16:04 -0700)]
log: promote rte_log_get_stream as stable

Applications will need to use this API now to get internal
state of rte_log.

Suggested-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David Marchand <david.marchand@redhat.com>
4 years agoeal/linux: change udev debug message
Stephen Hemminger [Fri, 14 Aug 2020 17:45:14 +0000 (10:45 -0700)]
eal/linux: change udev debug message

The debug message was poorly worded and did not include the
part that would be useful. I.e it never said what was being ignored.
Change it to print the message so that if udev changes format or
other subsystems need to be added then the necessary information
will be in the debug log.

Fixes: 0d0f478d0483 ("eal/linux: add uevent parse and process")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Jeff Guo <jia.guo@intel.com>
4 years agoavoid libfdt checks adding full paths to pkg-config
Christian Ehrhardt [Wed, 2 Sep 2020 11:10:30 +0000 (13:10 +0200)]
avoid libfdt checks adding full paths to pkg-config

The checks for libfdt try dependency() first which would only work if
a pkg-config would be present but libfdt has none.
Then it probes for the lib path itself via cc.find_library.

But later it adds the result of either probe to ext_deps which ends up
in build and also the resulting pkg-config to contain toolchain versioned
paths in Libs.private like:
  /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libfdt.so
which obviously breaks on toolchain updates.

In general libs used multiple times - ipn3ke + ifpga in this case - are
checked centrally in config/meson.build so move it there and fix the
adding of dependencies to not use the full file path.

The result is libfdt in pkg-config now showing up as:
  Libs.private: -pthread -lm -ldl -lnuma -lfdt -lpcap

Fixes: e1defba4cf66 ("raw/ifpga/base: support device tree")
Cc: stable@dpdk.org
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Reviewed-by: Luca Boccassi <bluca@debian.org>
Reviewed-by: Bruce Richardson <bruce.richardson@intel.com>
4 years agombuf: remove atomic reference counters
Phil Yang [Fri, 11 Sep 2020 07:35:51 +0000 (15:35 +0800)]
mbuf: remove atomic reference counters

Remove the deprecated refcnt_atomic union fields in
rte_mbuf and rte_mbuf_ext_shared_info structures.

Signed-off-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
4 years agodoc: remove rawdev deprecation notice
Bruce Richardson [Thu, 10 Sep 2020 14:36:09 +0000 (15:36 +0100)]
doc: remove rawdev deprecation notice

Since all changes covered by the deprecation notice have been applied, the
notice can be removed.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
4 years agorawdev: mark start and stop functions optional
Bruce Richardson [Thu, 10 Sep 2020 14:36:08 +0000 (15:36 +0100)]
rawdev: mark start and stop functions optional

Not all rawdevs will require a device start/stop function, so rather than
requiring such drivers to provide dummy functions, just set the
started/stopped rawdev flag from the rawdev layer and return success.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
4 years agorawdev: allow queue config query to return error
Bruce Richardson [Thu, 10 Sep 2020 14:36:07 +0000 (15:36 +0100)]
rawdev: allow queue config query to return error

The driver APIs for returning the queue default config can fail if the
parameters are invalid, or other reasons, so allow them to return error
codes to the rawdev layer and from hence to the app.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
4 years agorawdev: add private data size to queue config inputs
Bruce Richardson [Thu, 10 Sep 2020 14:36:06 +0000 (15:36 +0100)]
rawdev: add private data size to queue config inputs

The queue setup and queue defaults query functions take a void * parameter
as configuration data, preventing any compile-time checking of the
parameters and limiting runtime checks. Adding in the length of the
expected structure provides a measure of typechecking, and can also be used
for ABI compatibility in future, since ABI changes involving structs almost
always involve a change in size.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
4 years agorawdev: add private data size to config inputs
Bruce Richardson [Thu, 10 Sep 2020 14:36:05 +0000 (15:36 +0100)]
rawdev: add private data size to config inputs

Currently with the rawdev API there is no way to check that the structure
passed in via the dev_private pointer in the structure passed to configure
API is of the correct type - it's just checked that it is non-NULL. Adding
in the length of the expected structure provides a measure of typechecking,
and can also be used for ABI compatibility in future, since ABI changes
involving structs almost always involve a change in size.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Rosen Xu <rosen.xu@intel.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
4 years agorawdev: allow drivers to return error from info query
Bruce Richardson [Thu, 10 Sep 2020 14:36:04 +0000 (15:36 +0100)]
rawdev: allow drivers to return error from info query

Since we now allow some parameter checking inside the driver info_get()
functions, it makes sense to allow error return from those functions to the
caller. Therefore we change the driver callback return type from void to
int.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Rosen Xu <rosen.xu@intel.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
4 years agorawdev: add private data size to info query
Bruce Richardson [Thu, 10 Sep 2020 14:36:03 +0000 (15:36 +0100)]
rawdev: add private data size to info query

Currently with the rawdev API there is no way to check that the structure
passed in via the dev_private pointer in the dev_info structure is of the
correct type - it's just checked that it is non-NULL. Adding in the length
of the expected structure provides a measure of typechecking, and can also
be used for ABI compatibility in future, since ABI changes involving
structs almost always involve a change in size.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Rosen Xu <rosen.xu@intel.com>
Acked-by: Rosen Xu <rosen.xu@intel.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
4 years agobus/pci: fix hardware IDs parsing on Windows
Tal Shnaiderman [Sun, 23 Aug 2020 13:06:04 +0000 (16:06 +0300)]
bus/pci: fix hardware IDs parsing on Windows

Swap subsystem vendor id and subsystem device id.
Parse the SPDRP_HARDWAREID string with correct type values.

Fixes: b762221ac24 ("bus/pci: support Windows with bifurcated drivers")
Cc: stable@dpdk.org
Signed-off-by: Tal Shnaiderman <talshn@mellanox.com>
Acked-by: Narcisa Vasile <navasile@linux.microsoft.com>
4 years agoethdev: build on Windows
Fady Bader [Tue, 11 Aug 2020 06:24:24 +0000 (09:24 +0300)]
ethdev: build on Windows

Add ethdev and a missing dependency (meter) to the list
of libraries built on Windows.

Signed-off-by: Fady Bader <fady@mellanox.com>
Acked-by: Narcisa Vasile <navasile@linux.microsoft.com>
Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Acked-by: Ranjit Menon <ranjit.menon@intel.com>
4 years agoethdev: remove structs from export map
Fady Bader [Tue, 11 Aug 2020 06:24:22 +0000 (09:24 +0300)]
ethdev: remove structs from export map

Some ethdev structs were present in .map export list.
There structs are removed from the .map file.

Signed-off-by: Fady Bader <fady@mellanox.com>
Acked-by: Narcisa Vasile <navasile@linux.microsoft.com>
Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Acked-by: Ranjit Menon <ranjit.menon@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
4 years agotelemetry: build stubs on Windows
Fady Bader [Tue, 11 Aug 2020 06:24:23 +0000 (09:24 +0300)]
telemetry: build stubs on Windows

Telemetry didn't compile under Windows.
Empty stubs are arranged, waiting for a proper implementation.

Signed-off-by: Fady Bader <fady@mellanox.com>
Acked-by: Narcisa Vasile <navasile@linux.microsoft.com>
Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Acked-by: Ranjit Menon <ranjit.menon@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
4 years agoeal/windows: update symbols export
Fady Bader [Tue, 11 Aug 2020 06:24:21 +0000 (09:24 +0300)]
eal/windows: update symbols export

The .def file is a reduced copy of the .map file.
In order to ease comparison, some lines are moved in the .def file
to be in the same order as in the .map file.

rte_eal_get_configuration is removed because it has been removed
from the .map file in DPDK 19.11.
Note: it had been removed and re-added by mistake in 20.08 .def file.

Few functions are added in the .def file to allow ethdev on Windows.

Signed-off-by: Fady Bader <fady@mellanox.com>
Acked-by: Narcisa Vasile <navasile@linux.microsoft.com>
Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Acked-by: Ranjit Menon <ranjit.menon@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
4 years agoeal/windows: add stub for Rx interrupt control
Fady Bader [Tue, 11 Aug 2020 06:24:20 +0000 (09:24 +0300)]
eal/windows: add stub for Rx interrupt control

Interrupts are not implemented for Windows.
In order to compile ethdev on Windows,
an empty interrupt control function stub has to be added for Windows.

Signed-off-by: Fady Bader <fady@mellanox.com>
Acked-by: Narcisa Vasile <navasile@linux.microsoft.com>
Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Acked-by: Ranjit Menon <ranjit.menon@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
4 years agonet: build on Windows
Fady Bader [Thu, 23 Jul 2020 07:08:25 +0000 (10:08 +0300)]
net: build on Windows

librte_net was not compiling under Windows.
To solve this, needed header files are added.

Signed-off-by: Fady Bader <fady@mellanox.com>
Acked-by: Ranjit Menon <ranjit.menon@intel.com>
Tested-by: Pallavi Kadam <pallavi.kadam@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
4 years agonet: replace htons with constant endian swap
Fady Bader [Thu, 23 Jul 2020 07:08:24 +0000 (10:08 +0300)]
net: replace htons with constant endian swap

htons is not defined in Windows with the MinGW compiler.
htons is replaced with RTE_BE16 in order to compile under Windows.

Signed-off-by: Fady Bader <fady@mellanox.com>
Acked-by: Ranjit Menon <ranjit.menon@intel.com>
Tested-by: Pallavi Kadam <pallavi.kadam@intel.com>
4 years agonet: fix redefinition in Windows
Fady Bader [Thu, 23 Jul 2020 07:08:23 +0000 (10:08 +0300)]
net: fix redefinition in Windows

In Windows, s_addr is defined in winsock2.h which is included by windows.h.
It is undefined in order to be defined as part of rte_ether_hdr.

Signed-off-by: Fady Bader <fady@mellanox.com>
Acked-by: Ranjit Menon <ranjit.menon@intel.com>
Tested-by: Pallavi Kadam <pallavi.kadam@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
4 years agoeal/windows: probe vdev
Tal Shnaiderman [Tue, 7 Jul 2020 08:48:22 +0000 (11:48 +0300)]
eal/windows: probe vdev

Add needed function calls in rte_eal_init to detect vdev PMD.

eal_option_device_parse()
rte_service_init()
rte_bus_probe()

Signed-off-by: Tal Shnaiderman <talshn@mellanox.com>
Acked-by: Narcisa Vasile <navasile@linux.microsoft.com>
Tested-by: Narcisa Vasile <navasile@linux.microsoft.com>
Tested-by: Pallavi Kadam <pallavi.kadam@intel.com>
4 years agobus/vdev: build on Windows
Tal Shnaiderman [Tue, 7 Jul 2020 08:48:23 +0000 (11:48 +0300)]
bus/vdev: build on Windows

current support will build vdev with empty MP functions
currently unsupported for Windows.

Signed-off-by: Tal Shnaiderman <talshn@mellanox.com>
Acked-by: Narcisa Vasile <navasile@linux.microsoft.com>
Tested-by: Narcisa Vasile <navasile@linux.microsoft.com>
Tested-by: Pallavi Kadam <pallavi.kadam@intel.com>
4 years agoregex/mlx5: add teardown for fastpath buffers
Yuval Avnery [Wed, 2 Sep 2020 11:38:22 +0000 (11:38 +0000)]
regex/mlx5: add teardown for fastpath buffers

Added missing code to free Input/Output buffers and memory
registration.
Also added calls to this code in case of error in the qp setup
procedure.
The rollback code itself did not handle rollback properly
and did not check return value from the fastpath setup.

Signed-off-by: Yuval Avnery <yuvalav@mellanox.com>
Acked-by: Ori Kam <orika@mellanox.com>
4 years agousertools: support globbing for PCI device binding
Bruce Richardson [Mon, 24 Aug 2020 17:04:39 +0000 (18:04 +0100)]
usertools: support globbing for PCI device binding

When binding or unbinding a range of devices, it can be useful to use
wildcards to specify the devices rather than repeating the same prefix
multiple times. We can use the python "glob" module to give us this
functionality - at least for PCI devices - by checking /sys for matching
files.

Examples of use from my system:

    ./dpdk-devbind.py -b vfio-pci 80:04.*
    ./dpdk-devbind.py -u 80:04.[2-7]

The first example binds eight devices, 80:04.0..80:04.7, to vfio-pci. The
second then unbinds six of those devices, 80:04.2..80:04.7, from any
driver.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Tested-by: Ferruh Yigit <ferruh.yigit@intel.com>
4 years agousertools: hide interface for non-network device status
Bruce Richardson [Mon, 27 Jul 2020 13:44:27 +0000 (14:44 +0100)]
usertools: hide interface for non-network device status

The "if", or interface, field in the status display of dpdk-devbind is only
relevant for network interfaces, so don't display it for other device
types.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
4 years agoconfig: remove default configs used with make
Ciara Power [Thu, 3 Sep 2020 15:26:51 +0000 (16:26 +0100)]
config: remove default configs used with make

Make is not supported for compiling DPDK, the config files are no
longer needed.

Signed-off-by: Ciara Power <ciara.power@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
4 years agobuildtools: remove scripts used only with make
Ciara Power [Thu, 3 Sep 2020 15:26:53 +0000 (16:26 +0100)]
buildtools: remove scripts used only with make

Make is no longer supported for compiling DPDK, scripts used with make
are no longer needed.

Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
4 years agobuild: remove makefiles
Ciara Power [Thu, 3 Sep 2020 15:26:50 +0000 (16:26 +0100)]
build: remove makefiles

A decision was made [1] to no longer support Make in DPDK, this patch
removes all Makefiles that do not make use of pkg-config, along with
the mk directory previously used by make.

[1] https://mails.dpdk.org/archives/dev/2020-April/162839.html

Signed-off-by: Ciara Power <ciara.power@intel.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
4 years agobuild: create dummy Makefile
Bruce Richardson [Thu, 3 Sep 2020 15:26:49 +0000 (16:26 +0100)]
build: create dummy Makefile

This patch modifies the root Makefile to act as a dummy Makefile for
when the make support is removed from DPDK in subsequent patches.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
4 years agoexamples: remove old build system references
Ciara Power [Thu, 3 Sep 2020 15:26:52 +0000 (16:26 +0100)]
examples: remove old build system references

Remove the references to RTE_SDK and RTE_TARGET environment variables from
the build instructions in the comments of the various BPF files, and in
the ipsec-secgw common definition script.

Signed-off-by: Ciara Power <ciara.power@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
4 years agoexamples/ethtool: convert to pkg-config-based build
Bruce Richardson [Thu, 3 Sep 2020 15:26:48 +0000 (16:26 +0100)]
examples/ethtool: convert to pkg-config-based build

Remove references to the old DPDK build system from the makefiles, and use
pkg-config provided flags instead.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
4 years agoexamples/vm_power: convert to pkg-config-based build
Bruce Richardson [Thu, 3 Sep 2020 15:26:46 +0000 (16:26 +0100)]
examples/vm_power: convert to pkg-config-based build

Convert the makefiles to build using pkg-config
rather than the old build system.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
4 years agoexamples/multi_process: convert to pkg-config-based build
Bruce Richardson [Thu, 3 Sep 2020 15:26:42 +0000 (16:26 +0100)]
examples/multi_process: convert to pkg-config-based build

Remove references to the old make build system and use pkg-config for
building these examples.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
4 years agoexamples/performance-thread: convert to pkg-config-based build
Kevin Laatz [Thu, 3 Sep 2020 15:26:45 +0000 (16:26 +0100)]
examples/performance-thread: convert to pkg-config-based build

Remove references to the old make build system and use pkg-config for
building these examples.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
4 years agoexamples/server_node_efd: convert to pkg-config-based build
Kevin Laatz [Thu, 3 Sep 2020 15:26:43 +0000 (16:26 +0100)]
examples/server_node_efd: convert to pkg-config-based build

Remove references to the old make build system and use pkg-config for
building these examples.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
4 years agoexamples/ka-agent: convert to pkg-config-based build
Kevin Laatz [Thu, 3 Sep 2020 15:26:44 +0000 (16:26 +0100)]
examples/ka-agent: convert to pkg-config-based build

Remove references to the old make build system and use pkg-config for
building these examples.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
4 years agoexamples: remove legacy sections of makefiles
Ciara Power [Thu, 3 Sep 2020 15:26:41 +0000 (16:26 +0100)]
examples: remove legacy sections of makefiles

The example app makefiles contained sections using the legacy method of
compiling with make. These are no longer needed, and are removed,
leaving only the section that uses pkg-config for the make build.

Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: Nicolas Chautru <nicolas.chautru@intel.com>
4 years agodoc: build without using make
Bruce Richardson [Thu, 3 Sep 2020 15:26:58 +0000 (16:26 +0100)]
doc: build without using make

When building the DPDK guide documents, the DPDK version information was
pulled using "make showversion", which meant there was a dependency on
the DPDK make-based build system. Change this to have the version info
passed in from meson itself.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
4 years agoswitch default git branch name to main
Thomas Monjalon [Wed, 12 Aug 2020 09:15:30 +0000 (11:15 +0200)]
switch default git branch name to main

The default git branch of the main DPDK repository has been renamed
from master to main.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
4 years agomaintainers: remove QoS and pipeline repositories
Thomas Monjalon [Wed, 12 Aug 2020 07:49:00 +0000 (09:49 +0200)]
maintainers: remove QoS and pipeline repositories

The git trees dpdk-next-qos and dpdk-next-pipeline were created
to share the load of patches merging.
It has been decided in the Technical Board that the load is not big
enough to justify keeping these repositories.

The patches for ethdev TM and MTR will be managed in dpdk-next-net.
The sched and meter libraries will be managed in the main tree.
The packet framework will be managed in the main tree as well.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
4 years agodoc: describe process for new ABI versions
Ray Kinsella [Wed, 12 Aug 2020 11:26:02 +0000 (12:26 +0100)]
doc: describe process for new ABI versions

Added a section describing new ABI versions, this provides pointers to
the relevant amended rules that apply during the abi breakage window.
Also remove the large note at the head of the ABI policy describing the
ABI stability process that has taken place over the previous year.

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
4 years agodoc: announce renaming in crypto scheduler API
Adam Dybkowski [Mon, 27 Jul 2020 09:41:13 +0000 (11:41 +0200)]
doc: announce renaming in crypto scheduler API

This patch adds a deprecation notice about upcoming changes
in public API of the Scheduler PMD.

Signed-off-by: Adam Dybkowski <adamx.dybkowski@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
4 years agodevtools: fix ABI update in map files
Thomas Monjalon [Tue, 11 Aug 2020 09:49:19 +0000 (11:49 +0200)]
devtools: fix ABI update in map files

The script was using the full ABI version, including the minor number,
to version the symbols in the map files.
It is fixed to use only the major number for symbol versioning.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
4 years agoversion: 20.11-rc0
Thomas Monjalon [Mon, 10 Aug 2020 15:10:20 +0000 (17:10 +0200)]
version: 20.11-rc0

Start a new release cycle with empty release notes.

The ABI version becomes 21.0.
The ABI major is back to normal, having only one number (21 vs 20.0).
The map files are updated to the new ABI major number (21).
The ABI exceptions are dropped.
Travis ABI check is disabled because compatibility is not preserved.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
4 years agoversion: 20.08.0
Thomas Monjalon [Sat, 8 Aug 2020 06:08:20 +0000 (08:08 +0200)]
version: 20.08.0

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
4 years agodoc: update release notes for 20.08
John McNamara [Fri, 7 Aug 2020 08:30:05 +0000 (09:30 +0100)]
doc: update release notes for 20.08

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

Signed-off-by: John McNamara <john.mcnamara@intel.com>
4 years agodoc: announce sched API changes for dynamic config
Savinay Dharmappa [Wed, 29 Jul 2020 11:08:01 +0000 (12:08 +0100)]
doc: announce sched API changes for dynamic config

Add deprecation note for making changes in data structures and APIs
in order to allow dynamic configuration of subport bandwidth profile.
These changes are aligned as suggested in the RFC[1].

https://mails.dpdk.org/archives/dev/2020-July/175161.html

Signed-off-by: Savinay Dharmappa <savinay.dharmappa@intel.com>
Acked-by: Jasvinder Singh <jasvinder.singh@intel.com>
Acked-by: Praveen Shetty <praveen.shetty@intel.com>
Acked-by: Sunil Pai G <sunil.pai.g@intel.com>
4 years agodoc: announce new ethdev field in Rx queue info
Chengchang Tang [Fri, 7 Aug 2020 10:30:52 +0000 (18:30 +0800)]
doc: announce new ethdev field in Rx queue info

Struct rte_eth_rxq_info will be modified to include a new field, indicating
the size of each buffer that could be used for HW to receive packets. Add
this field to rte_eth_rxq_info to expose relevant information to upper
layer users/application.

For more details:
https://mails.dpdk.org/archives/dev/2020-July/176135.html

Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
4 years agodoc: announce removal of vhost zero-copy dequeue
Maxime Coquelin [Mon, 3 Aug 2020 14:55:38 +0000 (16:55 +0200)]
doc: announce removal of vhost zero-copy dequeue

Vhost-user dequeue zero-copy support will be removed in
20.11. The only known user is OVS where the feature is
still experimental, and has not received any update for
several years. This feature faces reliability issues and
is often conflicting with new features being implemented.

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Chenbo Xia <chenbo.xia@intel.com>
Acked-by: Ian Stokes <ian.stokes@intel.com>
Acked-by: Ciara Loftus <ciara.loftus@intel.com>
Acked-by: Aaron Conole <aconole@redhat.com>
4 years agodoc: announce deprecation of CPU build flags
Bruce Richardson [Wed, 5 Aug 2020 14:21:41 +0000 (15:21 +0100)]
doc: announce deprecation of CPU build flags

The RTE_MACHINE_CPUFLAGS_* macros in DPDK build just duplicate info from
the compiler macros, so we can remove them and just use the compiler
versions directly.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
4 years agousertools: warn about future removal of setup script
Thomas Monjalon [Thu, 6 Aug 2020 17:13:03 +0000 (19:13 +0200)]
usertools: warn about future removal of setup script

As agreed in the deprecation notice, the "generic" script
to setup the Linux environment will be removed in DPDK 20.11.
Some specific parts may be converted into dedicated scripts.

In the meantime, a warning will be printed to users of this script.

Suggested-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
4 years agodevtools: ignore Linux-style fallthrough warning
Adrian Moreno [Tue, 4 Aug 2020 07:38:37 +0000 (09:38 +0200)]
devtools: ignore Linux-style fallthrough warning

The PREFER_FALLTHROUGH check warns if a passthrough comment is found
because, in the kernel, the special macro "fallthrough" is preferred.

Since that keyword is not defined in DPDK, ignore the warning.

Ignoring this check does not affect the MISSING_BREAK check that will
warn if a switch case/default is not preceded by break or a fallthrough
comment.

Signed-off-by: Adrian Moreno <amorenoz@redhat.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Chenbo Xia <chenbo.xia@intel.com>
4 years agodevtools: add acronyms in dictionary for commit checks
Ferruh Yigit [Thu, 6 Aug 2020 14:24:10 +0000 (15:24 +0100)]
devtools: add acronyms in dictionary for commit checks

GTPU  -> GPRS Tunnelling Protocol User Plane
MSI   -> Message Signalled Interrupts
MSI-X -> Message Signalled Interrupts (Extended)
TCAM  -> Ternary Content Addressable Memory
ULP   -> Upper Layer Protocol
XOR   -> Exclusive OR

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
4 years agodevtools: rename variables in maintainers file parsing
Stephen Hemminger [Thu, 6 Aug 2020 17:19:47 +0000 (10:19 -0700)]
devtools: rename variables in maintainers file parsing

Change variable names in the shell script.
Replace whitelist with include_files and blacklist with exclude_files.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: John McNamara <john.mcnamara@intel.com>
4 years agoethdev: improve API comment for MAC address addition
Stephen Hemminger [Thu, 6 Aug 2020 17:19:46 +0000 (10:19 -0700)]
ethdev: improve API comment for MAC address addition

The comment used the term whitelist and was awkardly written.
Replace it with simpler direct description of adding a new address.
No code or API changes for this.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: John McNamara <john.mcnamara@intel.com>
4 years agodoc: announce deprecation of blacklist/whitelist naming
Stephen Hemminger [Thu, 6 Aug 2020 17:19:45 +0000 (10:19 -0700)]
doc: announce deprecation of blacklist/whitelist naming

Announce upcoming changes for 20.11.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
4 years agodoc: fix reference to master process
Stephen Hemminger [Thu, 6 Aug 2020 17:19:44 +0000 (10:19 -0700)]
doc: fix reference to master process

Correct terminolgy here is primary process.
This is a bug in original doc.

Fixes: fc1f2750a3ec ("doc: programmers guide")
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
4 years agokni: fix reference to master/slave process
Stephen Hemminger [Thu, 6 Aug 2020 17:19:43 +0000 (10:19 -0700)]
kni: fix reference to master/slave process

In DPDK, the correct terms for process are primary/secondary.
This is bugfix, not a change in terms for new release.

Fixes: f2e7592c474c ("kni: fix multi-process support")
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
4 years agodoc: announce deprecation of master lcore naming
Stephen Hemminger [Thu, 6 Aug 2020 17:19:42 +0000 (10:19 -0700)]
doc: announce deprecation of master lcore naming

Announce upcoming changes related to master/slave in reference
to lcore.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: John McNamara <john.mcnamara@intel.com>
4 years agomaintainers: update for Windows
Harini Ramakrishnan [Wed, 5 Aug 2020 07:10:52 +0000 (00:10 -0700)]
maintainers: update for Windows

Signed-off-by: Harini Ramakrishnan <harini.ramakrishnan@microsoft.com>
Acked-by: Ranjit Menon <ranjit.menon@intel.com>
Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
4 years agomaintainers: update for Vhost/Virtio/vDPA
Maxime Coquelin [Thu, 30 Jul 2020 13:46:31 +0000 (15:46 +0200)]
maintainers: update for Vhost/Virtio/vDPA

Chenbo has done an excellent job in reviewing,
contributing and testing patches.

This patch adds him as co-maintainer for Vhost, Virtio
and vDPA components.

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Chenbo Xia <chenbo.xia@intel.com>
4 years agodoc: sort features in release notes
Thomas Monjalon [Thu, 6 Aug 2020 23:34:36 +0000 (01:34 +0200)]
doc: sort features in release notes

The features in release notes are easier to read if sorted.

Move vDPA near vhost features.
Move ethdev features of Marvell and Mellanox in alphabetical ordering.

Fix small indent issues at the same time.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
4 years agodoc: add tested platforms with Broadcom NICs
Ajit Khaparde [Thu, 6 Aug 2020 22:17:34 +0000 (15:17 -0700)]
doc: add tested platforms with Broadcom NICs

Add platforms tested with Broadcom NICs.

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
4 years agodoc: add tested Intel platforms with Intel NICs
Bo Chen [Wed, 5 Aug 2020 02:29:03 +0000 (10:29 +0800)]
doc: add tested Intel platforms with Intel NICs

Signed-off-by: Bo Chen <box.c.chen@intel.com>
4 years agodoc: update release notes for ice and iavf
Qi Zhang [Thu, 6 Aug 2020 11:09:26 +0000 (19:09 +0800)]
doc: update release notes for ice and iavf

Update release notes by adding new features for ice and iavf PMD.

Fixes: de32fa2ba27b ("net/ice: support RSS for IPv6 prefix")
Fixes: 610bc231d09b ("net/ice: support RSS for IPv4 IPv6 mix of GTP")
Fixes: a9bafa9f700c ("net/ice: support flow director GTPU outer IPv4/IPv6")
Fixes: 37e444b77814 ("net/ice: support hash for GTPU protocols")
Fixes: 54851ff3375c ("net/ice: support PPPoE RSS")

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Signed-off-by: Junfeng Guo <junfeng.guo@intel.com>
Signed-off-by: Jeff Guo <jia.guo@intel.com>
4 years agodoc: update release notes for mlx5 PMD
Suanming Mou [Thu, 6 Aug 2020 02:42:23 +0000 (10:42 +0800)]
doc: update release notes for mlx5 PMD

Update the release notes of mlx5 PMD for two new added devargs:
1. sys_mem_en
2. decap_en

Fixes: 5522da6b201b ("net/mlx5: add option to allocate memory from system")
Fixes: 50f95b23c9ba ("net/mlx5: add option to configure FCS or decapsulation")

Signed-off-by: Suanming Mou <suanmingm@mellanox.com>
4 years agodoc: fix release notes for mlx5 dependency
Viacheslav Ovsiienko [Thu, 6 Aug 2020 16:55:02 +0000 (16:55 +0000)]
doc: fix release notes for mlx5 dependency

The mlx5 PMD does not work on Power 9 platform with OFED
version 5.1-0.6.6.0 (latest GA release at the moment).
Release notes known issues chapter is updated accordingly,
workaround is proposed.

Fixes: 544f35c334e5 ("doc: add tested platforms with Mellanox NICs")

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Asaf Penso <asafp@mellanox.com>
4 years agodoc: announce more fields in flow API for IPv6
Dekel Peled [Mon, 3 Aug 2020 19:51:13 +0000 (22:51 +0300)]
doc: announce more fields in flow API for IPv6

Struct rte_flow_item_ipv6 will be modified to include additional
values, indicating existence or absence of IPv6 extension headers
following the IPv6 header, as proposed in RFC
https://mails.dpdk.org/archives/dev/2020-August/177257.html.
Because of ABI break this change is proposed for 20.11.

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Ori Kam <orika@mellanox.com>
4 years agodoc: announce more fields in flow API for VLAN
Dekel Peled [Thu, 6 Aug 2020 10:45:07 +0000 (13:45 +0300)]
doc: announce more fields in flow API for VLAN

Structs rte_flow_item_eth and rte_flow_item_vlan will be modified,
to include an additional value, indicating existence or absence of VLAN
headers following the current header, as proposed in RFC
https://mails.dpdk.org/archives/dev/2020-August/177536.html.
Because of ABI break this change is proposed for 20.11.

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Ori Kam <orika@mellanox.com>
4 years agodoc: announce ethdev API change for Rx split
Viacheslav Ovsiienko [Wed, 5 Aug 2020 08:49:55 +0000 (08:49 +0000)]
doc: announce ethdev API change for Rx split

The DPDK datapath in the transmit direction is very flexible.
The applications can build multi-segment packets and manages
almost all data aspects - the memory pools where segments
are allocated from, the segment lengths, the memory attributes
like external, registered, etc.

In the receiving direction, the datapath is much less flexible,
the applications can only specify the memory pool to configure
the receiving queue and nothing more. The packet being received
can only be pushed to the chain of the mbufs of the same data
buffer size and allocated from the same pool. In order to extend
the receiving datapath buffer description it is proposed to add
the new fields into rte_eth_rxconf structure:

struct rte_eth_rxconf {
    ...
    uint16_t rx_split_num; /* number of segments to split */
    uint16_t *rx_split_len; /* array of segment lengths */
    struct rte_mempool **mp; /* array of segment memory pools */
    ...
};

The non-zero value of rx_split_num field configures the receiving
queue to split ingress packets into multiple segments to the mbufs
allocated from various memory pools according to the specified
lengths. The zero value of rx_split_num field provides the
backward compatibility and queue should be configured in a regular
way (with single/multiple mbufs of the same data buffer length
allocated from the single memory pool).

The new approach would allow splitting the ingress packets into
multiple parts pushed to the memory with different attributes.
For example, the packet headers can be pushed to the embedded data
buffers within mbufs and the application data into the external
buffers attached to mbufs allocated from the different memory
pools. The memory attributes for the split parts may differ
either - for example the application data may be pushed into
the external memory located on the dedicated physical device,
say GPU or NVMe. This would improve the DPDK receiving datapath
flexibility preserving compatibility with existing API.

The proposed extended description of receiving buffers might be
considered by other vendors to be involved into similar features
support, it is the subject for the further discussion.

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
4 years agodoc: announce removal of unused enum in ACL library
Konstantin Ananyev [Thu, 6 Aug 2020 12:23:37 +0000 (13:23 +0100)]
doc: announce removal of unused enum in ACL library

Announce removal of unused enum value (RTE_ACL_CLASSIFY_NUM).

Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
4 years agodoc: announce internal hotplug structure removal
David Marchand [Tue, 4 Aug 2020 14:07:17 +0000 (16:07 +0200)]
doc: announce internal hotplug structure removal

rte_dev_event has never been used outside of the EAL.
No point in exposing it.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
4 years agodoc: announce change of security session API
Akhil Goyal [Thu, 30 Jul 2020 17:13:30 +0000 (22:43 +0530)]
doc: announce change of security session API

The API ``rte_security_session_create`` takes only single mempool
for session and session private data. So the application need to create
mempool for twice the number of sessions needed and will also lead to
wastage of memory as session private data need more memory compared to session.
Hence the API will be modified to take two mempool pointers - one for session
and one for private data. This is very similar to crypto based session
create APIs.

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Anoob Joseph <anoobj@marvell.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
4 years agodoc: announce removal of crypto list end enumerators
Arek Kusztal [Wed, 29 Jul 2020 14:46:51 +0000 (16:46 +0200)]
doc: announce removal of crypto list end enumerators

Enumerators RTE_CRYPTO_CIPHER_LIST_END, RTE_CRYPTO_AUTH_LIST_END,
RTE_CRYPTO_AEAD_LIST_END will be removed to prevent some problems
that may arise when adding new algorithms.

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
4 years agodoc: announce removal of interactive setup script
Thomas Monjalon [Tue, 4 Aug 2020 10:26:43 +0000 (12:26 +0200)]
doc: announce removal of interactive setup script

Environment configuration is the responsibility of distributions
or upper-level frameworks.
DPDK focus on documenting the requirements and some recommendations.
If some specific parts are complex, they can deserve some scripts.

Maintaining a good adaptative deployment setup is a project by itself.
Anyway this script was interactive, useful only for experimenters.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
4 years agoversion: 20.08-rc4
Thomas Monjalon [Thu, 6 Aug 2020 00:47:03 +0000 (02:47 +0200)]
version: 20.08-rc4

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
4 years agodoc: announce deprecation of port mirroring API
Thomas Monjalon [Mon, 3 Aug 2020 15:33:09 +0000 (17:33 +0200)]
doc: announce deprecation of port mirroring API

A new API is planned to be introduced for sampling and mirroring
with rte_flow. It should be more generic and allow more use cases.

This deprecation is to show the direction, avoiding overlapping APIs.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: David Marchand <david.marchand@redhat.com>
4 years agodoc: announce removal of L2 tunnel filtering API
Thomas Monjalon [Mon, 3 Aug 2020 18:06:27 +0000 (20:06 +0200)]
doc: announce removal of L2 tunnel filtering API

The functions for L2 tunnel were missed when marking the legacy
filtering API as deprecated. That's why a separate notice is done
to make clear that it will be removed as well in DPDK 20.11.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: David Marchand <david.marchand@redhat.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
4 years agodoc: announce removal of ethdev flow director API
Thomas Monjalon [Mon, 3 Aug 2020 17:49:09 +0000 (19:49 +0200)]
doc: announce removal of ethdev flow director API

The flow director config, part of the legacy filtering API,
was marked as deprecated last year.
A separate notice is added to make clear that these specific structs
will be removed as well in DPDK 20.11, as the rest of the legacy
filtering API.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: David Marchand <david.marchand@redhat.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>