Mailing List Archive

Preliminary Solaris DLPI support in wackamole.
I have beat my head against the DLPI implementation of the ife.h API
used by wackamole. I have learned that DLPI usage is very different
between OSs (as if I expected differently).

The DLPI implementation seems to work on Solaris 8. It currently will
not plumb and unplumb the interface on demand, which is a must in my
opinion. It is unlikely that if you are having wackamole manage a
dedicated interface that you will want to plumb it manually and then
leave the last VIP assigned but in IFF_DOWN.

So, you must make sure the interface you are managing with wackamole is
already plumbed and shows up when running "ifconfig -a". It doesn't
_need_ an IP assigned.

The implementation currently utilizes the SIOCSLIF* ioctl commands
(struct lifreq for adding and removing IP aliases) which are new to
Solaris 8. These ioctl's will automagically assign the logical alias
'x' number (hme0:x).

The implementation of the manual choosing of the logical alias number is
not difficult, it requires combining some code from the ife-sockpacket.c
file and more code in ife-dlpi.c.

Everything else should port well to other DLPI environments, but the
hardware address retrieval looks very very different on DLPI systems
other than Solaris (like Digital UNIX).

Anyway, it looks like it will at least remedially function on Solaris 8
now. Support for older version of Solaris shouldn't be hard -- but I
would need root access to a non-production Solaris box with at least one
unused (unplumbed) interface. I have a rack of Sol8 boxes for
development, but all the "outdated" boxen are in production -- ah, the
irony ;-)

The changes are in CVS as of now (2001-09-23 01:45). Check it out of
CVS or catch the next automated snapshot at midnight (22 hours from how).

--
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