Hi,

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

...or on a different instance:

tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on tap0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
14:57:57.127171 00:00:00:00:00:00 (oui Ethernet) > 00:00:00:00:00:00 (oui 
Ethernet), ethertype Unknown (0x3333), length 82: 
        0x0000:  0000 0002 0215 1515 1515 86dd 6000 0000  ............`...
        0x0010:  0010 3aff fe80 0000 0000 0000 0015 15ff  ..:.............
        0x0020:  fe15 1515 ff02 0000 0000 0000 0000 0000  ................
        0x0030:  0000 0002 8500 26b0 0000 0000 0101 0215  ......&.........
        0x0040:  1515 1515                                ....

...so it seems the frame is 'shifted' by 10 bytes or more and random
garbage pollutes the Ether frame...

I am using a vanilla kvmtool at:

        ba6830e vfio: include libgen.h (for musl compatibility)

and run with:

        lkvm run -c 4 -m 4G -k $IMAGE_DEF --network virtio -d $ROOTFS_DEF -p 
"earlycon loglevel=8"

and I could reproduce this on a RaspberryPI_5 with a Host Kernel v6.6 and on an 
APPLE M1
with Host Kernel v6.12.

Has anybody seen something similar ? Did I miss something obvious ?

...never saw this happening before on any previous kernel version.

Thanks,
Cristian

Reply via email to