shownodes:
@$(foreach id,$(ALL_NODE_IDS),echo $(id)=$(call display,$(id));)
showhostnames: ++ALL_NODE_HOSTS
+# xxx missing: something that outputs raw python stuff like
+# SEND_IP="10.0.16.1"
+# that would belong in the export to OF
showips:
@$(foreach id,$(ALL_NODE_IDS),echo $(id)=$(call display,$(id)) has ip/network set to $(IP_$(id));)
showlinks:
.PHONY: sshs
showdpids: $(foreach id,$(ALL_NODE_IDS),showdpid-$(id))
.PHONY: showdpids
+showmacs: $(foreach id,$(ALL_NODE_IDS),showmac-$(id))
+.PHONY: showmacs
+showports: $(foreach id,$(ALL_NODE_IDS),showports-$(id))
+.PHONY: showports
DBS=$(foreach id,$(ALL_NODE_IDS),cache/db.$(id))
dbs: $(DBS)
showdpid-%: FORCE
@echo $*_DPID=0x$$( $(SSH) $(HOST_$*) $(SUDO) ovs-vsctl get bridge $(BRIDGE) datapath_id | sed -e 's,",,g')
+showmac-%: FORCE
+ @echo $*_MAC=\"$$( $(SSH) $(HOST_$*) $(SUDO) sliver-ovs show-mac)\"
+
+showports-%: FORCE
+ @$(SSH) $(HOST_$*) $(SUDO) ovs-ofctl show $(BRIDGE) \
+ | perl -nle '/(\d+)\(L(.*?)\Q$(SEP)\E(.*?)\):/ && \
+ print "PORT_".("$$2" eq "$*" ? "$$2_$$3" : "$$3_$$2")."=$$1"'
# should probably replace sshcheck
cache/status.%: FORCE
@echo "=== DB and SWITCH processes on $(call display,$*)"
@[ -n "$(SLIVER_OVS)" ] || { echo "SLIVER_OVS not set" >&2; exit 1; }
@[ -f "$(SLIVER_OVS)" ] || { echo "$(SLIVER_OVS) not found" >&2; exit 1; }
@echo "Sending $(SLIVER_OVS) to $(call display,$*)"
- @scp -q $(SLIVER_OVS) $(SLICE)@$(call solve,$*):
+ @scp $(SSH_KEY_OPTION) -q $(SLIVER_OVS) $(SLICE)@$(call solve,$*):
@$(SSH) $(call solve,$*) $(SUDO) mv $(notdir $(SLIVER_OVS)) /usr/sbin/sliver-ovs
.SECONDEXPANSION: