Subject: Re: rbootd for FreeBSD
To: Mike Hibler <mike@fast.cs.utah.edu>
From: Mark Davies <mark@Comp.VUW.AC.NZ>
List: port-hp300
Date: 01/31/1996 18:43:05
	From:  mike@fast.cs.utah.edu (Mike Hibler)
	Date:  Tue, 30 Jan 1996 21:18:58 -0700

> The problem had to do with BPF.  Something (the length field?) in the
> ethernet header fed to BPF was being byte-swapped (not byte-swapped?)
> when it shouldn't (should?) have been.  You just need to change a htons
> to a ntohs (or visa-versa).
> 
> Sorry for being so vague...


I don't know about rbootd precisely but I did notice the following, while 
looking through cap60 sources, dealing with FreeBSD's BPF implementation:

	[...]
  bcopy(eaddr, &eh.ether_dhost, 6);
#ifdef PHASE2
#ifdef __FreeBSD__
  /* This should really be fixed in the kernel. */
  eh.ether_type = buflen;
#else
  eh.ether_type = htons(buflen);
#endif
  /*
   * Fill in the remainder of the 802.2 and SNAP header bytes.
	[...]
#else  PHASE2
#ifdef __FreeBSD__
  /* This should really be fixed in the kernel. */
  eh.ether_type = eph->protocol;
#else
  eh.ether_type = htons(eph->protocol);
#endif
#endif PHASE2
  	[...]


so you presumably want to do something similar.

cheers
mark