Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

dhcpcd-4.99.1 [was: wpa_supplicant before dhcpcd]



On Tue, 2008-09-02 at 17:37 +0100, Roy Marples wrote:
> However, this has prompted a TODO list for dhcpcd.
> 
> 1) Multiple interface support (done)
> 2) Detect wireless interface (done)
> 3) Control socket to release leases
> 4) OS support for detecting new/removed interfaces
> 5) Control socket for adding/removing interfaces if no wish for dynamic
> OS support
> 6) Ensure that preferred interfaces get the routing and configuration
> (default wired over wireless, then if_nametoindex - will be
> configurable)
> 
> Multiple interface support has actually prompted a big code change to
> the client state engine, moving to a proper event loop (no, not
> libevent). This should make the long term goal of DHCPv6 support much
> easier.
> 
> When 6) is finally done, you can have dhcpcd on two interfaces. The one
> with the lowest metric will get the default route. If this interface
> goes down (lease expires, no carrier, etc) then the other interface will
> automatically redo its routing so that a new default route will appear.
> This should make switching between wireless and wired networks on a
> laptop quite trivial.

This how now been done - BSD now has a mini network manager :)
It's proving quite stable, so I've released an experimental version
[1] with rc.d script [2] so I can get some feedback.

Give preferred interfaces lower metrics in /etc/dhcpcd.conf like so
interface bge0
metric 10
interface iwi0
metric 20

default is if_nametoindex + 100
if wireless we add another 100.

Use the command
netstat -nr -f inet
to verify the routing changes to the right interface.

You may wish to add this line to /etc/dhcpcd.conf
denyinterfaces fwip[0-9]* tap[0-9]*
to stop dhcpcd from managing those interfaces.
You could also explicitly list interfaces for dhcpcd to configure
dhcpcd bge0 iwi0
Or supply an allow list in /etc/dhcpcd.conf
allowinterfaces iwi[0-9]* bge[0-9]*
We need something like this as we cannot work out the type of interface
and if we should me trying to manage it by default if not given a list
of interfaces to work off [3]

As I said, this is an experimental version so if you have any interest
in this please try it and give me some feedback! It's pretty much
feature complete from what people have wanted so far - I just want to
add DHCPv6 support in the future.

Thanks

Roy

[1] http://roy.marples.name/dhcpcd/dhcpcd-4.99.1.tar.bz2
[2] http://roy.marples.name/dhcpcd/dhcpcd.rc
[3] http://mail-index.netbsd.org/tech-net/2008/09/10/msg000770.html




Home | Main Index | Thread Index | Old Index