Mailing List Archive

Wackamole and Linux VIPs
Fellow wackamole users,

I experienced a fairly strangle problem with wackamole on Linux. It
appears that the ife-sockpacket code the up and down virtual interfaces
has undesirable side-effects. If I ifup 3 virtual interfaces on eth0:1
eth0:2 and eth0:3 and then attempt to ifdown the IP on eth0:1, the VIPs
on eth0:2 and eth0:3 mysteriously "disappear" -- no errors, no
notifications, just gone.

After writing the code for Solaris and BSDs to bring up and down
interfaces, it is my opinion that Linux is truly lacking here. Now, I
know there is a way to do it (as I can induce the desired behvaour out
of /sbin/ifconfig), so I am looking into rewriting the sockpacket code
to "do the Linux thing".

So, if you notice IPs dropping unexpectedly after a state change on
Linux, it is most likely caused by this. If an Linux networking gurus
know what I am doing wrong here, please drop me a note. There is a
standalone target called "ife" that cleanly wraps the ife-sockpacket.c
provided functions on Linux -- so it is easy to test:

./ife -a eth0 10.0.0.10 10.0.0.255 255.255.255.0
(adds eth0:n)
./ife -a eth0 10.0.0.11 10.0.0.255 255.255.255.0
(adds eth0:n+1)
./ife -a eth0 10.0.0.12 10.0.0.255 255.255.255.0
(adds eth0:n+2)
./ife -d 10.0.0.10
(says it removes only eth0:n, and only calls ioctls on _that_ interface,
but myseriously, all is lost)

--
Theo Schlossnagle
1024D/82844984/95FD 30F1 489E 4613 F22E 491A 7E88 364C 8284 4984
2047R/33131B65/71 F7 95 64 49 76 5D BA 3D 90 B9 9F BE 27 24 E7
Wackamole and Linux VIPs [ In reply to ]
Theo Schlossnagle wrote:

> Fellow wackamole users,
>
> I experienced a fairly strangle problem with wackamole on Linux. It
> appears that the ife-sockpacket code the up and down virtual
> interfaces has undesirable side-effects. If I ifup 3 virtual
> interfaces on eth0:1 eth0:2 and eth0:3 and then attempt to ifdown the
> IP on eth0:1, the VIPs on eth0:2 and eth0:3 mysteriously "disappear"
> -- no errors, no notifications, just gone.

I think I wrote in with what may be a false alarm. I can consistently
replicate this on one redhat 7.2 box running 2.4.18. However, I could
not replicate the error on 2.4.14 nor was I able to replicate the error
on a 2.4.18 fresh install I just did. There must be something quirky or
simply broken with the kernel on this box. As I don't have kernel
sources on the misbehaving machine, I can't tell how it was compiled or
patched.

So, I am ready to chalk this error up to "it's broken because I didn't
build it" :-D

--
Theo Schlossnagle
1024D/82844984/95FD 30F1 489E 4613 F22E 491A 7E88 364C 8284 4984
2047R/33131B65/71 F7 95 64 49 76 5D BA 3D 90 B9 9F BE 27 24 E7