Index: tools/make-network-graph.py
===================================================================
--- tools/make-network-graph.py	(revision 11740)
+++ tools/make-network-graph.py	(revision 11753)
@@ -21,4 +21,12 @@
   pass
 
+def pass_filter(host):
+  for t in sys.argv:
+    if t in host:
+       return True
+  return False
+
+nodes = {}
+
 def make_graph():
   poel = {}
@@ -27,7 +35,11 @@
   try:
     for host in gformat.get_hostlist():
+      if not pass_filter(host):
+        continue
       print "## Processing host", host
       datadump = gformat.get_yaml(host)
+      nodename = datadump['nodename']
       iface_keys = [elem for elem in datadump.keys() if (elem.startswith('iface_') and not "lo0" in elem)]
+      nodes[nodename] = datadump
       for iface_key in iface_keys:
         l = datadump[iface_key]['ip']
@@ -41,8 +53,9 @@
         mask = int(mask)
         addr = addr & ~((1 << (32 - mask)) - 1)
+        nk = nodename + ':' + datadump[iface_key]['autogen_ifname']
         if poel.has_key(addr): 
-          poel[addr] += [host]
+          poel[addr] += [nk]
         else: 
-          poel[addr] = [host]
+          poel[addr] = [nk]
           # Assume all ns_ip to be 11a for a moment
           if datadump[iface_key].has_key('ns_ip'):
@@ -53,5 +66,4 @@
           link_data[addr] = 1
           iface = datadump[iface_key]['autogen_ifname']
-          nodename = datadump['nodename']
           print nodename, iface
           INTERVAL = 60 * 10
@@ -71,14 +83,33 @@
     sys.exit(1)
 
-  #f = tempfile.NamedTemporaryFile(bufsize=0)
   f = open('/tmp/test.dot','w')
   sys.stderr.write("# Building temponary graph file\n")
-  print >> f, "Graph WirelessLeidenNetwork {"
+  print >> f, "digraph WirelessLeidenNetwork {"
   print >> f ,"""
-graph [ fontsize = 36,
+graph [ fontsize = 10,
         overlap = scalexy,
         splines = true,
+        rankdir = LR,
       ]
+node [ fontsize = 10, ]
+edge [ fontsize = 10, ]
 """
+  for node, datadump in nodes.iteritems():
+    lines = [node]
+    for ik in datadump['autogen_iface_keys']:
+      if 'alias' in ik or 'wlan' in datadump[ik]['autogen_ifname']:
+        continue
+      if datadump[ik].has_key('ns_mac'):
+        lines.append('<%(autogen_ifname)s> %(bridge_type)s at %(autogen_ifname)s - %(ns_mac)s\\n%(ssid)s\\n%(ns_ip)s' % datadump[ik])
+      else:
+        lines.append('<%(autogen_ifname)s> %(autogen_ifname)s' % datadump[ik])
+    print >> f,"""
+"%s" [
+shape = "record"
+label = "%s"
+];
+""" % (node, "|".join(lines))
+
+
   for addr,leden in poel.iteritems():
     if link_type[addr] == '11a':
@@ -95,5 +126,5 @@
     for index,lid in enumerate(leden[:-1]):
       for buur in leden[index + 1:]:
-        print >> f,'  %s -- %s [label="%s", color="%s", weight="%s", style="setlinewidth(%s)"]' % (lid, buur, gformat.showaddr(addr), color, weight, width)
+        print >> f,'  %s -> %s [color="%s", weight="%s", style="setlinewidth(%s)"]' % (lid, buur, color, weight, width)
   print >> f, "}"
   f.flush()
