Bug 209282 - dhcp 3.0.3-26 fails to netboot etherboot client
Summary: dhcp 3.0.3-26 fails to netboot etherboot client
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: dhcp
Version: 5
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: David Cantrell
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-10-04 10:22 UTC by Andreas Holzhammer
Modified: 2007-11-30 22:11 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-10-04 11:17:13 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Andreas Holzhammer 2006-10-04 10:22:42 UTC
Description of problem:
I recently upgraded my FC4 server installation to FC5, and experienced a failure
in dhcp, which prevented my diskless client to boot. The client is running the
PXE protocol from a etherboot 5.3.14 based CD and a Realtek RTL-8139B network
card. The client is stuck at the "Waiting for server (DHCP)" message.
dhcp version used on the server was dhcp 3.0.3-26, a downgrade to FC4 dhcp
(dhcp-3.0.2-12) fixed the problem (using the same config file).

dhcpd.conf is like this:

subnet 10.0.0.0 netmask 255.255.255.0 {
  range 10.0.0.100 10.0.0.200;
  option broadcast-address 10.0.0.255;
  option routers 10.0.0.1;
  authoritative;
}

host dvr {
  hardware ethernet 00:e0:4c:60:31:92;
  fixed-address 10.0.0.5;
  filename "linux-install/pxelinux.0";
}

Version-Release number of selected component (if applicable):
dhcp-3.0.3-26

How reproducible:
always

Steps to Reproduce:
1. upgrade to dhcp-3.0.3-26 and reboot client
  
Actual results:
Client hangs on PXE boot

Expected results:
Successfull boot into FC4 environment (created by system-config-netboot)

Additional info:
tcpdump from successfull PXE boot (server = morris, client = vdr):
18:39:44.815197 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request
from 00:e0:4c:60:31:92, length: 548
18:39:44.815813 IP morris.localdomain.bootps > dvr.localdomain.bootpc:
BOOTP/DHCP, Reply, length: 300
18:39:44.816004 IP dvr.localdomain.bootpc > 255.255.255.255.bootps: BOOTP/DHCP,
Request from 00:e0:4c:60:31:92, length: 548
18:39:44.816349 IP morris.localdomain.bootps > dvr.localdomain.bootpc:
BOOTP/DHCP, Reply, length: 300
18:39:44.822137 arp who-has morris.localdomain tell dvr.localdomain
18:39:44.822166 arp reply morris.localdomain is-at 00:02:b3:a7:25:ff
18:39:44.822221 IP dvr.localdomain.2001 > morris.localdomain.tftp:  46 RRQ
"linux-install/pxelinux.0" octet blksize 1432

tcpdump from failed PXE-boot:
20:46:53.570280 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request
from 00:e0:4c:60:31:92 (oui Unknown), length: 548
20:46:53.571484 IP morris.localdomain.bootps > dvr.localdomain.bootpc:
BOOTP/DHCP, Reply, length: 300
20:47:04.252996 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request
from 00:e0:4c:60:31:92 (oui Unknown), length: 548
20:47:04.254019 IP morris.localdomain.bootps > dvr.localdomain.bootpc:
BOOTP/DHCP, Reply, length: 300
20:47:24.630326 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request
from 00:e0:4c:60:31:92 (oui Unknown), length: 548
20:47:24.631487 IP morris.localdomain.bootps > dvr.localdomain.bootpc:
BOOTP/DHCP, Reply, length: 300

Looks like the response packet sent by the server is not understood by the client:
20:47:24.631487 IP (tos 0x10, ttl  16, id 0, offset 0, flags [none], proto: UDP
(17), length: 328) morris.localdomain.bootps > dvr.localdomain.bootpc:
BOOTP/DHCP, Reply, length: 300, xid:0x4c74f9d2, secs:31, flags: [none] (0x0000)
          Your IP: dvr.localdomain
          Client Ethernet Address: 00:e0:4c:60:31:92 (oui Unknown) [|bootp]
        0x0000:  00e0 4c60 3192 0002 b3a7 25b4 0800 4510  ..L`1.....%...E.
        0x0010:  0148 0000 0000 1011 9590 0a00 0001 0a00  .H..............
        0x0020:  0005 0043 0044 0134 0eb2 0201 0600 4c74  ...C.D.4......Lt
        0x0030:  f9d2 001f 0000 0000 0000 0a00 0005 0000  ................
        0x0040:  0000 0000 0000 00e0 4c60 3192 0000 0000  ........L`1.....
        0x0050:  0000 0000 0000 0000 0000 0000 0000 0000  ................

Comment 1 Andreas Holzhammer 2006-10-04 11:17:13 UTC
Apparently my dhcpd.conf was missing the "next-server" directive. Setting this
resolved the issue.

From dhcp ChangeLog:
  - fix default 'boot file server' value (packet->siaddr):
    In dhcp-3.0.2(-), this was defaulted to the server address;
    now it defaults to 0.0.0.0 (a rather silly default!) and 
    must be specified with the 'next-server' option ( not the tftp-boot-server
option ?!?)
    which causes PXE boot clients to fail to load anything after the boot file.


Note You need to log in before you can comment on or make changes to this bug.