Re: Ethereal comparison 1.265 vs 1.270 DHCP Discover



Your patch did not work. From experience with dhcpcd.c, I knew it would not work but I also knew how to fix it. The 1.265 and 1.270-mypatch discovery messages that work are 346 bytes and the UDP part is 312. The 1.270 discovery message that does not work is 331 bytes and the UDP part is 297. I believe this may be a size issue. The SMC AP/DHCP server seems to be rejecting the discovery message because its size is too small. Your patch will not work with

DHCP_CLASS_ID_MAX_LEN, "%s", sname.sysname);

OR

DHCP_CLASS_ID_MAX_LEN, "%s %s", sname.sysname, sname.release);

It only works with

DHCP_CLASS_ID_MAX_LEN, "%s %s %s", sname.sysname, sname.release, sname.machine);

If I am right about size and this is an issue for older hardware, then saving a few bytes in the dhcp discovery message is not worth it.

Dan Williams wrote:

On Fri, 2005-02-11 at 16:02 -0500, Bill Moss wrote:
Bootstrap Protocol identical down to

1.270:
Option 53 DHCP Message TYPE = DHCP Discover
Option 57: Maximum DHCP Message Size = 548
Option 51: IP Address Lease Time = infinity
Option 55: Parameter Request List
Option 12: Host Name = "localhost.localdomain"
== SMC DHCP does not send an ARP. It is stuck here. It doesn't like something about the way this message is constructed. All checksums are correct in all parts of the message.

1.265
Option 53 DHCP Message TYPE = DHCP Discover
Option 57: Maximum DHCP Message Size = 548
Option 51: IP Address Lease Time = infinity
Option 55: Parameter Request List
Option 60: Vendor class identifier = "Linux 2.6.10-1.760_FC3 i686"
Option 61: Client identifier
== SMC DHCP immcdiately sends an ARP and the process continues to completion


Bill,

Could you apply this patch, rebuild, and try again?  It should revert
the DHCP message options to what they were before, ie making it send the
Client & Class ID but not the hostname.

Dan

--
Bill Moss
Professor, Mathematical Sciences
Clemson University

--
Bill Moss
Professor, Mathematical Sciences
Clemson University




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]