Bug 1609 - Route Request Table is needed
Route Request Table is needed
Status: RESOLVED FIXED
Product: ns-3
Classification: Unclassified
Component: dsr
ns-3-dev
All All
: P5 normal
Assigned To: Yufei Cheng
:
Depends on:
Blocks: 1608
  Show dependency treegraph
 
Reported: 2013-03-23 14:57 UTC by Daniel L.
Modified: 2013-04-08 10:28 UTC (History)
2 users (show)

See Also:


Attachments
Example scenarios (5.31 KB, text/x-c++src)
2013-03-23 14:59 UTC, Daniel L.
Details
current patch for bugs 1608 and 1609 (64.34 KB, patch)
2013-04-08 00:50 UTC, Tom Henderson
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel L. 2013-03-23 14:57:12 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.
Comment 1 Daniel L. 2013-03-23 14:59:51 UTC
Created attachment 1539 [details]
Example scenarios

Topology

  1
 / \
0   3--4
 \ /
  2

[node 0] sends to [node 4]
Comment 2 Daniel L. 2013-03-23 15:09:25 UTC
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)
Comment 3 Nimit Agarwal 2013-04-05 03:01:14 UTC
.(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
Comment 4 Tom Henderson 2013-04-08 00:50:07 UTC
reassigning to Yufei
Comment 5 Tom Henderson 2013-04-08 00:50:49 UTC
Created attachment 1556 [details]
current patch for bugs 1608 and 1609

under testing; will commit to ns-3-dev when ready
Comment 6 Tom Henderson 2013-04-08 00:53:02 UTC
(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.
Comment 7 Tom Henderson 2013-04-08 10:28:32 UTC
fix in this changeset:  854e085e1a01