Commit Graph

8496 Commits

Author SHA1 Message Date
Dekel Peled
3d491dd6f2 net/mlx5: add define of LRO segment chunk size
Maximal size of coalesced LRO segment is set in TIR attributes as
number of chunks of size 256 bytes each.
Current implementation uses the hardcoded value 256 in several places.

This patch adds a definition for this value, and uses this definition
in all relevant places.
A debug message is added to clearly notify the actual configured size.

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
2020-01-17 19:45:23 +01:00
Dekel Peled
6dbb080969 net/mlx5: remove redundant define of LRO masks
Bit-masks MLX5_FLOW_LAYER_IPV4_LRO and MLX5_FLOW_LAYER_IPV6_LRO were
added during work on LRO.
They are not used anywhere in current code.

This patch removes these redundant definitions.

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
2020-01-17 19:45:23 +01:00
Kalesh AP
839dee4043 net/bnxt: add a field for FW capabilities
The purpose of this patch is used to add a new field "fw_cap"
in bnxt structure. The new "fw_cap" field store all the capabilities
reported by the FW. This information will help us to determine
the device capabilities when registering feature support with FW.

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2020-01-17 19:45:23 +01:00
Kalesh AP
7105de7085 net/bnxt: reset filter indices on free
Fix bnxt_free_filter() to ensure that the filter indices
are reset correctly when a filter is freed.

This change helps in avoiding few duplicate code as well.

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2020-01-17 19:45:23 +01:00
Kalesh AP
fd36aa85e5 net/bnxt: remove unnecessary macro for unused variables
Remove "__rte_unused" instances that are not required.

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Rahul Gupta <rahul.gupta@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
2020-01-17 19:45:23 +01:00
Kalesh AP
596bbea4e7 net/bnxt: fix request for hot reset support
During the registration process, the drivers must publish
"HOT_RESET_SUPPORTED" capability to the core firmware only
if core firmware is capable of Hot Reset.

Fixes: df6cd7c1f7 ("net/bnxt: handle reset notify async event from FW")
Cc: stable@dpdk.org

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
2020-01-17 19:45:23 +01:00
Kalesh AP
151c8240ac net/bnxt: restore VLAN filters during reset recovery
Older Firmware could have state information such as
MAC Filters, VLAN settings etc configured by user.
But new Firmware is unaware of this state information
and as a result driver should restore these settings
during reset recovery.

This patch restores the user configured vlan settings
prior to hot FW upgrade or FW error.

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2020-01-17 19:45:23 +01:00
Kalesh AP
b02f1573cd net/bnxt: restore MAC filters during reset recovery
Older Firmware could have state information such as
MAC Filters, VLAN settings etc configured by user.
But new Firmware is unaware of this state information
and as a result driver should restore these settings
during reset recovery.

This patch restores the user configured mac addresses
prior to hot FW upgrade or FW error.

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2020-01-17 19:45:23 +01:00
Xiaoyu Min
6801116688 net/mlx5: fix multiple flow table hash list
The eth devices which share one ibv device only need one hash list of
flow table.

Currently, flow table hash list is created per each eth device
whatever whether they share one ibv device or not.

If the devices share one ibv device, the previously created hash list
will become dangle because the pointer point to (sh->flow_tbls) is
overwritten by the later created hast list.

To fix this, just don't create hash list if it is already created.

Fixes: 54534725d2 ("net/mlx5: fix flow table hash list conversion")
Cc: stable@dpdk.org

Reported-by: Zhike Wang <wangzhike@jd.com>
Signed-off-by: Xiaoyu Min <jackmin@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
2020-01-17 19:45:23 +01:00
Tonghao Zhang
de561750c3 net/mlx5: clean up redundant assignment
The type of txq has been assigned in mlx5_txq_hairpin_new.

Fixes: ae18a1ae96 ("net/mlx5: support Tx hairpin queues")
Cc: stable@dpdk.org

Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
Acked-by: Ori Kam <orika@mellanox.com>
2020-01-17 19:45:23 +01:00
Tonghao Zhang
bf864e8205 net/mlx5: fix crash when setting hairpin queues
If configuring the number of tx/rx queue with rte_eth_dev_configure
to nr_queues + hairpin_nr_queues, and setting tx/rx queues to
nr_queues with rte_eth_tx/rx_queue_setup. But not configuring the
hairpin queues via rte_eth_tx/rx_hairpin_queue_setup.

When starting the netdev, there is a crash because of NULL accessing.

Fixes: cf5516696d ("ethdev: add hairpin queue")
Cc: stable@dpdk.org

Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
Acked-by: Ori Kam <orika@mellanox.com>
2020-01-17 19:45:23 +01:00
Eelco Chaudron
ddc7cb0d94 net/i40e: re-program promiscuous mode on VF interface
During a kernel PF reset, this event is propagated to the VF.
The DPDK VF PMD will execute the reset task before the PF is done
with his. This results in the admin queue message not being responded
to leaving the port in "promiscuous" mode.

This patch makes sure the promiscuous mode is configured independently
of the current admin state.

Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
Reviewed-by: Xiao Zhang <xiao.zhang@intel.com>
2020-01-17 19:45:23 +01:00
Lunyuan Cui
ba7b12dd64 net/ixgbe: fix link up in FreeBSD
In FreeBSD environment, nic_uio drivers do not support interrupts,
rte_intr_callback_register() will fail to register interrupts.
We cannot make link status to change from down to up by interrupt
callback. So we need to wait for the controller to acquire link
when ports start. Through multiple tests, 5s should be enough.

Fixes: b9bd0f09fa ("ethdev: fix link status query")
Cc: stable@dpdk.org

Signed-off-by: Lunyuan Cui <lunyuanx.cui@intel.com>
Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2020-01-17 19:45:23 +01:00
Lunyuan Cui
ff8162cb95 net/ixgbe: fix link status
The link status for ixgbevf is not correct when PF link up.
IXGBE_ESDP register is only used when media type is fiber.

Fixes: 1ca05831b9 ("net/ixgbe: fix link status")
Cc: stable@dpdk.org

Signed-off-by: Lunyuan Cui <lunyuanx.cui@intel.com>
Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
2020-01-17 19:45:23 +01:00
Tao Zhu
b1b73eaee2 net/iavf: add TSO offload use basic path
IAVF choices VECTOR TX path or Basic TX path by macro
IAVF_NO_VECTOR_FLAGS. TSO offload only processed by Basic TX path.

Fixes: 605c6f9ca5 ("net/avf: convert to new Rx and Tx offload API")
Cc: stable@dpdk.org

Signed-off-by: Tao Zhu <taox.zhu@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
2020-01-17 19:45:23 +01:00
Chenxu Di
1fa41f4518 net/i40e: fix port close in FreeBSD
FreeBSD OS doesn't support igb_uio interrupt, so it will fail when
unregister the interrupt callback in port close. We can fix the issue by
passing -ENOENT when check the return value of unregister interrupt
callback function.

Fixes: ac89d46096 ("net/i40e: release port upon close")
Cc: stable@dpdk.org

Signed-off-by: Chenxu Di <chenxux.di@intel.com>
Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
2020-01-17 19:45:23 +01:00
Jiaqi Min
e71ffcc100 net/iavf: fix Rx total stats
Rx total stats is the total number of successfully received packets,
so exclude the number of rx_discards for Rx total stats.

Fixes: f4a41a6953 ("net/avf: support stats")
Cc: stable@dpdk.org

Signed-off-by: Jiaqi Min <jiaqix.min@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
2020-01-17 19:45:23 +01:00
Bruce Richardson
7a3c4f4de2 net/ipn3ke: fix meson build
The ipn3ke driver and the ifpga driver had circular dependencies on each
other, meaning that neither could be built with meson. Fix this by:

* setting the build order of net and raw to match that in makefiles
* removing the dependency from the net driver on the rawdev one
* fixing the dependency names in the rawdev driver meson.build file

Fixes: 8418c92811 ("net/ipn3ke: remove configuration for i40e port bonding")
Fixes: e1defba4cf ("raw/ifpga/base: support device tree")
Cc: stable@dpdk.org

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Rosen Xu <rosen.xu@intel.com>
2020-01-17 19:45:23 +01:00
Shougang Wang
f27efe4eaf net/ice: fix packet type table
According to comms package, index 94 should be MAC_IPV6_ICMP,
not MAC_IPV4_ICMP. This patch fixes the issue.

Fixes: 4cf29798b4 ("net/ice: fix packet type table")
Cc: stable@dpdk.org

Signed-off-by: Shougang Wang <shougangx.wang@intel.com>
Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
2020-01-17 19:45:23 +01:00
Stephen Hemminger
b604e80632 net/netvsc: disable before changing RSS parameters
In order to change RSS parameters, the host requires that RSS
is disable first.

Fixes: 92d23a57ca ("net/netvsc: support configuring RSS parameters")
Cc: stable@dpdk.org

Signed-off-by: Donald Lee <donald_lee@trendmicro.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Tested-by: Dexuan Cui <decui@microsoft.com>
Tested-by: Abhishek Marathe <abmarath@microsoft.com>
2020-01-17 19:45:23 +01:00
Stephen Hemminger
b1cf08ae09 net/netvsc: fix RSS offload flag
The change to add OFFLOAD_RSS_HASH broke use of netvsc PMD
with testpmd. The netvsc driver fails during configure step:

	Configuring Port 1 (socket 0)
	hn_dev_configure(): unsupported RX offload: 0x80000

Fixes: 5d30897295 ("ethdev: add mbuf RSS update as an offload")
Cc: stable@dpdk.org

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2020-01-17 19:45:23 +01:00
Tao Zhu
a224832088 net/ice: disable TSO offload in vector path
ICE choices VECTOR TX path or Basic TX path by macro
ICE_NO_VECTOR_FLAGS.
TSO offload only processed by Basic TX path.

Fixes: f88de4694d ("net/ice: support Tx SSE vector")
Cc: stable@dpdk.org

Signed-off-by: Tao Zhu <taox.zhu@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
2020-01-17 19:45:23 +01:00
Lu Qiuwen
6aab203435 net/fm10k: fix descriptor VLAN field filling in Tx
The VLAN field in the descriptor is not filled when ol_flags has
no VLAN flag. When the caller sends some packets with VLAN tags,
but other packets do not have VLAN tags, the behavior of the program
cannot be determined.

Fixes: 4b61d3bfa9 ("fm10k: add receive and tranmit")
Cc: stable@dpdk.org

Signed-off-by: Lu Qiuwen <luqiuwen@iie.ac.cn>
Acked-by: Xiao Wang <xiao.w.wang@intel.com>
2020-01-17 19:45:23 +01:00
Zhike Wang
a09f61159a net/pcap: truncate packet if it is too large
Previously large packet would be dropped, instead now it is better to
keep it via truncating it.

Signed-off-by: Zhike Wang <wangzhike@jd.com>
Reviewed-by: Cian Ferriter <cian.ferriter@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
2020-01-17 19:45:23 +01:00
Kalesh AP
fb590010d9 net/bnxt: use macro for getting default VNIC
BNXT_GET_DEFAULT_VNIC macro returns the default VNIC of the
function and fixed all occurrences of code to use the macro.

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
2020-01-17 19:45:23 +01:00
Kalesh AP
731080ea36 net/bnxt: remove a log while deleting EM filters
Remove an unnecessary log while deleting EM filters.

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
2020-01-17 19:45:23 +01:00
Kalesh AP
3f6d59b0c8 net/bnxt: refactor chip type selection
Use switch-case statement to replace if-else statement.

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
2020-01-17 19:45:23 +01:00
Gavin Hu
52c8620022 net/thunderx: use new API to save cycles on aarch64
Use the new API to wait in low power state instead of continuous
polling to save CPU cycles and power.

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
2020-01-17 12:02:21 +01:00
Matan Azrad
5c060bf178 drivers: move ifc to vDPA directory
A new vDPA class was recently introduced.

IFC driver implements the vDPA operations,
hence it should be moved to the vDPA class.

Move it.

Signed-off-by: Matan Azrad <matan@mellanox.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2020-01-14 00:09:33 +01:00
Ali Alnubani
c3e89f69fa net/mlx: fix build with clang 9
This rewrites the MKSTR macro appending an empty string to its arguments
to resolve build failures similar to:

  drivers/net/mlx4/mlx4.c:461:14: fatal error: format string is not a
  string literal [-Wformat-nonliteral]
          MKSTR(path, "%s/device/uevent", device->ibdev_path);

  drivers/net/mlx4/mlx4_utils.h:82:30: note: expanded from macro 'MKSTR'
          char name[snprintf(NULL, 0, __VA_ARGS__) + 1]; \

  drivers/net/mlx5/mlx5_stats.c:144:15: fatal error: format string is not a
  string literal [-Wformat-nonliteral]
  	MKSTR(path, "%s/ports/%d/hw_counters/%s",

  drivers/net/mlx5/mlx5_utils.h:149:30: note: expanded from macro 'MKSTR'
  	char name[snprintf(NULL, 0, __VA_ARGS__) + 1]; \

The errors reproduce with clang version 9.0.0, and the release notes
don't mention what could have caused them.

Fixes: 7fae69eeff ("mlx4: new poll mode driver")
Fixes: 771fa900b7 ("mlx5: introduce new driver for Mellanox ConnectX-4 adapters")
Cc: stable@dpdk.org

Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
Signed-off-by: Matan Azrad <matan@mellanox.com>
2019-12-12 23:23:25 +01:00
Sachin Saxena
f513f62059 drivers: update copyright for NXP files
Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2019-11-28 16:03:54 +01:00
Hemant Agrawal
ff1097b3e5 net/nfp: replace license text with SPDX tag
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Heinrich Kuhn <heinrich.kuhn@netronome.com>
2019-11-28 02:12:41 +01:00
Viacheslav Ovsiienko
c8a1a172ae net/mlx5: fix legacy inline multi-packet performance
The legacy multi-packet write is the feature allowing to
put multiple packets into one transmitting descriptor,
this feature is supported by only NIC ConnectX-4LX.
The number of packets should be limited to provide
optimal size descriptor and better performance.

Fixes: 18a1c20044 ("net/mlx5: implement Tx burst template")
Cc: stable@dpdk.org

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
2019-11-27 16:27:00 +01:00
Viacheslav Ovsiienko
57725162f0 net/mlx5: fix legacy non-inline multi-packet performance
The legacy multi-packet write is the feature allowing to
put multiple packets into one transmitting descriptor,
this feature is supported by only NIC ConnectX-4LX.
The number of packets should be limited to provide
optimal size descriptor and better performance.

Fixes: 18a1c20044 ("net/mlx5: implement Tx burst template")
Cc: stable@dpdk.org

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
2019-11-27 16:25:11 +01:00
Viacheslav Ovsiienko
a0865f6f07 net/mlx5: fix default mark copy flow
In extensive metadata mode the MARK copy table is engaged,
if the application creates the flow with zero MARK ID action:

flow create 1 ingress pattern eth / ... / end actions mark id 0 / .. end

And then destroys that, the traffic to the port stops. This happens
due to default flow for the copy table has the zero ID and is removed
with the application rule. The patch extends internal ID variable
to 64 bits and provide the UINT64_MAX ID for the copy table default
rule.

Fixes: dd3c774f6f ("net/mlx5: add metadata register copy table")

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Ori Kam <orika@mellanox.com>
2019-11-27 16:15:10 +01:00
Suanming Mou
4a73c86ff6 net/mlx5: fix crash on GRE flow rule parsing
When set the GRE item, GRE key should follow after GRE header, or the
header gre_item pointer used by the key will be invalid.

Currently in the mlx5_flow_validate_item_gre_key() function, the header
gre_item pointer is access before checking if the key is after the
header or not. Once the key item is before the header, invalid gre_item
pointer access happens.

Move the gre_item pointer access after the GRE header check to avoid the
crash issue.

Fixes: a7a0365565 ("net/mlx5: match GRE key and present bits")
Cc: stable@dpdk.org

Signed-off-by: Suanming Mou <suanmingm@mellanox.com>
Acked-by: Ori Kam <orika@mellanox.com>
2019-11-26 18:22:27 +01:00
Suanming Mou
4acb96fd52 net/mlx5: add GENEVE in tunnel offloads capabilities
GENEVE is available in tunnel offloads. Add it as the default support
option.

Signed-off-by: Suanming Mou <suanmingm@mellanox.com>
Acked-by: Ori Kam <orika@mellanox.com>
2019-11-26 18:22:27 +01:00
Ali Alnubani
373c6114f5 net/mlx5: fix build with dlopen linkage
The header mlx5_glue.h includes rte_byteorder.h, which isn't
pulled by global_inc. This patch adds the missing include directory
and fixes the build error:

  In file included from drivers/net/mlx5/mlx5_glue.c:31:
  drivers/net/mlx5/mlx5_glue.h:12:10: fatal error:
  rte_byteorder.h: No such file or directory

The build failure can be triggered with:
  meson -Dibverbs_link=dlopen build && ninja -C build

Fixes: 400d985eb5 ("net/mlx5: add VLAN push/pop DR commands to glue")

Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
2019-11-26 18:22:27 +01:00
Viacheslav Ovsiienko
82e75f8323 net/mlx5: fix legacy multi-packet Tx descriptors
ConnectX-4LX supports multiple packets within the single Tx
descriptor. This feature is named as "Legacy Multi-Packet Write"
and imposes a lot of limitations:

  - no ACLs, it means no NIC Tx Flows are supported and Tx metadata
    become meaningless
  - the required minimal inline data must be zero
  - no SR-IOV, it means no support in E-Switch configurations,
  - no priority and dscp forcing
  - no VLAN insertion
  - no TSO
  - all packets within MPW session must have the same size

This legacy MPW feature is mainly intended for test purposes.
To explicitly engage the feature on ConnectX-4LX the devargs
should be specified:

  - txq_mpw_en=1

This feature was dropped in 19.08, this patch reverts it back.

Fixes: 18a1c20044 ("net/mlx5: implement Tx burst template")
Cc: stable@dpdk.org

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
2019-11-26 18:22:27 +01:00
Ferruh Yigit
2ad5482b51 net/kni: fix crash caused by double stop
'close()' calls 'stop()' and 'stop()' cancels pthread without any check.
Calling 'stop()' & 'close()' sequentially tries to cancel pthread twice
which will cause a crash.

Adding a state check in 'stop()' before canceling the pthread to prevent
multiple stop.

Fixes: 696fbc7bb4 ("net/kni: remove resources when port is closed")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Tested-by: Yinan Wang <yinan.wang@intel.com>
2019-11-26 18:22:27 +01:00
Xiao Wang
ac466a1d6c net/ifc: check VFIO query error
It's possible that we fail to get the IOMMU group of ifcvf device, this
patch adds a check on the return value.

Coverity issue: 349894
Fixes: a3f8150eac ("net/ifcvf: add ifcvf vDPA driver")
Cc: stable@dpdk.org

Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
2019-11-26 18:05:15 +01:00
Dekel Peled
0adf23adcb net/mlx5: fix flow engine choice
Commit in fixes line sets the DV (Direct Verbs) flow engine as default.
Newer versions of DV flow engine use the DR (Direct Rules) features.
DR is supported from RDMA Core library version rdma-core-24.0.
This cause failure to start port when using older rdma-core version,
without DR support.

This patch selects DV flow engine if rdma-core version is v24.0 or
higher. Verbs flow engine is selected otherwise.

Fixes: cd4569d2bf ("net/mlx5: change default flow engine to DV")

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Ori Kam <orika@mellanox.com>
2019-11-26 18:05:15 +01:00
Sunil Kumar Kori
c2c0aa75cd net/octeontx2: fix loopback config return for VF
loopback mode is not supported for VFs so returning error if
VF is being configured with loopback mode.

Fixes: 920717e4d8 ("net/octeontx2: add device start operation")
Cc: stable@dpdk.org

Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
2019-11-26 18:05:15 +01:00
Lunyuan Cui
a407d7c2dd net/e1000: fix link status
The link status got from link status register was not correct,
because register has been reset when ports reset.
After port reset, set the link status down.

Fixes: c431ec66c5 ("net/igb: support setting link up or down")
Cc: stable@dpdk.org

Signed-off-by: Lunyuan Cui <lunyuanx.cui@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-11-26 18:05:15 +01:00
Lunyuan Cui
c3f2fbff78 net/ixgbe: fix link status
The link status for 82599eb got from link status register was not
correct. Check the enable/disable flag of tx laser, set the link
status down if tx laser disabled. Then, we can get correct status.
But after port reset, tx laser register will be reset enable.
Link status will always be up. So set tx laser disable when port resets.

When hw->mac.autotry_restart is true, whether tx laser is disable or
enable, it will be set enable in ixgbe_flap_tx_laser_multispeed_fiber().
hw->mac.autotry_restart can be set true in both port init and port start.
Because we don't need this treatment before port starts, set
hw->mac.autotry_restart false when port init.

Fixes: 0408f47ba4 ("net/ixgbe: fix busy polling while fiber link update")
Cc: stable@dpdk.org

Signed-off-by: Lunyuan Cui <lunyuanx.cui@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-11-26 18:05:15 +01:00
Lunyuan Cui
e7c1d6b2d8 net/e1000: fix link status update
Meaningless to judge the link state according to the memset'ed
link variable, this patch fixes this logical issue.

In addition, this patch changes the variable from link_check to link_up
according to its real meaning.

Fixes: 80ba61115e ("net/e1000: use link status helper functions")
Cc: stable@dpdk.org

Signed-off-by: Lunyuan Cui <lunyuanx.cui@intel.com>
Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-11-26 18:05:15 +01:00
Wei Hu (Xavier)
8f64f2846d net/hns3: fix checking enough Tx BDs
In .tx_pkt_burst ops implementation function of hns3 PMD driver,
there is one check whether there are enough BDs in the TX queue.
If not, driver will stop sending the packets.

Currently in the 'for' process loop, the next_to_use member of
TX queue is not updated in time after processing BDs of one packet,
which results in the invalid action of checking whether there are
enough BDs and failure in sending packets.

This patch fixes it by moving the assignment statment of the
next_to_use member of TX queue to the place after porcessing TX BDs
in the 'for' loop.

Fixes: bba6366983 ("net/hns3: support Rx/Tx and related operations")
Cc: stable@dpdk.org

Signed-off-by: Hongbo Zheng <zhenghongbo3@huawei.com>
Signed-off-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
2019-11-26 18:05:15 +01:00
Pavan Nikhilesh
e75eb0c8a2 net/octeontx2: fix packet type parsing disabled by default
Enable packet type parsing by default, only disable when
`rte_eth_dev_set_ptypes()` is called with ptype_mask as 0.
This would enable applications that are dependent on packet type parsing
like l3fwd.

Also this patch preserves configuration set by `rte_eth_dev_set_ptypes`
across multiple calls of `rte_eth_dev_configure()`

Fixes: d2706e15e6 ("net/octeontx2: support reduced set of packet types")

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
2019-11-26 18:05:15 +01:00
Viacheslav Ovsiienko
8723061aa6 net/mlx5: fix getting metadata register for E-Switch domain
The metadata register used for META item/action within E-Switch
steering domain should be altered depending on dv_xmeta_en
devarg value.

Fixes: 3e8edd0ef8 ("net/mlx5: update metadata register ID query")

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
2019-11-26 18:05:15 +01:00
Suanming Mou
7c1852e48f net/mlx5: fix chosen L3/L4 layer with tunnel
For tunnel mode, there may be two L3/L4 layer match pattern items, one
for inner and one for outer layers. The L3 TTL and L4 port header
modify actions should handle the outermost layer items.

Currently flow_dv_attr_init() doesn't distinguish between outer and
inner layers, since inner layer comes later than the outer layer, this
may cause inner layer values also set to the flow attributes and may
lead actions to use inner L3/L4 pattern items.

Adding a check in flow_dv_attr_init() to prevent inner layer to set the
flow attribute if the previous L3/L4 outer pattern exist.

Fixes: 4bb14c83df ("net/mlx5: support modify header using Direct Verbs")
Cc: stable@dpdk.org

Signed-off-by: Suanming Mou <suanmingm@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
2019-11-26 18:05:15 +01:00