*** From dhcp-server -- To unsubscribe, see the end of this message. ***
Hi,
I have had problems getting recent versions (version 2 patchlevel 27) of
DHCPd from isc.org to work with Incom (1.52) bootroms. The problem is that
Incom bootroms only accept broadcast ACKs, while newer versions of DHCPd
only send unicast ACKs, since the broadcast bit of the request is ignored.
The dhcp server appears to be in violation of the protocol.
The logs show the following sequence, demonstrating that the client does
not receive the Ack:
Discover
Offer
Request
Ack
Request
Ack
Request
Ack
We are running RedHat Linux 5.1 and 5.2. Kernels are version 2.0.34 and
2.0.36. I have tested the server with kernel 2.2.6 and had the same problem.
I modified the source to send broadcast responses to DHCP
REQUESTs, rather than unicasts if the broadcast bit is set, and that
fixed the problem.
The relevant file is server/dhcp.c and the diff (ver 2 pl 27) is
1251c1251,1252
< } else if (raw.ciaddr.s_addr && state -> offer == DHCPACK) {
---
> } else if (raw.ciaddr.s_addr && state -> offer == DHCPACK &&
> !(raw.flags & htons (BOOTP_BROADCAST))) {
This is referred to in RFC 2131 which says:
A client that cannot receive unicast IP datagrams until its protocol
software has been configured with an IP address SHOULD set the
BROADCAST bit in the 'flags' field to 1 in any DHCPDISCOVER or
DHCPREQUEST messages that client sends. The BROADCAST bit will
provide a hint to the DHCP server and BOOTP relay agent to broadcast
any messages to the client on the client's subnet.
Our dhcpd.conf looks similar to this:
option domain-name-servers 192.168.50.10;
option domain-name "tellurian.com.au";
option subnet-mask 255.255.255.128;
option broadcast-address 192.168.50.127;
default-lease-time -1;
subnet 192.168.50.0 netmask 255.255.255.128 {
filename "bpbatch.p";
host newhost {
option option-155 "script";
# BPBoot Always boot hard disk partition 1
option option-160 42:70:42:6F:4F:74:00:00:02;
# BPBoot Always boot tftp <filename>.X disk image
hardware ethernet 00:20:af:6d:ca:cc;
fixed-address 192.168.50.100;
}
}
I have cc'd this to Incom support so that they are aware of the problem.
Sean
------------------------------------------------------------------------------
To unsubscribe from this list, please visit http://www.fugue.com/dhcp/lists
If you are without web access, or if you are having trouble with the web page,
please send mail to [EMAIL PROTECTED] Please try to use the web
page first - it will take a long time for your request to be processed by hand.
Archives for this mailing list are available at
http://www.webnology.com/list-archives/dhcp/dhcp-server
------------------------------------------------------------------------------