aboutsummaryrefslogtreecommitdiffstats
path: root/tools/hotplug
diff options
context:
space:
mode:
authorIan Campbell <ijc@hellion.org.uk>2012-07-25 17:39:15 +0100
committerIan Campbell <ijc@hellion.org.uk>2012-07-25 17:39:15 +0100
commitd64a3a3e6a421ae0746cd4108e11b79e6d1238d4 (patch)
tree73ca8326edf5275fabaaf77a501fa663a99a69e4 /tools/hotplug
parentce69d835796fec395c328081d0c9e017ee6e52f2 (diff)
downloadxen-d64a3a3e6a421ae0746cd4108e11b79e6d1238d4.tar.gz
xen-d64a3a3e6a421ae0746cd4108e11b79e6d1238d4.tar.bz2
xen-d64a3a3e6a421ae0746cd4108e11b79e6d1238d4.zip
hotplug: fix ip_of for systems using a peer-to-peer link
This is from an old Debian bug at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=437127 I'm slightly inferring what the configuration which trigger this issue is, the bug report says: This code however fails if no slash is present in the address, which is the case in my configuration: $ ip addr show dev eth0 2: eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:16:17:90:b4:35 brd ff:ff:ff:ff:ff:ff inet 88.198.12.XXX peer 88.198.12.XXX/32 brd 88.255.255.255 scope global eth0 I hope either Marc or Stefan can correct me if I have surmised wrongly what this configuration represents. This function is used in the vif-route configuration. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'tools/hotplug')
-rw-r--r--tools/hotplug/Linux/vif-common.sh2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/hotplug/Linux/vif-common.sh b/tools/hotplug/Linux/vif-common.sh
index a8bd19a6a3..73ee24150a 100644
--- a/tools/hotplug/Linux/vif-common.sh
+++ b/tools/hotplug/Linux/vif-common.sh
@@ -189,7 +189,7 @@ handle_iptable()
#
ip_of()
{
- ip addr show "$1" | awk "/^.*inet.*$1\$/{print \$2}" | sed -n '1 s,/.*,,p'
+ ip -4 -o addr show primary dev "$1" | awk '$3 == "inet" {split($4,i,"/"); print i[1]; exit}'
}