This is just a start! Please send updates and comments to: Steinar Haug <>

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, or for instance if you need several IP address for virtual Web hosting. Further information about using vif for virtual Web hosting can be found at

You can download the code from There are mirrors at, and

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, sun4c
  HP-UX 9.05		HP 700
Other have reported success on

  HP-UX 9.x	HP 300	      Mike Ferrara <>
  HP-UX 9.x	HP 800	      John Sullivan <>
  Ultrix	DECstation    Phil Brandenberger <>
For a slightly different Ultrix version, courtesy of John Hascall, check

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 configured a new Unix kernel. Root privileges are (obviously) needed for installation.

If you have problems getting vif to work, please read the FAQ!

I expect vif should be portable to other operating systems with BSD based networking code. However, most newer systems with BSD based networking code (e.g. all systems based on 4.4 BSD) already support multiple IP addresses per interface.

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 operating systems etc.

Notes on multiple IP address support in other operating systems and versions: