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