--- a/bin/pvl.hosts-graph Mon Mar 31 18:44:26 2014 +0300
+++ b/bin/pvl.hosts-graph Mon Mar 31 19:15:44 2014 +0300
@@ -237,15 +237,18 @@
log.info("%s:%s: guessing lldp host %s -> %s (%s)", host, port, remote_lldp, remote_host, remote_label)
- else :
+ elif options.graph_lldp_unknown :
log.warning("%s:%s: unknown lldp remote %s (%s)", host, port, remote_lldp, remote_label)
- if options.graph_lldp_unknown :
- # by chassis id
- remote_node = remote_lldp
- remote_host = None
- else :
- remote_node = remote_host = None
+ # by chassis id
+ remote_node = remote_lldp
+ remote_host = None
+
+ else :
+ log.info("%s:%s: unknown lldp remote %s (%s)", host, port, remote_lldp, remote_label)
+
+ remote_node = remote_host = None
+
if not remote_node :
continue
@@ -467,17 +470,25 @@
remote_label = remote_host.location or str(remote_host)
log.debug("%s:%s/%s bridge %s = %s (%s)", host, port, vlan, ethernet, remote_host, remote_label)
- else :
- remote_node = remote_host = None
- log.debug("%s:%s/%s bridge %s ?", host, port, vlan, ethernet)
-
- if not remote_host :
+ elif options.graph_bridge_unknown :
+ log.warning("%s:%s/%s bridge unknown host %s", host, port, vlan, ethernet)
+
+ remote_label = remote_node = ethernet
+
+ nodes[remote_node] = remote_label
+
+ remote_host = None
+
+ else :
+ log.info("%s:%s/%s bridge unknown host %s", host, port, vlan, ethernet)
+
continue
# TODO: also handled multiple IP/ethers for the same host
- elif remote_host == host and local_node != host :
+ if remote_host == host and local_node != host :
log.debug("%s:%s: skip remote-mapped self", host, port)
+ continue
if remote_node not in nodes :
log.debug("%s:%s: lazy-add remote %s (%s)", host, port, remote_node, remote_label)
@@ -502,7 +513,7 @@
if remote_port :
reverse = (remote_node, remote_port, None, local_node)
- log.info("%s:%s bridge <-> %s:%s", local_node, local_port, remote_port, remote_host)
+ log.info("%s:%s bridge <-> %s:%s", local_node, local_port, remote_port, remote_node)
# fill in remote_port for bidirectional link
del links[reverse]
@@ -510,7 +521,7 @@
links[reverse] = link_vlans
else :
- log.info("%s:%s bridge -> %s", local_node, local_port, remote_host)
+ log.info("%s:%s bridge -> %s", local_node, local_port, remote_node)
links[forward] = link_vlans
@@ -680,6 +691,9 @@
parser.add_option('--graph-bridge', action='store_true',
help="Graph bridge forwarding database links")
+ parser.add_option('--graph-bridge-unknown', action='store_true',
+ help="Graph unknown bridge forwarding databse hosts")
+
parser.add_option('--graph-dot', metavar='FILE',
help="Output .dot graph data to file")