Bugzilla – Bug 1609
Route Request Table is needed
Last modified: 2013-04-08 10:28:32 UTC
The current implementation does not have Route Request Table. When a node receives a Route Request, it simply checks if its address is already included in the sequence of addresses in the DSR header or not. If its address is not present, then the node forwards the Route Request (after appending its address to the list). The RFC states that the node must not forward the route request packet if the (source, destination, request ID) was recently forwarded.
Created attachment 1539 [details] Example scenarios Topology 1 / \ 0 3--4 \ / 2 [node 0] sends to [node 4]
RngRun=1 Timeline: [node 0] broadcasts RREQ [node 1] and [node 2] receive RREQ, schedules RREQ forward [node 1] broadcasts RREQ (List 0->1) [node 0] and [node 3] receive RREQ, [node 0] discards, [node 3] schedules RREQ forward [node 3] broadcasts RREQ (List 0->1->3) [node 1], [node 2] and [node 4] receive RREQ, [node 1] discards, [node 2] *schedules RREQ forward*, [node 4] schedules RREP [node 2] broadcasts RREQ (List 0->2) ... [node 2] broadcasts RREQ (List 0->1->3->2) ------------------------------------------------------------------------ RngRun=4 Timeline: [node 0] broadcasts RREQ [node 1] and [node 2] receives RREQ, schedules RREQ forward [node 2] broadcasts RREQ (List 0->2) [node 0] and [node 3] receive RREQ, [node 0] discards, [node 3] schedules RREQ forward [node 2] broadcasts RREQ (List 0->1) [node 0] and [node 3] receive RREQ, [node 0] discards, [node 3] *schedules RREQ forward* [node 3] broadcasts RREQ (List 0->2->3) ... [node 3] broadcasts RREQ (List 0->1->3)
.(In reply to comment #0) > The current implementation does not have Route Request Table. When a node > receives a Route Request, it simply checks if its address is already included > in the sequence of addresses in the DSR header or not. If its address is not > present, then the node forwards the Route Request (after appending its address > to the list). > > The RFC states that the node must not forward the route request packet if the > (source, destination, request ID) was recently forwarded. I read the RFC and I think you are making a valid point here. I want to take this bug . But I am new to ns-3 community and thus need your help
reassigning to Yufei
Created attachment 1556 [details] current patch for bugs 1608 and 1609 under testing; will commit to ns-3-dev when ready
(In reply to comment #3) > .(In reply to comment #0) > > The current implementation does not have Route Request Table. When a node > > receives a Route Request, it simply checks if its address is already included > > in the sequence of addresses in the DSR header or not. If its address is not > > present, then the node forwards the Route Request (after appending its address > > to the list). > > > > The RFC states that the node must not forward the route request packet if the > > (source, destination, request ID) was recently forwarded. > > I read the RFC and I think you are making a valid point here. > I want to take this bug . But I am new to ns-3 community and thus need your > help Nimit, thanks for volunteering, but the DSR maintainer (Yufei) has worked out a patch (attached) so we are probably going to close this bug if the patch tests OK.
fix in this changeset: 854e085e1a01