Commit Graph

7 Commits

Author SHA1 Message Date
Philippe Charnier
aa40a0da51 Mdoc'ify man page. 1997-10-13 11:03:36 +00:00
Bill Fenner
a9695b96ac Add -s flag to always supply mapping if known, ignoring the
presence or absence of files in /tftpboot.
1996-11-27 20:45:10 +00:00
Bill Fenner
b60287db00 Make the man page reflect reality. Add BUGS section about DNS.
Logging cleanups (including logging the requestor's MAC address instead
 of the server's).
1996-11-27 20:42:09 +00:00
Bill Paul
7632575be6 Although I got rarpd to work, it was largely through kludgery. Bill
Fenner was kind enough to point out the error of my ways. This incorporates
diffs from him which:

- Keep everything in network order.
- Log the booted ether & ip address, instead of my address on that net
- change several exit()'s to return()'s, so that rarpd continues running
  even if it thinks it's in a weird state.

One small tweak by me: in rarp_bootable(), we have to make sure to
construct 'ipname' in host byte order (if we don't, we have to
specify /tftpboot/<remote IP in hex> with <remote IP in hex> in
network byte order, which is confusing).

Also restored use of <dirent.h> rather than <sys/dir.h> as pointed
out by bde.

Also updated the man page so that the -v flag is documented.

With any luck, I won't have to touch this thing again.
1996-11-19 23:57:06 +00:00
Mike Pritchard
4a8d02835c Fix a bunch of spelling errors in a bunch of man pages. 1996-01-30 13:52:50 +00:00
Bill Paul
7757d94047 ether_addr.c:
- Implement ether_hostton()
- Implement ether_aton()
- Modify ether_aton() and ether_ntoa() to match the semantics of the
SunOS versions of these functions.
- Neaten up ether_hostton() and ether_ntohost() a little.
- Get rid of ether_print() since it isn't needed for rarpd and it isn't
documented as a standard ethers(5) function.

rarpd.8:

- Make it clear that the 'ipaddr' that rarpd looks for in /tftpboot
is actually in hexadecimal (as in /tftpboot/803B4032) since those who
are not versed in the black art of system administration are not likely
to know this.
1995-03-05 22:04:05 +00:00
Bill Paul
9636a39a61 Obtained from: An old BPF release packaged with the tcpdump-2.0 source code.
"Yes Virginia, there is a rarpd."

(Before anyone asks, this *not* the rarpd from NetBSD. It did come from
the same place as theirs, however.)

This is a port of the rarpd program included with the tcpdump-2.0
source code (which I finally unearthed after scrounging around
some of the darker corners of the Internet). It's as close to the
original as I could keep it except for the following changes:

- The original program was based on an older version of the Berkeley
  Packet Filter which used different filter programming instructions.
  Fortunately, an updated RARP packet filter is available right in the
  BPF man page so this was easy to fix.

- The old code didn't know how to deal with variable length addresses
  in ifreq buffers. This has been fixed.

- Some byte order weirdness had to be fixed. The sanity checks in
  rarp_check() needed some htons()es, and the rarp_reply() function
  needed to properly set the ether_type field in the ethernet header
  to ETHERTYPE_REVARP before transmitting the packet, otherwise
  the bytes in ether_type would wind up reversed. It is important to note
  that using htons(ETHERTYPE_REVARP) will not work. This is odd, because
  the NetBSD rarpd uses htons(ETHERTYPE_REVARP). (Praise be to tcpdump:
  I would never have been able to track this silliness down without it.)

- The update_arptab() function has been castrated. It depends on
  SIOCSARP which has been deprecated in 4.4BSD. The NetBSD people
  don't seem to be using this function either. It wouldn't be too
  hard to replace this with equivalent code from arp.c, but it
  might not be necessary.

- I put together an ether_ntohost() support function that allows
  both local (/etc/ethers) and NIS lookups. This stuff should go
  in libc at some point, but nothing else seems to need it for now,
  so it can wait a while.

As you may have guessed, you need to have the Berkeley Packet Filter in
your kernel in order to use this program. The good news is that together
with the recently added bootparamd, you can use finally use a FreeBSD
box to boot Sun boxes over the network. (This was my whole motivation
for getting this stuff to work: I have this one subnet that has a whole
bunch of Sun3 X-terminals on it with only two Sun4 workstations, both
of which are locked in peoples' offices. If those two machines crash
(and they do every so often) then none of the X-terms will boot. Now I
can use a spare PC that I have as a boot server. :)
1995-03-02 06:41:40 +00:00