OSDN Git Service

Fix incoming migration
authorJuan Quintela <quintela@redhat.com>
Fri, 6 Nov 2009 14:58:06 +0000 (15:58 +0100)
committerAnthony Liguori <aliguori@us.ibm.com>
Thu, 12 Nov 2009 17:23:55 +0000 (11:23 -0600)
commit b04c4134d6de28c249277de19e523bfbe4aebbd6
broke incoming migration.  After talking with Gleb, code was intended
to be the way is in this fix.  This fixes migration here.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
savevm.c

index b7abf43..fd98ccd 100644 (file)
--- 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);
+        }
     }
     if (--count) {
         /* delay 50ms, 150ms, 250ms, ... */