]> git.droids-corp.org - dpdk.git/commitdiff
net/ixgbe: detect failed VF MTU set
authorAlvin Zhang <alvinx.zhang@intel.com>
Wed, 2 Dec 2020 09:48:06 +0000 (17:48 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 8 Jan 2021 15:03:05 +0000 (16:03 +0100)
If a VF request to set a invalid maximum packet length value,
The PF kernel driver may disable its reception.

This patch add codes to output information and return the error status.

Fixes: 12cd0cccc3db ("ixgbevf: allow to set MTU")
Cc: stable@dpdk.org
Signed-off-by: Alvin Zhang <alvinx.zhang@intel.com>
Acked-by: Haiyue Wang <haiyue.wang@intel.com>
drivers/net/ixgbe/ixgbe_ethdev.c
drivers/net/ixgbe/ixgbe_rxtx.c

index 9a47a8b262bcade2bf23a9a34d5eb6894d1cf4a3..d7a1806ab87dff78b0300356c4ad0b391ed0955f 100644 (file)
@@ -6555,7 +6555,8 @@ ixgbevf_dev_set_mtu(struct rte_eth_dev *dev, uint16_t mtu)
         * prior to 3.11.33 which contains the following change:
         * "ixgbe: Enable jumbo frames support w/ SR-IOV"
         */
-       ixgbevf_rlpml_set_vf(hw, max_frame);
+       if (ixgbevf_rlpml_set_vf(hw, max_frame))
+               return -EINVAL;
 
        /* update max frame size */
        dev->data->dev_conf.rxmode.max_rx_pkt_len = max_frame;
index 6cfbb582e21e652cab1f21001acc8c649ee8599c..7bb846035961eef6a9e9599d447fdcf2db1edb92 100644 (file)
@@ -5634,8 +5634,12 @@ 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.
         */
-       ixgbevf_rlpml_set_vf(hw,
-               (uint16_t)dev->data->dev_conf.rxmode.max_rx_pkt_len);
+       if (ixgbevf_rlpml_set_vf(hw,
+           (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