随笔-80  评论-24  文章-0  trackbacks-0
之前的毕设对于这个步骤已经烂熟于心了,可以过了将近一年的时间今天重新添加了一下还是费了好大劲,不是说添加一个协议很繁琐,而是有些地方我还是没有搞懂添加之后具体是干什么的,所以导致今天忘了自己之前添加协议的时候修改了哪些细微的地方了。
不过话说ns2易用性真的不是很好。
废话少说,归入正题。
添加cross协议的步骤和添加mflood协议很类似,只是在需要添加的地方都复制aodv的代码,然后粘帖就好了。

1、修改ns-2.34/common/packet.h:
        (1)在static const packet_t PT_AOMDV = 61;的下面添加:
        static const packet_t PT_CROSS = 62;同时将PT_NTYPE = 62 修改为63
        (2)在name_[PT_AODV] = "AODV";的下面添加:
        name_[PT_CROSS] = "cross"
2、修改ns-2.34/tcl/lib/ns-packet.tcl:
        (1)在foreach prot中AODV下面添加cross
3、修改ns-2.34/tcl/lib/ns-lib.tcl:
        (1)在switch -exact $routingAgent_中的AODV下面添加:
        cross {
                set ragent [$self create-cross-agent $node]
        }
        (2)在Simulator instproc create-aodv-agent { node }函数下面添加:
        Simulator instproc  create-cross-agent { node } {
                set ragent [new Agent/cross [$node node-addr]]
                        $self at 0.0 "$ragent start"
                        $node set ragent_ $ragent
                        return $agent
        }
4、修改ns-2.34/Makefile:
        (1)在aodv/aodv_rtable.o aodv/aodv_rqueue.o \下面添加:
        cross/cross.o cross/cross_rtable.o \
至此完成。
然后在ns-2.34目录下运行:sudo make即可编译。
posted on 2011-04-01 20:52 myjfm 阅读(512) 评论(0)  编辑 收藏 引用 所属分类: ns