From 2108930be123ab83c837e7dd6eb3078ec3482ad4 Mon Sep 17 00:00:00 2001 From: Tudor Cornea Date: Wed, 20 Oct 2021 21:13:46 +0300 Subject: [PATCH] net/ixgbe: fix port initialization if MTU config fails 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. The behavior seems to have changed since the following commit: Fixes: c77866a16904 ("net/ixgbe: detect failed VF MTU set") Cc: stable@dpdk.org 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 Acked-by: Haiyue Wang --- 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 b263dfe1d5..a51450fe5b 100644 --- a/drivers/net/ixgbe/ixgbe_rxtx.c +++ b/drivers/net/ixgbe/ixgbe_rxtx.c @@ -5673,11 +5673,9 @@ ixgbevf_dev_rx_init(struct rte_eth_dev *dev) * ixgbevf_rlpml_set_vf even if jumbo frames are not used. This way, * VF packets received can work in all cases. */ - if (ixgbevf_rlpml_set_vf(hw, frame_size) != 0) { + if (ixgbevf_rlpml_set_vf(hw, frame_size) != 0) PMD_INIT_LOG(ERR, "Set max packet length to %d failed.", frame_size); - return -EINVAL; - } /* * Assume no header split and no VLAN strip support -- 2.39.5