BroadcastId methods and SendRequest() added
authorBorovkova Elena <borovkovaes@iitp.ru>
Thu, 09 Jul 2009 20:34:34 +0400
changeset 5573 040121bb814c
parent 5572 fef9a56256a3
child 5574 093ebba1c04c
BroadcastId methods and SendRequest() added
src/routing/aodv/aodv-routing-protocol.cc
--- a/src/routing/aodv/aodv-routing-protocol.cc	Thu Jul 09 20:11:46 2009 +0400
+++ b/src/routing/aodv/aodv-routing-protocol.cc	Thu Jul 09 20:34:34 2009 +0400
@@ -227,8 +227,27 @@
 void 
 RoutingProtocol::RecvRequest (Ptr<Packet> p)
 {
-  Ipv4Header ipv4Header;
-  p->RemoveHeader(ipv4Header);
+  RreqHeader h;
+  p->RemoveHeader(h);
+  uint32_t id = h.GetId();
+  Ipv4Address src = h.GetSrc();
+  // Node checks to determine whether it has received a RREQ
+  // with the same Originator IP Address and RREQ ID.
+  // If such a RREQ has been received, the node
+  // silently discards the newly received RREQ.
+  if(LookupBroadcastId(src, id))
+  {
+    //drop();
+    return;
+  }
+
+  uint8_t hop = h.GetHopCount();
+  hop++;
+  h.SetHopCount(hop);
+  aodv_rt_entry toSrc;
+  if(!rtable.rt_lookup(src, toSrc));
+
+
 }
 
 void