From 38b4db155b13db4c8d2a44944da332ee4557f042 Mon Sep 17 00:00:00 2001 From: Stefano Avallone Date: Tue, 12 Sep 2023 20:25:33 +0200 Subject: [PATCH] wifi: Take channel switch delay into account when main PHY switches to take over UL TXOP --- .../model/eht/eht-frame-exchange-manager.cc | 51 +++++++++++++++-- src/wifi/model/eht/emlsr-manager.cc | 55 ++++++++----------- src/wifi/model/eht/emlsr-manager.h | 4 +- src/wifi/model/wifi-phy-common.h | 3 + src/wifi/test/wifi-emlsr-test.cc | 3 + 5 files changed, 79 insertions(+), 37 deletions(-) diff --git a/src/wifi/model/eht/eht-frame-exchange-manager.cc b/src/wifi/model/eht/eht-frame-exchange-manager.cc index 1fda0309e..040e9b4e1 100644 --- a/src/wifi/model/eht/eht-frame-exchange-manager.cc +++ b/src/wifi/model/eht/eht-frame-exchange-manager.cc @@ -39,6 +39,7 @@ namespace ns3 /// aRxPHYStartDelay value to use when waiting for a new frame in the context of EMLSR operations /// (Sec. 35.3.17 of 802.11be D3.1) static constexpr uint8_t RX_PHY_START_DELAY_USEC = 20; + /** * Additional time (exceeding 20 us) to wait for a PHY-RXSTART.indication when the PHY is * decoding a PHY header. @@ -176,6 +177,8 @@ EhtFrameExchangeManager::StartTransmission(Ptr edca, uint16_t allowedWidth { NS_LOG_FUNCTION(this << edca << allowedWidth); + std::optional