我的安装环境是Linux Redhat9,ns版本是2.26。下载相应的patch(NS-226-mobiwan-102.diff.gz)。安装patch前先不要install ns,只解压缩即可(比如解压到/home/zhm)。拷贝patch到相应的目录ns-2.26中(/home/zhm/ns-allinone-2.26/ns-2.26),然后cd进入ns-2.26, 执行$zcat –f NS-226-mobiwan-102.diff.gz|patch -p1。这时ns-2.26 中出现一个文件夹mobiwan。注意: mobiwan中的ipv6.h和ipv6.cc是有bug的,这时需要手动的改一下bug(将ipv6.h和ipv6.cc中的Network改名,比如改成Network6)。如果不修改,安装时将会出现以下错误:
patch结束后就可以安装ns了,退回至ns-allinone-2.26,
$./install
ns安装完毕后,设置环境变量。
用simple-mipv6.tcl进行测试,(记住一定要修改其中的source 为你系统中的相应目录,更改source /ns-allinone-2.26/ns-2.26/tcl/lib/proc-mipv6-config.tcl为自己的目录 source /home/zhm/ns-allinone-2.26/ns-2.26/tcl/lib/proc-mipv6-config.tcl)
此时会出现如下错误:
ns:
[code omitted because of length]
invalid command name "Agent/Network/NetworkBS",while executing "Agent/Network/NetworkBS set dport_ 0"
这就需要修改/home/zhm/ns-allinone-2.26/ns-2.26/tcl/lib/ns-mipv6.tcl,将其中的”Agent/Network/NetworkBS”和”Agent/Network/NetworkMN”修改为”Agent/Network6/NetworkBS”和”Agent/Network6/NetworkMN”.再回到/home/zhm/ns-allinone-2.26/ns-2.26目录下,执行
$./configure
$make clean
$make
Make完之后,应该就没问题了
注释:原来在ns-tutorial/example/下的例子都不可用了。原来自己写的脚本也不能再用了!!