dhcpcd-discuss

Re: problem with expired prefix (dhcpv6)

Stuart Henderson

Fri Apr 21 12:57:17 2017

On 2017/04/21 13:04, Roy Marples wrote:
> On 21/04/2017 12:27, Harald Dunkel wrote:
> >>> Look for "pppoe0: carrier lost" at 13:30:39, when I reset the pppoe0
> >>> interface. There is no "re1: deleting address ..." following, just
> >>> another IPv6 address assigned to re1. Both addresses have infinite
> >>> lifetime, but of course the old prefix is not routed anymore.
> >>
> >> This is an issue with OpenBSD.
> >> See my comment about the problem here:
> >> https://dev.marples.name/source/dhcpcd/browse/master/src/if-bsd.c;dd0311a9d743e79bbb1795c12d4efb6c78f9e0bf$758
> >>
> > 
> > I couldn't access this web page, even though I was logged in :-(.
> 
> I just tested this and I can access the page fine when logged out -
> there are no special permissions attached to it.

Same here, I can access the page fine.

> What issue do you see?
> 
> > Maybe
> > you should consider to mail your concerns on misc@xxxxxxxxxxx, anyway.
> > They appeared to be pretty interested in this topic.
> 
> Maybe.
> I'll upgrade my OpenBSD xen guest to 6.1 and see if the issue remains or
> another exists.
> 
> Roy
> 

Unless I misunderstand the problem I think this may have been fixed
in -current (as of sys/netinet6/in6.c r1.201, committed this week).

Harald, can you try a recent snapshot kernel and this ports patch?
(At this point if you're on 6.1 release you should be able to get
away with just using a snapshot kernel without updating userland).

If it works then the ifdef could be changed to

#if (defined(OpenBSD) && OpenBSD <= 201705)

(macros comes from param.h which is already included) and I can
patch it in ports to take care of -current between now and 6.2
release when this macro will next be bumped..


Index: Makefile
===================================================================
RCS file: /cvs/ports/net/dhcpcd/Makefile,v
retrieving revision 1.21
diff -u -p -r1.21 Makefile
--- Makefile	11 Oct 2016 13:56:02 -0000	1.21
+++ Makefile	21 Apr 2017 12:41:30 -0000
@@ -3,6 +3,7 @@
 COMMENT=		DHCPv4/IPv4LL/IPv6RS/DHCPv6 quad stack client
 
 DISTNAME=		dhcpcd-6.11.5
+REVISION=		0
 
 CATEGORIES=		net
 EXTRACT_SUFX=		.tar.xz
Index: patches/patch-if-bsd_c
===================================================================
RCS file: patches/patch-if-bsd_c
diff -N patches/patch-if-bsd_c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-if-bsd_c	21 Apr 2017 12:41:30 -0000
@@ -0,0 +1,12 @@
+$OpenBSD$
+--- if-bsd.c.orig	Fri Apr 21 13:38:38 2017
++++ if-bsd.c	Fri Apr 21 13:39:38 2017
+@@ -985,7 +985,7 @@ if_address6(unsigned char cmd, const struct ipv6_addr 
+ 	}
+ #endif
+ 
+-#if defined(__OpenBSD__)
++#if 0
+ 	/* BUT OpenBSD does not reset the address lifetime
+ 	 * for subsequent calls...
+ 	 * Luckily dhcpcd will remove the lease when it expires so


Follow-Ups:
Re: problem with expired prefix (dhcpv6)Harald Dunkel
Re: problem with expired prefix (dhcpv6)Roy Marples
References:
problem with expired prefix (dhcpv6)Harald Dunkel
Re: problem with expired prefix (dhcpv6)Roy Marples
Re: problem with expired prefix (dhcpv6)Harald Dunkel
Re: problem with expired prefix (dhcpv6)Roy Marples
Archive administrator: postmaster@marples.name