net/announce: Add optional ID
commit944458b659fb348834cebbc15b9ad772be28f284
authorDr. David Alan Gilbert <dgilbert@redhat.com>
Thu, 20 Jun 2019 18:47:04 +0000 (20 19:47 +0100)
committerJason Wang <jasowang@redhat.com>
Tue, 2 Jul 2019 02:21:06 +0000 (2 10:21 +0800)
tree30ac8aaa464221ba9d0ef11407388c0c643b7b09
parent08528271152ee76cf860168b41109e2a661e6260
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>
hw/net/virtio-net.c
include/net/announce.h
net/announce.c
net/trace-events
qapi/net.json