ljerezchaves / ofswitch13

OFSwitch13: OpenFlow 1.3 module for ns-3.
http://www.lrc.ic.unicamp.br/ofswitch13/
GNU General Public License v2.0
24 stars 16 forks source link

Can't change NSC-linux2.6.26 kernel attribute if Openflow module is enabled in NS3. #40

Closed ljerezchaves closed 6 years ago

ljerezchaves commented 8 years ago

Originally reported by Ahmed Abdelsalam (Bitbucket: aabdelsalam, GitHub: aabdelsalam)


I am using nsc-0.5.3 with ns-3-dev 3.23 to test different tcp versions. I used the simple example "tcp-nsc-lfn" from examples/tcp to ensure the functionality of nsc. First I noticed that, if I run this script directly from the examples folder, it runs properly and allows me to change the tcp version using Config::Set ("/NodeList/*/$ns3::Ns3NscStack/net.ipv4.tcp_congestion_control", StringValue (tcpver)). However, when I run the same script from the scratch folder it doesn't accept the "net.ipv4.tcp_congestion_control" attribute with one of the following error messages ( the error messages alternate each run).

printk[0]: 0.000000) <4>nsc_convert_syserr_to_nscerr: Unhandled error number -1 msg="setting net.ipv4.tcp_congestion_control to hybla failed (retval -1 stack linux2.6.26", file=../src/internet/model/nsc-sysctl.cc, line=151 terminate called without an active exception

OR msg="Attribute name=net.ipv4.tcp_congestion_control does not exist for this object: tid=ns3::Ns3NscStack", file=../src/core/model/object-base.cc, line=198

After a lot of digging and investigations, I can confirm that there is a conflict caused by the enabled modules "Openflow" and "OFSwitch13". Unlike, "Scratch Folder" the examples are built against specific modules instead of all_modules, thus the script can run normally from examples.

I interested to analyze different tcp variants available on the linux kernel on NSC stacks with the presence of openflow switch. my system is NS-3.23 on Ubuntu 14.04, x64 / gcc-4.8/4.9/5.3. python 2.7


ljerezchaves commented 7 years ago

Original comment by Luciano Chaves (Bitbucket: ljerezchaves, GitHub: ljerezchaves)


Waiting for more details on this bug.

ljerezchaves commented 8 years ago

Original comment by Luciano Chaves (Bitbucket: ljerezchaves, GitHub: ljerezchaves)


Hi Ahmed,

In fact I'm not sure what is causing the error... I never tried to compile both Openflow and OFSwtich13 modules togheter (it wouldn't make sense to use both). But the OFSwitch13 doesn't change anything on simulator except the CsmaNetDevice. In this way, I can't be sure what is happening.

I really would like to figure out what is happeninig but, unfortunately, I can't spend to much time investigating it right now. Maybe you can help me with more technicals hints on what is happening (I have none experience with nsc).