> -----Original Message-----
> From: Ben Hutchings [mailto:bhutchings@solarflare.com]
> Sent: Thursday, January 21, 2010 10:30 AM
> To: Templin, Fred L
> Cc: Szilveszter Ordog;
netdev@vger.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@vger.kernel.org [mailto:netdev-owner@vger.kernel.org] On Behalf Of Szilveszter
> > > Ordog
> > > Sent: Thursday, January 21, 2010 7:42 AM
> > > To:
netdev@vger.kernel.org
> > > Subject: Re: Problems with tg3 driver after lowering the MTU
> > >
> > > On Thu, Jan 21, 2010 at 16:27, Ben Hutchings <bhutchings@solarflare.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.