small bug fix in src/nepi/util/netgraph.py
[nepi.git] / src / nepi / util / netgraph.py
index 07da169..c04f94d 100644 (file)
@@ -19,6 +19,7 @@
 
 import ipaddr
 import networkx
+import math
 import random
 
 class TopologyType:
@@ -220,7 +221,7 @@ class NetGraph(object):
         return self.topology.edge[nid1][nid2].get("net", dict())
  
     def edge_annotation(self, nid1, nid2, name):
-        return self.topoplogy.edge[nid1][nid2].get(name)
+        return self.topology.edge[nid1][nid2].get(name)
  
     def edge_annotations(self, nid1, nid2):
         return self.topology.edge[nid1][nid2].keys()
@@ -250,10 +251,10 @@ class NetGraph(object):
         netblock = "%s/%d" % (network, prefix)
         if version == 4:
             net = ipaddr.IPv4Network(netblock)
-            new_prefix = 31
+            new_prefix = 30
         elif version == 6:
             net = ipaddr.IPv6Network(netblock)
-            new_prefix = 31
+            new_prefix = 30
         else:
             raise RuntimeError, "Invalid IP version %d" % version
         
@@ -325,8 +326,8 @@ class NetGraph(object):
         # The ladder is a special case because is not symmetric.
         if self.topo_type == TopologyType.LADDER:
             total_nodes = self.order/2
-            leaf1 = str(total_nodes - 1)
-            leaf2 = str(nodes - 1)
+            leaf1 = str(total_nodes)
+            leaf2 = str(total_nodes - 1)
             leaves = [leaf1, leaf2]
             source = leaves.pop(random.randint(0, len(leaves) - 1))
         else: