wifi: Add MediumSyncDelay attributes to EHT configuration
This commit is contained in:
committed by
Stefano Avallone
parent
bf7cf39231
commit
fe141a64d7
@@ -23,6 +23,7 @@
|
||||
#include "ns3/attribute-container.h"
|
||||
#include "ns3/boolean.h"
|
||||
#include "ns3/enum.h"
|
||||
#include "ns3/integer.h"
|
||||
#include "ns3/log.h"
|
||||
#include "ns3/pair.h"
|
||||
#include "ns3/string.h"
|
||||
@@ -70,6 +71,29 @@ EhtConfiguration::GetTypeId()
|
||||
TimeValue(MicroSeconds(0)),
|
||||
MakeTimeAccessor(&EhtConfiguration::m_transitionTimeout),
|
||||
MakeTimeChecker(MicroSeconds(0), MicroSeconds(65536)))
|
||||
.AddAttribute(
|
||||
"MediumSyncDuration",
|
||||
"The duration of the MediumSyncDelay timer (must be a multiple of 32 us). "
|
||||
"The value of this attribute is only used by AP MLDs with EMLSR activated.",
|
||||
TimeValue(MicroSeconds(DEFAULT_MSD_DURATION_USEC)),
|
||||
MakeTimeAccessor(&EhtConfiguration::m_mediumSyncDuration),
|
||||
MakeTimeChecker(MicroSeconds(0), MicroSeconds(255 * 32)))
|
||||
.AddAttribute(
|
||||
"MsdOfdmEdThreshold",
|
||||
"Threshold (dBm) to be used instead of the normal CCA sensitivity for the primary "
|
||||
"20 MHz channel if the MediumSyncDelay timer has a nonzero value. "
|
||||
"The value of this attribute is only used by AP MLDs with EMLSR activated.",
|
||||
IntegerValue(DEFAULT_MSD_OFDM_ED_THRESH),
|
||||
MakeIntegerAccessor(&EhtConfiguration::m_msdOfdmEdThreshold),
|
||||
MakeIntegerChecker<int8_t>(-72, -62))
|
||||
.AddAttribute(
|
||||
"MsdMaxNTxops",
|
||||
"Maximum number of TXOPs that an EMLSR client is allowed to attempt to initiate "
|
||||
"while the MediumSyncDelay timer is running (zero indicates no limit). "
|
||||
"The value of this attribute is only used by AP MLDs with EMLSR activated.",
|
||||
UintegerValue(DEFAULT_MSD_MAX_N_TXOPS),
|
||||
MakeUintegerAccessor(&EhtConfiguration::m_msdMaxNTxops),
|
||||
MakeUintegerChecker<uint8_t>(0, 15))
|
||||
.AddAttribute(
|
||||
"TidToLinkMappingNegSupport",
|
||||
"TID-to-Link Mapping Negotiation Support.",
|
||||
|
||||
@@ -31,6 +31,15 @@
|
||||
namespace ns3
|
||||
{
|
||||
|
||||
/// default MediumSyncDelay timer duration (max PPDU TX time rounded to a multiple of 32 us)
|
||||
static constexpr uint16_t DEFAULT_MSD_DURATION_USEC = 5484 / 32 * 32;
|
||||
|
||||
/// default MediumSyncDelay timer OFDM ED threshold
|
||||
static constexpr int8_t DEFAULT_MSD_OFDM_ED_THRESH = -72;
|
||||
|
||||
/// default MediumSyncDelay max number of TXOP attempts
|
||||
static constexpr uint8_t DEFAULT_MSD_MAX_N_TXOPS = 1;
|
||||
|
||||
/**
|
||||
* \brief TID-to-Link Mapping Negotiation Support
|
||||
*/
|
||||
@@ -77,8 +86,11 @@ class EhtConfiguration : public Object
|
||||
const std::map<std::list<uint8_t>, std::list<uint8_t>>& mapping);
|
||||
|
||||
private:
|
||||
bool m_emlsrActivated; //!< whether EMLSR option is activated
|
||||
Time m_transitionTimeout; //!< Transition timeout
|
||||
bool m_emlsrActivated; //!< whether EMLSR option is activated
|
||||
Time m_transitionTimeout; //!< Transition timeout
|
||||
Time m_mediumSyncDuration; //!< duration of the MediumSyncDelay timer
|
||||
int8_t m_msdOfdmEdThreshold; //!< MediumSyncDelay OFDM ED threshold
|
||||
uint8_t m_msdMaxNTxops; //!< MediumSyncDelay max number of TXOPs
|
||||
WifiTidToLinkMappingNegSupport
|
||||
m_tidLinkMappingSupport; //!< TID-to-Link Mapping Negotiation Support
|
||||
std::map<std::list<uint64_t>, std::list<uint64_t>>
|
||||
|
||||
Reference in New Issue
Block a user