Interfaces do not failover

Would anyone know why a V440 Solaris 9 machine's interfaces (ce0 and ce1)
will not failover?

Both interfaces are on the same subnet, but different IPs. I can pull the plug on once interface (ce0) and ce1 will be accessible. I can reverse it and pull ce1, and ce0 will NOT be accessible. This behavior is consistent on all 10 machines, however, its not always the same interface that is the failover-friendly one.

Thanks for any assistance.

could you post your IPMP configuration and an ifconfig output so we could see if your settings are ok

gP

[gamwsm02]:#ifconfig -a
lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
ce0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet xxx.xxx.xxx.xxx netmask ffffff00 broadcast xxx.xxx.xxx.xxx
ether 0:3:ba:c3:54:d1
ce1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
inet xxx.xxx.xxx.xxxnetmask ffffff00 broadcast xxx.xxx.xxx.xxx
ether 0:3:ba:c3:54:d2
________________________________________________________________

#pragma ident "@(#)mpathd.dfl 1.2 00/07/17 SMI"
#
# Time taken by mpathd to detect a NIC failure in ms. The minimum time
# that can be specified is 100 ms.
#
FAILURE_DETECTION_TIME=10000
#
# Failback is enabled by default. To disable failback turn off this option
#
FAILBACK=yes
#
# By default only interfaces configured as part of multipathing groups
# are tracked. Turn off this option to track all network interfaces
# on the system
#
TRACK_INTERFACES_ONLY_WITH_GROUPS=yes

well:
TRACK_INTERFACES_ONLY_WITH_GROUPS=yes
you don't have groups definitions you will have to say there no or make groups
to be honest, i've never tried it with the global setting, am always using the IPMP groups for failover interfaces, because you have the outbound multipathing feature if you work with groups.
try it my way (by the way it's also the recommended sun way :wink: )
you have to turn the global setting off

cat /etc/hosts
192.168.133.10 hostip1 
192.168.133.11 hostip2
192.168.133.12 dummy1
192.168.133.13 dummy2

# ifconfig ce0 dummy1 netmask + broadcast + group PRESSY deprecated -failover up addif hostip1 netmask + broadcast + up
# ifconfig ce1 dummy2 netmask + broadcast + group PRESSY deprecated -failover up addif hostip2 netmask + broadcast + up

my ifconfig:

root@venus # ifconfig -a
lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
hme0: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 2
        inet 192.168.133.22 netmask ffffff00 broadcast 192.168.133.255
        groupname production
        ether 8:0:20:c2:d2:da
hme0:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 192.168.133.20 netmask ffffff00 broadcast 192.168.133.255
hme1: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 3
        inet 192.168.133.23 netmask ffffff00 broadcast 192.168.133.255
        groupname production
        ether 8:0:20:c2:d2:db
hme1:1: flags=1000842<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
        inet 192.168.133.21 netmask ffffff00 broadcast 192.168.133.255
root@venus #

you will have to use a 100% available gateway, because the IPMP uses the gateway to test the connection. if you don't have a "good" router choose about 4 other hosts and make hostsroutes. if more then the half fail the IPMP groups will go down!
# /usr/sbin/route add -host IP IP

examples:

1:1 ifconfig command into your /etc/hostname.*

# more /etc/hostname.*
### hostname.ce0 ###
dummy1 netmask + broadcast + group PRESSY deprecated -failover up addif hostip1 netmask + broadcast + up
################
### hostname.ce1 ###
dummy2 netmask + broadcast + group PRESSY deprecated -failover up addif hostip2 netmask + broadcast + up
################

i wrote a start script for the route purpose:

# cat /etc/rc2.d/S70ipmp.start
#!/sbin/sh
# small start script by pressy to provide more testtargets than the
# firewall for ipmp.
#

FRAG="192.168.133.52 192.168.133.53 192.168.133.35 192.168.133.34"

case "$1" in
        'start')
                /usr/bin/echo "adding FRAG targets for IPMP"
                for target in $FRAG;
                do
                        /usr/sbin/route add -host $target $target
                done
        ;;

        'stop')
                /usr/bin/echo "removing FRAG targets for IPMP"
                for target in $FRAG;
                do
                        /usr/sbin/route delete -host $target $target
                done
        ;;
esac

to test your configuration use the command
/usr/sbin/if_mpadm -d ce0
to detach the interface then you should see in your messagefile the failover
use /usr/sbin/if_mpadm -r ce0 to reattach the interface again

you will see it works :wink:
greetings PRESSY

Thanks Pressy. I found out that this behavior is a solaris
default. Multipathing software would be needed to allow
failover of both interfaces.

the IPMP feature is provided by solaris oe (think since sunos 5.8 it is included), you don't need an additional software. with the configuration i have posted before both interfaces, both IP addresses (hostip1 & hostip2) could do a failover...
gP