Subject: Re: [PATCH] virtio_net: large tx MTU support

From: Mark McLoughlin <[email-masked]>
Date: Fri, 28 Nov 2008 09:29:55 +0000

On Fri, 2008-11-28 at 10:52 +1030, Rusty Russell wrote:
> On Friday 28 November 2008 00:27:05 Mark McLoughlin wrote:
> > Hi Rusty,
> >
> > On Thu, 2008-11-27 at 23:00 +1030, Rusty Russell wrote:
> > > On Thursday 27 November 2008 00:28:11 Mark McLoughlin wrote:
> > > > We don't really have a max tx packet size limit, so allow configuring
> > > > the device with up to 64k tx MTU.
> > >
> > > Hi Mark,
> > >
> > > Just one comment: maybe we should be conservative and maybe limit to 1500
> > > if the host doesn't offer any of the GSO or MRG_RXBUF features?
> >
> > That was actually what I was going to do until I thought about it a bit
> > more and discussed it with Herbert.
> >
> > The virtio_net MTU only affects the transmit path, so there shouldn't be
> > any issue with a host that doesn't support those features.
> 
> Not quite what I meant.

Well, you did mention MRG_RXBUF :-)

> A minimal host can reasonably expect ethernet-fitting packets.  If it
> supports GSO of course it must handle larger ones.

I think this is orthogonal to GSO - e.g. a host may support GSO even if
it can only physically transmit 1500 byte frames.

MTU configuration is commonly a trial and error thing, so we're better
off allowing larger MTU sizes in cases where the host might not support
it rather than disallowing it in cases where the host can support it.

> Otherwise we should add YA feature bit or even a max-mtu field.

If e.g. we allowed physical device assignment via virtio, then the MTU
would be limited to the MTU supported by the physical device. In that
case it might make sense to add a max-mtu field or similar, but IMHO
it's fine to allow larger MTU sizes in the mean time.

Cheers,
Mark.