Klibc: ipconfig fails on network with DHCP relays
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
klibc (Debian) |
Fix Released
|
Unknown
|
|||
klibc (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Hardy |
Fix Released
|
Medium
|
Unassigned |
Bug Description
This effects the LTSP package suite, since PXE booted kernels use ipconfig (from klibc) to obtain a DHCP address. It affected my network because when we turned on Cisco's DHCP snooping (which mitigates rogue DHCP servers somewhere in your network) it breaks LTSP.
I have filed this report with the upstream maintainer (http://
The basic behavior is that according to RFC 2131, DHCP relay hosts should reject a DHCP request packet that has the giaddr field set. This one line fix just sets the giaddr field to INADDR_ANY.
Here is a simple (git formatted) patch:
diff --git a/usr/kinit/
index a1090f3..8ff1d58 100644
--- a/usr/kinit/
+++ b/usr/kinit/
@@ -161,7 +161,7 @@ static int dhcp_send(struct netdev *dev, struct iovec *vec)
bootp.hlen = dev->hwlen;
bootp.xid = dev->bootp.xid;
bootp.ciaddr = dev->ip_addr;
- bootp.giaddr = dev->bootp.gateway;
+ bootp.giaddr = INADDR_ANY;
bootp.secs = htons(time(NULL) - dev->open_time);
Related branches
Changed in klibc: | |
status: | Unknown → New |
Changed in klibc: | |
status: | New → Fix Released |
Changed in klibc (Ubuntu Hardy): | |
status: | New → In Progress |
Changed in klibc (Ubuntu): | |
milestone: | none → ubuntu-8.04.4 |
Changed in klibc (Ubuntu Hardy): | |
milestone: | none → ubuntu-8.04.4 |
Changed in klibc (Ubuntu): | |
milestone: | ubuntu-8.04.4 → none |
status: | In Progress → Fix Released |
Changed in klibc (Ubuntu Hardy): | |
importance: | Undecided → Medium |
tags: |
added: verification-done removed: verification-needed |
Same problem. Please add this patch, it solve all my problem with dhcrelay.