--- heartbeat/IPaddr2 | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) --- a/heartbeat/IPaddr2 +++ b/heartbeat/IPaddr2 @@ -661,7 +661,12 @@ ip_start() { local ip_status=`ip_served` if [ "$ip_status" = "ok" ]; then - exit $OCF_SUCCESS + if [ -n "`ip link show $NIC | grep \"state UP\"`" ] + then + exit $OCF_SUCCESS + else + exit $OCF_ERR_GENERIC + fi fi if [ -n "$IP_CIP" ] && [ $ip_status = "no" ] || [ $ip_status = "partial2" ]; then @@ -714,7 +719,12 @@ ip_start() { fi ;; esac - exit $OCF_SUCCESS + if [ -n "`ip link show $NIC | grep \"state UP\"`" ] + then + exit $OCF_SUCCESS + else + exit $OCF_ERR_GENERIC + fi } ip_stop() { @@ -788,7 +798,12 @@ ip_monitor() { local ip_status=`ip_served` case $ip_status in ok) - return $OCF_SUCCESS + if [ -n "`ip link show $NIC | grep \"state UP\"`" ] + then + return $OCF_SUCCESS + else + return $OCF_NOT_RUNNING + fi ;; partial|no|partial2) exit $OCF_NOT_RUNNING