From d9ec9acd65fac58da27937a1fda4b7945b470122 Mon Sep 17 00:00:00 2001 From: Stefano Avallone Date: Tue, 11 Jun 2024 11:31:55 +0200 Subject: [PATCH] wifi: STAs that do not respond to Basic TF are no longer protected --- src/wifi/model/he/he-frame-exchange-manager.cc | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/wifi/model/he/he-frame-exchange-manager.cc b/src/wifi/model/he/he-frame-exchange-manager.cc index 14a3a36c3..654e93cb7 100644 --- a/src/wifi/model/he/he-frame-exchange-manager.cc +++ b/src/wifi/model/he/he-frame-exchange-manager.cc @@ -1357,6 +1357,22 @@ HeFrameExchangeManager::DoTbPpduTimeout(WifiPsduMap* psduMap, m_edca->ResetCw(m_linkId); TransmissionSucceeded(); } + else + { + // Stations that did not respond must be removed from the set of stations for which + // protection is not needed in the current TXOP. + for (const auto& address : staMissedTbPpduFrom) + { + NS_LOG_DEBUG(address << " did not respond, hence it is no longer protected"); + m_protectedStas.erase(address); + m_sentFrameTo.erase(address); + } + if (m_protectedIfResponded) + { + m_protectedStas.merge(m_sentFrameTo); + } + m_sentFrameTo.clear(); + } m_psduMap.clear(); }