audk/OvmfPkg/VirtioNetDxe
Laszlo Ersek c6e2d064ab 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>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
2016-04-06 19:21:50 +02:00
..
ComponentName.c OvmfPkg: Make the VirtIo devices use the new VIRTIO_DEVICE_PROTOCOL 2013-12-11 16:58:22 +00:00
DriverBinding.c OvmfPkg: VIRTIO_DEVICE_PROTOCOL: widen the Features bitmap to 64 bits 2016-04-06 13:04:03 +02:00
EntryPoint.c OvmfPkg: VirtioNetDxe: add entry point 2013-06-14 07:39:40 +00:00
Events.c OvmfPkg: Make the VirtIo devices use the new VIRTIO_DEVICE_PROTOCOL 2013-12-11 16:58:22 +00:00
SnpGetStatus.c OvmfPkg: Fix VS2005 build warnings 2014-09-25 02:29:10 +00:00
SnpInitialize.c OvmfPkg: VirtioNetDxe: adapt virtio-net packet header size to virtio-1.0 2016-04-06 19:21:50 +02:00
SnpMcastIpToMac.c OvmfPkg: VirtioNetDxe: map multicast IP to MAC: SNP.McastIpToMac 2013-06-14 07:40:30 +00:00
SnpReceive.c OvmfPkg: Make the VirtIo devices use the new VIRTIO_DEVICE_PROTOCOL 2013-12-11 16:58:22 +00:00
SnpReceiveFilters.c OvmfPkg: VirtioNetDxe: emulate Rx filter configuration: SNP.ReceiveFilters 2013-06-14 07:40:36 +00:00
SnpSharedHelpers.c OvmfPkg: VirtioNetDxe: add SNP.Initialize and shared dependencies 2013-06-14 07:40:05 +00:00
SnpShutdown.c OvmfPkg: Make the VirtIo devices use the new VIRTIO_DEVICE_PROTOCOL 2013-12-11 16:58:22 +00:00
SnpStart.c OvmfPkg: VirtioNetDxe: Simple Network Protocol members Start and Stop 2013-06-14 07:39:58 +00:00
SnpStop.c OvmfPkg: VirtioNetDxe: Simple Network Protocol members Start and Stop 2013-06-14 07:39:58 +00:00
SnpTransmit.c OvmfPkg: Make the VirtIo devices use the new VIRTIO_DEVICE_PROTOCOL 2013-12-11 16:58:22 +00:00
SnpUnsupported.c OvmfPkg: VirtioNetDxe: definitions of unsupported SNP member functions 2013-06-14 07:40:42 +00:00
TechNotes.txt OvmfPkg: VirtioNetDxe: add technical notes 2013-06-14 07:39:25 +00:00
VirtioNet.h OvmfPkg: VirtioNetDxe: adapt virtio-net packet header size to virtio-1.0 2016-04-06 19:21:50 +02:00
VirtioNet.inf OvmfPkg: Make the VirtIo devices use the new VIRTIO_DEVICE_PROTOCOL 2013-12-11 16:58:22 +00:00