Merge branch 'master' of https://github.com/OPENNETWORKINGLAB/ONOS
diff --git a/scripts/link.sh b/scripts/link.sh
index d87464b..e1276f1 100755
--- a/scripts/link.sh
+++ b/scripts/link.sh
@@ -1,4 +1,5 @@
 #! /bin/bash
+
 controller=`hostname`
 switches=`ifconfig -a | grep sw |grep -v eth | awk '{print $1}'`
 
@@ -17,24 +18,28 @@
 src_port=$2
 cmd=$3
 
+#sudo ovs-ofctl show sw02.01 | grep addr > link.in
+#cat link.in | awk -v p=$src_port 'BEGIN {pat="^ "p"\("}
+#$0 ~ pat {w=match ($0, /\(.*\)/); if (w) print substr($0, RSTART+1, RLENGTH-2)}'
+#exit
+
 for s in $switches; do
     dpid=`sudo ovs-ofctl  show  $s |grep dpid | awk '{print $4}'`
     if [  "x$dpid" == "x$src_dpid" ]; then
-        intfs=`sudo ovs-ofctl show $s |grep addr | awk '{print $1}' | sed 's/.*(//g' | sed 's/):$//g'`
-	intf_list=()
-	for i in $intfs; do
-	  intf_list+=($i)
-        done
-	intf=${intf_list[$src_port]}
-        if [ x$cmd == "xup" ]; then
-	    echo "sudo ifconfig ${intf}  up"
-	    sudo ifconfig ${intf}  up
-        elif [ x$cmd == "xdown" ]; then
-	    echo "sudo ifconfig ${intf}  down"
-	    sudo ifconfig ${intf}  down
-        else
-	    echo "sudo ifconfig ${intf}"
-	    sudo ifconfig ${intf} 
+        intf=`sudo ovs-ofctl show $s |grep addr | awk -v p=$src_port 'BEGIN {pat="^ "p"\("}
+	$0 ~ pat {w=match ($0, /\(.*\)/); if (w) print substr($0, RSTART+1, RLENGTH-2)}'`
+	if [ x$intf != "x" ]; then
+	        if [ x$cmd == "xup" ]; then
+		    echo "sudo ifconfig ${intf}  up"
+		    sudo ifconfig ${intf}  up
+       		elif [ x$cmd == "xdown" ]; then
+		    echo "sudo ifconfig ${intf}  down"
+		    sudo ifconfig ${intf}  down
+	        else
+		    echo "sudo ifconfig ${intf}"
+		    sudo ifconfig ${intf} 
+		fi
+		break
         fi
     fi
 done