mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
net/announce: Add optional ID
Previously there was a single instance of the timer used by monitor triggered announces, that's OK, but when combined with the previous change that lets you have announces for subsets of interfaces it's a bit restrictive if you want to do different things to different interfaces. Add an 'id' field to the announce, and maintain a list of the timers based on id. This allows you to for example: a) Start an announce going on interface eth0 for a long time b) Start an announce going on interface eth1 for a long time c) Kill the announce on eth0 while leaving eth1 going. Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
parent
0852827115
commit
944458b659
5 changed files with 62 additions and 14 deletions
|
@ -2360,7 +2360,7 @@ static int virtio_net_post_load_device(void *opaque, int version_id)
|
|||
timer_mod(n->announce_timer.tm,
|
||||
qemu_clock_get_ms(n->announce_timer.type));
|
||||
} else {
|
||||
qemu_announce_timer_del(&n->announce_timer);
|
||||
qemu_announce_timer_del(&n->announce_timer, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2784,7 +2784,7 @@ static void virtio_net_device_unrealize(DeviceState *dev, Error **errp)
|
|||
virtio_net_del_queue(n, i);
|
||||
}
|
||||
|
||||
qemu_announce_timer_del(&n->announce_timer);
|
||||
qemu_announce_timer_del(&n->announce_timer, false);
|
||||
g_free(n->vqs);
|
||||
qemu_del_nic(n->nic);
|
||||
virtio_net_rsc_cleanup(n);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue