Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(31)

Issue 115075: AODV model for review

Can't Edit
Can't Publish+Mail
Start Review
Created:
5 months ago by Pavel Boyko
Modified:
2 months ago
CC:
ns-3-reviews_googlegroups.com
SVN Base:
Visibility:
Public.

Patch Set 1

Total comments: 63

Patch Set 2 : Updated patchset

Total comments: 27

Patch Set 3 : Updated after Tom review

Unified diffs Side-by-side diffs Delta from patch set Stats Patch
A examples/routing/aodv.cc View 1 chunk 220 lines 0 comments Download
M examples/routing/wscript View 1 chunk 12 lines 0 comments Download
M src/applications/v4ping/v4ping.cc View 9 chunks 212 lines 0 comments Download
M src/applications/v4ping/v4ping.h View 1 2 chunks 65 lines 0 comments Download
A src/contrib/average.h View 1 2 1 chunk 88 lines 0 comments Download
M src/contrib/wscript View 1 chunk 12 lines 0 comments Download
M src/devices/wifi/adhoc-wifi-mac.cc View 4 chunks 54 lines 0 comments Download
M src/devices/wifi/adhoc-wifi-mac.h View 2 chunks 24 lines 0 comments Download
A src/helper/aodv-helper.cc View 1 1 chunk 61 lines 0 comments Download
A src/helper/aodv-helper.h View 1 1 chunk 76 lines 0 comments Download
M src/helper/v4ping-helper.cc View 1 chunk 17 lines 0 comments Download
M src/helper/v4ping-helper.h View 1 chunk 17 lines 0 comments Download
M src/helper/wscript View 1 3 chunks 33 lines 0 comments Download
M src/internet-stack/icmpv4-l4-protocol.cc View 1 chunk 12 lines 0 comments Download
M src/internet-stack/ipv4-interface.cc View 2 chunks 33 lines 0 comments Download
M src/internet-stack/ipv4-interface.h View 1 chunk 23 lines 0 comments Download
M src/internet-stack/ipv4-l3-protocol.cc View 1 3 chunks 28 lines 0 comments Download
M src/internet-stack/ipv4-raw-socket-impl.cc View 2 chunks 20 lines 0 comments Download
M src/internet-stack/tcp-l4-protocol.cc View 1 2 chunks 20 lines 0 comments Download
M src/internet-stack/udp-socket-impl.cc View 2 chunks 21 lines 0 comments Download
M src/internet-stack/wscript View 1 1 chunk 13 lines 0 comments Download
M src/node/socket.cc View 1 1 chunk 14 lines 0 comments Download
A src/routing/manet/aodv/aodv-neighbor.cc View 2 1 chunk 179 lines 0 comments Download
A src/routing/manet/aodv/aodv-neighbor.h View 2 1 chunk 120 lines 0 comments Download
A src/routing/manet/aodv/aodv-packet.cc View 2 1 chunk 586 lines 0 comments Download
A src/routing/manet/aodv/aodv-packet.h View 2 1 chunk 336 lines 0 comments Download
A src/routing/manet/aodv/aodv-routing-protocol.cc View 2 1 chunk 1504 lines 0 comments Download
A src/routing/manet/aodv/aodv-routing-protocol.h View 2 1 chunk 260 lines 0 comments Download
A src/routing/manet/aodv/aodv-rqueue.cc View 2 1 chunk 157 lines 0 comments Download
A src/routing/manet/aodv/aodv-rqueue.h View 2 1 chunk 143 lines 0 comments Download
A src/routing/manet/aodv/aodv-rtable.cc View 2 1 chunk 350 lines 0 comments Download
A src/routing/manet/aodv/aodv-rtable.h View 2 1 chunk 258 lines 0 comments Download
A src/routing/manet/aodv/aodv-test-suite.cc View 2 1 chunk 560 lines 0 comments Download
A src/routing/manet/aodv/aodv.h View 2 1 chunk 92 lines 0 comments Download
A src/routing/manet/aodv/test/aodv-regression.cc View 1 chunk 177 lines 0 comments Download
A src/routing/manet/aodv/test/aodv-regression.h View 1 chunk 190 lines 0 comments Download
A src/routing/manet/aodv/waf View 2 1 chunk 7 lines 0 comments Download
A src/routing/manet/aodv/wscript View 2 1 chunk 31 lines 0 comments Download
A src/routing/manet/dpd/dpd.cc View 1 chunk 56 lines 0 comments Download
A src/routing/manet/dpd/dpd.h View 1 chunk 65 lines 0 comments Download
A src/routing/manet/dpd/id-cache.cc View 2 1 chunk 137 lines 0 comments Download
A src/routing/manet/dpd/id-cache.h View 2 1 chunk 92 lines 0 comments Download
A src/routing/manet/dpd/waf View 2 1 chunk 7 lines 0 comments Download
A src/routing/manet/dpd/wscript View 1 chunk 23 lines 0 comments Download
M src/wscript View 1 1 chunk 13 lines 0 comments Download

Messages

Total messages: 19
kevjay
In order to build through cygwin, I had to change all instances of UniformVariable::GetValue to ...
4 months, 2 weeks ago
Pavel Boyko
I have fixed this in our repository (https://forge.wenos.ru/hgprojects/ns3aodv) and will upload new changeset after upcoming ...
4 months, 1 week ago
Shantanu
Sir, I am implementing the AODV protocol in my project using NS-3.5.1.But I am finding ...
4 months ago
Pavel Boyko
Hi, Shantanu, Waf seems to be case-sensitive here (as your filesystem is), try "./waf --run ...
4 months ago
Shantanu
Hello Sir, Thanks for replying. Refering to your advice I had again gone through the ...
3 months, 4 weeks ago
Shantanu
On 2009/10/13 06:25:46, Shantanu wrote: > Hello Sir, > Thanks for replying. Refering to your ...
3 months, 3 weeks ago
faker.moatamri
Please find a review of your code. http://codereview.appspot.com/115075/diff/1/2 File examples/aodv.cc (right): http://codereview.appspot.com/115075/diff/1/2#newcode37 Line 37: /** ...
3 months, 2 weeks ago
Shantanu
Take a look. http://codereview.appspot.com/115075/diff/1/2 File examples/aodv.cc (right): http://codereview.appspot.com/115075/diff/1/2#newcode37 Line 37: /** On 2009/10/22 20:39:32, faker.moatamri ...
3 months, 2 weeks ago
Pavel Boyko
Faker, thank you for review. I have done almost all proposed fixes, you can pull ...
3 months, 2 weeks ago
upola.aec
http://codereview.appspot.com/115075/diff/1/12 File src/helper/wscript (left): http://codereview.appspot.com/115075/diff/1/12#oldcode31 Line 31: 'athstats-helper.cc', athstats-helper.cc, ipv6-address-helper.cc, ipv6-interface-container.cc are not found in ...
3 months, 2 weeks ago
Tom Henderson
This looks good and complete. My main comments/questions are included below, but are: 1) can ...
3 months, 2 weeks ago
Elena Buchatskaia
http://codereview.appspot.com/115075/diff/10002/9007 File src/contrib/average.h (right): http://codereview.appspot.com/115075/diff/10002/9007#newcode21 Line 21: #ifndef STATS_H_ On 2009/10/28 06:06:07, Tom H. wrote: ...
3 months, 1 week ago
Pavel Boyko
Tom, Thank you for thorough review! > 1) can you document what is modelized and ...
3 months, 1 week ago
Tom Henderson
There are a few things combined in this patchset: 1) TTL fix for IPv4L3Protocol 2) ...
3 months ago
Pavel Boyko
Tom, This review is going to be endless. That's why nothing is merged at the ...
2 months, 4 weeks ago
Tom Henderson
> So far you say nothing about AODV (point 3 of your list above). Do ...
2 months, 3 weeks ago
Mariusz Skrocki
Hi, I'm not entirely sure, but it seems to me that in the method RoutingTable::Purge ...
2 months, 3 weeks ago
Pavel Boyko
Good catch! Fixed. On 2009/11/18 08:00:10, mskrocki wrote: > Hi, > I'm not entirely sure, ...
2 months, 3 weeks ago
Mariusz Skrocki
2 months ago
I have a small problem... 
I wanted to compare the functionality and efficiency of the AODV protocol in
ns-3 with the implementation in JIST/SWANS. One of the tested topology was a
matrix of nodes, to which in each simulation I added one row and one column of
nodes. The flow of data was set between the first and last node in the network,
located at two ends of the diagonal of the network. I noticed that an increasing
number of nodes in the network couses bigger packet loss, which is obvious,
however, these losses were growing much faster than in simulation using JIST. 
I reviewed the logs from the simulation along with a colleague and we noticed
that sometimes in the routing table in nodes there appears a strange entry, in
which the source, destination and gateway address are set to 102.102.102.102.
The entry is added to the routing table at the time when the source node sends a
RREQ, because there is no entry corresponding to the target node. 
As we noted after receiving the RREP message corresponding to RREQ, the source
node adds a new entry to its routing table, but does not remove the entry
containing the address of 102.102.102.102. Would not be better if we add an
empty entry specifying, however,  the RREQ Destination address?

void
RoutingProtocol::SendRequest (Ipv4Address dst)
...
  RoutingTableEntry rt;
  if (m_routingTable.LookupRoute (dst, rt))
    {
      rreqHeader.SetHopCount (rt.GetHop ());
      if (rt.GetValidSeqNo ())
        rreqHeader.SetDstSeqno (rt.GetSeqNo ());
      else
        rreqHeader.SetUnknownSeqno (true);
      rt.SetFlag (IN_SEARCH);
      m_routingTable.AddRoute (rt);
    }
  else
    {
      rreqHeader.SetUnknownSeqno (true);
      RoutingTableEntry newEntry;
      newEntry.SetFlag (IN_SEARCH);
      newEntry.SetDestination(dst);   // Shouldn't we add destination address to
the entry?
      m_routingTable.AddRoute (newEntry);
    }
…
}


We found also that the problem exists also in RouteRequestTimerExpire method,
because it does not check whether the entry was found in the routing table.
Shouldn't we check here whether the entry was found in the routing table?

void
RoutingProtocol::RouteRequestTimerExpire (Ipv4Address dst)
{
  NS_LOG_LOGIC(this);
  RoutingTableEntry toDst;

  if (!m_routingTable.LookupRoute (dst, toDst)) // Shouldn't we check it here?
    { 
      return;
    }

  if (toDst.GetFlag () == VALID)
    {
      SendPacketFromQueue (dst, toDst.GetRoute ());
      NS_LOG_LOGIC ("route to " << dst << " found from " <<
toDst.GetInterface().GetLocal());
      return;
    }
…

--
Yours Sincerely
Mariusz Skrocki
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld r511