dhcpcd-discuss

Re: OpenBSD, autoconf6 flag always cleared?

Roy Marples

Mon Jan 29 15:26:41 2018

On 29/01/2018 12:54, Stuart Henderson wrote:
Happy birthday :)

Thanks :)


I had a report that dhcpcd >=7 was clearing the autoconf6 flag on an
interface even when dhcpcd wasn't managing rs itself on that interface.
I think this must have changed when the "own" handling was removed.

Does this look right or am I missing something?  Thanks!

You're the second person to query this since I made the change.
Here's the email which triggered the change:
https://roy.marples.name/archives/dhcpcd-discuss/0001880.html

I think the request is still valid, but equally yours is as well.
The changeset in question is below, so it's really quite simple.
However To satisfy all parties we may need an optional argument to it.

I think the current default is still correct - the user doesn't want IPv6/RS so clearing the kernel options that enable it is fine by default.

noipv6rs keep
noipv6rs keepkernel
noipv6rs leave
keepipv6rs

Which of these sounds better, or can you suggest something else?

Roy

From b48d4bdd2bef865c566ef645db26087737269b13 Mon Sep 17 00:00:00 2001
From: Roy Marples <roy@xxxxxxxxxxxx>
Date: Tue, 12 Dec 2017 13:38:43 +0000
Subject: ipv6: disable kernel RA if interface is active

---
 src/dhcpcd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/dhcpcd.c b/src/dhcpcd.c
index 6ce077f..d29cc50 100644
--- a/src/dhcpcd.c
+++ b/src/dhcpcd.c
@@ -438,7 +438,7 @@ configure_interface1(struct interface *ifp)
 		    ~(DHCPCD_IPV6RS | DHCPCD_DHCP6 | DHCPCD_WAITIP6);

 	/* We want to disable kernel interface RA as early as possible. */
-	if (ifo->options & DHCPCD_IPV6RS &&
+	if (ifp->active == IF_ACTIVE_USER &&
 	    !(ifp->ctx->options & DHCPCD_DUMPLEASE))
 	{
 		int ra_global, ra_iface;

Follow-Ups:
Re: OpenBSD, autoconf6 flag always cleared?Stuart Henderson
References:
dhcpcd-7.0.1 releasedRoy Marples
OpenBSD, autoconf6 flag always cleared?Stuart Henderson
Archive administrator: postmaster@marples.name