Skip to content

IPv6 GUA not assigned to CPE interface on boot up #407

@zacknewman

Description

@zacknewman

IPv6 GUA is not assigned to WAN interface on boot anymore. I have to restart dhcpcd for it to succeed. Even more annoying is that my ISP requires IA_NA for IA_PD to work; so not only do I not get a GUA on the WAN interface, I don't get a /60 delegated to me via the link-local address. This wasn't a problem with dhcpcd 10.0.6 on OpenBSD 7.5. It just started once I upgraded to OpenBSD 7.6 which has dhcpcd 10.0.10. I went ahead and compiled dhcpcd 10.1.0, and the problem still exists.

router$ uname -a
OpenBSD router.philomathiclife.com 7.6 GENERIC.MP#338 amd64
router$ dhcpcd --version
dhcpcd 10.1.0
Copyright (c) 2006-2024 Roy Marples
Compiled in features: INET ARP ARPing IPv4LL INET6 DHCPv6 AUTH PRIVSEP
router$ cat /etc/dhcpcd.conf
noipv6rs
denyinterfaces !(em0)
allowinterfaces em0
script ""
interface em0
	duid
	iaid 0
	ia_na 0
	ia_pd 0/::/60
	ipv6rs
	leasetime -1
	nooption domain_name,domain_name_servers,domain_search,fqdn,host_name,ntp_servers,time_offset,time_servers
	option rapid_commit
	persistent
	require dhcp_server_identifier
	waitip 64

This is what is logged to /var/log/daemon when I boot up:

Nov 14 18:37:17 router dhcpcd[74863]: dhcpcd-10.1.0 starting
Nov 14 18:37:17 router dhcpcd[34604]: DUID 00:04:7d:eb:51:f7:c1:3f:11:ed:bd:36:7c:c2:55:62:31:fb
Nov 14 18:37:17 router dhcpcd[34604]: no interfaces have a carrier
Nov 14 18:37:17 router dhcpcd[34604]: em0: waiting for carrier
Nov 14 18:37:17 router dhcpcd[34604]: em0: carrier acquired
Nov 14 18:37:17 router dhcpcd[34604]: em0: IAID 00:00:00:00
Nov 14 18:37:17 router dhcpcd[34604]: em0: rebinding prior DHCPv6 lease
Nov 14 18:37:17 router dhcpcd[34604]: em0: carrier lost
Nov 14 18:37:17 router dhcpcd[34604]: em0: carrier acquired
Nov 14 18:37:17 router dhcpcd[34604]: em0: IAID 00:00:00:00
Nov 14 18:37:17 router dhcpcd[34604]: em0: rebinding prior DHCPv6 lease
Nov 14 18:37:17 router dhcpcd[34604]: em0: soliciting an IPv6 router
Nov 14 18:37:17 router dhcpcd[34604]: em0: Router Advertisement from fe80::21c:73ff:fe00:99
Nov 14 18:37:17 router dhcpcd[34604]: em0: advertised MTU 9192 is greater than link MTU 1500
Nov 14 18:37:17 router dhcpcd[34604]: em0: no global addresses for default route
Nov 14 18:37:17 router dhcpcd[34604]: em0: adding route to 2001:558:1028:3e9f::/64
Nov 14 18:37:17 router dhcpcd[34604]: em0: adding route to fd00:0:101:41::/64
Nov 14 18:37:17 router dhcpcd[34604]: em0: adding route to fd00:0:d:4::/64
Nov 14 18:37:17 router dhcpcd[34604]: lo0: adding reject route to 2601:283:4e01:8790::/60 via ::1
Nov 14 18:37:17 router dhcpcd[34604]: if_route (ADD): Network is unreachable
Nov 14 18:37:17 router dhcpcd[34604]: em0: rebinding lease of 75.70.7.176
Nov 14 18:37:17 router dhcpcd[34604]: em0: probing address 75.70.7.176/23
Nov 14 18:37:17 router dhcpcd[34604]: em0: no global addresses for default route
Nov 14 18:37:17 router dhcpcd[34604]: lo0: adding reject route to 2601:283:4e01:8790::/60 via ::1
Nov 14 18:37:17 router dhcpcd[34604]: if_route (ADD): Network is unreachable
Nov 14 18:37:17 router dhcpcd[34604]: em0: no global addresses for default route
Nov 14 18:37:17 router dhcpcd[34604]: lo0: adding reject route to 2601:283:4e01:8790::/60 via ::1
Nov 14 18:37:17 router dhcpcd[34604]: if_route (ADD): Network is unreachable
Nov 14 18:37:17 router dhcpcd[34604]: em0: leased 75.70.7.176 for 5057 seconds
Nov 14 18:37:17 router dhcpcd[34604]: em0: adding route to 75.70.6.0/23
Nov 14 18:37:17 router dhcpcd[34604]: em0: adding default route via 75.70.6.1
Nov 14 18:37:17 router dhcpcd[34604]: em0: no global addresses for default route
Nov 14 18:37:17 router dhcpcd[34604]: lo0: adding reject route to 2601:283:4e01:8790::/60 via ::1
Nov 14 18:37:17 router dhcpcd[34604]: if_route (ADD): Network is unreachable
Nov 14 18:37:17 router dhcpcd[34604]: em0: no global addresses for default route
Nov 14 18:37:17 router dhcpcd[34604]: lo0: adding reject route to 2601:283:4e01:8790::/60 via ::1
Nov 14 18:37:17 router dhcpcd[34604]: if_route (ADD): Network is unreachable
Nov 14 18:37:17 router dhcpcd[34604]: em0: no global addresses for default route
Nov 14 18:37:17 router dhcpcd[34604]: lo0: adding reject route to 2601:283:4e01:8790::/60 via ::1
Nov 14 18:37:17 router dhcpcd[34604]: if_route (ADD): Network is unreachable
Nov 14 18:37:17 router dhcpcd[34604]: em0: failed to rebind prior DHCPv6 delegation
Nov 14 18:37:17 router dhcpcd[34604]: em0: no global addresses for default route
Nov 14 18:37:17 router dhcpcd[34604]: lo0: adding reject route to 2601:283:4e01:8790::/60 via ::1
Nov 14 18:37:17 router dhcpcd[34604]: if_route (ADD): Network is unreachable
Nov 14 18:37:17 router dhcpcd[34604]: em0: no global addresses for default route
Nov 14 18:37:17 router dhcpcd[34604]: lo0: adding reject route to 2601:283:4e01:8790::/60 via ::1
Nov 14 18:37:17 router dhcpcd[34604]: if_route (ADD): Network is unreachable
Nov 14 18:37:17 router dhcpcd[34604]: lo0: adding reject route to 2601:283:4e01:8790::/60 via ::1
Nov 14 18:37:17 router dhcpcd[34604]: if_route (ADD): Network is unreachable
Nov 14 18:37:17 router dhcpcd[34604]: em0: no global addresses for default route
Nov 14 18:37:17 router dhcpcd[34604]: lo0: adding reject route to 2601:283:4e01:8790::/60 via ::1
Nov 14 18:37:17 router dhcpcd[34604]: if_route (ADD): Network is unreachable
Nov 14 18:37:17 router dhcpcd[34604]: em0: no global addresses for default route
Nov 14 18:37:17 router dhcpcd[34604]: lo0: adding reject route to 2601:283:4e01:8790::/60 via ::1
Nov 14 18:37:17 router dhcpcd[34604]: if_route (ADD): Network is unreachable
Nov 14 18:37:17 router dhcpcd[34604]: em0: no global addresses for default route
Nov 14 18:37:17 router dhcpcd[34604]: lo0: adding reject route to 2601:283:4e01:8790::/60 via ::1
Nov 14 18:37:17 router dhcpcd[34604]: if_route (ADD): Network is unreachable
Nov 14 18:37:17 router dhcpcd[34604]: em0: no global addresses for default route
Nov 14 18:37:17 router dhcpcd[34604]: lo0: adding reject route to 2601:283:4e01:8790::/60 via ::1
Nov 14 18:37:17 router dhcpcd[34604]: if_route (ADD): Network is unreachable
Nov 14 18:37:17 router dhcpcd[34604]: em0: no global addresses for default route
Nov 14 18:37:17 router dhcpcd[34604]: lo0: adding reject route to 2601:283:4e01:8790::/60 via ::1
Nov 14 18:37:17 router dhcpcd[34604]: if_route (ADD): Network is unreachable
Nov 14 18:37:17 router dhcpcd[34604]: em0: no global addresses for default route
Nov 14 18:37:17 router dhcpcd[34604]: lo0: adding reject route to 2601:283:4e01:8790::/60 via ::1
Nov 14 18:37:17 router dhcpcd[34604]: if_route (ADD): Network is unreachable
Nov 14 18:37:17 router dhcpcd[34604]: em0: no global addresses for default route
Nov 14 18:37:17 router dhcpcd[34604]: lo0: adding reject route to 2601:283:4e01:8790::/60 via ::1
Nov 14 18:37:17 router dhcpcd[34604]: if_route (ADD): Network is unreachable
Nov 14 18:37:18 router ntpd[1395]: listening on ::1
Nov 14 18:37:18 router ntpd[1395]: listening on fdb5:d87:ae42:1::1
Nov 14 18:37:18 router ntpd[1395]: listening on 127.0.0.1
Nov 14 18:37:18 router ntpd[1395]: listening on 192.168.1.1
Nov 14 18:37:18 router ntpd[1395]: ntp engine ready
Nov 14 18:37:19 router ntpd[1395]: constraint reply from 9.9.9.9: offset -0.055418
Nov 14 18:37:19 router dhcpcd[34604]: em0: adding default route via fe80::21c:73ff:fe00:99
Nov 14 18:37:19 router dhcpcd[34604]: lo0: adding reject route to 2601:283:4e01:8790::/60 via ::1
Nov 14 18:37:21 router ntpd[1395]: ntp: couldn't bind to IPv6 query address: 2001:558:6040:b9:9851:c22a:89de:b915: Can't assign requested address
Nov 14 18:37:21 router ntpd[5091]: Terminating
Nov 14 18:37:21 router savecore: no core dump
Nov 14 18:37:21 router rad[47832]: startup
Nov 14 18:37:21 router httpd[99008]: startup
Nov 14 18:37:21 router redis[2611]: Server initialized
Nov 14 18:37:21 router redis[2611]: Done loading RDB, keys loaded: 22680, keys expired: 0.
Nov 14 18:37:26 router dhcpcd[34604]: em0: ADV 2001:558:6040:b9:9851:c22a:89de:b915/128 from 2001:558:4070:b8::10

Notice the ADV message at the end. Despite it, dhcpcd does not assign that GUA to em0 like it should and did before. After restarting dhcpcd, /var/log/daemon shows:

Nov 14 18:39:21 router dhcpcd[2906]: DUID 00:04:7d:eb:51:f7:c1:3f:11:ed:bd:36:7c:c2:55:62:31:fb
Nov 14 18:39:21 router dhcpcd[2906]: em0: IAID 00:00:00:00
Nov 14 18:39:22 router dhcpcd[2906]: em0: rebinding prior DHCPv6 lease
Nov 14 18:39:22 router dhcpcd[2906]: em0: rebinding lease of 75.70.7.176
Nov 14 18:39:22 router dhcpcd[2906]: em0: probing address 75.70.7.176/23
Nov 14 18:39:23 router dhcpcd[2906]: em0: soliciting an IPv6 router
Nov 14 18:39:23 router dhcpcd[2906]: em0: Router Advertisement from fe80::21c:73ff:fe00:99
Nov 14 18:39:23 router dhcpcd[2906]: em0: advertised MTU 9192 is greater than link MTU 1500
Nov 14 18:39:23 router dhcpcd[2906]: em0: adding route to 2001:558:1028:3e9f::/64
Nov 14 18:39:23 router dhcpcd[2906]: em0: adding route to fd00:0:d:4::/64
Nov 14 18:39:23 router dhcpcd[2906]: em0: adding route to fd00:0:101:41::/64
Nov 14 18:39:23 router dhcpcd[2906]: em0: adding default route via fe80::21c:73ff:fe00:99
Nov 14 18:39:23 router dhcpcd[2906]: lo0: adding reject route to 2601:283:4e01:8790::/60 via ::1
Nov 14 18:39:23 router dhcpcd[2906]: em0: REPLY6 received from 2001:558:4070:b8::10
Nov 14 18:39:23 router dhcpcd[2906]: em0: adding address 2001:558:6040:b9:9851:c22a:89de:b915/128
Nov 14 18:39:23 router dhcpcd[2906]: em0: renew in 4155, rebind in 5638, expire in 7048 seconds
Nov 14 18:39:23 router dhcpcd[2906]: em0: delegated prefix 2601:283:4e01:8790::/60
Nov 14 18:39:28 router dhcpcd[2906]: em0: leased 75.70.7.176 for 4906 seconds
Nov 14 18:39:28 router dhcpcd[2906]: em0: adding route to 75.70.6.0/23
Nov 14 18:39:28 router dhcpcd[2906]: em0: adding default route via 75.70.6.1

CPE is a DOCSIS 3.1 modem which is connected to my router via a Cat 6 Ethernet cable.

Before on OpenBSD 7.5 using dhcpcd 10.0.6, a typical boot would log something similar to the following to /var/log/daemon:

Nov  2 18:46:13 router dhcpcd[33952]: dhcpcd-10.0.6 starting
Nov  2 18:46:13 router dhcpcd[34458]: DUID 00:04:7d:eb:51:f7:c1:3f:11:ed:bd:36:7c:c2:55:62:31:fb
Nov  2 18:46:13 router dhcpcd[34458]: no interfaces have a carrier
Nov  2 18:46:13 router dhcpcd[34458]: em0: waiting for carrier
Nov  2 18:46:13 router dhcpcd[34458]: em0: carrier acquired
Nov  2 18:46:13 router dhcpcd[34458]: em0: IAID 00:00:00:00
Nov  2 18:46:13 router dhcpcd[34458]: em0: soliciting a DHCPv6 lease
Nov  2 18:46:13 router dhcpcd[34458]: em0: carrier lost
Nov  2 18:46:13 router dhcpcd[34458]: em0: carrier acquired
Nov  2 18:46:13 router dhcpcd[34458]: em0: IAID 00:00:00:00
Nov  2 18:46:13 router dhcpcd[34458]: em0: soliciting a DHCPv6 lease
Nov  2 18:46:13 router dhcpcd[34458]: em0: soliciting an IPv6 router
Nov  2 18:46:13 router dhcpcd[34458]: em0: soliciting a DHCP lease
Nov  2 18:46:13 router dhcpcd[34458]: em0: Router Advertisement from fe80::21c:73ff:fe00:99
Nov  2 18:46:13 router dhcpcd[34458]: em0: advertised MTU 9192 is greater than link MTU 1500
Nov  2 18:46:13 router dhcpcd[34458]: em0: no global addresses for default route
Nov  2 18:46:13 router dhcpcd[34458]: em0: adding route to 2001:558:1028:3e9f::/64
Nov  2 18:46:13 router dhcpcd[34458]: em0: adding route to fd00:0:101:41::/64
Nov  2 18:46:13 router dhcpcd[34458]: em0: adding route to fd00:0:d:4::/64
Nov  2 18:46:13 router dhcpcd[34458]: em0: offered 75.70.7.176 from 96.113.84.152
Nov  2 18:46:13 router dhcpcd[34458]: em0: no global addresses for default route
Nov  2 18:46:13 router dhcpcd[34458]: em0: probing address 75.70.7.176/23
Nov  2 18:46:13 router dhcpcd[34458]: em0: no global addresses for default route
Nov  2 18:46:13 router dhcpcd[34458]: em0: no global addresses for default route
Nov  2 18:46:13 router dhcpcd[34458]: em0: leased 75.70.7.176 for 3600 seconds
Nov  2 18:46:13 router dhcpcd[34458]: em0: adding route to 75.70.6.0/23
Nov  2 18:46:13 router dhcpcd[34458]: em0: adding default route via 75.70.6.1
Nov  2 18:46:13 router dhcpcd[34458]: em0: no global addresses for default route
Nov  2 18:46:13 router last message repeated 11 times
Nov  2 18:46:14 router ntpd[89697]: listening on ::1
Nov  2 18:46:14 router ntpd[89697]: listening on fdb5:d87:ae42:1::1
Nov  2 18:46:14 router ntpd[89697]: listening on 127.0.0.1
Nov  2 18:46:14 router ntpd[89697]: listening on 192.168.1.1
Nov  2 18:46:14 router ntpd[89697]: ntp engine ready
Nov  2 18:46:14 router dhcpcd[34458]: em0: adding default route via fe80::21c:73ff:fe00:99
Nov  2 18:46:14 router ntpd[89697]: constraint reply from 9.9.9.9: offset 0.017217
Nov  2 18:46:16 router ntpd[89697]: cancel settime because dns probe failed
Nov  2 18:46:16 router savecore: no core dump
Nov  2 18:46:16 router rad[3692]: startup
Nov  2 18:46:16 router httpd[70943]: startup
Nov  2 18:46:16 router redis[63811]: Server initialized
Nov  2 18:46:16 router redis[63811]: Done loading RDB, keys loaded: 22681, keys expired: 0.
Nov  2 18:46:19 router dhcpcd[34458]: em0: ADV 2001:558:6040:b9:9851:c22a:89de:b915/128 from 2001:558:4070:b8::10
Nov  2 18:46:19 router dhcpcd[34458]: em0: REPLY6 received from 2001:558:4070:b8::10
Nov  2 18:46:19 router dhcpcd[34458]: em0: adding address 2001:558:6040:b9:9851:c22a:89de:b915/128
Nov  2 18:46:19 router dhcpcd[34458]: em0: renew in 2077, rebind in 2880, expire in 3600 seconds
Nov  2 18:46:19 router dhcpcd[34458]: lo0: adding reject route to 2601:283:4e01:8790::/60 via ::1
Nov  2 18:46:19 router dhcpcd[34458]: em0: delegated prefix 2601:283:4e01:8790::/60

When you contrast the two, you will see a REPLY6 message that gets logged after the ADV message; so something is now happening that is stopping dhcpcd from doing whatever it used to do after receiving an ADV message so that it could receive a REPLY6 message.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions