27 : m_plusHtcHeSupport (0),
28 m_twtRequesterSupport (0),
29 m_twtResponderSupport (0),
30 m_fragmentationSupport (0),
31 m_maximumNumberOfFragmentedMsdus (0),
32 m_minimumFragmentSize (0),
33 m_triggerFrameMacPaddingDuration (0),
34 m_multiTidAggregationSupport (0),
35 m_heLinkAdaptation (0),
37 m_ulMuResponseSchedulingSupport (0),
39 m_broadcastTwtSupport (0),
40 m_32bitBaBitmapSupport (0),
41 m_muCascadeSupport (0),
42 m_ackEnabledMultiTidAggregationSupport (0),
43 m_groupAddressedMultiStaBlockAckInDlMuSupport (0),
44 m_omControlSupport (0),
46 m_maxAmpduLengthExponent (0),
47 m_amsduFragmentationSupport (0),
48 m_flexibleTwtScheduleSupport (0),
49 m_rxControlFrameToMultiBss (0),
50 m_bsrpAmpduAggregation (0),
53 m_dualBandSupport (0),
54 m_channelWidthSet (0),
55 m_preamblePuncturingRx (0),
57 m_ldpcCodingInPayload (0),
58 m_heLtfAndGiForHePpdus (0),
59 m_heLtfAndGiForNdp (0),
65 m_ulHeMuPpduPayloadSupport (0),
69 m_beamformeeStsForSmallerOrEqualThan80Mhz (0),
70 m_nstsTotalForSmallerOrEqualThan80Mhz (0),
71 m_beamformeeStsForLargerThan80Mhz (0),
72 m_nstsTotalForLargerThan80Mhz (0),
73 m_numberOfSoundingDimensionsForSmallerOrEqualThan80Mhz (0),
74 m_numberOfSoundingDimensionsForLargerThan80Mhz (0),
75 m_ngEqual16ForSuFeedbackSupport (0),
76 m_ngEqual16ForMuFeedbackSupport (0),
77 m_codebookSize42ForSuSupport (0),
78 m_codebookSize75ForSuSupport (0),
79 m_beamformingFeedbackWithTriggerFrame (0),
80 m_heErSuPpduPayload (0),
81 m_dlMuMimoOnPartialBandwidth (0),
82 m_ppeThresholdPresent (0),
83 m_srpBasedSrSupport (0),
84 m_powerBoostFactorAlphaSupport (0),
85 m_4TimesHeLtfAnd800NsGiSupportForHePpdus (0),
86 m_highestNssSupportedM1 (0),
87 m_highestMcsSupported (0),
161 uint8_t macCapabilities2 = i.
ReadU8 ();
163 uint8_t phyCapabilities2 = i.
ReadU8 ();
164 uint32_t mcsset = i.
ReadU32 ();
256 m_ulMu = (ctrl1 >> 22) & 0x03;
295 val |= (
m_ulMu & 0x03) << 22;
336 for (i = 0; i < 5; i++)
340 for (i = 0; i < 5; i++)
342 m_rxBwMap[i] = (ctrl >> (11 + i)) & 0x01;
354 for (i = 0; i < 5; i++)
358 for (i = 0; i < 5; i++)
360 val |= (
m_rxBwMap[i] & 0x01) << (11 + 1);
438 NS_ASSERT (heLtfAndGiForHePpdus <= 0x03);
445 for (uint8_t i = 0; i <= 3; i++)
447 if ((1ul << (20 + i)) - 1 == maxAmpduLength)
iterator in a Buffer instance
uint32_t ReadLsbtohU32(void)
uint64_t ReadLsbtohU64(void)
The IEEE 802.11ax HE Capabilities.
uint8_t m_nstsTotalForSmallerOrEqualThan80Mhz
STS total for < 80 MHz.
bool IsSupportedTxMcs(uint8_t mcs) const
Is RX MCS supported.
Buffer::Iterator Serialize(Buffer::Iterator start) const override
Serialize entire IE including Element ID and length fields.
uint8_t m_dualBandSupport
dual band support
uint8_t m_maximumNumberOfFragmentedMsdus
maximum number of fragmentation MSDUs
uint8_t m_multiTidAggregationSupport
multi-TID aggregation support
uint8_t GetInformationFieldSize() const override
Length of serialized information (i.e., the length of the body of the IE, not including the Element I...
uint8_t m_rxControlFrameToMultiBss
receive control frame to multi-BSS
uint8_t m_heErSuPpduPayload
HE-ER-SU-PPDU payload.
uint8_t m_beamformeeStsForLargerThan80Mhz
beamformee STS for > 80MHz
bool IsSupportedRxMcs(uint8_t mcs) const
Is RX MCS supported.
uint8_t m_aBqrSupport
ABQR support.
uint8_t m_amsduFragmentationSupport
A-MSDU fragmentation support.
uint8_t m_qtpSupport
QTP support.
uint8_t m_triggerFrameMacPaddingDuration
trigger frame MAC padding duration
uint8_t m_srpBasedSrSupport
SRP based SR support.
uint8_t GetHighestMcsSupported(void) const
Get highest MCS supported.
uint8_t m_allAckSupport
all Ack support
void SetLdpcCodingInPayload(uint8_t ldpcCodingInPayload)
Set indication whether the transmission and reception of LDPC encoded packets is supported.
uint8_t m_twtRequesterSupport
TWT requester support.
void SetSupportedMcsAndNss(uint16_t ctrl)
Set the MCS and NSS field in the HE Capabilities information element.
uint8_t GetLdpcCodingInPayload(void) const
Indicates support for the transmission and reception of LDPC encoded packets.
uint8_t m_broadcastTwtSupport
broadcast TXT support
uint8_t m_ackEnabledMultiTidAggregationSupport
ack enabled multi-TID aggregation support
uint8_t GetHeLtfAndGiForHePpdus(void) const
Get HE LTF and GI for HE PDPUs.
uint8_t m_ldpcCodingInPayload
LDPC coding in payload.
uint8_t DeserializeInformationField(Buffer::Iterator start, uint8_t length) override
Deserialize information (i.e., the body of the IE, not including the Element ID and length octets)
std::vector< uint8_t > m_rxBwMap
receive BW map
uint8_t m_muCascadeSupport
MU cascade support.
void SetHeSupported(uint8_t heSupported)
Set HE supported.
uint8_t m_ofdmaRaSupport
OFDMA RA support.
uint8_t GetHeMacCapabilitiesInfo2() const
Return the last octet of the HE MAC Capabilities Info field in the HE Capabilities information elemen...
uint8_t m_beamformingFeedbackWithTriggerFrame
beamforming feedback with trigger frame
uint8_t m_codebookSize42ForSuSupport
codebook size 42 for SU
uint8_t m_suBeamformee
SU beamformee.
void SetHePhyCapabilitiesInfo(uint64_t ctrl1, uint8_t ctrl2)
Set the HE PHY Capabilities Info field in the HE Capabilities information element.
uint8_t m_ulHeMuPpduPayloadSupport
UL HE-MU-PDPU payload support.
uint32_t GetHeMacCapabilitiesInfo1() const
Return the 4 first octets of the HE MAC Capabilities Info field in the HE Capabilities information el...
uint8_t m_32bitBaBitmapSupport
32-bit BA bitmap support
void SetHighestNssSupported(uint8_t nss)
Set highest NSS supported.
uint32_t GetMaxAmpduLength(void) const
Return the maximum A-MPDU length.
uint8_t m_dcmEncodingTx
DCM encoding transmit.
uint8_t m_fragmentationSupport
fragmentation support
uint8_t m_highestMcsSupported
highest MCS support
uint8_t m_ngEqual16ForSuFeedbackSupport
equal 16 for SU feedback
uint8_t m_suBeamformer
SU beamformer.
uint8_t m_minimumFragmentSize
minimum fragment size
uint8_t m_twtResponderSupport
TWT responder support.
uint8_t m_stbcTxAndRx
STBC transmit and receive.
uint8_t m_flexibleTwtScheduleSupport
flexible TWT schedule support
uint8_t m_ngEqual16ForMuFeedbackSupport
equal 16 for MU feedback
uint8_t m_bsrpAmpduAggregation
BSRP A-MPDU aggregation.
uint8_t m_groupAddressedMultiStaBlockAckInDlMuSupport
group addressed multi-STA BlockAck in DL support
uint8_t GetHePhyCapabilitiesInfo2() const
Return the last octet of the HE PHY Capabilities Info field in the HE Capabilities information elemen...
uint8_t m_omControlSupport
operation mode control support
uint8_t m_heSupported
This is used to decide if this element should be added to the frame or not.
WifiInformationElementId ElementIdExt() const override
uint8_t m_beamformeeStsForSmallerOrEqualThan80Mhz
beam formee STS for < 80 MHz
uint8_t m_plusHtcHeSupport
HTC HE support.
void SetMaxAmpduLength(uint32_t maxAmpduLength)
Set the maximum AMPDU length.
uint8_t m_channelWidthSet
channel width set
uint8_t m_aBsrSupport
BSR support.
uint8_t m_maxAmpduLengthExponent
maximum A-MPDU length exponent
void SerializeInformationField(Buffer::Iterator start) const override
Serialize information (i.e., the body of the IE, not including the Element ID and length octets)
void SetHeMacCapabilitiesInfo(uint32_t ctrl1, uint8_t ctrl2)
Set the HE MAC Capabilities Info field in the HE Capabilities information element.
uint8_t m_deviceClass
device class
uint8_t m_dlMuMimoOnPartialBandwidth
DL MU-MIMO on partial bandwidth.
uint64_t GetHePhyCapabilitiesInfo1() const
Return the 8 first octets of the HE PHY Capabilities Info field in the HE Capabilities information el...
uint8_t m_4TimesHeLtfAnd800NsGiSupportForHePpdus
4 times HE-LFT and 800ns GI support for HE-PPDUs
uint8_t m_powerBoostFactorAlphaSupport
power boost factor alpha support
WifiInformationElementId ElementId() const override
uint8_t m_ppeThresholdPresent
PPE threshold present.
uint8_t m_muBeamformer
MU beamformer.
uint16_t GetSerializedSize() const override
Get the size of the serialized IE including Element ID and length fields.
uint8_t m_ulMuResponseSchedulingSupport
UL MU response scheduling support.
uint8_t m_doppler
Doppler.
uint16_t GetSupportedMcsAndNss() const
Return the MCS and NSS field in the HE Capabilities information element.
uint8_t GetChannelWidthSet(void) const
Get channel width set.
uint8_t m_heLtfAndGiForNdp
HE-LTF and GI for NDP.
uint8_t m_heLtfAndGiForHePpdus
HE-LTF and GI for HE-PPDUs.
uint8_t GetHighestNssSupported(void) const
Get highest NSS supported.
void SetChannelWidthSet(uint8_t channelWidthSet)
Set channel width set.
uint8_t m_nstsTotalForLargerThan80Mhz
STS total for > 80 MHz.
void SetHeLtfAndGiForHePpdus(uint8_t heLtfAndGiForHePpdus)
Set HE LTF and GI for HE PDPUs.
uint8_t m_preamblePuncturingRx
preamble puncturing receive
uint8_t m_codebookSize75ForSuSupport
codebook size 75 for SU
std::vector< uint8_t > m_txBwMap
transmit BW map
uint8_t m_numberOfSoundingDimensionsForLargerThan80Mhz
void SetHighestMcsSupported(uint8_t mcs)
Set highest MCS supported.
uint8_t m_heLinkAdaptation
HE link adaptation.
uint8_t m_highestNssSupportedM1
highest NSS support M1
uint8_t m_numberOfSoundingDimensionsForSmallerOrEqualThan80Mhz
uint8_t m_dcmEncodingRx
DCM encoding receive.
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file,...
#define NS_ABORT_MSG(msg)
Unconditional abnormal program termination with a message.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
std::ostream & operator<<(std::ostream &os, const Angles &a)
uint8_t WifiInformationElementId
This type is used to represent an Information Element ID.