[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1264098605.2794.39.camel@achroite.uk.solarflarecom.com>
Date: Thu, 21 Jan 2010 18:30:05 +0000
From: Ben Hutchings <bhutchings@...arflare.com>
To: "Templin, Fred L" <Fred.L.Templin@...ing.com>
Cc: Szilveszter Ordog <slipszi@...il.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: RE: Problems with tg3 driver after lowering the MTU
On Thu, 2010-01-21 at 09:47 -0800, Templin, Fred L wrote:
> > -----Original Message-----
> > From: netdev-owner@...r.kernel.org [mailto:netdev-owner@...r.kernel.org] On Behalf Of Szilveszter
> > Ordog
> > Sent: Thursday, January 21, 2010 7:42 AM
> > To: netdev@...r.kernel.org
> > Subject: Re: Problems with tg3 driver after lowering the MTU
> >
> > On Thu, Jan 21, 2010 at 16:27, Ben Hutchings <bhutchings@...arflare.com> wrote:
> > > On Thu, 2010-01-21 at 16:21 +0100, Szilveszter Ordog wrote:
> > >> After the MTU is lowered (e.g. to 1420) on a tg3-driven interface,
> > >> received packets larger than that (e.g. 1500 bytes) are silently
> > >> discarded by the driver. Therefore the system doesn't send ICMP
> > >> fragmentation-needed packets and the other side doesn't detect this
> > >> condition.
> > >>
> > >> Is this a known bug?
> > >
> > > I don't believe this a bug. Within a local network, MTU should be set
> > > the same for all interfaces. Routers that connect networks with
> > > different MTUs will generate the fragmentation-needed message as
> > > appropriate.
> >
> > Other drivers do not behave like that. Most of them always allow
> > packets smaller than 1500 bytes. That is why I think that this is a
> > bug.
>
> The question seems to be what happens when the
> Maximum Transmission Unit (MTU) is smaller than
> the Maximum Receive Unit (MRU)?
>
> For TCP, MSS is calculated based on MTU (not MRU)
> so there should not be any size mismatches with TCP.
> For large packets of other IP protocols, it should
> be OK for the end system to receive a packet larger
> than it is capable of sending. So, it seems to me
> that packets that are larger than MTU but no larger
> than MRU should be accepted.
In theory, MRU and MTU could be quite separate. However, there is no
standard interface to set an interface's MRU, so where the hardware
supports a variable MRU drivers normally set it based on the MTU.
Ben.
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists