Commit Graph

5267 Commits

Author SHA1 Message Date
Rasesh Mody
fc120910e3 net/qede: use SPDX tag
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2018-05-25 12:00:20 +02:00
Olivier Matz
f83a3d3fa8 use SPDX tag for 6WIND copyrighted files
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
2018-05-25 10:47:06 +02:00
Thomas Monjalon
ea9382dc2b use SPDX license tag in Mellanox copyrighted files
Some files were left with full license and wrong copyright format.
They are switched to this format:
	SPDX-License-Identifier: BSD-3-Clause
	Copyright 2017 Mellanox Technologies, Ltd

Fixes: 5feecc57d9 ("align SPDX Mellanox copyrights")

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
2018-05-25 10:33:33 +02:00
Vipin Varghese
d8dc42fab6 net/tap: fix vdev data sharing for tun
Enables TUN PMD sharing by attaching the port from the shared data.

Fixes: ee27edbe0c ("drivers/net: share vdev data to secondary process")

Signed-off-by: Vipin Varghese <vipin.varghese@intel.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
2018-05-23 00:35:01 +02:00
Vipin Varghese
d1883bf1de net/tap: fix protocol field
The TX function is shared between TAP and TUN PMD. Checking TUN-TAP
type field will ensure the TAP PMD will always have protocol field
as 0.

Fixes: 204d026a39 ("net/tap: support tun")

Signed-off-by: Vipin Varghese <vipin.varghese@intel.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-05-23 00:35:01 +02:00
Chuhong Yao
fe242d514d net/liquidio: fix link state fetching during start
Clear link state information during device start for fetching new state
before function completion.

Fixes: 605164c8e7 ("net/liquidio: add API to validate VF MTU")
Cc: stable@dpdk.org

Signed-off-by: Chuhong Yao <ych@panath.cn>
Acked-by: Shijith Thotton <shijith.thotton@caviumnetworks.com>
2018-05-23 00:35:01 +02:00
Ajit Khaparde
65ee636872 net/bnxt: fix Rx checksum flags
For frames where the hardware is not able to calculate checksum
we are indicating such frames to be bad. And that is incorrect.
Indicate PKT_RX_IP_CKSUM_UNKNOWN or PKT_RX_L4_CKSUM_UNKNOWN
for such frames.

Fixes: 7ec39d8c52 ("net/bnxt: update status of Rx IP/L4 CKSUM")
Cc: stable@dpdk.org

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2018-05-23 00:35:01 +02:00
Ajit Khaparde
7f799071fe net/bnxt: fix xstats for VF
Query of port stats is permitted for VF interfaces as well.
Fix the code to allow VFs to query port stats.

Fixes: bfb9c2260b ("net/bnxt: support xstats get/reset")
Cc: stable@dpdk.org

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2018-05-23 00:35:01 +02:00
Ajit Khaparde
edafb57ba4 net/bnxt: fix VF resource allocation
If the resource requirement of a VF is more than what is allotted
to it by the FW, a VF can request to reallocate some of the resources.

This is possible only when the NIC is running the Resource Manager aware
CHiMP FW.

If necessary, calculate Tx and Rx ring count using the new RM API.
Otherwise use the Tx and Rx ring count as-is. Update the cp ring count
based on the Tx and Rx ring count.

Fixes: b7778e8a1c ("net/bnxt: refactor to properly allocate resources for PF/VF")

Signed-off-by: Jay Ding <jay.ding@broadcom.com>
Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Reviewed-by: Ray Jui <ray.jui@broadcom.com>
Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2018-05-23 00:35:01 +02:00
Ajit Khaparde
2b947bd294 net/bnxt: use first completion ring for fwd and async event
In order to save completion resource, use the first completion ring from
PF or VF as the default completion ring for async event & HWRM forward
response handling. Add bnxt_hwrm_set_async_event_cr() to set
async_event_cr for either PF or VF.

Fixes: 7bc8e9a227 ("net/bnxt: support async link notification")

Signed-off-by: Qingmin Liu <qingmin.liu@broadcom.com>
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2018-05-23 00:35:01 +02:00
Ajit Khaparde
44cbeffe77 net/bnxt: fix RSS hash configuration
While configuring RSS, the FW needs to know the rss_hash_mode that needs
to be initialized.
Set hash mode to HWRM_VNIC_RSS_CFG_INPUT_HASH_MODE_FLAGS_DEFAULT
to allow the FW to use the global mode already configured in the device.

Fixes: bcd4bcc442 ("net/bnxt: configure RSS")
Cc: stable@dpdk.org

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2018-05-23 00:35:01 +02:00
Ajit Khaparde
08aa0ebaca net/bnxt: fix Tx and Rx burst for secondary process
We were initializing Tx and Rx burst functions only for primary
processes. Fixing it in this patch.

Fixes: 8892013668 ("net/bnxt: support xstats get by id")
Cc: stable@dpdk.org

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2018-05-23 00:35:01 +02:00
Ajit Khaparde
704d430ccc net/bnxt: add fallthrough comment
The FALLTHROUGH comment for cascading switch cases was missing in
a few places. This patch adds that.

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2018-05-23 00:35:01 +02:00
Yongseok Koh
8f6d9e13a9 net/mlx5: remove redundant checks
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Xueming Li <xuemingl@mellanox.com>
2018-05-23 00:35:01 +02:00
Yongseok Koh
8589e944d0 net/mlx5: fix setting offsets for SW parser
Since ConnectX-5, SW parser just complements HW parser. SW parser starts to
engage only if HW parser can't reach a header. For the older devices, HW
parser will not kick in if any of SWP offsets is set. Therefore, all of the
L3 offsets should be set regardless of HW offload. As IPv6 doesn't have
header checksum, the mbuf can't have PKT_TX_[OUTER_]IP_CKSUM if outer or
inner L3 is IPv6.

And if inner packet isn't IP, the inner offsets shouldn't be set.

Fixes: 5f8ba81c42 ("net/mlx5: support generic tunnel offloading")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Xueming Li <xuemingl@mellanox.com>
2018-05-23 00:35:01 +02:00
Qi Zhang
e435197a5f net/ixgbe: remove unnecessary macro
Since we move to new offload APIs, IXGBE_SIMPLE_FLAGS is not used.

Fixes: 51215925a3 ("net/ixgbe: convert to new Tx offloads API")

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
2018-05-23 00:35:01 +02:00
Matan Azrad
602c5623c8 net/failsafe: fix duplicate event registration
When the fail-safe device is reconfigured, it attempts to register
again for the sub-devices LSC and RMV events.

Prevent an event registration if it is already done.

Fixes: 598fb8aec6 ("net/failsafe: support device removal")
Cc: stable@dpdk.org

Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
2018-05-23 00:35:01 +02:00
Matan Azrad
0545c580fc net/failsafe: fix removed sub-device cleanup
The fail-safe PMD registers to RMV event for each removable sub-device
port in order to cleanup the sub-device resources and switch the Tx
sub-device directly when it is plugged-out.

During removal time, the fail-safe PMD stops and closes the sub-device
but it doesn't unregister the LSC and RMV callbacks of the sub-device
port.

It can lead the callbacks to be called for a port which is no more
associated with the fail-safe sub-device, because there is not a
guarantee that a sub-device gets the same port ID for each plug-in
process. This port, for example, may belong to another sub-device of a
different fail-safe device.

Unregister the LSC and RMV callbacks for sub-devices which are not
used.

Fixes: 598fb8aec6 ("net/failsafe: support device removal")
Cc: stable@dpdk.org

Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
2018-05-23 00:35:01 +02:00
Maxime Coquelin
738eea9c27 net/vhost: convert to new Rx/Tx offload API
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
2018-05-23 00:35:01 +02:00
Adrien Mazarguil
b7abc67c28 net/mlx4: refactor RSS conversion functions
Since commit 97b2217ae5 ("net/mlx4: advertise supported RSS hash
functions"), this PMD includes two similar-looking functions that convert
RSS hash fields between Verbs and DPDK formats.

This patch refactors them as a single two-way function and gets rid of
redundant helper macros.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2018-05-23 00:35:01 +02:00
Adrien Mazarguil
27bdbbef1a net/mlx4: fix default in RSS converter
Below commit documents 0 as a value standing for a default set of RSS hash
types, however the mlx4 PMD doesn't interpret it correctly and still uses
its own internal special value for that (-1).

Also, its function prototype was not updated.

Fixes: ac8d22de23 ("ethdev: flatten RSS configuration in flow API")
Fixes: 1d173da83e ("net/mlx4: fix default RSS hash fields")
Cc: stable@dpdk.org

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2018-05-23 00:35:01 +02:00
Qi Zhang
853b2a68e4 net/i40e: remove dependency on old Rx flags
Cleanup remain dependency on old rxmode flags since we move to
new offload APIs.

Fixes: c3ac7c5b0b ("net/i40e: convert to new Rx offloads API")
Fixes: e0cb96204b ("net/i40e: add support for representor ports")

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
2018-05-23 00:35:01 +02:00
Chas Williams
ab2e38e828 net/bonding: export mode 4 slave info routine
rte_eth_bond_8023ad_slave_info() wasn't exported in the original work.
Useful to extract information about the current 802.3ad state.

Fixes: 46fb436836 ("bond: add mode 4")
Cc: stable@dpdk.org

Signed-off-by: Chas Williams <chas3@att.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-05-23 00:35:01 +02:00
Matan Azrad
83d63f0903 net/vdev_netvsc: fix automatic probing
The vdev_netvsc driver allows an automatic probe in Hyper-V VM systems
unless it was already specified by the EAL command line.

The detection of a specified NetVSC device is wrongly done by comparing
the vdev_netvsc driver name to all the vdev devices names, including
the suffix device index. Thus, if the user specifies the vdev_netvsc
device by adding an index to the device name, the comparison fails.
Consequently, the vdev_netvsc driver may automatically probe NetVSC
devices, despite the NetVSC device that was specified by the EAL command
line.

Compare the vdev_netvsc driver name to the devices names without the
index.

Fixes: 56252de779 ("net/vdev_netvsc: add automatic probing")
Cc: stable@dpdk.org

Signed-off-by: Matan Azrad <matan@mellanox.com>
2018-05-23 00:35:01 +02:00
Ed Czeck
5bfe551d0a net/ark: fix call to probing finish function for first port
Fixes: fbe90cdd77 ("ethdev: add probing finish function")

Signed-off-by: Ed Czeck <ed.czeck@atomicrules.com>
Acked-by: John Miller <john.miller@atomicrules.com>
Reviewed-by: Thomas Monjalon <thomas@monjalon.net>
2018-05-23 00:35:01 +02:00
Ferruh Yigit
1962193cc8 net/i40e: fix shifts of signed values
Following error reported by cppcheck:
(error) Shifting signed 32-bit value by 31 bits is
undefined behaviour. The patch fixes it.

Fixes: 8db9e2a1b2 ("i40e: base driver")
Cc: stable@dpdk.org

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
2018-05-23 00:35:01 +02:00
Harry van Haaren
4ebbe84dae net/e1000: fix build of igb only
This commit fixes a compilation error if EM_PMD is
not defined, bug IGB_PMD is. The root cause of the
issue was that log init variables are declared as
extern in a header file, while the definition of the
variables was in e1000_ethdev.c. Hence, the definitions
were not available if the e1000 PMD is disabled.

To fix this, a new file is added e1000_logs.c, which
matches the e1000_logs.h header. The log variables are
always compiled in, but the PMD logs are only registered
if a PMD is enabled in the configuration. Extra checks
are added in order to avoid duplicate registering.

Fixes: ed5bbb767c ("net/e1000: implement dynamic logging")
Cc: stable@dpdk.org

Reported-by: Vipin Varghese <vipin.varghese@intel.com>
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Vipin Varghese <vipin.varghese@intel.com>
2018-05-23 00:35:01 +02:00
David Marchand
5fd4d04969 net/mlx5: fix count in xstats
With the commit af4f09f282 ("net/mlx5: prefix all functions with mlx5"),
mlx5_xstats_get() is not compliant any longer with the api.
It always returns the caller max entries count while it should return how
many entries it wrote/wanted to write.

Fixes: af4f09f282 ("net/mlx5: prefix all functions with mlx5")

Signed-off-by: David Marchand <david.marchand@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
2018-05-23 00:35:01 +02:00
Ophir Munk
3101191c63 net/tap: fix device removal when no queue exist
TAP device is created following its first queue creation. Multiple
queues can be added or removed over time. In Linux terminology those
are file descriptors which are opened or closed over time. As long as
the number of opened file descriptors is positive - TAP device will
appear as a Linux device. In case all queues are released (the
equivalent of all file descriptors being closed) the TAP device will
be removed. This can lead to abnormalities in different scenarios
where the TAP device should exist even if all its queues are released.
In order to make TAP existence independent of its number of queues -
an extra file descriptor is opened on TAP creation and is closed on
TAP closure. Its only purpose is to serve as a keep-alive mechanism
for the TAP device.

Fixes: bf7b7f437b ("net/tap: create netdevice during probing")
Cc: stable@dpdk.org

Signed-off-by: Ophir Munk <ophirmu@mellanox.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
2018-05-23 00:35:01 +02:00
Shagun Agrawal
f5b3c7b293 net/cxgbevf: fix inter-VM traffic when physical link down
Add force_link_up devargs to always force link as up for VFs.
This enables VFs on the same NIC to send traffic to each other
even when physical link is down.

Also add RTE_PMD_REGISTER_PARAM_STRING to export all supported
devargs.

Fixes: 011ebc236d ("net/cxgbe: add skeleton VF driver")

Signed-off-by: Shagun Agrawal <shaguna@chelsio.com>
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
2018-05-23 00:35:01 +02:00
Remy Horton
f2831f34c2 net/i40e: fix corruption of VF stats
The resetting of stats on a VF involves the setting of an offset
that is subtracted from future calls, rather zeroing of counters.
However doing a stats reset on the port representor was also
adjusting the values forwarded to the VF, which had the effect of
corrupting the VF's counters. The fix is for the port representor
to maintain its own stats offset, so the port representor and VF
maintain independently-resettable counters.

Fixes: e0cb96204b ("net/i40e: add support for representor ports")

Signed-off-by: Remy Horton <remy.horton@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
2018-05-23 00:35:01 +02:00
Wei Dai
4724604a7d net/ixgbe: fix config VLAN strip on the fly
The old ixgbe_vlan_offload_set() is called by
rte_eth_dev_set_vlan_offload() which is meant to config VLAN
strip/filter/extend on all queues.
This old function is also called by rte_eth_dev_start()/ixgbe_dev_start()
which need support per-queue VALN strip on only parts of queues.

So add new function ixgbe_vlan_offload_config() =
old ixgbe_vlan_offload_set().
This new function is called by ixgbe_dev_start() to support VLAN strip
per-queue configuration.

New ixgbe_vlan_offload_set() = codes to align VLAN strip flags on all
queues with port level setting + new ixgbe_vlan_offload_configure().
The 2nd function is called by rte_eth_dev_set_vlan_offload to support
configure VLAN strip on all queues of whole port.

Fixes: 216f78f4d5 ("net/ixgbe: support VLAN strip per queue offloading in PF")
Fixes: 860a94d3c6 ("net/ixgbe: support VLAN strip per queue offloading in VF")

Signed-off-by: Wei Dai <wei.dai@intel.com>
Signed-off-by: Yanglong Wu <yanglong.wu@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
2018-05-23 00:35:01 +02:00
Shahed Shaikh
f8d2581ecb net/qede: fix unicast filter routine return code
There is no need to return failure (-EEXIST) when the requested
filter is already configured.

Fixes: d6cb17535f ("net/qede: fix VLAN filters")
Fixes: 77fac1b54f ("net/qede: fix filtering code")
Cc: stable@dpdk.org

Signed-off-by: Shahed Shaikh <shahed.shaikh@cavium.com>
2018-05-23 00:35:01 +02:00
Rasesh Mody
52c5f7b5b4 net/qede/base: reduce verbosity in HW init log
Reduce the verbosity in ecore_pglueb_rbc_attn_handler() while logging
errmsg during HW init. This could happen due to ungraceful exit of
previous driver instance.

Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2018-05-23 00:35:01 +02:00
Rasesh Mody
917481cad8 net/qede: fix missing loop index in Tx SG mode
Fixes: 3d4bb44116 ("net/qede: add fastpath support for VXLAN tunneling")
Cc: stable@dpdk.org

Signed-off-by: Harish Patil <harish.patil@cavium.com>
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2018-05-23 00:35:00 +02:00
Harish Patil
413ecf2942 net/qede: fix multicast filtering
This patch is to fix multicast filtering using set_mc_addr_list().

Fixes: 77fac1b54f ("net/qede: fix filtering code")
Cc: stable@dpdk.org

Signed-off-by: Harish Patil <harish.patil@cavium.com>
Signed-off-by: Shahed Shaikh <shahed.shaikh@cavium.com>
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2018-05-23 00:35:00 +02:00
Qiming Yang
3e8d16a0fb net/ixgbe: fix DCB configuration
This patch removes unnecessary check in ixgbe_check_mq_mode, which
fixes the DCB configuration issue.

Fixes: 27b609cbd1 ("ethdev: move the multi-queue mode check to specific drivers")
Cc: stable@dpdk.org

Signed-off-by: Qiming Yang <qiming.yang@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2018-05-23 00:35:00 +02:00
Gavin Hu
74572f23cd net/mlx5: fix build with clang on ARM
This patch adds a pair of "()" to embrace the argument
input to the function-like macro invocation.

drivers/net/mlx5/mlx5_rxtx_vec.c:37:
drivers/net/mlx5/mlx5_rxtx_vec_neon.h:170:24: error: too many arguments
provided to function-like macro invocation
	(uint16x8_t) { 0, 0, cs_flags, rte_cpu_to_be_16(len),

Fixes: 570acdb1da ("net/mlx5: add vectorized Rx/Tx burst for ARM")
Cc: stable@dpdk.org

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Signed-off-by: Sirshak Das <sirshak.das@arm.com>
Reviewed-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
2018-05-21 00:55:39 +02:00
Roman Zhukov
1613848c2c net/sfc: fix errno if flow API RSS action parse fails
The value of rte_errno must be positive in case of an error.

Fixes: d77d07391d ("net/sfc: support flow API RSS action")
Cc: stable@dpdk.org

Signed-off-by: Roman Zhukov <roman.zhukov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
2018-05-17 19:44:23 +02:00
Ophir Munk
2f5045c51c net/tap: support RSS hash update
Add RSS hash update callback to eth_dev_ops.

Signed-off-by: Ophir Munk <ophirmu@mellanox.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
2018-05-17 19:07:08 +02:00
Adrien Mazarguil
911bbb0f7c net/mlx4: fix shifts of signed values in Tx
This patch addresses the following issues reported by cppcheck:

 [drivers/net/mlx4/mlx4_rxtx.c:266]: (error) Shifting signed 32-bit value
     by 31 bits is undefined behaviour
 [drivers/net/mlx4/mlx4_rxtx.c:624]: (error) Shifting signed 32-bit value
     by 31 bits is undefined behaviour
 [drivers/net/mlx4/mlx4_txq.c:89]: (error) Shifting signed 32-bit value by
     31 bits is undefined behaviour
 [drivers/net/mlx4/mlx4_txq.c:91]: (error) Shifting signed 32-bit value by
     31 bits is undefined behaviour

Fixes: 78e81a9844 ("net/mlx4: merge Tx queue rings management")
Cc: stable@dpdk.org

Reported-by: Ferruh Yigit <ferruh.yigit@intel.com>
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2018-05-17 19:06:29 +02:00
Shahaf Shuler
607fc8e4a9 net/mlx5: fix default RSS level
Using inner RSS by default for GRE leads to memory corruption as the
extra flow items added for the inner RSS are not counted in the flow
attributes buffer size.

Fixing by enforcing the default RSS level to be outer. This much
simplify the flow engine and more robust.
Future optimization for out of the box RSS can be done on subsequent
commits.

Fixes: d4a405186b ("net/mlx5: support tunnel RSS level")

Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
2018-05-17 19:06:29 +02:00
Xiaoyun Li
f59917c840 net/avf: fix traffic blocked on reset
When resetting ports, traffic will be blocked. There is a mistake when
getting hw info at avf_dev_stop. This causes the device stop without
stopping queues. This patch fixes this issue.

Fixes: 69dd4c3d08 ("net/avf: enable queue and device")
Cc: stable@dpdk.org

Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
2018-05-17 19:06:29 +02:00
Wenzhuo Lu
874f79102d net/ixgbe: fix too many interrupts
To support kernel VF, PBA bit is always set. But it may
cause the too many interrupts issue on specific Linux
kernel versions, e.g. 4.4.0-116.
PF host should set the auto clean, mask and throttling
as we always set the register for kernel VF.

Fixes: 6b75183ac4 ("net/ixgbe: fix wrong PBA setting")
Cc: stable@dpdk.org

Signed-off-by: Michael Luo <michael.luo@intel.com>
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Reviewed-by: Qi Zhang <qi.z.zhang@intel.com>
2018-05-17 19:06:29 +02:00
Beilei Xing
ba2e8c6f29 net/i40e: fix failing to disable FDIR Tx queue
If flow director is enabled, FDIR Tx queue can't
be disabled when exiting application. Root cause
is FDIR Tx queue is not disabled before removing
HMC backing store.

Fixes: 71d35259ff ("i40e: tear down flow director")
Cc: stable@dpdk.org

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
2018-05-17 19:06:29 +02:00
Ivan Malov
e4c5216d1c net/sfc: improve unsupported flow pattern message
Such a message could be generated by two places
in the code, and there is a difference in the
text albeit there is no difference in the meaning.
These two messages must be the same so that
automated error log comparison may be carried
out without confusion.

Fixes: a9825ccf5b ("net/sfc: support flow API filters")
Cc: stable@dpdk.org

Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
2018-05-17 19:06:29 +02:00
Andrew Rybchenko
e9ff01b36d net/sfc: fix minimum number of Rx descriptors in ESSB mode
Number of descriptors in equal stride super-buffer Rx mode defines
number of packet buffers to be used. Each HW Rx descriptor has
many packet buffers and the number depends on total size of mbuf
and CONFIG_RTE_DRIVER_MEMPOOL_BUCKET_SIZE_KB value.
Typically it makes a bit less than 32 buffers per descriptor.
Since HW Rx descriptors must be pushed by 8, it makes about 256
as required minimum. Double it in advertised minimum to allow for
at least 2 refill blocks.

Fixes: 390f9b8d82 ("net/sfc: support equal stride super-buffer Rx mode")

Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
2018-05-17 19:06:28 +02:00
Ophir Munk
2ef1c0da89 net/tap: fix isolation mode toggling
Running testpmd command "flow isolae <port> 0" (i.e. disabling flow
isolation) followed by command "flow isolate <port> 1" (i.e. enabling
flow isolation) may result in a TAP error:
PMD: Kernel refused TC filter rule creation (17): File exists

Root cause analysis: when disabling flow isolation we keep the local
rule to redirect packets on TX (TAP_REMOTE_TX index) while we add it
again when enabling flow isolation. As a result this rule is added
two times in a row which results in "File exists" error.
The fix is to identify the "File exists" error and silently ignore it.

Another issue occurs when enabling isolation mode several times in a
row in which case the same tc rules are added consecutively and
rte_flow structs are added to a linked list before removing the
previous rte_flow structs.
The fix is to act upon isolation mode command only when there is a
change from "0" to "1" (or vice versa).

Fixes: f503d26948 ("net/tap: support flow API isolated mode")
Cc: stable@dpdk.org

Reviewed-by: Raslan Darawsheh <rasland@mellanox.com>
Signed-off-by: Ophir Munk <ophirmu@mellanox.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
2018-05-17 16:01:05 +02:00
Shahaf Shuler
34511c25d5 net/mlx5: fix build without tunnel RSS support
IBV_RX_HASH_INNER should be referenced only when having tunnel support
in the Verbs headers.

Fixes: 80f2d0ed7f ("net/mlx5: add hardware flow debug dump")

Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
2018-05-17 12:31:42 +02:00
Matan Azrad
1f106da2bf net/mlx5: support MPLS-in-GRE and MPLS-in-UDP
Add support for MPLS over GRE and MPLS over UDP tunnel types as
described in the next RFCs:
1. https://tools.ietf.org/html/rfc4023
2. https://tools.ietf.org/html/rfc7510
3. https://tools.ietf.org/html/rfc4385

Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
2018-05-17 12:31:42 +02:00