[NS3]Openflow Modle安装

    因为一般直接NS3官网下载安装的NS3不自带openflow模块,需要自己安装的,现在我把过程写一下

    官网其实有相关的英文安装过程,如下:http://www.nsnam.org/docs/release/3.17/models/html/openflow-switch.html

    本人所做的是在Ubuntu 13.04和ns-3.17的环境下的。

安装过程如下:

 一. 获取OFSID(The OpenFlow software implementation distribution )代码。使用 mercurial 下载并编译在目录中:

                PS:为了下面安装过程不出错最好安装在“ns-allinone-3.17/ns-3.17/”目录下,而且避免下次寻找,毕竟他只是ns-3.17的一个模块

$ hg clone http://code.nsnam.org/openflow
$ cd openflow

显示如下:



二. 在openflow目录中,运行::

$ ./waf configure
$ ./waf build
显示如下:

Waf: Entering directory `/home/roger/openflow/build'
[ 1/58] cc: lib/command-line.c -> build/default/lib/command-line_1.o
[ 2/58] cc: lib/csum.c -> build/default/lib/csum_1.o
[ 4/58] cc: lib/dhcp.c -> build/default/lib/dhcp_1.o
[ 3/58] cc: lib/daemon.c -> build/default/lib/daemon_1.o
[ 5/58] cc: lib/dhcp-client.c -> build/default/lib/dhcp-client_1.o
。。。。
[56/58] cc: switch/table-hash.c -> build/default/switch/table-hash_1.o
[57/58] cc: switch/table-linear.c -> build/default/switch/table-linear_1.o
[58/58] static_link: build/default/lib/command-line_1.o build/default/lib/。。。。。。
Waf: Leaving directory `/home/roger/openflow/build'
'build' finished successfully (4.114s)

三. OFSID现在已经建进libopenflow.a库,为了链接OpenFlow switch module到ns-3 bulid中还需要在ns-3.17中运行:

$ ./waf configure --enable-examples --enable-tests --enable-mpi --with-openflow=/home/roger/ns-allinone-3.17/ns-3.17/openflow
PS:因为此处官网使用的是:./waf configure --enable-examples --enable-tests --with-openflow=path/to/openflow         
         你在使用中会发现出错的,所以需要把openflow的目录写详细         
         这其中的--enable-sudo是使 Use sudo to set suid bit enable                        -
                         --enable-mpi是使MPI Support enable                      
                         --with-openflow是使NS-3 OpenFlow Integration enable
结果显示如下:

上述表明库已经链接到ns-3 

四. 构建ns-3,并触发ns-3中的OpenflowSwitch模块,运行:

$ ./waf build
显示如下:

。。。
[2101/2103] cxx: src/tap-bridge/model/tap-creator.cc -> build/src/tap-bridge/model/tap-creator.cc.4.o
[2102/2103] cxx: src/tap-bridge/model/tap-encode-decode.cc -> build/src/tap-bridge/model/tap-encode-decode.cc.4.o
[2103/2103] cxxprogram: build/src/tap-bridge/model/tap-creator.cc.4.o build/src/tap-bridge/model/tap-encode-decode.cc.4.o -> build/src/tap-bridge/ns3.17-tap-creator-debug
Waf: Leaving directory `/home/roger/ns-allinone-3.17/ns-3.17/build'
'build' finished successfully (20m52.990s)

Modules built:
antenna                   aodv                      applications             
bridge                    buildings                 config-store             
core                      csma                      csma-layout              
dsdv                      dsr                       emu                      
energy                    fd-net-device             flow-monitor             
internet                  lte                       mesh                     
mobility                  mpi                       netanim (no Python)      
network                   nix-vector-routing        olsr                     
openflow (no Python)      point-to-point            point-to-point-layout    
propagation               spectrum                  stats                    
tap-bridge                test (no Python)          tools                    
topology-read             uan                       virtual-net-device       
visualizer                wifi                      wimax                    

Modules not built (see ns-3 tutorial for explanation):
brite                     click        
可见ns-3中的Openflow模块已经安装好了(和前一篇Blog相比)。

五. 在一个简单的例子中证明其用法:

$ ./waf --run openflow-switch

或者你也可以用下述命令看详细记录:

$ ./waf --run "openflow-switch -v"
显示如下:(我使用的是前者)


六. 当然你也可以通过一个测试组件测试:

$ ./test.py --suite=openflow


评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值