svn commit: r216911 - projects/ofed/head/sys/net

Jeff Roberson jeff at FreeBSD.org
Mon Jan 3 05:37:14 UTC 2011


Author: jeff
Date: Mon Jan  3 05:37:14 2011
New Revision: 216911
URL: http://svn.freebsd.org/changeset/base/216911

Log:
   - Add an event for network device link changes.
  
  Sponsored by:	Isilon Systems, iX Systems, and Panasas.

Modified:
  projects/ofed/head/sys/net/if.c
  projects/ofed/head/sys/net/if_var.h

Modified: projects/ofed/head/sys/net/if.c
==============================================================================
--- projects/ofed/head/sys/net/if.c	Mon Jan  3 05:36:16 2011	(r216910)
+++ projects/ofed/head/sys/net/if.c	Mon Jan  3 05:37:14 2011	(r216911)
@@ -1910,6 +1910,7 @@ do_link_state_change(void *arg, int pend
 	if (log_link_state_change)
 		log(LOG_NOTICE, "%s: link state changed to %s\n", ifp->if_xname,
 		    (link_state == LINK_STATE_UP) ? "UP" : "DOWN" );
+	EVENTHANDLER_INVOKE(ifnet_link_event, ifp, ifp->if_link_state);
 	CURVNET_RESTORE();
 }
 

Modified: projects/ofed/head/sys/net/if_var.h
==============================================================================
--- projects/ofed/head/sys/net/if_var.h	Mon Jan  3 05:36:16 2011	(r216910)
+++ projects/ofed/head/sys/net/if_var.h	Mon Jan  3 05:37:14 2011	(r216911)
@@ -352,6 +352,9 @@ EVENTHANDLER_DECLARE(ifnet_arrival_event
 /* interface departure event */
 typedef void (*ifnet_departure_event_handler_t)(void *, struct ifnet *);
 EVENTHANDLER_DECLARE(ifnet_departure_event, ifnet_departure_event_handler_t);
+/* Interface link state change event */
+typedef void (*ifnet_link_event_handler_t)(void *, struct ifnet *, int);
+EVENTHANDLER_DECLARE(ifnet_link_event, ifnet_link_event_handler_t);
 
 /*
  * interface groups


More information about the svn-src-projects mailing list