
	NEW ARP HANDLING FOR 4.2bsd  (Release of 03/16/84)

The code included here can be inserted into a VAX 4.2bsd system (with a
little work) to greatly improve the flexibility and usability of the
Ethernet Address Resolution Protocol.  (See enclosed manual pages for
more information.)

There is no warranty of merchantability nor any warranty of fitness for
a particular purpose nor any other warranty, either express or implied,
as to the accuracy of the enclosed materials or as to their suitability
for any particular purpose.  Accordingly, Sun Microsystems Inc. assumes
no responsibility for their use by the recipient.  Further, Sun Microsystems
Inc. assumes no obligation to furnish any assistance of any kind whatsoever,
or to furnish any additional information or documentation.

The included files are:

	README			- this file
	arp.4p			- improved ARP manual page
	arp.8c			- manual page for new arp command
	ifconfig.8c		- replacement manual page describing new options
	arp.c			- code for new arp command
	if.c.diffs		- changes to /sys/net/if.c
	if.h.diffs		- changes to /sys/net/if.h
	if_ec.c.diffs		- changes to /sys/vaxif/if_ec.c, as an example
				  of changes necessary to ALL network drivers
	if_ether.c.diffs	- changes to /sys/netinet/if_ether.c
	if_ether.h.diffs	- changes to /sys/netinet/if_ether.h
	ifconfig.c.diffs	- changes to /usr/src/etc/if_config.c
	ioctl.h.diffs		- changes to /sys/h/ioctl.h (and /usr/include/
				  sys/ioctl.h if it isn't a link)
	ether_print		- small routine to be added somewhere, it's in
				  autoconf.c in the Sun system, but if_ether.c
				  may be more appropriate in the VAX system

Overview of changes

	You will have to change all of your network device drivers in order
to put this code into your system.  The changes should be straight-forward
and are necessitated by the following changes to common code.

	1.  Ethernet addresses are now a structure instead of a 6 byte
	    array.  This allows them to be assigned directly instead of
	    having to use bcopy.  Hint - look for "edst" in the driver,
	    all references to it will have to be changed.

	2.  The third address to the driver ioctl routines has changed.
	    See the enclosed modifications of if_ec.c for an example.

	3.  Routine arpmyaddr() is gone.  It always returned zero.
	    Most drivers call it in the attach routine, just remove
	    the line containing the call.

	The *.diffs files are diff -e scripts that can be applied to the
standard files supplied with 4.2bsd.  The diffs apply to the following
versions of these files:

	/*	if.c	6.2	83/09/27	*/
	/*	if.h	6.2	83/08/28	*/
	/*	if_ec.c	6.1	83/07/29	*/
	/*	if_ether.c	6.2	83/08/28	*/
	/*	if_ether.h	6.2	83/09/26	*/
	/*	ioctl.h	6.1	83/07/29	*/
	static char sccsid[] = "@(#)ifconfig.c	4.5 (Berkeley) 11/2/83";

If you've modified any of these files locally you'll have to find the
originals from your 4.2 distribution and apply the diffs to them, then
merge in any local changes.  Apply the diffs using a set of commands
like this:

	chmod +w file
	ed - file <file.diffs

You may want to save the originals before changing them.

	Good luck!

					Bill Shannon
					{ucbvax, decvax}!sun!shannon
					Sun Microsystems, Inc.
