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