[Pkg-xen-devel] Bug#437127: [PATCH] hotplug: fix ip_of for systems using peer-to-peer link

Ian Campbell ijc at hellion.org.uk
Mon Jul 9 23:14:53 UTC 2012


# HG changeset patch
# User Ian Campbell <ian.campbell at citrix.com>
# Date 1341875694 -3600
# Node ID 1d33f934dd675a1b91d2d4e0fa2d2a873a8debf5
# Parent  54384951de02e2db909116d64aa6a65d06ffa708
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 at citrix.com>

diff -r 54384951de02 -r 1d33f934dd67 tools/hotplug/Linux/vif-common.sh
--- a/tools/hotplug/Linux/vif-common.sh	Tue Jul 10 00:07:20 2012 +0100
+++ b/tools/hotplug/Linux/vif-common.sh	Tue Jul 10 00:14:54 2012 +0100
@@ -175,7 +175,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 eth0 | awk '$3 == "inet" {split($4,i,"/"); print i[1]; exit}'
 }
 
 







More information about the Pkg-xen-devel mailing list