wifi: Add function set PPE thresholds in EHT capabilities
This commit is contained in:
committed by
Sebastien Deronne
parent
568cf017e2
commit
359b6d873c
@@ -598,6 +598,22 @@ EhtCapabilities::SetSupportedTxEhtMcsAndNss(EhtMcsAndNssSet::EhtMcsMapType mapTy
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
EhtCapabilities::SetPpeThresholds(uint8_t nssPe,
|
||||
uint8_t ruIndexBitmask,
|
||||
const std::vector<std::pair<uint8_t, uint8_t>>& ppeThresholds)
|
||||
{
|
||||
NS_ASSERT(ppeThresholds.size() == (std::bitset<5>(ruIndexBitmask).count() * (nssPe + 1)));
|
||||
m_phyCapabilities.ppeThresholdsPresent = 1;
|
||||
m_ppeThresholds.nssPe = nssPe;
|
||||
m_ppeThresholds.ruIndexBitmask = ruIndexBitmask;
|
||||
m_ppeThresholds.ppeThresholdsInfo.clear();
|
||||
for (const auto& [ppetMax, ppet8] : ppeThresholds)
|
||||
{
|
||||
m_ppeThresholds.ppeThresholdsInfo.push_back({ppetMax, ppet8});
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
EhtCapabilities::SerializeInformationField(Buffer::Iterator start) const
|
||||
{
|
||||
|
||||
@@ -310,6 +310,17 @@ class EhtCapabilities : public WifiInformationElement
|
||||
uint8_t upperMcs,
|
||||
uint8_t maxNss);
|
||||
|
||||
/**
|
||||
* Set the EHT PPE threshold info subfield
|
||||
*
|
||||
* \param nssPe the NSS_PE subfield
|
||||
* \param ruIndexBitmask the RU Index Bitmask subfield
|
||||
* \param ppeThresholds the PPE thresholds made of pairs (PPETmax, PPET8)
|
||||
*/
|
||||
void SetPpeThresholds(uint8_t nssPe,
|
||||
uint8_t ruIndexBitmask,
|
||||
const std::vector<std::pair<uint8_t, uint8_t>>& ppeThresholds);
|
||||
|
||||
EhtMacCapabilities m_macCapabilities; //!< EHT MAC Capabilities Info subfield
|
||||
EhtPhyCapabilities m_phyCapabilities; //!< EHT PHY Capabilities Info subfield
|
||||
EhtMcsAndNssSet m_supportedEhtMcsAndNssSet; //!< Supported EHT-MCS And NSS Set subfield
|
||||
|
||||
Reference in New Issue
Block a user