STEP 2, fixing dhclient behaviour with multiple interfaces

Martin Blapp mb at imp.ch
Tue Jul 29 00:56:52 PDT 2003


Hi all,

I't is my goal to make dhclient really functional, so it can not only
be used with one interface, but several.

On a well known OS this works just fine. A first interface gets
initialized and the GW gets set as usual. But if a second interface
gets added, and the first one is still active and has a working lease,
the GW will not be overwriten. If you remove now the first interface,
the default GW changes to the one of the second interface.

"X" = Link on IF
"+" = Interface gets added or has new link
"-" = Interface gets removed or lost link

IF1 IF2 GW1 GW2
---------------
X       X
X   +   X
-   X       X
+   X       X

Too this functionality to dhclient, there is only one way to do it. the
ISC-dhclient package offers a OMAPI Command Shell omsshell(1). There you
can add new interfaces or even remove existing ones.

The work that needs to be done is:

- Adding a unix domain socket to OMAPI, so root (or a choosen user)
  can access dhclient (or dhcpd) on the local machine without authentification.

- Providing the omshell scripts for adding and removing interfaces, adding
  new default gateways on interface removal etc ...

- Change our infrastructure (devd, rc.d/dhclient script) to use them.

If there are other ideas, I'm open to them.

Martin

Martin Blapp, <mb at imp.ch> <mbr at FreeBSD.org>
------------------------------------------------------------------
ImproWare AG, UNIXSP & ISP, Zurlindenstrasse 29, 4133 Pratteln, CH
Phone: +41 61 826 93 00 Fax: +41 61 826 93 01
PGP: <finger -l mbr at freebsd.org>
PGP Fingerprint: B434 53FC C87C FE7B 0A18 B84C 8686 EF22 D300 551E
------------------------------------------------------------------


More information about the freebsd-current mailing list