A Discrete-Event Network Simulator
API
mgt-headers.h
Go to the documentation of this file.
1/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2/*
3 * Copyright (c) 2006 INRIA
4 * Copyright (c) 2009 MIRKO BANCHI
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation;
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 *
19 * Authors: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
20 * Mirko Banchi <mk.banchi@gmail.com>
21 */
22
23#ifndef MGT_HEADERS_H
24#define MGT_HEADERS_H
25
26#include "ns3/mac48-address.h"
27#include "status-code.h"
29#include "supported-rates.h"
30#include "ssid.h"
31#include "ns3/dsss-parameter-set.h"
33#include "ns3/ht-capabilities.h"
34#include "ns3/ht-operation.h"
35#include "ns3/multi-link-element.h"
36#include "ns3/vht-capabilities.h"
37#include "ns3/vht-operation.h"
38#include "ns3/erp-information.h"
39#include "edca-parameter-set.h"
40#include "ns3/he-capabilities.h"
41#include "ns3/he-operation.h"
42#include "ns3/mu-edca-parameter-set.h"
43#include "ns3/eht-capabilities.h"
45
46namespace ns3 {
47
53{
54public:
57
63 void SetSsid (const Ssid& ssid);
64
66 void SetSsid (Ssid&& ssid);
67
73 void SetSupportedRates (const SupportedRates& rates);
74
76 void SetSupportedRates (SupportedRates&& rates);
77
83 void SetListenInterval (uint16_t interval);
84
90 void SetCapabilities (const CapabilityInformation& capabilities);
91
93 void SetCapabilities (CapabilityInformation&& capabilities);
94
100 void SetExtendedCapabilities (const ExtendedCapabilities& extendedCapabilities);
101
103 void SetExtendedCapabilities (ExtendedCapabilities&& extendedCapabilities);
104
110 void SetHtCapabilities (const HtCapabilities& htCapabilities);
111
113 void SetHtCapabilities (HtCapabilities&& htCapabilities);
114
120 void SetVhtCapabilities (const VhtCapabilities& vhtCapabilities);
121
123 void SetVhtCapabilities (VhtCapabilities&& vhtCapabilities);
124
130 void SetHeCapabilities (const HeCapabilities& heCapabilities);
131
133 void SetHeCapabilities (HeCapabilities&& heCapabilities);
134
140 void SetEhtCapabilities (const EhtCapabilities& ehtCapabilities);
141
143 void SetEhtCapabilities (EhtCapabilities&& ehtCapabilities);
144
150 void SetMultiLinkElement (const MultiLinkElement& multiLinkElement);
151
153 void SetMultiLinkElement (MultiLinkElement&& multiLinkElement);
154
160 const CapabilityInformation& GetCapabilities (void) const;
166 const std::optional<ExtendedCapabilities>& GetExtendedCapabilities (void) const;
172 const std::optional<HtCapabilities>& GetHtCapabilities (void) const;
178 const std::optional<VhtCapabilities>& GetVhtCapabilities (void) const;
184 const std::optional<HeCapabilities>& GetHeCapabilities (void) const;
190 const std::optional<EhtCapabilities>& GetEhtCapabilities (void) const;
196 const Ssid& GetSsid (void) const;
202 const SupportedRates& GetSupportedRates (void) const;
208 uint16_t GetListenInterval (void) const;
214 const std::optional<MultiLinkElement>& GetMultiLinkElement (void) const;
215
220 static TypeId GetTypeId (void);
221
222 TypeId GetInstanceTypeId (void) const override;
223 void Print (std::ostream &os) const override;
224 uint32_t GetSerializedSize (void) const override;
225 void Serialize (Buffer::Iterator start) const override;
227
228
229private:
233 std::optional<ExtendedCapabilities> m_extendedCapability;
234 std::optional<HtCapabilities> m_htCapability;
235 std::optional<VhtCapabilities> m_vhtCapability;
236 std::optional<HeCapabilities> m_heCapability;
238 std::optional<EhtCapabilities> m_ehtCapability;
239 std::optional<MultiLinkElement> m_multiLinkElement;
240};
241
242
248{
249public:
252
258 void SetSsid (const Ssid& ssid);
259
261 void SetSsid (Ssid&& ssid);
262
268 void SetSupportedRates (const SupportedRates& rates);
269
271 void SetSupportedRates (SupportedRates&& rates);
272
278 void SetListenInterval (uint16_t interval);
279
285 void SetCapabilities (const CapabilityInformation& capabilities);
286
288 void SetCapabilities (CapabilityInformation&& capabilities);
289
295 void SetExtendedCapabilities (const ExtendedCapabilities& extendedCapabilities);
296
298 void SetExtendedCapabilities (ExtendedCapabilities&& extendedCapabilities);
299
305 void SetHtCapabilities (const HtCapabilities& htCapabilities);
306
308 void SetHtCapabilities (HtCapabilities&& htCapabilities);
309
315 void SetVhtCapabilities (const VhtCapabilities& vhtCapabilities);
316
318 void SetVhtCapabilities (VhtCapabilities&& vhtCapabilities);
319
325 void SetHeCapabilities (const HeCapabilities& heCapabilities);
326
328 void SetHeCapabilities (HeCapabilities&& heCapabilities);
329
335 void SetEhtCapabilities (const EhtCapabilities& ehtCapabilities);
336
338 void SetEhtCapabilities (EhtCapabilities&& ehtCapabilities);
339
345 void SetMultiLinkElement (const MultiLinkElement& multiLinkElement);
346
348 void SetMultiLinkElement (MultiLinkElement&& multiLinkElement);
349
355 const CapabilityInformation& GetCapabilities (void) const;
361 const std::optional<ExtendedCapabilities>& GetExtendedCapabilities (void) const;
367 const std::optional<HtCapabilities>& GetHtCapabilities (void) const;
373 const std::optional<VhtCapabilities>& GetVhtCapabilities (void) const;
379 const std::optional<HeCapabilities>& GetHeCapabilities (void) const;
385 const std::optional<EhtCapabilities>& GetEhtCapabilities (void) const;
391 const Ssid& GetSsid (void) const;
397 const SupportedRates& GetSupportedRates (void) const;
403 const std::optional<MultiLinkElement>& GetMultiLinkElement (void) const;
409 uint16_t GetListenInterval (void) const;
415 void SetCurrentApAddress (Mac48Address currentApAddr);
416
421 static TypeId GetTypeId (void);
422 TypeId GetInstanceTypeId (void) const;
423 void Print (std::ostream &os) const;
424 uint32_t GetSerializedSize (void) const;
425 void Serialize (Buffer::Iterator start) const;
427
428
429private:
434 std::optional<ExtendedCapabilities> m_extendedCapability;
435 std::optional<HtCapabilities> m_htCapability;
436 std::optional<VhtCapabilities> m_vhtCapability;
437 std::optional<HeCapabilities> m_heCapability;
439 std::optional<EhtCapabilities> m_ehtCapability;
440 std::optional<MultiLinkElement> m_multiLinkElement;
441};
442
443
449{
450public:
453
465 const SupportedRates& GetSupportedRates (void) const;
471 const CapabilityInformation& GetCapabilities (void) const;
477 const std::optional<ExtendedCapabilities>& GetExtendedCapabilities (void) const;
483 const std::optional<HtCapabilities>& GetHtCapabilities (void) const;
489 const std::optional<HtOperation>& GetHtOperation (void) const;
495 const std::optional<VhtCapabilities>& GetVhtCapabilities (void) const;
501 const std::optional<VhtOperation>& GetVhtOperation (void) const;
507 const std::optional<HeCapabilities>& GetHeCapabilities (void) const;
513 const std::optional<HeOperation>& GetHeOperation (void) const;
519 const std::optional<EhtCapabilities>& GetEhtCapabilities (void) const;
525 const std::optional<MultiLinkElement>& GetMultiLinkElement (void) const;
531 uint16_t GetAssociationId (void) const;
537 const std::optional<ErpInformation>& GetErpInformation (void) const;
543 const std::optional<EdcaParameterSet>& GetEdcaParameterSet (void) const;
549 const std::optional<MuEdcaParameterSet>& GetMuEdcaParameterSet (void) const;
555 void SetCapabilities (const CapabilityInformation& capabilities);
556
558 void SetCapabilities (CapabilityInformation&& capabilities);
559
565 void SetExtendedCapabilities (const ExtendedCapabilities& extendedCapabilities);
566
568 void SetExtendedCapabilities (ExtendedCapabilities&& extendedCapabilities);
569
575 void SetVhtOperation (const VhtOperation& vhtOperation);
576
578 void SetVhtOperation (VhtOperation&& vhtOperation);
579
585 void SetVhtCapabilities (const VhtCapabilities& vhtCapabilities);
586
588 void SetVhtCapabilities (VhtCapabilities&& vhtCapabilities);
589
595 void SetHtCapabilities (const HtCapabilities& htCapabilities);
596
598 void SetHtCapabilities (HtCapabilities&& htCapabilities);
599
605 void SetHtOperation (const HtOperation& htOperation);
606
608 void SetHtOperation (HtOperation&& htOperation);
609
615 void SetSupportedRates (const SupportedRates& rates);
616
618 void SetSupportedRates (SupportedRates&& rates);
619
625 void SetStatusCode (StatusCode code);
626
632 void SetAssociationId (uint16_t aid);
633
639 void SetErpInformation (const ErpInformation& erpInformation);
640
642 void SetErpInformation (ErpInformation&& erpInformation);
643
649 void SetEdcaParameterSet (const EdcaParameterSet& edcaParameterSet);
650
652 void SetEdcaParameterSet (EdcaParameterSet&& edcaParameterSet);
653
659 void SetMuEdcaParameterSet (const MuEdcaParameterSet& muEdcaParameterSet);
660
662 void SetMuEdcaParameterSet (MuEdcaParameterSet&& muEdcaParameterSet);
663
669 void SetHeCapabilities (const HeCapabilities& heCapabilities);
670
672 void SetHeCapabilities (HeCapabilities&& heCapabilities);
673
679 void SetHeOperation (const HeOperation& heOperation);
680
682 void SetHeOperation (HeOperation&& heOperation);
683
689 void SetEhtCapabilities (const EhtCapabilities& ehtCapabilities);
690
692 void SetEhtCapabilities (EhtCapabilities&& ehtCapabilities);
693
699 void SetMultiLinkElement (const MultiLinkElement& multiLinkElement);
700
702 void SetMultiLinkElement (MultiLinkElement&& multiLinkElement);
703
708 static TypeId GetTypeId (void);
709 TypeId GetInstanceTypeId (void) const;
710 void Print (std::ostream &os) const;
711 uint32_t GetSerializedSize (void) const;
712 void Serialize (Buffer::Iterator start) const;
714
715
716private:
720 uint16_t m_aid;
721 std::optional<ExtendedCapabilities> m_extendedCapability;
722 std::optional<HtCapabilities> m_htCapability;
723 std::optional<HtOperation> m_htOperation;
724 std::optional<VhtCapabilities> m_vhtCapability;
725 std::optional<VhtOperation> m_vhtOperation;
726 std::optional<ErpInformation> m_erpInformation;
727 std::optional<EdcaParameterSet> m_edcaParameterSet;
728 std::optional<HeCapabilities> m_heCapability;
729 std::optional<HeOperation> m_heOperation;
730 std::optional<MuEdcaParameterSet> m_muEdcaParameterSet;
731 std::optional<EhtCapabilities> m_ehtCapability;
732 std::optional<MultiLinkElement> m_multiLinkElement;
733};
734
735
741{
742public:
744
750 void SetSsid (const Ssid& ssid);
751
753 void SetSsid (Ssid&& ssid);
754
760 void SetSupportedRates (const SupportedRates& rates);
761
763 void SetSupportedRates (SupportedRates&& rates);
764
770 void SetExtendedCapabilities (const ExtendedCapabilities& extendedCapabilities);
771
773 void SetExtendedCapabilities (ExtendedCapabilities&& extendedCapabilities);
774
780 void SetHtCapabilities (const HtCapabilities& htCapabilities);
781
783 void SetHtCapabilities (HtCapabilities&& htCapabilities);
784
790 void SetVhtCapabilities (const VhtCapabilities& vhtCapabilities);
791
793 void SetVhtCapabilities (VhtCapabilities&& vhtCapabilities);
794
800 void SetHeCapabilities (const HeCapabilities& heCapabilities);
801
803 void SetHeCapabilities (HeCapabilities&& heCapabilities);
804
810 void SetEhtCapabilities (const EhtCapabilities& ehtCapabilities);
811
813 void SetEhtCapabilities (EhtCapabilities&& ehtCapabilities);
814
820 const Ssid& GetSsid (void) const;
821
827 const SupportedRates& GetSupportedRates (void) const;
828
834 const std::optional<ExtendedCapabilities>& GetExtendedCapabilities (void) const;
835
841 const std::optional<HtCapabilities>& GetHtCapabilities (void) const;
842
848 const std::optional<VhtCapabilities>& GetVhtCapabilities (void) const;
849
855 const std::optional<HeCapabilities>& GetHeCapabilities (void) const;
856
862 const std::optional<EhtCapabilities>& GetEhtCapabilities (void) const;
863
868 static TypeId GetTypeId (void);
869 TypeId GetInstanceTypeId (void) const;
870 void Print (std::ostream &os) const;
871 uint32_t GetSerializedSize (void) const;
872 void Serialize (Buffer::Iterator start) const;
874
875
876private:
879 std::optional<ExtendedCapabilities> m_extendedCapability;
880 std::optional<HtCapabilities> m_htCapability;
881 std::optional<VhtCapabilities> m_vhtCapability;
882 std::optional<HeCapabilities> m_heCapability;
883 std::optional<EhtCapabilities> m_ehtCapability;
884};
885
886
892{
893public:
896
902 const Ssid& GetSsid (void) const;
908 uint64_t GetBeaconIntervalUs (void) const;
914 const SupportedRates& GetSupportedRates (void) const;
920 const CapabilityInformation& GetCapabilities (void) const;
926 const std::optional<DsssParameterSet>& GetDsssParameterSet (void) const;
932 const std::optional<ExtendedCapabilities>& GetExtendedCapabilities (void) const;
938 const std::optional<HtCapabilities>& GetHtCapabilities (void) const;
944 const std::optional<HtOperation>& GetHtOperation (void) const;
950 const std::optional<VhtCapabilities>& GetVhtCapabilities (void) const;
956 const std::optional<VhtOperation>& GetVhtOperation (void) const;
962 const std::optional<HeCapabilities>& GetHeCapabilities (void) const;
968 const std::optional<HeOperation>& GetHeOperation (void) const;
974 const std::optional<EhtCapabilities>& GetEhtCapabilities (void) const;
980 const std::optional<ErpInformation>& GetErpInformation (void) const;
986 const std::optional<EdcaParameterSet>& GetEdcaParameterSet (void) const;
992 const std::optional<MuEdcaParameterSet>& GetMuEdcaParameterSet (void) const;
993
999 const std::optional<ReducedNeighborReport>& GetReducedNeighborReport (void) const;
1005 const std::optional<MultiLinkElement>& GetMultiLinkElement (void) const;
1011 void SetCapabilities (const CapabilityInformation& capabilities);
1012
1014 void SetCapabilities (CapabilityInformation&& capabilities);
1015
1021 void SetExtendedCapabilities (const ExtendedCapabilities& extendedCapabilities);
1022
1024 void SetExtendedCapabilities (ExtendedCapabilities&& extendedCapabilities);
1025
1031 void SetHtCapabilities (const HtCapabilities& htCapabilities);
1032
1034 void SetHtCapabilities (HtCapabilities&& htCapabilities);
1035
1041 void SetHtOperation (const HtOperation& htOperation);
1042
1044 void SetHtOperation (HtOperation&& htOperation);
1045
1051 void SetVhtCapabilities (const VhtCapabilities& vhtCapabilities);
1052
1054 void SetVhtCapabilities (VhtCapabilities&& vhtCapabilities);
1055
1061 void SetVhtOperation (const VhtOperation& vhtOperation);
1062
1064 void SetVhtOperation (VhtOperation&& vhtOperation);
1065
1071 void SetHeCapabilities (const HeCapabilities& heCapabilities);
1072
1074 void SetHeCapabilities (HeCapabilities&& heCapabilities);
1075
1081 void SetHeOperation (const HeOperation& heOperation);
1082
1084 void SetHeOperation (HeOperation&& heOperation);
1085
1091 void SetEhtCapabilities (const EhtCapabilities& ehtCapabilities);
1092
1094 void SetEhtCapabilities (EhtCapabilities&& ehtCapabilities);
1095
1101 void SetSsid (const Ssid& ssid);
1102
1104 void SetSsid (Ssid&& ssid);
1105
1111 void SetBeaconIntervalUs (uint64_t us);
1112
1118 void SetSupportedRates (const SupportedRates& rates);
1119
1121 void SetSupportedRates (SupportedRates&& rates);
1122
1128 void SetDsssParameterSet (const DsssParameterSet& dsssParameterSet);
1129
1131 void SetDsssParameterSet (DsssParameterSet&& dsssParameterSet);
1132
1138 void SetErpInformation (const ErpInformation& erpInformation);
1139
1141 void SetErpInformation (ErpInformation&& erpInformation);
1142
1148 void SetEdcaParameterSet (const EdcaParameterSet& edcaParameterSet);
1149
1151 void SetEdcaParameterSet (EdcaParameterSet&& edcaParameterSet);
1152
1158 void SetMuEdcaParameterSet (const MuEdcaParameterSet& muEdcaParameterSet);
1159
1161 void SetMuEdcaParameterSet (MuEdcaParameterSet&& muEdcaParameterSet);
1162
1168 void SetReducedNeighborReport (const ReducedNeighborReport& reducedNeighborReport);
1169
1171 void SetReducedNeighborReport (ReducedNeighborReport&& reducedNeighborReport);
1172
1178 void SetMultiLinkElement (const MultiLinkElement& multiLinkElement);
1179
1181 void SetMultiLinkElement (MultiLinkElement&& multiLinkElement);
1182
1188 uint64_t GetTimestamp ();
1189
1194 static TypeId GetTypeId (void);
1195 TypeId GetInstanceTypeId (void) const;
1196 void Print (std::ostream &os) const;
1197 uint32_t GetSerializedSize (void) const;
1198 void Serialize (Buffer::Iterator start) const;
1200
1201
1202private:
1203 uint64_t m_timestamp;
1208 std::optional<DsssParameterSet> m_dsssParameterSet;
1209 std::optional<ExtendedCapabilities> m_extendedCapability;
1210 std::optional<HtCapabilities> m_htCapability;
1211 std::optional<HtOperation> m_htOperation;
1212 std::optional<VhtCapabilities> m_vhtCapability;
1213 std::optional<VhtOperation> m_vhtOperation;
1214 std::optional<HeCapabilities> m_heCapability;
1215 std::optional<HeOperation> m_heOperation;
1216 std::optional<ErpInformation> m_erpInformation;
1217 std::optional<EdcaParameterSet> m_edcaParameterSet;
1218 std::optional<MuEdcaParameterSet> m_muEdcaParameterSet;
1219 std::optional<EhtCapabilities> m_ehtCapability;
1220 std::optional<ReducedNeighborReport> m_reducedNeighborReport;
1221 std::optional<MultiLinkElement> m_multiLinkElement;
1222};
1223
1224
1230{
1231public:
1237 static TypeId GetTypeId (void);
1238};
1239
1240
1241/****************************
1242* Action frames
1243*****************************/
1244
1253{
1254public:
1257
1258 /*
1259 * Compatible with table 8-38 IEEE 802.11, Part11, (Year 2012)
1260 * Category values - see 802.11-2012 Table 8-38
1261 */
1262
1264 enum CategoryValue //table 8-38 staring from IEEE 802.11, Part11, (Year 2012)
1265 {
1266 QOS = 1,
1269 RADIO_MEASUREMENT = 5, //Category: Radio Measurement
1270 MESH = 13, //Category: Mesh
1271 MULTIHOP = 14, //not used so far
1272 SELF_PROTECTED = 15, //Category: Self Protected
1273 DMG = 16, //Category: DMG
1274 FST = 18, //Category: Fast Session Transfer
1275 UNPROTECTED_DMG = 20, //Category: Unprotected DMG
1276 //Since vendor specific action has no stationary Action value,the parse process is not here.
1277 //Refer to vendor-specific-action in wave module.
1279 };
1280
1283 {
1289 };
1290
1296 {
1299 BLOCK_ACK_DELBA = 2
1301
1304 {
1307 };
1308
1311 {
1319
1322 {
1323 LINK_METRIC_REPORT = 0, //Action Value:0 in Category 13: Mesh
1324 PATH_SELECTION = 1, //Action Value:1 in Category 13: Mesh
1325 PORTAL_ANNOUNCEMENT = 2, //Action Value:2 in Category 13: Mesh
1326 CONGESTION_CONTROL_NOTIFICATION = 3, //Action Value:3 in Category 13: Mesh
1327 MDA_SETUP_REQUEST = 4, //Action Value:4 in Category 13: Mesh MCCA-Setup-Request (not used so far)
1328 MDA_SETUP_REPLY = 5, //Action Value:5 in Category 13: Mesh MCCA-Setup-Reply (not used so far)
1329 MDAOP_ADVERTISMENT_REQUEST = 6, //Action Value:6 in Category 13: Mesh MCCA-Advertisement-Request (not used so far)
1330 MDAOP_ADVERTISMENTS = 7, //Action Value:7 in Category 13: Mesh (not used so far)
1331 MDAOP_SET_TEARDOWN = 8, //Action Value:8 in Category 13: Mesh (not used so far)
1332 TBTT_ADJUSTMENT_REQUEST = 9, //Action Value:9 in Category 13: Mesh (not used so far)
1333 TBTT_ADJUSTMENT_RESPONSE = 10, //Action Value:10 in Category 13: Mesh (not used so far)
1334 };
1335
1338 {
1339 PROXY_UPDATE = 0, //not used so far
1340 PROXY_UPDATE_CONFIRMATION = 1, //not used so far
1341 };
1342
1344 enum SelfProtectedActionValue //Category: 15 (Self Protected)
1345 {
1346 PEER_LINK_OPEN = 1, //Mesh Peering Open
1347 PEER_LINK_CONFIRM = 2, //Mesh Peering Confirm
1348 PEER_LINK_CLOSE = 3, //Mesh Peering Close
1349 GROUP_KEY_INFORM = 4, //Mesh Group Key Inform
1350 GROUP_KEY_ACK = 5, //Mesh Group Key Acknowledge
1351 };
1352
1358 {
1381 DMG_ROC_RESPONSE = 22
1383
1389 {
1397
1403 {
1410 };
1411
1415 typedef union
1416 {
1427 } ActionValue;
1435
1448
1453 static TypeId GetTypeId (void);
1454 TypeId GetInstanceTypeId () const;
1455 void Print (std::ostream &os) const;
1456 uint32_t GetSerializedSize () const;
1457 void Serialize (Buffer::Iterator start) const;
1459
1460
1461private:
1467 std::string CategoryValueToString (CategoryValue value) const;
1474 uint8_t m_category;
1476};
1477
1478
1484{
1485public:
1487
1492 static TypeId GetTypeId (void);
1493 TypeId GetInstanceTypeId (void) const;
1494 void Print (std::ostream &os) const;
1495 uint32_t GetSerializedSize (void) const;
1496 void Serialize (Buffer::Iterator start) const;
1498
1502 void SetDelayedBlockAck ();
1506 void SetImmediateBlockAck ();
1512 void SetTid (uint8_t tid);
1518 void SetTimeout (uint16_t timeout);
1524 void SetBufferSize (uint16_t size);
1530 void SetStartingSequence (uint16_t seq);
1536 void SetAmsduSupport (bool supported);
1537
1543 uint16_t GetStartingSequence (void) const;
1549 uint8_t GetTid (void) const;
1555 bool IsImmediateBlockAck (void) const;
1561 uint16_t GetTimeout (void) const;
1567 uint16_t GetBufferSize (void) const;
1573 bool IsAmsduSupported (void) const;
1574
1575private:
1581 uint16_t GetParameterSet (void) const;
1587 void SetParameterSet (uint16_t params);
1593 uint16_t GetStartingSequenceControl (void) const;
1599 void SetStartingSequenceControl (uint16_t seqControl);
1600
1603 uint8_t m_policy;
1604 uint8_t m_tid;
1605 uint16_t m_bufferSize;
1607 uint16_t m_startingSeq;
1608};
1609
1610
1616{
1617public:
1619
1624 static TypeId GetTypeId (void);
1625 TypeId GetInstanceTypeId (void) const;
1626 void Print (std::ostream &os) const;
1627 uint32_t GetSerializedSize (void) const;
1628 void Serialize (Buffer::Iterator start) const;
1630
1634 void SetDelayedBlockAck ();
1638 void SetImmediateBlockAck ();
1644 void SetTid (uint8_t tid);
1650 void SetTimeout (uint16_t timeout);
1656 void SetBufferSize (uint16_t size);
1662 void SetStatusCode (StatusCode code);
1668 void SetAmsduSupport (bool supported);
1669
1675 StatusCode GetStatusCode (void) const;
1681 uint8_t GetTid (void) const;
1687 bool IsImmediateBlockAck (void) const;
1693 uint16_t GetTimeout (void) const;
1699 uint16_t GetBufferSize (void) const;
1705 bool IsAmsduSupported (void) const;
1706
1707
1708private:
1714 uint16_t GetParameterSet (void) const;
1720 void SetParameterSet (uint16_t params);
1721
1725 uint8_t m_policy;
1726 uint8_t m_tid;
1727 uint16_t m_bufferSize;
1729};
1730
1731
1737{
1738public:
1739 MgtDelBaHeader ();
1740
1745 static TypeId GetTypeId (void);
1746
1747 TypeId GetInstanceTypeId (void) const;
1748 void Print (std::ostream &os) const;
1749 uint32_t GetSerializedSize (void) const;
1750 void Serialize (Buffer::Iterator start) const;
1752
1759 bool IsByOriginator (void) const;
1765 uint8_t GetTid (void) const;
1771 void SetTid (uint8_t tid);
1775 void SetByOriginator (void);
1779 void SetByRecipient (void);
1780
1781
1782private:
1788 uint16_t GetParameterSet (void) const;
1794 void SetParameterSet (uint16_t params);
1795
1796 uint16_t m_initiator;
1797 uint16_t m_tid;
1798 uint16_t m_reasonCode;
1799};
1800
1801} //namespace ns3
1802
1803#endif /* MGT_HEADERS_H */
iterator in a Buffer instance
Definition: buffer.h:99
The DSSS Parameter Set.
The EDCA Parameter Set.
The IEEE 802.11be EHT Capabilities.
The ErpInformation Information Element.
The Extended Capabilities Information Element.
The IEEE 802.11ax HE Capabilities.
The HE Operation Information Element.
Definition: he-operation.h:36
Protocol header serialization and deserialization.
Definition: header.h:43
The HT Capabilities Information Element.
The HT Operation Information Element.
Definition: ht-operation.h:51
an EUI-48 address
Definition: mac48-address.h:44
Implement the header for management frames of type Add Block Ack request.
Definition: mgt-headers.h:1484
void SetParameterSet(uint16_t params)
Set the parameter set from the given raw value.
uint16_t m_startingSeq
Starting sequence number.
Definition: mgt-headers.h:1607
void Serialize(Buffer::Iterator start) const
uint16_t GetTimeout(void) const
Return the timeout.
uint32_t Deserialize(Buffer::Iterator start)
void SetStartingSequenceControl(uint16_t seqControl)
Set sequence control with the given raw value.
uint8_t m_tid
Traffic ID.
Definition: mgt-headers.h:1604
bool IsImmediateBlockAck(void) const
Return whether the Block Ack policy is immediate Block Ack.
uint8_t m_amsduSupport
Flag if A-MSDU is supported.
Definition: mgt-headers.h:1602
void SetBufferSize(uint16_t size)
Set buffer size.
void SetDelayedBlockAck()
Enable delayed BlockAck.
uint8_t m_dialogToken
Not used for now.
Definition: mgt-headers.h:1601
void SetAmsduSupport(bool supported)
Enable or disable A-MSDU support.
void SetImmediateBlockAck()
Enable immediate BlockAck.
bool IsAmsduSupported(void) const
Return whether A-MSDU capability is supported.
TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
uint16_t GetStartingSequence(void) const
Return the starting sequence number.
uint16_t m_bufferSize
Buffer size.
Definition: mgt-headers.h:1605
uint16_t GetBufferSize(void) const
Return the buffer size.
uint32_t GetSerializedSize(void) const
uint16_t GetStartingSequenceControl(void) const
Return the raw sequence control.
void Print(std::ostream &os) const
static TypeId GetTypeId(void)
Register this type.
uint8_t GetTid(void) const
Return the Traffic ID (TID).
uint16_t m_timeoutValue
Timeout.
Definition: mgt-headers.h:1606
void SetTimeout(uint16_t timeout)
Set timeout.
void SetTid(uint8_t tid)
Set Traffic ID (TID).
uint8_t m_policy
Block Ack policy.
Definition: mgt-headers.h:1603
void SetStartingSequence(uint16_t seq)
Set the starting sequence number.
uint16_t GetParameterSet(void) const
Return the raw parameter set.
Implement the header for management frames of type Add Block Ack response.
Definition: mgt-headers.h:1616
uint16_t m_bufferSize
Buffer size.
Definition: mgt-headers.h:1727
void SetTid(uint8_t tid)
Set Traffic ID (TID).
void Print(std::ostream &os) const
uint8_t m_amsduSupport
Flag if A-MSDU is supported.
Definition: mgt-headers.h:1724
static TypeId GetTypeId(void)
Register this type.
TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
void Serialize(Buffer::Iterator start) const
bool IsImmediateBlockAck(void) const
Return whether the Block Ack policy is immediate Block Ack.
bool IsAmsduSupported(void) const
Return whether A-MSDU capability is supported.
uint8_t m_dialogToken
Not used for now.
Definition: mgt-headers.h:1722
uint16_t GetBufferSize(void) const
Return the buffer size.
void SetParameterSet(uint16_t params)
Set the parameter set from the given raw value.
uint16_t GetParameterSet(void) const
Return the raw parameter set.
uint16_t GetTimeout(void) const
Return the timeout.
void SetTimeout(uint16_t timeout)
Set timeout.
uint8_t m_policy
Block ACK policy.
Definition: mgt-headers.h:1725
void SetBufferSize(uint16_t size)
Set buffer size.
uint16_t m_timeoutValue
Timeout.
Definition: mgt-headers.h:1728
void SetStatusCode(StatusCode code)
Set the status code.
uint8_t m_tid
Traffic ID.
Definition: mgt-headers.h:1726
void SetAmsduSupport(bool supported)
Enable or disable A-MSDU support.
uint8_t GetTid(void) const
Return the Traffic ID (TID).
uint32_t Deserialize(Buffer::Iterator start)
void SetDelayedBlockAck()
Enable delayed BlockAck.
StatusCode GetStatusCode(void) const
Return the status code.
void SetImmediateBlockAck()
Enable immediate BlockAck.
uint32_t GetSerializedSize(void) const
StatusCode m_code
Status code.
Definition: mgt-headers.h:1723
Implement the header for management frames of type association request.
Definition: mgt-headers.h:53
SupportedRates m_rates
List of supported rates.
Definition: mgt-headers.h:231
std::optional< VhtCapabilities > m_vhtCapability
VHT capabilities.
Definition: mgt-headers.h:235
void SetMultiLinkElement(const MultiLinkElement &multiLinkElement)
Set the Multi-Link Element information element.
Definition: mgt-headers.cc:866
void SetHeCapabilities(const HeCapabilities &heCapabilities)
Set the HE capabilities.
Definition: mgt-headers.cc:830
static TypeId GetTypeId(void)
Register this type.
Definition: mgt-headers.cc:902
const std::optional< EhtCapabilities > & GetEhtCapabilities(void) const
Return the EHT capabilities, if present.
Definition: mgt-headers.cc:860
TypeId GetInstanceTypeId(void) const override
Get the most derived TypeId for this Object.
Definition: mgt-headers.cc:913
const Ssid & GetSsid(void) const
Return the Service Set Identifier (SSID).
Definition: mgt-headers.cc:884
uint32_t Deserialize(Buffer::Iterator start) override
Definition: mgt-headers.cc:966
const std::optional< HtCapabilities > & GetHtCapabilities(void) const
Return the HT capabilities, if present.
Definition: mgt-headers.cc:806
CapabilityInformation m_capability
Capability information.
Definition: mgt-headers.h:232
const CapabilityInformation & GetCapabilities(void) const
Return the Capability information.
Definition: mgt-headers.cc:770
void SetExtendedCapabilities(const ExtendedCapabilities &extendedCapabilities)
Set the Extended Capabilities.
Definition: mgt-headers.cc:776
void SetSupportedRates(const SupportedRates &rates)
Set the supported rates.
Definition: mgt-headers.cc:740
void SetEhtCapabilities(const EhtCapabilities &ehtCapabilities)
Set the EHT capabilities.
Definition: mgt-headers.cc:848
std::optional< ExtendedCapabilities > m_extendedCapability
Extended capabilities.
Definition: mgt-headers.h:233
const std::optional< HeCapabilities > & GetHeCapabilities(void) const
Return the HE capabilities, if present.
Definition: mgt-headers.cc:842
void SetHtCapabilities(const HtCapabilities &htCapabilities)
Set the HT capabilities.
Definition: mgt-headers.cc:794
void SetListenInterval(uint16_t interval)
Set the listen interval.
Definition: mgt-headers.cc:752
void Print(std::ostream &os) const override
Definition: mgt-headers.cc:937
const std::optional< ExtendedCapabilities > & GetExtendedCapabilities(void) const
Return the extended capabilities, if present.
Definition: mgt-headers.cc:788
std::optional< HeCapabilities > m_heCapability
HE capabilities.
Definition: mgt-headers.h:236
void SetVhtCapabilities(const VhtCapabilities &vhtCapabilities)
Set the VHT capabilities.
Definition: mgt-headers.cc:812
uint16_t m_listenInterval
listen interval
Definition: mgt-headers.h:237
Ssid m_ssid
Service Set ID (SSID)
Definition: mgt-headers.h:230
const SupportedRates & GetSupportedRates(void) const
Return the supported rates.
Definition: mgt-headers.cc:890
std::optional< HtCapabilities > m_htCapability
HT capabilities.
Definition: mgt-headers.h:234
std::optional< MultiLinkElement > m_multiLinkElement
Multi-Link Element.
Definition: mgt-headers.h:239
const std::optional< MultiLinkElement > & GetMultiLinkElement(void) const
Return the Multi-Link Element information element, if present.
Definition: mgt-headers.cc:878
void SetCapabilities(const CapabilityInformation &capabilities)
Set the Capability information.
Definition: mgt-headers.cc:758
uint32_t GetSerializedSize(void) const override
Definition: mgt-headers.cc:919
const std::optional< VhtCapabilities > & GetVhtCapabilities(void) const
Return the VHT capabilities, if present.
Definition: mgt-headers.cc:824
void Serialize(Buffer::Iterator start) const override
Definition: mgt-headers.cc:949
uint16_t GetListenInterval(void) const
Return the listen interval.
Definition: mgt-headers.cc:896
std::optional< EhtCapabilities > m_ehtCapability
EHT capabilities.
Definition: mgt-headers.h:238
void SetSsid(const Ssid &ssid)
Set the Service Set Identifier (SSID).
Definition: mgt-headers.cc:728
Implement the header for management frames of type association and reassociation response.
Definition: mgt-headers.h:449
uint32_t Deserialize(Buffer::Iterator start)
void SetHeCapabilities(const HeCapabilities &heCapabilities)
Set the HE capabilities.
const std::optional< ErpInformation > & GetErpInformation(void) const
Return the ERP information, if present.
std::optional< VhtCapabilities > m_vhtCapability
VHT capabilities.
Definition: mgt-headers.h:724
void SetHtOperation(const HtOperation &htOperation)
Set the HT operation.
void SetMuEdcaParameterSet(const MuEdcaParameterSet &muEdcaParameterSet)
Set the MU EDCA Parameter Set.
void SetEdcaParameterSet(const EdcaParameterSet &edcaParameterSet)
Set the EDCA Parameter Set.
const std::optional< ExtendedCapabilities > & GetExtendedCapabilities(void) const
Return the extended capabilities, if present.
std::optional< HeOperation > m_heOperation
HE operation.
Definition: mgt-headers.h:729
void SetEhtCapabilities(const EhtCapabilities &ehtCapabilities)
Set the EHT capabilities.
void SetStatusCode(StatusCode code)
Set the status code.
const std::optional< HeOperation > & GetHeOperation(void) const
Return the HE operation, if present.
SupportedRates m_rates
List of supported rates.
Definition: mgt-headers.h:717
void SetVhtOperation(const VhtOperation &vhtOperation)
Set the VHT operation.
const std::optional< VhtCapabilities > & GetVhtCapabilities(void) const
Return the VHT capabilities, if present.
TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
void SetHeOperation(const HeOperation &heOperation)
Set the HE operation.
const std::optional< EdcaParameterSet > & GetEdcaParameterSet(void) const
Return the EDCA Parameter Set, if present.
const std::optional< HeCapabilities > & GetHeCapabilities(void) const
Return the HE capabilities, if present.
void SetAssociationId(uint16_t aid)
Set the association ID.
void SetCapabilities(const CapabilityInformation &capabilities)
Set the Capability information.
uint32_t GetSerializedSize(void) const
void Print(std::ostream &os) const
void SetVhtCapabilities(const VhtCapabilities &vhtCapabilities)
Set the VHT capabilities.
CapabilityInformation m_capability
Capability information.
Definition: mgt-headers.h:718
std::optional< MuEdcaParameterSet > m_muEdcaParameterSet
MU EDCA Parameter Set.
Definition: mgt-headers.h:730
std::optional< HtCapabilities > m_htCapability
HT capabilities.
Definition: mgt-headers.h:722
const std::optional< MultiLinkElement > & GetMultiLinkElement(void) const
Return the Multi-Link Element information element, if present.
const std::optional< VhtOperation > & GetVhtOperation(void) const
Return the VHT operation, if present.
std::optional< ExtendedCapabilities > m_extendedCapability
extended capabilities
Definition: mgt-headers.h:721
std::optional< EhtCapabilities > m_ehtCapability
EHT capabilities.
Definition: mgt-headers.h:731
std::optional< VhtOperation > m_vhtOperation
VHT operation.
Definition: mgt-headers.h:725
std::optional< MultiLinkElement > m_multiLinkElement
Multi-Link Element.
Definition: mgt-headers.h:732
void SetSupportedRates(const SupportedRates &rates)
Set the supported rates.
const std::optional< HtCapabilities > & GetHtCapabilities(void) const
Return the HT capabilities, if present.
const SupportedRates & GetSupportedRates(void) const
Return the supported rates.
StatusCode GetStatusCode(void)
Return the status code.
const CapabilityInformation & GetCapabilities(void) const
Return the Capability information.
void SetExtendedCapabilities(const ExtendedCapabilities &extendedCapabilities)
Set the extended capabilities.
static TypeId GetTypeId(void)
Register this type.
void Serialize(Buffer::Iterator start) const
std::optional< EdcaParameterSet > m_edcaParameterSet
EDCA Parameter Set.
Definition: mgt-headers.h:727
void SetHtCapabilities(const HtCapabilities &htCapabilities)
Set the HT capabilities.
const std::optional< MuEdcaParameterSet > & GetMuEdcaParameterSet(void) const
Return the MU EDCA Parameter Set, if present.
uint16_t GetAssociationId(void) const
Return the association ID.
void SetMultiLinkElement(const MultiLinkElement &multiLinkElement)
Set the Multi-Link Element information element.
std::optional< ErpInformation > m_erpInformation
ERP information.
Definition: mgt-headers.h:726
const std::optional< HtOperation > & GetHtOperation(void) const
Return the HT operation, if present.
void SetErpInformation(const ErpInformation &erpInformation)
Set the ERP information.
const std::optional< EhtCapabilities > & GetEhtCapabilities(void) const
Return the EHT capabilities, if present.
std::optional< HeCapabilities > m_heCapability
HE capabilities.
Definition: mgt-headers.h:728
std::optional< HtOperation > m_htOperation
HT operation.
Definition: mgt-headers.h:723
StatusCode m_code
Status code.
Definition: mgt-headers.h:719
Implement the header for management frames of type beacon.
Definition: mgt-headers.h:1230
static TypeId GetTypeId(void)
Register this type.
Definition: mgt-headers.cc:701
Implement the header for management frames of type Delete Block Ack.
Definition: mgt-headers.h:1737
void SetTid(uint8_t tid)
Set Traffic ID (TID).
uint8_t GetTid(void) const
Return the Traffic ID (TID).
void Serialize(Buffer::Iterator start) const
uint16_t GetParameterSet(void) const
Return the raw parameter set.
uint16_t m_initiator
initiator
Definition: mgt-headers.h:1796
void SetByOriginator(void)
Set the initiator bit in the DELBA.
bool IsByOriginator(void) const
Check if the initiator bit in the DELBA is set.
uint32_t Deserialize(Buffer::Iterator start)
void SetParameterSet(uint16_t params)
Set the parameter set from the given raw value.
void Print(std::ostream &os) const
static TypeId GetTypeId(void)
Register this type.
TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
uint16_t m_reasonCode
Not used for now.
Definition: mgt-headers.h:1798
void SetByRecipient(void)
Un-set the initiator bit in the DELBA.
uint16_t m_tid
Traffic ID.
Definition: mgt-headers.h:1797
uint32_t GetSerializedSize(void) const
Implement the header for management frames of type probe request.
Definition: mgt-headers.h:741
void SetSsid(const Ssid &ssid)
Set the Service Set Identifier (SSID).
Definition: mgt-headers.cc:40
std::optional< VhtCapabilities > m_vhtCapability
VHT capabilities.
Definition: mgt-headers.h:881
std::optional< HeCapabilities > m_heCapability
HE capabilities.
Definition: mgt-headers.h:882
void Print(std::ostream &os) const
Definition: mgt-headers.cc:198
const Ssid & GetSsid(void) const
Return the Service Set Identifier (SSID).
Definition: mgt-headers.cc:52
void Serialize(Buffer::Iterator start) const
Definition: mgt-headers.cc:210
Ssid m_ssid
Service Set ID (SSID)
Definition: mgt-headers.h:877
const std::optional< EhtCapabilities > & GetEhtCapabilities(void) const
Return the EHT capabilities, if present.
Definition: mgt-headers.cc:154
TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Definition: mgt-headers.cc:192
uint32_t Deserialize(Buffer::Iterator start)
Definition: mgt-headers.cc:224
void SetSupportedRates(const SupportedRates &rates)
Set the supported rates.
Definition: mgt-headers.cc:58
void SetEhtCapabilities(const EhtCapabilities &ehtCapabilities)
Set the EHT capabilities.
Definition: mgt-headers.cc:142
uint32_t GetSerializedSize(void) const
Definition: mgt-headers.cc:166
SupportedRates m_rates
List of supported rates.
Definition: mgt-headers.h:878
static TypeId GetTypeId(void)
Register this type.
Definition: mgt-headers.cc:181
const SupportedRates & GetSupportedRates(void) const
Return the supported rates.
Definition: mgt-headers.cc:160
void SetVhtCapabilities(const VhtCapabilities &vhtCapabilities)
Set the VHT capabilities.
Definition: mgt-headers.cc:106
std::optional< ExtendedCapabilities > m_extendedCapability
extended capabilities
Definition: mgt-headers.h:879
const std::optional< ExtendedCapabilities > & GetExtendedCapabilities(void) const
Return the extended capabilities, if present.
Definition: mgt-headers.cc:82
const std::optional< HtCapabilities > & GetHtCapabilities(void) const
Return the HT capabilities, if present.
Definition: mgt-headers.cc:100
std::optional< EhtCapabilities > m_ehtCapability
EHT capabilities.
Definition: mgt-headers.h:883
const std::optional< HeCapabilities > & GetHeCapabilities(void) const
Return the HE capabilities, if present.
Definition: mgt-headers.cc:136
const std::optional< VhtCapabilities > & GetVhtCapabilities(void) const
Return the VHT capabilities, if present.
Definition: mgt-headers.cc:118
void SetHeCapabilities(const HeCapabilities &heCapabilities)
Set the HE capabilities.
Definition: mgt-headers.cc:124
std::optional< HtCapabilities > m_htCapability
HT capabilities.
Definition: mgt-headers.h:880
void SetHtCapabilities(const HtCapabilities &htCapabilities)
Set the HT capabilities.
Definition: mgt-headers.cc:88
void SetExtendedCapabilities(const ExtendedCapabilities &extendedCapabilities)
Set the extended capabilities.
Definition: mgt-headers.cc:70
Implement the header for management frames of type probe response.
Definition: mgt-headers.h:892
const std::optional< ExtendedCapabilities > & GetExtendedCapabilities(void) const
Return the extended capabilities, if present.
Definition: mgt-headers.cc:308
uint64_t m_beaconInterval
Beacon interval.
Definition: mgt-headers.h:1205
uint64_t GetTimestamp()
Return the time stamp.
Definition: mgt-headers.cc:254
std::optional< HeCapabilities > m_heCapability
HE capabilities.
Definition: mgt-headers.h:1214
void SetVhtOperation(const VhtOperation &vhtOperation)
Set the VHT operation.
Definition: mgt-headers.cc:368
std::optional< HeOperation > m_heOperation
HE operation.
Definition: mgt-headers.h:1215
std::optional< EdcaParameterSet > m_edcaParameterSet
EDCA Parameter Set.
Definition: mgt-headers.h:1217
void Serialize(Buffer::Iterator start) const
Definition: mgt-headers.cc:638
std::optional< EhtCapabilities > m_ehtCapability
EHT capabilities.
Definition: mgt-headers.h:1219
const std::optional< DsssParameterSet > & GetDsssParameterSet(void) const
Return the DSSS Parameter Set, if present.
Definition: mgt-headers.cc:482
const std::optional< EdcaParameterSet > & GetEdcaParameterSet(void) const
Return the EDCA Parameter Set, if present.
Definition: mgt-headers.cc:554
void SetHtOperation(const HtOperation &htOperation)
Set the HT operation.
Definition: mgt-headers.cc:332
std::optional< ReducedNeighborReport > m_reducedNeighborReport
Reduced Neighbor Report information.
Definition: mgt-headers.h:1220
std::optional< HtOperation > m_htOperation
HT operation.
Definition: mgt-headers.h:1211
void SetDsssParameterSet(const DsssParameterSet &dsssParameterSet)
Set the DSSS Parameter Set.
Definition: mgt-headers.cc:470
static TypeId GetTypeId(void)
Register this type.
Definition: mgt-headers.cc:578
Ssid m_ssid
Service set ID (SSID)
Definition: mgt-headers.h:1204
const std::optional< ReducedNeighborReport > & GetReducedNeighborReport(void) const
Return the Reduced Neighbor Report information element, if present.
Definition: mgt-headers.cc:566
void SetCapabilities(const CapabilityInformation &capabilities)
Set the Capability information.
Definition: mgt-headers.cc:278
std::optional< VhtOperation > m_vhtOperation
VHT operation.
Definition: mgt-headers.h:1213
std::optional< MultiLinkElement > m_multiLinkElement
Multi-Link Element.
Definition: mgt-headers.h:1221
void SetReducedNeighborReport(const ReducedNeighborReport &reducedNeighborReport)
Set the Reduced Neighbor Report information element.
Definition: mgt-headers.cc:530
const CapabilityInformation & GetCapabilities(void) const
Return the Capability information.
Definition: mgt-headers.cc:290
const Ssid & GetSsid(void) const
Return the Service Set Identifier (SSID).
Definition: mgt-headers.cc:260
SupportedRates m_rates
List of supported rates.
Definition: mgt-headers.h:1206
void SetEhtCapabilities(const EhtCapabilities &ehtCapabilities)
Set the EHT capabilities.
Definition: mgt-headers.cc:422
const std::optional< HeCapabilities > & GetHeCapabilities(void) const
Return the HE capabilities, if present.
Definition: mgt-headers.cc:398
void Print(std::ostream &os) const
Definition: mgt-headers.cc:622
const std::optional< HtCapabilities > & GetHtCapabilities(void) const
Return the HT capabilities, if present.
Definition: mgt-headers.cc:326
void SetVhtCapabilities(const VhtCapabilities &vhtCapabilities)
Set the VHT capabilities.
Definition: mgt-headers.cc:350
TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Definition: mgt-headers.cc:589
void SetHtCapabilities(const HtCapabilities &htCapabilities)
Set the HT capabilities.
Definition: mgt-headers.cc:314
void SetSsid(const Ssid &ssid)
Set the Service Set Identifier (SSID).
Definition: mgt-headers.cc:440
std::optional< ErpInformation > m_erpInformation
ERP information.
Definition: mgt-headers.h:1216
std::optional< DsssParameterSet > m_dsssParameterSet
DSSS Parameter Set.
Definition: mgt-headers.h:1208
const std::optional< HeOperation > & GetHeOperation(void) const
Return the HE operation, if present.
Definition: mgt-headers.cc:416
void SetSupportedRates(const SupportedRates &rates)
Set the supported rates.
Definition: mgt-headers.cc:458
const SupportedRates & GetSupportedRates(void) const
Return the supported rates.
Definition: mgt-headers.cc:272
void SetHeOperation(const HeOperation &heOperation)
Set the HE operation.
Definition: mgt-headers.cc:404
const std::optional< MuEdcaParameterSet > & GetMuEdcaParameterSet(void) const
Return the MU EDCA Parameter Set, if present.
Definition: mgt-headers.cc:560
void SetErpInformation(const ErpInformation &erpInformation)
Set the ERP information.
Definition: mgt-headers.cc:488
void SetExtendedCapabilities(const ExtendedCapabilities &extendedCapabilities)
Set the extended capabilities.
Definition: mgt-headers.cc:296
std::optional< MuEdcaParameterSet > m_muEdcaParameterSet
MU EDCA Parameter Set.
Definition: mgt-headers.h:1218
void SetBeaconIntervalUs(uint64_t us)
Set the beacon interval in microseconds unit.
Definition: mgt-headers.cc:452
uint32_t GetSerializedSize(void) const
Definition: mgt-headers.cc:595
const std::optional< MultiLinkElement > & GetMultiLinkElement(void) const
Return the Multi-Link Element information element, if present.
Definition: mgt-headers.cc:572
void SetEdcaParameterSet(const EdcaParameterSet &edcaParameterSet)
Set the EDCA Parameter Set.
Definition: mgt-headers.cc:506
const std::optional< HtOperation > & GetHtOperation(void) const
Return the HT operation, if present.
Definition: mgt-headers.cc:344
const std::optional< ErpInformation > & GetErpInformation(void) const
Return the ERP information, if present.
Definition: mgt-headers.cc:500
uint32_t Deserialize(Buffer::Iterator start)
Definition: mgt-headers.cc:664
void SetHeCapabilities(const HeCapabilities &heCapabilities)
Set the HE capabilities.
Definition: mgt-headers.cc:386
std::optional< ExtendedCapabilities > m_extendedCapability
extended capabilities
Definition: mgt-headers.h:1209
uint64_t GetBeaconIntervalUs(void) const
Return the beacon interval in microseconds unit.
Definition: mgt-headers.cc:266
void SetMuEdcaParameterSet(const MuEdcaParameterSet &muEdcaParameterSet)
Set the MU EDCA Parameter Set.
Definition: mgt-headers.cc:518
CapabilityInformation m_capability
Capability information.
Definition: mgt-headers.h:1207
std::optional< VhtCapabilities > m_vhtCapability
VHT capabilities.
Definition: mgt-headers.h:1212
const std::optional< VhtOperation > & GetVhtOperation(void) const
Return the VHT operation, if present.
Definition: mgt-headers.cc:380
uint64_t m_timestamp
Timestamp.
Definition: mgt-headers.h:1203
const std::optional< VhtCapabilities > & GetVhtCapabilities(void) const
Return the VHT capabilities, if present.
Definition: mgt-headers.cc:362
const std::optional< EhtCapabilities > & GetEhtCapabilities(void) const
Return the EHT capabilities, if present.
Definition: mgt-headers.cc:434
std::optional< HtCapabilities > m_htCapability
HT capabilities.
Definition: mgt-headers.h:1210
void SetMultiLinkElement(const MultiLinkElement &multiLinkElement)
Set the Multi-Link Element information element.
Definition: mgt-headers.cc:542
Implement the header for management frames of type reassociation request.
Definition: mgt-headers.h:248
Mac48Address m_currentApAddr
Address of the current access point.
Definition: mgt-headers.h:430
uint16_t m_listenInterval
listen interval
Definition: mgt-headers.h:438
uint32_t Deserialize(Buffer::Iterator start)
std::optional< MultiLinkElement > m_multiLinkElement
Multi-Link Element.
Definition: mgt-headers.h:440
std::optional< ExtendedCapabilities > m_extendedCapability
Extended capabilities.
Definition: mgt-headers.h:434
uint16_t GetListenInterval(void) const
Return the listen interval.
const std::optional< EhtCapabilities > & GetEhtCapabilities(void) const
Return the EHT capabilities, if present.
void SetEhtCapabilities(const EhtCapabilities &ehtCapabilities)
Set the EHT capabilities.
std::optional< EhtCapabilities > m_ehtCapability
EHT capabilities.
Definition: mgt-headers.h:439
std::optional< VhtCapabilities > m_vhtCapability
VHT capabilities.
Definition: mgt-headers.h:436
void SetExtendedCapabilities(const ExtendedCapabilities &extendedCapabilities)
Set the Extended Capabilities.
static TypeId GetTypeId(void)
Register this type.
std::optional< HeCapabilities > m_heCapability
HE capabilities.
Definition: mgt-headers.h:437
SupportedRates m_rates
List of supported rates.
Definition: mgt-headers.h:432
void SetMultiLinkElement(const MultiLinkElement &multiLinkElement)
Set the Multi-Link Element information element.
Ssid m_ssid
Service Set ID (SSID)
Definition: mgt-headers.h:431
void Serialize(Buffer::Iterator start) const
void SetCapabilities(const CapabilityInformation &capabilities)
Set the Capability information.
const std::optional< HtCapabilities > & GetHtCapabilities(void) const
Return the HT capabilities, if present.
void SetListenInterval(uint16_t interval)
Set the listen interval.
const SupportedRates & GetSupportedRates(void) const
Return the supported rates.
void Print(std::ostream &os) const
CapabilityInformation m_capability
Capability information.
Definition: mgt-headers.h:433
const CapabilityInformation & GetCapabilities(void) const
Return the Capability information.
void SetSupportedRates(const SupportedRates &rates)
Set the supported rates.
const std::optional< MultiLinkElement > & GetMultiLinkElement(void) const
Return the Multi-Link Element information element, if present.
const std::optional< HeCapabilities > & GetHeCapabilities(void) const
Return the HE capabilities, if present.
void SetVhtCapabilities(const VhtCapabilities &vhtCapabilities)
Set the VHT capabilities.
const std::optional< ExtendedCapabilities > & GetExtendedCapabilities(void) const
Return the extended capabilities, if present.
void SetHtCapabilities(const HtCapabilities &htCapabilities)
Set the HT capabilities.
const std::optional< VhtCapabilities > & GetVhtCapabilities(void) const
Return the VHT capabilities, if present.
TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
const Ssid & GetSsid(void) const
Return the Service Set Identifier (SSID).
std::optional< HtCapabilities > m_htCapability
HT capabilities.
Definition: mgt-headers.h:435
void SetSsid(const Ssid &ssid)
Set the Service Set Identifier (SSID).
void SetCurrentApAddress(Mac48Address currentApAddr)
Set the address of the current access point.
uint32_t GetSerializedSize(void) const
void SetHeCapabilities(const HeCapabilities &heCapabilities)
Set the HE capabilities.
The MU EDCA Parameter Set.
The Reduced Neighbor Report element.
The IEEE 802.11 SSID Information Element.
Definition: ssid.h:36
Status code for association response.
Definition: status-code.h:32
The Supported Rates Information Element.
a unique identifier for an interface.
Definition: type-id.h:59
The IEEE 802.11ac VHT Capabilities.
The VHT Operation Information Element.
Definition: vht-operation.h:36
See IEEE 802.11 chapter 7.3.1.11 Header format: | category: 1 | action value: 1 |.
Definition: mgt-headers.h:1253
MultihopActionValue
MultihopActionValue enumeration.
Definition: mgt-headers.h:1338
SelfProtectedActionValue
SelfProtectedActionValue enumeration.
Definition: mgt-headers.h:1345
uint8_t m_category
Category of the action.
Definition: mgt-headers.h:1474
uint32_t Deserialize(Buffer::Iterator start)
void Print(std::ostream &os) const
RadioMeasurementActionValue
RadioMeasurementActionValue enumeration.
Definition: mgt-headers.h:1311
void Serialize(Buffer::Iterator start) const
std::string CategoryValueToString(CategoryValue value) const
Category value to string function.
PublicActionValue
PublicActionValue enumeration.
Definition: mgt-headers.h:1304
CategoryValue
CategoryValue enumeration.
Definition: mgt-headers.h:1265
std::string SelfProtectedActionValueToString(SelfProtectedActionValue value) const
Self protected action value to string function.
uint32_t GetSerializedSize() const
BlockAckActionValue
Block Ack Action field values See 802.11 Table 8-202.
Definition: mgt-headers.h:1296
UnprotectedDmgActionValue
Unprotected DMG action field values See 802.11ad Table 8-281ae.
Definition: mgt-headers.h:1403
uint8_t m_actionValue
Action value.
Definition: mgt-headers.h:1475
CategoryValue GetCategory()
Return the category value.
MeshActionValue
MeshActionValue enumeration.
Definition: mgt-headers.h:1322
ActionValue GetAction()
Return the action value.
void SetAction(CategoryValue type, ActionValue action)
Set action for this Action header.
FstActionValue
FST Action field values See 802.11ad Table 8-281x.
Definition: mgt-headers.h:1389
TypeId GetInstanceTypeId() const
Get the most derived TypeId for this Object.
DmgActionValue
DMG Action field values See 802.11ad Table 8-281b.
Definition: mgt-headers.h:1358
@ DMG_MULTI_RELAY_CHANNEL_MEASUREMENT_REQUEST
Definition: mgt-headers.h:1369
@ DMG_MULTI_RELAY_CHANNEL_MEASUREMENT_REPORT
Definition: mgt-headers.h:1370
static TypeId GetTypeId(void)
Register this type.
QosActionValue
QosActionValue enumeration.
Definition: mgt-headers.h:1283
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ssid
Definition: third.py:88
def start()
Definition: core.py:1852
ns3::Time timeout
typedef for union of different ActionValues
Definition: mgt-headers.h:1416
UnprotectedDmgActionValue unprotectedDmgAction
unprotected dmg
Definition: mgt-headers.h:1426
SelfProtectedActionValue selfProtectedAction
self protected
Definition: mgt-headers.h:1421
MultihopActionValue multihopAction
multi hop
Definition: mgt-headers.h:1422
RadioMeasurementActionValue radioMeasurementAction
radio measurement
Definition: mgt-headers.h:1419
PublicActionValue publicAction
public
Definition: mgt-headers.h:1420
BlockAckActionValue blockAck
block ack
Definition: mgt-headers.h:1418