Subject: bin/1242: bootpd can not work under incomplete arp table
To: None <gnats-bugs@NetBSD.ORG, furuta@trc.rwcp.or.jp>
From: Gordon W. Ross <gwr@mc.com>
List: netbsd-bugs
Date: 07/19/1995 10:20:21
Oops, that was fixed in the version found on ftp.mc.com
but I forgot to update the NetBSD version.  Sorry.

Thanks for the bug report.

Gordon Ross


> Resent-Date: Wed, 19 Jul 1995 04:35:08 -0400
> Resent-From: gnats@netbsd.org (GNATS Management)
> Resent-To: gnats-admin@sun-lamp.pc.cs.cmu.edu
> Resent-Cc: gnats-admin@sun-lamp.pc.cs.cmu.edu, netbsd-bugs@netbsd.org
> Resent-Reply-To: gnats-bugs@netbsd.org, furuta@trc.rwcp.or.jp
> Date: Wed, 19 Jul 1995 17:24:23 +0900
> From: Atsushi Furuta <furuta@trc.rwcp.or.jp>
> Reply-To: furuta@trc.rwcp.or.jp
> X-Send-Pr-Version: 3.2
> Sender: owner-netbsd-bugs@netbsd.org
> Precedence: list
> X-Loop: netbsd-bugs@NetBSD.ORG
> 
> 
> >Number:         1242
> >Category:       bin
> >Synopsis:       bootpd can not work under incomplete arp table
> >Confidential:   no
> >Severity:       serious
> >Priority:       medium
> >Responsible:    bin-bug-people (Utility Bug People)
> >State:          open
> >Class:          sw-bug
> >Submitter-Id:   net
> >Arrival-Date:   Wed Jul 19 04:35:03 1995
> >Last-Modified:
> >Originator:     Atsushi Furuta
> >Organization:
> Real World Computing Partnership, Tsukuba Research Center
> >Release:        1.0
> >Environment:
>     	
> System: NetBSD decpc.trc.rwcp.or.jp 1.0 NetBSD 1.0 (RWC) #3: Wed Dec 7 15:12:43
> JST 1994 furuta@decpc.trc.rwcp.or.jp:/usr/src/sys/arch/i386/compile/RWC i386
> 
> >Description:
> 	/usr/sbin/bootpd can not work correctly when the arp table
> has a incomplete hardware address entry on a client IP slot. Many messages
> such as:
> 
> 	Jul 19 14:47:33 decpc bootpd[7933]: arp failed, exit code=0x100
> 	Jul 19 14:47:33 decpc bootpd[7933]: sendto: Host is down
> 
> are logged (and displayed to console) when bootp client started. If I
> started bootpd manually, I also get messages:
> 
> 	writing to routing socket: File exists
> 
> >How-To-Repeat:
> 
> I assume a bootpd client machine "client" is down now.
> 
> 	# /usr/sbin/bootpd
> 	# /sbin/ping client
> 	# /usr/sbin/arp -a
> 		:
> 	client.trc.rwcp.or.jp (163.220.1.225) at (incomplete)
> 		:
> 	#
> 
> Now, I turn on power switch of "client", but it can't boot. To set
> correct value to arp table manually:
> 
> 	# /usr/sbin/arp -d 163.220.1.225
> 	# /usr/sbin/arp -s 163.220.1.225 00:20:AF:75:7C:46 temp
> 
> makes it boot fine. Should I do it every time to boot client?
> 
> >Fix:
> 
> A dirty fix is:
> ----------------
> --- hwaddr.c.ORIG       Wed Jul 19 14:59:21 1995
> +++ hwaddr.c    Wed Jul 19 14:59:23 1995
> @@ -130,6 +130,11 @@
>         char buf[256];
>         int status;
>  
> +       sprintf(buf, "arp -d %s", inet_ntoa(*ia));
> +       if (debug > 2)
> +               report(LOG_INFO, buf);
> +       status = system(buf);
> +
>         sprintf(buf, "arp -s %s %s temp",
>                         inet_ntoa(*ia), haddrtoa(ha, len));
>         if (debug > 2)
> ----------------
> 
> I don't know if it is a proper solution or not.
> 
> >Audit-Trail:
> >Unformatted:
>