add set-remote-endpoint action to sliver-ovs
[sliver-openvswitch.git] / planetlab / scripts / sliver-ovs
index 44ad3f9..5b888bd 100755 (executable)
@@ -188,6 +188,7 @@ EOF
 
 function create_port () {
 
+    [[ -z "$@" ]] || error "$COMMAND create-port <bridge> <port>"
     bridge=$1; shift
     [[ -z "$@" ]] || error "$COMMAND create-port <bridge> <port>"
     port=$1; shift
@@ -204,6 +205,26 @@ function create_port () {
     return 0
 }
 
+function set_remote_endpoint () {
+
+    [[ -z "$@" ]] || error "$COMMAND set-remote-endpoint <local_port> <remote_ip> <remote_UDP_port>"
+    port=$1; shift
+    [[ -z "$@" ]] || error "$COMMAND set-remote-endpoint <local_port> <remote_ip> <remote_UDP_port>"
+    remote_ip=$1; shift
+    [[ -z "$@" ]] || error "$COMMAND set-remote-endpoint <local_port> <remote_ip> <remote_UDP_port>"
+    remote_port=$1; shift
+    [[ -n "$@" ]] || error "$COMMAND set-remote-endpoint <local_port> <remote_ip> <remote_UDP_port>"
+
+    # ensure ovs-vswitchd is running
+    is_switch_running || { echo "ovs-vswitchd not running" >&2 ; exit 1 ; }
+
+    set -e
+    ovs-vsctl --db=unix:$DB_SOCKET set interface "$port" \
+        options:remote_ip=$remote_ip \
+       options:remote_port=$remote_port
+    return 0
+}
+
 #################### del functions
 function del_bridge () {
     
@@ -248,7 +269,8 @@ function del_port () {
 ####################
 SUPPORTED_SUBCOMMANDS="start stop status 
 start_db stop_db start_switch stop_switch
-create_bridge create_port del_bridge del_port"
+create_bridge create_port del_bridge del_port
+set-remote-endpoint"
 
 function main () {
        message="Usage: $COMMAND <subcommand> ...