dhcpcd-discuss

Re: ipv6ra_noautoconf on OpenBSD deconfigures AUTOCONF6 flag

Roy Marples

Mon Sep 24 13:19:09 2018

Hi Klemens

On 23/09/2018 15:50, Klemens Nanni wrote:
Since SLAAC is handled by slaacd(8)[0], dhcpcd is only used for configuring DNS.

Specifically:

	$ sysctl -n kern.version
	OpenBSD 6.4-beta (GENERIC.MP) #300: Tue Sep 18 02:27:17 MDT 2018
	    deraadt@xxxxxxxxxxxxxxxxx:/usr/src/sys/arch/amd64/compile/GENERIC.MP
	
	$ dhcpcd --version
	dhcpcd 7.0.8
	Copyright (c) 2006-2018 Roy Marples
	Compiled in features: INET ARP ARPing IPv4LL INET6 DHCPv6 AUTH
	$ rcctl get dhcpcd flags
	trunk0
	$ cat /etc/dhcpcd.conf
	background
	persistent
	ipv6only
	ipv6ra_noautoconf
	option  domain_name domain_name_servers domain_search
	require domain_name_servers

slaacd configures IPs and dhcpcd successfully fills /etc/resolv.conf, but as a
negative side effect of `ipv6ra_noautoconf' the interface's AUTOCONF6 flag is
deconfigured as well:

	$ ifconfig trunk0 inet6
	trunk0: flags=208943<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6> mtu 1500
		lladdr 68:f7:28:89:4d:4d
		index 6 priority 0 llprio 3
		trunk: trunkproto failover
			trunkport iwm0 active
			trunkport em0 master
		groups: trunk egress
		media: Ethernet autoselect
		status: active
		inet6 fe80::d812:af1f:3f16:35aa%trunk0 prefixlen 64 scopeid 0x6
		inet6 fd00::73a9:9368:877:4da8 prefixlen 64 autoconf pltime 604100 vltime 2591300
		inet6 fd00::6e0e:2840:1717:1f8f prefixlen 64 autoconf autoconfprivacy pltime 71800 vltime 590451
		inet6 2001:xxxx:xxxx:1efd:c364:df18:f3b4:29b9 prefixlen 64 autoconf pltime 604100 vltime 2591300
		inet6 2001:xxxx:xxxx:1efd:f1d2:36ae:1034:f8d9 prefixlen 64 autoconf autoconfprivacy pltime 71661 vltime 590451
	# rcctl restart dhcpcd
	dhcpcd(ok)
	dhcpcd(ok)
	$ ifconfig trunk0 | head -n1
	trunk0: flags=8943<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500

As lifetimes run out and AUTOCONF6 is not set again unless manually with
`ifconfig trunk0 inet6 autoconf', slaacd stops configuring new addresses and I
eventually end up with all addresses being deprecated, hence no working uplink.

Is there some way to tell dhcpcd to handle only DNS and *not* touch the interface flag?

0:	http://man.openbsd.org/slaacd


It's not currently that granular.
See a recent discussion on this here:
https://roy.marples.name/archives/dhcpcd-discuss/0001932.html

I also find it rather odd that you even need to run dhcpcd for DNS as the slaacd man page states it supports RFC 8106 which is all about DNS in the RA and nothing else.

Is there a compelling reason why you need to run both? Either dhcpcd or slaacd should be fine.

Roy

Follow-Ups:
Re: ipv6ra_noautoconf on OpenBSD deconfigures AUTOCONF6 flagKlemens Nanni
References:
ipv6ra_noautoconf on OpenBSD deconfigures AUTOCONF6 flagKlemens Nanni
Archive administrator: postmaster@marples.name