A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
Loading...
Searching...
No Matches
mgt-action-headers.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2006 INRIA
3
* Copyright (c) 2009 MIRKO BANCHI
4
*
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License version 2 as
7
* published by the Free Software Foundation;
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
*
18
* Authors: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
19
* Mirko Banchi <mk.banchi@gmail.com>
20
*/
21
22
#ifndef MGT_ACTION_HEADERS_H
23
#define MGT_ACTION_HEADERS_H
24
25
#include "
reduced-neighbor-report.h
"
26
#include "
status-code.h
"
27
#include "
tim.h
"
28
#include "
wifi-opt-field.h
"
29
#include "
wifi-standards.h
"
30
31
#include "ns3/header.h"
32
33
#include <list>
34
#include <optional>
35
36
namespace
ns3
37
{
38
39
class
Packet;
40
41
/**
42
* \ingroup wifi
43
*
44
* See IEEE 802.11 chapter 7.3.1.11
45
* Header format: | category: 1 | action value: 1 |
46
*
47
*/
48
class
WifiActionHeader
:
public
Header
49
{
50
public
:
51
WifiActionHeader
();
52
~WifiActionHeader
()
override
;
53
54
/*
55
* Compatible with table 8-38 IEEE 802.11, Part11, (Year 2012)
56
* Category values - see 802.11-2012 Table 8-38
57
*/
58
59
/// CategoryValue enumeration
60
enum
CategoryValue
: uint8_t
// table 9-51 of IEEE 802.11-2020
61
{
62
SPECTRUM_MANAGEMENT
= 0,
63
QOS
= 1,
64
BLOCK_ACK
= 3,
65
PUBLIC
= 4,
66
RADIO_MEASUREMENT
= 5,
// Category: Radio Measurement
67
MESH
= 13,
// Category: Mesh
68
MULTIHOP
= 14,
// not used so far
69
SELF_PROTECTED
= 15,
// Category: Self Protected
70
DMG
= 16,
// Category: DMG
71
FST
= 18,
// Category: Fast Session Transfer
72
UNPROTECTED_DMG
= 20,
// Category: Unprotected DMG
73
PROTECTED_EHT
= 37,
// Category: Protected EHT
74
// Since vendor specific action has no stationary Action value,the parse process is not
75
// here. Refer to vendor-specific-action in wave module.
76
VENDOR_SPECIFIC_ACTION
= 127,
77
// values 128 to 255 are illegal
78
};
79
80
/// QosActionValue enumeration
81
enum
QosActionValue
: uint8_t
82
{
83
ADDTS_REQUEST
= 0,
84
ADDTS_RESPONSE
= 1,
85
DELTS
= 2,
86
SCHEDULE
= 3,
87
QOS_MAP_CONFIGURE
= 4,
88
};
89
90
/**
91
* Block Ack Action field values
92
* See 802.11 Table 8-202
93
*/
94
enum
BlockAckActionValue
: uint8_t
95
{
96
BLOCK_ACK_ADDBA_REQUEST
= 0,
97
BLOCK_ACK_ADDBA_RESPONSE
= 1,
98
BLOCK_ACK_DELBA
= 2
99
};
100
101
/// PublicActionValue enumeration
102
enum
PublicActionValue
: uint8_t
103
{
104
QAB_REQUEST
= 16,
105
QAB_RESPONSE
= 17,
106
FILS_DISCOVERY
= 34
107
};
108
109
/// RadioMeasurementActionValue enumeration
110
enum
RadioMeasurementActionValue
: uint8_t
111
{
112
RADIO_MEASUREMENT_REQUEST
= 0,
113
RADIO_MEASUREMENT_REPORT
= 1,
114
LINK_MEASUREMENT_REQUEST
= 2,
115
LINK_MEASUREMENT_REPORT
= 3,
116
NEIGHBOR_REPORT_REQUEST
= 4,
117
NEIGHBOR_REPORT_RESPONSE
= 5
118
};
119
120
/// MeshActionValue enumeration
121
enum
MeshActionValue
: uint8_t
122
{
123
LINK_METRIC_REPORT
= 0,
// Action Value:0 in Category 13: Mesh
124
PATH_SELECTION
= 1,
// Action Value:1 in Category 13: Mesh
125
PORTAL_ANNOUNCEMENT
= 2,
// Action Value:2 in Category 13: Mesh
126
CONGESTION_CONTROL_NOTIFICATION
= 3,
// Action Value:3 in Category 13: Mesh
127
MDA_SETUP_REQUEST
=
128
4,
// Action Value:4 in Category 13: Mesh MCCA-Setup-Request (not used so far)
129
MDA_SETUP_REPLY
=
130
5,
// Action Value:5 in Category 13: Mesh MCCA-Setup-Reply (not used so far)
131
MDAOP_ADVERTISEMENT_REQUEST
=
132
6,
// Action Value:6 in Category 13: Mesh MCCA-Advertisement-Request (not used so far)
133
MDAOP_ADVERTISEMENTS
= 7,
// Action Value:7 in Category 13: Mesh (not used so far)
134
MDAOP_SET_TEARDOWN
= 8,
// Action Value:8 in Category 13: Mesh (not used so far)
135
TBTT_ADJUSTMENT_REQUEST
= 9,
// Action Value:9 in Category 13: Mesh (not used so far)
136
TBTT_ADJUSTMENT_RESPONSE
= 10,
// Action Value:10 in Category 13: Mesh (not used so far)
137
};
138
139
/// MultihopActionValue enumeration
140
enum
MultihopActionValue
: uint8_t
141
{
142
PROXY_UPDATE
= 0,
// not used so far
143
PROXY_UPDATE_CONFIRMATION
= 1,
// not used so far
144
};
145
146
/// SelfProtectedActionValue enumeration
147
enum
SelfProtectedActionValue
: uint8_t
// Category: 15 (Self Protected)
148
{
149
PEER_LINK_OPEN
= 1,
// Mesh Peering Open
150
PEER_LINK_CONFIRM
= 2,
// Mesh Peering Confirm
151
PEER_LINK_CLOSE
= 3,
// Mesh Peering Close
152
GROUP_KEY_INFORM
= 4,
// Mesh Group Key Inform
153
GROUP_KEY_ACK
= 5,
// Mesh Group Key Acknowledge
154
};
155
156
/**
157
* DMG Action field values
158
* See 802.11ad Table 8-281b
159
*/
160
enum
DmgActionValue
: uint8_t
161
{
162
DMG_POWER_SAVE_CONFIGURATION_REQUEST
= 0,
163
DMG_POWER_SAVE_CONFIGURATION_RESPONSE
= 1,
164
DMG_INFORMATION_REQUEST
= 2,
165
DMG_INFORMATION_RESPONSE
= 3,
166
DMG_HANDOVER_REQUEST
= 4,
167
DMG_HANDOVER_RESPONSE
= 5,
168
DMG_DTP_REQUEST
= 6,
169
DMG_DTP_RESPONSE
= 7,
170
DMG_RELAY_SEARCH_REQUEST
= 8,
171
DMG_RELAY_SEARCH_RESPONSE
= 9,
172
DMG_MULTI_RELAY_CHANNEL_MEASUREMENT_REQUEST
= 10,
173
DMG_MULTI_RELAY_CHANNEL_MEASUREMENT_REPORT
= 11,
174
DMG_RLS_REQUEST
= 12,
175
DMG_RLS_RESPONSE
= 13,
176
DMG_RLS_ANNOUNCEMENT
= 14,
177
DMG_RLS_TEARDOWN
= 15,
178
DMG_RELAY_ACK_REQUEST
= 16,
179
DMG_RELAY_ACK_RESPONSE
= 17,
180
DMG_TPA_REQUEST
= 18,
181
DMG_TPA_RESPONSE
= 19,
182
DMG_TPA_REPORT
= 20,
183
DMG_ROC_REQUEST
= 21,
184
DMG_ROC_RESPONSE
= 22
185
};
186
187
/**
188
* FST Action field values
189
* See 802.11ad Table 8-281x
190
*/
191
enum
FstActionValue
: uint8_t
192
{
193
FST_SETUP_REQUEST
= 0,
194
FST_SETUP_RESPONSE
= 1,
195
FST_TEAR_DOWN
= 2,
196
FST_ACK_REQUEST
= 3,
197
FST_ACK_RESPONSE
= 4,
198
ON_CHANNEL_TUNNEL_REQUEST
= 5
199
};
200
201
/**
202
* Unprotected DMG action field values
203
* See 802.11ad Table 8-281ae
204
*/
205
enum
UnprotectedDmgActionValue
: uint8_t
206
{
207
UNPROTECTED_DMG_ANNOUNCE
= 0,
208
UNPROTECTED_DMG_BRP
= 1,
209
UNPROTECTED_MIMO_BF_SETUP
= 2,
210
UNPROTECTED_MIMO_BF_POLL
= 3,
211
UNPROTECTED_MIMO_BF_FEEDBACK
= 4,
212
UNPROTECTED_MIMO_BF_SELECTION
= 5,
213
};
214
215
/**
216
* Protected EHT action field values
217
* See 802.11be D3.0 Table 9-623c
218
*/
219
enum
ProtectedEhtActionValue
: uint8_t
220
{
221
PROTECTED_EHT_TID_TO_LINK_MAPPING_REQUEST
= 0,
222
PROTECTED_EHT_TID_TO_LINK_MAPPING_RESPONSE
= 1,
223
PROTECTED_EHT_TID_TO_LINK_MAPPING_TEARDOWN
= 2,
224
PROTECTED_EHT_EPCS_PRIORITY_ACCESS_ENABLE_REQUEST
= 3,
225
PROTECTED_EHT_EPCS_PRIORITY_ACCESS_ENABLE_RESPONSE
= 4,
226
PROTECTED_EHT_EPCS_PRIORITY_ACCESS_TEARDOWN
= 5,
227
PROTECTED_EHT_EML_OPERATING_MODE_NOTIFICATION
= 6,
228
PROTECTED_EHT_LINK_RECOMMENDATION
= 7,
229
PROTECTED_EHT_MULTI_LINK_OPERATION_UPDATE_REQUEST
= 8,
230
PROTECTED_EHT_MULTI_LINK_OPERATION_UPDATE_RESPONSE
= 9,
231
};
232
233
/**
234
* typedef for union of different ActionValues
235
*/
236
typedef
union
{
237
QosActionValue
qos
;
///< qos
238
BlockAckActionValue
blockAck
;
///< block ack
239
RadioMeasurementActionValue
radioMeasurementAction
;
///< radio measurement
240
PublicActionValue
publicAction
;
///< public
241
SelfProtectedActionValue
selfProtectedAction
;
///< self protected
242
MultihopActionValue
multihopAction
;
///< multi hop
243
MeshActionValue
meshAction
;
///< mesh
244
DmgActionValue
dmgAction
;
///< dmg
245
FstActionValue
fstAction
;
///< fst
246
UnprotectedDmgActionValue
unprotectedDmgAction
;
///< unprotected dmg
247
ProtectedEhtActionValue
protectedEhtAction
;
///< protected eht
248
}
ActionValue
;
///< the action value
249
250
/**
251
* Set action for this Action header.
252
*
253
* \param type category
254
* \param action action
255
*/
256
void
SetAction
(
CategoryValue
type,
ActionValue
action);
257
258
/**
259
* Return the category value.
260
*
261
* \return CategoryValue
262
*/
263
CategoryValue
GetCategory
()
const
;
264
/**
265
* Return the action value.
266
*
267
* \return ActionValue
268
*/
269
ActionValue
GetAction
()
const
;
270
271
/**
272
* Peek an Action header from the given packet.
273
*
274
* \param pkt the given packet
275
* \return the category value and the action value in the peeked Action header
276
*/
277
static
std::pair<CategoryValue, ActionValue>
Peek
(
Ptr<const Packet>
pkt);
278
279
/**
280
* Remove an Action header from the given packet.
281
*
282
* \param pkt the given packet
283
* \return the category value and the action value in the removed Action header
284
*/
285
static
std::pair<CategoryValue, ActionValue>
Remove
(
Ptr<Packet>
pkt);
286
287
/**
288
* Register this type.
289
* \return The TypeId.
290
*/
291
static
TypeId
GetTypeId
();
292
TypeId
GetInstanceTypeId
()
const override
;
293
void
Print
(std::ostream& os)
const override
;
294
uint32_t
GetSerializedSize
()
const override
;
295
void
Serialize
(
Buffer::Iterator
start)
const override
;
296
uint32_t
Deserialize
(
Buffer::Iterator
start)
override
;
297
298
private
:
299
uint8_t
m_category
;
//!< Category of the action
300
uint8_t
m_actionValue
;
//!< Action value
301
};
302
303
/**
304
* \ingroup wifi
305
* Implement the header for management frames of type Add Block Ack request.
306
*/
307
class
MgtAddBaRequestHeader
:
public
Header
308
{
309
public
:
310
/**
311
* Register this type.
312
* \return The TypeId.
313
*/
314
static
TypeId
GetTypeId
();
315
TypeId
GetInstanceTypeId
()
const override
;
316
void
Print
(std::ostream& os)
const override
;
317
uint32_t
GetSerializedSize
()
const override
;
318
void
Serialize
(
Buffer::Iterator
start)
const override
;
319
uint32_t
Deserialize
(
Buffer::Iterator
start)
override
;
320
321
/**
322
* Enable delayed BlockAck.
323
*/
324
void
SetDelayedBlockAck
();
325
/**
326
* Enable immediate BlockAck
327
*/
328
void
SetImmediateBlockAck
();
329
/**
330
* Set Traffic ID (TID).
331
*
332
* \param tid traffic ID
333
*/
334
void
SetTid
(uint8_t tid);
335
/**
336
* Set timeout.
337
*
338
* \param timeout timeout
339
*/
340
void
SetTimeout
(uint16_t
timeout
);
341
/**
342
* Set buffer size.
343
*
344
* \param size buffer size
345
*/
346
void
SetBufferSize
(uint16_t size);
347
/**
348
* Set the starting sequence number.
349
*
350
* \param seq the starting sequence number
351
*/
352
void
SetStartingSequence
(uint16_t seq);
353
/**
354
* Enable or disable A-MSDU support.
355
*
356
* \param supported enable or disable A-MSDU support
357
*/
358
void
SetAmsduSupport
(
bool
supported);
359
360
/**
361
* Return the starting sequence number.
362
*
363
* \return the starting sequence number
364
*/
365
uint16_t
GetStartingSequence
()
const
;
366
/**
367
* Return the Traffic ID (TID).
368
*
369
* \return TID
370
*/
371
uint8_t
GetTid
()
const
;
372
/**
373
* Return whether the Block Ack policy is immediate Block Ack.
374
*
375
* \return true if immediate Block Ack is being used, false otherwise
376
*/
377
bool
IsImmediateBlockAck
()
const
;
378
/**
379
* Return the timeout.
380
*
381
* \return timeout
382
*/
383
uint16_t
GetTimeout
()
const
;
384
/**
385
* Return the buffer size.
386
*
387
* \return the buffer size.
388
*/
389
uint16_t
GetBufferSize
()
const
;
390
/**
391
* Return whether A-MSDU capability is supported.
392
*
393
* \return true is A-MSDU is supported, false otherwise
394
*/
395
bool
IsAmsduSupported
()
const
;
396
397
private
:
398
/**
399
* Return the raw parameter set.
400
*
401
* \return the raw parameter set
402
*/
403
uint16_t
GetParameterSet
()
const
;
404
/**
405
* Set the parameter set from the given raw value.
406
*
407
* \param params raw parameter set value
408
*/
409
void
SetParameterSet
(uint16_t params);
410
/**
411
* Return the raw sequence control.
412
*
413
* \return the raw sequence control
414
*/
415
uint16_t
GetStartingSequenceControl
()
const
;
416
/**
417
* Set sequence control with the given raw value.
418
*
419
* \param seqControl the raw sequence control
420
*/
421
void
SetStartingSequenceControl
(uint16_t seqControl);
422
423
uint8_t
m_dialogToken
{1};
//!< Not used for now
424
uint8_t
m_amsduSupport
{1};
//!< Flag if A-MSDU is supported
425
uint8_t
m_policy
{1};
//!< Block Ack policy
426
uint8_t
m_tid
{0};
//!< Traffic ID
427
uint16_t
m_bufferSize
{0};
//!< Buffer size
428
uint16_t
m_timeoutValue
{0};
//!< Timeout
429
uint16_t
m_startingSeq
{0};
//!< Starting sequence number
430
};
431
432
/**
433
* \ingroup wifi
434
* Implement the header for management frames of type Add Block Ack response.
435
*/
436
class
MgtAddBaResponseHeader
:
public
Header
437
{
438
public
:
439
/**
440
* Register this type.
441
* \return The TypeId.
442
*/
443
static
TypeId
GetTypeId
();
444
TypeId
GetInstanceTypeId
()
const override
;
445
void
Print
(std::ostream& os)
const override
;
446
uint32_t
GetSerializedSize
()
const override
;
447
void
Serialize
(
Buffer::Iterator
start)
const override
;
448
uint32_t
Deserialize
(
Buffer::Iterator
start)
override
;
449
450
/**
451
* Enable delayed BlockAck.
452
*/
453
void
SetDelayedBlockAck
();
454
/**
455
* Enable immediate BlockAck.
456
*/
457
void
SetImmediateBlockAck
();
458
/**
459
* Set Traffic ID (TID).
460
*
461
* \param tid traffic ID
462
*/
463
void
SetTid
(uint8_t tid);
464
/**
465
* Set timeout.
466
*
467
* \param timeout timeout
468
*/
469
void
SetTimeout
(uint16_t
timeout
);
470
/**
471
* Set buffer size.
472
*
473
* \param size buffer size
474
*/
475
void
SetBufferSize
(uint16_t size);
476
/**
477
* Set the status code.
478
*
479
* \param code the status code
480
*/
481
void
SetStatusCode
(
StatusCode
code);
482
/**
483
* Enable or disable A-MSDU support.
484
*
485
* \param supported enable or disable A-MSDU support
486
*/
487
void
SetAmsduSupport
(
bool
supported);
488
489
/**
490
* Return the status code.
491
*
492
* \return the status code
493
*/
494
StatusCode
GetStatusCode
()
const
;
495
/**
496
* Return the Traffic ID (TID).
497
*
498
* \return TID
499
*/
500
uint8_t
GetTid
()
const
;
501
/**
502
* Return whether the Block Ack policy is immediate Block Ack.
503
*
504
* \return true if immediate Block Ack is being used, false otherwise
505
*/
506
bool
IsImmediateBlockAck
()
const
;
507
/**
508
* Return the timeout.
509
*
510
* \return timeout
511
*/
512
uint16_t
GetTimeout
()
const
;
513
/**
514
* Return the buffer size.
515
*
516
* \return the buffer size.
517
*/
518
uint16_t
GetBufferSize
()
const
;
519
/**
520
* Return whether A-MSDU capability is supported.
521
*
522
* \return true is A-MSDU is supported, false otherwise
523
*/
524
bool
IsAmsduSupported
()
const
;
525
526
private
:
527
/**
528
* Return the raw parameter set.
529
*
530
* \return the raw parameter set
531
*/
532
uint16_t
GetParameterSet
()
const
;
533
/**
534
* Set the parameter set from the given raw value.
535
*
536
* \param params raw parameter set value
537
*/
538
void
SetParameterSet
(uint16_t params);
539
540
uint8_t
m_dialogToken
{1};
//!< Not used for now
541
StatusCode
m_code
{};
//!< Status code
542
uint8_t
m_amsduSupport
{1};
//!< Flag if A-MSDU is supported
543
uint8_t
m_policy
{1};
//!< Block ACK policy
544
uint8_t
m_tid
{0};
//!< Traffic ID
545
uint16_t
m_bufferSize
{0};
//!< Buffer size
546
uint16_t
m_timeoutValue
{0};
//!< Timeout
547
};
548
549
/**
550
* \ingroup wifi
551
* Implement the header for management frames of type Delete Block Ack.
552
*/
553
class
MgtDelBaHeader
:
public
Header
554
{
555
public
:
556
/**
557
* Register this type.
558
* \return The TypeId.
559
*/
560
static
TypeId
GetTypeId
();
561
562
TypeId
GetInstanceTypeId
()
const override
;
563
void
Print
(std::ostream& os)
const override
;
564
uint32_t
GetSerializedSize
()
const override
;
565
void
Serialize
(
Buffer::Iterator
start)
const override
;
566
uint32_t
Deserialize
(
Buffer::Iterator
start)
override
;
567
568
/**
569
* Check if the initiator bit in the DELBA is set.
570
*
571
* \return true if the initiator bit in the DELBA is set,
572
* false otherwise
573
*/
574
bool
IsByOriginator
()
const
;
575
/**
576
* Return the Traffic ID (TID).
577
*
578
* \return TID
579
*/
580
uint8_t
GetTid
()
const
;
581
/**
582
* Set Traffic ID (TID).
583
*
584
* \param tid traffic ID
585
*/
586
void
SetTid
(uint8_t tid);
587
/**
588
* Set the initiator bit in the DELBA.
589
*/
590
void
SetByOriginator
();
591
/**
592
* Un-set the initiator bit in the DELBA.
593
*/
594
void
SetByRecipient
();
595
596
private
:
597
/**
598
* Return the raw parameter set.
599
*
600
* \return the raw parameter set
601
*/
602
uint16_t
GetParameterSet
()
const
;
603
/**
604
* Set the parameter set from the given raw value.
605
*
606
* \param params raw parameter set value
607
*/
608
void
SetParameterSet
(uint16_t params);
609
610
uint16_t
m_initiator
{0};
//!< initiator
611
uint16_t
m_tid
{0};
//!< Traffic ID
612
uint16_t
m_reasonCode
{1};
//!< Not used for now. Always set to 1: "Unspecified reason"
613
};
614
615
/**
616
* \ingroup wifi
617
* Implement the header for Action frames of type EML Operating Mode Notification.
618
*/
619
class
MgtEmlOmn
:
public
Header
620
{
621
public
:
622
MgtEmlOmn
() =
default
;
623
624
/**
625
* Register this type.
626
* \return The TypeId.
627
*/
628
static
TypeId
GetTypeId
();
629
TypeId
GetInstanceTypeId
()
const override
;
630
void
Print
(std::ostream& os)
const override
;
631
uint32_t
GetSerializedSize
()
const override
;
632
void
Serialize
(
Buffer::Iterator
start)
const override
;
633
uint32_t
Deserialize
(
Buffer::Iterator
start)
override
;
634
635
/**
636
* EML Control field.
637
*/
638
struct
EmlControl
639
{
640
uint8_t
emlsrMode
: 1;
//!< EMLSR Mode
641
uint8_t
emlmrMode
: 1;
//!< EMLMR Mode
642
uint8_t
emlsrParamUpdateCtrl
: 1;
//!< EMLSR Parameter Update Control
643
uint8_t : 5;
//!< reserved
644
std::optional<uint16_t>
linkBitmap
;
//!< EMLSR/EMLMR Link Bitmap
645
std::optional<uint8_t>
mcsMapCountCtrl
;
//!< MCS Map Count Control
646
// TODO Add EMLMR Supported MCS And NSS Set subfield when EMLMR is supported
647
};
648
649
/**
650
* EMLSR Parameter Update field.
651
*/
652
struct
EmlsrParamUpdate
653
{
654
uint8_t
paddingDelay
: 3;
//!< EMLSR Padding Delay
655
uint8_t
transitionDelay
: 3;
//!< EMLSR Transition Delay
656
};
657
658
/**
659
* Set the bit position in the link bitmap corresponding to the given link.
660
*
661
* \param linkId the ID of the given link
662
*/
663
void
SetLinkIdInBitmap
(uint8_t linkId);
664
/**
665
* \return the ID of the links whose bit position in the link bitmap is set to 1
666
*/
667
std::list<uint8_t>
GetLinkBitmap
()
const
;
668
669
uint8_t
m_dialogToken
{0};
//!< Dialog Token
670
EmlControl
m_emlControl
{};
//!< EML Control field
671
std::optional<EmlsrParamUpdate>
m_emlsrParamUpdate
{};
//!< EMLSR Parameter Update field
672
};
673
674
/**
675
* \ingroup wifi
676
* Implement the FILS (Fast Initial Link Setup) action frame.
677
* See sec. 9.6.7.36 of IEEE 802.11-2020 and IEEE 802.11ax-2021.
678
*/
679
class
FilsDiscHeader
:
public
Header
680
{
681
public
:
682
FilsDiscHeader
();
683
684
/// \return the object TypeId
685
static
TypeId
GetTypeId
();
686
TypeId
GetInstanceTypeId
()
const override
;
687
void
Print
(std::ostream& os)
const override
;
688
uint32_t
GetSerializedSize
()
const override
;
689
void
Serialize
(
Buffer::Iterator
start)
const override
;
690
uint32_t
Deserialize
(
Buffer::Iterator
start)
override
;
691
692
/**
693
* Set the SSID field.
694
*
695
* \param ssid the SSID
696
*/
697
void
SetSsid
(
const
std::string& ssid);
698
699
/// \return the SSID
700
const
std::string&
GetSsid
()
const
;
701
702
/// \return size of FILS Discovery Information field in octets
703
uint32_t
GetInformationFieldSize
()
const
;
704
705
/// \return size of non-optional subfields in octets
706
uint32_t
GetSizeNonOptSubfields
()
const
;
707
708
/// \brief sets value of Length subfield
709
void
SetLengthSubfield
();
710
711
/// FILS Discovery Frame Control subfield of FILS Discovery Information field
712
struct
FilsDiscFrameControl
// 2 octets
713
{
714
uint8_t
m_ssidLen
: 5 {0};
///< SSID Length
715
bool
m_capPresenceInd
{
false
};
///< Capability Presence Indicator
716
uint8_t
m_shortSsidInd
: 1 {0};
///< Short SSID Indicator (not supported)
717
bool
m_apCsnPresenceInd
{
false
};
///< AP-CSN Presence Indicator
718
bool
m_anoPresenceInd
{
false
};
///< ANO Presence Indicator
719
bool
m_chCntrFreqSeg1PresenceInd
{
false
};
///< Channel Center Frequency Segment 1
720
///< Presence Indicator
721
bool
m_primChPresenceInd
{
false
};
///< Primary Channel Presence Indicator
722
uint8_t
m_rsnInfoPresenceInd
: 1 {0};
///< RSN info Presence Indicator (not supported)
723
bool
m_lenPresenceInd
{
false
};
///< Length Presence Indicator
724
uint8_t
m_mdPresenceInd
: 1 {0};
///< MD Presence Indicator (not supported)
725
uint8_t
m_reserved
: 2 {0};
///< Reserved Bits
726
727
/**
728
* \brief serialize content to a given buffer
729
* \param start given input buffer iterator
730
*/
731
void
Serialize
(
Buffer::Iterator
& start)
const
;
732
733
/**
734
* \brief read content from a given buffer
735
* \param start input buffer iterator
736
* \return number of read octets
737
*/
738
uint32_t
Deserialize
(
Buffer::Iterator
start);
739
};
740
741
/// FD Capability subfield of FILS Discovery Information field
742
struct
FdCapability
// 2 octets
743
{
744
uint8_t
m_ess
: 1 {0};
///< ESS
745
uint8_t
m_privacy
: 1 {0};
///< Privacy
746
uint8_t
m_chWidth
: 3 {0};
///< BSS Operating Channel Width
747
uint8_t
m_maxNss
: 3 {0};
///< Maximum Number of Spatial Streams
748
uint8_t
m_reserved
: 1 {0};
///< Reserved Bit
749
uint8_t
m_multiBssidPresenceInd
: 1 {0};
///< Multiple BSSIDs Presence Indicator
750
uint8_t
m_phyIdx
: 3 {0};
///< PHY Index
751
uint8_t
m_minRate
: 3 {0};
///< FILS Minimum Rate
752
753
/**
754
* \brief Set the BSS Operating Channel Width field based on the operating channel width
755
* \param width the operating channel width in MHz
756
*/
757
void
SetOpChannelWidth
(uint16_t width);
758
759
/// \return the operating channel width encoded in the BSS Operating Channel Width field
760
uint16_t
GetOpChannelWidth
()
const
;
761
762
/**
763
* \brief Set the Maximum Number of Spatial Streams field
764
* \param maxNss the maximum number of supported spatial streams
765
*/
766
void
SetMaxNss
(uint8_t maxNss);
767
768
/**
769
* Note that this function returns 5 if the maximum number of supported spatial streams
770
* is greater than 4.
771
*
772
* \return the maximum number of supported spatial streams
773
*/
774
uint8_t
GetMaxNss
()
const
;
775
776
/**
777
* \brief Set the PHY Index field based on the given wifi standard
778
* \param standard the wifi standard
779
*/
780
void
SetStandard
(
WifiStandard
standard);
781
782
/**
783
* \param band the PHY band in which the device is operating (needed to distinguish
784
* between 802.11a and 802.11g)
785
* \return the wifi standard encoded in the PHY Index field
786
*/
787
WifiStandard
GetStandard
(
WifiPhyBand
band)
const
;
788
789
/**
790
* \brief serialize content to a given buffer
791
* \param start given input buffer iterator
792
*/
793
void
Serialize
(
Buffer::Iterator
& start)
const
;
794
795
/**
796
* \brief read content from a given buffer
797
* \param start input buffer iterator
798
* \return number of read octets
799
*/
800
uint32_t
Deserialize
(
Buffer::Iterator
start);
801
};
802
803
// FILS Discovery Frame Information field
804
// TODO: add optional FD-RSN and Mobility domain subfields
805
FilsDiscFrameControl
m_frameCtl
;
///< FILS Discovery Frame Control
806
uint64_t
m_timeStamp
{0};
///< Timestamp
807
uint16_t
m_beaconInt
{0};
///< Beacon Interval in TU (1024 us)
808
OptFieldWithPresenceInd<uint8_t>
m_len
;
///< Length
809
OptFieldWithPresenceInd<FdCapability>
m_fdCap
;
///< FD Capability
810
std::optional<uint8_t>
m_opClass
;
///< Operating Class
811
OptFieldWithPresenceInd<uint8_t>
m_primaryCh
;
///< Primary Channel
812
OptFieldWithPresenceInd<uint8_t>
813
m_apConfigSeqNum
;
///< AP Configuration Sequence Number (AP-CSN)
814
OptFieldWithPresenceInd<uint8_t>
m_accessNetOpt
;
///< Access Network Options
815
OptFieldWithPresenceInd<uint8_t>
m_chCntrFreqSeg1
;
///< Channel Center Frequency Segment 1
816
817
// (Optional) Information Elements
818
std::optional<ReducedNeighborReport>
m_rnr
;
///< Reduced Neighbor Report
819
std::optional<Tim>
m_tim
;
///< Traffic Indication Map element
820
821
private
:
822
std::string
m_ssid
;
///< SSID
823
};
824
825
/**
826
* \brief Stream insertion operator.
827
*
828
* \param os the output stream
829
* \param control the Fils Discovery Frame Control field
830
* \returns a reference to the stream
831
*/
832
std::ostream&
operator<<
(std::ostream& os,
const
FilsDiscHeader::FilsDiscFrameControl
& control);
833
834
/**
835
* \brief Stream insertion operator.
836
*
837
* \param os the output stream
838
* \param capability the Fils Discovery Frame Capability field
839
* \returns a reference to the stream
840
*/
841
std::ostream&
operator<<
(std::ostream& os,
const
FilsDiscHeader::FdCapability
& capability);
842
843
}
// namespace ns3
844
845
#endif
/* MGT_ACTION_HEADERS_H */
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition:
buffer.h:100
ns3::FilsDiscHeader
Implement the FILS (Fast Initial Link Setup) action frame.
Definition:
mgt-action-headers.h:680
ns3::FilsDiscHeader::m_beaconInt
uint16_t m_beaconInt
Beacon Interval in TU (1024 us)
Definition:
mgt-action-headers.h:807
ns3::FilsDiscHeader::m_rnr
std::optional< ReducedNeighborReport > m_rnr
Reduced Neighbor Report.
Definition:
mgt-action-headers.h:818
ns3::FilsDiscHeader::m_chCntrFreqSeg1
OptFieldWithPresenceInd< uint8_t > m_chCntrFreqSeg1
Channel Center Frequency Segment 1.
Definition:
mgt-action-headers.h:815
ns3::FilsDiscHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Definition:
mgt-action-headers.cc:1417
ns3::FilsDiscHeader::m_primaryCh
OptFieldWithPresenceInd< uint8_t > m_primaryCh
Primary Channel.
Definition:
mgt-action-headers.h:811
ns3::FilsDiscHeader::m_accessNetOpt
OptFieldWithPresenceInd< uint8_t > m_accessNetOpt
Access Network Options.
Definition:
mgt-action-headers.h:814
ns3::FilsDiscHeader::GetSsid
const std::string & GetSsid() const
Definition:
mgt-action-headers.cc:1397
ns3::FilsDiscHeader::SetSsid
void SetSsid(const std::string &ssid)
Set the SSID field.
Definition:
mgt-action-headers.cc:1390
ns3::FilsDiscHeader::Deserialize
uint32_t Deserialize(Buffer::Iterator start) override
Definition:
mgt-action-headers.cc:1528
ns3::FilsDiscHeader::GetTypeId
static TypeId GetTypeId()
Definition:
mgt-action-headers.cc:1364
ns3::FilsDiscHeader::m_frameCtl
FilsDiscFrameControl m_frameCtl
FILS Discovery Frame Control.
Definition:
mgt-action-headers.h:805
ns3::FilsDiscHeader::m_fdCap
OptFieldWithPresenceInd< FdCapability > m_fdCap
FD Capability.
Definition:
mgt-action-headers.h:809
ns3::FilsDiscHeader::m_opClass
std::optional< uint8_t > m_opClass
Operating Class.
Definition:
mgt-action-headers.h:810
ns3::FilsDiscHeader::Print
void Print(std::ostream &os) const override
Definition:
mgt-action-headers.cc:1446
ns3::FilsDiscHeader::GetSizeNonOptSubfields
uint32_t GetSizeNonOptSubfields() const
Definition:
mgt-action-headers.cc:1427
ns3::FilsDiscHeader::m_len
OptFieldWithPresenceInd< uint8_t > m_len
Length.
Definition:
mgt-action-headers.h:808
ns3::FilsDiscHeader::GetInformationFieldSize
uint32_t GetInformationFieldSize() const
Definition:
mgt-action-headers.cc:1403
ns3::FilsDiscHeader::m_timeStamp
uint64_t m_timeStamp
Timestamp.
Definition:
mgt-action-headers.h:806
ns3::FilsDiscHeader::SetLengthSubfield
void SetLengthSubfield()
sets value of Length subfield
Definition:
mgt-action-headers.cc:1436
ns3::FilsDiscHeader::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition:
mgt-action-headers.cc:1374
ns3::FilsDiscHeader::Serialize
void Serialize(Buffer::Iterator start) const override
Definition:
mgt-action-headers.cc:1487
ns3::FilsDiscHeader::FilsDiscHeader
FilsDiscHeader()
Definition:
mgt-action-headers.cc:1379
ns3::FilsDiscHeader::m_ssid
std::string m_ssid
SSID.
Definition:
mgt-action-headers.h:822
ns3::FilsDiscHeader::m_apConfigSeqNum
OptFieldWithPresenceInd< uint8_t > m_apConfigSeqNum
AP Configuration Sequence Number (AP-CSN)
Definition:
mgt-action-headers.h:813
ns3::FilsDiscHeader::m_tim
std::optional< Tim > m_tim
Traffic Indication Map element.
Definition:
mgt-action-headers.h:819
ns3::Header
Protocol header serialization and deserialization.
Definition:
header.h:44
ns3::MgtAddBaRequestHeader
Implement the header for management frames of type Add Block Ack request.
Definition:
mgt-action-headers.h:308
ns3::MgtAddBaRequestHeader::SetParameterSet
void SetParameterSet(uint16_t params)
Set the parameter set from the given raw value.
Definition:
mgt-action-headers.cc:910
ns3::MgtAddBaRequestHeader::m_startingSeq
uint16_t m_startingSeq
Starting sequence number.
Definition:
mgt-action-headers.h:429
ns3::MgtAddBaRequestHeader::Serialize
void Serialize(Buffer::Iterator start) const override
Definition:
mgt-action-headers.cc:772
ns3::MgtAddBaRequestHeader::GetStartingSequenceControl
uint16_t GetStartingSequenceControl() const
Return the raw sequence control.
Definition:
mgt-action-headers.cc:893
ns3::MgtAddBaRequestHeader::SetStartingSequenceControl
void SetStartingSequenceControl(uint16_t seqControl)
Set sequence control with the given raw value.
Definition:
mgt-action-headers.cc:845
ns3::MgtAddBaRequestHeader::m_tid
uint8_t m_tid
Traffic ID.
Definition:
mgt-action-headers.h:426
ns3::MgtAddBaRequestHeader::GetTypeId
static TypeId GetTypeId()
Register this type.
Definition:
mgt-action-headers.cc:735
ns3::MgtAddBaRequestHeader::m_amsduSupport
uint8_t m_amsduSupport
Flag if A-MSDU is supported.
Definition:
mgt-action-headers.h:424
ns3::MgtAddBaRequestHeader::SetBufferSize
void SetBufferSize(uint16_t size)
Set buffer size.
Definition:
mgt-action-headers.cc:833
ns3::MgtAddBaRequestHeader::Print
void Print(std::ostream &os) const override
Definition:
mgt-action-headers.cc:751
ns3::MgtAddBaRequestHeader::SetDelayedBlockAck
void SetDelayedBlockAck()
Enable delayed BlockAck.
Definition:
mgt-action-headers.cc:808
ns3::MgtAddBaRequestHeader::m_dialogToken
uint8_t m_dialogToken
Not used for now.
Definition:
mgt-action-headers.h:423
ns3::MgtAddBaRequestHeader::GetParameterSet
uint16_t GetParameterSet() const
Return the raw parameter set.
Definition:
mgt-action-headers.cc:899
ns3::MgtAddBaRequestHeader::Deserialize
uint32_t Deserialize(Buffer::Iterator start) override
Definition:
mgt-action-headers.cc:788
ns3::MgtAddBaRequestHeader::SetAmsduSupport
void SetAmsduSupport(bool supported)
Enable or disable A-MSDU support.
Definition:
mgt-action-headers.cc:851
ns3::MgtAddBaRequestHeader::SetImmediateBlockAck
void SetImmediateBlockAck()
Enable immediate BlockAck.
Definition:
mgt-action-headers.cc:814
ns3::MgtAddBaRequestHeader::GetBufferSize
uint16_t GetBufferSize() const
Return the buffer size.
Definition:
mgt-action-headers.cc:875
ns3::MgtAddBaRequestHeader::m_bufferSize
uint16_t m_bufferSize
Buffer size.
Definition:
mgt-action-headers.h:427
ns3::MgtAddBaRequestHeader::GetTimeout
uint16_t GetTimeout() const
Return the timeout.
Definition:
mgt-action-headers.cc:869
ns3::MgtAddBaRequestHeader::GetTid
uint8_t GetTid() const
Return the Traffic ID (TID).
Definition:
mgt-action-headers.cc:857
ns3::MgtAddBaRequestHeader::GetStartingSequence
uint16_t GetStartingSequence() const
Return the starting sequence number.
Definition:
mgt-action-headers.cc:887
ns3::MgtAddBaRequestHeader::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition:
mgt-action-headers.cc:745
ns3::MgtAddBaRequestHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Definition:
mgt-action-headers.cc:756
ns3::MgtAddBaRequestHeader::IsAmsduSupported
bool IsAmsduSupported() const
Return whether A-MSDU capability is supported.
Definition:
mgt-action-headers.cc:881
ns3::MgtAddBaRequestHeader::IsImmediateBlockAck
bool IsImmediateBlockAck() const
Return whether the Block Ack policy is immediate Block Ack.
Definition:
mgt-action-headers.cc:863
ns3::MgtAddBaRequestHeader::m_timeoutValue
uint16_t m_timeoutValue
Timeout.
Definition:
mgt-action-headers.h:428
ns3::MgtAddBaRequestHeader::SetTimeout
void SetTimeout(uint16_t timeout)
Set timeout.
Definition:
mgt-action-headers.cc:827
ns3::MgtAddBaRequestHeader::SetTid
void SetTid(uint8_t tid)
Set Traffic ID (TID).
Definition:
mgt-action-headers.cc:820
ns3::MgtAddBaRequestHeader::m_policy
uint8_t m_policy
Block Ack policy.
Definition:
mgt-action-headers.h:425
ns3::MgtAddBaRequestHeader::SetStartingSequence
void SetStartingSequence(uint16_t seq)
Set the starting sequence number.
Definition:
mgt-action-headers.cc:839
ns3::MgtAddBaResponseHeader
Implement the header for management frames of type Add Block Ack response.
Definition:
mgt-action-headers.h:437
ns3::MgtAddBaResponseHeader::m_bufferSize
uint16_t m_bufferSize
Buffer size.
Definition:
mgt-action-headers.h:545
ns3::MgtAddBaResponseHeader::SetTid
void SetTid(uint8_t tid)
Set Traffic ID (TID).
Definition:
mgt-action-headers.cc:1011
ns3::MgtAddBaResponseHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Definition:
mgt-action-headers.cc:947
ns3::MgtAddBaResponseHeader::m_amsduSupport
uint8_t m_amsduSupport
Flag if A-MSDU is supported.
Definition:
mgt-action-headers.h:542
ns3::MgtAddBaResponseHeader::m_dialogToken
uint8_t m_dialogToken
Not used for now.
Definition:
mgt-action-headers.h:540
ns3::MgtAddBaResponseHeader::Serialize
void Serialize(Buffer::Iterator start) const override
Definition:
mgt-action-headers.cc:963
ns3::MgtAddBaResponseHeader::SetParameterSet
void SetParameterSet(uint16_t params)
Set the parameter set from the given raw value.
Definition:
mgt-action-headers.cc:1089
ns3::MgtAddBaResponseHeader::GetBufferSize
uint16_t GetBufferSize() const
Return the buffer size.
Definition:
mgt-action-headers.cc:1066
ns3::MgtAddBaResponseHeader::IsAmsduSupported
bool IsAmsduSupported() const
Return whether A-MSDU capability is supported.
Definition:
mgt-action-headers.cc:1072
ns3::MgtAddBaResponseHeader::GetStatusCode
StatusCode GetStatusCode() const
Return the status code.
Definition:
mgt-action-headers.cc:1042
ns3::MgtAddBaResponseHeader::SetTimeout
void SetTimeout(uint16_t timeout)
Set timeout.
Definition:
mgt-action-headers.cc:1018
ns3::MgtAddBaResponseHeader::m_policy
uint8_t m_policy
Block ACK policy.
Definition:
mgt-action-headers.h:543
ns3::MgtAddBaResponseHeader::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition:
mgt-action-headers.cc:935
ns3::MgtAddBaResponseHeader::SetBufferSize
void SetBufferSize(uint16_t size)
Set buffer size.
Definition:
mgt-action-headers.cc:1024
ns3::MgtAddBaResponseHeader::m_timeoutValue
uint16_t m_timeoutValue
Timeout.
Definition:
mgt-action-headers.h:546
ns3::MgtAddBaResponseHeader::Print
void Print(std::ostream &os) const override
Definition:
mgt-action-headers.cc:941
ns3::MgtAddBaResponseHeader::SetStatusCode
void SetStatusCode(StatusCode code)
Set the status code.
Definition:
mgt-action-headers.cc:1030
ns3::MgtAddBaResponseHeader::m_tid
uint8_t m_tid
Traffic ID.
Definition:
mgt-action-headers.h:544
ns3::MgtAddBaResponseHeader::GetTid
uint8_t GetTid() const
Return the Traffic ID (TID).
Definition:
mgt-action-headers.cc:1048
ns3::MgtAddBaResponseHeader::IsImmediateBlockAck
bool IsImmediateBlockAck() const
Return whether the Block Ack policy is immediate Block Ack.
Definition:
mgt-action-headers.cc:1054
ns3::MgtAddBaResponseHeader::SetAmsduSupport
void SetAmsduSupport(bool supported)
Enable or disable A-MSDU support.
Definition:
mgt-action-headers.cc:1036
ns3::MgtAddBaResponseHeader::GetParameterSet
uint16_t GetParameterSet() const
Return the raw parameter set.
Definition:
mgt-action-headers.cc:1078
ns3::MgtAddBaResponseHeader::Deserialize
uint32_t Deserialize(Buffer::Iterator start) override
Definition:
mgt-action-headers.cc:979
ns3::MgtAddBaResponseHeader::GetTimeout
uint16_t GetTimeout() const
Return the timeout.
Definition:
mgt-action-headers.cc:1060
ns3::MgtAddBaResponseHeader::SetDelayedBlockAck
void SetDelayedBlockAck()
Enable delayed BlockAck.
Definition:
mgt-action-headers.cc:999
ns3::MgtAddBaResponseHeader::SetImmediateBlockAck
void SetImmediateBlockAck()
Enable immediate BlockAck.
Definition:
mgt-action-headers.cc:1005
ns3::MgtAddBaResponseHeader::GetTypeId
static TypeId GetTypeId()
Register this type.
Definition:
mgt-action-headers.cc:925
ns3::MgtAddBaResponseHeader::m_code
StatusCode m_code
Status code.
Definition:
mgt-action-headers.h:541
ns3::MgtDelBaHeader
Implement the header for management frames of type Delete Block Ack.
Definition:
mgt-action-headers.h:554
ns3::MgtDelBaHeader::GetTypeId
static TypeId GetTypeId()
Register this type.
Definition:
mgt-action-headers.cc:1104
ns3::MgtDelBaHeader::SetTid
void SetTid(uint8_t tid)
Set Traffic ID (TID).
Definition:
mgt-action-headers.cc:1177
ns3::MgtDelBaHeader::Deserialize
uint32_t Deserialize(Buffer::Iterator start) override
Definition:
mgt-action-headers.cc:1142
ns3::MgtDelBaHeader::SetByRecipient
void SetByRecipient()
Un-set the initiator bit in the DELBA.
Definition:
mgt-action-headers.cc:1171
ns3::MgtDelBaHeader::Print
void Print(std::ostream &os) const override
Definition:
mgt-action-headers.cc:1120
ns3::MgtDelBaHeader::m_initiator
uint16_t m_initiator
initiator
Definition:
mgt-action-headers.h:610
ns3::MgtDelBaHeader::SetParameterSet
void SetParameterSet(uint16_t params)
Set the parameter set from the given raw value.
Definition:
mgt-action-headers.cc:1193
ns3::MgtDelBaHeader::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition:
mgt-action-headers.cc:1114
ns3::MgtDelBaHeader::GetTid
uint8_t GetTid() const
Return the Traffic ID (TID).
Definition:
mgt-action-headers.cc:1157
ns3::MgtDelBaHeader::m_reasonCode
uint16_t m_reasonCode
Not used for now.
Definition:
mgt-action-headers.h:612
ns3::MgtDelBaHeader::IsByOriginator
bool IsByOriginator() const
Check if the initiator bit in the DELBA is set.
Definition:
mgt-action-headers.cc:1151
ns3::MgtDelBaHeader::GetParameterSet
uint16_t GetParameterSet() const
Return the raw parameter set.
Definition:
mgt-action-headers.cc:1184
ns3::MgtDelBaHeader::Serialize
void Serialize(Buffer::Iterator start) const override
Definition:
mgt-action-headers.cc:1134
ns3::MgtDelBaHeader::m_tid
uint16_t m_tid
Traffic ID.
Definition:
mgt-action-headers.h:611
ns3::MgtDelBaHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Definition:
mgt-action-headers.cc:1125
ns3::MgtDelBaHeader::SetByOriginator
void SetByOriginator()
Set the initiator bit in the DELBA.
Definition:
mgt-action-headers.cc:1165
ns3::MgtEmlOmn
Implement the header for Action frames of type EML Operating Mode Notification.
Definition:
mgt-action-headers.h:620
ns3::MgtEmlOmn::Serialize
void Serialize(Buffer::Iterator start) const override
Definition:
mgt-action-headers.cc:1262
ns3::MgtEmlOmn::GetSerializedSize
uint32_t GetSerializedSize() const override
Definition:
mgt-action-headers.cc:1242
ns3::MgtEmlOmn::SetLinkIdInBitmap
void SetLinkIdInBitmap(uint8_t linkId)
Set the bit position in the link bitmap corresponding to the given link.
Definition:
mgt-action-headers.cc:1330
ns3::MgtEmlOmn::m_emlControl
EmlControl m_emlControl
EML Control field.
Definition:
mgt-action-headers.h:670
ns3::MgtEmlOmn::Deserialize
uint32_t Deserialize(Buffer::Iterator start) override
Definition:
mgt-action-headers.cc:1297
ns3::MgtEmlOmn::Print
void Print(std::ostream &os) const override
Definition:
mgt-action-headers.cc:1222
ns3::MgtEmlOmn::m_emlsrParamUpdate
std::optional< EmlsrParamUpdate > m_emlsrParamUpdate
EMLSR Parameter Update field.
Definition:
mgt-action-headers.h:671
ns3::MgtEmlOmn::MgtEmlOmn
MgtEmlOmn()=default
ns3::MgtEmlOmn::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition:
mgt-action-headers.cc:1216
ns3::MgtEmlOmn::m_dialogToken
uint8_t m_dialogToken
Dialog Token.
Definition:
mgt-action-headers.h:669
ns3::MgtEmlOmn::GetLinkBitmap
std::list< uint8_t > GetLinkBitmap() const
Definition:
mgt-action-headers.cc:1341
ns3::MgtEmlOmn::GetTypeId
static TypeId GetTypeId()
Register this type.
Definition:
mgt-action-headers.cc:1206
ns3::OptFieldWithPresenceInd
OptFieldWithPresenceInd is a class modeling an optional field (in an Information Element,...
Definition:
wifi-opt-field.h:40
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition:
ptr.h:77
ns3::StatusCode
Status code for association response.
Definition:
status-code.h:32
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:59
ns3::WifiActionHeader
See IEEE 802.11 chapter 7.3.1.11 Header format: | category: 1 | action value: 1 |.
Definition:
mgt-action-headers.h:49
ns3::WifiActionHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Definition:
mgt-action-headers.cc:707
ns3::WifiActionHeader::CategoryValue
CategoryValue
CategoryValue enumeration.
Definition:
mgt-action-headers.h:61
ns3::WifiActionHeader::SELF_PROTECTED
@ SELF_PROTECTED
Definition:
mgt-action-headers.h:69
ns3::WifiActionHeader::RADIO_MEASUREMENT
@ RADIO_MEASUREMENT
Definition:
mgt-action-headers.h:66
ns3::WifiActionHeader::MULTIHOP
@ MULTIHOP
Definition:
mgt-action-headers.h:68
ns3::WifiActionHeader::MESH
@ MESH
Definition:
mgt-action-headers.h:67
ns3::WifiActionHeader::PUBLIC
@ PUBLIC
Definition:
mgt-action-headers.h:65
ns3::WifiActionHeader::UNPROTECTED_DMG
@ UNPROTECTED_DMG
Definition:
mgt-action-headers.h:72
ns3::WifiActionHeader::PROTECTED_EHT
@ PROTECTED_EHT
Definition:
mgt-action-headers.h:73
ns3::WifiActionHeader::VENDOR_SPECIFIC_ACTION
@ VENDOR_SPECIFIC_ACTION
Definition:
mgt-action-headers.h:76
ns3::WifiActionHeader::DMG
@ DMG
Definition:
mgt-action-headers.h:70
ns3::WifiActionHeader::SPECTRUM_MANAGEMENT
@ SPECTRUM_MANAGEMENT
Definition:
mgt-action-headers.h:62
ns3::WifiActionHeader::BLOCK_ACK
@ BLOCK_ACK
Definition:
mgt-action-headers.h:64
ns3::WifiActionHeader::FST
@ FST
Definition:
mgt-action-headers.h:71
ns3::WifiActionHeader::QOS
@ QOS
Definition:
mgt-action-headers.h:63
ns3::WifiActionHeader::m_category
uint8_t m_category
Category of the action.
Definition:
mgt-action-headers.h:299
ns3::WifiActionHeader::DmgActionValue
DmgActionValue
DMG Action field values See 802.11ad Table 8-281b.
Definition:
mgt-action-headers.h:161
ns3::WifiActionHeader::DMG_MULTI_RELAY_CHANNEL_MEASUREMENT_REQUEST
@ DMG_MULTI_RELAY_CHANNEL_MEASUREMENT_REQUEST
Definition:
mgt-action-headers.h:172
ns3::WifiActionHeader::DMG_TPA_REQUEST
@ DMG_TPA_REQUEST
Definition:
mgt-action-headers.h:180
ns3::WifiActionHeader::DMG_RELAY_ACK_RESPONSE
@ DMG_RELAY_ACK_RESPONSE
Definition:
mgt-action-headers.h:179
ns3::WifiActionHeader::DMG_DTP_RESPONSE
@ DMG_DTP_RESPONSE
Definition:
mgt-action-headers.h:169
ns3::WifiActionHeader::DMG_RELAY_SEARCH_RESPONSE
@ DMG_RELAY_SEARCH_RESPONSE
Definition:
mgt-action-headers.h:171
ns3::WifiActionHeader::DMG_RELAY_SEARCH_REQUEST
@ DMG_RELAY_SEARCH_REQUEST
Definition:
mgt-action-headers.h:170
ns3::WifiActionHeader::DMG_RLS_ANNOUNCEMENT
@ DMG_RLS_ANNOUNCEMENT
Definition:
mgt-action-headers.h:176
ns3::WifiActionHeader::DMG_POWER_SAVE_CONFIGURATION_RESPONSE
@ DMG_POWER_SAVE_CONFIGURATION_RESPONSE
Definition:
mgt-action-headers.h:163
ns3::WifiActionHeader::DMG_RLS_RESPONSE
@ DMG_RLS_RESPONSE
Definition:
mgt-action-headers.h:175
ns3::WifiActionHeader::DMG_INFORMATION_RESPONSE
@ DMG_INFORMATION_RESPONSE
Definition:
mgt-action-headers.h:165
ns3::WifiActionHeader::DMG_ROC_RESPONSE
@ DMG_ROC_RESPONSE
Definition:
mgt-action-headers.h:184
ns3::WifiActionHeader::DMG_DTP_REQUEST
@ DMG_DTP_REQUEST
Definition:
mgt-action-headers.h:168
ns3::WifiActionHeader::DMG_ROC_REQUEST
@ DMG_ROC_REQUEST
Definition:
mgt-action-headers.h:183
ns3::WifiActionHeader::DMG_HANDOVER_RESPONSE
@ DMG_HANDOVER_RESPONSE
Definition:
mgt-action-headers.h:167
ns3::WifiActionHeader::DMG_TPA_REPORT
@ DMG_TPA_REPORT
Definition:
mgt-action-headers.h:182
ns3::WifiActionHeader::DMG_RLS_TEARDOWN
@ DMG_RLS_TEARDOWN
Definition:
mgt-action-headers.h:177
ns3::WifiActionHeader::DMG_RELAY_ACK_REQUEST
@ DMG_RELAY_ACK_REQUEST
Definition:
mgt-action-headers.h:178
ns3::WifiActionHeader::DMG_POWER_SAVE_CONFIGURATION_REQUEST
@ DMG_POWER_SAVE_CONFIGURATION_REQUEST
Definition:
mgt-action-headers.h:162
ns3::WifiActionHeader::DMG_TPA_RESPONSE
@ DMG_TPA_RESPONSE
Definition:
mgt-action-headers.h:181
ns3::WifiActionHeader::DMG_INFORMATION_REQUEST
@ DMG_INFORMATION_REQUEST
Definition:
mgt-action-headers.h:164
ns3::WifiActionHeader::DMG_RLS_REQUEST
@ DMG_RLS_REQUEST
Definition:
mgt-action-headers.h:174
ns3::WifiActionHeader::DMG_HANDOVER_REQUEST
@ DMG_HANDOVER_REQUEST
Definition:
mgt-action-headers.h:166
ns3::WifiActionHeader::DMG_MULTI_RELAY_CHANNEL_MEASUREMENT_REPORT
@ DMG_MULTI_RELAY_CHANNEL_MEASUREMENT_REPORT
Definition:
mgt-action-headers.h:173
ns3::WifiActionHeader::RadioMeasurementActionValue
RadioMeasurementActionValue
RadioMeasurementActionValue enumeration.
Definition:
mgt-action-headers.h:111
ns3::WifiActionHeader::RADIO_MEASUREMENT_REPORT
@ RADIO_MEASUREMENT_REPORT
Definition:
mgt-action-headers.h:113
ns3::WifiActionHeader::NEIGHBOR_REPORT_REQUEST
@ NEIGHBOR_REPORT_REQUEST
Definition:
mgt-action-headers.h:116
ns3::WifiActionHeader::NEIGHBOR_REPORT_RESPONSE
@ NEIGHBOR_REPORT_RESPONSE
Definition:
mgt-action-headers.h:117
ns3::WifiActionHeader::RADIO_MEASUREMENT_REQUEST
@ RADIO_MEASUREMENT_REQUEST
Definition:
mgt-action-headers.h:112
ns3::WifiActionHeader::LINK_MEASUREMENT_REQUEST
@ LINK_MEASUREMENT_REQUEST
Definition:
mgt-action-headers.h:114
ns3::WifiActionHeader::LINK_MEASUREMENT_REPORT
@ LINK_MEASUREMENT_REPORT
Definition:
mgt-action-headers.h:115
ns3::WifiActionHeader::SelfProtectedActionValue
SelfProtectedActionValue
SelfProtectedActionValue enumeration.
Definition:
mgt-action-headers.h:148
ns3::WifiActionHeader::PEER_LINK_OPEN
@ PEER_LINK_OPEN
Definition:
mgt-action-headers.h:149
ns3::WifiActionHeader::GROUP_KEY_INFORM
@ GROUP_KEY_INFORM
Definition:
mgt-action-headers.h:152
ns3::WifiActionHeader::GROUP_KEY_ACK
@ GROUP_KEY_ACK
Definition:
mgt-action-headers.h:153
ns3::WifiActionHeader::PEER_LINK_CLOSE
@ PEER_LINK_CLOSE
Definition:
mgt-action-headers.h:151
ns3::WifiActionHeader::PEER_LINK_CONFIRM
@ PEER_LINK_CONFIRM
Definition:
mgt-action-headers.h:150
ns3::WifiActionHeader::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition:
mgt-action-headers.cc:499
ns3::WifiActionHeader::FstActionValue
FstActionValue
FST Action field values See 802.11ad Table 8-281x.
Definition:
mgt-action-headers.h:192
ns3::WifiActionHeader::FST_SETUP_REQUEST
@ FST_SETUP_REQUEST
Definition:
mgt-action-headers.h:193
ns3::WifiActionHeader::FST_TEAR_DOWN
@ FST_TEAR_DOWN
Definition:
mgt-action-headers.h:195
ns3::WifiActionHeader::FST_SETUP_RESPONSE
@ FST_SETUP_RESPONSE
Definition:
mgt-action-headers.h:194
ns3::WifiActionHeader::FST_ACK_RESPONSE
@ FST_ACK_RESPONSE
Definition:
mgt-action-headers.h:197
ns3::WifiActionHeader::FST_ACK_REQUEST
@ FST_ACK_REQUEST
Definition:
mgt-action-headers.h:196
ns3::WifiActionHeader::ON_CHANNEL_TUNNEL_REQUEST
@ ON_CHANNEL_TUNNEL_REQUEST
Definition:
mgt-action-headers.h:198
ns3::WifiActionHeader::UnprotectedDmgActionValue
UnprotectedDmgActionValue
Unprotected DMG action field values See 802.11ad Table 8-281ae.
Definition:
mgt-action-headers.h:206
ns3::WifiActionHeader::UNPROTECTED_DMG_ANNOUNCE
@ UNPROTECTED_DMG_ANNOUNCE
Definition:
mgt-action-headers.h:207
ns3::WifiActionHeader::UNPROTECTED_MIMO_BF_SELECTION
@ UNPROTECTED_MIMO_BF_SELECTION
Definition:
mgt-action-headers.h:212
ns3::WifiActionHeader::UNPROTECTED_MIMO_BF_SETUP
@ UNPROTECTED_MIMO_BF_SETUP
Definition:
mgt-action-headers.h:209
ns3::WifiActionHeader::UNPROTECTED_MIMO_BF_FEEDBACK
@ UNPROTECTED_MIMO_BF_FEEDBACK
Definition:
mgt-action-headers.h:211
ns3::WifiActionHeader::UNPROTECTED_MIMO_BF_POLL
@ UNPROTECTED_MIMO_BF_POLL
Definition:
mgt-action-headers.h:210
ns3::WifiActionHeader::UNPROTECTED_DMG_BRP
@ UNPROTECTED_DMG_BRP
Definition:
mgt-action-headers.h:208
ns3::WifiActionHeader::m_actionValue
uint8_t m_actionValue
Action value.
Definition:
mgt-action-headers.h:300
ns3::WifiActionHeader::QosActionValue
QosActionValue
QosActionValue enumeration.
Definition:
mgt-action-headers.h:82
ns3::WifiActionHeader::DELTS
@ DELTS
Definition:
mgt-action-headers.h:85
ns3::WifiActionHeader::SCHEDULE
@ SCHEDULE
Definition:
mgt-action-headers.h:86
ns3::WifiActionHeader::QOS_MAP_CONFIGURE
@ QOS_MAP_CONFIGURE
Definition:
mgt-action-headers.h:87
ns3::WifiActionHeader::ADDTS_RESPONSE
@ ADDTS_RESPONSE
Definition:
mgt-action-headers.h:84
ns3::WifiActionHeader::ADDTS_REQUEST
@ ADDTS_REQUEST
Definition:
mgt-action-headers.h:83
ns3::WifiActionHeader::Deserialize
uint32_t Deserialize(Buffer::Iterator start) override
Definition:
mgt-action-headers.cc:720
ns3::WifiActionHeader::WifiActionHeader
WifiActionHeader()
Definition:
mgt-action-headers.cc:35
ns3::WifiActionHeader::BlockAckActionValue
BlockAckActionValue
Block Ack Action field values See 802.11 Table 8-202.
Definition:
mgt-action-headers.h:95
ns3::WifiActionHeader::BLOCK_ACK_DELBA
@ BLOCK_ACK_DELBA
Definition:
mgt-action-headers.h:98
ns3::WifiActionHeader::BLOCK_ACK_ADDBA_REQUEST
@ BLOCK_ACK_ADDBA_REQUEST
Definition:
mgt-action-headers.h:96
ns3::WifiActionHeader::BLOCK_ACK_ADDBA_RESPONSE
@ BLOCK_ACK_ADDBA_RESPONSE
Definition:
mgt-action-headers.h:97
ns3::WifiActionHeader::Peek
static std::pair< CategoryValue, ActionValue > Peek(Ptr< const Packet > pkt)
Peek an Action header from the given packet.
Definition:
mgt-action-headers.cc:505
ns3::WifiActionHeader::Print
void Print(std::ostream &os) const override
Definition:
mgt-action-headers.cc:521
ns3::WifiActionHeader::MultihopActionValue
MultihopActionValue
MultihopActionValue enumeration.
Definition:
mgt-action-headers.h:141
ns3::WifiActionHeader::PROXY_UPDATE
@ PROXY_UPDATE
Definition:
mgt-action-headers.h:142
ns3::WifiActionHeader::PROXY_UPDATE_CONFIRMATION
@ PROXY_UPDATE_CONFIRMATION
Definition:
mgt-action-headers.h:143
ns3::WifiActionHeader::ProtectedEhtActionValue
ProtectedEhtActionValue
Protected EHT action field values See 802.11be D3.0 Table 9-623c.
Definition:
mgt-action-headers.h:220
ns3::WifiActionHeader::PROTECTED_EHT_EML_OPERATING_MODE_NOTIFICATION
@ PROTECTED_EHT_EML_OPERATING_MODE_NOTIFICATION
Definition:
mgt-action-headers.h:227
ns3::WifiActionHeader::PROTECTED_EHT_EPCS_PRIORITY_ACCESS_TEARDOWN
@ PROTECTED_EHT_EPCS_PRIORITY_ACCESS_TEARDOWN
Definition:
mgt-action-headers.h:226
ns3::WifiActionHeader::PROTECTED_EHT_TID_TO_LINK_MAPPING_TEARDOWN
@ PROTECTED_EHT_TID_TO_LINK_MAPPING_TEARDOWN
Definition:
mgt-action-headers.h:223
ns3::WifiActionHeader::PROTECTED_EHT_LINK_RECOMMENDATION
@ PROTECTED_EHT_LINK_RECOMMENDATION
Definition:
mgt-action-headers.h:228
ns3::WifiActionHeader::PROTECTED_EHT_TID_TO_LINK_MAPPING_RESPONSE
@ PROTECTED_EHT_TID_TO_LINK_MAPPING_RESPONSE
Definition:
mgt-action-headers.h:222
ns3::WifiActionHeader::PROTECTED_EHT_EPCS_PRIORITY_ACCESS_ENABLE_RESPONSE
@ PROTECTED_EHT_EPCS_PRIORITY_ACCESS_ENABLE_RESPONSE
Definition:
mgt-action-headers.h:225
ns3::WifiActionHeader::PROTECTED_EHT_MULTI_LINK_OPERATION_UPDATE_RESPONSE
@ PROTECTED_EHT_MULTI_LINK_OPERATION_UPDATE_RESPONSE
Definition:
mgt-action-headers.h:230
ns3::WifiActionHeader::PROTECTED_EHT_TID_TO_LINK_MAPPING_REQUEST
@ PROTECTED_EHT_TID_TO_LINK_MAPPING_REQUEST
Definition:
mgt-action-headers.h:221
ns3::WifiActionHeader::PROTECTED_EHT_EPCS_PRIORITY_ACCESS_ENABLE_REQUEST
@ PROTECTED_EHT_EPCS_PRIORITY_ACCESS_ENABLE_REQUEST
Definition:
mgt-action-headers.h:224
ns3::WifiActionHeader::PROTECTED_EHT_MULTI_LINK_OPERATION_UPDATE_REQUEST
@ PROTECTED_EHT_MULTI_LINK_OPERATION_UPDATE_REQUEST
Definition:
mgt-action-headers.h:229
ns3::WifiActionHeader::Remove
static std::pair< CategoryValue, ActionValue > Remove(Ptr< Packet > pkt)
Remove an Action header from the given packet.
Definition:
mgt-action-headers.cc:513
ns3::WifiActionHeader::GetTypeId
static TypeId GetTypeId()
Register this type.
Definition:
mgt-action-headers.cc:489
ns3::WifiActionHeader::SetAction
void SetAction(CategoryValue type, ActionValue action)
Set action for this Action header.
Definition:
mgt-action-headers.cc:44
ns3::WifiActionHeader::MeshActionValue
MeshActionValue
MeshActionValue enumeration.
Definition:
mgt-action-headers.h:122
ns3::WifiActionHeader::MDA_SETUP_REQUEST
@ MDA_SETUP_REQUEST
Definition:
mgt-action-headers.h:127
ns3::WifiActionHeader::CONGESTION_CONTROL_NOTIFICATION
@ CONGESTION_CONTROL_NOTIFICATION
Definition:
mgt-action-headers.h:126
ns3::WifiActionHeader::TBTT_ADJUSTMENT_RESPONSE
@ TBTT_ADJUSTMENT_RESPONSE
Definition:
mgt-action-headers.h:136
ns3::WifiActionHeader::MDA_SETUP_REPLY
@ MDA_SETUP_REPLY
Definition:
mgt-action-headers.h:129
ns3::WifiActionHeader::LINK_METRIC_REPORT
@ LINK_METRIC_REPORT
Definition:
mgt-action-headers.h:123
ns3::WifiActionHeader::MDAOP_SET_TEARDOWN
@ MDAOP_SET_TEARDOWN
Definition:
mgt-action-headers.h:134
ns3::WifiActionHeader::MDAOP_ADVERTISEMENT_REQUEST
@ MDAOP_ADVERTISEMENT_REQUEST
Definition:
mgt-action-headers.h:131
ns3::WifiActionHeader::PATH_SELECTION
@ PATH_SELECTION
Definition:
mgt-action-headers.h:124
ns3::WifiActionHeader::TBTT_ADJUSTMENT_REQUEST
@ TBTT_ADJUSTMENT_REQUEST
Definition:
mgt-action-headers.h:135
ns3::WifiActionHeader::PORTAL_ANNOUNCEMENT
@ PORTAL_ANNOUNCEMENT
Definition:
mgt-action-headers.h:125
ns3::WifiActionHeader::MDAOP_ADVERTISEMENTS
@ MDAOP_ADVERTISEMENTS
Definition:
mgt-action-headers.h:133
ns3::WifiActionHeader::~WifiActionHeader
~WifiActionHeader() override
Definition:
mgt-action-headers.cc:39
ns3::WifiActionHeader::Serialize
void Serialize(Buffer::Iterator start) const override
Definition:
mgt-action-headers.cc:713
ns3::WifiActionHeader::PublicActionValue
PublicActionValue
PublicActionValue enumeration.
Definition:
mgt-action-headers.h:103
ns3::WifiActionHeader::QAB_REQUEST
@ QAB_REQUEST
Definition:
mgt-action-headers.h:104
ns3::WifiActionHeader::QAB_RESPONSE
@ QAB_RESPONSE
Definition:
mgt-action-headers.h:105
ns3::WifiActionHeader::FILS_DISCOVERY
@ FILS_DISCOVERY
Definition:
mgt-action-headers.h:106
ns3::WifiActionHeader::GetCategory
CategoryValue GetCategory() const
Return the category value.
Definition:
mgt-action-headers.cc:104
ns3::WifiActionHeader::GetAction
ActionValue GetAction() const
Return the action value.
Definition:
mgt-action-headers.cc:139
uint32_t
ns3::WifiStandard
WifiStandard
Identifies the IEEE 802.11 specifications that a Wifi device can be configured to use.
Definition:
wifi-standards.h:38
ns3::WifiPhyBand
WifiPhyBand
Identifies the PHY band.
Definition:
wifi-phy-band.h:33
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::operator<<
std::ostream & operator<<(std::ostream &os, const Angles &a)
Definition:
angles.cc:159
timeout
ns3::Time timeout
Definition:
openflow-switch.cc:55
reduced-neighbor-report.h
status-code.h
ns3::FilsDiscHeader::FdCapability
FD Capability subfield of FILS Discovery Information field.
Definition:
mgt-action-headers.h:743
ns3::FilsDiscHeader::FdCapability::GetStandard
WifiStandard GetStandard(WifiPhyBand band) const
Definition:
mgt-action-headers.cc:1739
ns3::FilsDiscHeader::FdCapability::GetMaxNss
uint8_t GetMaxNss() const
Note that this function returns 5 if the maximum number of supported spatial streams is greater than ...
Definition:
mgt-action-headers.cc:1704
ns3::FilsDiscHeader::FdCapability::m_phyIdx
uint8_t m_phyIdx
PHY Index.
Definition:
mgt-action-headers.h:750
ns3::FilsDiscHeader::FdCapability::m_minRate
uint8_t m_minRate
FILS Minimum Rate.
Definition:
mgt-action-headers.h:751
ns3::FilsDiscHeader::FdCapability::SetOpChannelWidth
void SetOpChannelWidth(uint16_t width)
Set the BSS Operating Channel Width field based on the operating channel width.
Definition:
mgt-action-headers.cc:1666
ns3::FilsDiscHeader::FdCapability::SetMaxNss
void SetMaxNss(uint8_t maxNss)
Set the Maximum Number of Spatial Streams field.
Definition:
mgt-action-headers.cc:1695
ns3::FilsDiscHeader::FdCapability::GetOpChannelWidth
uint16_t GetOpChannelWidth() const
Definition:
mgt-action-headers.cc:1676
ns3::FilsDiscHeader::FdCapability::m_chWidth
uint8_t m_chWidth
BSS Operating Channel Width.
Definition:
mgt-action-headers.h:746
ns3::FilsDiscHeader::FdCapability::m_multiBssidPresenceInd
uint8_t m_multiBssidPresenceInd
Multiple BSSIDs Presence Indicator.
Definition:
mgt-action-headers.h:749
ns3::FilsDiscHeader::FdCapability::m_privacy
uint8_t m_privacy
Privacy.
Definition:
mgt-action-headers.h:745
ns3::FilsDiscHeader::FdCapability::m_maxNss
uint8_t m_maxNss
Maximum Number of Spatial Streams.
Definition:
mgt-action-headers.h:747
ns3::FilsDiscHeader::FdCapability::m_ess
uint8_t m_ess
ESS.
Definition:
mgt-action-headers.h:744
ns3::FilsDiscHeader::FdCapability::m_reserved
uint8_t m_reserved
Reserved Bit.
Definition:
mgt-action-headers.h:748
ns3::FilsDiscHeader::FdCapability::Serialize
void Serialize(Buffer::Iterator &start) const
serialize content to a given buffer
Definition:
mgt-action-headers.cc:1642
ns3::FilsDiscHeader::FdCapability::Deserialize
uint32_t Deserialize(Buffer::Iterator start)
read content from a given buffer
Definition:
mgt-action-headers.cc:1650
ns3::FilsDiscHeader::FdCapability::SetStandard
void SetStandard(WifiStandard standard)
Set the PHY Index field based on the given wifi standard.
Definition:
mgt-action-headers.cc:1710
ns3::FilsDiscHeader::FilsDiscFrameControl
FILS Discovery Frame Control subfield of FILS Discovery Information field.
Definition:
mgt-action-headers.h:713
ns3::FilsDiscHeader::FilsDiscFrameControl::m_apCsnPresenceInd
bool m_apCsnPresenceInd
AP-CSN Presence Indicator.
Definition:
mgt-action-headers.h:717
ns3::FilsDiscHeader::FilsDiscFrameControl::m_chCntrFreqSeg1PresenceInd
bool m_chCntrFreqSeg1PresenceInd
Channel Center Frequency Segment 1 Presence Indicator.
Definition:
mgt-action-headers.h:719
ns3::FilsDiscHeader::FilsDiscFrameControl::m_shortSsidInd
uint8_t m_shortSsidInd
Short SSID Indicator (not supported)
Definition:
mgt-action-headers.h:716
ns3::FilsDiscHeader::FilsDiscFrameControl::m_anoPresenceInd
bool m_anoPresenceInd
ANO Presence Indicator.
Definition:
mgt-action-headers.h:718
ns3::FilsDiscHeader::FilsDiscFrameControl::Serialize
void Serialize(Buffer::Iterator &start) const
serialize content to a given buffer
Definition:
mgt-action-headers.cc:1602
ns3::FilsDiscHeader::FilsDiscFrameControl::m_rsnInfoPresenceInd
uint8_t m_rsnInfoPresenceInd
RSN info Presence Indicator (not supported)
Definition:
mgt-action-headers.h:722
ns3::FilsDiscHeader::FilsDiscFrameControl::m_reserved
uint8_t m_reserved
Reserved Bits.
Definition:
mgt-action-headers.h:725
ns3::FilsDiscHeader::FilsDiscFrameControl::m_capPresenceInd
bool m_capPresenceInd
Capability Presence Indicator.
Definition:
mgt-action-headers.h:715
ns3::FilsDiscHeader::FilsDiscFrameControl::m_mdPresenceInd
uint8_t m_mdPresenceInd
MD Presence Indicator (not supported)
Definition:
mgt-action-headers.h:724
ns3::FilsDiscHeader::FilsDiscFrameControl::Deserialize
uint32_t Deserialize(Buffer::Iterator start)
read content from a given buffer
Definition:
mgt-action-headers.cc:1613
ns3::FilsDiscHeader::FilsDiscFrameControl::m_lenPresenceInd
bool m_lenPresenceInd
Length Presence Indicator.
Definition:
mgt-action-headers.h:723
ns3::FilsDiscHeader::FilsDiscFrameControl::m_primChPresenceInd
bool m_primChPresenceInd
Primary Channel Presence Indicator.
Definition:
mgt-action-headers.h:721
ns3::FilsDiscHeader::FilsDiscFrameControl::m_ssidLen
uint8_t m_ssidLen
SSID Length.
Definition:
mgt-action-headers.h:714
ns3::MgtEmlOmn::EmlControl
EML Control field.
Definition:
mgt-action-headers.h:639
ns3::MgtEmlOmn::EmlControl::mcsMapCountCtrl
std::optional< uint8_t > mcsMapCountCtrl
MCS Map Count Control.
Definition:
mgt-action-headers.h:645
ns3::MgtEmlOmn::EmlControl::emlsrMode
uint8_t emlsrMode
EMLSR Mode.
Definition:
mgt-action-headers.h:640
ns3::MgtEmlOmn::EmlControl::emlsrParamUpdateCtrl
uint8_t emlsrParamUpdateCtrl
EMLSR Parameter Update Control.
Definition:
mgt-action-headers.h:642
ns3::MgtEmlOmn::EmlControl::emlmrMode
uint8_t emlmrMode
EMLMR Mode.
Definition:
mgt-action-headers.h:641
ns3::MgtEmlOmn::EmlControl::linkBitmap
std::optional< uint16_t > linkBitmap
EMLSR/EMLMR Link Bitmap.
Definition:
mgt-action-headers.h:644
ns3::MgtEmlOmn::EmlsrParamUpdate
EMLSR Parameter Update field.
Definition:
mgt-action-headers.h:653
ns3::MgtEmlOmn::EmlsrParamUpdate::transitionDelay
uint8_t transitionDelay
EMLSR Transition Delay.
Definition:
mgt-action-headers.h:655
ns3::MgtEmlOmn::EmlsrParamUpdate::paddingDelay
uint8_t paddingDelay
EMLSR Padding Delay.
Definition:
mgt-action-headers.h:654
tim.h
ns3::WifiActionHeader::ActionValue
typedef for union of different ActionValues
Definition:
mgt-action-headers.h:236
ns3::WifiActionHeader::ActionValue::unprotectedDmgAction
UnprotectedDmgActionValue unprotectedDmgAction
unprotected dmg
Definition:
mgt-action-headers.h:246
ns3::WifiActionHeader::ActionValue::fstAction
FstActionValue fstAction
fst
Definition:
mgt-action-headers.h:245
ns3::WifiActionHeader::ActionValue::protectedEhtAction
ProtectedEhtActionValue protectedEhtAction
protected eht
Definition:
mgt-action-headers.h:247
ns3::WifiActionHeader::ActionValue::selfProtectedAction
SelfProtectedActionValue selfProtectedAction
self protected
Definition:
mgt-action-headers.h:241
ns3::WifiActionHeader::ActionValue::multihopAction
MultihopActionValue multihopAction
multi hop
Definition:
mgt-action-headers.h:242
ns3::WifiActionHeader::ActionValue::radioMeasurementAction
RadioMeasurementActionValue radioMeasurementAction
radio measurement
Definition:
mgt-action-headers.h:239
ns3::WifiActionHeader::ActionValue::dmgAction
DmgActionValue dmgAction
dmg
Definition:
mgt-action-headers.h:244
ns3::WifiActionHeader::ActionValue::publicAction
PublicActionValue publicAction
public
Definition:
mgt-action-headers.h:240
ns3::WifiActionHeader::ActionValue::qos
QosActionValue qos
qos
Definition:
mgt-action-headers.h:237
ns3::WifiActionHeader::ActionValue::meshAction
MeshActionValue meshAction
mesh
Definition:
mgt-action-headers.h:243
ns3::WifiActionHeader::ActionValue::blockAck
BlockAckActionValue blockAck
block ack
Definition:
mgt-action-headers.h:238
wifi-opt-field.h
wifi-standards.h
src
wifi
model
mgt-action-headers.h
Generated on Tue May 28 2024 23:40:19 for ns-3 by
1.9.6