按照[1]所述,新增新的路由協議之後,很多人問為什麼總有「debug_」未定義的錯誤?這主要是因為沒有將移動節點的新路由協議與佇列關聯起來。關聯的過程實際上就是路由協議類通過 tclobject::lookup()獲得佇列的指標。common/packet.h
1: enum packet_t ;
common/packet.h
1: p_info()
trace/cmu-trace.h
1: class cmutrace :public trace ;
trace/cmu-trace.cc
1: #include 2:
3: /* ... */ 4:
5: void
6:cmutrace::format_protoname(packet *p, int offset)
7: 17:else if (newtrace_)
24:else
31: }
trace/cmu-trace.cc
1: void
2:cmutrace::format(packet* p, const char *why)
3: tcl/lib/ns-packet.tcl
1: foreach prot
tcl/lib/ns-default.tcl
1: # ...
2: # defaults definedfor protoname
3: agent/protoname setaccessible_var_ true
tcl/lib/ns-lib.tcl
1: simulator instproccreate-wireless-node args
7:# ...
8:}9:# ...
10: }
tcl/lib/ns-lib.tcl
1: simulator instproccreate-protoname-agent
ns-mobilenode.tcl
1: node/mobilenodeinstproc add-target
8: #...
9: }
queue/priqueue.cc
1: void
2:priqueue::recv(packet *p, handler *h)
3: 20:}
21:else
24: }
makefile
1: obj_cc =
2:tools/random.o tools/rng.o tools/ranvar.ocommon/misc.o common/timer-handler.o
3:# ...
4:protoname/protoname.oprotoname/protoname_rtable.o
5:# ...
6: $(obj_stl)
references:
[1]implementing a new manet unicast routing protocol in ns2
ns2 對無線網路模擬
在模擬無線網路時需要對tcl模擬指令碼檔案的引數進行設定,比如pt,cpthresh,csthresh and rxthresh。我們需要借助ns提供的threshold工具來計算相應的引數 extra utility called threshold,在 ns 2.33 indep utils p...
利用NS2進行無線網路模擬
本博文的實驗取材與 ns 2網路模擬基礎與應用 無線網路實驗。場景是三個節點,在乙個矩形區域,移動ad hoc網路使用dsdv路由演算法,然後在適當的時候設定它們的移動方向 速度,並在節點0和節點1之間嘗試建立ftp連線。指令碼 如下 set val chan channel wirelesscha...
ns2中變數的繫結
asrmagnet asrmagent bind pdistance pdistance 實變數 bind requerstor requestor 整形變數 bind time lastsent lastsesssent 時間變數 bind bw ctrlimit ctrlbwlimit 帶框變數...