Partially clean up function logging of wifi module.
authorEdvin Močibob <edvin.mocibob@gmail.com>
Sat, 20 Apr 2013 00:30:06 +0200
changeset 9705 43fa2408aa05
parent 9704 1db7690f8e8f
child 9706 f5e3b185f047
Partially clean up function logging of wifi module.
src/wifi/model/aarf-wifi-manager.cc
src/wifi/model/aarfcd-wifi-manager.cc
src/wifi/model/adhoc-wifi-mac.cc
src/wifi/model/amrr-wifi-manager.cc
src/wifi/model/amsdu-subframe-header.cc
src/wifi/model/ap-wifi-mac.cc
src/wifi/model/arf-wifi-manager.cc
src/wifi/model/block-ack-agreement.cc
src/wifi/model/block-ack-cache.cc
src/wifi/model/block-ack-manager.cc
src/wifi/model/capability-information.cc
src/wifi/model/cara-wifi-manager.cc
src/wifi/model/constant-rate-wifi-manager.cc
src/wifi/model/ctrl-headers.cc
--- a/src/wifi/model/aarf-wifi-manager.cc	Sat Apr 20 00:29:36 2013 +0200
+++ b/src/wifi/model/aarf-wifi-manager.cc	Sat Apr 20 00:30:06 2013 +0200
@@ -84,14 +84,17 @@
 
 AarfWifiManager::AarfWifiManager ()
 {
+  NS_LOG_FUNCTION (this);
 }
 AarfWifiManager::~AarfWifiManager ()
 {
+  NS_LOG_FUNCTION (this);
 }
 
 WifiRemoteStation *
 AarfWifiManager::DoCreateStation (void) const
 {
+  NS_LOG_FUNCTION (this);
   AarfWifiRemoteStation *station = new AarfWifiRemoteStation ();
 
   station->m_successThreshold = m_minSuccessThreshold;
@@ -109,6 +112,7 @@
 void
 AarfWifiManager::DoReportRtsFailed (WifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
 }
 /**
  * It is important to realize that "recovery" mode starts after failure of
@@ -122,6 +126,7 @@
 void
 AarfWifiManager::DoReportDataFailed (WifiRemoteStation *st)
 {
+  NS_LOG_FUNCTION (this << st);
   AarfWifiRemoteStation *station = (AarfWifiRemoteStation *)st;
   station->m_timer++;
   station->m_failed++;
@@ -168,17 +173,20 @@
 AarfWifiManager::DoReportRxOk (WifiRemoteStation *station,
                                double rxSnr, WifiMode txMode)
 {
+  NS_LOG_FUNCTION (this << station << rxSnr << txMode);
 }
 void
 AarfWifiManager::DoReportRtsOk (WifiRemoteStation *station,
                                 double ctsSnr, WifiMode ctsMode, double rtsSnr)
 {
+  NS_LOG_FUNCTION (this << station << ctsSnr << ctsMode << rtsSnr);
   NS_LOG_DEBUG ("station=" << station << " rts ok");
 }
 void
 AarfWifiManager::DoReportDataOk (WifiRemoteStation *st,
                                  double ackSnr, WifiMode ackMode, double dataSnr)
 {
+  NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr);
   AarfWifiRemoteStation *station = (AarfWifiRemoteStation *) st;
   station->m_timer++;
   station->m_success++;
@@ -200,21 +208,25 @@
 void
 AarfWifiManager::DoReportFinalRtsFailed (WifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
 }
 void
 AarfWifiManager::DoReportFinalDataFailed (WifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
 }
 
 WifiMode
 AarfWifiManager::DoGetDataMode (WifiRemoteStation *st, uint32_t size)
 {
+  NS_LOG_FUNCTION (this << st << size);
   AarfWifiRemoteStation *station = (AarfWifiRemoteStation *) st;
   return GetSupported (station, station->m_rate);
 }
 WifiMode
 AarfWifiManager::DoGetRtsMode (WifiRemoteStation *st)
 {
+  NS_LOG_FUNCTION (this << st);
   // XXX: we could/should implement the Aarf algorithm for
   // RTS only by picking a single rate within the BasicRateSet.
   AarfWifiRemoteStation *station = (AarfWifiRemoteStation *) st;
@@ -224,6 +236,7 @@
 bool
 AarfWifiManager::IsLowLatency (void) const
 {
+  NS_LOG_FUNCTION (this);
   return true;
 }
 
--- a/src/wifi/model/aarfcd-wifi-manager.cc	Sat Apr 20 00:29:36 2013 +0200
+++ b/src/wifi/model/aarfcd-wifi-manager.cc	Sat Apr 20 00:30:06 2013 +0200
@@ -111,13 +111,16 @@
 AarfcdWifiManager::AarfcdWifiManager ()
   : WifiRemoteStationManager ()
 {
+  NS_LOG_FUNCTION (this);
 }
 AarfcdWifiManager::~AarfcdWifiManager ()
 {
+  NS_LOG_FUNCTION (this);
 }
 WifiRemoteStation *
 AarfcdWifiManager::DoCreateStation (void) const
 {
+  NS_LOG_FUNCTION (this);
   AarfcdWifiRemoteStation *station = new AarfcdWifiRemoteStation ();
 
   // aarf fields below
@@ -143,6 +146,7 @@
 void
 AarfcdWifiManager::DoReportRtsFailed (WifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
 }
 /**
  * It is important to realize that "recovery" mode starts after failure of
@@ -156,7 +160,7 @@
 void
 AarfcdWifiManager::DoReportDataFailed (WifiRemoteStation *st)
 {
-
+  NS_LOG_FUNCTION (this << st);
   AarfcdWifiRemoteStation *station = (AarfcdWifiRemoteStation *)st;
   station->m_timer++;
   station->m_failed++;
@@ -235,11 +239,13 @@
 AarfcdWifiManager::DoReportRxOk (WifiRemoteStation *station,
                                  double rxSnr, WifiMode txMode)
 {
+  NS_LOG_FUNCTION (this << station << rxSnr << txMode);
 }
 void
 AarfcdWifiManager::DoReportRtsOk (WifiRemoteStation *st,
                                   double ctsSnr, WifiMode ctsMode, double rtsSnr)
 {
+  NS_LOG_FUNCTION (this << st << ctsSnr << ctsMode << rtsSnr);
   AarfcdWifiRemoteStation *station = (AarfcdWifiRemoteStation *) st;
   NS_LOG_DEBUG ("station=" << station << " rts ok");
   station->m_rtsCounter--;
@@ -248,6 +254,7 @@
 AarfcdWifiManager::DoReportDataOk (WifiRemoteStation *st,
                                    double ackSnr, WifiMode ackMode, double dataSnr)
 {
+  NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr);
   AarfcdWifiRemoteStation *station = (AarfcdWifiRemoteStation *) st;
   station->m_timer++;
   station->m_success++;
@@ -279,21 +286,25 @@
 void
 AarfcdWifiManager::DoReportFinalRtsFailed (WifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
 }
 void
 AarfcdWifiManager::DoReportFinalDataFailed (WifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
 }
 
 WifiMode
 AarfcdWifiManager::DoGetDataMode (WifiRemoteStation *st, uint32_t size)
 {
+  NS_LOG_FUNCTION (this << st << size);
   AarfcdWifiRemoteStation *station = (AarfcdWifiRemoteStation *) st;
   return GetSupported (station, station->m_rate);
 }
 WifiMode
 AarfcdWifiManager::DoGetRtsMode (WifiRemoteStation *st)
 {
+  NS_LOG_FUNCTION (this << st);
   // XXX: we could/should implement the Aarf algorithm for
   // RTS only by picking a single rate within the BasicRateSet.
   AarfcdWifiRemoteStation *station = (AarfcdWifiRemoteStation *) st;
@@ -304,6 +315,7 @@
 AarfcdWifiManager::DoNeedRts (WifiRemoteStation *st,
                               Ptr<const Packet> packet, bool normally)
 {
+  NS_LOG_FUNCTION (this << st << packet << normally);
   AarfcdWifiRemoteStation *station = (AarfcdWifiRemoteStation *) st;
   NS_LOG_INFO ("" << station << " rate=" << station->m_rate << " rts=" << (station->m_rtsOn ? "RTS" : "BASIC") <<
                " rtsCounter=" << station->m_rtsCounter);
@@ -313,12 +325,14 @@
 bool
 AarfcdWifiManager::IsLowLatency (void) const
 {
+  NS_LOG_FUNCTION (this);
   return true;
 }
 
 void
 AarfcdWifiManager::CheckRts (AarfcdWifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
   if (station->m_rtsCounter == 0 && station->m_rtsOn)
     {
       TurnOffRts (station);
@@ -328,6 +342,7 @@
 void
 AarfcdWifiManager::TurnOffRts (AarfcdWifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
   station->m_rtsOn = false;
   station->m_haveASuccess = false;
 }
@@ -335,12 +350,14 @@
 void
 AarfcdWifiManager::TurnOnRts (AarfcdWifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
   station->m_rtsOn = true;
 }
 
 void
 AarfcdWifiManager::IncreaseRtsWnd (AarfcdWifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
   if (station->m_rtsWnd == m_maxRtsWnd)
     {
       return;
@@ -356,6 +373,7 @@
 void
 AarfcdWifiManager::ResetRtsWnd (AarfcdWifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
   station->m_rtsWnd = m_minRtsWnd;
 }
 
--- a/src/wifi/model/adhoc-wifi-mac.cc	Sat Apr 20 00:29:36 2013 +0200
+++ b/src/wifi/model/adhoc-wifi-mac.cc	Sat Apr 20 00:30:06 2013 +0200
@@ -68,6 +68,7 @@
 void
 AdhocWifiMac::SetAddress (Mac48Address address)
 {
+  NS_LOG_FUNCTION (this << address);
   // In an IBSS, the BSSID is supposed to be generated per Section
   // 11.1.3 of IEEE 802.11. We don't currently do this - instead we
   // make an IBSS STA a bit like an AP, with the BSSID for frames
@@ -152,7 +153,7 @@
 void
 AdhocWifiMac::SetLinkUpCallback (Callback<void> linkUp)
 {
-  NS_LOG_FUNCTION (this);
+  NS_LOG_FUNCTION (this << &linkUp);
   RegularWifiMac::SetLinkUpCallback (linkUp);
 
   // The approach taken here is that, from the point of view of a STA
--- a/src/wifi/model/amrr-wifi-manager.cc	Sat Apr 20 00:29:36 2013 +0200
+++ b/src/wifi/model/amrr-wifi-manager.cc	Sat Apr 20 00:30:06 2013 +0200
@@ -81,11 +81,13 @@
 
 AmrrWifiManager::AmrrWifiManager ()
 {
+  NS_LOG_FUNCTION (this);
 }
 
 WifiRemoteStation *
 AmrrWifiManager::DoCreateStation (void) const
 {
+  NS_LOG_FUNCTION (this);
   AmrrWifiRemoteStation *station = new AmrrWifiRemoteStation ();
   station->m_nextModeUpdate = Simulator::Now () + m_updatePeriod;
   station->m_tx_ok = 0;
@@ -104,14 +106,17 @@
 AmrrWifiManager::DoReportRxOk (WifiRemoteStation *station,
                                double rxSnr, WifiMode txMode)
 {
+  NS_LOG_FUNCTION (this << station << rxSnr << txMode);
 }
 void
 AmrrWifiManager::DoReportRtsFailed (WifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
 }
 void
 AmrrWifiManager::DoReportDataFailed (WifiRemoteStation *st)
 {
+  NS_LOG_FUNCTION (this << st);
   AmrrWifiRemoteStation *station = (AmrrWifiRemoteStation *)st;
   station->m_retry++;
   station->m_tx_retr++;
@@ -120,11 +125,13 @@
 AmrrWifiManager::DoReportRtsOk (WifiRemoteStation *st,
                                 double ctsSnr, WifiMode ctsMode, double rtsSnr)
 {
+  NS_LOG_FUNCTION (this << st << ctsSnr << ctsMode << rtsSnr);
 }
 void
 AmrrWifiManager::DoReportDataOk (WifiRemoteStation *st,
                                  double ackSnr, WifiMode ackMode, double dataSnr)
 {
+  NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr);
   AmrrWifiRemoteStation *station = (AmrrWifiRemoteStation *)st;
   station->m_retry = 0;
   station->m_tx_ok++;
@@ -132,10 +139,12 @@
 void
 AmrrWifiManager::DoReportFinalRtsFailed (WifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
 }
 void
 AmrrWifiManager::DoReportFinalDataFailed (WifiRemoteStation *st)
 {
+  NS_LOG_FUNCTION (this << st);
   AmrrWifiRemoteStation *station = (AmrrWifiRemoteStation *)st;
   station->m_retry = 0;
   station->m_tx_err++;
@@ -143,32 +152,38 @@
 bool
 AmrrWifiManager::IsMinRate (AmrrWifiRemoteStation *station) const
 {
+  NS_LOG_FUNCTION (this << station);
   return (station->m_txrate == 0);
 }
 bool
 AmrrWifiManager::IsMaxRate (AmrrWifiRemoteStation *station) const
 {
+  NS_LOG_FUNCTION (this << station);
   NS_ASSERT (station->m_txrate + 1 <= GetNSupported (station));
   return (station->m_txrate + 1 == GetNSupported (station));
 }
 bool
 AmrrWifiManager::IsSuccess (AmrrWifiRemoteStation *station) const
 {
+  NS_LOG_FUNCTION (this << station);
   return (station->m_tx_retr + station->m_tx_err) < station->m_tx_ok * m_successRatio;
 }
 bool
 AmrrWifiManager::IsFailure (AmrrWifiRemoteStation *station) const
 {
+  NS_LOG_FUNCTION (this << station);
   return (station->m_tx_retr + station->m_tx_err) > station->m_tx_ok * m_failureRatio;
 }
 bool
 AmrrWifiManager::IsEnough (AmrrWifiRemoteStation *station) const
 {
+  NS_LOG_FUNCTION (this << station);
   return (station->m_tx_retr + station->m_tx_err + station->m_tx_ok) > 10;
 }
 void
 AmrrWifiManager::ResetCnt (AmrrWifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
   station->m_tx_ok = 0;
   station->m_tx_err = 0;
   station->m_tx_retr = 0;
@@ -176,18 +191,21 @@
 void
 AmrrWifiManager::IncreaseRate (AmrrWifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
   station->m_txrate++;
   NS_ASSERT (station->m_txrate < GetNSupported (station));
 }
 void
 AmrrWifiManager::DecreaseRate (AmrrWifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
   station->m_txrate--;
 }
 
 void
 AmrrWifiManager::UpdateMode (AmrrWifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
   if (Simulator::Now () < station->m_nextModeUpdate)
     {
       return;
@@ -252,6 +270,7 @@
 WifiMode
 AmrrWifiManager::DoGetDataMode (WifiRemoteStation *st, uint32_t size)
 {
+  NS_LOG_FUNCTION (this << st << size);
   AmrrWifiRemoteStation *station = (AmrrWifiRemoteStation *)st;
   UpdateMode (station);
   NS_ASSERT (station->m_txrate < GetNSupported (station));
@@ -299,6 +318,7 @@
 WifiMode
 AmrrWifiManager::DoGetRtsMode (WifiRemoteStation *st)
 {
+  NS_LOG_FUNCTION (this << st);
   AmrrWifiRemoteStation *station = (AmrrWifiRemoteStation *)st;
   UpdateMode (station);
   // XXX: can we implement something smarter ?
@@ -309,6 +329,7 @@
 bool
 AmrrWifiManager::IsLowLatency (void) const
 {
+  NS_LOG_FUNCTION (this);
   return true;
 }
 
--- a/src/wifi/model/amsdu-subframe-header.cc	Sat Apr 20 00:29:36 2013 +0200
+++ b/src/wifi/model/amsdu-subframe-header.cc	Sat Apr 20 00:30:06 2013 +0200
@@ -19,6 +19,9 @@
  */
 #include "amsdu-subframe-header.h"
 #include "ns3/address-utils.h"
+#include "ns3/log.h"
+
+NS_LOG_COMPONENT_DEFINE ("AmsduSubframeHeader");
 
 namespace ns3 {
 
@@ -43,21 +46,25 @@
 AmsduSubframeHeader::AmsduSubframeHeader ()
   : m_length (0)
 {
+  NS_LOG_FUNCTION (this);
 }
 
 AmsduSubframeHeader::~AmsduSubframeHeader ()
 {
+  NS_LOG_FUNCTION (this);
 }
 
 uint32_t
 AmsduSubframeHeader::GetSerializedSize () const
 {
+  NS_LOG_FUNCTION (this);
   return (6 + 6 + 2);
 }
 
 void
 AmsduSubframeHeader::Serialize (Buffer::Iterator i) const
 {
+  NS_LOG_FUNCTION (this << &i);
   WriteTo (i, m_da);
   WriteTo (i, m_sa);
   i.WriteHtonU16 (m_length);
@@ -66,6 +73,7 @@
 uint32_t
 AmsduSubframeHeader::Deserialize (Buffer::Iterator start)
 {
+  NS_LOG_FUNCTION (this << &start);
   Buffer::Iterator i = start;
   ReadFrom (i, m_da);
   ReadFrom (i, m_sa);
@@ -76,42 +84,49 @@
 void
 AmsduSubframeHeader::Print (std::ostream &os) const
 {
+  NS_LOG_FUNCTION (this << &os);
   os << "DA = " << m_da << ", SA = " << m_sa << ", length = " << m_length;
 }
 
 void
 AmsduSubframeHeader::SetDestinationAddr (Mac48Address to)
 {
+  NS_LOG_FUNCTION (this << to);
   m_da = to;
 }
 
 void
 AmsduSubframeHeader::SetSourceAddr (Mac48Address from)
 {
+  NS_LOG_FUNCTION (this << from);
   m_sa = from;
 }
 
 void
 AmsduSubframeHeader::SetLength (uint16_t length)
 {
+  NS_LOG_FUNCTION (this << length);
   m_length = length;
 }
 
 Mac48Address
 AmsduSubframeHeader::GetDestinationAddr (void) const
 {
+  NS_LOG_FUNCTION (this);
   return m_da;
 }
 
 Mac48Address
 AmsduSubframeHeader::GetSourceAddr (void) const
 {
+  NS_LOG_FUNCTION (this);
   return m_sa;
 }
 
 uint16_t
 AmsduSubframeHeader::GetLength (void) const
 {
+  NS_LOG_FUNCTION (this);
   return m_length;
 }
 
--- a/src/wifi/model/ap-wifi-mac.cc	Sat Apr 20 00:29:36 2013 +0200
+++ b/src/wifi/model/ap-wifi-mac.cc	Sat Apr 20 00:30:06 2013 +0200
@@ -98,6 +98,7 @@
 void
 ApWifiMac::SetAddress (Mac48Address address)
 {
+  NS_LOG_FUNCTION (this << address);
   // As an AP, our MAC address is also the BSSID. Hence we are
   // overriding this function and setting both in our parent class.
   RegularWifiMac::SetAddress (address);
@@ -122,12 +123,14 @@
 bool
 ApWifiMac::GetBeaconGeneration (void) const
 {
+  NS_LOG_FUNCTION (this);
   return m_enableBeaconGeneration;
 }
 
 Time
 ApWifiMac::GetBeaconInterval (void) const
 {
+  NS_LOG_FUNCTION (this);
   return m_beaconInterval;
 }
 
@@ -142,7 +145,7 @@
 void
 ApWifiMac::SetLinkUpCallback (Callback<void> linkUp)
 {
-  NS_LOG_FUNCTION (this);
+  NS_LOG_FUNCTION (this << &linkUp);
   RegularWifiMac::SetLinkUpCallback (linkUp);
 
   // The approach taken here is that, from the point of view of an AP,
@@ -173,6 +176,7 @@
 ApWifiMac::ForwardDown (Ptr<const Packet> packet, Mac48Address from,
                         Mac48Address to)
 {
+  NS_LOG_FUNCTION (this << packet << from << to);
   // If we are not a QoS AP then we definitely want to use AC_BE to
   // transmit the packet. A TID of zero will map to AC_BE (through \c
   // QosUtilsMapTidToAc()), so we use that as our default here.
@@ -198,7 +202,7 @@
 ApWifiMac::ForwardDown (Ptr<const Packet> packet, Mac48Address from,
                         Mac48Address to, uint8_t tid)
 {
-  NS_LOG_FUNCTION (this << packet << from << to);
+  NS_LOG_FUNCTION (this << packet << from << to << static_cast<uint32_t> (tid));
   WifiMacHeader hdr;
 
   // For now, an AP that supports QoS does not support non-QoS
@@ -254,6 +258,7 @@
 void
 ApWifiMac::Enqueue (Ptr<const Packet> packet, Mac48Address to)
 {
+  NS_LOG_FUNCTION (this << packet << to);
   // We're sending this packet with a from address that is our own. We
   // get that address from the lower MAC and make use of the
   // from-spoofing Enqueue() method to avoid duplicated code.
@@ -263,12 +268,14 @@
 bool
 ApWifiMac::SupportsSendFrom (void) const
 {
+  NS_LOG_FUNCTION (this);
   return true;
 }
 
 SupportedRates
 ApWifiMac::GetSupportedRates (void) const
 {
+  NS_LOG_FUNCTION (this);
   // send the set of supported rates and make sure that we indicate
   // the Basic Rate set in this set of supported rates.
   SupportedRates rates;
@@ -542,6 +549,7 @@
 ApWifiMac::DeaggregateAmsduAndForward (Ptr<Packet> aggregatedPacket,
                                        const WifiMacHeader *hdr)
 {
+  NS_LOG_FUNCTION (this << aggregatedPacket << hdr);
   MsduAggregator::DeaggregatedMsdus packets =
     MsduAggregator::Deaggregate (aggregatedPacket);
 
@@ -566,6 +574,7 @@
 void
 ApWifiMac::DoInitialize (void)
 {
+  NS_LOG_FUNCTION (this);
   m_beaconDca->Initialize ();
   m_beaconEvent.Cancel ();
   if (m_enableBeaconGeneration)
--- a/src/wifi/model/arf-wifi-manager.cc	Sat Apr 20 00:29:36 2013 +0200
+++ b/src/wifi/model/arf-wifi-manager.cc	Sat Apr 20 00:30:06 2013 +0200
@@ -65,13 +65,16 @@
 
 ArfWifiManager::ArfWifiManager ()
 {
+  NS_LOG_FUNCTION (this);
 }
 ArfWifiManager::~ArfWifiManager ()
 {
+  NS_LOG_FUNCTION (this);
 }
 WifiRemoteStation *
 ArfWifiManager::DoCreateStation (void) const
 {
+  NS_LOG_FUNCTION (this);
   ArfWifiRemoteStation *station = new ArfWifiRemoteStation ();
 
   station->m_successThreshold = m_successThreshold;
@@ -89,6 +92,7 @@
 void
 ArfWifiManager::DoReportRtsFailed (WifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
 }
 /**
  * It is important to realize that "recovery" mode starts after failure of
@@ -102,6 +106,7 @@
 void
 ArfWifiManager::DoReportDataFailed (WifiRemoteStation *st)
 {
+  NS_LOG_FUNCTION (this << st);
   ArfWifiRemoteStation *station = (ArfWifiRemoteStation *)st;
   station->m_timer++;
   station->m_failed++;
@@ -142,15 +147,18 @@
 ArfWifiManager::DoReportRxOk (WifiRemoteStation *station,
                               double rxSnr, WifiMode txMode)
 {
+  NS_LOG_FUNCTION (this << station << rxSnr << txMode);
 }
 void ArfWifiManager::DoReportRtsOk (WifiRemoteStation *station,
                                     double ctsSnr, WifiMode ctsMode, double rtsSnr)
 {
+  NS_LOG_FUNCTION (this << station << ctsSnr << ctsMode << rtsSnr);
   NS_LOG_DEBUG ("station=" << station << " rts ok");
 }
 void ArfWifiManager::DoReportDataOk (WifiRemoteStation *st,
                                      double ackSnr, WifiMode ackMode, double dataSnr)
 {
+  NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr);
   ArfWifiRemoteStation *station = (ArfWifiRemoteStation *) st;
   station->m_timer++;
   station->m_success++;
@@ -172,21 +180,25 @@
 void
 ArfWifiManager::DoReportFinalRtsFailed (WifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
 }
 void
 ArfWifiManager::DoReportFinalDataFailed (WifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
 }
 
 WifiMode
 ArfWifiManager::DoGetDataMode (WifiRemoteStation *st, uint32_t size)
 {
+  NS_LOG_FUNCTION (this << st << size);
   ArfWifiRemoteStation *station = (ArfWifiRemoteStation *) st;
   return GetSupported (station, station->m_rate);
 }
 WifiMode
 ArfWifiManager::DoGetRtsMode (WifiRemoteStation *st)
 {
+  NS_LOG_FUNCTION (this << st);
   // XXX: we could/should implement the Arf algorithm for
   // RTS only by picking a single rate within the BasicRateSet.
   ArfWifiRemoteStation *station = (ArfWifiRemoteStation *) st;
@@ -196,6 +208,7 @@
 bool
 ArfWifiManager::IsLowLatency (void) const
 {
+  NS_LOG_FUNCTION (this);
   return true;
 }
 
--- a/src/wifi/model/block-ack-agreement.cc	Sat Apr 20 00:29:36 2013 +0200
+++ b/src/wifi/model/block-ack-agreement.cc	Sat Apr 20 00:30:06 2013 +0200
@@ -18,6 +18,9 @@
  * Author: Mirko Banchi <mk.banchi@gmail.com>
  */
 #include "block-ack-agreement.h"
+#include "ns3/log.h"
+
+NS_LOG_COMPONENT_DEFINE ("BlockAckAgreement");
 
 namespace ns3 {
 
@@ -26,6 +29,7 @@
     m_blockAckPolicy (1),
     m_inactivityEvent ()
 {
+  NS_LOG_FUNCTION (this);
 }
 
 BlockAckAgreement::BlockAckAgreement (Mac48Address peer, uint8_t tid)
@@ -33,18 +37,21 @@
     m_blockAckPolicy (1),
     m_inactivityEvent ()
 {
+  NS_LOG_FUNCTION (this << peer << static_cast<uint32_t> (tid));
   m_tid = tid;
   m_peer = peer;
 }
 
 BlockAckAgreement::~BlockAckAgreement ()
 {
+  NS_LOG_FUNCTION (this);
   m_inactivityEvent.Cancel ();
 }
 
 void
 BlockAckAgreement::SetBufferSize (uint16_t bufferSize)
 {
+  NS_LOG_FUNCTION (this << bufferSize);
   NS_ASSERT (bufferSize <= 1024);
   NS_ASSERT (bufferSize % 16 == 0);
   m_bufferSize = bufferSize;
@@ -52,69 +59,82 @@
 void
 BlockAckAgreement::SetTimeout (uint16_t timeout)
 {
+  NS_LOG_FUNCTION (this << timeout);
   m_timeout = timeout;
 }
 void
 BlockAckAgreement::SetStartingSequence (uint16_t seq)
 {
+  NS_LOG_FUNCTION (this << seq);
   NS_ASSERT (seq < 4096);
   m_startingSeq = seq;
 }
 void
 BlockAckAgreement::SetImmediateBlockAck (void)
 {
+  NS_LOG_FUNCTION (this);
   m_blockAckPolicy = 1;
 }
 void
 BlockAckAgreement::SetDelayedBlockAck (void)
 {
+  NS_LOG_FUNCTION (this);
   m_blockAckPolicy = 0;
 }
 void
 BlockAckAgreement::SetAmsduSupport (bool supported)
 {
+  NS_LOG_FUNCTION (this << supported);
   m_amsduSupported = supported;
 }
 
 uint8_t
 BlockAckAgreement::GetTid (void) const
 {
+  NS_LOG_FUNCTION (this);
   return m_tid;
 }
 Mac48Address
 BlockAckAgreement::GetPeer (void) const
 {
+  NS_LOG_FUNCTION (this);
   return m_peer;
 }
 uint16_t
 BlockAckAgreement::GetBufferSize (void) const
 {
+  NS_LOG_FUNCTION (this);
   return m_bufferSize;
 }
 uint16_t
 BlockAckAgreement::GetTimeout (void) const
 {
+  NS_LOG_FUNCTION (this);
   return m_timeout;
 }
 uint16_t
 BlockAckAgreement::GetStartingSequence (void) const
 {
+  NS_LOG_FUNCTION (this);
   return m_startingSeq;
 }
 uint16_t
 BlockAckAgreement::GetStartingSequenceControl (void) const
 {
+  NS_LOG_FUNCTION (this);
   uint16_t seqControl = (m_startingSeq << 4) | 0xfff0;
   return seqControl;
 }
 bool
 BlockAckAgreement::IsImmediateBlockAck (void) const
 {
+  NS_LOG_FUNCTION (this);
   return (m_blockAckPolicy == 1);
 }
 bool
 BlockAckAgreement::IsAmsduSupported (void) const
 {
+  NS_LOG_FUNCTION (this);
   return (m_amsduSupported == 1) ? true : false;
 }
 
--- a/src/wifi/model/block-ack-cache.cc	Sat Apr 20 00:29:36 2013 +0200
+++ b/src/wifi/model/block-ack-cache.cc	Sat Apr 20 00:30:06 2013 +0200
@@ -21,14 +21,18 @@
 #include "ctrl-headers.h"
 #include "wifi-mac-header.h"
 #include "qos-utils.h"
+#include "ns3/log.h"
 
 #define WINSIZE_ASSERT NS_ASSERT ((m_winEnd - m_winStart + 4096) % 4096 == m_winSize - 1)
 
+NS_LOG_COMPONENT_DEFINE ("BlockAckCache");
+
 namespace ns3 {
 
 void
 BlockAckCache::Init (uint16_t winStart, uint16_t winSize)
 {
+  NS_LOG_FUNCTION (this << winStart << winSize);
   m_winStart = winStart;
   m_winSize = winSize <= 64 ? winSize : 64;
   m_winEnd = (m_winStart + m_winSize - 1) % 4096;
@@ -38,6 +42,7 @@
 void
 BlockAckCache::UpdateWithMpdu (const WifiMacHeader *hdr)
 {
+  NS_LOG_FUNCTION (this << hdr);
   uint16_t seqNumber = hdr->GetSequenceNumber ();
   if (!QosUtilsIsOldPacket (m_winStart, seqNumber))
     {
@@ -60,6 +65,7 @@
 void
 BlockAckCache::UpdateWithBlockAckReq (uint16_t startingSeq)
 {
+  NS_LOG_FUNCTION (this << startingSeq);
   if (!QosUtilsIsOldPacket (m_winStart, startingSeq))
     {
       if (IsInWindow (startingSeq))
@@ -88,6 +94,7 @@
 void
 BlockAckCache::ResetPortionOfBitmap (uint16_t start, uint16_t end)
 {
+  NS_LOG_FUNCTION (this << start << end);
   uint32_t i = start;
   for (; i != end; i = (i + 1) % 4096)
     {
@@ -99,12 +106,14 @@
 bool
 BlockAckCache::IsInWindow (uint16_t seq)
 {
+  NS_LOG_FUNCTION (this << seq);
   return ((seq - m_winStart + 4096) % 4096) < m_winSize;
 }
 
 void
 BlockAckCache::FillBlockAckBitmap (CtrlBAckResponseHeader *blockAckHeader)
 {
+  NS_LOG_FUNCTION (this << blockAckHeader);
   if (blockAckHeader->IsBasic ())
     {
       NS_FATAL_ERROR ("Basic block ack is only partially implemented.");
--- a/src/wifi/model/block-ack-manager.cc	Sat Apr 20 00:29:36 2013 +0200
+++ b/src/wifi/model/block-ack-manager.cc	Sat Apr 20 00:30:06 2013 +0200
@@ -37,6 +37,7 @@
 
 BlockAckManager::Item::Item ()
 {
+  NS_LOG_FUNCTION (this);
 }
 
 BlockAckManager::Item::Item (Ptr<const Packet> packet, const WifiMacHeader &hdr, Time tStamp)
@@ -44,10 +45,12 @@
     hdr (hdr),
     timestamp (tStamp)
 {
+  NS_LOG_FUNCTION (this << packet << hdr << tStamp);
 }
 
 Bar::Bar ()
 {
+  NS_LOG_FUNCTION (this);
 }
 
 Bar::Bar (Ptr<const Packet> bar, Mac48Address recipient, uint8_t tid, bool immediate)
@@ -56,14 +59,17 @@
     tid (tid),
     immediate (immediate)
 {
+  NS_LOG_FUNCTION (this << bar << recipient << static_cast<uint32_t> (tid) << immediate);
 }
 
 BlockAckManager::BlockAckManager ()
 {
+  NS_LOG_FUNCTION (this);
 }
 
 BlockAckManager::~BlockAckManager ()
 {
+  NS_LOG_FUNCTION (this);
   m_queue = 0;
   m_agreements.clear ();
   m_retryPackets.clear ();
@@ -72,6 +78,7 @@
 bool
 BlockAckManager::ExistsAgreement (Mac48Address recipient, uint8_t tid) const
 {
+  NS_LOG_FUNCTION (this << recipient << static_cast<uint32_t> (tid));
   return (m_agreements.find (std::make_pair (recipient, tid)) != m_agreements.end ());
 }
 
@@ -79,6 +86,7 @@
 BlockAckManager::ExistsAgreementInState (Mac48Address recipient, uint8_t tid,
                                          enum OriginatorBlockAckAgreement::State state) const
 {
+  NS_LOG_FUNCTION (this << recipient << static_cast<uint32_t> (tid) << state);
   AgreementsCI it;
   it = m_agreements.find (std::make_pair (recipient, tid));
   if (it != m_agreements.end ())
@@ -103,6 +111,7 @@
 void
 BlockAckManager::CreateAgreement (const MgtAddBaRequestHeader *reqHdr, Mac48Address recipient)
 {
+  NS_LOG_FUNCTION (this << reqHdr << recipient);
   std::pair<Mac48Address, uint8_t> key (recipient, reqHdr->GetTid ());
   OriginatorBlockAckAgreement agreement (recipient, reqHdr->GetTid ());
   agreement.SetStartingSequence (reqHdr->GetStartingSequence ());
@@ -129,6 +138,7 @@
 void
 BlockAckManager::DestroyAgreement (Mac48Address recipient, uint8_t tid)
 {
+  NS_LOG_FUNCTION (this << recipient << static_cast<uint32_t> (tid));
   AgreementsI it = m_agreements.find (std::make_pair (recipient, tid));
   if (it != m_agreements.end ())
     {
@@ -162,6 +172,7 @@
 void
 BlockAckManager::UpdateAgreement (const MgtAddBaResponseHeader *respHdr, Mac48Address recipient)
 {
+  NS_LOG_FUNCTION (this << respHdr << recipient);
   uint8_t tid = respHdr->GetTid ();
   AgreementsI it = m_agreements.find (std::make_pair (recipient, tid));
   if (it != m_agreements.end ())
@@ -194,7 +205,7 @@
 void
 BlockAckManager::StorePacket (Ptr<const Packet> packet, const WifiMacHeader &hdr, Time tStamp)
 {
-  NS_LOG_FUNCTION (this);
+  NS_LOG_FUNCTION (this << packet << hdr << tStamp);
   NS_ASSERT (hdr.IsQosData ());
 
   uint8_t tid = hdr.GetQosTid ();
@@ -209,7 +220,7 @@
 Ptr<const Packet>
 BlockAckManager::GetNextPacket (WifiMacHeader &hdr)
 {
-  NS_LOG_FUNCTION (this);
+  NS_LOG_FUNCTION (this << &hdr);
   Ptr<const Packet> packet = 0;
   if (m_retryPackets.size () > 0)
     {
@@ -248,6 +259,7 @@
 bool
 BlockAckManager::HasBar (struct Bar &bar)
 {
+  NS_LOG_FUNCTION (this << &bar);
   if (m_bars.size () > 0)
     {
       bar = m_bars.front ();
@@ -260,12 +272,14 @@
 bool
 BlockAckManager::HasPackets (void) const
 {
+  NS_LOG_FUNCTION (this);
   return (m_retryPackets.size () > 0 || m_bars.size () > 0);
 }
 
 uint32_t
 BlockAckManager::GetNBufferedPackets (Mac48Address recipient, uint8_t tid) const
 {
+  NS_LOG_FUNCTION (this << recipient << static_cast<uint32_t> (tid));
   uint32_t nPackets = 0;
   if (ExistsAgreement (recipient, tid))
     {
@@ -290,6 +304,7 @@
 uint32_t
 BlockAckManager::GetNRetryNeededPackets (Mac48Address recipient, uint8_t tid) const
 {
+  NS_LOG_FUNCTION (this << recipient << static_cast<uint32_t> (tid));
   uint32_t nPackets = 0;
   uint16_t currentSeq = 0;
   if (ExistsAgreement (recipient, tid))
@@ -315,13 +330,14 @@
 void
 BlockAckManager::SetBlockAckThreshold (uint8_t nPackets)
 {
+  NS_LOG_FUNCTION (this << static_cast<uint32_t> (nPackets));
   m_blockAckThreshold = nPackets;
 }
 
 void
 BlockAckManager::NotifyGotBlockAck (const CtrlBAckResponseHeader *blockAck, Mac48Address recipient)
 {
-  NS_LOG_FUNCTION (this);
+  NS_LOG_FUNCTION (this << blockAck << recipient);
   uint16_t sequenceFirstLost = 0;
   if (!blockAck->IsMultiTid ())
     {
@@ -410,6 +426,7 @@
 void
 BlockAckManager::SetBlockAckType (enum BlockAckType bAckType)
 {
+  NS_LOG_FUNCTION (this << bAckType);
   m_blockAckType = bAckType;
 }
 
@@ -421,7 +438,7 @@
      this number could be incorrect. In fact is possible that a block ack agreement exists for n
      packets but some of these packets are dropped due to MSDU lifetime expiration.
    */
-  NS_LOG_FUNCTION (this);
+  NS_LOG_FUNCTION (this << recipient << static_cast<uint32_t> (tid));
   AgreementsI it = m_agreements.find (std::make_pair (recipient, tid));
   NS_ASSERT (it != m_agreements.end ());
 
@@ -457,13 +474,14 @@
 void
 BlockAckManager::InactivityTimeout (Mac48Address recipient, uint8_t tid)
 {
+  NS_LOG_FUNCTION (this << recipient << static_cast<uint32_t> (tid));
   m_blockAckInactivityTimeout (recipient, tid, true);
 }
 
 void
 BlockAckManager::NotifyAgreementEstablished (Mac48Address recipient, uint8_t tid, uint16_t startingSeq)
 {
-  NS_LOG_FUNCTION (this);
+  NS_LOG_FUNCTION (this << recipient << static_cast<uint32_t> (tid) << startingSeq);
   AgreementsI it = m_agreements.find (std::make_pair (recipient, tid));
   NS_ASSERT (it != m_agreements.end ());
 
@@ -474,7 +492,7 @@
 void
 BlockAckManager::NotifyAgreementUnsuccessful (Mac48Address recipient, uint8_t tid)
 {
-  NS_LOG_FUNCTION (this);
+  NS_LOG_FUNCTION (this << recipient << static_cast<uint32_t> (tid));
   AgreementsI it = m_agreements.find (std::make_pair (recipient, tid));
   NS_ASSERT (it != m_agreements.end ());
   if (it != m_agreements.end ())
@@ -486,7 +504,7 @@
 void
 BlockAckManager::NotifyMpduTransmission (Mac48Address recipient, uint8_t tid, uint16_t nextSeqNumber)
 {
-  NS_LOG_FUNCTION (this);
+  NS_LOG_FUNCTION (this << recipient << static_cast<uint32_t> (tid) << nextSeqNumber);
   Ptr<Packet> bar = 0;
   AgreementsI it = m_agreements.find (std::make_pair (recipient, tid));
   NS_ASSERT (it != m_agreements.end ());
@@ -512,13 +530,14 @@
 void
 BlockAckManager::SetQueue (Ptr<WifiMacQueue> queue)
 {
+  NS_LOG_FUNCTION (this << queue);
   m_queue = queue;
 }
 
 bool
 BlockAckManager::SwitchToBlockAckIfNeeded (Mac48Address recipient, uint8_t tid, uint16_t startingSeq)
 {
-  NS_LOG_FUNCTION (this);
+  NS_LOG_FUNCTION (this << recipient << static_cast<uint32_t> (tid) << startingSeq);
   NS_ASSERT (!ExistsAgreementInState (recipient, tid, OriginatorBlockAckAgreement::PENDING));
   if (!ExistsAgreementInState (recipient, tid, OriginatorBlockAckAgreement::UNSUCCESSFUL) && ExistsAgreement (recipient, tid))
     {
@@ -536,13 +555,14 @@
 void
 BlockAckManager::TearDownBlockAck (Mac48Address recipient, uint8_t tid)
 {
-  NS_LOG_FUNCTION (this);
+  NS_LOG_FUNCTION (this << recipient << static_cast<uint32_t> (tid));
   DestroyAgreement (recipient, tid);
 }
 
 bool
 BlockAckManager::HasOtherFragments (uint16_t sequenceNumber) const
 {
+  NS_LOG_FUNCTION (this << sequenceNumber);
   bool retVal = false;
   if (m_retryPackets.size () > 0)
     {
@@ -558,6 +578,7 @@
 uint32_t
 BlockAckManager::GetNextPacketSize (void) const
 {
+  NS_LOG_FUNCTION (this);
   uint32_t size = 0;
   if (m_retryPackets.size () > 0)
     {
@@ -570,6 +591,7 @@
 void
 BlockAckManager::CleanupBuffers (void)
 {
+  NS_LOG_FUNCTION (this);
   for (AgreementsI j = m_agreements.begin (); j != m_agreements.end (); j++)
     {
       if (j->second.second.empty ())
@@ -611,37 +633,42 @@
 void
 BlockAckManager::SetMaxPacketDelay (Time maxDelay)
 {
-  NS_LOG_FUNCTION (this);
+  NS_LOG_FUNCTION (this << maxDelay);
   m_maxDelay = maxDelay;
 }
 
 void
 BlockAckManager::SetBlockAckInactivityCallback (Callback<void, Mac48Address, uint8_t, bool> callback)
 {
+  NS_LOG_FUNCTION (this << &callback);
   m_blockAckInactivityTimeout = callback;
 }
 
 void
 BlockAckManager::SetBlockDestinationCallback (Callback<void, Mac48Address, uint8_t> callback)
 {
+  NS_LOG_FUNCTION (this << &callback);
   m_blockPackets = callback;
 }
 
 void
 BlockAckManager::SetUnblockDestinationCallback (Callback<void, Mac48Address, uint8_t> callback)
 {
+  NS_LOG_FUNCTION (this << &callback);
   m_unblockPackets = callback;
 }
 
 void
 BlockAckManager::SetTxMiddle (MacTxMiddle* txMiddle)
 {
+  NS_LOG_FUNCTION (this << txMiddle);
   m_txMiddle = txMiddle;
 }
 
 uint16_t
 BlockAckManager::GetSeqNumOfNextRetryPacket (Mac48Address recipient, uint8_t tid) const
 {
+  NS_LOG_FUNCTION (this << recipient << static_cast<uint32_t> (tid));
   std::list<PacketQueueI>::const_iterator it = m_retryPackets.begin ();
   while (it != m_retryPackets.end ())
     {
--- a/src/wifi/model/capability-information.cc	Sat Apr 20 00:29:36 2013 +0200
+++ b/src/wifi/model/capability-information.cc	Sat Apr 20 00:30:06 2013 +0200
@@ -18,23 +18,29 @@
  * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
  */
 #include "capability-information.h"
+#include "ns3/log.h"
+
+NS_LOG_COMPONENT_DEFINE ("CapabilityInformation");
 
 namespace ns3 {
 
 CapabilityInformation::CapabilityInformation ()
   : m_capability (0)
 {
+  NS_LOG_FUNCTION (this);
 }
 
 void
 CapabilityInformation::SetEss (void)
 {
+  NS_LOG_FUNCTION (this);
   Set (0);
   Clear (1);
 }
 void
 CapabilityInformation::SetIbss (void)
 {
+  NS_LOG_FUNCTION (this);
   Clear (0);
   Set (1);
 }
@@ -42,17 +48,20 @@
 bool
 CapabilityInformation::IsEss (void) const
 {
+  NS_LOG_FUNCTION (this);
   return Is (0);
 }
 bool
 CapabilityInformation::IsIbss (void) const
 {
+  NS_LOG_FUNCTION (this);
   return Is (1);
 }
 
 void
 CapabilityInformation::Set (uint8_t n)
 {
+  NS_LOG_FUNCTION (this << static_cast<uint32_t> (n));
   uint32_t mask = 1 << n;
   m_capability |= mask;
 }
@@ -60,6 +69,7 @@
 void
 CapabilityInformation::Clear (uint8_t n)
 {
+  NS_LOG_FUNCTION (this << static_cast<uint32_t> (n));
   uint32_t mask = 1 << n;
   m_capability &= ~mask;
 }
@@ -67,6 +77,7 @@
 bool
 CapabilityInformation::Is (uint8_t n) const
 {
+  NS_LOG_FUNCTION (this << static_cast<uint32_t> (n));
   uint32_t mask = 1 << n;
   return (m_capability & mask) == mask;
 }
@@ -75,17 +86,20 @@
 uint32_t
 CapabilityInformation::GetSerializedSize (void) const
 {
+  NS_LOG_FUNCTION (this);
   return 2;
 }
 Buffer::Iterator
 CapabilityInformation::Serialize (Buffer::Iterator start) const
 {
+  NS_LOG_FUNCTION (this << &start);
   start.WriteHtolsbU16 (m_capability);
   return start;
 }
 Buffer::Iterator
 CapabilityInformation::Deserialize (Buffer::Iterator start)
 {
+  NS_LOG_FUNCTION (this << &start);
   m_capability = start.ReadLsbtohU16 ();
   return start;
 }
--- a/src/wifi/model/cara-wifi-manager.cc	Sat Apr 20 00:29:36 2013 +0200
+++ b/src/wifi/model/cara-wifi-manager.cc	Sat Apr 20 00:30:06 2013 +0200
@@ -73,14 +73,17 @@
 CaraWifiManager::CaraWifiManager ()
   : WifiRemoteStationManager ()
 {
+  NS_LOG_FUNCTION (this);
 }
 CaraWifiManager::~CaraWifiManager ()
 {
+  NS_LOG_FUNCTION (this);
 }
 
 WifiRemoteStation *
 CaraWifiManager::DoCreateStation (void) const
 {
+  NS_LOG_FUNCTION (this);
   CaraWifiRemoteStation *station = new CaraWifiRemoteStation ();
   station->m_rate = 0;
   station->m_success = 0;
@@ -92,13 +95,14 @@
 void
 CaraWifiManager::DoReportRtsFailed (WifiRemoteStation *st)
 {
+  NS_LOG_FUNCTION (this << st);
 }
 
 void
 CaraWifiManager::DoReportDataFailed (WifiRemoteStation *st)
 {
+  NS_LOG_FUNCTION (this << st);
   CaraWifiRemoteStation *station = (CaraWifiRemoteStation *) st;
-  NS_LOG_FUNCTION (station);
   station->m_timer++;
   station->m_failed++;
   station->m_success = 0;
@@ -117,17 +121,20 @@
 CaraWifiManager::DoReportRxOk (WifiRemoteStation *st,
                                double rxSnr, WifiMode txMode)
 {
+  NS_LOG_FUNCTION (this << st << rxSnr << txMode);
 }
 void
 CaraWifiManager::DoReportRtsOk (WifiRemoteStation *st,
                                 double ctsSnr, WifiMode ctsMode, double rtsSnr)
 {
+  NS_LOG_FUNCTION (this << st << ctsSnr << ctsMode << rtsSnr);
   NS_LOG_DEBUG ("self=" << st << " rts ok");
 }
 void
 CaraWifiManager::DoReportDataOk (WifiRemoteStation *st,
                                  double ackSnr, WifiMode ackMode, double dataSnr)
 {
+  NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr);
   CaraWifiRemoteStation *station = (CaraWifiRemoteStation *) st;
   station->m_timer++;
   station->m_success++;
@@ -148,22 +155,26 @@
 void
 CaraWifiManager::DoReportFinalRtsFailed (WifiRemoteStation *st)
 {
+  NS_LOG_FUNCTION (this << st);
 }
 void
 CaraWifiManager::DoReportFinalDataFailed (WifiRemoteStation *st)
 {
+  NS_LOG_FUNCTION (this << st);
 }
 
 WifiMode
 CaraWifiManager::DoGetDataMode (WifiRemoteStation *st,
                                 uint32_t size)
 {
+  NS_LOG_FUNCTION (this << st << size);
   CaraWifiRemoteStation *station = (CaraWifiRemoteStation *) st;
   return GetSupported (station, station->m_rate);
 }
 WifiMode
 CaraWifiManager::DoGetRtsMode (WifiRemoteStation *st)
 {
+  NS_LOG_FUNCTION (this << st);
   // XXX: we could/should implement the Arf algorithm for
   // RTS only by picking a single rate within the BasicRateSet.
   return GetSupported (st, 0);
@@ -173,6 +184,7 @@
 CaraWifiManager::DoNeedRts (WifiRemoteStation *st,
                             Ptr<const Packet> packet, bool normally)
 {
+  NS_LOG_FUNCTION (this << st << normally);
   CaraWifiRemoteStation *station = (CaraWifiRemoteStation *) st;
   return normally || station->m_failed >= m_probeThreshold;
 }
@@ -180,6 +192,7 @@
 bool
 CaraWifiManager::IsLowLatency (void) const
 {
+  NS_LOG_FUNCTION (this);
   return true;
 }
 
--- a/src/wifi/model/constant-rate-wifi-manager.cc	Sat Apr 20 00:29:36 2013 +0200
+++ b/src/wifi/model/constant-rate-wifi-manager.cc	Sat Apr 20 00:30:06 2013 +0200
@@ -22,6 +22,9 @@
 
 #include "ns3/string.h"
 #include "ns3/assert.h"
+#include "ns3/log.h"
+
+NS_LOG_COMPONENT_DEFINE ("ConstantRateWifiManager");
 
 namespace ns3 {
 
@@ -47,15 +50,18 @@
 
 ConstantRateWifiManager::ConstantRateWifiManager ()
 {
+  NS_LOG_FUNCTION (this);
 }
 ConstantRateWifiManager::~ConstantRateWifiManager ()
 {
+  NS_LOG_FUNCTION (this);
 }
 
 
 WifiRemoteStation *
 ConstantRateWifiManager::DoCreateStation (void) const
 {
+  NS_LOG_FUNCTION (this);
   WifiRemoteStation *station = new WifiRemoteStation ();
   return station;
 }
@@ -65,48 +71,58 @@
 ConstantRateWifiManager::DoReportRxOk (WifiRemoteStation *station,
                                        double rxSnr, WifiMode txMode)
 {
+  NS_LOG_FUNCTION (this << station << rxSnr << txMode);
 }
 void
 ConstantRateWifiManager::DoReportRtsFailed (WifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
 }
 void
 ConstantRateWifiManager::DoReportDataFailed (WifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
 }
 void
 ConstantRateWifiManager::DoReportRtsOk (WifiRemoteStation *st,
                                         double ctsSnr, WifiMode ctsMode, double rtsSnr)
 {
+  NS_LOG_FUNCTION (this << st << ctsSnr << ctsMode << rtsSnr);
 }
 void
 ConstantRateWifiManager::DoReportDataOk (WifiRemoteStation *st,
                                          double ackSnr, WifiMode ackMode, double dataSnr)
 {
+  NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr);
 }
 void
 ConstantRateWifiManager::DoReportFinalRtsFailed (WifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
 }
 void
 ConstantRateWifiManager::DoReportFinalDataFailed (WifiRemoteStation *station)
 {
+  NS_LOG_FUNCTION (this << station);
 }
 
 WifiMode
 ConstantRateWifiManager::DoGetDataMode (WifiRemoteStation *st, uint32_t size)
 {
+  NS_LOG_FUNCTION (this << st << size);
   return m_dataMode;
 }
 WifiMode
 ConstantRateWifiManager::DoGetRtsMode (WifiRemoteStation *st)
 {
+  NS_LOG_FUNCTION (this << st);
   return m_ctlMode;
 }
 
 bool
 ConstantRateWifiManager::IsLowLatency (void) const
 {
+  NS_LOG_FUNCTION (this);
   return true;
 }
 
--- a/src/wifi/model/ctrl-headers.cc	Sat Apr 20 00:29:36 2013 +0200
+++ b/src/wifi/model/ctrl-headers.cc	Sat Apr 20 00:30:06 2013 +0200
@@ -18,9 +18,12 @@
  * Author: Mirko Banchi <mk.banchi@gmail.com>
  */
 #include "ns3/fatal-error.h"
+#include "ns3/log.h"
 
 #include "ctrl-headers.h"
 
+NS_LOG_COMPONENT_DEFINE ("CtrlHeaders");
+
 namespace ns3 {
 
 /***********************************
@@ -34,15 +37,18 @@
     m_multiTid (false),
     m_compressed (false)
 {
+  NS_LOG_FUNCTION (this);
 }
 
 CtrlBAckRequestHeader::~CtrlBAckRequestHeader ()
 {
+  NS_LOG_FUNCTION (this);
 }
 
 TypeId
 CtrlBAckRequestHeader::GetTypeId (void)
 {
+  NS_LOG_FUNCTION_NOARGS ();
   static TypeId tid = TypeId ("ns3::CtrlBAckRequestHeader")
     .SetParent<Header> ()
     .AddConstructor<CtrlBAckRequestHeader> ()
@@ -53,18 +59,21 @@
 TypeId
 CtrlBAckRequestHeader::GetInstanceTypeId (void) const
 {
+  NS_LOG_FUNCTION (this);
   return GetTypeId ();
 }
 
 void
 CtrlBAckRequestHeader::Print (std::ostream &os) const
 {
+  NS_LOG_FUNCTION (this << &os);
   os << "TID_INFO=" << m_tidInfo << ", StartingSeq=" << std::hex << m_startingSeq;
 }
 
 uint32_t
 CtrlBAckRequestHeader::GetSerializedSize () const
 {
+  NS_LOG_FUNCTION (this);
   uint32_t size = 0;
   size += 2; //Bar control
   if (!m_multiTid)
@@ -88,6 +97,7 @@
 void
 CtrlBAckRequestHeader::Serialize (Buffer::Iterator start) const
 {
+  NS_LOG_FUNCTION (this << &start);
   Buffer::Iterator i = start;
   i.WriteHtolsbU16 (GetBarControl ());
   if (!m_multiTid)
@@ -110,6 +120,7 @@
 uint32_t
 CtrlBAckRequestHeader::Deserialize (Buffer::Iterator start)
 {
+  NS_LOG_FUNCTION (this << &start);
   Buffer::Iterator i = start;
   SetBarControl (i.ReadLsbtohU16 ());
   if (!m_multiTid)
@@ -133,6 +144,7 @@
 uint16_t
 CtrlBAckRequestHeader::GetBarControl (void) const
 {
+  NS_LOG_FUNCTION (this);
   uint16_t res = 0;
   if (m_barAckPolicy)
     {
@@ -153,6 +165,7 @@
 void
 CtrlBAckRequestHeader::SetBarControl (uint16_t bar)
 {
+  NS_LOG_FUNCTION (this << bar);
   m_barAckPolicy = ((bar & 0x01) == 1) ? true : false;
   m_multiTid = (((bar >> 1) & 0x01) == 1) ? true : false;
   m_compressed = (((bar >> 2) & 0x01) == 1) ? true : false;
@@ -162,24 +175,28 @@
 uint16_t
 CtrlBAckRequestHeader::GetStartingSequenceControl (void) const
 {
+  NS_LOG_FUNCTION (this);
   return (m_startingSeq << 4) & 0xfff0;
 }
 
 void
 CtrlBAckRequestHeader::SetStartingSequenceControl (uint16_t seqControl)
 {
+  NS_LOG_FUNCTION (this << seqControl);
   m_startingSeq = (seqControl >> 4) & 0x0fff;
 }
 
 void
 CtrlBAckRequestHeader::SetHtImmediateAck (bool immediateAck)
 {
+  NS_LOG_FUNCTION (this << immediateAck);
   m_barAckPolicy = immediateAck;
 }
 
 void
 CtrlBAckRequestHeader::SetType (enum BlockAckType type)
 {
+  NS_LOG_FUNCTION (this << type);
   switch (type)
     {
     case BASIC_BLOCK_ACK:
@@ -203,24 +220,28 @@
 void
 CtrlBAckRequestHeader::SetTidInfo (uint8_t tid)
 {
+  NS_LOG_FUNCTION (this << static_cast<uint32_t> (tid));
   m_tidInfo = static_cast<uint16_t> (tid);
 }
 
 void
 CtrlBAckRequestHeader::SetStartingSequence (uint16_t seq)
 {
+  NS_LOG_FUNCTION (this << seq);
   m_startingSeq = seq;
 }
 
 bool
 CtrlBAckRequestHeader::MustSendHtImmediateAck (void) const
 {
+  NS_LOG_FUNCTION (this);
   return m_barAckPolicy;
 }
 
 uint8_t
 CtrlBAckRequestHeader::GetTidInfo (void) const
 {
+  NS_LOG_FUNCTION (this);
   uint8_t tid = static_cast<uint8_t> (m_tidInfo);
   return tid;
 }
@@ -228,24 +249,28 @@
 uint16_t
 CtrlBAckRequestHeader::GetStartingSequence (void) const
 {
+  NS_LOG_FUNCTION (this);
   return m_startingSeq;
 }
 
 bool
 CtrlBAckRequestHeader::IsBasic (void) const
 {
+  NS_LOG_FUNCTION (this);
   return (!m_multiTid && !m_compressed) ? true : false;
 }
 
 bool
 CtrlBAckRequestHeader::IsCompressed (void) const
 {
+  NS_LOG_FUNCTION (this);
   return (!m_multiTid && m_compressed) ? true : false;
 }
 
 bool
 CtrlBAckRequestHeader::IsMultiTid (void) const
 {
+  NS_LOG_FUNCTION (this);
   return (m_multiTid && m_compressed) ? true : false;
 }
 
@@ -260,11 +285,13 @@
     m_multiTid (false),
     m_compressed (false)
 {
+  NS_LOG_FUNCTION (this);
   memset (&bitmap, 0, sizeof (bitmap));
 }
 
 CtrlBAckResponseHeader::~CtrlBAckResponseHeader ()
 {
+  NS_LOG_FUNCTION (this);
 }
 
 TypeId
@@ -286,12 +313,14 @@
 void
 CtrlBAckResponseHeader::Print (std::ostream &os) const
 {
+  NS_LOG_FUNCTION (this << &os);
   os << "TID_INFO=" << m_tidInfo << ", StartingSeq=" << std::hex << m_startingSeq;
 }
 
 uint32_t
 CtrlBAckResponseHeader::GetSerializedSize (void) const
 {
+  NS_LOG_FUNCTION (this);
   uint32_t size = 0;
   size += 2; //Bar control
   if (!m_multiTid)
@@ -322,6 +351,7 @@
 void
 CtrlBAckResponseHeader::Serialize (Buffer::Iterator start) const
 {
+  NS_LOG_FUNCTION (this << &start);
   Buffer::Iterator i = start;
   i.WriteHtolsbU16 (GetBaControl ());
   if (!m_multiTid)
@@ -345,6 +375,7 @@
 uint32_t
 CtrlBAckResponseHeader::Deserialize (Buffer::Iterator start)
 {
+  NS_LOG_FUNCTION (this << &start);
   Buffer::Iterator i = start;
   SetBaControl (i.ReadLsbtohU16 ());
   if (!m_multiTid)
@@ -369,12 +400,14 @@
 void
 CtrlBAckResponseHeader::SetHtImmediateAck (bool immediateAck)
 {
+  NS_LOG_FUNCTION (this << immediateAck);
   m_baAckPolicy = immediateAck;
 }
 
 void
 CtrlBAckResponseHeader::SetType (enum BlockAckType type)
 {
+  NS_LOG_FUNCTION (this << type);
   switch (type)
     {
     case BASIC_BLOCK_ACK:
@@ -398,24 +431,28 @@
 void
 CtrlBAckResponseHeader::SetTidInfo (uint8_t tid)
 {
+  NS_LOG_FUNCTION (this << static_cast<uint32_t> (tid));
   m_tidInfo = static_cast<uint16_t> (tid);
 }
 
 void
 CtrlBAckResponseHeader::SetStartingSequence (uint16_t seq)
 {
+  NS_LOG_FUNCTION (this << seq);
   m_startingSeq = seq;
 }
 
 bool
 CtrlBAckResponseHeader::MustSendHtImmediateAck (void) const
 {
+  NS_LOG_FUNCTION (this);
   return (m_baAckPolicy) ? true : false;
 }
 
 uint8_t
 CtrlBAckResponseHeader::GetTidInfo (void) const
 {
+  NS_LOG_FUNCTION (this);
   uint8_t tid = static_cast<uint8_t> (m_tidInfo);
   return tid;
 }
@@ -423,30 +460,35 @@
 uint16_t
 CtrlBAckResponseHeader::GetStartingSequence (void) const
 {
+  NS_LOG_FUNCTION (this);
   return m_startingSeq;
 }
 
 bool
 CtrlBAckResponseHeader::IsBasic (void) const
 {
+  NS_LOG_FUNCTION (this);
   return (!m_multiTid && !m_compressed) ? true : false;
 }
 
 bool
 CtrlBAckResponseHeader::IsCompressed (void) const
 {
+  NS_LOG_FUNCTION (this);
   return (!m_multiTid && m_compressed) ? true : false;
 }
 
 bool
 CtrlBAckResponseHeader::IsMultiTid (void) const
 {
+  NS_LOG_FUNCTION (this);
   return (m_multiTid && m_compressed) ? true : false;
 }
 
 uint16_t
 CtrlBAckResponseHeader::GetBaControl (void) const
 {
+  NS_LOG_FUNCTION (this);
   uint16_t res = 0;
   if (m_baAckPolicy)
     {
@@ -467,6 +509,7 @@
 void
 CtrlBAckResponseHeader::SetBaControl (uint16_t ba)
 {
+  NS_LOG_FUNCTION (this << ba);
   m_baAckPolicy = ((ba & 0x01) == 1) ? true : false;
   m_multiTid = (((ba >> 1) & 0x01) == 1) ? true : false;
   m_compressed = (((ba >> 2) & 0x01) == 1) ? true : false;
@@ -476,18 +519,21 @@
 uint16_t
 CtrlBAckResponseHeader::GetStartingSequenceControl (void) const
 {
+  NS_LOG_FUNCTION (this);
   return (m_startingSeq << 4) & 0xfff0;
 }
 
 void
 CtrlBAckResponseHeader::SetStartingSequenceControl (uint16_t seqControl)
 {
+  NS_LOG_FUNCTION (this << seqControl);
   m_startingSeq = (seqControl >> 4) & 0x0fff;
 }
 
 Buffer::Iterator
 CtrlBAckResponseHeader::SerializeBitmap (Buffer::Iterator start) const
 {
+  NS_LOG_FUNCTION (this << &start);
   Buffer::Iterator i = start;
   if (!m_multiTid)
     {
@@ -520,6 +566,7 @@
 Buffer::Iterator
 CtrlBAckResponseHeader::DeserializeBitmap (Buffer::Iterator start)
 {
+  NS_LOG_FUNCTION (this << &start);
   Buffer::Iterator i = start;
   if (!m_multiTid)
     {
@@ -552,6 +599,7 @@
 void
 CtrlBAckResponseHeader::SetReceivedPacket (uint16_t seq)
 {
+  NS_LOG_FUNCTION (this << seq);
   if (!IsInBitmap (seq))
     {
       return;
@@ -585,6 +633,7 @@
 void
 CtrlBAckResponseHeader::SetReceivedFragment (uint16_t seq, uint8_t frag)
 {
+  NS_LOG_FUNCTION (this << seq << static_cast<uint32_t> (frag));
   NS_ASSERT (frag < 16);
   if (!IsInBitmap (seq))
     {
@@ -618,6 +667,7 @@
 bool
 CtrlBAckResponseHeader::IsPacketReceived (uint16_t seq) const
 {
+  NS_LOG_FUNCTION (this << seq);
   if (!IsInBitmap (seq))
     {
       return false;
@@ -652,6 +702,7 @@
 bool
 CtrlBAckResponseHeader::IsFragmentReceived (uint16_t seq, uint8_t frag) const
 {
+  NS_LOG_FUNCTION (this << seq << static_cast<uint32_t> (frag));
   NS_ASSERT (frag < 16);
   if (!IsInBitmap (seq))
     {
@@ -689,6 +740,7 @@
 uint8_t
 CtrlBAckResponseHeader::IndexInBitmap (uint16_t seq) const
 {
+  NS_LOG_FUNCTION (this << seq);
   uint8_t index;
   if (seq >= m_startingSeq)
     {
@@ -705,24 +757,28 @@
 bool
 CtrlBAckResponseHeader::IsInBitmap (uint16_t seq) const
 {
+  NS_LOG_FUNCTION (this << seq);
   return (seq - m_startingSeq + 4096) % 4096 < 64;
 }
 
 const uint16_t*
 CtrlBAckResponseHeader::GetBitmap (void) const
 {
+  NS_LOG_FUNCTION (this);
   return bitmap.m_bitmap;
 }
 
 uint64_t
 CtrlBAckResponseHeader::GetCompressedBitmap (void) const
 {
+  NS_LOG_FUNCTION (this);
   return bitmap.m_compressedBitmap;
 }
 
 void
 CtrlBAckResponseHeader::ResetBitmap (void)
 {
+  NS_LOG_FUNCTION (this);
   memset (&bitmap, 0, sizeof (bitmap));
 }