Mesh: HWMP: fixed proactive routes
authorKirill Andreev <andreev@iitp.ru>
Thu Oct 29 15:39:41 2009 +0300 (3 months ago)
changeset 55153d1c26170e5c
parent 5514 6eebad1fb54d
child 5516 d3aabb63dd12
Mesh: HWMP: fixed proactive routes
src/devices/mesh/dot11s/hwmp-protocol.cc
     1.1 --- a/src/devices/mesh/dot11s/hwmp-protocol.cc	Thu Oct 29 11:12:12 2009 +0000
     1.2 +++ b/src/devices/mesh/dot11s/hwmp-protocol.cc	Thu Oct 29 15:39:41 2009 +0300
     1.3 @@ -320,7 +320,7 @@
     1.4  {
     1.5    NS_ASSERT(destination != Mac48Address::GetBroadcast ());
     1.6    HwmpRtable::LookupResult result = m_rtable->LookupReactive (destination);
     1.7 -  NS_LOG_DEBUG("Requested src = "<<source<<", dst = "<<destination<<", I am "<<GetAddress ()<<", RA = "<<result.retransmitter);
     1.8 +  NS_LOG_DEBUG ("Requested src = "<<source<<", dst = "<<destination<<", I am "<<GetAddress ()<<", RA = "<<result.retransmitter);
     1.9    if (result.retransmitter == Mac48Address::GetBroadcast ())
    1.10      {
    1.11        result = m_rtable->LookupProactive ();
    1.12 @@ -477,6 +477,15 @@
    1.13                    preq.GetOriginatorSeqNumber ()
    1.14                    );
    1.15                ProactivePathResolved ();
    1.16 +              m_rtable->AddReactivePath (
    1.17 +                  preq.GetOriginatorAddress (),
    1.18 +                  from,
    1.19 +                  interface,
    1.20 +                  preq.GetMetric (),
    1.21 +                  MicroSeconds (preq.GetLifetime () * 1024),
    1.22 +                  preq.GetOriginatorSeqNumber ()
    1.23 +                  );
    1.24 +              ReactivePathResolved (preq.GetOriginatorAddress ());
    1.25              }
    1.26            if (!preq.IsNeedNotPrep ())
    1.27              {
    1.28 @@ -611,11 +620,6 @@
    1.29      }
    1.30    if (result.retransmitter == Mac48Address::GetBroadcast ())
    1.31      {
    1.32 -      //try to look for default route
    1.33 -      result = m_rtable->LookupProactive ();
    1.34 -    }
    1.35 -  if (result.retransmitter == Mac48Address::GetBroadcast ())
    1.36 -    {
    1.37        return;
    1.38      }
    1.39    //Forward PREP