![Bart Wensley](/assets/img/avatar_default.png)
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>
38 lines
1.3 KiB
Diff
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
|
|
|