Module Name: src
Committed By: roy
Date: Mon Oct 12 15:18:48 UTC 2020
Modified Files:
src/share/man/man4: carp.4
src/sys/netinet: ip_carp.c ip_carp.h
Log Message:
carp: link state is DOWN until it becomes a MASTER
This is consitent with other BSD's handling of CARP and means
we don't have to carry a custom flag for it.
To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/share/man/man4/carp.4
cvs rdiff -u -r1.112 -r1.113 src/sys/netinet/ip_carp.c
cvs rdiff -u -r1.11 -r1.12 src/sys/netinet/ip_carp.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/share/man/man4/carp.4
diff -u src/share/man/man4/carp.4:1.7 src/share/man/man4/carp.4:1.8
--- src/share/man/man4/carp.4:1.7 Thu Jan 16 12:56:39 2020
+++ src/share/man/man4/carp.4 Mon Oct 12 15:18:48 2020
@@ -1,4 +1,4 @@
-.\" $NetBSD: carp.4,v 1.7 2020/01/16 12:56:39 kardel Exp $
+.\" $NetBSD: carp.4,v 1.8 2020/10/12 15:18:48 roy Exp $
.\" $OpenBSD: carp.4,v 1.19 2005/08/09 09:52:12 jmc Exp $
.\"
.\" Copyright (c) 2003, Ryan McBride. All rights reserved.
@@ -24,7 +24,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd January 16, 2020
+.Dd October 12, 2020
.Dt CARP 4
.Os
.Sh NAME
@@ -76,20 +76,6 @@ or through the
.Dv SIOCSVH
ioctl.
.Pp
-Setting the
-.Cm link0
-parameter will cause the carp interface to report
-.Dv LINK_STATE_DOWN
-in non
-.Dv MASTER/BACKUP
-mode instead of
-.Dv LINK_STATE_UNKNOWN
-as link status.
-This prevents routing software to announce routes for the carp
-interface when in
-.Dv INIT
-mode.
-.Pp
Additionally, there are a number of global parameters which can be set using
.Xr sysctl 8 :
.Bl -tag -width xxxxxxxxxxxxxxxxxxxxxxxxxx
Index: src/sys/netinet/ip_carp.c
diff -u src/sys/netinet/ip_carp.c:1.112 src/sys/netinet/ip_carp.c:1.113
--- src/sys/netinet/ip_carp.c:1.112 Mon Oct 12 11:07:27 2020
+++ src/sys/netinet/ip_carp.c Mon Oct 12 15:18:48 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: ip_carp.c,v 1.112 2020/10/12 11:07:27 roy Exp $ */
+/* $NetBSD: ip_carp.c,v 1.113 2020/10/12 15:18:48 roy Exp $ */
/* $OpenBSD: ip_carp.c,v 1.113 2005/11/04 08:11:54 mcbride Exp $ */
/*
@@ -33,7 +33,7 @@
#endif
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ip_carp.c,v 1.112 2020/10/12 11:07:27 roy Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ip_carp.c,v 1.113 2020/10/12 15:18:48 roy Exp $");
/*
* TODO:
@@ -890,6 +890,7 @@ carp_clone_create(struct if_clone *ifc,
/* Overwrite ethernet defaults */
ifp->if_type = IFT_CARP;
ifp->if_output = carp_output;
+ ifp->if_link_state = LINK_STATE_DOWN;
carp_set_enaddr(sc);
if_register(ifp);
@@ -2228,8 +2229,8 @@ carp_update_link_state(struct carp_softc
link_state = LINK_STATE_UP;
break;
default:
- link_state = ((sc->sc_if.if_flags & IFF_ONLY_MASTER_UP) != 0)
- ? LINK_STATE_DOWN : LINK_STATE_UNKNOWN;
+ /* Not useable, so down makes perfect sense. */
+ link_state = LINK_STATE_DOWN;
break;
}
if_link_state_change(&sc->sc_if, link_state);
Index: src/sys/netinet/ip_carp.h
diff -u src/sys/netinet/ip_carp.h:1.11 src/sys/netinet/ip_carp.h:1.12
--- src/sys/netinet/ip_carp.h:1.11 Thu Jan 16 12:56:40 2020
+++ src/sys/netinet/ip_carp.h Mon Oct 12 15:18:48 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: ip_carp.h,v 1.11 2020/01/16 12:56:40 kardel Exp $ */
+/* $NetBSD: ip_carp.h,v 1.12 2020/10/12 15:18:48 roy Exp $ */
/* $OpenBSD: ip_carp.h,v 1.18 2005/04/20 23:00:41 mpf Exp $ */
/*
@@ -133,9 +133,6 @@ struct carpreq {
unsigned char carpr_key[CARP_KEY_LEN];
};
-/* enable link status up only for MASTER state */
-#define IFF_ONLY_MASTER_UP IFF_LINK0
-
/*
* Names for CARP sysctl objects
*/