time diagram + fixed hop count
This commit is contained in:
@@ -911,7 +911,7 @@ RoutingProtocol::SendReply (RreqHeader const & rreqHeader, RoutingTableEntry con
|
||||
*/
|
||||
if (!rreqHeader.GetUnknownSeqno () && (rreqHeader.GetDstSeqno () == m_seqNo + 1))
|
||||
m_seqNo++;
|
||||
RrepHeader rrepHeader ( /*prefixSize=*/0, /*hops=*/toOrigin.GetHop (), /*dst=*/rreqHeader.GetDst (),
|
||||
RrepHeader rrepHeader ( /*prefixSize=*/0, /*hops=*/0, /*dst=*/rreqHeader.GetDst (),
|
||||
/*dstSeqNo=*/m_seqNo, /*origin=*/toOrigin.GetDestination (), /*lifeTime=*/MyRouteTimeout);
|
||||
Ptr<Packet> packet = Create<Packet> ();
|
||||
packet->AddHeader (rrepHeader);
|
||||
|
||||
@@ -85,7 +85,7 @@ ChainRegressionTest::DoRun ()
|
||||
CreateDevices ();
|
||||
|
||||
// At m_time / 3 move central node away and see what will happen
|
||||
Ptr<Node> node = m_nodes->Get (m_size / 2 + 1);
|
||||
Ptr<Node> node = m_nodes->Get (m_size / 2);
|
||||
Ptr<MobilityModel> mob = node->GetObject<MobilityModel> ();
|
||||
Simulator::Schedule (m_time / Scalar(3.0), &MobilityModel::SetPosition, mob, Vector (1e5, 1e5, 1e5));
|
||||
|
||||
@@ -126,7 +126,7 @@ ChainRegressionTest::CreateDevices ()
|
||||
YansWifiChannelHelper wifiChannel = YansWifiChannelHelper::Default ();
|
||||
wifiPhy.SetChannel (wifiChannel.Create ());
|
||||
WifiHelper wifi = WifiHelper::Default ();
|
||||
wifi.SetRemoteStationManager ("ns3::ConstantRateWifiManager", "DataMode", StringValue ("wifia-6mbs"), "RtsCtsThreshold", UintegerValue (0));
|
||||
wifi.SetRemoteStationManager ("ns3::ConstantRateWifiManager", "DataMode", StringValue ("wifia-6mbs"), "RtsCtsThreshold", StringValue ("2200"));
|
||||
NetDeviceContainer devices = wifi.Install (wifiPhy, wifiMac, *m_nodes);
|
||||
|
||||
// 2. Setup TCP/IP & AODV
|
||||
|
||||
@@ -36,7 +36,111 @@ namespace aodv {
|
||||
* TODO: describe test topology and traffic
|
||||
*
|
||||
* \verbatim
|
||||
* TODO: draw expected packets time diagram
|
||||
Expected packets time diagram.
|
||||
1 2 3 4 5
|
||||
<------|------>| | | | RREQ (orig 10.1.1.1, dst 10.1.1.5, G=1, U=1, hop=0, ID=1, org_seqno=1) src = 10.1.1.1
|
||||
|<------|------>| | | RREQ (orig 10.1.1.1, dst 10.1.1.5, G=1, U=1, hop=1, ID=1, org_seqno=1) src = 10.1.1.2
|
||||
| |<------|------>| | RREQ (orig 10.1.1.1, dst 10.1.1.5, G=1, U=1, hop=2, ID=1, org_seqno=1) src = 10.1.1.3
|
||||
| | |<------|------>| RREQ (orig 10.1.1.1, dst 10.1.1.5, G=1, U=1, hop=3, ID=1, org_seqno=1) src = 10.1.1.4
|
||||
| | | |<------|------> ARP request. Who has 10.1.1.4? Tell 10.1.1.5
|
||||
| | | |======>| ARP reply
|
||||
| | | |<======| RREP (orig 10.1.1.1, dst 10.1.1.5, hop=0, dst_seqno=0) src=10.1.1.5
|
||||
| | |<------|------>| ARP request. Who has 10.1.1.3? Tell 10.1.1.4
|
||||
| | |======>| | ARP reply
|
||||
| | |<======| | RREP (orig 10.1.1.1, dst 10.1.1.5, hop=1, dst_seqno=0) src=10.1.1.4
|
||||
| |<------|------>| | ARP request. Who has 10.1.1.2? Tell 10.1.1.3
|
||||
| |======>| | | ARP reply
|
||||
| |<======| | | RREP (orig 10.1.1.1, dst 10.1.1.5, hop=2, dst_seqno=0) src=10.1.1.3
|
||||
|<------|------>| | | ARP request. Who has 10.1.1.1? Tell 10.1.1.2
|
||||
|======>| | | | ARP reply
|
||||
|<======| | | | RREP (orig 10.1.1.1, dst 10.1.1.5, hop=3, dst_seqno=0) src=10.1.1.2
|
||||
<-------|------>| | | | ARP request. Who has 10.1.1.2? Tell 10.1.1.1
|
||||
|<======| | | |
|
||||
|======>| | | | ICMP (ping) request 0 from 10.1.1.1 to 10.1.1.5; src=10.1.1.1 next_hop=10.1.1.2
|
||||
|<------|------>| | | ARP request. Who has 10.1.1.3? Tell 10.1.1.2
|
||||
| |<======| | | ARP reply
|
||||
| |======>| | | ICMP (ping) request 0 from 10.1.1.1 to 10.1.1.5; src=10.1.1.2 next_hop=10.1.1.3
|
||||
| |<------|------>| | ARP request. Who has 10.1.1.4? Tell 10.1.1.3
|
||||
| | |<======| | ARP reply
|
||||
| | |======>| | ICMP (ping) request 0 from 10.1.1.1 to 10.1.1.5; src=10.1.1.3 next_hop=10.1.1.4
|
||||
| | |<------|------>| ARP request. Who has 10.1.1.5? Tell 10.1.1.4
|
||||
| | | |<======| ARP reply
|
||||
| | | |======>| ICMP (ping) request 0; src=10.1.1.4 next_hop=10.1.1.5
|
||||
| | | |<======| ICMP (ping) reply 0; src=10.1.1.5 next_hop=10.1.1.4
|
||||
| | |<======| | ICMP (ping) reply 0; src=10.1.1.4 next_hop=10.1.1.3
|
||||
| |<======| | | ICMP (ping) reply 0; src=10.1.1.3 next_hop=10.1.1.2
|
||||
|<======| | | | ICMP (ping) reply 0; src=10.1.1.2 next_hop=10.1.1.1
|
||||
| | | |<------|------> Hello
|
||||
|<------|------>| | | Hello
|
||||
<------|------>| | | | Hello
|
||||
| |<------|------>| | Hello
|
||||
|======>| | | | ICMP (ping) request 1; src=10.1.1.1 next_hop=10.1.1.2
|
||||
| | |<------|------>| Hello
|
||||
| |======>| | | ICMP (ping) request 1; src=10.1.1.2 next_hop=10.1.1.3
|
||||
| | |======>| | ICMP (ping) request 1; src=10.1.1.3 next_hop=10.1.1.4
|
||||
| | | |======>| ICMP (ping) request 1; src=10.1.1.4 next_hop=10.1.1.5
|
||||
| | | |<======| ICMP (ping) reply 1; src=10.1.1.5 next_hop=10.1.1.4
|
||||
| | |<======| | ICMP (ping) reply 1; src=10.1.1.4 next_hop=10.1.1.3
|
||||
| |<======| | | ICMP (ping) reply 11; src=10.1.1.3 next_hop=10.1.1.2
|
||||
|<======| | | | ICMP (ping) reply 1; src=10.1.1.2 next_hop=10.1.1.1
|
||||
| | | |<------|------> Hello
|
||||
|<------|------>| | | Hello
|
||||
<------|------>| | | | Hello
|
||||
| | |<------|------>| Hello
|
||||
| |<------|------>| | Hello
|
||||
|======>| | | | ICMP (ping) request 2; src=10.1.1.1 next_hop=10.1.1.2
|
||||
| |======>| | | ICMP (ping) request 2; src=10.1.1.2 next_hop=10.1.1.3
|
||||
| | |======>| | ICMP (ping) request 2; src=10.1.1.3 next_hop=10.1.1.4
|
||||
| | | |======>| ICMP (ping) request 2; src=10.1.1.4 next_hop=10.1.1.5
|
||||
| | | |<======| ICMP (ping) reply 2; src=10.1.1.5 next_hop=10.1.1.4
|
||||
| | |<======| | ICMP (ping) reply 2; src=10.1.1.4 next_hop=10.1.1.3
|
||||
| |<======| | | ICMP (ping) reply 2; src=10.1.1.3 next_hop=10.1.1.2
|
||||
|<======| | | | ICMP (ping) reply 2; src=10.1.1.2 next_hop=10.1.1.1
|
||||
| | | |<------|------> Hello
|
||||
<------|------>| | | | Hello
|
||||
| |<------|------>| | Hello
|
||||
|<------|------>| | | Hello
|
||||
| | |<------|------>| Hello
|
||||
|======>| | | | ICMP (ping) request 3; src=10.1.1.1 next_hop=10.1.1.2
|
||||
| |======>| | | ICMP (ping) request 3; src=10.1.1.2 next_hop=10.1.1.3
|
||||
| | |======>| | ICMP (ping) request 3; src=10.1.1.3 next_hop=10.1.1.4
|
||||
| | | |======>| ICMP (ping) request 3; src=10.1.1.4 next_hop=10.1.1.5
|
||||
| | | |<======| ICMP (ping) reply 3; src=10.1.1.5 next_hop=10.1.1.4
|
||||
| | |<======| | ICMP (ping) reply 3; src=10.1.1.4 next_hop=10.1.1.3
|
||||
| |<======| | | ICMP (ping) reply 3; src=10.1.1.3 next_hop=10.1.1.2
|
||||
|<======| | | | ICMP (ping) reply 3; src=10.1.1.2 next_hop=10.1.1.1
|
||||
| | | |<------|------> Hello
|
||||
<------|------>| | | | Hello
|
||||
|<------|--> | | | Hello |
|
||||
| | <--|--> | | Hello |Node 3 move away => nobody hear his packets and node 3 doesn't hear anything !
|
||||
| | | <--|------>| Hello |
|
||||
|======>| | | | ICMP (ping) request 4; src=10.1.1.1 next_hop=10.1.1.2
|
||||
| |==> | | | ICMP (ping) request 4; src=10.1.1.2 next_hop=10.1.1.3. 7 retries.
|
||||
|<======| | | | RERR (unreachable dst 10.1.1.3 & 10.1.1.5) src=10.1.1.2
|
||||
| | | |<------|------> Hello
|
||||
<------|------>| | | | Hello
|
||||
|<------|--> | | | Hello
|
||||
| | <--|--> | | Hello
|
||||
| | | <--|------>| Hello
|
||||
<------|------>| | | | RREQ (orig 10.1.1.1, dst 10.1.1.5, G=1, hop=0, ID=2, org_seqno=2) src = 10.1.1.1
|
||||
|<------|--> | | | RREQ (orig 10.1.1.1, dst 10.1.1.5, G=1, hop=1, ID=2, org_seqno=1) src = 10.1.1.2
|
||||
| | | |<------|------> Hello
|
||||
| | | <--|------>| Hello
|
||||
| | <--|--> | | Hello
|
||||
<------|------>| | | | Hello
|
||||
<------|------>| | | | RREQ (orig 10.1.1.1, dst 10.1.1.5, G=1, hop=0, ID=3, org_seqno=3) src = 10.1.1.1
|
||||
|<------|--> | | | Hello
|
||||
|<------|--> | | | RREQ (orig 10.1.1.1, dst 10.1.1.5, G=1, hop=1, ID=3, org_seqno=3) src = 10.1.1.2
|
||||
| | | |======>| RERR (unreachable dst 10.1.1.1 & 10.1.1.3) src=10.1.1.4
|
||||
| | | |<------|------> Hello
|
||||
| | | <--|------>| Hello
|
||||
| | <--|--> | | Hello
|
||||
|<------|--> | | | Hello
|
||||
<------|------>| | | | Hello
|
||||
<------|------>| | | | RREQ (orig 10.1.1.1, dst 10.1.1.5, G=1, hop=0, ID=4, org_seqno=4) src = 10.1.1.1
|
||||
|<------|--> | | | RREQ (orig 10.1.1.1, dst 10.1.1.5, G=1, hop=1, ID=4, org_seqno=4) src = 10.1.1.2
|
||||
|
||||
..................................................................
|
||||
* \endverbatim
|
||||
*/
|
||||
class ChainRegressionTest : public TestCase
|
||||
|
||||
Reference in New Issue
Block a user