Hi,
while I don't fully understand the problem, here's what I experience so far:
When using an openSUSE 11.0 kernel (2.6.25) in the guest, virtio on tap
breaks with current KVM git, while it used to work before (haven't
bisected, definitely worked in kvm-78, but is probably due to Anthony's
rewrite). It shows the following message (comes from qemu):
virtio-net header not in first element
This is because qemu expects a message with mergeable rx bufs (12
bytes), but if I see things correctly the old kernel doesn't support
that feature (sends 10 bytes). I put in some debug messages on IO
reads/writes in the qemu virtio handler and got these:
virtio IO read: 0 = 0x100bba3
virtio IO write: 0x4 = 0x100bba3
virtio: setting features 0x100bba3
So I believe the feature masking is somewhat non-functional? Or did I
read the masking code in qemu's virtio-net wrong?
Basically for me, current KVM git broke old guest support, which is a
clear regression and should not happen. Does anybody with more expertise
in virtio want to take on this?
Alex