之前的畢設對于這個步驟已經爛熟于心了,可以過了將近一年的時間今天重新添加了一下還是費了好大勁,不是說添加一個協議很繁瑣,而是有些地方我還是沒有搞懂添加之后具體是干什么的,所以導致今天忘了自己之前添加協議的時候修改了哪些細微的地方了。
不過話說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 閱讀(531)
評論(0) 編輯 收藏 引用 所屬分類:
ns