On Wed, Aug 13, 2025 at 09:51:30PM +0200, Paolo Abeni wrote: > On 8/13/25 8:09 PM, Cristian Marussi wrote: > > On Wed, Aug 13, 2025 at 03:07:34PM +0100, Cristian Marussi wrote: > >> Not sure if it has been already reported but in a kvmtool/guest setup > >> moving > >> the guest kernel from v6.16 to v6.17-rc1 I completely lost host-guest > >> network > >> functionality....in a very funny way, though, I'd say... > >> > >> In fact NO error is apparently reported in the guest kernel log and the > >> interfaces seems perfectly up an running both sides, but looking at the > >> host/guest interfaces you can see that ALL received frames are indeed > >> dropped: > >> > >> > >> enp0s1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 > >> .... > >> ether 02:15:15:15:15:15 txqueuelen 1000 (Ethernet) > >> <<<<<<<<<<<<<<<< > >> RX packets 125 bytes 17948 (17.5 KiB) > >> RX errors 0 dropped 125 overruns 0 frame 0 > >> TX packets 1207 bytes 51182 (49.9 KiB) > >> TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 > >> > >> > >> ...on the host same..(taken later on...) > >> > >> tap0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 > >> inet 192.168.33.1 netmask 255.255.255.0 broadcast 192.168.33.255 > >> ether 8a:10:f6:df:a1:70 txqueuelen 1000 (Ethernet) > >> RX packets 804 bytes 43904 (42.8 KiB) > >> RX errors 0 dropped 804 overruns 0 frame 0 > >> TX packets 101 bytes 14408 (14.0 KiB) > >> TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 > >> > >> ....and for a good reason, apparently, since sniffing around on the Host > >> TAP > >> interface I can see a never ending stream of: > >> > >> $ sudo tcpdump -i tap0 > >> listening on tap0, link-type EN10MB (Ethernet), snapshot length 262144 > >> bytes > >> 22:40:42.309158 00:00:00:00:00:00 (oui Ethernet) > 00:00:00:00:00:00 (oui > >> Ethernet), ethertype Unknown (0xffff), length 54: > >> 0x0000: ffff ffff 0215 1515 1515 0806 0001 0800 ................ > >> <<<<<<<<<<<<< > >> 0x0010: 0604 0001 0215 1515 1515 c0a8 2102 0000 ............!... > >> 0x0020: 0000 0000 c0a8 2101 ......!. > >> > >> ... DST/SRC Macs are just all zeros WHILE in the payload you can spot my > >> guest > >> SRC mac address 0215 1515 1515 :P > >> > > > > I bisected this regression to: > > > > 56a06bd40fab64448aa6b84aa06b3dc470c1254a is the first bad commit > > > > commit 56a06bd40fab64448aa6b84aa06b3dc470c1254a > > Author: Paolo Abeni <pab...@redhat.com> > > Date: Tue Jul 8 17:55:02 2025 +0200 > > > > virtio_net: enable gso over UDP tunnel support. > > > > If the related virtio feature is set, enable transmission and reception > > of gso over UDP tunnel packets. > > > > Most of the work is done by the previously introduced helper, just need > > to determine the UDP tunnel features inside the virtio_net_hdr and > > update accordingly the virtio net hdr size. > > > > Acked-by: Jason Wang <jasow...@redhat.com> > > Signed-off-by: Paolo Abeni <pab...@redhat.com> > > > > drivers/net/virtio_net.c | 85 > > ++++++++++++++++++++++++++++++++++++------------ > > > > Reverting this commit on top of v6.17-rc1 solves for me and network works > > fine again. > > Thanks for reporting, I was not aware yet of this regression. >
Hi Paolo, I spotted this issue on my setup this morning. > Apparently there is mismatch between the negotiated features (that > determinate the virtio net header size) and the actually virtio header > used by both the guest and the host, which is totally unexpected. > Have the UAPI headers been updated ? ... I could not see any change... (not that I am very familiar with virtio core :D) > Could you please share the host kernel version, the arch and the kvmtool > version? Also I understand you only upgraded the guest kernel, without > any other setup changes, am I correct? > The arch is arm64, I could reproduce on a Raspberry Pi5 with host v6.6 and on an Apple M1 (running Linux natively) with a v6.12. Both host kernels are from the original distros unchanged (Debian and Fedora) In both cases I compiled from scratch (make clean && make) kvmtool on the respective arm64 Host using the current top of tree from origin/master at: https://git.kernel.org/pub/scm/linux/kernel/git/will/kvmtool.git/log/ commit ba6830eec0f5 ("vfio: include libgen.h (for musl compatibility)") Run kvmtoool baer simple with lkvm run -c 4 -m 4G -k $IMAGE_DEF --network virtio -d $ROOTFS_DEF -p "earlycon loglevel=8" All was fine till v6.16, and it is my usual setup and update procedure that never failed really as long as I update kvmtool in sync. Not sure if something is still missing from kvmtool master repo for v6.17 but it seems reasonably updated (July25). I wonder if no one else had this issue on arm64/kvmtool....that would made my 'regression' suspiciously tied tomy setup.. Thanks for having a look, Cristian