Messages in this thread | | | From | Jason Xing <> | Date | Thu, 9 Feb 2023 08:47:09 +0800 | Subject | Re: [PATCH net 3/3] ixgbe: add double of VLAN header when computing the max MTU |
| |
CC Alexander Duyck
Hello Alexander, thanks for reviewing the other two patches of this patchset last night. Would you mind reviewing the last one? :)
Thanks, Jason
On Sat, Feb 4, 2023 at 9:36 PM Jason Xing <kerneljasonxing@gmail.com> wrote: > > 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> > --- > drivers/net/ethernet/intel/ixgbe/ixgbe.h | 2 ++ > drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 3 +-- > 2 files changed, 3 insertions(+), 2 deletions(-) > > 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 2c1b6eb60436..149f7baf40fe 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"); > -- > 2.37.3 >
| |