ifupdown: dhcp behaviour does not comply with RFC 3442
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
isc-dhcp (Debian) |
Fix Released
|
Unknown
|
|||
isc-dhcp (Ubuntu) |
Fix Released
|
Medium
|
Stéphane Graber |
Bug Description
Binary package hint: ifupdown
Situation: the client is configured *not* to use network-manager, but instead eth0 is added to the "auto" line in /etc/network/
* option 3 (Router)
* option 121 (Classless Static Routes)
According to RFC 3442, clients that receive and support option 121 MUST ignore option 3 if present.
Problem: the routes from *both* option 121 and option 3 are added to the kernel routing table, the client ends up with 2 default gateways.
Additional info:
* Tested with dhcp server on Windows 2008 R2
* Windows clients are found to contain the same bug.
* Debian GNU/Linux 5.0.5 (Lenny) is found to contain the same bug. This bug is probably present in multiple versions of Debian and derived distributions.
* When using network-manager, option 3 is used and option 121 is not (correct behaviour according to RFC 3442)
* Using dhcpcd instead of dhclient (dhcp3-client), option 121 is used and option 3 is ignored, like it should.
-- System information:
Ubuntu 10.04.1 LTS
Kernel: Linux 2.6.32-24-generic #39-Ubuntu SMP Wed Jul 28 06:07:29 UTC 2010 i686 GNU/Linux
Related branches
tags: | added: udd-find |
Changed in ifupdown (Debian): | |
status: | Unknown → New |
affects: | ifupdown (Ubuntu) → isc-dhcp (Ubuntu) |
affects: | ifupdown (Debian) → isc-dhcp (Debian) |
Changed in isc-dhcp (Debian): | |
status: | New → Fix Committed |
Changed in isc-dhcp (Debian): | |
status: | Fix Committed → Fix Released |
Changed in isc-dhcp (Ubuntu): | |
status: | Triaged → Fix Committed |
assignee: | nobody → Stéphane Graber (stgraber) |
Under "Additional info" I mentioned the behaviour of network-manager. I tried to reproduce, but now "Classless Static Routes" (option 121) is in effect and "Router" (option 3) is not.
The behaviour with ifup/ifdown and dhclient however didn't change.