0eebb79 OvmfPkg: VirtioNetDxe: adapt virtio-net packet header size to virtio-1.0

Authored and Committed by lersek 8 years ago
    OvmfPkg: VirtioNetDxe: adapt virtio-net packet header size to virtio-1.0
    
    In virtio-0.9.5, the size of the virtio-net packet header depends on
    whether the VIRTIO_NET_F_MRG_RXBUF feature is negotiated -- the
    "num_buffers" field is only appended to the header if the feature is
    negotiated.
    
    Since we never negotiate this feature, VirtioNetDxe never allocates room
    for the "num_buffers" field.
    
    With virtio-1.0, the "num_buffers" field is always there (although it
    doesn't carry useful information without VIRTIO_NET_F_MRG_RXBUF). Adapt
    the buffers that depend on the virtio-net header size (otherwise we have
    skewed / truncated packets).
    
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Jordan Justen <jordan.l.justen@intel.com>
    Contributed-under: TianoCore Contribution Agreement 1.0
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>