History log of /freebsd-10.1-release/usr.sbin/rarpd/rarpd.8
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 272461 02-Oct-2014 gjb

Copy stable/10@r272459 to releng/10.1 as part of
the 10.1-RELEASE process.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


# 238300 09-Jul-2012 joel

Remove end of line whitespace.


# 238282 09-Jul-2012 hrs

- Add IFT_L2VLAN (vlan(4)) support.
- Add -P option to support PID file. When -a is specified /var/run/rarpd.pid
is used, and when an interface is specified /var/run/rarpd.<ifname>.pid is
used by default.


# 141580 09-Feb-2005 ru

Fixed the misplaced $FreeBSD$.


# 133249 07-Aug-2004 imp

Per letter dated July 22, 1999 remove 3rd clause of Berkeley derived software
(with permission of addtional copyright holders where appropriate)


# 119003 16-Aug-2003 charnier

Make it clear that -a flag and interface parameter are mutually exclusive


# 99968 14-Jul-2002 charnier

The .Nm utility


# 86679 20-Nov-2001 rwatson

Grammatical fixes over previous commit.

Submitted by: ru


# 86460 16-Nov-2001 rwatson

o Allow rarpd to accept an additional '-t directory' argument, specifying
an alternative to /tftpboot. This is useful it you're using tftpd
with an alternative root (using -s), and would like rarpd to respond
selectively to RARP requests using the same criteria as tftp.

Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs


# 78402 18-Jun-2001 roam

Add a -d command-line option; when used in conjunction with -f, rarpd
sends error messages to stderr, normal output to stdout, instead of
logging everything via syslog.

Turn off the FORMAT_AUDIT in the Makefile, until I can figure out how
to disable the check for one single line in the source :(

Reviewed by: dd, silence on -audit
MFC after: 1 month


# 78057 11-Jun-2001 roam

WARNS=2 cleanup, ANSIfication, manpage mdoc(7) cleanup.

Once again, as explained in my messages to -audit, the ANSIfication comes
as part of the preparation to add a new -d command-line flag to send
output to stdout/stderr. That commit will come in a week, pending any
further comments/objections. For those who have missed the -audit mails,
it's at http://people.FreeBSD.org/~roam/bsd/rarpd/usr.sbin-rarpd-d.patch

Asbestos suit: on ;)
Reviewed by: dd, silence on -audit
MFC after: 1 month


# 70403 27-Dec-2000 ru

Prepare for mdoc(7)NG.


# 69027 22-Nov-2000 ru

mdoc(7) police: do not split author names in the AUTHORS section.


# 68965 20-Nov-2000 ru

mdoc(7) police: use the new features of the Nm macro.


# 68955 20-Nov-2000 sheldonh

Fix broken (sectionless) cross-reference in ref 1.10.


# 65532 06-Sep-2000 nectar

Add nsswitch support. By creating an /etc/nsswitch.conf file, you can
configure FreeBSD so that various databases such as passwd and group can be
looked up using flat files, NIS, or Hesiod.

= Hesiod has been added to libc (see hesiod(3)).

= A library routine for parsing nsswitch.conf and invoking callback
functions as specified has been added to libc (see nsdispatch(3)).

= The following C library functions have been modified to use nsdispatch:
. getgrent, getgrnam, getgrgid
. getpwent, getpwnam, getpwuid
. getusershell
. getaddrinfo
. gethostbyname, gethostbyname2, gethostbyaddr
. getnetbyname, getnetbyaddr
. getipnodebyname, getipnodebyaddr, getnodebyname, getnodebyaddr

= host.conf has been removed from src/etc. rc.network has been modified
to warn that host.conf is no longer used at boot time. In addition, if
there is a host.conf but no nsswitch.conf, the latter is created at boot
time from the former.

Obtained from: NetBSD


# 53766 27-Nov-1999 charnier

Remove incorrect section name. Incomplete -Wall cleaning.


# 50479 27-Aug-1999 peter

$Id$ -> $FreeBSD$


# 30372 13-Oct-1997 charnier

Mdoc'ify man page.


# 19986 27-Nov-1996 fenner

Add -s flag to always supply mapping if known, ignoring the
presence or absence of files in /tftpboot.


# 19985 27-Nov-1996 fenner

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).


# 19889 19-Nov-1996 wpaul

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.


# 13744 30-Jan-1996 mpp

Fix a bunch of spelling errors in a bunch of man pages.


# 6910 05-Mar-1995 wpaul

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.


# 6824 02-Mar-1995 wpaul

This commit was generated by cvs2svn to compensate for changes in r6823,
which included commits to RCS files with non-trunk default branches.


# 6823 02-Mar-1995 wpaul

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