Merge with ns3dev

This commit is contained in:
Kirill Andreev
2009-04-29 13:06:55 +04:00
2 changed files with 15 additions and 15 deletions

View File

@@ -170,7 +170,7 @@ HwmpMacPlugin::RequestDestination (Mac48Address dst, uint32_t originator_seqno,
preq.SetOriginatorAddress (m_protocol->GetAddress ());
preq.SetOriginatorSeqNumber (originator_seqno);
preq.SetLifetime (m_protocol->GetActivePathLifetime ());
preq.AddDestinationAddressElement (false, false, dst, dst_seqno);
preq.AddDestinationAddressElement (m_protocol->GetDoFlag (), m_protocol->GetRfFlag (), dst, dst_seqno);
m_preqQueue.push_back (preq);
//set iterator position to my preq:
SendOnePreq ();

View File

@@ -361,7 +361,6 @@ HwmpProtocol::ReceivePreq (IePreq preq, Mac48Address from, uint32_t interface, u
}
if ((*i)->GetDestinationAddress () == GetAddress ())
{
preq.DelDestinationAddressElement ((*i)->GetDestinationAddress());
SendPrep (
GetAddress (),
preq.GetOriginatorAddress (),
@@ -372,29 +371,30 @@ HwmpProtocol::ReceivePreq (IePreq preq, Mac48Address from, uint32_t interface, u
preq.GetLifetime (),
interface
);
preq.DelDestinationAddressElement ((*i)->GetDestinationAddress());
continue;
}
//check if can answer:
HwmpRtable::LookupResult result = m_rtable->LookupReactive ((*i)->GetDestinationAddress());
if ((! ((*i)->IsDo())) && (result.retransmitter != Mac48Address::GetBroadcast()))
{
//have a valid information and acn answer
//have a valid information and can answer
SendPrep (
(*i)->GetDestinationAddress (),
preq.GetOriginatorAddress (),
from,
result.metric,
preq.GetOriginatorSeqNumber (),
result.seqnum +1,
preq.GetLifetime (),
interface
);
if ((*i)->IsRf ())
(*i)->SetFlags (true, false, (*i)->IsUsn ()); //DO = 1, RF = 0 (as it was)
(*i)->SetFlags (true, false, (*i)->IsUsn ()); //DO = 1, RF = 0
else
{
//send a PREP and delete destination
preq.DelDestinationAddressElement ((*i)->GetDestinationAddress());
SendPrep (
(*i)->GetDestinationAddress (),
preq.GetOriginatorAddress (),
from,
result.metric,
preq.GetOriginatorSeqNumber (),
result.seqnum +1,
preq.GetLifetime (),
interface
);
continue;
}
}