wifi: Always reset channel access requested if main PHY does not switch with non-TX capable aux PHYs

This commit is contained in:
Stefano Avallone
2024-12-02 16:03:56 +01:00
parent b2d3145bfd
commit 03951a7211
2 changed files with 3 additions and 4 deletions

View File

@@ -210,7 +210,7 @@ cpp_examples = [
"True",
),
(
"wifi-eht-network --simulationTime=0.2s --frequency=2.4 --frequency2=5 --guardInterval=1600 --udp=0 --downlink=0 --useRts=0 --mpduBufferSize=512 --emlsrLinks=0,1 --emlsrPaddingDelay=0 --emlsrTransitionDelay=0 --channelSwitchDelay=1ns --emlsrMgrTypeId=ns3::AdvancedEmlsrManager --emlsrAuxSwitch=False --emlsrAuxTxCapable=False --minExpectedThroughput=5 --maxExpectedThroughput=40 --RngRun=7",
"wifi-eht-network --simulationTime=0.2s --frequency=2.4 --frequency2=5 --guardInterval=1600 --udp=0 --downlink=0 --useRts=0 --mpduBufferSize=512 --emlsrLinks=0,1 --emlsrPaddingDelay=0 --emlsrTransitionDelay=0 --channelSwitchDelay=1ns --emlsrMgrTypeId=ns3::AdvancedEmlsrManager --emlsrAuxSwitch=False --emlsrAuxTxCapable=False --minExpectedThroughput=5 --maxExpectedThroughput=40 --RngRun=2",
"True",
"True",
),

View File

@@ -753,6 +753,8 @@ AdvancedEmlsrManager::SwitchMainPhyIfTxopGainedByAuxPhy(uint8_t linkId, AcIndex
}
NS_LOG_DEBUG("Main PHY state is " << mainPhy->GetState()->GetState());
auto edca = GetStaMac()->GetQosTxop(aci);
edca->NotifyChannelReleased(linkId); // to set access to NOT_REQUESTED
if (delay.IsZero())
{
@@ -760,9 +762,6 @@ AdvancedEmlsrManager::SwitchMainPhyIfTxopGainedByAuxPhy(uint8_t linkId, AcIndex
return;
}
auto edca = GetStaMac()->GetQosTxop(aci);
edca->NotifyChannelReleased(linkId); // to set access to NOT_REQUESTED
NS_LOG_DEBUG("Schedule channel access request on link "
<< +linkId << " at time " << (Simulator::Now() + delay).As(Time::NS));
Simulator::Schedule(delay, [=]() {