*** 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

------------------------------------------------------------------------------

Reply via email to