./build.py --enable-examples --enable-tests后出现如下提示:(click和openflow模块未安装)
Modules built:
aodv applications bridge
config-store core csma
csma-layout dsdv emu
energy flow-monitor internet
lte mesh mobility
mpi netanim network
nix-vector-routing olsr point-to-point
point-to-point-layout propagation spectrum
stats tap-bridge test
tools topology-read uan
virtual-net-device visualizer wifi
wimax
Modules not built:
click openflow
解决方法:(通常这两个模块是用不着的)
(1)click模块
click是一个构建可配置路由器的软件架构,通过使用称之为元素element(即包处理单元)的不同组合,click路由器能够执行特定功能,这种灵活性提供了测试和实验不同协议的优良平台。
*下载click(http://read.cs.ucla.edu/click/download)
*配置编译click
./configure --enable-userlevel --disable-linuxmodule --enable-nsclick --enable-wifi
./make (没有必要使用make install)
*重新配置和构建ns3
./waf configure --enable-examples --enable-tests --with-nsclick=click源码路径
如果click安装在ns-3-allinone文件夹中,即ns-3文件夹的上层文件夹中,"--with-nsclick=click源码路径"不需要,ns3构建器能够自动找到click源码
./waf
*测试click
./waf --run nsclick-simple-lan
将得到两个.pcap跟踪结果文件:nsclick-simple-lan-0-0.pcap和nsclick-simple-lan-0-1.pcap
(2)openflow
openflow交换广泛用于科研中,通过openflow API可以对OpenFlow交换进行配置。openflow交换拥有针对服务质量的多协议标签交换(MPLS)扩展和支持service-level-agreement。通过使用openflow交换,ns3能够精确仿真多种不同的交换。
*下载openflow
hg clone http://code.nsnam.org/jpelkey3/openflow
*配置和构建openflow(在openflow文件夹下运行)
./waf configure
./waf build
此时生成libopenflow.a库文件
*链接OpenFlow模块到ns3(在ns3的源码文件夹下运行,如ns-3-dev)
./waf configure --enable-examples --enable-tests --with-openflow=openflow源码路径
./waf build (构建ns3并激活ns3的openflow模块)
*测试openflow
./waf --run openflow-switch
./waf --run "openflow-switch -v"(查看日志细节)
*验证openflow模块
./test.py --suite=openflow