[Linux-cluster] lack of IP collision check in ip.sh
Charlie Brady
charlieb-linux-cluster at budge.apana.org.au
Thu Oct 15 15:00:21 UTC 2009
On Thu, 15 Oct 2009, Antal Ferenc wrote:
> /usr/share/cluster/ip.sh in rgmanager-2.0.46-1.el5 does not check
> presence of the IP address on the network before it brings up the IP
> address. There is a possibility when IP address remains up on nodeA and
> IP resource sets the same IP address on nodeB during a failover causing
> IP collision on the network.
>
> I opened a bugzilla case about it with 526647 bugID.
nodeB should have fenced nodeA in this situation IIUC.
> I would like to know opinions about this. Have you experienced problems
> regarding this?
>
> Does it worth to fix it?
>
> I am thinking about this change in it:
>
> --- /usr/share/cluster/ip.sh.orig 2009-06-11 20:44:31.000000000 +0000
> +++ /usr/share/cluster/ip.sh 2009-10-15 10:34:39.000000000 +0000
> @@ -652,6 +652,13 @@
> 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
>
> @@ -722,6 +729,13 @@
> 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
>
>
>
> Thanks in advance, Ferenc
>
> --
> Linux-cluster mailing list
> Linux-cluster at redhat.com
> https://www.redhat.com/mailman/listinfo/linux-cluster
>
More information about the Linux-cluster
mailing list