Commit 34b25ca74eab49cedf994193dc7727e3f2613219

Authored by aliguori
1 parent 436e5e53

Allow devices be notified of link status change (Mark McLoughlin)

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6248 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 2 changed files with 6 additions and 0 deletions
... ... @@ -1718,6 +1718,9 @@ int do_set_link(const char *name, const char *up_or_down)
1718 1718 term_printf("invalid link status '%s'; only 'up' or 'down' valid\n",
1719 1719 up_or_down);
1720 1720  
  1721 + if (vc->link_status_changed)
  1722 + vc->link_status_changed(vc);
  1723 +
1721 1724 return 1;
1722 1725 }
1723 1726  
... ...
... ... @@ -9,12 +9,15 @@ typedef ssize_t (IOReadvHandler)(void *, const struct iovec *, int);
9 9  
10 10 typedef struct VLANClientState VLANClientState;
11 11  
  12 +typedef void (LinkStatusChanged)(VLANClientState *);
  13 +
12 14 struct VLANClientState {
13 15 IOReadHandler *fd_read;
14 16 IOReadvHandler *fd_readv;
15 17 /* Packets may still be sent if this returns zero. It's used to
16 18 rate-limit the slirp code. */
17 19 IOCanRWHandler *fd_can_read;
  20 + LinkStatusChanged *link_status_changed;
18 21 int link_down;
19 22 void *opaque;
20 23 struct VLANClientState *next;
... ...