This is the README file for the proxyarpd program, release 2.

proxyarpd implements a proxy ARP daemon for Sun systems running SunOS
3.3, 3.4, 3.5 or 4.x. It may even work on SunOS 3.2, but it will need
fixes (primarily hardcoding my_netmask) to be of any use. I have read
somewhere that kernel bugs make it inadvisable to try to run this
program on earlier versions of SunOS.

For documentation of the program, see the enclosed man page.


Installation:
-------------

Modify the initial macros in the Makefile to describe your local
environment.

The setting of OS_REV has to be correct. If you run SunOS 3.x, set the
OS_REV macro to 3; if you run SunOS 4.x, set it to 4.

If you have access to a 4.3-style resolver, it is preferred over the
4.2-based (YP or no YP) lookup.  However, all the the 4.3-style
resolver does, is make the program start a little faster. If you have
a 4.3-style resolver, modify the LIBS and INCLUDES macro definitions
to describe how you access it, otherwise delete the definitions
already there.

The DEST, MANDIR and MANEXT describe where the program and documentation
is installed -- see the install target in the Makefile.

Then type 'make' to compile proxyarpd, and 'make install' to install the
program and the man page (the 'install' step will most likely require
super-user priviliges, depending on your setup).  Create your own proxytab
file (see example in proxytab.example), and install it in /etc/proxytab or
whereever you decided to keep it (location may be overridden in the
Makefile).  Then do as stated in the man page; insert startup of proxyarpd
in /etc/rc.local on the system you designate as the proxy arp server.
NOTE: proxyarpd requires root priviliges to open a nit(4p) socket.


Change history:
---------------

From David Robinson, david@elroy.jpl.nasa.gov, Aug 17 1988:

    I just finished porting your proxyarpd code to SunOS 4.0 using the
    streams NIT driver. The changes are pretty much confined to the open
    and write routines where everything is different. In SunOS 4.0 the NIT
    structure changed in MAJOR ways! (They did warn us though!)  NIT now
    uses the new STREAMS modules which in some ways makes the code simpler
    (processing) but in others (open) makes it messier.

    I fixed one other "bug" in which you where passing a u_long to
    inet_ntoa() which will fail on a Sun-4.  I converted all the uses of
    in_addrs to use real structs instead of u_longs.  It doesn't change the
    resulting code much but is cleaner and gets rid of dummy structs to
    pass to inet routines.




"Real" Bugs:
------------

(...As opposed to mis-features.)

Hopefully, none :-)

If you find any, please notify me, that is:

	he@idt.unit.no

Bug fixes and enhancements are welcome. Please submit changes as "diff
-c2" output.


Haavard Eidnes
Division of Computer Systems and Telematics
Norwegian Institute of Technology
N-7034 Trondheim
Norway
