A Software-defined LTE Backhaul Network Emulator based on NS-3

263 views
Skip to first unread message

Ting Hsuan Hsieh

unread,
Nov 7, 2016, 8:30:21 AM11/7/16
to ns-3-users
Hello, everyone.

I am a developer of OpenNet. OpenNet is an emulator which integrates Mininet and NS-3.
Mininet, which is based on Python, is an emulator for rapid prototyping of software-defined network.
OpenNet uses Mininet to handle OpenFlow and models wireless behavior via NS-3, gives network researcher another choice when construct emulation environment.

Recently, OpenNet has supported software-defined LTE backhaul network emulation.
Thanks to Tom Henderson, current version of OpenNet has been submitted as out-of-tree code.

For peoples who interested in software-defined LTE backhaul network emulation, you can find information from here:

When developing OpenNet with LTE support, I have encountered some design issues and solved them.
Such as how to connect UeNetDevice and TapBridge, in order to let traffic generated from Linux virtual host can be forwarded to SpectrumChannel.
Solve above issue requires modifying UeNetDevice and setting TapBridge properly, detailed documentation of NS-3 helps a lot.
Hope these source codes can help peoples who interested in this research field.

Tommaso Pecorella

unread,
Nov 7, 2016, 8:06:01 PM11/7/16
to ns-3-users
Hi,

thank you very much for the valuable contribution.
My suggestion is to get in touch with the LTE maintainers to have your changes to UeNetDevice incorporated in the next releases.
You can also open a ticket on Bugzilla with the proposed code enhancement.

Cheers,

T.

Ting Hsuan Hsieh

unread,
Nov 8, 2016, 5:19:25 AM11/8/16
to ns-3-users
Hi.

TapBridge stoles packets from NetDevice via promiscRxCallback, so the changes to UeNetDevice is about handling of promiscRxCallback.
Since changes to UeNetDevice is more like a workaround rather than a formal solution, I'll leave them as out-of-tree.

Thank you for your kind suggestion.

Tommaso Pecorella於 2016年11月8日星期二 UTC+8上午9時06分01秒寫道:

Muge Erel

unread,
Jul 11, 2017, 9:19:02 AM7/11/17
to ns-3-users
Hi,

Firstly thanks for your explanation. I'm SDN developer, but I'm new in ns-3 and OpenNet.

This is the only command related with UENetDEvice in lte.py:
            self.csock.sendall ('dev = nsDevice.GetObject (LteUeNetDevice.GetTypeId ())\n')
            self.csock.sendall ('dev.SetMacAddress (macAddress)\n')
            self.csock.sendall ('dev.SetGatewayMacAddress (gatewayMacAddr)\n')

As I guess, I need to add some commands on it to call following function:

LteUeNetDevice::SetPromiscReceiveCallback (PromiscReceiveCallback cb)

Can you help me about the modification of it to enable traffic generation from host terminal.

Best,
Muge EREL OZCEVIK

8 Kasım 2016 Salı 18:19:25 UTC+8 tarihinde Ting Hsuan Hsieh yazdı:

Ting Hsuan Hsieh

unread,
Jul 11, 2017, 11:03:44 AM7/11/17
to ns-3-users
Hi,

LteUeNetDevice::SetPromiscReceiveCallback is essential for software-defined LTE backhaul network emulation.

OpenNet already has a patch about this implementation.

You can refer the following link for more details:


Since currently OpenNet does not have maintainer, sorry for that the change request to OpenNet may not be responded.

Muge Erel於 2017年7月11日星期二 UTC+8下午9時19分02秒寫道:

Muge Erel

unread,
Jul 12, 2017, 6:33:13 AM7/12/17
to ns-3-users
Thanks for your answer,

Best regards,

Müge EREL ÖZÇEVİK

11 Temmuz 2017 Salı 23:03:44 UTC+8 tarihinde Ting Hsuan Hsieh yazdı:

Muge Erel

unread,
Jul 12, 2017, 8:37:18 AM7/12/17
to ns-3-users
Hi again,

I have traffic generation problem while using lte-example.py

While generating traffic by following commands:

h1 iperf3 -s
h2 iperf3 -c h1 -M 1024 -R -t 3

Everthing is perfect at the beginning but it never ends. I also tried another traffic generator named as D-ITG. Same thing happened. Traffic flow is started but, it never ended. Therefore,  I could not get the statistics.
Do you have any idea about it?

Note: I did not have any problem while running wifi examples in OpenNet. Moreover, my installation is perfectly completed.

Regards,
Müge EREL ÖZÇEVİK

11 Temmuz 2017 Salı 23:03:44 UTC+8 tarihinde Ting Hsuan Hsieh yazdı:

Muge Erel

unread,
Jul 12, 2017, 8:38:41 AM7/12/17
to ns-3-users


12 Temmuz 2017 Çarşamba 18:33:13 UTC+8 tarihinde Muge Erel yazdı:

Ting Hsuan Hsieh

unread,
Jul 12, 2017, 11:29:35 AM7/12/17
to ns-3-users
Hi, since environment may varies, I can not give clear suggestion for this issue.

The log of emulation is under /tmp, you can also use wireshark to monitor the traffic of generated interfaces.
To understand the emulation, study NS-3 documents and source code of OpenNet is required.

Muge Erel於 2017年7月12日星期三 UTC+8下午8時37分18秒寫道:
Reply all
Reply to author
Forward
0 new messages