patches for DPDK stable branches
 help / color / mirror / Atom feed
* [PATCH 19.11] net/ixgbe: fix port initialization if MTU config fails
@ 2021-12-01 10:39 Tudor Cornea
  2021-12-01 15:38 ` Christian Ehrhardt
  0 siblings, 1 reply; 2+ messages in thread
From: Tudor Cornea @ 2021-12-01 10:39 UTC (permalink / raw)
  To: stable; +Cc: christian.ehrhardt, Tudor Cornea

[ upstream commit 2108930be123ab83c837e7dd6eb3078ec3482ad4 ]

On a VMware ESXi 6.0 setup with an Intel 82599 NIC the ports don't
seem to initialize anymore, while running testpmd.

Configuring Port 0 (socket 0)
ixgbevf_dev_rx_init(): Set max packet length to 1518 failed.
ixgbevf_dev_start(): Unable to initialize RX hardware (-22)
Fail to start port 0: Invalid argument
Configuring Port 1 (socket 0)
ixgbevf_dev_rx_init(): Set max packet length to 1518 failed.
ixgbevf_dev_start(): Unable to initialize RX hardware (-22)
Fail to start port 1: Invalid argument
Please stop the ports first

If the call to ixgbevf_rlpml_set_vf fails and we return prematurely,
we will not be able to initialize the ports correctly.

Fixes: c77866a16904 ("net/ixgbe: detect failed VF MTU set")

We can make this particular use case work correctly if we don't
return an error, which seems to be consistent with the overall
kernel ixgbevf implementation.

[1]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c?h=v5.14#n2015

Signed-off-by: Tudor Cornea <tudor.cornea@gmail.com>
---
 drivers/net/ixgbe/ixgbe_rxtx.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
index ed36a33..26b49a2 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -5545,11 +5545,9 @@ ixgbevf_dev_rx_init(struct rte_eth_dev *dev)
 	 * VF packets received can work in all cases.
 	 */
 	if (ixgbevf_rlpml_set_vf(hw,
-	    (uint16_t)dev->data->dev_conf.rxmode.max_rx_pkt_len)) {
+	    (uint16_t)dev->data->dev_conf.rxmode.max_rx_pkt_len))
 		PMD_INIT_LOG(ERR, "Set max packet length to %d failed.",
 			     dev->data->dev_conf.rxmode.max_rx_pkt_len);
-		return -EINVAL;
-	}
 
 	/*
 	 * Assume no header split and no VLAN strip support
-- 
2.7.4


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH 19.11] net/ixgbe: fix port initialization if MTU config fails
  2021-12-01 10:39 [PATCH 19.11] net/ixgbe: fix port initialization if MTU config fails Tudor Cornea
@ 2021-12-01 15:38 ` Christian Ehrhardt
  0 siblings, 0 replies; 2+ messages in thread
From: Christian Ehrhardt @ 2021-12-01 15:38 UTC (permalink / raw)
  To: Tudor Cornea; +Cc: stable

On Wed, Dec 1, 2021 at 12:10 PM Tudor Cornea <tudor.cornea@gmail.com> wrote:
>
> [ upstream commit 2108930be123ab83c837e7dd6eb3078ec3482ad4 ]
>

Thanks, applied

> On a VMware ESXi 6.0 setup with an Intel 82599 NIC the ports don't
> seem to initialize anymore, while running testpmd.
>
> Configuring Port 0 (socket 0)
> ixgbevf_dev_rx_init(): Set max packet length to 1518 failed.
> ixgbevf_dev_start(): Unable to initialize RX hardware (-22)
> Fail to start port 0: Invalid argument
> Configuring Port 1 (socket 0)
> ixgbevf_dev_rx_init(): Set max packet length to 1518 failed.
> ixgbevf_dev_start(): Unable to initialize RX hardware (-22)
> Fail to start port 1: Invalid argument
> Please stop the ports first
>
> If the call to ixgbevf_rlpml_set_vf fails and we return prematurely,
> we will not be able to initialize the ports correctly.
>
> Fixes: c77866a16904 ("net/ixgbe: detect failed VF MTU set")
>
> We can make this particular use case work correctly if we don't
> return an error, which seems to be consistent with the overall
> kernel ixgbevf implementation.
>
> [1]
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/
> drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c?h=v5.14#n2015
>
> Signed-off-by: Tudor Cornea <tudor.cornea@gmail.com>
> ---
>  drivers/net/ixgbe/ixgbe_rxtx.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
> index ed36a33..26b49a2 100644
> --- a/drivers/net/ixgbe/ixgbe_rxtx.c
> +++ b/drivers/net/ixgbe/ixgbe_rxtx.c
> @@ -5545,11 +5545,9 @@ ixgbevf_dev_rx_init(struct rte_eth_dev *dev)
>          * VF packets received can work in all cases.
>          */
>         if (ixgbevf_rlpml_set_vf(hw,
> -           (uint16_t)dev->data->dev_conf.rxmode.max_rx_pkt_len)) {
> +           (uint16_t)dev->data->dev_conf.rxmode.max_rx_pkt_len))
>                 PMD_INIT_LOG(ERR, "Set max packet length to %d failed.",
>                              dev->data->dev_conf.rxmode.max_rx_pkt_len);
> -               return -EINVAL;
> -       }
>
>         /*
>          * Assume no header split and no VLAN strip support
> --
> 2.7.4
>


-- 
Christian Ehrhardt
Staff Engineer, Ubuntu Server
Canonical Ltd

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-12-01 15:39 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-01 10:39 [PATCH 19.11] net/ixgbe: fix port initialization if MTU config fails Tudor Cornea
2021-12-01 15:38 ` Christian Ehrhardt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).