wifi: Add per-MPDU reception status to NotifyMonitorSniffRx

This commit is contained in:
Rediet
2019-03-26 15:21:31 +01:00
committed by Stefano Avallone
parent 1de371914f
commit 3bd5db3da4
2 changed files with 6 additions and 3 deletions

View File

@@ -2374,7 +2374,8 @@ WifiPhy::NotifyRxDrop (Ptr<const Packet> packet)
}
void
WifiPhy::NotifyMonitorSniffRx (Ptr<const Packet> packet, uint16_t channelFreqMhz, WifiTxVector txVector, MpduInfo aMpdu, SignalNoiseDbm signalNoise)
WifiPhy::NotifyMonitorSniffRx (Ptr<const Packet> packet, uint16_t channelFreqMhz, WifiTxVector txVector,
MpduInfo aMpdu, SignalNoiseDbm signalNoise, std::vector<bool> statusPerMpdu)
{
m_phyMonitorSniffRxTrace (packet, channelFreqMhz, txVector, aMpdu, signalNoise);
}
@@ -2765,7 +2766,7 @@ WifiPhy::EndReceive (Ptr<Packet> packet, WifiPreamble preamble, MpduType mpdutyp
aMpdu.type = mpdutype;
aMpdu.mpduRefNumber = m_rxMpduReferenceNumber;
std::vector<bool> statusPerMpdu {true}; //TODO update when A-MPDUs are handled as single packet
NotifyMonitorSniffRx (packet, GetFrequency (), event->GetTxVector (), aMpdu, signalNoise);
NotifyMonitorSniffRx (packet, GetFrequency (), event->GetTxVector (), aMpdu, signalNoise, statusPerMpdu);
m_state->SwitchFromRxEndOk (packet, snrPer.snr, event->GetTxVector (), statusPerMpdu);
}
else

View File

@@ -1158,12 +1158,14 @@ public:
* \param aMpdu the type of the packet (0 is not A-MPDU, 1 is a MPDU that is part of an A-MPDU and 2 is the last MPDU in an A-MPDU)
* and the A-MPDU reference number (must be a different value for each A-MPDU but the same for each subframe within one A-MPDU)
* \param signalNoise signal power and noise power in dBm (noise power includes the noise figure)
* \param statusPerMpdu reception status per MPDU
*/
void NotifyMonitorSniffRx (Ptr<const Packet> packet,
uint16_t channelFreqMhz,
WifiTxVector txVector,
MpduInfo aMpdu,
SignalNoiseDbm signalNoise);
SignalNoiseDbm signalNoise,
std::vector<bool> statusPerMpdu);
/**
* TracedCallback signature for monitor mode receive events.