diff options
-rw-r--r-- | savevm.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -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, ... */ |