From 3ae5f5cea15c8198141308d0fc8443853c45faf4 Mon Sep 17 00:00:00 2001 From: Ferenc Antal <antalf@ulx.hu> Date: Fri, 13 Nov 2009 15:09:51 -0500 Subject: [PATCH] resource-agents: Make ip.sh deal with ip address collision Resolves: rhbz#526647 Part 1/2 Signed-off-by: Lon Hohberger <lhh@redhat.com> --- rgmanager/src/resources/ip.sh | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-) diff --git a/rgmanager/src/resources/ip.sh b/rgmanager/src/resources/ip.sh index e9779a2..9511884 100755 --- a/rgmanager/src/resources/ip.sh +++ b/rgmanager/src/resources/ip.sh @@ -585,6 +585,13 @@ ipv6() ocf_log info "Removing IPv6 address $addr from $dev" fi + if [ "$1" = "add" ]; then + ocf_log notice "Pinging addr ${addr%%/*} from dev $dev" + if ping_check inet6 ${addr%%/*} $dev; then + ocf_log err "IPv6 address collision ${addr%%/*}" + return 1 + fi + fi /sbin/ip -f inet6 addr $1 dev $dev $addr [ $? -ne 0 ] && return 1 @@ -657,6 +664,13 @@ ipv4() ocf_log info "Removing IPv4 address $addr from $dev" fi + if [ "$1" = "add" ]; then + ocf_log notice "Pinging addr ${addr%%/*} from dev $dev" + if ping_check inet ${addr%%/*} $dev; then + ocf_log err "IPv4 address collision ${addr%%/*}" + return 1 + fi + fi /sbin/ip -f inet addr $1 dev $dev $addr [ $? -ne 0 ] && return 1 -- 1.6.2.5