[ns] a question about dmux_->recv() in AODV
大鹏 曲
dapengqu at yahoo.com.cn
Sat May 9 17:47:20 PDT 2009
hi :
Recently, I study the AODV code in ns2-2.28 developed by you, but there is a quetion puzzling me for a while.
There are some code in "void AODV::forward(aodv_rt_entry *rt, Packet *p, double delay)" in AODV.cc
......
if (ch->ptype() != PT_AODV && ch->direction() == hdr_cmn::UP &&
((u_int32_t)ih->daddr() == IP_BROADCAST)
|| ((u_int32_t)ih->daddr() == here_.addr_)) {
dmux_->recv(p,0);
return;
}
......
I think that when a node S receives a packet, it firstly checks if the packet is from itself. If S originates the packet and there is no loop or if S is an intermediate node that forwards the packet, it performs "rt_resolve()" or "forward()"; If a node S that is the destination of a packet receives the packet, then it performs "dmux_->recv(p,0)" in "forward()" function as above. Is that right ? However, when I run a tcl script using AODV, it seems that the "dmux_->recv()" don't performance. If it don't perform, how a packet are dealt with at the destination?
Thank you !
___________________________________________________________
好玩贺卡等你发,邮箱贺卡全新上线!
http://card.mail.cn.yahoo.com/
More information about the Ns-users
mailing list