Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Jan 1998 15:11:39 +0100 (CET)
From:      Jacob Bohn Lorensen <jacob@jblhome.ping.dk>
To:        FreeBSD-gnats-submit@FreeBSD.ORG
Subject:   bin/5497: Rbootd cannot boot my hp9000s340 (patch included)
Message-ID:  <199801151411.PAA01450@pippin.jblhome.ping.dk>

next in thread | raw e-mail | index | archive | help

>Number:         5497
>Category:       bin
>Synopsis:       Rbootd cannot boot my hp9000s340
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:
>Keywords:
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jan 15 06:20:03 PST 1998
>Last-Modified:
>Originator:     Jacob Bohn Lorensen
>Organization:
>Release:        FreeBSD 3.0-CURRENT i386
>Environment:
CTM src-cur.3207

	

>Description:

	When I try to setup rbootd to download OpenBSD's bootblock
	(or any other bootblock, I guess) to a hp9000s340 machine I
	have, all I see is and endless conversation like

 	Hp340: Who is my boot host?
	FreeBSD: Your boot host is <pippin>! (my machine name)
	Hp340: Who is my boot host?
	FreeBSD: Your boot host is <pippin>
	...

	

>How-To-Repeat:

	Put a hp340 machine on your network. Put OpenBSD's SYS_UBOOT
	into /usr/mdec/rbootd. Start /usr/libexec/rbootd -a -d. Turn on
	the hp340 and watch the debugging output.

	

>Fix:
	Here is a simple patch, inspired by looking at OpenBSD's rbootd.
	It seems that a FreeBSD-specific bpf-hack is no longer necessary.
	At least, with this change I can boot the hp340 machine.

pippin% cd /usr/src/libexec/rbootd/
pippin% cvs diff -u                      
cvs diff: Diffing .
Index: rmpproto.c
===================================================================
RCS file: /local/CVS/src/libexec/rbootd/rmpproto.c,v
retrieving revision 1.1.1.1
diff -u -u -r1.1.1.1 rmpproto.c
--- rmpproto.c  1998/01/04 12:02:36     1.1.1.1
+++ rmpproto.c  1998/01/15 13:44:04
@@ -575,12 +575,7 @@
         */
        memmove((char *)&rconn->rmp.hp_hdr.daddr[0],
                (char *)&rconn->rmp.hp_hdr.saddr[0], RMP_ADDRLEN);
-#ifdef __FreeBSD__
-       /* BPF (incorrectly) wants this in host order. */
-       rconn->rmp.hp_hdr.len = rconn->rmplen - sizeof(struct hp_hdr);
-#else
        rconn->rmp.hp_hdr.len = htons(rconn->rmplen - sizeof(struct hp_hdr));
-#endif
 
        /*
         *  Reverse 802.2/HP Extended Source & Destination Access Pts.

	
	

>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199801151411.PAA01450>