before I forget half of what we talked about here and to share it,
here's how I think the network autoconfig stuff should work in the
future.

from the user's PoV, there shouldn't be more needed than
  ifconfig <if> inet autoconf
  ifconfig <if> inet6 autoconf
aka inet/inet6 autoconf in hostname.if.

for inet6, we're almost there with the work done by florian and me from
this week. not all of that is in yet. 

now for inet, I'm pretty damn certain we don't want to do DHCP in the
kernel. turning on autoconf should lead to a new message on the
routing socket, and a little userland daemon, let's call it autoconfd
for the moment, reacts to that message insofar that it sends out the
dhcp request(s) and deals with the answers. using the dhclient code
of course. open question is what to do if inet autoconf is on on more
than one interface - gotta select the default route somehow. inet6
does that and does it very different. we'll figure sth out it.

if needed/useful dhcp6 could be integrated into that scheme kinda
easily, too. i won't judge on whether that is the case; it isn't
relevant yet.

for the nameservers: in the inet case, autoconfd would know them from
dhcp. i've been told the inet6 RAs can contain nameserver information,
too. we can pass those up from the kernel using a message on the
routing socket as well (this is inspired by the kernel-ipsec <->
iked/isakmpd model). the resolv.conf writing races / fights would be
gone since autoconfd is the only one dealing with it.

of course i don't insist on implementing all that myself, not
remotely.

-- 
Henning Brauer, h...@bsws.de, henn...@openbsd.org
BS Web Services GmbH, http://bsws.de, Full-Service ISP
Secure Hosting, Mail and DNS. Virtual & Dedicated Servers, Root to Fully Managed
Henning Brauer Consulting, http://henningbrauer.com/

Reply via email to