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