FreeBSD driver needs a patch to provide a means for packets
which do not need checksum offload but have flow ID set
to avoid hitting only the first Tx queue (which has been used
for packets not needing checksum offload).
This should be possible on Huntington, Medford or Medford2 chips
since these support toggling checksum offload on any given queue
dynamically by means of pushing option descriptors.
The patch for FreeBSD driver will then need a means to figure out
whether the feature can be used, and testing adapter family might
not be a good solution.
This patch adds a feature bit specifically to indicate support
for checksum option descriptors. The new feature bits may have
more users in future, apart from the mentioned FreeBSD patch.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
If an event handler requested an abort, only the inner loop was
guaranteed to be broken out of - the outer loop could continue
if total == batch.
Fix this by poisoning batch to ensure it is different to total.
Signed-off-by: Mark Spender <mspender@solarflare.com>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Revise the external port calculation to support all
X2 port modes. The previous algorithm could not
handle different port numbering schemes on each cage.
Signed-off-by: Richard Houldsworth <rhouldsworth@solarflare.com>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Correct annotations where NULL input can be permitted
Signed-off-by: Richard Houldsworth <rhouldsworth@solarflare.com>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
RSS get requests are supported in secondary process.
Prepare to make sfc_adapter primary process private data.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Logging should be supported in secondary process and now we have
everything required to share at least main logging macro.
sfc_adapter is going to become primary process only.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
sfc_adapter structure will become primary process only private data.
Start to factor out shared data into dedicated structure which will
become separate structure finally.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
libefx is not multi-process aware and all related structures
should be moved to primary process only.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
libefx is not multi-process aware and all related structures
should be moved to primary process only.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
RSS RETA query and hash configuration get functions use shared
adapter data only. No libefx functions are called.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
If Tx datapath supports multi-process, secondary process should be
able to use Tx descriptor status API.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
If datapath supports multi-process, it should be possible to get
its TxQ structure by the queue index.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Secondary process needs to know TxQ state.
TxQ control structure will become primary process private.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
If Rx datapath supports multi-process, secondary process should be
able to use Rx descriptor status and related API.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
If datapath supports multi-process, it should be possible to get
its RxQ structure by the queue index.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Secondary process needs to know RxQ state.
RxQ control structure will become primary process private.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
The change is required to support datapath-dependent device operations
for secondary process. It is just a step in the direction.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Rx and Tx datapath ops should be stored in process private
data since these structures are located in the data section
(not allocated from shared memory).
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
These wrappers are used in single place and just complicate reading
and understanding if these ops could be supported in secondary process.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
TxQ control structure contains primary process only data and will become
primary process only. TxQ info get is supported in secondary process.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
RxQ control structure contains primary process only data and will
become primary process only. RxQ info get is supported in secondary
process.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Dynamic log type value may differ in different processes.
Fixes: f28ede500c2e ("net/sfc: support multi-process")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Rx queue count may be used from data core and it should not
generate control path logs.
Fixes: 04aa6b9c5fd7 ("net/sfc: get RxQ pending descriptors count")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Fixes: f8244c6399d9 ("ethdev: increase port id range")
Cc: stable@dpdk.org
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
test_create_bonded_device is failing due to improper initialisation in
bonded device configuration. Which leads to crash while setting up
queues.
The value of nb_rx_desc is checked if it is not in range of rx_desc_lim
of bonded device which fails.
This is due to "rx_desc_lim" is set to 0 as default value of bonded
device during bond_alloc().
Hence nb_rx_desc (1024) is > 0 and test fails.
Fix is to set the default values of rx_desc_lim of bonded device to
appropriate value.
Receive the values from slaves configuration like done for other
existing slave configuration
Fixes: 2efb58cbab6e ("bond: new link bonding library")
Cc: stable@dpdk.org
Signed-off-by: Hari Kumar Vemula <hari.kumarx.vemula@intel.com>
Acked-by: Chas Williams <chas3@att.com>
Added deprecation notice to replace rte_meter_color
with rte_color.
Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: Jasvinder Singh <jasvinder.singh@intel.com>
Acked-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
rte_service_attr_get() is passed a uint32_t * to retrieve
an attribute value, this will be changed to uin64_t * as per
patch posted at http://patchwork.dpdk.org/patch/49968/
Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Kevin Traynor <ktraynor@redhat.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: David Marchand <david.marchand@redhat.com>
Add a notice in the deprecation section of the release notes to call out
the fact that the minimum supported meson version for DPDK will change
from 19.05 onwards.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Timothy Redaelli <tredaelli@redhat.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
At this stage, meson builds are widely supported for DPDK, and so
the build system should be no longer called out as experimental.
NOTE: this does not imply it's the primary build system, just that
it's safe to use for day-to-day work and for packaging if so
desired.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Since 18.05, libnuma is pretty much required on Linux when using
non-legacy mode, because without it, we cannot know where our
hugepages are located [1].
In legacy mode, libnuma is not required because we can still sort
pages by sockets, as we use pagemap lookup method to figure out
socket ID's for pages.
So, document libnuma as required for NUMA systems and non-legacy
mode.
[1] https://mails.dpdk.org/archives/dev/2018-December/120490.html
Fixes: 6b42f75632f0 ("eal: enable non-legacy memory mode")
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Kevin Traynor <ktraynor@redhat.com>
I've been unable to dedicate enough time to actively help in the
maintainership of the link bonding PMD, and as Chas is now actively
maintaining this PMD, I'm removing my name against it in the
MAINTAINERS file.
Signed-off-by: Declan Doherty <declan.doherty@intel.com>
In the howto guide about flow bifurcation, the Mellanox case
(which does not require specific details) was missing in the landscape.
In the Linux drivers guide, it was not clear that the flow bifurcation
is performed in the NIC hardware.
References to flow isolated mode are also inserted in those contexts.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Some drivers (mlx, mvpp2, sfc) support the flow isolated mode,
but the feature was not advertised.
A reference to the feature description is added for each driver.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>