aboutsummaryrefslogtreecommitdiff
path: root/rumba/model.py
diff options
context:
space:
mode:
Diffstat (limited to 'rumba/model.py')
-rw-r--r--rumba/model.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/rumba/model.py b/rumba/model.py
index 93b901b..0adb503 100644
--- a/rumba/model.py
+++ b/rumba/model.py
@@ -282,9 +282,12 @@ class IPCP:
self.name = name
self.node = node
self.dif = dif
+ self.registrations = []
def __repr__(self):
- return "IPCP %s in DIF %s" % (self.name, self.dif.name)
+ return "IPCP=%s DIF=%s N-1-DIFs=(%s)" % \
+ (self.name, self.dif.name,
+ ' '.join([dif.name for dif in self.registrations]))
def __hash__(self):
return hash((self.name, self.dif.name))
@@ -483,6 +486,11 @@ class Experiment:
for dif in node.difs:
ipcp = IPCP(name = '%s.%s.IPCP' % (dif.name, node.name),
node = node, dif = dif)
+
+ if dif in node.dif_registrations:
+ for lower in node.dif_registrations[dif]:
+ ipcp.registrations.append(lower)
+
node.ipcps.append(ipcp)
print("IPCP for node %s: %s" % (node.name, node.ipcps))