From: "Michael S. Tsirkin" <mst@redhat.com>
To: David Ahern <dahern@digitalocean.com>
Cc: "Toke Høiland-Jørgensen" <toke@redhat.com>,
"Jason Wang" <jasowang@redhat.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>
Subject: Re: virtio_net: can change MTU after installing program
Date: Wed, 26 Feb 2020 11:55:02 -0500 [thread overview]
Message-ID: <20200226115258-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <0b446fc3-01ed-4dc1-81f0-ef0e1e2cadb0@digitalocean.com>
On Wed, Feb 26, 2020 at 09:03:47AM -0700, David Ahern wrote:
> On 2/26/20 2:51 AM, Toke Høiland-Jørgensen wrote:
> > "Michael S. Tsirkin" <mst@redhat.com> writes:
> >
> >> 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
> >>>
> >>>
> >>
> >> Cc Toke who has tested this on other cards and has some input.
> >
> > Well, my comment was just that we already restrict MTU changes on mlx5
> > when an XDP program is loaded:
> >
> > $ sudo ip link set dev ens1f1 mtu 8192
> > RTNETLINK answers: Invalid argument
> >
> > Reading through the rest of the thread I don't have any strong opinions
> > about whether this should propagate out from the host or not. I suspect
> > it would not be worth the trouble, though, and as you say it's already
> > possible to configure regular network devices in a way that is
> > incompatible with the rest of the network.
> >
>
> Both mlx5 and sfc restrict MTU change to XDP limits; virtio does not
> which strikes me as a problem.
OK that seems to indicate an ndo callback as a reasonable way
to handle this. Right? The only problem is this might break
guests if they happen to reverse the order of
operations:
1. set mtu
2. detach xdp prog
would previously work fine, and would now give an error.
If we want to make it transparent for userspace,
I guess we can defer the actual update until xdp prog is detached.
Sound ugly and might still confuse some userspace ... worth it?
--
MST
next prev parent reply other threads:[~2020-02-26 16:55 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
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 [this message]
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=20200226115258-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=dahern@digitalocean.com \
--cc=jasowang@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=toke@redhat.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.