Subject: [manet] Error in sendReply Function in AODV (NS-2) ??

From: Riadh Marrakchi <[email-masked]>
Date: Mon, 16 Sep 2002 16:37:32 +0200

Hi,
this is the code of the sendReply Function of AODV:

void
AODV::sendReply(nsaddr_t ipdst, u_int32_t hop_count, nsaddr_t rpdst,
                u_int32_t rpseq, u_int32_t lifetime, double timestamp) {

Packet *p = Packet::alloc();
struct hdr_cmn *ch = HDR_CMN(p);
struct hdr_ip *ih = HDR_IP(p);
struct hdr_aodv_reply *rp = HDR_AODV_REPLY(p);
aodv_rt_entry *rt = rtable.rt_lookup(ipdst);

#ifdef DEBUG
fprintf(stderr, "sending Reply from %d at %.2f\n", index,
Scheduler::instance().clock());
#endif // DEBUG
 assert(rt);

 rp->rp_type = AODVTYPE_RREP;
 //rp->rp_flags = 0x00;
 rp->rp_hop_count = hop_count;
 rp->rp_dst = rpdst;
 rp->rp_dst_seqno = rpseq;

 rp->rp_src = index; ???????????????????????????????????????????

It Should be:  rp->rp_src

 rp->rp_lifetime = lifetime;
 rp->rp_timestamp = timestamp;

 // ch->uid() = 0;
 ch->ptype() = PT_AODV;
 ch->size() = IP_HDR_LEN + rp->size();
 ch->iface() = -2;
 ch->error() = 0;
 ch->addr_type() = NS_AF_INET;
 ch->next_hop_ = rt->rt_nexthop;
 ch->prev_hop_ = index;          // AODV hack
 ch->direction() = hdr_cmn::DOWN;

 ih->saddr() = index;
 ih->daddr() = ipdst;
 ih->sport() = RT_PORT;
 ih->dport() = RT_PORT;
 ih->ttl_ = NETWORK_DIAMETER;

 Scheduler::instance().schedule(target_, p, 0.);

}

The source IP adress field in the reply message should contain the
adress of the node, which originated the request message, in other words
it's the node  rq->rq_src = ipdst. That means the right line should be:
rp->rp_src = ipdst

Am I right????

Thanks in advance.

_______________________________________________
manet mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/manet

---

From: Riadh Marrakchi <[email-masked]>
Date: Tue, 17 Sep 2002 12:34:51 +0200

Hi all,
how does aodv deals with more route replies?? especially if the source gets
a new route reply with a greater sequence number while it's sending data
packets along a route given by an earlier route reply? Does ist send all
the packets buffered in the queue along the first route an then update its
table or does it break sending to first update the route and then continue
sending along the newer route????
Thanks
Best regards

---

From: Riadh Marrakchi <[email-masked]>
Date: Tue, 17 Sep 2002 12:34:51 +0200

Hi all,

---

From: "Ian Chakeres" <[email-masked]>
Date: Tue, 17 Sep 2002 06:50:22 -0700

When a node creates a valid route it can send any queued packets.  If it
receives a RREP with a higher destination sequence number it will update
the route and use that route from that point on.
See the AODV v11 draft section 5.7.

Ian Chakeres

> -----Original Message-----
> From: [email-masked]
[mailto:aodvimpl-public-
> [email-masked]] On Behalf Of Riadh Marrakchi
> Sent: Tuesday, September 17, 2002 3:35 AM
> To: Aodvimpl-Public; [email-masked]
> Subject: [Aodvimpl] Reaction of AODV by receiving more route replies!!
> 
> Hi all,
> -------------------------------------------------------
> Sponsored by: AMD - Your access to the experts on Hammer Technology!
> Open Source & Linux Developers, register now for the AMD Developer
> Symposium. Code: EX8664 http://www.developwithamd.com/developerlab
> Aodvimpl-public mailing list
> [email-masked]
> https://lists.sourceforge.net/lists/listinfo/aodvimpl-public

---

From: "Ian Chakeres" <[email-masked]>
Date: Tue, 17 Sep 2002 06:50:22 -0700

Ian Chakeres

[mailto:aodvimpl-public-