之前的畢設(shè)對(duì)于這個(gè)步驟已經(jīng)爛熟于心了,可以過了將近一年的時(shí)間今天重新添加了一下還是費(fèi)了好大勁,不是說添加一個(gè)協(xié)議很繁瑣,而是有些地方我還是沒有搞懂添加之后具體是干什么的,所以導(dǎo)致今天忘了自己之前添加協(xié)議的時(shí)候修改了哪些細(xì)微的地方了。
不過話說ns2易用性真的不是很好。
廢話少說,歸入正題。
添加cross協(xié)議的步驟和添加mflood協(xié)議很類似,只是在需要添加的地方都復(fù)制aodv的代碼,然后粘帖就好了。
1、修改ns-2.34/common/packet.h:
(1)在static const packet_t PT_AOMDV = 61;的下面添加:
static const packet_t PT_CROSS = 62;同時(shí)將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 }函數(shù)下面添加:
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目錄下運(yùn)行:sudo make即可編譯。