aboutsummaryrefslogtreecommitdiff
path: root/rumba/elements/topology.py
diff options
context:
space:
mode:
Diffstat (limited to 'rumba/elements/topology.py')
-rw-r--r--rumba/elements/topology.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/rumba/elements/topology.py b/rumba/elements/topology.py
index c47d541..46f24c2 100644
--- a/rumba/elements/topology.py
+++ b/rumba/elements/topology.py
@@ -654,6 +654,24 @@ class Node(object):
def __neq__(self, other):
return not self == other
+ def to_dms_yaml(self, buffer):
+ buffer.write("node: %s\n" % (self.name))
+ buffer.write("registrations:\n")
+
+ for dif in self.dif_registrations:
+ if isinstance(dif, NormalDIF):
+ buffer.write(" - %s:\n" % (dif.name))
+ for reg in self.dif_registrations[dif]:
+ tp = "normal"
+ nm = reg.name
+ if isinstance(reg, ShimEthDIF):
+ tp = "eth"
+ for member in reg.members:
+ if member.name is not self.name:
+ nm = member.name
+ buffer.write(" - %sdifid: %s, diftype: %s, "
+ "diftype_number: 1%s\n" % ("{", nm, tp, "}"))
+
def add_dif(self, dif):
"""
Adds a DIF to the list.