With the help of a colleague, we were able to determine a solution to the
problem I was having. It seems that the issue is in Core, and not Emane.
The files I was editing (located in /usr/local/share/emane/), are not
actually used in the generation of RFPipe and the Virtual Transport when
Core instantiates an emulation. The virtual transport is dynamically
generated by the
/usr/local/lib/python2.7/dist-packages/core/emane/nodes.py file, and we
added the line trans.appendChild(emane.xmlparam(transdoc,
"flowcontrolenable",
"on")) to def buildtransportxml(self,
emane, type). That function now looks as the following:
def buildtransportxml(self, emane, type):
''' Write a transport XML file for the Virtual or Raw Transport.
'''
transdoc = emane.xmldoc("transport")
trans = transdoc.getElementsByTagName("transport").pop()
trans.setAttribute("name", "%s Transport" % type.capitalize())
trans.setAttribute("library", "trans%s" % type.lower())
trans.appendChild(emane.xmlparam(transdoc, "bitrate", "0"))
if "virtual" in type.lower():
trans.appendChild(emane.xmlparam(transdoc, "devicepath",
"/dev/net/tun"))
trans.appendChild(emane.xmlparam(transdoc, "flowcontrolenable",
"on"))
emane.xmlwrite(transdoc, self.transportxmlname(type.lower()))
I hope this helps if anyone else is having a similar issue.
Best,
Greg
On 10/30/13 8:11 PM, "Kuperman, Gregory - 0665 - MITLL"
<[email protected]> wrote:
>Hi Steven,
>
>Thanks for the reply. You'll have to pardon my ignorance on the topic
>since I am predominantly a Core user, and not so much an Emane user.
>
>I provided the pluggable transport file because I was not sure where else
>I can be enabling flow control. I am pretty sure the pluggable transport
>is not being used for anything, and that I am using the virtual transport.
>
>The RF Pipe NEM is the following, which shows it is using the virtual
>transport:
>
>/usr/local/share/emane/models/rfpipe/xml/rfpipenem.xml
><?xml version="1.0" encoding="UTF-8"?>
><!DOCTYPE nem SYSTEM "file:///usr/local/share/emane/dtd/nem.dtd">
><nem name="RF-PIPE NEM">
> <mac definition="rfpipemac.xml"/>
> <phy definition="universalphy.xml">
> <param name="subid" value="2"/>
> </phy>
> <transport definition="transvirtual.xml">
> <param name="mask" value="255.255.255.0" />
> <param name="device" value="emane0" />
> <param name="devicepath" value="/dev/net/tun" />
> <param name="bitrate" value="0" />
> <param name="flowcontrolenable" value="on"/>
> </transport>
></nem>
>
>I threw in flowcontrolenable to see if it did anythingÅ
>
>The RFPipe MAC is as follows:
>
>
>/usr/local/share/emane/models/rfpipe/xml/rfpipemac.xml
><?xml version="1.0" encoding="UTF-8"?>
><!DOCTYPE mac SYSTEM "file:///usr/local/share/emane/dtd/mac.dtd">
><mac name="RF-PIPE MAC" library="rfpipemaclayer">
> <param name="enablepromiscuousmode" value="off"/>
> <param name="datarate" value="1M"/>
> <param name="jitter" value="0"/>
> <param name="delay" value="0"/>
> <param name="flowcontrolenable" value="on"/>
> <param name="flowcontroltokens" value="10"/>
> <param name="enabletighttiming" value="off"/>
> <param name="pcrcurveuri" value="rfpipepcr.xml"/>
></mac>
>
>
>This is the virtual transport xml:
>
>/usr/local/share/emane/transports/virtual/xml/transvirtual.xml
><?xml version="1.0" encoding="UTF-8"?>
><!DOCTYPE transport SYSTEM
>"file:///usr/local/share/emane/dtd/transport.dtd">
><transport name="Tap transport" library="transvirtual">
><param name="bitrate" value="0.0"/>
><param name="devicepath" value="/dev/net/tun"/>
><param name="device" value="emane0"/>
><param name="address" value="172.30.1.1"/>
><param name="mask" value="255.255.0.0"/>
><param name="flowcontrolenable" value="on"/>
></transport>
>
>Thanks again.
>
>
>Best,
>Greg
>
>
>
>On 10/30/13 7:54 PM, "Steven Galgano" <[email protected]> wrote:
>
>>Greg,
>>
>>Flow control is not supported by the pluggable transport. Currently only
>>the Virtual Transport has flow control support. While the two
>>transports offer similar features, they are not the same.
>>
>> <transport definition="transpluggablevirtual.xml">
>>
>>--
>>Steven Galgano
>>Adjacent Link LLC
>>
>>
>>On 10/30/2013 04:57 PM, Kuperman, Gregory - 0665 - MITLL wrote:
>>> Hi Joe,
>>>
>>> Thanks for the response. Below is the file
>>>/usr/local/share/emanetransplug/xml/transportdaemon-virtual.xml. Is this
>>>the correct way to set it? I have also enabled it
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <!DOCTYPE transportdaemon SYSTEM
>>>"file:///usr/share/emane/dtd/transportdaemon.dtd">
>>> <transportdaemon>
>>> <instance nemid="1">
>>> <param name="localaddress" value="localhost:50001"/>
>>> <param name="remoteaddress" value="localhost:40001"/>
>>> <transport definition="transpluggablevirtual.xml">
>>> <param name="mask" value="255.255.0.0"/>
>>> <param name="address" value="172.30.1.1"/>
>>> <param name="plugin" value="transplugethernetframe.xml" />
>>> <param name="pluginparam" value="broadcastmode:off"/>
>>> <param name="flowcontrolenable" value="on"/>
>>> </transport>
>>> </instance>
>>> </transportdaemon>
>>>
>>> I have also enabled it in
>>>/usr/local/share/emanetransplug/xml/transportdaemon-virtual.xml
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <!DOCTYPE transportdaemon SYSTEM
>>>"file:///usr/share/emane/dtd/transportdaemon.dtd">
>>> <transportdaemon>
>>> <instance nemid="1">
>>> <param name="localaddress" value="localhost:50001"/>
>>> <param name="remoteaddress" value="localhost:40001"/>
>>> <transport definition="transpluggablevirtual.xml">
>>> <param name="mask" value="255.255.0.0"/>
>>> <param name="address" value="172.30.1.1"/>
>>> <param name="plugin" value="transplugethernetframe.xml" />
>>> <param name="pluginparam" value="broadcastmode:off"/>
>>> <param name="flowcontrolenable" value="on"/>
>>> </transport>
>>> </instance>
>>> </transportdaemon>
>>>
>>> Thank you again for your help.
>>>
>>> Best,
>>> Greg
>>>
>>>
>>>
>>> _______________________________________________
>>> emane-users mailing list
>>> [email protected]
>>> http://pf.itd.nrl.navy.mil/mailman/listinfo/emane-users
>>>
>
>_______________________________________________
>emane-users mailing list
>[email protected]
>http://pf.itd.nrl.navy.mil/mailman/listinfo/emane-users
_______________________________________________
emane-users mailing list
[email protected]
http://pf.itd.nrl.navy.mil/mailman/listinfo/emane-users