MAC loss monitoring

36 views
Skip to first unread message

gd

unread,
Mar 31, 2015, 8:58:44 AM3/31/15
to ns-3-...@googlegroups.com
Hi all,

I know questions about MAC monitoring are asked many times before. However, after reading most of the topics and going through the source, still there are several things that aren't clear to me. But first, let me explain what I want to monitor: I want to monitor all MAC frames that are lost from sender to receiver due to (bad) channel (interference) conditions i.e., for which the sender does not receive any acknowledgement (for example due to bit errors or complete packets that are completely lost). I actually want to recreate the packet loss as calculated by a (Meru) AP which calculates its packet loss with the help of acknowledgements that are not received. But I do not know exactly which trace sources to use.

So, I learned there are 4 tracesources to trace packet drops:
  • PhyDropTx
  • PhyDropRx
  • MacDropTx
  • MacDropRx
Do these tracesource represent the packet loss I want? Do I just aggregate the PhyDrop and the MacDrop? Or is there a possibility to just trace the timers that expire while waiting on acknowledgements (so I "know" the packet was lost)?

I've digged through the code and I noticed: in ap-wifi-mac.cc and sta-wifi-mac.cc (in which the NotifyRxDrop and NotifyTxDrop are called for MacDropRx and MacDropTx, respectively), most of the reasons for dropping packets have to do with wrong destinations, not yet associated, sleep mode, etc. Looking at yans-wifi-phy.cc in StartReceivePacket and EndReceivePacket, I found drop calls due to signal and noise (and SNR) values. For example, around line 640 "drop packet because signal power too Small" and for example in EndReceivePacket it is checked if the SNR value is ok or not, right?

So which trace source include packets that are dropped because of bit error and complete packet loss (for example, Tommaso says in this topic that the MAC drop trace is fired when there are too many erroneous bits. But I can't seem to find this in the source code.)? As you notice, I'm quite confused about the exact tasks of the drop trace sources. Could you guys enlighten me?

Thanks in advance,
Glenn

Reply all
Reply to author
Forward
0 new messages