reflect func.sh file location changes
diff --git a/cluster-mgmt/bin/func.sh b/cluster-mgmt/bin/func.sh
index e7d976d..ffd167f 100755
--- a/cluster-mgmt/bin/func.sh
+++ b/cluster-mgmt/bin/func.sh
@@ -93,13 +93,23 @@
 onos () {
   case "$1" in
     start)
-      echo "Starting ONOS"
-      dsh -g ${basename} "cd $ONOS_DIR; ./start-onos.sh start"
-      dsh -w ${basename}1 "cd $ONOS_DIR; ./start-rest.sh start"
+      if [ x$2 == "x" -o x$2 == "xall" ]; then
+        echo "Starting ONOS on all nodes"
+        dsh -g ${basename} "cd $ONOS_DIR; ./start-onos.sh start"
+        dsh -w ${basename}1 "cd $ONOS_DIR; ./start-rest.sh start"
+      else
+        echo "Starting ONOS on ${basename}$2"
+        dsh -w ${basename}$2 "cd $ONOS_DIR; ./start-onos.sh start"
+      fi
       ;;
     stop)
-      echo "Stop ONOS"
-      dsh -g ${basename} "cd $ONOS_DIR; ./start-onos.sh stop"
+      if [ x$2 == "x" -o x$2 == "xall" ]; then
+        echo "Stop ONOS on all nodes"
+        dsh -g ${basename} "cd $ONOS_DIR; ./start-onos.sh stop"
+      else
+        echo "Stop ONOS on ${basename}$2"
+        dsh -w ${basename}$2 "cd $ONOS_DIR; ./start-onos.sh stop"
+      fi
       ;;
     status)
       echo "Checking ONOS Status"
@@ -107,3 +117,31 @@
       ;;
   esac
 }
+switch () {
+  case "$1" in
+    local)
+      if [ x$2 == "x" -o x$2 == "xall" ]; then
+        echo "set all switches point to local controller"
+        dsh -g ${basename} "$ONOS_DIR/scripts/ctrl-local.sh"
+      else
+        dsh -w ${basename}$2 "$ONOS_DIR/scripts/ctrl-local.sh"
+      fi
+      ;;
+    all)
+      if [ x$2 == "x" -o x$2 == "xall" ]; then
+        echo "set all non-core switches point to all non-core controllers"
+        dsh -g ${basename} -x ${basename}1  "$ONOS_DIR/scripts/ctrl-ext.sh"
+      else
+        dsh -w ${basename}$2 "$ONOS_DIR/scripts/ctrl-ext.sh"
+      fi
+      ;;
+    none)
+      if [ x$2 == "x" -o x$2 == "xall" ]; then
+        echo "all non-core switches loose controller"
+        dsh -g ${basename} -x ${basename}1 "$ONOS_DIR/scripts/ctrl-none.sh"
+      else
+        dsh -w ${basename}$2 "$ONOS_DIR/scripts/ctrl-none.sh"
+      fi
+      ;;
+  esac
+}
diff --git a/cluster-mgmt/bin/start.sh b/cluster-mgmt/bin/start.sh
index bd65df7..dac6bb1 100755
--- a/cluster-mgmt/bin/start.sh
+++ b/cluster-mgmt/bin/start.sh
@@ -1,5 +1,5 @@
 #! /bin/bash
-. $HOME/cluster-mgmt/func.sh
+. $HOME/bin/func.sh
 
 onos stop
 cassandra cleandb
diff --git a/cluster-mgmt/bin/status.sh b/cluster-mgmt/bin/status.sh
index 880bf10..d9a3ca2 100755
--- a/cluster-mgmt/bin/status.sh
+++ b/cluster-mgmt/bin/status.sh
@@ -1,8 +1,5 @@
 #! /bin/bash
-. $HOME/cluster-mgmt/func.sh
-
-basename="onosdevb"
-nr_nodes=4
+. $HOME/bin/func.sh
 
 onos status
 cassandra status
diff --git a/cluster-mgmt/bin/stop.sh b/cluster-mgmt/bin/stop.sh
index a8f64ca..c76266a 100755
--- a/cluster-mgmt/bin/stop.sh
+++ b/cluster-mgmt/bin/stop.sh
@@ -1,8 +1,5 @@
 #! /bin/bash
-. $HOME/cluster-mgmt/func.sh
-
-basename="onosdevc"
-nr_nodes=4
+. $HOME/bin/func.sh
 
 onos stop
 cassandra cleandb