Bug 706
authorKirill Andreev <andreev@iitp.ru>
Fri, 26 Feb 2010 12:11:11 +0300
changeset 6080 41ee42654550
parent 6078 dadc420dc7e3
child 6081 bc98271320e7
Bug 706
src/devices/mesh/dot11s/test/hwmp-proactive-regression-test-0-1.pcap
src/devices/mesh/dot11s/test/hwmp-proactive-regression-test-1-1.pcap
src/devices/mesh/dot11s/test/hwmp-proactive-regression-test-2-1.pcap
src/devices/mesh/dot11s/test/hwmp-proactive-regression-test-3-1.pcap
src/devices/mesh/dot11s/test/hwmp-proactive-regression-test-4-1.pcap
src/devices/mesh/dot11s/test/hwmp-reactive-regression-test-0-1.pcap
src/devices/mesh/dot11s/test/hwmp-reactive-regression-test-1-1.pcap
src/devices/mesh/dot11s/test/hwmp-reactive-regression-test-2-1.pcap
src/devices/mesh/dot11s/test/hwmp-reactive-regression-test-3-1.pcap
src/devices/mesh/dot11s/test/hwmp-reactive-regression-test-4-1.pcap
src/devices/mesh/dot11s/test/hwmp-reactive-regression-test-5-1.pcap
src/devices/mesh/dot11s/test/hwmp-simplest-regression-test-0-1.pcap
src/devices/mesh/dot11s/test/hwmp-simplest-regression-test-1-1.pcap
src/devices/mesh/dot11s/test/hwmp-target-flags-regression-test-0-1.pcap
src/devices/mesh/dot11s/test/hwmp-target-flags-regression-test-1-1.pcap
src/devices/mesh/dot11s/test/hwmp-target-flags-regression-test-2-1.pcap
src/devices/mesh/dot11s/test/hwmp-target-flags-regression-test-3-1.pcap
src/devices/mesh/dot11s/test/pmp-regression-test-0-1.pcap
src/devices/mesh/dot11s/test/pmp-regression-test-1-1.pcap
src/devices/mesh/flame/test/flame-regression-test-0-1.pcap
src/devices/mesh/flame/test/flame-regression-test-1-1.pcap
src/devices/mesh/flame/test/flame-regression-test-2-1.pcap
src/devices/mesh/mesh-wifi-interface-mac.cc
src/devices/mesh/mesh-wifi-interface-mac.h
src/devices/wifi/adhoc-wifi-mac.cc
src/devices/wifi/adhoc-wifi-mac.h
src/devices/wifi/dca-txop.cc
src/devices/wifi/dca-txop.h
src/devices/wifi/edca-txop-n.cc
src/devices/wifi/edca-txop-n.h
src/devices/wifi/nqap-wifi-mac.cc
src/devices/wifi/nqsta-wifi-mac.cc
src/devices/wifi/nqsta-wifi-mac.h
src/devices/wifi/qadhoc-wifi-mac.cc
src/devices/wifi/qadhoc-wifi-mac.h
src/devices/wifi/qap-wifi-mac.cc
src/devices/wifi/qsta-wifi-mac.cc
src/devices/wifi/qsta-wifi-mac.h
src/routing/aodv/test/aodv-chain-regression-test-0-0.pcap
src/routing/aodv/test/aodv-chain-regression-test-1-0.pcap
src/routing/aodv/test/aodv-chain-regression-test-2-0.pcap
src/routing/aodv/test/aodv-chain-regression-test-3-0.pcap
src/routing/aodv/test/aodv-chain-regression-test-4-0.pcap
src/routing/aodv/test/bug-606-test-0-0.pcap
src/routing/aodv/test/bug-606-test-1-0.pcap
src/routing/aodv/test/bug-606-test-2-0.pcap
src/routing/olsr/test/bug780-0-0.pcap
src/routing/olsr/test/bug780-1-0.pcap
src/routing/olsr/test/bug780-2-0.pcap
src/routing/olsr/test/olsr-tc-regression-test-0-1.pcap
src/routing/olsr/test/olsr-tc-regression-test-1-1.pcap
src/routing/olsr/test/olsr-tc-regression-test-2-1.pcap
Binary file src/devices/mesh/dot11s/test/hwmp-proactive-regression-test-0-1.pcap has changed
Binary file src/devices/mesh/dot11s/test/hwmp-proactive-regression-test-1-1.pcap has changed
Binary file src/devices/mesh/dot11s/test/hwmp-proactive-regression-test-2-1.pcap has changed
Binary file src/devices/mesh/dot11s/test/hwmp-proactive-regression-test-3-1.pcap has changed
Binary file src/devices/mesh/dot11s/test/hwmp-proactive-regression-test-4-1.pcap has changed
Binary file src/devices/mesh/dot11s/test/hwmp-reactive-regression-test-0-1.pcap has changed
Binary file src/devices/mesh/dot11s/test/hwmp-reactive-regression-test-1-1.pcap has changed
Binary file src/devices/mesh/dot11s/test/hwmp-reactive-regression-test-2-1.pcap has changed
Binary file src/devices/mesh/dot11s/test/hwmp-reactive-regression-test-3-1.pcap has changed
Binary file src/devices/mesh/dot11s/test/hwmp-reactive-regression-test-4-1.pcap has changed
Binary file src/devices/mesh/dot11s/test/hwmp-reactive-regression-test-5-1.pcap has changed
Binary file src/devices/mesh/dot11s/test/hwmp-simplest-regression-test-0-1.pcap has changed
Binary file src/devices/mesh/dot11s/test/hwmp-simplest-regression-test-1-1.pcap has changed
Binary file src/devices/mesh/dot11s/test/hwmp-target-flags-regression-test-0-1.pcap has changed
Binary file src/devices/mesh/dot11s/test/hwmp-target-flags-regression-test-1-1.pcap has changed
Binary file src/devices/mesh/dot11s/test/hwmp-target-flags-regression-test-2-1.pcap has changed
Binary file src/devices/mesh/dot11s/test/hwmp-target-flags-regression-test-3-1.pcap has changed
Binary file src/devices/mesh/dot11s/test/pmp-regression-test-0-1.pcap has changed
Binary file src/devices/mesh/dot11s/test/pmp-regression-test-1-1.pcap has changed
Binary file src/devices/mesh/flame/test/flame-regression-test-0-1.pcap has changed
Binary file src/devices/mesh/flame/test/flame-regression-test-1-1.pcap has changed
Binary file src/devices/mesh/flame/test/flame-regression-test-2-1.pcap has changed
--- a/src/devices/mesh/mesh-wifi-interface-mac.cc	Thu Feb 25 22:45:40 2010 +0300
+++ b/src/devices/mesh/mesh-wifi-interface-mac.cc	Fri Feb 26 12:11:11 2010 +0300
@@ -724,6 +724,16 @@
 {
   m_txErrCallback (hdr);
 }
+void
+MeshWifiInterfaceMac::DoStart ()
+{
+  m_beaconDca->Start ();
+  for (Queues::iterator i = m_queues.begin (); i != m_queues.end (); i ++)
+  {
+    i->second->Start ();
+  }
+  WifiMac::DoStart ();
+}
 
 void 
 MeshWifiInterfaceMac::FinishConfigureStandard (enum WifiPhyStandard standard)
--- a/src/devices/mesh/mesh-wifi-interface-mac.h	Thu Feb 25 22:45:40 2010 +0300
+++ b/src/devices/mesh/mesh-wifi-interface-mac.h	Fri Feb 26 12:11:11 2010 +0300
@@ -180,6 +180,8 @@
   bool GetBeaconGeneration () const;
   /// Real d-tor
   virtual void DoDispose ();
+  ///Initiator at t=0
+  void DoStart ();
 
 private:
   typedef std::map<AccessClass, Ptr<DcaTxop> > Queues;
--- a/src/devices/wifi/adhoc-wifi-mac.cc	Thu Feb 25 22:45:40 2010 +0300
+++ b/src/devices/wifi/adhoc-wifi-mac.cc	Fri Feb 26 12:11:11 2010 +0300
@@ -293,4 +293,11 @@
 {
   m_txErrCallback (hdr);
 }
+void
+AdhocWifiMac::DoStart ()
+{
+  m_dca->Start ();
+  WifiMac::DoStart ();
+}
+
 } // namespace ns3
--- a/src/devices/wifi/adhoc-wifi-mac.h	Thu Feb 25 22:45:40 2010 +0300
+++ b/src/devices/wifi/adhoc-wifi-mac.h	Fri Feb 26 12:11:11 2010 +0300
@@ -82,6 +82,7 @@
 private:
   // inherited from Object base class.
   virtual void DoDispose (void);
+  void DoStart ();
   /* invoked by the MacLows. */
   void ForwardUp (Ptr<Packet> packet, const WifiMacHeader *hdr);
   AdhocWifiMac (const AdhocWifiMac & ctor_arg);
--- a/src/devices/wifi/dca-txop.cc	Thu Feb 25 22:45:40 2010 +0300
+++ b/src/devices/wifi/dca-txop.cc	Fri Feb 26 12:11:11 2010 +0300
@@ -268,6 +268,13 @@
                                     packet);
 }
 
+void
+DcaTxop::DoStart ()
+{
+  m_dcf->ResetCw ();
+  m_dcf->StartBackoffNow (m_rng->GetNext (0, m_dcf->GetCw ()));
+  ns3::Dcf::DoStart ();
+}
 bool
 DcaTxop::NeedRtsRetransmission (void)
 {
--- a/src/devices/wifi/dca-txop.h	Thu Feb 25 22:45:40 2010 +0300
+++ b/src/devices/wifi/dca-txop.h	Fri Feb 26 12:11:11 2010 +0300
@@ -121,7 +121,7 @@
 
   // Inherited from ns3::Object
   Ptr<MacLow> Low (void);
-
+  void DoStart ();
   /* dcf notifications forwarded here */
   bool NeedsAccess (void) const;
   void NotifyAccessGranted (void);
--- a/src/devices/wifi/edca-txop-n.cc	Thu Feb 25 22:45:40 2010 +0300
+++ b/src/devices/wifi/edca-txop-n.cc	Fri Feb 26 12:11:11 2010 +0300
@@ -1080,5 +1080,11 @@
 
   PushFront (packet, hdr);
 }
-
+void
+EdcaTxopN::DoStart ()
+{
+  m_dcf->ResetCw ();
+  m_dcf->StartBackoffNow (m_rng->GetNext (0, m_dcf->GetCw ()));
+  ns3::Dcf::DoStart ();
+}
 } //namespace ns3
--- a/src/devices/wifi/edca-txop-n.h	Thu Feb 25 22:45:40 2010 +0300
+++ b/src/devices/wifi/edca-txop-n.h	Fri Feb 26 12:11:11 2010 +0300
@@ -147,6 +147,7 @@
   void SendDelbaFrame (Mac48Address addr, uint8_t tid, bool byOriginator);
 
 private:
+  void DoStart ();
   /**
    * This functions are used only to correctly set addresses in a-msdu subframe.
    * If aggregating sta is a STA (in an infrastructured network):
--- a/src/devices/wifi/nqap-wifi-mac.cc	Thu Feb 25 22:45:40 2010 +0300
+++ b/src/devices/wifi/nqap-wifi-mac.cc	Fri Feb 26 12:11:11 2010 +0300
@@ -603,6 +603,8 @@
     {
       m_beaconEvent = Simulator::ScheduleNow (&NqapWifiMac::SendOneBeacon, this);
     }
+  m_dca->Start ();
+  m_beaconDca->Start ();
   WifiMac::DoStart ();
 }
 
--- a/src/devices/wifi/nqsta-wifi-mac.cc	Thu Feb 25 22:45:40 2010 +0300
+++ b/src/devices/wifi/nqsta-wifi-mac.cc	Fri Feb 26 12:11:11 2010 +0300
@@ -686,5 +686,10 @@
       break;
     }
 }
-
+void
+NqstaWifiMac::DoStart ()
+{
+  m_dca->Start ();
+  WifiMac::DoStart ();
+}
 } // namespace ns3
--- a/src/devices/wifi/nqsta-wifi-mac.h	Thu Feb 25 22:45:40 2010 +0300
+++ b/src/devices/wifi/nqsta-wifi-mac.h	Fri Feb 26 12:11:11 2010 +0300
@@ -119,6 +119,7 @@
     BEACON_MISSED,
     REFUSED
   };
+  void DoStart ();
   void SetBssid (Mac48Address bssid);
   void SetActiveProbing (bool enable);
   bool GetActiveProbing (void) const;
--- a/src/devices/wifi/qadhoc-wifi-mac.cc	Thu Feb 25 22:45:40 2010 +0300
+++ b/src/devices/wifi/qadhoc-wifi-mac.cc	Fri Feb 26 12:11:11 2010 +0300
@@ -108,10 +108,6 @@
   m_dcfManager = 0;
   m_low = 0;
   m_phy = 0;
-  m_voEdca = 0;
-  m_viEdca = 0;
-  m_beEdca = 0;
-  m_bkEdca = 0;
   m_stationManager = 0;
   for (Queues::iterator i = m_queues.begin (); i != m_queues.end (); ++i)
     {
@@ -445,6 +441,15 @@
 {
   return m_queues.find (AC_BE)->second;
 }
+void
+QadhocWifiMac::DoStart ()
+{
+  for (Queues::iterator i = m_queues.begin (); i != m_queues.end (); ++i)
+    {
+      i->second->Start ();
+    }
+  WifiMac::DoStart ();
+}
 
 Ptr<EdcaTxopN>
 QadhocWifiMac::GetBKQueue (void) const
--- a/src/devices/wifi/qadhoc-wifi-mac.h	Thu Feb 25 22:45:40 2010 +0300
+++ b/src/devices/wifi/qadhoc-wifi-mac.h	Fri Feb 26 12:11:11 2010 +0300
@@ -83,6 +83,7 @@
 private:
   Callback<void, Ptr<Packet>, Mac48Address, Mac48Address> m_forwardUp;
   virtual void DoDispose (void);
+  void DoStart ();
   void Receive (Ptr<Packet> packet, const WifiMacHeader *hdr);
   void ForwardUp (Ptr<Packet> packet, Mac48Address from, Mac48Address to);
   QadhocWifiMac &operator = (const QadhocWifiMac &);
@@ -107,10 +108,6 @@
   Ptr<EdcaTxopN> GetBKQueue (void) const;
 
   Queues m_queues;
-  Ptr<EdcaTxopN> m_voEdca;
-  Ptr<EdcaTxopN> m_viEdca;
-  Ptr<EdcaTxopN> m_beEdca;
-  Ptr<EdcaTxopN> m_bkEdca;
   Ptr<MacLow> m_low;
   Ptr<WifiPhy> m_phy;
   Ptr<WifiRemoteStationManager> m_stationManager;
--- a/src/devices/wifi/qap-wifi-mac.cc	Thu Feb 25 22:45:40 2010 +0300
+++ b/src/devices/wifi/qap-wifi-mac.cc	Fri Feb 26 12:11:11 2010 +0300
@@ -851,6 +851,11 @@
 void
 QapWifiMac::DoStart (void)
 {
+  m_beaconDca->Start ();
+  for (Queues::iterator i = m_queues.begin (); i != m_queues.end (); ++i)
+    {
+      i->second->Start ();
+    }
   m_beaconEvent.Cancel ();
   if (m_enableBeaconGeneration)
     {
--- a/src/devices/wifi/qsta-wifi-mac.cc	Thu Feb 25 22:45:40 2010 +0300
+++ b/src/devices/wifi/qsta-wifi-mac.cc	Fri Feb 26 12:11:11 2010 +0300
@@ -796,6 +796,15 @@
   edca->CompleteConfig ();
   m_queues.insert (std::make_pair(ac, edca));
 }
+void
+QstaWifiMac::DoStart ()
+{
+  for (Queues::iterator i = m_queues.begin (); i != m_queues.end (); ++i)
+    {
+      i->second->Start ();
+    }
+  WifiMac::DoStart ();
+}
 
 void 
 QstaWifiMac::FinishConfigureStandard (enum WifiPhyStandard standard)
--- a/src/devices/wifi/qsta-wifi-mac.h	Thu Feb 25 22:45:40 2010 +0300
+++ b/src/devices/wifi/qsta-wifi-mac.h	Fri Feb 26 12:11:11 2010 +0300
@@ -92,6 +92,7 @@
   void StartActiveAssociation (void);
 
 private:
+  void DoStart ();
   void SetBssid (Mac48Address bssid);
   Mac48Address GetBroadcastBssid (void);
   void Receive (Ptr<Packet> p, const WifiMacHeader *hdr);
Binary file src/routing/aodv/test/aodv-chain-regression-test-0-0.pcap has changed
Binary file src/routing/aodv/test/aodv-chain-regression-test-1-0.pcap has changed
Binary file src/routing/aodv/test/aodv-chain-regression-test-2-0.pcap has changed
Binary file src/routing/aodv/test/aodv-chain-regression-test-3-0.pcap has changed
Binary file src/routing/aodv/test/aodv-chain-regression-test-4-0.pcap has changed
Binary file src/routing/aodv/test/bug-606-test-0-0.pcap has changed
Binary file src/routing/aodv/test/bug-606-test-1-0.pcap has changed
Binary file src/routing/aodv/test/bug-606-test-2-0.pcap has changed
Binary file src/routing/olsr/test/bug780-0-0.pcap has changed
Binary file src/routing/olsr/test/bug780-1-0.pcap has changed
Binary file src/routing/olsr/test/bug780-2-0.pcap has changed
Binary file src/routing/olsr/test/olsr-tc-regression-test-0-1.pcap has changed
Binary file src/routing/olsr/test/olsr-tc-regression-test-1-1.pcap has changed
Binary file src/routing/olsr/test/olsr-tc-regression-test-2-1.pcap has changed