i40e: add double of VLAN header when computing the max MTU
authorJason Xing <kernelxing@tencent.com>
Wed, 8 Feb 2023 02:43:33 +0000 (10:43 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Feb 2023 11:46:06 +0000 (12:46 +0100)
commit ce45ffb815e8e238f05de1630be3969b6bb15e4e upstream.

Include the second VLAN HLEN into account when computing the maximum
MTU size as other drivers do.

Fixes: 0c8493d90b6b ("i40e: add XDP support for pass and drop actions")
Signed-off-by: Jason Xing <kernelxing@tencent.com>
Reviewed-by: Alexander Duyck <alexanderduyck@fb.com>
Tested-by: Chandan Kumar Rout <chandanx.rout@intel.com> (A Contingent Worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/intel/i40e/i40e_main.c

index db1d784d4bd77604fca835c7763cc9b998342862..67b7e3792519137809454db5465eaceee5077be1 100644 (file)
@@ -2480,7 +2480,7 @@ static int i40e_change_mtu(struct net_device *netdev, int new_mtu)
        struct i40e_pf *pf = vsi->back;
 
        if (i40e_enabled_xdp_vsi(vsi)) {
-               int frame_size = new_mtu + ETH_HLEN + ETH_FCS_LEN + VLAN_HLEN;
+               int frame_size = new_mtu + I40E_PACKET_HDR_PAD;
 
                if (frame_size > i40e_max_xdp_frame_size(vsi))
                        return -EINVAL;