diff --git a/qemu-fix-virtio-net-gso-support.patch b/qemu-fix-virtio-net-gso-support.patch new file mode 100644 index 0000000..c5ddaa9 --- /dev/null +++ b/qemu-fix-virtio-net-gso-support.patch @@ -0,0 +1,42 @@ +From 0a662a2983f1afeb5dce338d7dbe906d5c4c91a7 Mon Sep 17 00:00:00 2001 +From: Mark McLoughlin +Date: Tue, 5 May 2009 09:56:25 +0100 +Subject: [PATCH] virtio-net: Re-instate GSO code removed upstream + +This commit: + + commit 559a8f45f34cc50d1a60b4f67a06614d506b2e01 + Subject: Remove stray GSO code from virtio_net (Mark McLoughlin) + +Removed some GSO code from upstream qemu.git, but it needs to +be re-instated in qemu-kvm.git. + +(cherry picked from commit 6e57bb9a636cefdaba7decbd5ac10f1508ff64c0) + +Reported-by: Sridhar Samudrala +Signed-off-by: Mark McLoughlin +Signed-off-by: Avi Kivity +Fedora-patch: qemu-fix-virtio-net-gso-support.patch +--- + hw/virtio-net.c | 5 +++++ + 1 files changed, 5 insertions(+), 0 deletions(-) + +diff --git a/hw/virtio-net.c b/hw/virtio-net.c +index f65ecd7..aaab83b 100644 +--- a/hw/virtio-net.c ++++ b/hw/virtio-net.c +@@ -424,6 +424,11 @@ static int receive_filter(VirtIONet *n, const uint8_t *buf, int size) + if (n->promisc) + return 1; + ++#ifdef TAP_VNET_HDR ++ if (tap_has_vnet_hdr(n->vc->vlan->first_client)) ++ ptr += sizeof(struct virtio_net_hdr); ++#endif ++ + if (!memcmp(&ptr[12], vlan, sizeof(vlan))) { + int vid = be16_to_cpup((uint16_t *)(ptr + 14)) & 0xfff; + if (!(n->vlans[vid >> 5] & (1U << (vid & 0x1f)))) +-- +1.6.2.5 + diff --git a/qemu.spec b/qemu.spec index a726b34..3686c1d 100644 --- a/qemu.spec +++ b/qemu.spec @@ -1,7 +1,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.10.6 -Release: 5%{?dist} +Release: 6%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -36,6 +36,7 @@ Patch15: qemu-avoid-harmless-msr-warnings.patch Patch16: qemu-ppc-on-ppc.patch Patch17: qemu-use-statfs-to-determine-huge-page-size.patch Patch18: qemu-allow-pulseaudio-to-be-the-default.patch +Patch19: qemu-fix-virtio-net-gso-support.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel @@ -237,6 +238,7 @@ such as kvmtrace and kvm_stat. %patch16 -p1 %patch17 -p1 %patch18 -p1 +%patch19 -p1 %build # systems like rhel build system does not have a recent enough linker so @@ -479,6 +481,9 @@ fi %{_mandir}/man1/qemu-img.1* %changelog +* Tue Sep 29 2009 Mark McLoughlin - 2:0.10.6-6 +- Fix broken virtio-net with 2.6.30 guests (#522994) + * Fri Sep 11 2009 Mark McLoughlin - 2:0.10.6-5 - Fix vnc segfault on disconnect (#501131) - Fix vnc screen corruption with e.g. xterm (#503156)