# HG changeset patch # User Tero Marttila # Date 1396282544 -10800 # Node ID 75bbfb05fbf35e4e259cdf5ea36c0fab96a2f812 # Parent fb0fd4ac0168410f7f037e7fe613b33a93d76631 pvl.hosts-graph: --graph-brige-unknown and fixup --graph-lldp-unknown logging diff -r fb0fd4ac0168 -r 75bbfb05fbf3 bin/pvl.hosts-graph --- 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")