wifi: Create alias for QoS Null frames sent in TB PPDUs
This commit is contained in:
committed by
Stefano Avallone
parent
9afe9f8c70
commit
357c1cf398
@@ -1830,9 +1830,11 @@ HeFrameExchangeManager::SendQosNullFramesInTbPpdu(const CtrlTriggerHeader& trigg
|
||||
return;
|
||||
}
|
||||
|
||||
const auto addr1 =
|
||||
GetWifiRemoteStationManager()->GetMldAddress(hdr.GetAddr2()).value_or(hdr.GetAddr2());
|
||||
WifiMacHeader header(WIFI_MAC_QOSDATA_NULL);
|
||||
header.SetAddr1(hdr.GetAddr2());
|
||||
header.SetAddr2(m_self);
|
||||
header.SetAddr1(addr1);
|
||||
header.SetAddr2(m_mac->GetAddress());
|
||||
header.SetAddr3(hdr.GetAddr2());
|
||||
header.SetDsTo();
|
||||
header.SetDsNotFrom();
|
||||
@@ -1869,6 +1871,7 @@ HeFrameExchangeManager::SendQosNullFramesInTbPpdu(const CtrlTriggerHeader& trigg
|
||||
// TX parameters below.
|
||||
header.SetQosTid(tid);
|
||||
auto mpdu = Create<WifiMpdu>(Create<Packet>(), header);
|
||||
mpdu = CreateAliasIfNeeded(mpdu);
|
||||
txParams.AddMpdu(mpdu);
|
||||
UpdateTxDuration(header.GetAddr1(), txParams);
|
||||
|
||||
|
||||
@@ -64,8 +64,6 @@ WifiMpdu::CreateAlias(uint8_t linkId) const
|
||||
NS_LOG_FUNCTION(this << +linkId);
|
||||
NS_ABORT_MSG_IF(!std::holds_alternative<OriginalInfo>(m_instanceInfo),
|
||||
"This method can only be called on the original version of the MPDU");
|
||||
NS_ABORT_MSG_IF(!IsQueued(),
|
||||
"This method can only be called if the MPDU is stored in a MAC queue");
|
||||
|
||||
auto alias = Ptr<WifiMpdu>(new WifiMpdu, false);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user