tech-net archive

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

Re: Design misfeature of dhclient for multiple interfaces

On Mon, 2008-09-08 at 21:42 -0400, Steven M. Bellovin wrote:
> Certainly one approach.  dhcpcd might handle this better, too.

It does! But currently only for Linux.
Linux has route metrics, which means that you can install multiple
routes to the same destination. See attached route output for an
re0 is wired, ral0 is wireless. As re0 has the lower metric it will be
the preferred route. The kernel takes care of everything :)

No BSD currently supports route metrics, which poses a problem. To be
able to solve this, dhcpcd needs to work like dhclient and have one
instance handling multiple interfaces (dhcpcd-4 and earlier are single
instance per interface by design). This has already been done and works
very well. The code is also a lot smaller and whilst memory usage for
the instance has increased (duh - more interfaces == more memory) it's
still more efficient than dhclient by quite some margin.

I'll email tech-net@ when this is done so I can get some testing done.
Should be done somewhere over the next few days or weeks - prod me if I
take a bit longer ;)


Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface   UG    102    0        0 re0   UG    205    0        0 ral0   UG    102    0        0 re0   UG    205    0        0 ral0   U     102    0        0 re0   U     205    0        0 ral0       UG    0      0        0 lo         UG    102    0        0 re0         UG    205    0        0 ral0

Home | Main Index | Thread Index | Old Index