|
873 |
ScheduleRreqRetry (dst); |
873 |
ScheduleRreqRetry (dst); |
874 |
if (EnableHello) |
874 |
if (EnableHello) |
875 |
{ |
875 |
{ |
876 |
m_htimer.Cancel (); |
876 |
if (!m_htimer.IsRunning ()) |
877 |
m_htimer.Schedule (HelloInterval - Time (0.01 * MilliSeconds (UniformVariable ().GetInteger (0, 10)))); |
877 |
{ |
|
|
878 |
m_htimer.Cancel (); |
879 |
m_htimer.Schedule (HelloInterval - Time (0.01 * MilliSeconds (UniformVariable ().GetInteger (0, 10)))); |
880 |
} |
878 |
} |
881 |
} |
879 |
} |
882 |
} |
880 |
|
883 |
|
|
1137 |
|
1140 |
|
1138 |
if (EnableHello) |
1141 |
if (EnableHello) |
1139 |
{ |
1142 |
{ |
1140 |
m_htimer.Cancel (); |
1143 |
if (!m_htimer.IsRunning ()) |
1141 |
m_htimer.Schedule (HelloInterval - Time (0.1 * MilliSeconds (UniformVariable ().GetInteger (0, 10)))); |
1144 |
{ |
|
|
1145 |
m_htimer.Cancel (); |
1146 |
m_htimer.Schedule (HelloInterval - Time (0.1 * MilliSeconds (UniformVariable ().GetInteger (0, 10)))); |
1147 |
} |
1142 |
} |
1148 |
} |
1143 |
} |
1149 |
} |
1144 |
|
1150 |
|
|
1412 |
std::pair<Ipv4Address, uint32_t> un; |
1418 |
std::pair<Ipv4Address, uint32_t> un; |
1413 |
while (rerrHeader.RemoveUnDestination (un)) |
1419 |
while (rerrHeader.RemoveUnDestination (un)) |
1414 |
{ |
1420 |
{ |
1415 |
if (m_nb.IsNeighbor (un.first)) |
1421 |
for (std::map<Ipv4Address, uint32_t>::const_iterator i = |
1416 |
SendRerrWhenBreaksLinkToNextHop (un.first); |
1422 |
dstWithNextHopSrc.begin (); i != dstWithNextHopSrc.end (); ++i) |
1417 |
else |
1423 |
{ |
1418 |
{ |
1424 |
if (i->first == un.first) |
1419 |
for (std::map<Ipv4Address, uint32_t>::const_iterator i = |
1425 |
{ |
1420 |
dstWithNextHopSrc.begin (); i != dstWithNextHopSrc.end (); ++i) |
1426 |
unreachable.insert (un); |
1421 |
{ |
1427 |
} |
1422 |
if (i->first == un.first) |
1428 |
} |
1423 |
{ |
|
|
1424 |
unreachable.insert (un); |
1425 |
} |
1426 |
} |
1427 |
} |
1428 |
} |
1429 |
} |
1429 |
|
1430 |
|
1430 |
std::vector<Ipv4Address> precursors; |
1431 |
std::vector<Ipv4Address> precursors; |