blob: e1276f1b8a44e614c80ab081861d383eb20e0c60 [file] [log] [blame]
Masayoshi Kobayashi809880d2013-03-27 04:16:01 +00001#! /bin/bash
Umesh Krishnaswamyf8a2f4d2013-03-27 21:58:20 -07002
Masayoshi Kobayashi809880d2013-03-27 04:16:01 +00003controller=`hostname`
4switches=`ifconfig -a | grep sw |grep -v eth | awk '{print $1}'`
5
6function host2ip (){
7 ip=`grep $1 /etc/hosts |grep -v "ip6"| awk '{print $1}'`
8 echo $ip
9}
10
11# link.sh 00:00:00:00:ba:5e:ba:11 1 up
12
13if [ $# != 3 ];then
14 echo "usage: $0 <dpid> <port> <up|down>"
15fi
16
17src_dpid="dpid:"`echo $1 | sed s'/://g'`
18src_port=$2
19cmd=$3
20
Umesh Krishnaswamyf8a2f4d2013-03-27 21:58:20 -070021#sudo ovs-ofctl show sw02.01 | grep addr > link.in
22#cat link.in | awk -v p=$src_port 'BEGIN {pat="^ "p"\("}
23#$0 ~ pat {w=match ($0, /\(.*\)/); if (w) print substr($0, RSTART+1, RLENGTH-2)}'
24#exit
25
Masayoshi Kobayashi809880d2013-03-27 04:16:01 +000026for s in $switches; do
27 dpid=`sudo ovs-ofctl show $s |grep dpid | awk '{print $4}'`
28 if [ "x$dpid" == "x$src_dpid" ]; then
Umesh Krishnaswamyf8a2f4d2013-03-27 21:58:20 -070029 intf=`sudo ovs-ofctl show $s |grep addr | awk -v p=$src_port 'BEGIN {pat="^ "p"\("}
30 $0 ~ pat {w=match ($0, /\(.*\)/); if (w) print substr($0, RSTART+1, RLENGTH-2)}'`
31 if [ x$intf != "x" ]; then
32 if [ x$cmd == "xup" ]; then
33 echo "sudo ifconfig ${intf} up"
34 sudo ifconfig ${intf} up
35 elif [ x$cmd == "xdown" ]; then
36 echo "sudo ifconfig ${intf} down"
37 sudo ifconfig ${intf} down
38 else
39 echo "sudo ifconfig ${intf}"
40 sudo ifconfig ${intf}
41 fi
42 break
Masayoshi Kobayashi809880d2013-03-27 04:16:01 +000043 fi
44 fi
45done