Message ID | 20230209024128.4695-1-kerneljasonxing@gmail.com (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | None | expand |
>-----Original Message----- >From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of >Jason Xing >Sent: 09 February 2023 08:11 >To: alexander.duyck@gmail.com; Brandeburg, Jesse ><jesse.brandeburg@intel.com>; Nguyen, Anthony L ><anthony.l.nguyen@intel.com>; davem@davemloft.net; >edumazet@google.com; kuba@kernel.org; pabeni@redhat.com; >richardcochran@gmail.com; ast@kernel.org; daniel@iogearbox.net; >hawk@kernel.org; john.fastabend@gmail.com; Lobakin, Alexandr ><alexandr.lobakin@intel.com>; Fijalkowski, Maciej ><maciej.fijalkowski@intel.com> >Cc: kerneljasonxing@gmail.com; netdev@vger.kernel.org; Alexander Duyck ><alexanderduyck@fb.com>; linux-kernel@vger.kernel.org; intel-wired- >lan@lists.osuosl.org; bpf@vger.kernel.org; Jason Xing ><kernelxing@tencent.com> >Subject: [Intel-wired-lan] [PATCH net v2 3/3] ixgbe: add double of VLAN >header when computing the max MTU > >From: Jason Xing <kernelxing@tencent.com> > >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") >Signed-off-by: Jason Xing <kernelxing@tencent.com> >Reviewed-by: Alexander Duyck <alexanderduyck@fb.com> >--- >v2: add reviewed-by label. >--- > drivers/net/ethernet/intel/ixgbe/ixgbe.h | 2 ++ > drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 3 +-- > 2 files changed, 3 insertions(+), 2 deletions(-) > Tested-by: Chandan Kumar Rout <chandanx.rout@intel.com> (A Contingent Worker at Intel)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe.h b/drivers/net/ethernet/intel/ixgbe/ixgbe.h index bc68b8f2176d..8736ca4b2628 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe.h +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe.h @@ -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 diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c index 25ca329f7d3c..4507fba8747a 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c @@ -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");