I did a quick write-up of my ideas on how DHCP should work. On NetBSD, I'd implement a lot of this by stealing code from ifwatchd; it also relies on the patches by David Young to pass wireless carrier detect events upstream. --Steve Bellovin, http://www.research.att.com/~smb