# 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