The fail-safe PMD uses a per sub-device flag called "remove" to
indicate the scope where the sub-device was removed physically and
whether its software resources should be released.
This flag is set when the fail-safe receives an RMV notification
about the physical removal of the sub-device, and should be unset when
all the sub-device resources are released.
The previous code wrongly unsets the flag in dev_configure(), instead
of when the software resources release is completed.
Change the remove flag unsetting to take action in the end of the
software resources release.
Fixes: a46f8d5 ("net/failsafe: add fail-safe PMD")
Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
The hot-plug alarm mechanism of fail-safe PMD is responsible for
handling removed devices during a plug-out event and to restore them
back to activity following a plug-in event.
Fail-safe sets a flag called "pending_alarm" to validate that only one
alarm callback is pending at any time. While this flag is required to
avoid simultaneous initiations of the alarm thread - it should not be
considered during alarm thread cancellation.
So, when failsafe_hotplug_alarm_cancel() was called while the alarm
callback was being executed the alarm mechanism was not stopped.
Skip checking the "pending_alarm" flag to allow alarm thread
cancellation all the times.
Fixes: ebea83f899 ("net/failsafe: add plug-in support")
Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
CRC stripping is executed in the kernel outside of TAP PMD scope.
There is no prevention that the TAP PMD will report on Rx CRC
stripping capability.
In the corrupted code, TAP PMD did not report on this capability.
The fix enables TAP PMD to report that Rx CRC stripping is supported.
Fixes: 02f96a0a82 ("net/tap: add TUN/TAP device PMD")
Cc: stable@dpdk.org
Signed-off-by: Ophir Munk <ophirmu@mellanox.com>
The current implementation of the Tap PMD doesn't support packet size
grater than 1522B, so no need to set jumbo frames in the Tap features.
Fixes: 04b2c3c943 ("doc: add tap features")
Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Pascal Mazon <pascal.mazon@6wind.com>
Other NICs with VF support do not use the _pf suffix for these files
but just for the VF description.
This change makes NFP files consistent in this regard and helps with
how the DPDK web nics features matrix shows NFP devices.
Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
This is to revert the following commits:
commit da646bd938 ("net/mlx5: fix all multi verification code position")
commit 0a40a1363a ("net/mlx5: fix flow type for allmulti rules")
The last one introduced a bug in the following diff:
@ -1262,6 +1274,7 @@ struct ibv_spec_header {
eth.val.ether_type &= eth.mask.ether_type;
}
mlx5_flow_create_copy(parser, ð, eth_size);
+ parser->allmulti = eth.val.dst_mac[0] & 1;
return 0;
}
As broadcast rules will be considered of type allmulti as well.
The patch was originally intended to enable VF to receive all multicast
traffic by using the IBV_FLOW_ATTR_MC_DEFAULT flow type.
Since the support was removed from the kernel there is no point with
fixing this issue, hence the revert.
Fixes: da646bd938 ("net/mlx5: fix all multi verification code position")
Fixes: 0a40a1363a ("net/mlx5: fix flow type for allmulti rules")
Cc: stable@dpdk.org
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
This patch fixed primary socket assertion error during close on a device
that failed to start.
Fixes: f8b9a3bad4 ("net/mlx5: install a socket to exchange a file descriptor")
Cc: stable@dpdk.org
Signed-off-by: Xueming Li <xuemingl@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Due to the missing __packed definition, compiler treating
it as as global variable.
grep "Allocating common symbols" -A 100 build/app/testacl.map
__packed 0x8 /build/lib/librte_pmd_dpaa2.a(dpaa2_rxtx.o)
Fixes: a5fc38d422 ("net/dpaa2: support Rx packet parsing")
Cc: stable@dpdk.org
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
DPDK API does not propagate the reason of device allocation failure
from rte_eth_dev_allocate() up to the DPDK application (e.g. Open
vSwitch).
Log level of associated log entries was changed to warning. So user
can find additional details in log files also in production systems,
where debug messages cannot be turned on.
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
The struct rte_eth_dev_data is used in ethdev fastpath routines
and it not aligned to cache line size. This patch fixes the ethdev
data alignment.
The alignment was broken from the "first public release" changeset
where ethdev data address was aligned only to the first port.
Remaining ports alignment was defined by the size of the struct
(rte_eth_dev_data). This scheme is not guaranteed to be cache line
aligned all the time.
"ethdev: add port ownership" change set introduced a
rte_eth_dev_shared_data container for port ownership change,
This resulted in rte_eth_dev->data memory for the first port also
as cache unaligned.
Added a compiler alignment attribute to make sure
rte_eth_dev->data always cache aligned so that CPU/compiler
1) Avoid sharing the element with another cache line
2) Can load/store the elements in struct rte_eth_dev_data as
naturally aligned.
Some platform like thunderX could see performance regression of 1%
at "ethdev: add port ownership" change set with
1 port/1 queue l3fwd application and this patch fixes that regression.
example command:
sudo ./examples/l3fwd/build/l3fwd -c 0xff00 -- -p 0x1 --config="(0,0,9)"
Fixes: af75078fec ("first public release")
Fixes: 5b7ba31148 ("ethdev: add port ownership")
Cc: stable@dpdk.org
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
I wrote pmdinfogen initially, and since there isn't a maintainer for it,
I'll volunteer to take care of it
Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Added note on the increased ring size in testpmd and the sample
applications to the release note.
Fixes: bd8f10f6d6 ("app/testpmd: increase default ring sizes to 1024")
Fixes: 867a6c66ec ("examples: increase default ring sizes to 1024")
Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Updated the limitations for dpdk-procinfo
to inform user of the proper use. To avoid
failures and build issues
Signed-off-by: Marko Kovacevic <marko.kovacevic@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
This updates the Intel and IBM license on files in examples to be
the standard BSD-3-Clause license used for the rest of DPDK,
bringing the files in compliance with the DPDK licensing policy.
Signed-off-by: Lee Daly <lee.daly@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Chao Zhu <chaozhu@linux.vnet.ibm.com>
This updates the Intel and Cavium license on files in examples to be
the standard BSD-3-Clause license used for the rest of DPDK, bringing
the files in compliance with the DPDK licensing policy.
Signed-off-by: Lee Daly <lee.daly@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Adding support for AES 256 algorithm in ipsec-secgw application
Signed-off-by: Anoob Joseph <anoob.joseph@caviumnetworks.com>
Acked-by: Radu Nicolau <radu.nicolau@intel.com>
This patch fixes issue during dealing with flow
director filter.
Fixes: 6c684f579d ("app/testpmd: add or delete flow director filter")
Cc: stable@dpdk.org
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
If build fails because of failed experimental check and stdout is
redirected to /dev/null, it is absolutely unclear why build fails.
Fixes: a4bcd61de8 ("buildtools: add script to check experimental API exports")
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
This reverts commit 15692396fd
(eal/ppc64: implement arch-specific TSC freq query).
We intended to derive pkt/sec estimation with cpu clock frequency.
As timebase register serves the timer purpose, we need to stick with it
for calculating pkt/sec, hence reverting the change.
Fixes: 15692396fd ("eal/ppc64: implement arch-specific TSC freq query")
Cc: stable@dpdk.org
Signed-off-by: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
Acked-by: Chao Zhu <chaozhu@linux.vnet.ibm.com>
Neither upstream kernel nor MLNX_OFED support such filter.
There is no point announcing this feature.
Reverts commit 0fb2c9842b ("net/mlx5: support IPv4 time-to-live filter")
Fixes: 0fb2c9842b ("net/mlx5: support IPv4 time-to-live filter")
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Some hardware doesn't support disabling CRC strip. In techboard it has
been decided to enable CRC strip always.
The testpmd update in commit 8b9bd0efe0, enables CRC strip only if
PMD reports CRC strip capability. Not all PMDs updated to report CRC
strip.
For the PMDs not reporting CRC strip testpmd behavior changed and
disabling CRC strip for them. And this may generate error for PMDs that
doesn't support disabling CRC strip.
Removing capability check for this release. In long term there can be
option to remove CRC strip flag completely or adding a new flag to let
PMD say disabling is not supported.
Fixes: 8b9bd0efe0 ("app/testpmd: disable Rx VLAN offloads by default")
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
This patch updates mlx4 Rx offload capabilities to also indicate that
Rx CRC stripping is (always) supported.
Since the device does not support disabling CRC stripping the PMD
silently ignores such requests.
Signed-off-by: Moti Haimovsky <motih@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
This patch adds user guide specifically for igb NIC, like ixgbe,
to list all the supported features and known issues.
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
The hw flags are not read correctly: the defines
RX_PKT_CMPL_FLAGS_ITYPE_* are not bits but values, so the should not be
tested with if (value & X) but with if ((value & MASK) == X).
This was resulting in a wrong packet type.
For instance, an IPv4/ICMP packet was returning a value of 7 for
the layer 4, which is undefined.
This patch rework the way packet types are processed, to ensure
that only valid packet types will be advertised.
Fixes: 3d2a6644eb ("net/bnxt: support getting ptypes")
Cc: stable@dpdk.org
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
There is no need to return an error if an existing MAC is added.
Fixes: 778b759ba1 ("net/bnxt: add MAC address")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
We are not parsing for 100G speed correctly.
With this patch we should be able to configure 100G link.
Fixes: 90ed2b7229 ("net/bnxt: add 100G speed detection")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
When Autoneg is turned off especially on remote side,
link does not come up. This patch fixes that.
Fixes: 7bc8e9a227 ("net/bnxt: support async link notification")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Fix the Rx offload flags when the IP or L4 checksum is seen as incorrect
by the hardware. In this case, the proper value is PKT_RX_IP_CKSUM_BAD.
PKT_RX_IP_CKSUM_NONE means that the checksum may be incorrect in the
packet headers, but the integrity of the IP header is verified. This is
mostly useful for virtual drivers.
Fixes: 7ec39d8c52 ("net/bnxt: update status of Rx IP/L4 CKSUM")
Cc: stable@dpdk.org
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
This patch complements the partial cleanup done inside
eth_dev_tap_create when the routine failed.
Such a failure left a non-functional device attached to the system.
Fixes: 050fe6e9ff ("drivers/net: use ethdev allocation helper for vdev")
Cc: stable@dpdk.org
Signed-off-by: Moti Haimovsky <motih@mellanox.com>
Acked-by: Pascal Mazon <pascal.mazon@6wind.com>
testpmd needs to get CRC strip offload from rx_offload_capa with a
recent change. This patch adds CRC strip flag to rx_offload_capa
for ixgbe and ixgbevf, as they have the capability.
Fixes: 8b9bd0efe0 ("app/testpmd: disable Rx VLAN offloads by default")
Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
This reverts commit 7b7711bea5 ("net/i40e/base: enhance loopback
AQ command").
It was to support multiple type of loopbacks, which results to
configuration error about adminq. So revert it as agreed.
Fixes: 7b7711bea5 ("net/i40e/base: enhance loopback AQ command")
Signed-off-by: Yanglong Wu <yanglong.wu@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
This patch updates the i40e guide with new device parameter of
'support-multi-driver'.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Marko Kovacevic <marko.kovacevic@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Received a note the other day from the Linux Foundation governance board
for DPDK indicating that several files I have copyright on need to be
relicensed to be compliant with the DPDK licensing guidelines. I have
some concerns with some parts of the request, but am not opposed to
other parts. So, for those pieces that we are in consensus on, I'm
proposing that we change their license from BSD 2 clause to 3 clause.
I'm also updating the files to use the SPDX licensing scheme
Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>