[1228] in linux-net channel archive
ipaliasing development status ...
daemon@ATHENA.MIT.EDU (Juan Jose Ciarlante)
Fri Oct 20 09:00:50 1995
Date: Thu, 19 Oct 1995 12:12:44 +0400 (MDZ)
From: Juan Jose Ciarlante <jjciarla@raiz.uncu.edu.ar>
To: Linux Net <linux-net@vger.rutgers.edu>
cc: Craig Schlenter <schz@kidd.co.za>
Hi linuxers!
By now, I've developed ipaliasing support based on Rob. Sanders work. I've
made patches for 1.3.32 (known to patch also 1.3.34) and 1.2.13 kernels.
Here is a description of functionality:
* Coolness:
o <n> ip aliases per interface (full ARP when applicable)
o /proc/net/ip_alias entry
o INPUT broadcast support
o It works :)
* But ...:
o You need to recompile ifconfig (with the patch I provide) so
that it implements the 2 additional ioctl() calls,
SIOCAIFADDR & SIOCDIFADDR.
o Now new "interface names" are created for the new addresses, so
other networking software cannot "see" the aliases via SIOCGIFCONF
ioctl call. So, networking soft "ignores" the new addresses.
o I have NO DNS entry :< .
If you want the patches, ftp to 200.9.147.228 ,in the directory
/pub/linux/ip_alias you'll find the following files:
README.ipalias.gz
patch-linux-1.3.32.gz Patch for linux 1.3.32 kernel (1.3.3[2-x])
patch-linux-1.2.13.gz Patch for linux 1.2.13 kernel
patch-ifconfig.gz Patch for ifconfig.c
ipalias.tar.gz All the stuff
I you have any trouble, let me know and I'll mail you them.
NEW Flavor (under development)
==============================
After some "feedback" (thanks, Alan) I completely redesigned
(*NOT* reprogrammed yet) the application interface and funcionality.
* Here is a summary:
o Solved the "interface name" problem, for each alias a "new"
name is created. For example, to add an alias:
ifconfig eth0:0 <addr>
To configure it ...
ifconfig eth0:0 netmask <netm> broadcast <brdaddr>
The kernel recognises the ':' and automagically creates/mods the alias.
o As you can see, NO new ioctls (SIOC[AD]IFADDR) needed.
o User space "transparent" interfaces (for ex., eth0:0 eth0:1, etc), so:
o No need to recompile *any* net soft (not even ifconfig). All the
"aliasing request" detection resides in kernel.
* Mayor implementation changes:
o written from scratch (!).
o dinamically allocated array instead of linked list to hold aliases.
o kernel's dev_ifxxxx() hacked.
Thanks for the bandwith.
Juanjo
<jjciarla@raiz.uncu.edu.ar>