Messages in this thread Patch in this message |  | | | Date | Sat, 26 Sep 2009 19:14:55 -0700 | | Subject | Re: 2.6.31 regression: e1000e jumbo frames no longer work: 'Unsupported MTU setting' | | From | Alexander Duyck <> |
| |
On Sat, Sep 26, 2009 at 4:16 AM, Nix <nix@esperi.org.uk> wrote: > [Bruce, you have changes in net-next in this area, so you might have a clue > what's going on here.] > > In 2.6.30.x, I was happily bringing up the 82574L cards in one server like > this: > > ip link set fastnet up mtu 7200 > > As of 2.6.31.x, what I see is this: > > spindle:/root# ip link set mtu 7200 dev fastnet > RTNETLINK answers: Invalid argument > [ 3380.261796] 0000:02:00.0: fastnet: Unsupported MTU setting > > As far as I can tell, all MTUs above 1500 now fail. > > 'Unsupported' or not, this used to work, and I'd certainly expect jumbo > frames to be supported on a gigabit card! > > I can't see any terribly relevant changes to e1000e between 2.6.30 and > 2.6.31, so I'm Cc:ing netdev on the offchance that this is something > more generic (unlikely, as 7200-byte MTUs still work fine in 2.6.31 with > the r8169 I'm typing this on, but that doesn't help if half the subnet > is forced to use MTUs of 1500).
It looks like the problem is that the 82574 and 82583 seem to have their max_hw_frame_size values swapped. You might try applying the patch below. I am not sure if it will apply since I hand generated it using the git patch that seems to have introduced the problem, and I am sending the patch through an untested account that may mangle the patch. I will see about submitting an official patch for this sometime next few days.
Thanks,
Alex
diff --git a/drivers/net/e1000e/82571.c b/drivers/net/e1000e/82571.c --- a/drivers/net/e1000e/82571.c +++ b/drivers/net/e1000e/82571.c @@ -1803,7 +1803,7 @@ struct e1000_info e1000_82574_info = { | FLAG_HAS_AMT | FLAG_HAS_CTRLEXT_ON_LOAD, .pba = 20, - .max_hw_frame_size = ETH_FRAME_LEN + ETH_FCS_LEN, + .max_hw_frame_size = DEFAULT_JUMBO, .get_variants = e1000_get_variants_82571, .mac_ops = &e82571_mac_ops, .phy_ops = &e82_phy_ops_bm, @@ -1820,7 +1820,7 @@ struct e1000_info e1000_82583_info = { | FLAG_HAS_AMT | FLAG_HAS_CTRLEXT_ON_LOAD, .pba = 20, - .max_hw_frame_size = DEFAULT_JUMBO, + .max_hw_frame_size = ETH_FRAME_LEN + ETH_FCS_LEN, .get_variants = e1000_get_variants_82571, .mac_ops = &e82571_mac_ops, .phy_ops = &e82_phy_ops_bm, -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |