STEP 2, fixing dhclient behaviour with multiple interfaces

Terry Lambert tlambert2 at
Tue Jul 29 09:28:25 PDT 2003

Robert Watson wrote:
> > [ ... ]
> > > If there are other ideas, I'm open to them.
> >
> > You could add kevents for interface arrival and departure, and add a
> > kqueue to the dhcpd to catch the arrival/departure events, and then just
> > act on them.
> Some of those events already exist for routing sockets, so in a worst case
> scenario, you can hook up a routing socket to a kqueue :-).
> Martin -- you might want to try the "route monitor" command sometime and
> take a look at the vent stream there for things to consider.

Does that work if you don't have an IP address assigned to the
interface at all yet?  I was under the impression that it only
sent out route change events (maybe I need to update my copy of
the -current sources, though).  What I was talking about is the
idea that naked interface ( arrivals and departures
could be signalled, which would cause dhclient to try to get a
lease on the interface.

I'm afraid there's still a chicken-and-egg problem over devices
that you want to be able to come and go, without attempting to
get a lease.  Probably the way to handle them is with an explicit
"not this device" list, since it would let unknown devices "just
work" by default, which is kind of what you want.  Presumably, if
you don't want a lease it's because you've got a static assignment
for that particular device that you want used instead.

I can't wait for IPv6 stateless autoconfiguration plus SLPv2 so
we can get rid of all this DHCP crap once and for all.  8-(.
SLPv2 is used to find the gateway and DNS server, and after that,
everything "magically works".  If you get a lease in a zone, then
because the forward record exists (because you have a Cert. for
your own zone, the local DNS server should be willing to perform
updates for your reverse record which it knows matcheds the
forward record that lives in its zone but exists back on your home

Of course, this only works with IPv6, unless you use IPv4 with a
link.local net plus integrated NAT in the gateway box.

-- Terry

More information about the freebsd-current mailing list