Subject: [DHCP]

From: "Philippe Chauvat" <[email-masked]>
Date: Thu, 25 May 2000 12:06:14 -0400

Hello,

I'm trying to install Linux on an Indy Box. I need some help to boot
from my Indy with bootp protocols.

My configuration is:
one Indy with Irix 6.2, nfs, dhcp and tftp server (I would like !)  --->
named _cream_ IP=192.0.2.2
one Indy with Irix 5.2 ----> named _pancake_ IP=192.0.2.3
one PC box with Mandrake 6.0  nfs, dhcp and tftp server ----> named
_pie_ IP=192.0.2.1
one HUB to connect everybody

I followed instructions from different HowTo's but...

1/When I use _cream_ as dhcp server (/usr/sbin/dhcpd -f -d) and try to
boot _pancake_ I receive a message something like
BOOT... (not RFC1048)
and then my _pancake_ does not boot.

2/ If I try to use _cream_ as dhcp server nothing appears

So, I would like to ask a lot of things!
-- can I use bootp from _pancake_ to boot on _cream_ or _pie_ ?
-- how can I see some information about bootp connection on _cream_ from
_pancake_ ?

Thanks a lot for your help.
Philippe

P.S. _cream_, _pancake_ and _pie_ names are only as example.

---

From: "Eric Watkins" <[email-masked]>
Date: Thu, 25 May 2000 09:26:35 -0700

Hello,

I had lots of issues getting the ISC.org dhcpd to work properly. I switched
to the standard bootpd(slackware) daemon and things worked fine. I think
this may be just how I have the isc.org dhcpd.conf setup but the bootpd
daemon worked just fine out of the box.

Either the isc.org dhcpd sends things the SGIs aren't prepared to get or it
just not implementing bootpd the right way. I think it's just a config issue
but I've yet to get things right with the dhcpd.conf. You'll notice there
are 4 get requests in the log files before the SGI times out.

There is a post on the isc.org message boards about this. I don't have the
URL but I searched on SGI and bootp in the dhcpd client archives.

I'd suggest trying bootpd(rather thand dhcpd) and seeing if the SGI boots
right up. That worked for me after screwing around with dhcpd for a few
days.

Good luck.

> -----Original Message-----
> From: [email-masked]
> [mailto:[email-masked]]On Behalf Of Philippe Chauvat
> Sent: Thursday, May 25, 2000 9:06 AM
> To: Linux Mips
> Subject: [DHCP]
>
>
> Hello,
>

---

From: Keith M Wesolowski <[email-masked]>
Date: Thu, 25 May 2000 09:47:36 -0700

> are 4 get requests in the log files before the SGI times out.

I also had difficulty using ISC dhcpd to boot SGIs until I did an
unsetenv netaddr before booting. I don't yet know why this works.

-- 
Keith M Wesolowski			[email-masked]
University of Nevada			http://www.chem.unr.edu
Chemistry Department Systems and Network Administrator

---

From: "Eric Watkins" <[email-masked]>
Date: Thu, 25 May 2000 16:03:27 -0700

Ok. I've had about 4 replys so far about other people having issues with the
isc.org dhcpd daemon...

I've had great luck using it for other projects so AFAIK this is just an
issue with the way SGI does bootp. Perhaps we can find a workaround for the
ISC dhcpd.

I'll put a sniffer on the wire and watch a bootpd-->SGI exchange vs. a
dhcpd-->SGI exchange and see what's missing.

In the mean time can we get something posted to the FAQ or howto so that
other people don't sufer the same fate?

Thanks!

> [mailto:[email-masked]]On Behalf Of Keith M Wesolowski
> Sent: Thursday, May 25, 2000 9:48 AM
> To: Eric Watkins
> Cc: Philippe Chauvat; Linux Mips
> Subject: Re: [DHCP]
>
>

---

From: "Soren S. Jorvang" <[email-masked]>
Date: Fri, 26 May 2000 06:14:04 +0200

> unsetenv netaddr before booting. I don't yet know why this works.

Ted fixed dhcpd for SGI some time ago. I am not sure if it has
made into 3.0.

--- server/bootp.c.orig	Fri Apr  9 19:55:02 1999
+++ server/bootp.c	Wed Dec  8 00:23:16 1999
@@ -348,6 +348,16 @@
 					      from, &to, &hto);
 			return;
 		}
+
+	/* If it comes from a client that already knows its address
+	   and is not requesting a broadcast response, and we can
+	   unicast to a client without using the ARP protocol, sent it
+	   directly to that client. */
+	} else if (!(raw.flags & htons (BOOTP_BROADCAST)) &&
+		   can_unicast_without_arp()) {
+		to.sin_addr = raw.yiaddr;
+		to.sin_port = remote_port;
+
 	/* Otherwise, broadcast it on the local network. */
 	} else {
 		to.sin_addr.s_addr = INADDR_BROADCAST;

-- 
Soren