From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N7u8J-0003Fc-Tw for qemu-devel@nongnu.org; Tue, 10 Nov 2009 12:03:55 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N7u8E-0003Dd-KD for qemu-devel@nongnu.org; Tue, 10 Nov 2009 12:03:55 -0500 Received: from [199.232.76.173] (port=34578 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N7u8E-0003DV-Eq for qemu-devel@nongnu.org; Tue, 10 Nov 2009 12:03:50 -0500 Received: from mx1.redhat.com ([209.132.183.28]:50711) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1N7u8D-0002qH-OR for qemu-devel@nongnu.org; Tue, 10 Nov 2009 12:03:50 -0500 From: Juan Quintela In-Reply-To: <1257871679.2888.71.camel@blaa> (Mark McLoughlin's message of "Tue, 10 Nov 2009 16:47:59 +0000") References: <1257519486-14786-1-git-send-email-quintela@redhat.com> <1257871679.2888.71.camel@blaa> Date: Tue, 10 Nov 2009 18:03:31 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: [Qemu-devel] Re: [PATCH] Fix incoming migration List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Mark McLoughlin Cc: qemu-devel@nongnu.org Mark McLoughlin wrote: > On Fri, 2009-11-06 at 15:58 +0100, Juan Quintela wrote: >> commit b04c4134d6de28c249277de19e523bfbe4aebbd6 >> broke incoming migration. After talking with Gleb, code was intended >> to be the way is in this fix. This fixes migration here. > > Tried to reproduce and it works fine for me. More details? > >> Signed-off-by: Juan Quintela >> --- >> savevm.c | 7 ++++++- >> 1 files changed, 6 insertions(+), 1 deletions(-) >> >> diff --git a/savevm.c b/savevm.c >> index b7abf43..fd98ccd 100644 >> --- a/savevm.c >> +++ b/savevm.c >> @@ -126,6 +126,8 @@ 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[60]; >> static int count = SELF_ANNOUNCE_ROUNDS; >> QEMUTimer *timer = *(QEMUTimer **)opaque; >> @@ -134,7 +136,10 @@ static void qemu_announce_self_once(void *opaque) >> if (!nd_table[i].used) >> continue; >> len = announce_self_create(buf, nd_table[i].macaddr); >> - qemu_send_packet_raw(nd_table[i].vc, buf, len); >> + vlan = nd_table[i].vlan; >> + QTAILQ_FOREACH(vc, &vlan->clients, next) { >> + qemu_send_packet_raw(vc, buf, len); >> + } > > A NIC isn't necessarily connected to a vlan any more, which is why the > change was made. > > With your patch, I'd expect it to crash if you used -netdev rather than > -net Without this patch, migration don't work at all. nd_table[i].vc is NULL at this point. Any better idea? Later, Juan.