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/