del-switch.%: del-bridge.%
@echo "Shutting down switch on $(call display,$*)"
@if [ -f cache/switch.$* ]; then \
- $(SSH) $(HOST_$*) $(SUDO) ovs-appctl exit;\
+ $(SSH) $(HOST_$*) $(SUDO) sliver-ovs stop-switch
fi
@rm -f cache/switch.$*
del-db.%:
@echo "Shutting down db on $(call display,$*)"
@if [ -f cache/db.$* ]; then \
- $(SSH) $(HOST_$*) $(SUDO) ovs-appctl --target=$(VARRUN)/ovsdb-server.$$(cat cache/db.$*).ctl exit;\
+ $(SSH) $(HOST_$*) $(SUDO) sliver-ovs stop-db
fi
@rm -f cache/db.$*
cache/link.%: cache/host.$$(call rget,$$*) cache/iface.% cache/iface.$$(call opp,$$*)
@echo "Setting port number of link $(call proj1,$*) on $(call get,$*)"
@$(SSH) $(HOST_$(call get,$*)) \
- $(SUDO) ovs-vsctl set interface L$(call proj1,$*) \
- options:remote_ip=$$(cat cache/host.$(call rget,$*)) \
- options:remote_port=$$(cat cache/iface.$(call opp,$*)) \
+ $(SUDO) sliver-ovs set-remote-endpoint L$(call proj1,$*) \
+ $$(cat cache/host.$(call rget,$*)) \
+ $$(cat cache/iface.$(call opp,$*)) \
&& touch $@
####################
function create_port () {
+ [[ -z "$@" ]] || error "$COMMAND create-port <bridge> <port>"
bridge=$1; shift
[[ -z "$@" ]] || error "$COMMAND create-port <bridge> <port>"
port=$1; shift
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 () {
####################
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> ...