integ/base/cluster-resource-agents/centos/patches/ipaddr2-use-host-scope-for-addresses-on-loopback.patch
Bart Wensley a26414d982 IPaddr2 resource agent fix for loopback interface
The IPaddr2 resource agent currently assigns addresses
to the loopback interface without specifying the scope,
so they default to the global scope. This fails if the
address is not in the loopback address range.

The fix is to always specify "scope host" when assigning
addresses to the loopback interface.

Change-Id: Ib7c08bfc1c661a9fb347308e55cc806b4dd129ad
Story: 2003910
Task: 26796
Signed-off-by: Bart Wensley <barton.wensley@windriver.com>
2018-11-22 15:45:18 -06:00

38 lines
1.3 KiB
Diff

From a39c83dbaf4054cc96cd4a0a2b671509dd10af28 Mon Sep 17 00:00:00 2001
From: Bart Wensley <barton.wensley@windriver.com>
Date: Wed, 21 Nov 2018 12:14:20 -0600
Subject: [PATCH 1/1] ipaddr2 use host scope for addresses on loopback
---
heartbeat/IPaddr2 | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/heartbeat/IPaddr2 b/heartbeat/IPaddr2
index 2da5c5e..79dbdcf 100755
--- a/heartbeat/IPaddr2
+++ b/heartbeat/IPaddr2
@@ -584,10 +584,18 @@ add_interface () {
add_ipv6_addrlabel $ipaddr
fi
- cmd="$IP2UTIL -f $FAMILY addr add $ipaddr/$netmask dev $iface"
+ # Addresses assigned to the loopback interfaces must be assigned
+ # using the host scope or assignment is prevented (can't have
+ # multiple global scope addresses on the loopback interface).
+ if [ "$iface" = "lo" ] ;then
+ option="scope host"
+ else
+ option=""
+ fi
+ cmd="$IP2UTIL -f $FAMILY addr add $ipaddr/$netmask dev $iface $option"
msg="Adding $FAMILY address $ipaddr/$netmask to device $iface"
if [ "$broadcast" != "none" ]; then
- cmd="$IP2UTIL -f $FAMILY addr add $ipaddr/$netmask brd $broadcast dev $iface"
+ cmd="$IP2UTIL -f $FAMILY addr add $ipaddr/$netmask brd $broadcast dev $iface $option"
msg="Adding $FAMILY address $ipaddr/$netmask with broadcast address $broadcast to device $iface"
fi
--
1.8.3.1