From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N11gf-0000A7-Sj for qemu-devel@nongnu.org; Thu, 22 Oct 2009 13:42:58 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N11gS-0008N4-Tz for qemu-devel@nongnu.org; Thu, 22 Oct 2009 13:42:49 -0400 Received: from [199.232.76.173] (port=53800 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N11gQ-0008Mq-6i for qemu-devel@nongnu.org; Thu, 22 Oct 2009 13:42:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:21177) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1N11gP-0003kE-Lx for qemu-devel@nongnu.org; Thu, 22 Oct 2009 13:42:42 -0400 Received: from int-mx04.intmail.prod.int.phx2.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.17]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n9MGjiaj017094 for ; Thu, 22 Oct 2009 12:45:44 -0400 From: Mark McLoughlin Date: Thu, 22 Oct 2009 17:43:43 +0100 Message-Id: <1256229830-28066-13-git-send-email-markmc@redhat.com> In-Reply-To: <1256229830-28066-1-git-send-email-markmc@redhat.com> References: <1256229830-28066-1-git-send-email-markmc@redhat.com> Subject: [Qemu-devel] [PATCH 12/19] net: use qemu_send_packet_raw() in qemu_announce_self() List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Mark McLoughlin , Gleb Natapov From: Gleb Natapov Use qemu_send_packet_raw to send gratuitous arp. This will ensure that vnet header is handled properly. Also, avoid sending the gratuitous packet to the guest. There doesn't appear to be any reason for doing that and the code will currently just crash if the NIC is not associated with a vlan. Signed-off-by: Gleb Natapov Signed-off-by: Mark McLoughlin --- savevm.c | 7 +------ 1 files changed, 1 insertions(+), 6 deletions(-) diff --git a/savevm.c b/savevm.c index 99aa15a..ac1ef42 100644 --- a/savevm.c +++ b/savevm.c @@ -114,8 +114,6 @@ static int announce_self_create(uint8_t *buf, static void qemu_announce_self_once(void *opaque) { int i, len; - VLANState *vlan; - VLANClientState *vc; uint8_t buf[256]; static int count = SELF_ANNOUNCE_ROUNDS; QEMUTimer *timer = *(QEMUTimer **)opaque; @@ -124,10 +122,7 @@ static void qemu_announce_self_once(void *opaque) if (!nd_table[i].used) continue; len = announce_self_create(buf, nd_table[i].macaddr); - vlan = nd_table[i].vlan; - QTAILQ_FOREACH(vc, &vlan->clients, next) { - vc->receive(vc, buf, len); - } + qemu_send_packet_raw(nd_table[i].vc, buf, len); } if (count--) { qemu_mod_timer(timer, qemu_get_clock(rt_clock) + 100); -- 1.6.2.5