[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CADS+iDW49e+oSw9p_MBOVk4Qojh+e00a5zix-sO8NQethn=pjg@mail.gmail.com>
Date: Wed, 8 Mar 2017 23:29:53 +0300
From: Yaroslav Isakov <yaroslav.isakov@...il.com>
To: netdev@...r.kernel.org
Subject: tun offloads bug
Hello!
I've found a bug in TUN/TAP driver with offloads - when Qemu is trying
to set offloads on tap device, there is no error, but offloads are not
appied.
The cause of this is that udev in recent systemd is using ethtool to
disable offloads. So, udev is setting tun->dev->wanted_features via
ethtool ioctl to disable TSO, but when qemu is trying to set offloads,
it's using TUN/TAP ioctl which is not setting wanted_features, so
netdev_update_features will not see features qemu wants.
This can be easily reproduced - just run qemu with
guest_tso4=on,guest_tso6=on on systemd with systemd>=226 and after
booting the VM, ethtool -k tap0 will show that TSO4 is disabled and
TSO6 is enabled (systemd is not touching TSO6, that's why it's not
affected at all)
I've attached pretty trivial patch to fix this problem.
View attachment "tun.patch" of type "text/x-patch" (313 bytes)
Powered by blists - more mailing lists