reduce dependency on a running switch daemon
[sliver-openvswitch.git] / planetlab / exp-tool / Makefile
index bda2b09..f8ed90d 100644 (file)
@@ -260,6 +260,7 @@ cache/rsnap.links.%:
 .SECONDEXPANSION:
 
 del-iface.%: 
+del-iface.%: | cache/db.$$(call get,%)
        @echo "Removing interface for link $(call linkpart,$*) from $(call get,$*)"
        @$(SSH) $(HOST_$(call get,$*)) \
                $(SUDO) sliver-ovs del-port L$(call linkpart,$*)
@@ -271,7 +272,7 @@ del-iface.%:
 #linkid=$(call linkpart,%)
 #nodeid=$(call get,%)
 #bridgefile=cache/bridge.$(nodeid)
-cache/iface.%: cache/bridge.$$(call get,%) | cache/switch.$$(call get,%)
+cache/iface.%: cache/bridge.$$(call get,%) | cache/db.$$(call get,%)
        @echo "Creating interface for link $(call linkpart,$(*F)) on $(call display,$(call get,$(*F))) - logs in $(call log,$@)"
        @$(SSH) $(call solve,$(call get,$(*F))) $(SUDO) sliver-ovs create-port $(BRIDGE) \
                L$(call linkpart,$(*F)) &> $(call log,$@) \
@@ -308,6 +309,23 @@ graph.dot:
 graph.ps: graph.dot
        dot -Tps < $^ > $@      
 
+####################
+# googlemap stuff
+# Uses:
+# GMAP_SERVER, the hostname that runs an ndnmap instance
+# GMAP_PROBES, a list of tuples of the form
+# <linkid>=<nodeid>=<internal_linkid>=<frequency>
+# e.g.
+# SENDER-MUX=SENDER=3=0.5
+# which would mean, the link 'SENDER-MUX' should be monitored at the 'SENDER' node and is coded 
+# in links.json with id=3, every half second
+# sliver-ovs gmap-probe is designed to run in background,
+# and so that a new run will kill any previously running instance
+gprobes: $(foreach probe,$(GMAP_PROBES),gprobe-$(probe))
+
+gprobe-%: FORCE
+       $(SSH) -n $(call solve,$(word 2,$(subst @, ,$(*F)))) $(SUDO) \
+       sliver-ovs gmap-probe L$(word 1,$(subst @, ,$(*F))) $(GMAP_SERVER) $(word 3,$(subst @, ,$(*F))) $(word 4,$(subst @, ,$(*F)))
 
 ####################
 # 'virtual' targets in that there's no real file attached