diff options
author | Ian Campbell <ijc@hellion.org.uk> | 2012-07-25 17:39:15 +0100 |
---|---|---|
committer | Ian Campbell <ijc@hellion.org.uk> | 2012-07-25 17:39:15 +0100 |
commit | d64a3a3e6a421ae0746cd4108e11b79e6d1238d4 (patch) | |
tree | 73ca8326edf5275fabaaf77a501fa663a99a69e4 /tools/hotplug | |
parent | ce69d835796fec395c328081d0c9e017ee6e52f2 (diff) | |
download | xen-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.sh | 2 |
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}' } |