Skip to contentSkip to conversation

FAILED: patch "[PATCH] ixgbe: add double of VLAN header when computing the max MTU" failed to apply to 4.19-stable tree

PATCH [email protected] 1 participant 1 message Feb 18, 2023

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 4.19-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

Possible dependencies:

0967bf837784 ("ixgbe: add double of VLAN header when computing the max MTU") f9cd6a4418ba ("ixgbe: allow to increase MTU to 3K with XDP enabled")

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From 0967bf837784a11c65d66060623a74e65211af0b Mon Sep 17 00:00:00 2001
From: Jason Xing <[email protected]>
Date: Thu, 9 Feb 2023 10:41:28 +0800
Subject: [PATCH] ixgbe: add double of VLAN header when computing the max MTU

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

Fixes fabf1bce103a ("ixgbe: Prevent unsupported configurations with XDP")
drivers/net/ethernet/intel/ixgbe/ixgbe.h +2 -0
index bc68b8f2176d..8736ca4b2628 100644
@@ -73,6 +73,8 @@
 #define IXGBE_RXBUFFER_4K    4096
 #define IXGBE_MAX_RXBUFFER  16384  /* largest size for a single descriptor */
 
+#define IXGBE_PKT_HDR_PAD   (ETH_HLEN + ETH_FCS_LEN + (VLAN_HLEN * 2))
+
 /* Attempt to maximize the headroom available for incoming frames.  We
  * use a 2K buffer for receives and need 1536/1534 to store the data for
  * the frame.  This leaves us with 512 bytes of room.  From that we need
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +1 -2
index 25ca329f7d3c..4507fba8747a 100644
@@ -6801,8 +6801,7 @@ static int ixgbe_change_mtu(struct net_device *netdev, int new_mtu)
 	struct ixgbe_adapter *adapter = netdev_priv(netdev);
 
 	if (ixgbe_enabled_xdp_adapter(adapter)) {
-		int new_frame_size = new_mtu + ETH_HLEN + ETH_FCS_LEN +
-				     VLAN_HLEN;
+		int new_frame_size = new_mtu + IXGBE_PKT_HDR_PAD;
 
 		if (new_frame_size > ixgbe_max_xdp_frame_size(adapter)) {
 			e_warn(probe, "Requested MTU size is not supported with XDP\n");