summaryrefslogtreecommitdiffstats
path: root/sys/netinet
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2011-10-14 19:05:26 +0000
committerglebius <glebius@FreeBSD.org>2011-10-14 19:05:26 +0000
commit4daad241b3b6198dbc15d5c7c4bb1ce0542c9677 (patch)
treeefff79fcebfb3b6f16da739d225268bb927ab4cd /sys/netinet
parent0d19c767ae015eac872e6488d322e9256f4b20c3 (diff)
downloadFreeBSD-src-4daad241b3b6198dbc15d5c7c4bb1ce0542c9677.zip
FreeBSD-src-4daad241b3b6198dbc15d5c7c4bb1ce0542c9677.tar.gz
Never switch directly from INIT to MASTER, since this produces
nasty status flaps. PR: kern/161123 Submitted by: Damien Fleuriot <dam my.gd> OpenBSD: ip_carp.c, rev. 1.115
Diffstat (limited to 'sys/netinet')
-rw-r--r--sys/netinet/ip_carp.c22
1 files changed, 4 insertions, 18 deletions
diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c
index d16159d..34dced8 100644
--- a/sys/netinet/ip_carp.c
+++ b/sys/netinet/ip_carp.c
@@ -1424,24 +1424,10 @@ carp_setrun(struct carp_softc *sc, sa_family_t af)
switch (sc->sc_state) {
case INIT:
- if (carp_opts[CARPCTL_PREEMPT] && !carp_suppress_preempt) {
- carp_send_ad_locked(sc);
-#ifdef INET
- carp_send_arp(sc);
-#endif
-#ifdef INET6
- carp_send_na(sc);
-#endif /* INET6 */
- CARP_LOG("%s: INIT -> MASTER (preempting)\n",
- SC2IFP(sc)->if_xname);
- carp_set_state(sc, MASTER);
- carp_setroute(sc, RTM_ADD);
- } else {
- CARP_LOG("%s: INIT -> BACKUP\n", SC2IFP(sc)->if_xname);
- carp_set_state(sc, BACKUP);
- carp_setroute(sc, RTM_DELETE);
- carp_setrun(sc, 0);
- }
+ CARP_LOG("%s: INIT -> BACKUP\n", SC2IFP(sc)->if_xname);
+ carp_set_state(sc, BACKUP);
+ carp_setroute(sc, RTM_DELETE);
+ carp_setrun(sc, 0);
break;
case BACKUP:
callout_stop(&sc->sc_ad_tmo);
OpenPOWER on IntegriCloud