Skip to content

Commit 0967bf8

Browse files
JasonXinganguy11
authored andcommitted
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: fabf1bc ("ixgbe: Prevent unsupported configurations with XDP") Signed-off-by: Jason Xing <[email protected]> Reviewed-by: Alexander Duyck <[email protected]> Tested-by: Chandan Kumar Rout <[email protected]> (A Contingent Worker at Intel) Signed-off-by: Tony Nguyen <[email protected]>
1 parent ce45ffb commit 0967bf8

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

drivers/net/ethernet/intel/ixgbe/ixgbe.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@
7373
#define IXGBE_RXBUFFER_4K 4096
7474
#define IXGBE_MAX_RXBUFFER 16384 /* largest size for a single descriptor */
7575

76+
#define IXGBE_PKT_HDR_PAD (ETH_HLEN + ETH_FCS_LEN + (VLAN_HLEN * 2))
77+
7678
/* Attempt to maximize the headroom available for incoming frames. We
7779
* use a 2K buffer for receives and need 1536/1534 to store the data for
7880
* the frame. This leaves us with 512 bytes of room. From that we need

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6801,8 +6801,7 @@ static int ixgbe_change_mtu(struct net_device *netdev, int new_mtu)
68016801
struct ixgbe_adapter *adapter = netdev_priv(netdev);
68026802

68036803
if (ixgbe_enabled_xdp_adapter(adapter)) {
6804-
int new_frame_size = new_mtu + ETH_HLEN + ETH_FCS_LEN +
6805-
VLAN_HLEN;
6804+
int new_frame_size = new_mtu + IXGBE_PKT_HDR_PAD;
68066805

68076806
if (new_frame_size > ixgbe_max_xdp_frame_size(adapter)) {
68086807
e_warn(probe, "Requested MTU size is not supported with XDP\n");

0 commit comments

Comments
 (0)