wifi: Update outdated name of a User Info subfield
This commit is contained in:
@@ -1188,7 +1188,7 @@ CtrlTriggerUserInfoField::CtrlTriggerUserInfoField(TriggerFrameType triggerType,
|
||||
m_ulMcs(0),
|
||||
m_ulDcm(false),
|
||||
m_ps160(false),
|
||||
m_ulTargetRssi(0),
|
||||
m_ulTargetRxPower(0),
|
||||
m_triggerType(triggerType),
|
||||
m_basicTriggerDependentUserInfo(0)
|
||||
{
|
||||
@@ -1218,7 +1218,7 @@ CtrlTriggerUserInfoField::operator=(const CtrlTriggerUserInfoField& userInfo)
|
||||
m_ulDcm = userInfo.m_ulDcm;
|
||||
m_ps160 = userInfo.m_ps160;
|
||||
m_bits26To31 = userInfo.m_bits26To31;
|
||||
m_ulTargetRssi = userInfo.m_ulTargetRssi;
|
||||
m_ulTargetRxPower = userInfo.m_ulTargetRxPower;
|
||||
m_basicTriggerDependentUserInfo = userInfo.m_basicTriggerDependentUserInfo;
|
||||
m_muBarTriggerDependentUserInfo = userInfo.m_muBarTriggerDependentUserInfo;
|
||||
return *this;
|
||||
@@ -1291,7 +1291,7 @@ CtrlTriggerUserInfoField::Serialize(Buffer::Iterator start) const
|
||||
i.WriteHtolsbU32(userInfo);
|
||||
// Here we need to write 8 bits covering the UL Target RSSI (7 bits) and B39, which is
|
||||
// reserved in the HE variant and the PS160 subfield in the EHT variant.
|
||||
uint8_t bit32To39 = m_ulTargetRssi;
|
||||
uint8_t bit32To39 = m_ulTargetRxPower;
|
||||
if (m_variant == TriggerFrameVariant::EHT)
|
||||
{
|
||||
bit32To39 |= (m_ps160 ? 1 << 7 : 0);
|
||||
@@ -1348,7 +1348,7 @@ CtrlTriggerUserInfoField::Deserialize(Buffer::Iterator start)
|
||||
}
|
||||
|
||||
uint8_t bit32To39 = i.ReadU8();
|
||||
m_ulTargetRssi = bit32To39 & 0x7f; // B39 is reserved in HE variant
|
||||
m_ulTargetRxPower = bit32To39 & 0x7f; // B39 is reserved in HE variant
|
||||
if (m_variant == TriggerFrameVariant::EHT)
|
||||
{
|
||||
m_ps160 = (bit32To39 >> 7) == 1;
|
||||
@@ -1677,31 +1677,31 @@ CtrlTriggerUserInfoField::GetMoreRaRu() const
|
||||
}
|
||||
|
||||
void
|
||||
CtrlTriggerUserInfoField::SetUlTargetRssiMaxTxPower()
|
||||
CtrlTriggerUserInfoField::SetUlTargetRxPowerMaxTxPower()
|
||||
{
|
||||
m_ulTargetRssi = 127; // see Table 9-25i of 802.11ax amendment D3.0
|
||||
m_ulTargetRxPower = 127; // see Table 9-54 of 802.11-2024
|
||||
}
|
||||
|
||||
void
|
||||
CtrlTriggerUserInfoField::SetUlTargetRssi(int8_t dBm)
|
||||
CtrlTriggerUserInfoField::SetUlTargetRxPower(int8_t dBm)
|
||||
{
|
||||
NS_ABORT_MSG_IF(dBm < -110 || dBm > -20, "Invalid values for signal power");
|
||||
|
||||
m_ulTargetRssi = static_cast<uint8_t>(110 + dBm);
|
||||
m_ulTargetRxPower = static_cast<uint8_t>(110 + dBm);
|
||||
}
|
||||
|
||||
bool
|
||||
CtrlTriggerUserInfoField::IsUlTargetRssiMaxTxPower() const
|
||||
CtrlTriggerUserInfoField::IsUlTargetRxPowerMaxTxPower() const
|
||||
{
|
||||
return (m_ulTargetRssi == 127);
|
||||
return (m_ulTargetRxPower == 127);
|
||||
}
|
||||
|
||||
int8_t
|
||||
CtrlTriggerUserInfoField::GetUlTargetRssi() const
|
||||
CtrlTriggerUserInfoField::GetUlTargetRxPower() const
|
||||
{
|
||||
NS_ABORT_MSG_IF(m_ulTargetRssi == 127, "STA must use its max TX power");
|
||||
NS_ABORT_MSG_IF(m_ulTargetRxPower == 127, "STA must use its max TX power");
|
||||
|
||||
return static_cast<int8_t>(m_ulTargetRssi) - 110;
|
||||
return static_cast<int8_t>(m_ulTargetRxPower) - 110;
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -803,32 +803,32 @@ class CtrlTriggerUserInfoField
|
||||
*/
|
||||
bool GetMoreRaRu() const;
|
||||
/**
|
||||
* Set the UL Target RSSI subfield to indicate to the station to transmit an
|
||||
* Set the UL Target Receive Power subfield to indicate to the station to transmit an
|
||||
* HE TB PPDU response at its maximum transmit power for the assigned MCS
|
||||
*/
|
||||
void SetUlTargetRssiMaxTxPower();
|
||||
void SetUlTargetRxPowerMaxTxPower();
|
||||
/**
|
||||
* Set the UL Target RSSI subfield to indicate the expected receive signal
|
||||
* Set the UL Target Receive Power subfield to indicate the expected receive signal
|
||||
* power in dBm
|
||||
*
|
||||
* @param dBm the expected receive signal power (a value between -110 and -20)
|
||||
*/
|
||||
void SetUlTargetRssi(int8_t dBm);
|
||||
void SetUlTargetRxPower(int8_t dBm);
|
||||
/**
|
||||
* Return true if the UL Target RSSI subfield indicates to the station to transmit
|
||||
* Return true if the UL Target Receive Power subfield indicates to the station to transmit
|
||||
* an HE TB PPDU response at its maximum transmit power for the assigned MCS
|
||||
*
|
||||
* @return true if the UL Target RSSI subfield indicates to the station to transmit
|
||||
* @return true if the UL Target Receive Power subfield indicates to the station to transmit
|
||||
* an HE TB PPDU response at its maximum transmit power for the assigned MCS
|
||||
*/
|
||||
bool IsUlTargetRssiMaxTxPower() const;
|
||||
bool IsUlTargetRxPowerMaxTxPower() const;
|
||||
/**
|
||||
* Get the expected receive signal power for the solicited HE TB PPDU. This
|
||||
* method can only be called if IsUlTargetRssiMaxTxPower returns false.
|
||||
* method can only be called if IsUlTargetRxPowerMaxTxPower returns false.
|
||||
*
|
||||
* @return the expected receive signal power in dBm
|
||||
*/
|
||||
int8_t GetUlTargetRssi() const;
|
||||
int8_t GetUlTargetRxPower() const;
|
||||
/**
|
||||
* Set the Trigger Dependent User Info subfield for Basic Trigger frames.
|
||||
*
|
||||
@@ -903,7 +903,7 @@ class CtrlTriggerUserInfoField
|
||||
} raRuInformation; //!< Used when AID12 is 0 or 2045
|
||||
} m_bits26To31; //!< Fields occupying bits 26-31 in the User Info field
|
||||
|
||||
uint8_t m_ulTargetRssi; //!< Expected receive signal power
|
||||
uint8_t m_ulTargetRxPower; //!< Expected receive signal power
|
||||
TriggerFrameType m_triggerType; //!< Trigger frame type
|
||||
uint8_t m_basicTriggerDependentUserInfo; //!< Basic Trigger variant of Trigger Dependent User
|
||||
//!< Info subfield
|
||||
|
||||
@@ -1512,7 +1512,7 @@ HeFrameExchangeManager::GetHeTbTxVector(CtrlTriggerHeader trigger, Mac48Address
|
||||
NS_ASSERT_MSG(heConfiguration, "This STA has to be an HE station to send an HE TB PPDU");
|
||||
v.SetBssColor(heConfiguration->m_bssColor);
|
||||
|
||||
if (userInfoIt->IsUlTargetRssiMaxTxPower())
|
||||
if (userInfoIt->IsUlTargetRxPowerMaxTxPower())
|
||||
{
|
||||
NS_LOG_LOGIC("AP requested using the max transmit power (" << m_phy->GetTxPowerEnd()
|
||||
<< " dBm)");
|
||||
@@ -1544,7 +1544,7 @@ HeFrameExchangeManager::GetHeTbTxVector(CtrlTriggerHeader trigger, Mac48Address
|
||||
trigger.GetApTxPower() -
|
||||
static_cast<int8_t>(
|
||||
*optRssi); // cast RSSI to be on equal footing with AP Tx power information
|
||||
auto reqTxPower = dBm_u{static_cast<double>(userInfoIt->GetUlTargetRssi() + pathLossDb)};
|
||||
auto reqTxPower = dBm_u{static_cast<double>(userInfoIt->GetUlTargetRxPower() + pathLossDb)};
|
||||
|
||||
// Convert the transmit power to a power level
|
||||
uint8_t numPowerLevels = m_phy->GetNTxPower();
|
||||
@@ -1600,7 +1600,7 @@ HeFrameExchangeManager::SetTargetRssi(CtrlTriggerHeader& trigger) const
|
||||
{
|
||||
// This might happen after static setup where the AP has not received any
|
||||
// frame from the client yet.
|
||||
userInfo.SetUlTargetRssiMaxTxPower();
|
||||
userInfo.SetUlTargetRxPowerMaxTxPower();
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -1609,7 +1609,7 @@ HeFrameExchangeManager::SetTargetRssi(CtrlTriggerHeader& trigger) const
|
||||
rssi = (rssi >= -20)
|
||||
? -20
|
||||
: ((rssi <= -110) ? -110 : rssi); // cap so as to keep within [-110; -20] dBm
|
||||
userInfo.SetUlTargetRssi(rssi);
|
||||
userInfo.SetUlTargetRxPower(rssi);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5867,7 +5867,7 @@ TestUlOfdmaPowerControl::SendMuBar(std::vector<uint16_t> staIds)
|
||||
{
|
||||
NS_ABORT_MSG("Unknown STA-ID (" << staId << ")");
|
||||
}
|
||||
ui.SetUlTargetRssi(ulTargetRssi);
|
||||
ui.SetUlTargetRxPower(ulTargetRssi);
|
||||
|
||||
CtrlBAckRequestHeader bar;
|
||||
bar.SetType(BlockAckReqType::COMPRESSED);
|
||||
|
||||
Reference in New Issue
Block a user