This code lets you have multiple IP addresses for a single interface.  It
is useful in those situations where you have multiple logical nets on the
same physical network segment.

The code was originally written by John Ioannidis. I have included part of
his original message in the README.ji file. Note that with my version of
the code, the extraneous network route mentioned by John Ioannidis does
*not* appear, and therefore does not need to be deleted.

I have cleaned up the code a little, ported it to HP-UX 9.05, and made it
modloadable (and unloadable) on SunOS 4.1.3/4.1.4. Please note that I have
tested the code myself only on the following hardware/OS combinations:

	SunOS 4.1.3	sun4c
	SunOS 4.1.3_U1	sun4m
	SunOS 4.1.4	sun4m
	HP-UX 9.05	HP 700

Other have reported success on

	HP-UX 9.x	HP 300		Mike Ferrara <mikef@sr.hp.com>
	Ultrix		DECstation	Phil Brandenberger <phil@wharton.upenn.edu>

Note that using this code is entirely unsupported, and you are very much
on your own if it crashes your machine! It is not recommended for people
who have never made a new Unix kernel. Root privileges are (obviously)
needed for installation.

I expect it should be portable to other operating systems with BSD based
networking code.

HP gotcha #1: The code will almost certainly not work on interfaces using
checksum offload (eg. FDDI).

HP gotcha #2: You won't be able to add a published ARP entry after the
virtual interface has been ifconfig'ed. But you can do it *before* the
ifconfig.

WARNING: Do *not* use vif on a host which runs RIP. RIP is *not* prepared
to handle several interfaces with the same Ethernet address.

I would be happy to receive feedback on this code, ports to other OSs etc.

Notes for other operating systems and versions:

1. Solaris 2.x: You don't need vif, since the operating system already has
the necessary functionality. Note that it is *not* supported by Sun, and not
mentioned in the man pages. Here is the description from Casper Dik's FAQ
for Solaris 2, URL:

	http://www.fwi.uva.nl/pub/solaris/solaris2.html

4.11) How can I have multiple addresses per interface?
 
    Solaris 2.x provides an undocumented feature in ifconfig that
    allows having more than one IP address per interfaces.
 
    Syntax:
 
	ifconfig IF:N ip-address up
 
    where "IF" is an interface (e.g., le0) and N is a number between 1 and
    255.  Removing the pseudo interface and associated address is done
    with "ifconfig IF:N 0.0.0.0 down".

2. HP-UX 10.x: You don't need vif, since the operating system already has
the necessary support for multiple IP addresses per interface. If you want
a solution supported by HP, you need to buy the ServiceGuard product. If
you just want the functionality, a small program from Julian Perry
<jules@limitless.co.uk> will do the job. Included in the vif distribution
as ifalias_hpux10.c. The original is at the following URL:

	http://www.limitless.co.uk/hp_ifalias.html

950731/Steinar Haug <steinar.haug@runit.sintef.no>
