svn commit: r185636 - head/sys/netinet

Gleb Smirnoff glebius at FreeBSD.org
Fri Dec 5 06:37:15 PST 2008


Author: glebius
Date: Fri Dec  5 14:37:14 2008
New Revision: 185636
URL: http://svn.freebsd.org/changeset/base/185636

Log:
  In a case of CARP status change run through the if_link_state_change()
  routine, so that devd(8) and others are notified about link state change.

Modified:
  head/sys/netinet/ip_carp.c

Modified: head/sys/netinet/ip_carp.c
==============================================================================
--- head/sys/netinet/ip_carp.c	Fri Dec  5 13:40:25 2008	(r185635)
+++ head/sys/netinet/ip_carp.c	Fri Dec  5 14:37:14 2008	(r185636)
@@ -2148,6 +2148,7 @@ carp_output(struct ifnet *ifp, struct mb
 static void
 carp_set_state(struct carp_softc *sc, int state)
 {
+	int link_state;
 
 	if (sc->sc_carpdev)
 		CARP_SCLOCK_ASSERT(sc);
@@ -2158,16 +2159,16 @@ carp_set_state(struct carp_softc *sc, in
 	sc->sc_state = state;
 	switch (state) {
 	case BACKUP:
-		SC2IFP(sc)->if_link_state = LINK_STATE_DOWN;
+		link_state = LINK_STATE_DOWN;
 		break;
 	case MASTER:
-		SC2IFP(sc)->if_link_state = LINK_STATE_UP;
+		link_state = LINK_STATE_UP;
 		break;
 	default:
-		SC2IFP(sc)->if_link_state = LINK_STATE_UNKNOWN;
+		link_state = LINK_STATE_UNKNOWN;
 		break;
 	}
-	rt_ifmsg(SC2IFP(sc));
+	if_link_state_change(SC2IFP(sc), link_state);
 }
 
 void


More information about the svn-src-head mailing list