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:59:51 +0000 (12:59 +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 e6e349f0c94575ed9e0c5e6245e01aa5918024e6..18044c2a36faae806fab807a59fb6d79e304debc 100644 (file)
@@ -2921,7 +2921,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;