Michael S. Tsirkin wrote:
virtio net currently assumes that the first s/g element it gets is always virtio net header. This is wrong. There should be no assumption on sg boundaries. For example, the guest should be able to put the virtio_net_hdr in the front of the skbuf data if there is room. Get rid of this assumption, properly consume space from iovec, always.
Practically speaking, we ought to advertise a feature bit to let a kernel know that we are no longer broken.
Otherwise, there are a ton of old userspaces that will break with new guests.
-- Regards, Anthony Liguori