From: "Michael S. Tsirkin" <mst@redhat.com>
To: Jason Wang <jasowang@redhat.com>
Cc: David Ahern <dahern@digitalocean.com>, netdev@vger.kernel.org
Subject: Re: virtio_net: can change MTU after installing program
Date: Wed, 26 Feb 2020 03:39:33 -0500 [thread overview]
Message-ID: <20200226032421-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <172688592.10687939.1582702621880.JavaMail.zimbra@redhat.com>
On Wed, Feb 26, 2020 at 02:37:01AM -0500, Jason Wang wrote:
>
>
> ----- Original Message -----
> > On Tue, Feb 25, 2020 at 08:32:14PM -0700, David Ahern wrote:
> > > Another issue is that virtio_net checks the MTU when a program is
> > > installed, but does not restrict an MTU change after:
> > >
> > > # ip li sh dev eth0
> > > 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 xdp qdisc fq_codel
> > > state UP mode DEFAULT group default qlen 1000
> > > link/ether 5a:39:e6:01:a5:36 brd ff:ff:ff:ff:ff:ff
> > > prog/xdp id 13 tag c5595e4590d58063 jited
> > >
> > > # ip li set dev eth0 mtu 8192
> > >
> > > # ip li sh dev eth0
> > > 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8192 xdp qdisc fq_codel
> > > state UP mode DEFAULT group default qlen 1000
> >
> > Well the reason XDP wants to limit MTU is this:
> > the MTU must be less than a page
> > size to avoid having to handle XDP across multiple pages
> >
>
> But even if we limit MTU is guest there's no way to limit the packet
> size on host.
Isn't this fundamental? IIUC dev->mtu is mostly a hint to devices about
how the network is configured. It has to be the same across LAN. If
someone misconfigures it that breaks networking, and user gets to keep
both pieces. E.g. e1000 will use dev->mtu to calculate rx buffer size.
If you make it too small, well packets that are too big get dropped.
There's no magic to somehow make them smaller, or anything like that.
We can certainly drop packet > dev->mtu in the driver right now if we want to,
and maybe if it somehow becomes important for performance, we
could teach host to drop such packets for us. Though
I don't really see why we care ...
> It looks to me we need to introduce new commands to
> change the backend MTU (e.g TAP) accordingly.
>
> Thanks
So you are saying there are configurations where host does not know the
correct MTU, and needs guest's help to figure it out? I guess it's
possible but it seems beside the point raised here. TAP in particular
mostly just seems to ignore MTU, I am not sure why we should bother
propagating it there from guest or host. Propagating it from guest to
the actual NIC might be useful e.g. for buffer sizing, but is tricky
to do safely in case the NIC is shared between VMs.
--
MST
next prev parent reply other threads:[~2020-02-26 8:39 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-26 9:33 Michael S. Tsirkin
2020-02-26 3:32 ` virtio_net: can change MTU after installing program David Ahern
2020-02-26 4:02 ` Jason Wang
2020-02-26 4:31 ` David Ahern
2020-02-26 5:53 ` Jason Wang
2020-02-26 16:04 ` David Ahern
2020-02-26 7:07 ` Michael S. Tsirkin
2020-02-26 7:37 ` Jason Wang
2020-02-26 8:39 ` Michael S. Tsirkin [this message]
2020-02-26 9:30 ` Jason Wang
2020-02-26 9:36 ` Michael S. Tsirkin
2020-02-26 16:08 ` David Ahern
2020-02-26 16:56 ` Michael S. Tsirkin
2020-02-26 9:51 ` Toke Høiland-Jørgensen
2020-02-26 16:03 ` David Ahern
2020-02-26 16:55 ` Michael S. Tsirkin
2020-02-26 16:58 ` David Ahern
2020-02-26 17:02 ` Michael S. Tsirkin
2020-02-27 1:37 ` Jakub Kicinski
2020-02-27 8:14 ` Michael S. Tsirkin
2020-02-27 17:16 ` Jakub Kicinski
2020-02-27 19:26 ` Michael Chan
2020-02-27 19:45 ` Jakub Kicinski
2020-02-27 21:37 ` David Ahern
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200226032421-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=dahern@digitalocean.com \
--cc=jasowang@redhat.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).