import ipaddr
import networkx
+import math
import random
class TopologyType:
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()
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
# 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: