NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
bin/60852: dhcpcd creates IPv6 temporary addresses without pltime/vltime
>Number: 60852
>Category: bin
>Synopsis: dhcpcd creates IPv6 temporary addresses without pltime/vltime
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: bin-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Oct 05 20:25:00 +0000 2026
>Originator: Taylor R Campbell
>Release: 11
>Organization:
The NetBSD<AUTOCONF,TEMPORARY> Forever, Inc.
>Environment:
nanocons$ head -1 /etc/release
NetBSD 11.0_RC5/evbarm
nanocons$ uname -a
NetBSD nanocons.local 11.0_RC5 NetBSD 11.0_RC5 (GENERIC64) #0: Mon Jun 29 03:37:04 UTC 2026 root@manticore.local:/usr/obj/11/evbarm64/sys/arch/evbarm/compile/GENERIC64 evbarm
nanocons$ dhcpcd --version
dhcpcd 10.2.3
Copyright (c) 2006-2025 Roy Marples
Compiled in features: INET ARP ARPing IPv4LL INET6 DHCPv6 AUTH PRIVSEP
>Description:
When dhcpcd is configured with
slaac private temporary
in dhcpcd.conf, it sometimes assigns pltime and vltime to
temporary addresses, but it sometimes just doesn't:
$ ifconfig -L ure0 | grep TEMPORARY
inet6 ${GUA_PREFIX_A}:bf61:cc13:4667:40f1/64 flags 0xc0<AUTOCONF,TEMPORARY>
inet6 ${GUA_PREFIX_B}:49b7:781c:fca9:62eb/64 flags 0xc0<AUTOCONF,TEMPORARY> pltime 4353 vltime 4400
inet6 ${ULA_PREFIX}:1611:a6b3:c9c5:531f/64 flags 0xc0<AUTOCONF,TEMPORARY>
inet6 ${GLA_PREFIX_A}:5e38:9c1f:e37d:d4a6/64 flags 0xc0<AUTOCONF,TEMPORARY>
inet6 ${ULA_PREFIX}:2c9d:1c40:96b:51dd/64 flags 0xc0<AUTOCONF,TEMPORARY>
This network is configured with a combination of DHCPv6 and SLAAC:
# dhcpcd -U ure0
...
reason=ROUTERADVERT
interface=ure0
protocol=ra
nd1_from=fe80::${ROUTER_LL}
nd1_acquired=418496
nd1_now=418532
nd1_hoplimit=64
nd1_flags=MO
nd1_lifetime=1800
nd1_source_address=${ROUTER_MAC}
nd1_mtu=1500
nd1_prefix_information1_length=64
nd1_prefix_information1_flags=LA
nd1_prefix_information1_vltime=4294967295
nd1_prefix_information1_pltime=4294967295
nd1_prefix_information1_prefix=${GUA_PREFIX_A}:
nd1_prefix_information2_length=64
nd1_prefix_information2_flags=LA
nd1_prefix_information2_vltime=4264
nd1_prefix_information2_pltime=4264
nd1_prefix_information2_prefix=${GUA_PREFIX_B}:
nd1_prefix_information3_length=64
nd1_prefix_information3_flags=LA
nd1_prefix_information3_vltime=4294967295
nd1_prefix_information3_pltime=4294967295
nd1_prefix_information3_prefix=${ULA_PREFIX}
nd1_rdnss1_lifetime=1800
nd1_rdnss1_servers=fd00::1
nd1_addr1=${GUA_PREFIX_A}:bf61:cc13:4667:40f1/64
nd1_addr2=${GUA_PREFIX_B}:49b7:781c:fca9:62eb/64
nd1_addr3=${ULA_PREFIX}:1611:a6b3:c9c5:531f/64
skip_hooks=resolv.conf
>How-To-Repeat:
Add
slaac private temp
to /etc/dhcpcd.conf and (probably) configure your interface on
a network that serves one prefix with pltime/vltime of
(uint32_t)-1 and another prefix with some other pltime/vltime.
>Fix:
Yes, please! Also please make the same syntax Just Work if
dhcpcd transitions from RFC 4941 (now obsolete) to its
successor RFC 8981.
Home |
Main Index |
Thread Index |
Old Index