Skip to content

rubiruchi/SDUWN

Repository files navigation

SDUWN (Software-Defined Underwater Wireless Networks)

The implementation for paper Exploring Simulation of Software-Defined Underwater Wireless Networks accepted by WUWNet 2017

Environment Configuration

1.Disable IPv6 for preventing TAP devices/bridges broadcasting routing:

  • Step 1: Edit /etc/sysctl.conf (with sudo) and open the configuration file and add the following lines at the end:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
  • Step 2: Type command sudo sysctl -p you will see this in terminal.
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
  • Step 3: After that run $ cat /proc/sys/net/ipv6/conf/all/disable_ipv6 If it reports ‘1′ means you have disabled IPV6. If it reports ‘0‘ then please follow Step 2.

2.Compile Mininet

  • Step 1: Move the opennet-agent.py into /usr/bin/:
sudo chmod 777 opennet-agent.py
sudo mv opennet-agent.py /usr/bin/
  • Step 2: Install Mininet
./mininet/util/install.sh -a

You might need to delete pox/ and openflow/ if errors like "pox/openflow exists!" occur.

  • Step 3: Go into the mininet subdirectory:
cd mininet/
sudo python setup.py install

3.Compile NS-3

  • Step 1: Some preparations
sudo sh prepinstall.sh
  • Step 2: Configuration
CXXFLAGS="-std=c++0x" ./waf configure --enable-sudo
  • Step 3: Build
sudo ./waf build
sudo ./waf --apiscan=all
sudo ./waf install

4.Test

  • Step 1: Open one terminal(named as T1), in T1 run:
sudo sh pre-config.sh
  • Step 2: Open another terminal(named as T2), in T2 run:
cd examples/
sudo python one-switch-in-band-controller-csma.py
  • Step 3: in T1 run:
sudo sh post-config.sh
  • Step 4: in mininet running in T2 run:
xterm h4

A terminal window of h4 will be opened(named as T3). In T3 run:

cd ~/SDUWN/pox
./pox.py log.level --DEBUG forwarding.l2_learning

If there is no error, and you see:

INFO:openflow.of_01:[00-00-00-00-00-01 1] connected

then everything should be done.

Exceptions:

Error: ImportError: libns3.25-core-debug.so: cannot open shared object file: No such file or directory

Solution:

  • Step 1:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/sduwn/SDUWN/ns-allinone-3.25/ns-3.25/build
  • Step 2:
sudo ldconfig

Error: RTNETLINK answers: File exists

Solution:

  • Step1: Before test, run:
sudo mn -c

Yuxin Tang 08/27/2017

About

Software-Defined Underwater Wireless Networks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published