# Deleting a bridge also deletes all interfaces of the bridge
# as a side effect. This in turn invalidates local tunnel
# port numbers and endpoint info on both sides of each affected tunnel.
-# The corresponding links obviously go down. We invalidate the
-# cache accordingly.
+# The corresponding links obviously go down.
+# Controller information is also lost.
+# We invalidate the cache accordingly.
del-bridge.%: | cache/db.%
@echo "Deleting bridge on $(call display,$*)"
@$(SSH) $(HOST_$*) $(SUDO) sliver-ovs del-bridge $(BRIDGE);
cache/iface.$*$(SEP)*@1 cache/iface.*$(SEP)$*@2 \
cache/port.$*$(SEP)*@1 cache/port.*$(SEP)$*@2 \
cache/endpoint.$*$(SEP)*@? cache/endpoint.*$(SEP)$*@? \
- L/$*$(SEP)* L/*$(SEP)$*
+ L/$*$(SEP)* L/*$(SEP)$* \
+ cache/controller.$*
# del-switch.<node_id>: Stops the switch daemon on <node_id>.
#
# are no longer valid (they will change when the daemon is restarted)
# and, therefore, the endpoint info on the remote side of
# the tunnels must be invalidated. The links also go down.
+# Controller information is also lost.
# We invalidate the cache accordingly.
del-switch.%:
@echo "Shutting down switch on $(call display,$*)"
@rm -f cache/switch.$* \
cache/port.$*$(SEP)*@1 cache/port.*$(SEP)$*@2 \
cache/endpoint.$*$(SEP)*@2 cache/endpoint.*$(SEP)$*@1 \
- L/$*$(SEP)* L/*$(SEP)$*
+ L/$*$(SEP)* L/*$(SEP)$* \
+ cache/controller.$*
# del-db.<node_id>: Stops the db daemon on <node_id>.
#
status.$(1): cache/status.$(1) FORCE
bridge.$(1): cache/bridge.$(1) FORCE
host.$(1): cache/host.$(1) FORCE
+controller.$(1): cache/controller.$(1) FORCE
# switch already depends on db, but well
cache/start.$(1): cache/db.$(1) cache/switch.$(1) FORCE
endef
which was the point with uing make in the first place
so that maximum degree of parallelism can be reached
+**********************************************************
+Note: to get the greatest speedup from make -j you should also enable
+connection reuse in your ssh setup, e.g., by having the following lines
+in your .ssh/config:
+host *
+ ControlMaster auto
+ ControlPath ~/.ssh/ssh_mux_%h_%p_%r
+ ControlPersist 4h
+
+Please note, however, that maximum concurrent per-node reuse is usually
+set to something low (typically 10), and this is a problem if some node
+in your topology has many links. In this case you should raise that limit
+on the slivers, or limit makefile concurrency (e.g., by using make -j10).
+**********************************************************
+
==================== usual target
make [init+all]
shortcut for 'make init all'