From 2dc10e05677d35990dbb20a2e46713474f99571e Mon Sep 17 00:00:00 2001 From: Tom Henderson Date: Wed, 24 Feb 2016 00:30:04 +0100 Subject: [PATCH] wifi: (fixes #2185) check destination address before replying --- src/wifi/model/mac-low.cc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/wifi/model/mac-low.cc b/src/wifi/model/mac-low.cc index 749a303b8..4acd2454d 100644 --- a/src/wifi/model/mac-low.cc +++ b/src/wifi/model/mac-low.cc @@ -843,6 +843,13 @@ MacLow::ReceiveError (Ptr packet, double rxSnr, bool isEndOfFrame) NS_LOG_DEBUG ("rx failed "); if (isEndOfFrame == true && m_receivedAtLeastOneMpdu == true) { + WifiMacHeader hdr; + packet->PeekHeader (hdr); + if (hdr.GetAddr1 () != m_self) + { + NS_LOG_DEBUG ("hdr addr1 " << hdr.GetAddr1 () << "not for me (" << m_self << "); returning"); + return; + } NS_ASSERT (m_lastReceivedHdr.IsQosData ()); NS_LOG_DEBUG ("last a-mpdu subframe detected/sendImmediateBlockAck from=" << m_lastReceivedHdr.GetAddr2 ()); m_sendAckEvent = Simulator::Schedule (GetSifs (),