Re: IPv6 PD and static IPv6 address is waiting for IP
Roy Marples
Mon Sep 24 11:15:46 2018
Hi Sébastien
On 23/09/2018 18:25, Sébastien Luttringer wrote:
I use dhcpcd to manage an IPv6 network on an Arch Linux server.
I request an IPv6 prefix and assign a static IP inside.
dhcpcd get the prefix delegation route and configure the static ipv6, but it
exits after 30s.
Is this behavior expected? Why dhcpcd wait for a IP as we have a static ip
defined and we got a PD? Is there a way to disable the ip wait mechanism?
Configuration in /etc/dhcpcd.conf is the following:
interface eth0
ipv6only
ipv6rs
duid
vendorclassid
static ip6_address=2002:bc9:3173:200::42
ia_pd 0 eth0/0
# /usr/bin/dhcpcd -d eth0
dhcpcd-7.0.8 starting
eth0: executing `/usr/lib/dhcpcd/dhcpcd-run-hooks' PREINIT
eth0: executing `/usr/lib/dhcpcd/dhcpcd-run-hooks' CARRIER
DUID 00:03:00:01:25:xx:xx:xx:xx:xx
eth0: IAID cb:0b:82:2b
eth0: IA type 25 IAID 00:00:00:00
eth0: adding address 2002:bc9:3173:200::42/128
eth0: pltime infinity, vltime infinity
eth0: executing `/usr/lib/dhcpcd/dhcpcd-run-hooks' STATIC6
eth0: delaying IPv6 router solicitation for 0.3 seconds
eth0: reading lease `/var/lib/dhcpcd/eth0.lease6'
eth0: rebinding prior DHCPv6 lease
eth0: delaying REBIND6 (xid 0x8167ee), next in 0.0 seconds
eth0: broadcasting REBIND6 (xid 0x8167ee), next in 1.0 seconds
eth0: REPLY6 received from 2002:bc9:2::2:272:2
eth0: 2002:bc9:3173:200::/56 will expire before renewal
eth0: ignoring T1 43200 to due address expiry
eth0: renew in 13500, rebind in 21600, expire in 43200 seconds
lo: adding reject route to 2002:bc9:3173:200::/56
eth0: writing lease `/var/lib/dhcpcd/eth0.lease6'
eth0: delegated prefix 2002:bc9:3173:200::/56
eth0: DHCPv6 server does not support OPTION_PD_EXCLUDE
eth0: executing `/usr/lib/dhcpcd/dhcpcd-run-hooks' REBIND6
waiting for an IP address
eth0: soliciting an IPv6 router
eth0: sending Router Solicitation
eth0: Router Advertisement from fe80::235:1aff:fe3f:1b67
eth0: adding default route via fe80::235:1aff:fe3f:1b67
eth0: executing `/usr/lib/dhcpcd/dhcpcd-run-hooks' ROUTERADVERT
eth0: No DHCPv6 instruction in RA
timed out
dhcpcd exited
Wow.
This is an edge case I'm not entirely sure I want to work around.
Firstly, you are delegating to the same interface you're requesting on
and dhcpcd correctly warns that your DHCPv6 server does not support this
(OPTION_PD_EXCLUDE is missing from it's reply).
If it did, then dhcpcd would assign an IPv6 address to the interface and
it would fork to the background correctly.
Secondly, if you ran dhcpcd in master mode (ie not specify an interface
on the command line or pass the -M flag) it would also fork to the
background correctly.
Roy
Archive administrator: postmaster@marples.name