A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
he-capabilities.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2016
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation;
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 *
17 * Author: Sébastien Deronne <sebastien.deronne@gmail.com>
18 */
19
20#ifndef HE_CAPABILITIES_H
21#define HE_CAPABILITIES_H
22
23#include "ns3/wifi-information-element.h"
24
25namespace ns3
26{
27
28/**
29 * \ingroup wifi
30 *
31 * The IEEE 802.11ax HE Capabilities
32 */
34{
35 public:
37
38 // Implementations of pure virtual methods of WifiInformationElement
39 WifiInformationElementId ElementId() const override;
41 void Print(std::ostream& os) const override;
42
43 /**
44 * Set the HE MAC Capabilities Info field in the HE Capabilities information element.
45 *
46 * \param ctrl1 the HE MAC Capabilities Info field 1 in the HE Capabilities information element
47 * \param ctrl2 the HE MAC Capabilities Info field 2 in the HE Capabilities information element
48 */
49 void SetHeMacCapabilitiesInfo(uint32_t ctrl1, uint16_t ctrl2);
50 /**
51 * Set the HE PHY Capabilities Info field in the HE Capabilities information element.
52 *
53 * \param ctrl1 the HE PHY Capabilities Info field 1 in the HE Capabilities information element
54 * \param ctrl2 the HE PHY Capabilities Info field 2 in the HE Capabilities information element
55 * \param ctrl3 the HE PHY Capabilities Info field 3 in the HE Capabilities information element
56 */
57 void SetHePhyCapabilitiesInfo(uint64_t ctrl1, uint16_t ctrl2, uint8_t ctrl3);
58 /**
59 * Set the MCS and NSS field in the HE Capabilities information element.
60 *
61 * \param ctrl the MCS and NSS field in the HE Capabilities information element
62 */
63 void SetSupportedMcsAndNss(uint16_t ctrl);
64
65 /**
66 * Return the 4 first octets of the HE MAC Capabilities Info field in the HE Capabilities
67 * information element.
68 *
69 * \return the 4 first octets of the HE MAC Capabilities Info field in the HE Capabilities
70 * information element
71 */
73 /**
74 * Return the last 2 octets of the HE MAC Capabilities Info field in the HE Capabilities
75 * information element.
76 *
77 * \return the last 2 octets of the HE MAC Capabilities Info field in the HE Capabilities
78 * information element
79 */
80 uint16_t GetHeMacCapabilitiesInfo2() const;
81 /**
82 * Return the 8 first octets of the HE PHY Capabilities Info field in the HE Capabilities
83 * information element.
84 *
85 * \return the 8 first octets of the HE PHY Capabilities Info field in the HE Capabilities
86 * information element
87 */
88 uint64_t GetHePhyCapabilitiesInfo1() const;
89 /**
90 * Return the octets 9-10 of the HE PHY Capabilities Info field in the HE Capabilities
91 * information element.
92 *
93 * \return the octets 9-10 of the HE PHY Capabilities Info field in the HE Capabilities
94 * information element
95 */
96 uint16_t GetHePhyCapabilitiesInfo2() const;
97 /**
98 * Return the last octet of the HE PHY Capabilities Info field in the HE Capabilities
99 * information element.
100 *
101 * \return the last octet of the HE PHY Capabilities Info field in the HE Capabilities
102 * information element
103 */
104 uint8_t GetHePhyCapabilitiesInfo3() const;
105 /**
106 * Return the MCS and NSS field in the HE Capabilities information element.
107 *
108 * \return the MCS and NSS field in the HE Capabilities information element
109 */
110 uint16_t GetSupportedMcsAndNss() const;
111
112 // PHY Capabilities Info fields
113 /**
114 * Set channel width set.
115 *
116 * \param channelWidthSet the channel width set
117 */
118 void SetChannelWidthSet(uint8_t channelWidthSet);
119 /**
120 * Set indication whether the transmission and reception of LDPC encoded packets is supported.
121 *
122 * \param ldpcCodingInPayload indication whether the transmission and reception of LDPC encoded
123 * packets is supported
124 */
125 void SetLdpcCodingInPayload(uint8_t ldpcCodingInPayload);
126 /**
127 * Set 1xHE-LTF and 800ns GI in HE SU PPDU reception support
128 *
129 * \param heSuPpdu1xHeLtf800nsGi 1xHE-LTF and 800ns GI in HE SU PPDU reception support
130 */
131 void SetHeSuPpdu1xHeLtf800nsGi(bool heSuPpdu1xHeLtf800nsGi);
132 /**
133 * Set 4xHE-LTF and 800ns GI in HE SU PPDU and HE MU PPDU reception support
134 *
135 * \param heSuPpdu4xHeLtf800nsGi 4xHE-LTF and 800ns GI in HE SU PPDU and HE MU PPDU reception
136 * support
137 */
138 void SetHePpdu4xHeLtf800nsGi(bool heSuPpdu4xHeLtf800nsGi);
139 /**
140 * Get channel width set.
141 *
142 * \returns the channel width set
143 */
144 uint8_t GetChannelWidthSet() const;
145 /**
146 * Indicates support for the transmission and reception of LDPC encoded packets.
147 *
148 * \returns indication whether the transmission and reception of LDPC encoded packets is
149 * supported
150 */
151 uint8_t GetLdpcCodingInPayload() const;
152 /**
153 * Get 1xHE-LTF and 800ns GI in HE SU PPDU reception support
154 *
155 * \returns true if 1xHE-LTF and 800ns GI in HE SU PPDU reception is supported, false otherwise
156 */
157 bool GetHeSuPpdu1xHeLtf800nsGi() const;
158 /**
159 * Get 4xHE-LTF and 800ns GI in HE SU PPDU and HE MU PPDU reception support
160 *
161 * \returns true if 4xHE-LTF and 800ns GI in HE SU PPDU and HE MU PPDU reception is supported,
162 * false otherwise
163 */
164 bool GetHePpdu4xHeLtf800nsGi() const;
165 /**
166 * Get highest MCS supported.
167 *
168 * \returns the highest MCS is supported
169 */
170 uint8_t GetHighestMcsSupported() const;
171 /**
172 * Get highest NSS supported.
173 *
174 * \returns the highest supported NSS
175 */
176 uint8_t GetHighestNssSupported() const;
177
178 // MAC Capabilities Info fields
179 /**
180 * Set the maximum AMPDU length.
181 *
182 * \param maxAmpduLength 2^(20 + x) - 1, x in the range 0 to 3
183 */
184 void SetMaxAmpduLength(uint32_t maxAmpduLength);
185
186 // MCS and NSS field information
187 /**
188 * Set highest MCS supported.
189 *
190 * \param mcs the MCS
191 */
192 void SetHighestMcsSupported(uint8_t mcs);
193 /**
194 * Set highest NSS supported.
195 *
196 * \param nss the NSS
197 */
198 void SetHighestNssSupported(uint8_t nss);
199
200 /**
201 * Is RX MCS supported.
202 *
203 * \param mcs the MCS
204 * \returns true if MCS transmit supported
205 */
206 bool IsSupportedTxMcs(uint8_t mcs) const;
207 /**
208 * Is RX MCS supported.
209 *
210 * \param mcs the MCS
211 * \returns true if MCS receive supported
212 */
213 bool IsSupportedRxMcs(uint8_t mcs) const;
214
215 /**
216 * Return the maximum A-MPDU length.
217 *
218 * \return the maximum A-MPDU length
219 */
221
222 private:
223 uint16_t GetInformationFieldSize() const override;
224 void SerializeInformationField(Buffer::Iterator start) const override;
225 uint16_t DeserializeInformationField(Buffer::Iterator start, uint16_t length) override;
226
227 // MAC Capabilities Info fields
228 // IEEE 802.11ax-2021 9.4.2.248.2 HE MAC Capabilities Information field
229 uint8_t m_plusHtcHeSupport; //!< HTC HE support
230 uint8_t m_twtRequesterSupport; //!< TWT requester support
231 uint8_t m_twtResponderSupport; //!< TWT responder support
232 uint8_t m_fragmentationSupport; //!< fragmentation support
233 uint8_t m_maximumNumberOfFragmentedMsdus; //!< maximum number of fragmentation MSDUs
234 uint8_t m_minimumFragmentSize; //!< minimum fragment size
235 uint8_t m_triggerFrameMacPaddingDuration; //!< trigger frame MAC padding duration
236 uint8_t m_multiTidAggregationRxSupport; //!< multi-TID aggregation Rx support
237 uint8_t m_heLinkAdaptation; //!< HE link adaptation
238 uint8_t m_allAckSupport; //!< all Ack support
239 uint8_t m_trsSupport; //!< TRS support
240 uint8_t m_bsrSupport; //!< BSR support
241 uint8_t m_broadcastTwtSupport; //!< broadcast TXT support
242 uint8_t m_32bitBaBitmapSupport; //!< 32-bit BA bitmap support
243 uint8_t m_muCascadeSupport; //!< MU cascade support
244 uint8_t m_ackEnabledAggregationSupport; //!< ack enabled aggregation support
245 uint8_t m_omControlSupport; //!< operation mode control support
246 uint8_t m_ofdmaRaSupport; //!< OFDMA RA support
247 uint8_t m_maxAmpduLengthExponent; //!< maximum A-MPDU length exponent extension
248 uint8_t m_amsduFragmentationSupport; //!< A-MSDU fragmentation support
249 uint8_t m_flexibleTwtScheduleSupport; //!< flexible TWT schedule support
250 uint8_t m_rxControlFrameToMultiBss; //!< receive control frame to multi-BSS
251 uint8_t m_bsrpBqrpAmpduAggregation; //!< BSRP BQRP A-MPDU aggregation
252 uint8_t m_qtpSupport; //!< QTP support
253 uint8_t m_bqrSupport; //!< BQR support
254 uint8_t m_psrResponder; //!< PSR responder
255 uint8_t m_ndpFeedbackReportSupport; //!< NDP feedback report support
256 uint8_t m_opsSupport; //!< OPS support
257 uint8_t m_amsduNotUnderBaInAmpduSupport; //!< AMSDU not under BA in Ack enabled A-MPDU support
258 uint8_t m_multiTidAggregationTxSupport; //!< Multi-TID aggregation TX support
259 uint8_t m_heSubchannelSelectiveTxSupport; //!< HE subchannel selective transmission support
260 uint8_t m_ul2x996ToneRuSupport; //!< UL 2x996 tone RU support
261 uint8_t m_omControlUlMuDataDisableRxSupport; //!< OM control UL MU data disable RX support
262 uint8_t m_heDynamicSmPowerSave; //!< HE dynamic SM power save
263 uint8_t m_puncturedSoundingSupport; //!< punctured sounding support
264 uint8_t m_heVhtTriggerFrameRxSupport; //!< HE and VHT trigger frame RX support
265
266 // PHY Capabilities Info fields
267 // IEEE 802.11ax-2021 9.4.2.248.3 HE PHY Capabilities Information field
268 uint8_t m_channelWidthSet; //!< channel width set
269 uint8_t m_puncturedPreambleRx; //!< Punctured preamble Rx
270 uint8_t m_deviceClass; //!< device class
271 uint8_t m_ldpcCodingInPayload; //!< LDPC coding in payload
272 uint8_t m_heSuPpdu1xHeLtf800nsGi; //!< HE SU PPDU with 1x HE LTF and 0.8us GI
273 uint8_t m_midambleRxMaxNsts; //!< Midamble TX/RX max NSTS
274 uint8_t m_ndp4xHeLtfAnd32msGi; //!< NDP with 4x HE-LTF and 3.2us GI
275 uint8_t m_stbcTxLeq80MHz; //!< STBC TX <= 80MHz
276 uint8_t m_stbcRxLeq80MHz; //!< STBC RX <= 80Mhz
277 uint8_t m_dopplerTx; //!< Doppler Tx
278 uint8_t m_dopplerRx; //!< Doppler Rx
279 uint8_t m_fullBwUlMuMimo; //!< Full Bandwidth UL MU-MIMO
280 uint8_t m_partialBwUlMuMimo; //!< Partial Bandwidth UL MU-MIMO
281 uint8_t m_dcmMaxConstellationTx; //!< DCM Max Constellation Tx
282 uint8_t m_dcmMaxNssTx; //!< DCM Max NSS Tx
283 uint8_t m_dcmMaxConstellationRx; //!< DCM Max Constellation Rx
284 uint8_t m_dcmMaxNssRx; //!< DCM Max NSS Rx
285 uint8_t m_rxPartialBwSuInHeMu; //!< Rx Partial BW SU in 20 MHz HE MU PPDU
286 uint8_t m_suBeamformer; //!< SU beamformer
287 uint8_t m_suBeamformee; //!< SU beamformee
288 uint8_t m_muBeamformer; //!< MU beamformer
289 uint8_t m_beamformeeStsForSmallerOrEqualThan80Mhz; //!< beam formee STS for < 80 MHz
290 uint8_t m_beamformeeStsForLargerThan80Mhz; //!< beamformee STS for > 80MHz
291 uint8_t m_numberOfSoundingDimensionsForSmallerOrEqualThan80Mhz; //!< # of sounding dimensions
292 //!< for < 80 MHz
293 uint8_t
294 m_numberOfSoundingDimensionsForLargerThan80Mhz; //!< # of sounding dimensions for > 80 MHz
295 uint8_t m_ngEqual16ForSuFeedbackSupport; //!< equal 16 for SU feedback
296 uint8_t m_ngEqual16ForMuFeedbackSupport; //!< equal 16 for MU feedback
297 uint8_t m_codebookSize42SuFeedback; //!< Codebook Size = {4, 2} SU feedback
298 uint8_t m_codebookSize75MuFeedback; //!< Codebook Size = {7, 5} MU feedback
299 uint8_t m_triggeredSuBfFeedback; //!< Triggered SU beamforming feedback
300 uint8_t m_triggeredMuBfFeedback; //!< Triggered MU beamforming feedback
301 uint8_t m_triggeredCqiFeedback; //!< Triggered CQI feedback
302 uint8_t m_erPartialBandwidth; //!< Extended range partial bandwidth
303 uint8_t m_dlMuMimoOnPartialBandwidth; //!< DL MU-MIMO on partial bandwidth
304 uint8_t m_ppeThresholdPresent; //!< PPE threshold present
305 uint8_t m_psrBasedSrSupport; //!< PSR based SR support
306 uint8_t m_powerBoostFactorAlphaSupport; //!< power boost factor alpha support
307 uint8_t m_hePpdu4xHeLtf800nsGi; //!< 4 times HE-LFT and 800ns GI support for HE-PPDUs
308 uint8_t m_maxNc; //!< Max Nc for HE compressed beamforming/CQI report
309 uint8_t m_stbcTxGt80MHz; //!< STBC Tx > 80MHz
310 uint8_t m_stbcRxGt80MHz; //!< STBC RX > 80MHz
311 uint8_t m_heErSuPpdu4xHeLtf08sGi; //!< HE ER SU PPDU with 4x HE LTF and 0.8us GI
312 uint8_t m_hePpdu20MHzIn40MHz24GHz; //!< 20MHz in 40MHz HE PPDU in 2.4GHz band
313 uint8_t m_hePpdu20MHzIn160MHz; //!< 20MHz in 160/80+80MHz HE PPDU
314 uint8_t m_hePpdu80MHzIn160MHz; //!< 80MHz in 160/80+80MHz HE PPDU
315 uint8_t m_heErSuPpdu1xHeLtf08Gi; //!< HE ER SU PPDU with 1x HE LTF and 0.8us GI
316 uint8_t m_midamble2xAnd1xHeLtf; //!< Midamble TX/RX 2x and 1x HE-LTF
317 uint8_t m_dcmMaxRu; //!< DCM Max RU
318 uint8_t m_longerThan16HeSigbOfdm; //!< Longer than 16 HE SIG-=B OFDM symbols support
319 uint8_t m_nonTriggeredCqiFeedback; //!< Non-Triggered CQI feedback
320 uint8_t m_tx1024QamLt242Ru; //!< TX 1024 QAM < 242 =-tone RU support
321 uint8_t m_rx1024QamLt242Ru; //!< TX 1024 QAM < 242 =-tone RU support
322 uint8_t
323 m_rxFullBwSuInHeMuCompressedSigB; //!< RX full BW SU using HE MU PPDU with compressed SIGB
324 uint8_t m_rxFullBwSuInHeMuNonCompressedSigB; //!< RX full BW SU using HE MU PPDU with
325 //!< non-compressed SIGB
326 uint8_t m_nominalPacketPadding; //!< Nominal packet padding
327 uint8_t m_maxHeLtfRxInHeMuMoreThanOneRu; ///< max HE-LTF symbols STA can Rx in HE MU PPDU with
328 ///< more than one RU
329
330 // MCS and NSS field information
331 uint8_t m_highestNssSupportedM1; //!< highest NSS support M1
332 uint8_t m_highestMcsSupported; //!< highest MCS support
333 std::vector<uint8_t> m_txBwMap; //!< transmit BW map
334 std::vector<uint8_t> m_rxBwMap; //!< receive BW map
335};
336
337} // namespace ns3
338
339#endif /* HE_CAPABILITY_H */
iterator in a Buffer instance
Definition: buffer.h:100
The IEEE 802.11ax HE Capabilities.
bool IsSupportedTxMcs(uint8_t mcs) const
Is RX MCS supported.
uint8_t m_maximumNumberOfFragmentedMsdus
maximum number of fragmentation MSDUs
uint8_t m_rxControlFrameToMultiBss
receive control frame to multi-BSS
uint8_t m_codebookSize75MuFeedback
Codebook Size = {7, 5} MU feedback.
uint8_t m_beamformeeStsForLargerThan80Mhz
beamformee STS for > 80MHz
bool IsSupportedRxMcs(uint8_t mcs) const
Is RX MCS supported.
uint8_t m_dcmMaxRu
DCM Max RU.
uint8_t m_erPartialBandwidth
Extended range partial bandwidth.
uint8_t m_rxFullBwSuInHeMuCompressedSigB
RX full BW SU using HE MU PPDU with compressed SIGB.
uint8_t m_stbcRxLeq80MHz
STBC RX <= 80Mhz.
uint8_t m_amsduFragmentationSupport
A-MSDU fragmentation support.
uint8_t m_bqrSupport
BQR support.
uint8_t m_midambleRxMaxNsts
Midamble TX/RX max NSTS.
uint8_t m_heSubchannelSelectiveTxSupport
HE subchannel selective transmission support.
void SetHePhyCapabilitiesInfo(uint64_t ctrl1, uint16_t ctrl2, uint8_t ctrl3)
Set the HE PHY Capabilities Info field in the HE Capabilities information element.
uint8_t m_partialBwUlMuMimo
Partial Bandwidth UL MU-MIMO.
uint8_t m_qtpSupport
QTP support.
uint8_t m_triggerFrameMacPaddingDuration
trigger frame MAC padding duration
void SetHeSuPpdu1xHeLtf800nsGi(bool heSuPpdu1xHeLtf800nsGi)
Set 1xHE-LTF and 800ns GI in HE SU PPDU reception support.
uint8_t m_heVhtTriggerFrameRxSupport
HE and VHT trigger frame RX support.
uint8_t m_dopplerRx
Doppler Rx.
uint8_t m_codebookSize42SuFeedback
Codebook Size = {4, 2} SU feedback.
uint8_t m_puncturedPreambleRx
Punctured preamble Rx.
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.
uint8_t m_ackEnabledAggregationSupport
ack enabled aggregation support
void SetSupportedMcsAndNss(uint16_t ctrl)
Set the MCS and NSS field in the HE Capabilities information element.
uint16_t GetHePhyCapabilitiesInfo2() const
Return the octets 9-10 of the HE PHY Capabilities Info field in the HE Capabilities information eleme...
uint16_t DeserializeInformationField(Buffer::Iterator start, uint16_t length) override
Deserialize information (i.e., the body of the IE, not including the Element ID and length octets)
uint8_t m_bsrSupport
BSR support.
uint8_t m_hePpdu20MHzIn160MHz
20MHz in 160/80+80MHz HE PPDU
uint8_t m_multiTidAggregationRxSupport
multi-TID aggregation Rx support
uint8_t m_heSuPpdu1xHeLtf800nsGi
HE SU PPDU with 1x HE LTF and 0.8us GI.
void SetHePpdu4xHeLtf800nsGi(bool heSuPpdu4xHeLtf800nsGi)
Set 4xHE-LTF and 800ns GI in HE SU PPDU and HE MU PPDU reception support.
uint8_t m_broadcastTwtSupport
broadcast TXT support
uint8_t m_hePpdu20MHzIn40MHz24GHz
20MHz in 40MHz HE PPDU in 2.4GHz band
uint8_t m_nominalPacketPadding
Nominal packet padding.
void SetHeMacCapabilitiesInfo(uint32_t ctrl1, uint16_t ctrl2)
Set the HE MAC Capabilities Info field in the HE Capabilities information element.
uint8_t m_ldpcCodingInPayload
LDPC coding in payload.
uint8_t m_psrBasedSrSupport
PSR based SR support.
std::vector< uint8_t > m_rxBwMap
receive BW map
uint8_t m_muCascadeSupport
MU cascade support.
uint8_t m_ofdmaRaSupport
OFDMA RA support.
uint8_t m_psrResponder
PSR responder.
uint8_t m_nonTriggeredCqiFeedback
Non-Triggered CQI feedback.
uint8_t m_suBeamformee
SU beamformee.
uint8_t m_maxNc
Max Nc for HE compressed beamforming/CQI report.
uint8_t GetHePhyCapabilitiesInfo3() const
Return the last octet of the HE PHY Capabilities Info field in the HE Capabilities information elemen...
uint8_t GetHighestMcsSupported() const
Get highest MCS supported.
uint8_t m_heErSuPpdu1xHeLtf08Gi
HE ER SU PPDU with 1x HE LTF and 0.8us GI.
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_stbcRxGt80MHz
STBC RX > 80MHz.
uint8_t m_rx1024QamLt242Ru
TX 1024 QAM < 242 =-tone RU support.
uint8_t m_amsduNotUnderBaInAmpduSupport
AMSDU not under BA in Ack enabled A-MPDU support.
uint8_t m_32bitBaBitmapSupport
32-bit BA bitmap support
void SetHighestNssSupported(uint8_t nss)
Set highest NSS supported.
uint8_t m_rxFullBwSuInHeMuNonCompressedSigB
RX full BW SU using HE MU PPDU with non-compressed SIGB.
uint8_t m_opsSupport
OPS support.
uint8_t m_hePpdu4xHeLtf800nsGi
4 times HE-LFT and 800ns GI support for HE-PPDUs
uint8_t m_hePpdu80MHzIn160MHz
80MHz in 160/80+80MHz HE PPDU
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_flexibleTwtScheduleSupport
flexible TWT schedule support
uint8_t m_bsrpBqrpAmpduAggregation
BSRP BQRP A-MPDU aggregation.
uint8_t m_ngEqual16ForMuFeedbackSupport
equal 16 for MU feedback
uint8_t GetHighestNssSupported() const
Get highest NSS supported.
uint8_t m_puncturedSoundingSupport
punctured sounding support
bool GetHeSuPpdu1xHeLtf800nsGi() const
Get 1xHE-LTF and 800ns GI in HE SU PPDU reception support.
uint8_t m_rxPartialBwSuInHeMu
Rx Partial BW SU in 20 MHz HE MU PPDU.
uint8_t m_omControlSupport
operation mode control support
uint8_t m_ndp4xHeLtfAnd32msGi
NDP with 4x HE-LTF and 3.2us GI.
uint8_t m_stbcTxGt80MHz
STBC Tx > 80MHz.
uint16_t GetHeMacCapabilitiesInfo2() const
Return the last 2 octets of the HE MAC Capabilities Info field in the HE Capabilities information ele...
uint8_t m_midamble2xAnd1xHeLtf
Midamble TX/RX 2x and 1x HE-LTF.
WifiInformationElementId ElementIdExt() const override
Get the wifi information element ID extension.
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_fullBwUlMuMimo
Full Bandwidth UL MU-MIMO.
uint8_t m_maxAmpduLengthExponent
maximum A-MPDU length exponent extension
uint16_t GetInformationFieldSize() const override
Length of serialized information (i.e., the length of the body of the IE, not including the Element I...
void SerializeInformationField(Buffer::Iterator start) const override
Serialize information (i.e., the body of the IE, not including the Element ID and length octets)
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_powerBoostFactorAlphaSupport
power boost factor alpha support
WifiInformationElementId ElementId() const override
Get the wifi information element ID.
uint8_t m_ppeThresholdPresent
PPE threshold present.
uint8_t m_muBeamformer
MU beamformer.
uint8_t GetLdpcCodingInPayload() const
Indicates support for the transmission and reception of LDPC encoded packets.
uint8_t m_ndpFeedbackReportSupport
NDP feedback report support.
uint8_t m_trsSupport
TRS support.
uint8_t m_longerThan16HeSigbOfdm
Longer than 16 HE SIG-=B OFDM symbols support.
uint16_t GetSupportedMcsAndNss() const
Return the MCS and NSS field in the HE Capabilities information element.
uint8_t m_dcmMaxConstellationRx
DCM Max Constellation Rx.
void Print(std::ostream &os) const override
Generate human-readable form of IE.
uint8_t m_triggeredMuBfFeedback
Triggered MU beamforming feedback.
uint8_t m_dcmMaxNssTx
DCM Max NSS Tx.
void SetChannelWidthSet(uint8_t channelWidthSet)
Set channel width set.
uint8_t m_omControlUlMuDataDisableRxSupport
OM control UL MU data disable RX support.
uint32_t GetMaxAmpduLength() const
Return the maximum A-MPDU length.
uint8_t m_heErSuPpdu4xHeLtf08sGi
HE ER SU PPDU with 4x HE LTF and 0.8us GI.
uint8_t m_triggeredSuBfFeedback
Triggered SU beamforming feedback.
uint8_t m_ul2x996ToneRuSupport
UL 2x996 tone RU support.
uint8_t m_multiTidAggregationTxSupport
Multi-TID aggregation TX support.
std::vector< uint8_t > m_txBwMap
transmit BW map
uint8_t m_tx1024QamLt242Ru
TX 1024 QAM < 242 =-tone RU support.
uint8_t m_dopplerTx
Doppler Tx.
uint8_t m_stbcTxLeq80MHz
STBC TX <= 80MHz.
uint8_t m_maxHeLtfRxInHeMuMoreThanOneRu
max HE-LTF symbols STA can Rx in HE MU PPDU with more than one RU
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_triggeredCqiFeedback
Triggered CQI feedback.
uint8_t m_numberOfSoundingDimensionsForSmallerOrEqualThan80Mhz
bool GetHePpdu4xHeLtf800nsGi() const
Get 4xHE-LTF and 800ns GI in HE SU PPDU and HE MU PPDU reception support.
uint8_t m_dcmMaxNssRx
DCM Max NSS Rx.
uint8_t m_dcmMaxConstellationTx
DCM Max Constellation Tx.
uint8_t m_heDynamicSmPowerSave
HE dynamic SM power save.
uint8_t GetChannelWidthSet() const
Get channel width set.
Information element, as defined in 802.11-2007 standard.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
uint8_t WifiInformationElementId
This type is used to represent an Information Element ID.