From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LA0H9-0008Mz-TR for qemu-devel@nongnu.org; Tue, 09 Dec 2008 05:57:12 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LA0H8-0008MN-AV for qemu-devel@nongnu.org; Tue, 09 Dec 2008 05:57:11 -0500 Received: from [199.232.76.173] (port=39196 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LA0H8-0008MJ-5n for qemu-devel@nongnu.org; Tue, 09 Dec 2008 05:57:10 -0500 Received: from mail06.svc.cra.dublin.eircom.net ([159.134.118.22]:44426) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1LA0H7-0006Jl-N2 for qemu-devel@nongnu.org; Tue, 09 Dec 2008 05:57:09 -0500 From: Mark McLoughlin Date: Tue, 9 Dec 2008 10:55:42 +0000 Message-Id: <1228820143-23580-4-git-send-email-markmc@redhat.com> In-Reply-To: <1228820143-23580-3-git-send-email-markmc@redhat.com> References: <> <1228820143-23580-1-git-send-email-markmc@redhat.com> <1228820143-23580-2-git-send-email-markmc@redhat.com> <1228820143-23580-3-git-send-email-markmc@redhat.com> Subject: [Qemu-devel] [PATCH 3/4] Allow devices be notified of link status change Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Mark McLoughlin , Rusty Russell , qemu-devel@nongnu.org Signed-off-by: Mark McLoughlin --- net.c | 3 +++ net.h | 3 +++ 2 files changed, 6 insertions(+), 0 deletions(-) diff --git a/net.c b/net.c index 35ec501..883544f 100644 --- a/net.c +++ b/net.c @@ -1597,6 +1597,9 @@ int do_set_link(int vlan_id, int device_idx, const char *up_or_down) term_printf("invalid link status '%s'; only 'up' or 'down' valid\n", up_or_down); + if (vc->link_status_changed) + vc->link_status_changed(vc); + return 1; } diff --git a/net.h b/net.h index e7cd062..75b22c1 100644 --- a/net.h +++ b/net.h @@ -5,11 +5,14 @@ typedef struct VLANClientState VLANClientState; +typedef void (LinkStatusChanged)(VLANClientState *); + struct VLANClientState { IOReadHandler *fd_read; /* Packets may still be sent if this returns zero. It's used to rate-limit the slirp code. */ IOCanRWHandler *fd_can_read; + LinkStatusChanged *link_status_changed; int link_down; void *opaque; struct VLANClientState *next; -- 1.5.4.3