From 52494e17a0977660c1ce581b5d187c37feb76b6f Mon Sep 17 00:00:00 2001 From: "ahrenholz@gmail.com" Date: Tue, 3 Dec 2013 23:10:21 +0000 Subject: [PATCH] added extra logic to EMANE node to enable flow control in the virtual transport if it is enabled in the MAC model (Boeing r1801) --- trunk/daemon/core/emane/nodes.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/trunk/daemon/core/emane/nodes.py b/trunk/daemon/core/emane/nodes.py index 3caf23cd..af2fe9ed 100644 --- a/trunk/daemon/core/emane/nodes.py +++ b/trunk/daemon/core/emane/nodes.py @@ -166,9 +166,22 @@ class EmaneNode(EmaneNet): trans.setAttribute("name", "%s Transport" % type.capitalize()) trans.setAttribute("library", "trans%s" % type.lower()) trans.appendChild(emane.xmlparam(transdoc, "bitrate", "0")) + + flowcontrol = False + names = self.model.getnames() + values = emane.getconfig(self.objid, self.model._name, + self.model.getdefaultvalues())[1] + if "flowcontrolenable" in names and values: + i = names.index("flowcontrolenable") + if self.model.booltooffon(values[i]) == "on": + flowcontrol = True + if "virtual" in type.lower(): trans.appendChild(emane.xmlparam(transdoc, "devicepath", "/dev/net/tun")) + if flowcontrol: + trans.appendChild(emane.xmlparam(transdoc, "flowcontrolenable", + "on")) emane.xmlwrite(transdoc, self.transportxmlname(type.lower())) def transportxmlname(self, type):