A Discrete-Event Network Simulator
API
mgt-headers.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2006 INRIA
3 * Copyright (c) 2009 MIRKO BANCHI
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation;
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 *
18 * Authors: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
19 * Mirko Banchi <mk.banchi@gmail.com>
20 */
21
22#ifndef MGT_HEADERS_H
23#define MGT_HEADERS_H
24
26#include "edca-parameter-set.h"
29#include "ssid.h"
30#include "status-code.h"
31#include "supported-rates.h"
32
33#include "ns3/dsss-parameter-set.h"
34#include "ns3/eht-capabilities.h"
35#include "ns3/eht-operation.h"
36#include "ns3/erp-information.h"
37#include "ns3/he-capabilities.h"
38#include "ns3/he-operation.h"
39#include "ns3/ht-capabilities.h"
40#include "ns3/ht-operation.h"
41#include "ns3/mac48-address.h"
42#include "ns3/mu-edca-parameter-set.h"
43#include "ns3/multi-link-element.h"
44#include "ns3/vht-capabilities.h"
45#include "ns3/vht-operation.h"
46
47namespace ns3
48{
49
55{
56 public:
58 ~MgtAssocRequestHeader() override;
59
65 void SetSsid(const Ssid& ssid);
66
68 void SetSsid(Ssid&& ssid);
69
75 void SetSupportedRates(const SupportedRates& rates);
76
79
85 void SetListenInterval(uint16_t interval);
86
92 void SetCapabilities(const CapabilityInformation& capabilities);
93
95 void SetCapabilities(CapabilityInformation&& capabilities);
96
102 void SetExtendedCapabilities(const ExtendedCapabilities& extendedCapabilities);
103
105 void SetExtendedCapabilities(ExtendedCapabilities&& extendedCapabilities);
106
112 void SetHtCapabilities(const HtCapabilities& htCapabilities);
113
115 void SetHtCapabilities(HtCapabilities&& htCapabilities);
116
122 void SetVhtCapabilities(const VhtCapabilities& vhtCapabilities);
123
125 void SetVhtCapabilities(VhtCapabilities&& vhtCapabilities);
126
132 void SetHeCapabilities(const HeCapabilities& heCapabilities);
133
135 void SetHeCapabilities(HeCapabilities&& heCapabilities);
136
142 void SetEhtCapabilities(const EhtCapabilities& ehtCapabilities);
143
145 void SetEhtCapabilities(EhtCapabilities&& ehtCapabilities);
146
152 void SetMultiLinkElement(const MultiLinkElement& multiLinkElement);
153
155 void SetMultiLinkElement(MultiLinkElement&& multiLinkElement);
156
168 const std::optional<ExtendedCapabilities>& GetExtendedCapabilities() const;
174 const std::optional<HtCapabilities>& GetHtCapabilities() const;
180 const std::optional<VhtCapabilities>& GetVhtCapabilities() const;
186 const std::optional<HeCapabilities>& GetHeCapabilities() const;
192 const std::optional<EhtCapabilities>& GetEhtCapabilities() const;
198 const Ssid& GetSsid() const;
204 const SupportedRates& GetSupportedRates() const;
210 uint16_t GetListenInterval() const;
216 const std::optional<MultiLinkElement>& GetMultiLinkElement() const;
217
222 static TypeId GetTypeId();
223
224 TypeId GetInstanceTypeId() const override;
225 void Print(std::ostream& os) const override;
226 uint32_t GetSerializedSize() const override;
227 void Serialize(Buffer::Iterator start) const override;
229
230 private:
234 std::optional<ExtendedCapabilities> m_extendedCapability;
235 std::optional<HtCapabilities> m_htCapability;
236 std::optional<VhtCapabilities> m_vhtCapability;
237 std::optional<HeCapabilities> m_heCapability;
239 std::optional<EhtCapabilities> m_ehtCapability;
240 std::optional<MultiLinkElement> m_multiLinkElement;
241};
242
248{
249 public:
251 ~MgtReassocRequestHeader() override;
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
361 const std::optional<ExtendedCapabilities>& GetExtendedCapabilities() const;
367 const std::optional<HtCapabilities>& GetHtCapabilities() const;
373 const std::optional<VhtCapabilities>& GetVhtCapabilities() const;
379 const std::optional<HeCapabilities>& GetHeCapabilities() const;
385 const std::optional<EhtCapabilities>& GetEhtCapabilities() const;
391 const Ssid& GetSsid() const;
397 const SupportedRates& GetSupportedRates() const;
403 const std::optional<MultiLinkElement>& GetMultiLinkElement() const;
409 uint16_t GetListenInterval() const;
415 void SetCurrentApAddress(Mac48Address currentApAddr);
416
421 static TypeId GetTypeId();
422 TypeId GetInstanceTypeId() const override;
423 void Print(std::ostream& os) const override;
424 uint32_t GetSerializedSize() const override;
425 void Serialize(Buffer::Iterator start) const override;
427
428 private:
433 std::optional<ExtendedCapabilities> m_extendedCapability;
434 std::optional<HtCapabilities> m_htCapability;
435 std::optional<VhtCapabilities> m_vhtCapability;
436 std::optional<HeCapabilities> m_heCapability;
438 std::optional<EhtCapabilities> m_ehtCapability;
439 std::optional<MultiLinkElement> m_multiLinkElement;
440};
441
447{
448 public:
450 ~MgtAssocResponseHeader() override;
451
463 const SupportedRates& GetSupportedRates() const;
475 const std::optional<ExtendedCapabilities>& GetExtendedCapabilities() const;
481 const std::optional<HtCapabilities>& GetHtCapabilities() const;
487 const std::optional<HtOperation>& GetHtOperation() const;
493 const std::optional<VhtCapabilities>& GetVhtCapabilities() const;
499 const std::optional<VhtOperation>& GetVhtOperation() const;
505 const std::optional<HeCapabilities>& GetHeCapabilities() const;
511 const std::optional<HeOperation>& GetHeOperation() const;
517 const std::optional<EhtCapabilities>& GetEhtCapabilities() const;
523 const std::optional<EhtOperation>& GetEhtOperation() const;
529 const std::optional<MultiLinkElement>& GetMultiLinkElement() const;
535 uint16_t GetAssociationId() const;
541 const std::optional<ErpInformation>& GetErpInformation() const;
547 const std::optional<EdcaParameterSet>& GetEdcaParameterSet() const;
553 const std::optional<MuEdcaParameterSet>& GetMuEdcaParameterSet() const;
559 void SetCapabilities(const CapabilityInformation& capabilities);
560
562 void SetCapabilities(CapabilityInformation&& capabilities);
563
569 void SetExtendedCapabilities(const ExtendedCapabilities& extendedCapabilities);
570
572 void SetExtendedCapabilities(ExtendedCapabilities&& extendedCapabilities);
573
579 void SetVhtOperation(const VhtOperation& vhtOperation);
580
582 void SetVhtOperation(VhtOperation&& vhtOperation);
583
589 void SetVhtCapabilities(const VhtCapabilities& vhtCapabilities);
590
592 void SetVhtCapabilities(VhtCapabilities&& vhtCapabilities);
593
599 void SetHtCapabilities(const HtCapabilities& htCapabilities);
600
602 void SetHtCapabilities(HtCapabilities&& htCapabilities);
603
609 void SetHtOperation(const HtOperation& htOperation);
610
612 void SetHtOperation(HtOperation&& htOperation);
613
619 void SetSupportedRates(const SupportedRates& rates);
620
622 void SetSupportedRates(SupportedRates&& rates);
623
629 void SetStatusCode(StatusCode code);
630
636 void SetAssociationId(uint16_t aid);
637
643 void SetErpInformation(const ErpInformation& erpInformation);
644
646 void SetErpInformation(ErpInformation&& erpInformation);
647
653 void SetEdcaParameterSet(const EdcaParameterSet& edcaParameterSet);
654
656 void SetEdcaParameterSet(EdcaParameterSet&& edcaParameterSet);
657
663 void SetMuEdcaParameterSet(const MuEdcaParameterSet& muEdcaParameterSet);
664
666 void SetMuEdcaParameterSet(MuEdcaParameterSet&& muEdcaParameterSet);
667
673 void SetHeCapabilities(const HeCapabilities& heCapabilities);
674
676 void SetHeCapabilities(HeCapabilities&& heCapabilities);
677
683 void SetHeOperation(const HeOperation& heOperation);
684
686 void SetHeOperation(HeOperation&& heOperation);
687
693 void SetEhtCapabilities(const EhtCapabilities& ehtCapabilities);
694
696 void SetEhtCapabilities(EhtCapabilities&& ehtCapabilities);
697
703 void SetEhtOperation(const EhtOperation& ehtOperation);
704
706 void SetEhtOperation(EhtOperation&& ehtOperation);
707
713 void SetMultiLinkElement(const MultiLinkElement& multiLinkElement);
714
716 void SetMultiLinkElement(MultiLinkElement&& multiLinkElement);
717
722 static TypeId GetTypeId();
723 TypeId GetInstanceTypeId() const override;
724 void Print(std::ostream& os) const override;
725 uint32_t GetSerializedSize() const override;
726 void Serialize(Buffer::Iterator start) const override;
728
729 private:
733 uint16_t m_aid;
734 std::optional<ExtendedCapabilities> m_extendedCapability;
735 std::optional<HtCapabilities> m_htCapability;
736 std::optional<HtOperation> m_htOperation;
737 std::optional<VhtCapabilities> m_vhtCapability;
738 std::optional<VhtOperation> m_vhtOperation;
739 std::optional<ErpInformation> m_erpInformation;
740 std::optional<EdcaParameterSet> m_edcaParameterSet;
741 std::optional<HeCapabilities> m_heCapability;
742 std::optional<HeOperation> m_heOperation;
743 std::optional<MuEdcaParameterSet> m_muEdcaParameterSet;
744 std::optional<EhtCapabilities> m_ehtCapability;
745 std::optional<EhtOperation> m_ehtOperation;
746 std::optional<MultiLinkElement> m_multiLinkElement;
747};
748
754{
755 public:
756 ~MgtProbeRequestHeader() override;
757
763 void SetSsid(const Ssid& ssid);
764
766 void SetSsid(Ssid&& ssid);
767
773 void SetSupportedRates(const SupportedRates& rates);
774
776 void SetSupportedRates(SupportedRates&& rates);
777
783 void SetExtendedCapabilities(const ExtendedCapabilities& extendedCapabilities);
784
786 void SetExtendedCapabilities(ExtendedCapabilities&& extendedCapabilities);
787
793 void SetHtCapabilities(const HtCapabilities& htCapabilities);
794
796 void SetHtCapabilities(HtCapabilities&& htCapabilities);
797
803 void SetVhtCapabilities(const VhtCapabilities& vhtCapabilities);
804
806 void SetVhtCapabilities(VhtCapabilities&& vhtCapabilities);
807
813 void SetHeCapabilities(const HeCapabilities& heCapabilities);
814
816 void SetHeCapabilities(HeCapabilities&& heCapabilities);
817
823 void SetEhtCapabilities(const EhtCapabilities& ehtCapabilities);
824
826 void SetEhtCapabilities(EhtCapabilities&& ehtCapabilities);
827
833 const Ssid& GetSsid() const;
834
840 const SupportedRates& GetSupportedRates() const;
841
847 const std::optional<ExtendedCapabilities>& GetExtendedCapabilities() const;
848
854 const std::optional<HtCapabilities>& GetHtCapabilities() const;
855
861 const std::optional<VhtCapabilities>& GetVhtCapabilities() const;
862
868 const std::optional<HeCapabilities>& GetHeCapabilities() const;
869
875 const std::optional<EhtCapabilities>& GetEhtCapabilities() const;
876
881 static TypeId GetTypeId();
882 TypeId GetInstanceTypeId() const override;
883 void Print(std::ostream& os) const override;
884 uint32_t GetSerializedSize() const override;
885 void Serialize(Buffer::Iterator start) const override;
887
888 private:
891 std::optional<ExtendedCapabilities> m_extendedCapability;
892 std::optional<HtCapabilities> m_htCapability;
893 std::optional<VhtCapabilities> m_vhtCapability;
894 std::optional<HeCapabilities> m_heCapability;
895 std::optional<EhtCapabilities> m_ehtCapability;
896};
897
903{
904 public:
906 ~MgtProbeResponseHeader() override;
907
913 const Ssid& GetSsid() const;
919 uint64_t GetBeaconIntervalUs() const;
925 const SupportedRates& GetSupportedRates() const;
937 const std::optional<DsssParameterSet>& GetDsssParameterSet() const;
943 const std::optional<ExtendedCapabilities>& GetExtendedCapabilities() const;
949 const std::optional<HtCapabilities>& GetHtCapabilities() const;
955 const std::optional<HtOperation>& GetHtOperation() const;
961 const std::optional<VhtCapabilities>& GetVhtCapabilities() const;
967 const std::optional<VhtOperation>& GetVhtOperation() const;
973 const std::optional<HeCapabilities>& GetHeCapabilities() const;
979 const std::optional<HeOperation>& GetHeOperation() const;
985 const std::optional<EhtCapabilities>& GetEhtCapabilities() const;
991 const std::optional<EhtOperation>& GetEhtOperation() const;
997 const std::optional<ErpInformation>& GetErpInformation() const;
1003 const std::optional<EdcaParameterSet>& GetEdcaParameterSet() const;
1009 const std::optional<MuEdcaParameterSet>& GetMuEdcaParameterSet() const;
1010
1016 const std::optional<ReducedNeighborReport>& GetReducedNeighborReport() const;
1022 const std::optional<MultiLinkElement>& GetMultiLinkElement() const;
1028 void SetCapabilities(const CapabilityInformation& capabilities);
1029
1031 void SetCapabilities(CapabilityInformation&& capabilities);
1032
1038 void SetExtendedCapabilities(const ExtendedCapabilities& extendedCapabilities);
1039
1041 void SetExtendedCapabilities(ExtendedCapabilities&& extendedCapabilities);
1042
1048 void SetHtCapabilities(const HtCapabilities& htCapabilities);
1049
1051 void SetHtCapabilities(HtCapabilities&& htCapabilities);
1052
1058 void SetHtOperation(const HtOperation& htOperation);
1059
1061 void SetHtOperation(HtOperation&& htOperation);
1062
1068 void SetVhtCapabilities(const VhtCapabilities& vhtCapabilities);
1069
1071 void SetVhtCapabilities(VhtCapabilities&& vhtCapabilities);
1072
1078 void SetVhtOperation(const VhtOperation& vhtOperation);
1079
1081 void SetVhtOperation(VhtOperation&& vhtOperation);
1082
1088 void SetHeCapabilities(const HeCapabilities& heCapabilities);
1089
1091 void SetHeCapabilities(HeCapabilities&& heCapabilities);
1092
1098 void SetHeOperation(const HeOperation& heOperation);
1099
1101 void SetHeOperation(HeOperation&& heOperation);
1102
1108 void SetEhtCapabilities(const EhtCapabilities& ehtCapabilities);
1109
1111 void SetEhtCapabilities(EhtCapabilities&& ehtCapabilities);
1112
1118 void SetEhtOperation(const EhtOperation& ehtOperation);
1119
1121 void SetEhtOperation(EhtOperation&& ehtOperation);
1122
1128 void SetSsid(const Ssid& ssid);
1129
1131 void SetSsid(Ssid&& ssid);
1132
1138 void SetBeaconIntervalUs(uint64_t us);
1139
1145 void SetSupportedRates(const SupportedRates& rates);
1146
1148 void SetSupportedRates(SupportedRates&& rates);
1149
1155 void SetDsssParameterSet(const DsssParameterSet& dsssParameterSet);
1156
1158 void SetDsssParameterSet(DsssParameterSet&& dsssParameterSet);
1159
1165 void SetErpInformation(const ErpInformation& erpInformation);
1166
1168 void SetErpInformation(ErpInformation&& erpInformation);
1169
1175 void SetEdcaParameterSet(const EdcaParameterSet& edcaParameterSet);
1176
1178 void SetEdcaParameterSet(EdcaParameterSet&& edcaParameterSet);
1179
1185 void SetMuEdcaParameterSet(const MuEdcaParameterSet& muEdcaParameterSet);
1186
1188 void SetMuEdcaParameterSet(MuEdcaParameterSet&& muEdcaParameterSet);
1189
1195 void SetReducedNeighborReport(const ReducedNeighborReport& reducedNeighborReport);
1196
1198 void SetReducedNeighborReport(ReducedNeighborReport&& reducedNeighborReport);
1199
1205 void SetMultiLinkElement(const MultiLinkElement& multiLinkElement);
1206
1208 void SetMultiLinkElement(MultiLinkElement&& multiLinkElement);
1209
1215 uint64_t GetTimestamp() const;
1216
1221 static TypeId GetTypeId();
1222 TypeId GetInstanceTypeId() const override;
1223 void Print(std::ostream& os) const override;
1224 uint32_t GetSerializedSize() const override;
1225 void Serialize(Buffer::Iterator start) const override;
1227
1228 private:
1229 uint64_t m_timestamp;
1234 std::optional<DsssParameterSet> m_dsssParameterSet;
1235 std::optional<ExtendedCapabilities> m_extendedCapability;
1236 std::optional<HtCapabilities> m_htCapability;
1237 std::optional<HtOperation> m_htOperation;
1238 std::optional<VhtCapabilities> m_vhtCapability;
1239 std::optional<VhtOperation> m_vhtOperation;
1240 std::optional<HeCapabilities> m_heCapability;
1241 std::optional<HeOperation> m_heOperation;
1242 std::optional<ErpInformation> m_erpInformation;
1243 std::optional<EdcaParameterSet> m_edcaParameterSet;
1244 std::optional<MuEdcaParameterSet> m_muEdcaParameterSet;
1245 std::optional<EhtCapabilities> m_ehtCapability;
1246 std::optional<EhtOperation> m_ehtOperation;
1247 std::optional<ReducedNeighborReport>
1249 std::optional<MultiLinkElement> m_multiLinkElement;
1250};
1251
1257{
1258 public:
1264 static TypeId GetTypeId();
1265};
1266
1267/****************************
1268 * Action frames
1269 *****************************/
1270
1279{
1280 public:
1282 ~WifiActionHeader() override;
1283
1284 /*
1285 * Compatible with table 8-38 IEEE 802.11, Part11, (Year 2012)
1286 * Category values - see 802.11-2012 Table 8-38
1287 */
1288
1290 enum CategoryValue // table 8-38 staring from IEEE 802.11, Part11, (Year 2012)
1291 {
1292 QOS = 1,
1295 RADIO_MEASUREMENT = 5, // Category: Radio Measurement
1296 MESH = 13, // Category: Mesh
1297 MULTIHOP = 14, // not used so far
1298 SELF_PROTECTED = 15, // Category: Self Protected
1299 DMG = 16, // Category: DMG
1300 FST = 18, // Category: Fast Session Transfer
1301 UNPROTECTED_DMG = 20, // Category: Unprotected DMG
1302 // Since vendor specific action has no stationary Action value,the parse process is not
1303 // here. Refer to vendor-specific-action in wave module.
1305 };
1306
1309 {
1315 };
1316
1322 {
1325 BLOCK_ACK_DELBA = 2
1327
1330 {
1333 };
1334
1337 {
1345
1348 {
1349 LINK_METRIC_REPORT = 0, // Action Value:0 in Category 13: Mesh
1350 PATH_SELECTION = 1, // Action Value:1 in Category 13: Mesh
1351 PORTAL_ANNOUNCEMENT = 2, // Action Value:2 in Category 13: Mesh
1352 CONGESTION_CONTROL_NOTIFICATION = 3, // Action Value:3 in Category 13: Mesh
1354 4, // Action Value:4 in Category 13: Mesh MCCA-Setup-Request (not used so far)
1356 5, // Action Value:5 in Category 13: Mesh MCCA-Setup-Reply (not used so far)
1358 6, // Action Value:6 in Category 13: Mesh MCCA-Advertisement-Request (not used so far)
1359 MDAOP_ADVERTISMENTS = 7, // Action Value:7 in Category 13: Mesh (not used so far)
1360 MDAOP_SET_TEARDOWN = 8, // Action Value:8 in Category 13: Mesh (not used so far)
1361 TBTT_ADJUSTMENT_REQUEST = 9, // Action Value:9 in Category 13: Mesh (not used so far)
1362 TBTT_ADJUSTMENT_RESPONSE = 10, // Action Value:10 in Category 13: Mesh (not used so far)
1363 };
1364
1367 {
1368 PROXY_UPDATE = 0, // not used so far
1369 PROXY_UPDATE_CONFIRMATION = 1, // not used so far
1370 };
1371
1373 enum SelfProtectedActionValue // Category: 15 (Self Protected)
1374 {
1375 PEER_LINK_OPEN = 1, // Mesh Peering Open
1376 PEER_LINK_CONFIRM = 2, // Mesh Peering Confirm
1377 PEER_LINK_CLOSE = 3, // Mesh Peering Close
1378 GROUP_KEY_INFORM = 4, // Mesh Group Key Inform
1379 GROUP_KEY_ACK = 5, // Mesh Group Key Acknowledge
1380 };
1381
1387 {
1410 DMG_ROC_RESPONSE = 22
1412
1418 {
1426
1432 {
1439 };
1440
1444 typedef union {
1455 } ActionValue;
1456
1464
1470 CategoryValue GetCategory() const;
1476 ActionValue GetAction() const;
1477
1482 static TypeId GetTypeId();
1483 TypeId GetInstanceTypeId() const override;
1484 void Print(std::ostream& os) const override;
1485 uint32_t GetSerializedSize() const override;
1486 void Serialize(Buffer::Iterator start) const override;
1488
1489 private:
1495 std::string CategoryValueToString(CategoryValue value) const;
1502 uint8_t m_category;
1504};
1505
1511{
1512 public:
1514
1519 static TypeId GetTypeId();
1520 TypeId GetInstanceTypeId() const override;
1521 void Print(std::ostream& os) const override;
1522 uint32_t GetSerializedSize() const override;
1523 void Serialize(Buffer::Iterator start) const override;
1525
1529 void SetDelayedBlockAck();
1533 void SetImmediateBlockAck();
1539 void SetTid(uint8_t tid);
1545 void SetTimeout(uint16_t timeout);
1551 void SetBufferSize(uint16_t size);
1557 void SetStartingSequence(uint16_t seq);
1563 void SetAmsduSupport(bool supported);
1564
1570 uint16_t GetStartingSequence() const;
1576 uint8_t GetTid() const;
1582 bool IsImmediateBlockAck() const;
1588 uint16_t GetTimeout() const;
1594 uint16_t GetBufferSize() const;
1600 bool IsAmsduSupported() const;
1601
1602 private:
1608 uint16_t GetParameterSet() const;
1614 void SetParameterSet(uint16_t params);
1620 uint16_t GetStartingSequenceControl() const;
1626 void SetStartingSequenceControl(uint16_t seqControl);
1627
1630 uint8_t m_policy;
1631 uint8_t m_tid;
1632 uint16_t m_bufferSize;
1634 uint16_t m_startingSeq;
1635};
1636
1642{
1643 public:
1645
1650 static TypeId GetTypeId();
1651 TypeId GetInstanceTypeId() const override;
1652 void Print(std::ostream& os) const override;
1653 uint32_t GetSerializedSize() const override;
1654 void Serialize(Buffer::Iterator start) const override;
1656
1660 void SetDelayedBlockAck();
1664 void SetImmediateBlockAck();
1670 void SetTid(uint8_t tid);
1676 void SetTimeout(uint16_t timeout);
1682 void SetBufferSize(uint16_t size);
1688 void SetStatusCode(StatusCode code);
1694 void SetAmsduSupport(bool supported);
1695
1701 StatusCode GetStatusCode() const;
1707 uint8_t GetTid() const;
1713 bool IsImmediateBlockAck() const;
1719 uint16_t GetTimeout() const;
1725 uint16_t GetBufferSize() const;
1731 bool IsAmsduSupported() const;
1732
1733 private:
1739 uint16_t GetParameterSet() const;
1745 void SetParameterSet(uint16_t params);
1746
1750 uint8_t m_policy;
1751 uint8_t m_tid;
1752 uint16_t m_bufferSize;
1754};
1755
1761{
1762 public:
1764
1769 static TypeId GetTypeId();
1770
1771 TypeId GetInstanceTypeId() const override;
1772 void Print(std::ostream& os) const override;
1773 uint32_t GetSerializedSize() const override;
1774 void Serialize(Buffer::Iterator start) const override;
1776
1783 bool IsByOriginator() const;
1789 uint8_t GetTid() const;
1795 void SetTid(uint8_t tid);
1799 void SetByOriginator();
1803 void SetByRecipient();
1804
1805 private:
1811 uint16_t GetParameterSet() const;
1817 void SetParameterSet(uint16_t params);
1818
1819 uint16_t m_initiator;
1820 uint16_t m_tid;
1821 uint16_t m_reasonCode;
1822};
1823
1824} // namespace ns3
1825
1826#endif /* MGT_HEADERS_H */
iterator in a Buffer instance
Definition: buffer.h:100
The DSSS Parameter Set.
The EDCA Parameter Set.
The IEEE 802.11be EHT Capabilities.
EHT Operation Information Element.
Definition: eht-operation.h:67
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:44
The HT Capabilities Information Element.
The HT Operation Information Element.
Definition: ht-operation.h:51
an EUI-48 address
Definition: mac48-address.h:46
Implement the header for management frames of type Add Block Ack request.
Definition: mgt-headers.h:1511
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:1634
void Serialize(Buffer::Iterator start) const override
uint16_t GetStartingSequenceControl() const
Return the raw sequence control.
void SetStartingSequenceControl(uint16_t seqControl)
Set sequence control with the given raw value.
uint8_t m_tid
Traffic ID.
Definition: mgt-headers.h:1631
static TypeId GetTypeId()
Register this type.
uint8_t m_amsduSupport
Flag if A-MSDU is supported.
Definition: mgt-headers.h:1629
void SetBufferSize(uint16_t size)
Set buffer size.
void Print(std::ostream &os) const override
void SetDelayedBlockAck()
Enable delayed BlockAck.
uint8_t m_dialogToken
Not used for now.
Definition: mgt-headers.h:1628
uint16_t GetParameterSet() const
Return the raw parameter set.
uint32_t Deserialize(Buffer::Iterator start) override
void SetAmsduSupport(bool supported)
Enable or disable A-MSDU support.
void SetImmediateBlockAck()
Enable immediate BlockAck.
uint16_t GetBufferSize() const
Return the buffer size.
uint16_t m_bufferSize
Buffer size.
Definition: mgt-headers.h:1632
uint16_t GetTimeout() const
Return the timeout.
uint8_t GetTid() const
Return the Traffic ID (TID).
uint16_t GetStartingSequence() const
Return the starting sequence number.
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
uint32_t GetSerializedSize() const override
bool IsAmsduSupported() const
Return whether A-MSDU capability is supported.
bool IsImmediateBlockAck() const
Return whether the Block Ack policy is immediate Block Ack.
uint16_t m_timeoutValue
Timeout.
Definition: mgt-headers.h:1633
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:1630
void SetStartingSequence(uint16_t seq)
Set the starting sequence number.
Implement the header for management frames of type Add Block Ack response.
Definition: mgt-headers.h:1642
uint16_t m_bufferSize
Buffer size.
Definition: mgt-headers.h:1752
void SetTid(uint8_t tid)
Set Traffic ID (TID).
uint32_t GetSerializedSize() const override
uint8_t m_amsduSupport
Flag if A-MSDU is supported.
Definition: mgt-headers.h:1749
uint8_t m_dialogToken
Not used for now.
Definition: mgt-headers.h:1747
void Serialize(Buffer::Iterator start) const override
void SetParameterSet(uint16_t params)
Set the parameter set from the given raw value.
uint16_t GetBufferSize() const
Return the buffer size.
bool IsAmsduSupported() const
Return whether A-MSDU capability is supported.
StatusCode GetStatusCode() const
Return the status code.
void SetTimeout(uint16_t timeout)
Set timeout.
uint8_t m_policy
Block ACK policy.
Definition: mgt-headers.h:1750
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
void SetBufferSize(uint16_t size)
Set buffer size.
uint16_t m_timeoutValue
Timeout.
Definition: mgt-headers.h:1753
void Print(std::ostream &os) const override
void SetStatusCode(StatusCode code)
Set the status code.
uint8_t m_tid
Traffic ID.
Definition: mgt-headers.h:1751
uint8_t GetTid() const
Return the Traffic ID (TID).
bool IsImmediateBlockAck() const
Return whether the Block Ack policy is immediate Block Ack.
void SetAmsduSupport(bool supported)
Enable or disable A-MSDU support.
uint16_t GetParameterSet() const
Return the raw parameter set.
uint32_t Deserialize(Buffer::Iterator start) override
uint16_t GetTimeout() const
Return the timeout.
void SetDelayedBlockAck()
Enable delayed BlockAck.
void SetImmediateBlockAck()
Enable immediate BlockAck.
static TypeId GetTypeId()
Register this type.
StatusCode m_code
Status code.
Definition: mgt-headers.h:1748
Implement the header for management frames of type association request.
Definition: mgt-headers.h:55
SupportedRates m_rates
List of supported rates.
Definition: mgt-headers.h:232
const std::optional< ExtendedCapabilities > & GetExtendedCapabilities() const
Return the extended capabilities, if present.
Definition: mgt-headers.cc:989
std::optional< VhtCapabilities > m_vhtCapability
VHT capabilities.
Definition: mgt-headers.h:236
void SetMultiLinkElement(const MultiLinkElement &multiLinkElement)
Set the Multi-Link Element information element.
const SupportedRates & GetSupportedRates() const
Return the supported rates.
void SetHeCapabilities(const HeCapabilities &heCapabilities)
Set the HE capabilities.
uint32_t Deserialize(Buffer::Iterator start) override
const CapabilityInformation & GetCapabilities() const
Return the Capability information.
Definition: mgt-headers.cc:971
const std::optional< HeCapabilities > & GetHeCapabilities() const
Return the HE capabilities, if present.
CapabilityInformation m_capability
Capability information.
Definition: mgt-headers.h:233
void SetExtendedCapabilities(const ExtendedCapabilities &extendedCapabilities)
Set the Extended Capabilities.
Definition: mgt-headers.cc:977
void SetSupportedRates(const SupportedRates &rates)
Set the supported rates.
Definition: mgt-headers.cc:941
const std::optional< MultiLinkElement > & GetMultiLinkElement() const
Return the Multi-Link Element information element, if present.
void SetEhtCapabilities(const EhtCapabilities &ehtCapabilities)
Set the EHT capabilities.
std::optional< ExtendedCapabilities > m_extendedCapability
Extended capabilities.
Definition: mgt-headers.h:234
void SetHtCapabilities(const HtCapabilities &htCapabilities)
Set the HT capabilities.
Definition: mgt-headers.cc:995
void SetListenInterval(uint16_t interval)
Set the listen interval.
Definition: mgt-headers.cc:953
uint16_t GetListenInterval() const
Return the listen interval.
uint32_t GetSerializedSize() const override
void Print(std::ostream &os) const override
std::optional< HeCapabilities > m_heCapability
HE capabilities.
Definition: mgt-headers.h:237
void SetVhtCapabilities(const VhtCapabilities &vhtCapabilities)
Set the VHT capabilities.
const std::optional< EhtCapabilities > & GetEhtCapabilities() const
Return the EHT capabilities, if present.
const std::optional< HtCapabilities > & GetHtCapabilities() const
Return the HT capabilities, if present.
uint16_t m_listenInterval
listen interval
Definition: mgt-headers.h:238
Ssid m_ssid
Service Set ID (SSID)
Definition: mgt-headers.h:231
std::optional< HtCapabilities > m_htCapability
HT capabilities.
Definition: mgt-headers.h:235
std::optional< MultiLinkElement > m_multiLinkElement
Multi-Link Element.
Definition: mgt-headers.h:240
const std::optional< VhtCapabilities > & GetVhtCapabilities() const
Return the VHT capabilities, if present.
void SetCapabilities(const CapabilityInformation &capabilities)
Set the Capability information.
Definition: mgt-headers.cc:959
static TypeId GetTypeId()
Register this type.
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
void Serialize(Buffer::Iterator start) const override
const Ssid & GetSsid() const
Return the Service Set Identifier (SSID).
std::optional< EhtCapabilities > m_ehtCapability
EHT capabilities.
Definition: mgt-headers.h:239
void SetSsid(const Ssid &ssid)
Set the Service Set Identifier (SSID).
Definition: mgt-headers.cc:929
Implement the header for management frames of type association and reassociation response.
Definition: mgt-headers.h:447
void SetHeCapabilities(const HeCapabilities &heCapabilities)
Set the HE capabilities.
std::optional< VhtCapabilities > m_vhtCapability
VHT capabilities.
Definition: mgt-headers.h:737
static TypeId GetTypeId()
Register this type.
const std::optional< MultiLinkElement > & GetMultiLinkElement() const
Return the Multi-Link Element information element, if present.
StatusCode GetStatusCode()
Return the status code.
const std::optional< EhtOperation > & GetEhtOperation() const
Return the EHT operation, if present.
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.
std::optional< HeOperation > m_heOperation
HE operation.
Definition: mgt-headers.h:742
void Serialize(Buffer::Iterator start) const override
void SetEhtCapabilities(const EhtCapabilities &ehtCapabilities)
Set the EHT capabilities.
void SetStatusCode(StatusCode code)
Set the status code.
SupportedRates m_rates
List of supported rates.
Definition: mgt-headers.h:730
void SetVhtOperation(const VhtOperation &vhtOperation)
Set the VHT operation.
void SetHeOperation(const HeOperation &heOperation)
Set the HE operation.
void SetAssociationId(uint16_t aid)
Set the association ID.
void SetCapabilities(const CapabilityInformation &capabilities)
Set the Capability information.
const std::optional< MuEdcaParameterSet > & GetMuEdcaParameterSet() const
Return the MU EDCA Parameter Set, if present.
const std::optional< VhtOperation > & GetVhtOperation() const
Return the VHT operation, if present.
std::optional< EhtOperation > m_ehtOperation
EHT Operation.
Definition: mgt-headers.h:745
uint32_t Deserialize(Buffer::Iterator start) override
void SetEhtOperation(const EhtOperation &ehtOperation)
Set the EHT operation.
void SetVhtCapabilities(const VhtCapabilities &vhtCapabilities)
Set the VHT capabilities.
CapabilityInformation m_capability
Capability information.
Definition: mgt-headers.h:731
std::optional< MuEdcaParameterSet > m_muEdcaParameterSet
MU EDCA Parameter Set.
Definition: mgt-headers.h:743
std::optional< HtCapabilities > m_htCapability
HT capabilities.
Definition: mgt-headers.h:735
const std::optional< EdcaParameterSet > & GetEdcaParameterSet() const
Return the EDCA Parameter Set, if present.
std::optional< ExtendedCapabilities > m_extendedCapability
extended capabilities
Definition: mgt-headers.h:734
const std::optional< ErpInformation > & GetErpInformation() const
Return the ERP information, if present.
const std::optional< HeCapabilities > & GetHeCapabilities() const
Return the HE capabilities, if present.
std::optional< EhtCapabilities > m_ehtCapability
EHT capabilities.
Definition: mgt-headers.h:744
std::optional< VhtOperation > m_vhtOperation
VHT operation.
Definition: mgt-headers.h:738
const std::optional< ExtendedCapabilities > & GetExtendedCapabilities() const
Return the extended capabilities, if present.
const std::optional< VhtCapabilities > & GetVhtCapabilities() const
Return the VHT capabilities, if present.
const std::optional< HtCapabilities > & GetHtCapabilities() const
Return the HT capabilities, if present.
std::optional< MultiLinkElement > m_multiLinkElement
Multi-Link Element.
Definition: mgt-headers.h:746
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
void Print(std::ostream &os) const override
void SetSupportedRates(const SupportedRates &rates)
Set the supported rates.
const std::optional< HeOperation > & GetHeOperation() const
Return the HE operation, if present.
const std::optional< EhtCapabilities > & GetEhtCapabilities() const
Return the EHT capabilities, if present.
const std::optional< HtOperation > & GetHtOperation() const
Return the HT operation, if present.
void SetExtendedCapabilities(const ExtendedCapabilities &extendedCapabilities)
Set the extended capabilities.
uint32_t GetSerializedSize() const override
const SupportedRates & GetSupportedRates() const
Return the supported rates.
uint16_t GetAssociationId() const
Return the association ID.
std::optional< EdcaParameterSet > m_edcaParameterSet
EDCA Parameter Set.
Definition: mgt-headers.h:740
void SetHtCapabilities(const HtCapabilities &htCapabilities)
Set the HT capabilities.
void SetMultiLinkElement(const MultiLinkElement &multiLinkElement)
Set the Multi-Link Element information element.
std::optional< ErpInformation > m_erpInformation
ERP information.
Definition: mgt-headers.h:739
const CapabilityInformation & GetCapabilities() const
Return the Capability information.
void SetErpInformation(const ErpInformation &erpInformation)
Set the ERP information.
std::optional< HeCapabilities > m_heCapability
HE capabilities.
Definition: mgt-headers.h:741
std::optional< HtOperation > m_htOperation
HT operation.
Definition: mgt-headers.h:736
StatusCode m_code
Status code.
Definition: mgt-headers.h:732
Implement the header for management frames of type beacon.
Definition: mgt-headers.h:1257
static TypeId GetTypeId()
Register this type.
Definition: mgt-headers.cc:904
Implement the header for management frames of type Delete Block Ack.
Definition: mgt-headers.h:1761
static TypeId GetTypeId()
Register this type.
void SetTid(uint8_t tid)
Set Traffic ID (TID).
uint32_t Deserialize(Buffer::Iterator start) override
void SetByRecipient()
Un-set the initiator bit in the DELBA.
void Print(std::ostream &os) const override
uint16_t m_initiator
initiator
Definition: mgt-headers.h:1819
void SetParameterSet(uint16_t params)
Set the parameter set from the given raw value.
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
uint8_t GetTid() const
Return the Traffic ID (TID).
uint16_t m_reasonCode
Not used for now.
Definition: mgt-headers.h:1821
bool IsByOriginator() const
Check if the initiator bit in the DELBA is set.
uint16_t GetParameterSet() const
Return the raw parameter set.
void Serialize(Buffer::Iterator start) const override
uint16_t m_tid
Traffic ID.
Definition: mgt-headers.h:1820
uint32_t GetSerializedSize() const override
void SetByOriginator()
Set the initiator bit in the DELBA.
Implement the header for management frames of type probe request.
Definition: mgt-headers.h:754
const Ssid & GetSsid() const
Return the Service Set Identifier (SSID).
Definition: mgt-headers.cc:53
void SetSsid(const Ssid &ssid)
Set the Service Set Identifier (SSID).
Definition: mgt-headers.cc:41
std::optional< VhtCapabilities > m_vhtCapability
VHT capabilities.
Definition: mgt-headers.h:893
std::optional< HeCapabilities > m_heCapability
HE capabilities.
Definition: mgt-headers.h:894
Ssid m_ssid
Service Set ID (SSID)
Definition: mgt-headers.h:889
const std::optional< EhtCapabilities > & GetEhtCapabilities() const
Return the EHT capabilities, if present.
Definition: mgt-headers.cc:155
uint32_t GetSerializedSize() const override
Definition: mgt-headers.cc:167
const SupportedRates & GetSupportedRates() const
Return the supported rates.
Definition: mgt-headers.cc:161
~MgtProbeRequestHeader() override
Definition: mgt-headers.cc:36
const std::optional< VhtCapabilities > & GetVhtCapabilities() const
Return the VHT capabilities, if present.
Definition: mgt-headers.cc:119
void SetSupportedRates(const SupportedRates &rates)
Set the supported rates.
Definition: mgt-headers.cc:59
void SetEhtCapabilities(const EhtCapabilities &ehtCapabilities)
Set the EHT capabilities.
Definition: mgt-headers.cc:143
void Serialize(Buffer::Iterator start) const override
Definition: mgt-headers.cc:243
SupportedRates m_rates
List of supported rates.
Definition: mgt-headers.h:890
void SetVhtCapabilities(const VhtCapabilities &vhtCapabilities)
Set the VHT capabilities.
Definition: mgt-headers.cc:107
const std::optional< HeCapabilities > & GetHeCapabilities() const
Return the HE capabilities, if present.
Definition: mgt-headers.cc:137
static TypeId GetTypeId()
Register this type.
Definition: mgt-headers.cc:200
const std::optional< ExtendedCapabilities > & GetExtendedCapabilities() const
Return the extended capabilities, if present.
Definition: mgt-headers.cc:83
std::optional< ExtendedCapabilities > m_extendedCapability
extended capabilities
Definition: mgt-headers.h:891
uint32_t Deserialize(Buffer::Iterator start) override
Definition: mgt-headers.cc:275
std::optional< EhtCapabilities > m_ehtCapability
EHT capabilities.
Definition: mgt-headers.h:895
void SetHeCapabilities(const HeCapabilities &heCapabilities)
Set the HE capabilities.
Definition: mgt-headers.cc:125
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition: mgt-headers.cc:210
void Print(std::ostream &os) const override
Definition: mgt-headers.cc:216
std::optional< HtCapabilities > m_htCapability
HT capabilities.
Definition: mgt-headers.h:892
void SetHtCapabilities(const HtCapabilities &htCapabilities)
Set the HT capabilities.
Definition: mgt-headers.cc:89
void SetExtendedCapabilities(const ExtendedCapabilities &extendedCapabilities)
Set the extended capabilities.
Definition: mgt-headers.cc:71
const std::optional< HtCapabilities > & GetHtCapabilities() const
Return the HT capabilities, if present.
Definition: mgt-headers.cc:101
Implement the header for management frames of type probe response.
Definition: mgt-headers.h:903
uint64_t GetTimestamp() const
Return the time stamp.
Definition: mgt-headers.cc:307
uint64_t m_beaconInterval
Beacon interval.
Definition: mgt-headers.h:1231
std::optional< HeCapabilities > m_heCapability
HE capabilities.
Definition: mgt-headers.h:1240
void SetVhtOperation(const VhtOperation &vhtOperation)
Set the VHT operation.
Definition: mgt-headers.cc:421
std::optional< HeOperation > m_heOperation
HE operation.
Definition: mgt-headers.h:1241
const std::optional< DsssParameterSet > & GetDsssParameterSet() const
Return the DSSS Parameter Set, if present.
Definition: mgt-headers.cc:553
std::optional< EdcaParameterSet > m_edcaParameterSet
EDCA Parameter Set.
Definition: mgt-headers.h:1243
std::optional< EhtCapabilities > m_ehtCapability
EHT capabilities.
Definition: mgt-headers.h:1245
const std::optional< VhtCapabilities > & GetVhtCapabilities() const
Return the VHT capabilities, if present.
Definition: mgt-headers.cc:415
static TypeId GetTypeId()
Register this type.
Definition: mgt-headers.cc:649
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition: mgt-headers.cc:659
const std::optional< ExtendedCapabilities > & GetExtendedCapabilities() const
Return the extended capabilities, if present.
Definition: mgt-headers.cc:361
void Print(std::ostream &os) const override
Definition: mgt-headers.cc:741
void SetHtOperation(const HtOperation &htOperation)
Set the HT operation.
Definition: mgt-headers.cc:385
uint32_t Deserialize(Buffer::Iterator start) override
Definition: mgt-headers.cc:863
const std::optional< MuEdcaParameterSet > & GetMuEdcaParameterSet() const
Return the MU EDCA Parameter Set, if present.
Definition: mgt-headers.cc:631
std::optional< EhtOperation > m_ehtOperation
EHT Operation.
Definition: mgt-headers.h:1246
std::optional< ReducedNeighborReport > m_reducedNeighborReport
Reduced Neighbor Report information.
Definition: mgt-headers.h:1248
std::optional< HtOperation > m_htOperation
HT operation.
Definition: mgt-headers.h:1237
const Ssid & GetSsid() const
Return the Service Set Identifier (SSID).
Definition: mgt-headers.cc:313
void SetDsssParameterSet(const DsssParameterSet &dsssParameterSet)
Set the DSSS Parameter Set.
Definition: mgt-headers.cc:541
Ssid m_ssid
Service set ID (SSID)
Definition: mgt-headers.h:1230
const std::optional< ErpInformation > & GetErpInformation() const
Return the ERP information, if present.
Definition: mgt-headers.cc:571
void SetCapabilities(const CapabilityInformation &capabilities)
Set the Capability information.
Definition: mgt-headers.cc:331
std::optional< VhtOperation > m_vhtOperation
VHT operation.
Definition: mgt-headers.h:1239
const std::optional< HeOperation > & GetHeOperation() const
Return the HE operation, if present.
Definition: mgt-headers.cc:469
const std::optional< HtOperation > & GetHtOperation() const
Return the HT operation, if present.
Definition: mgt-headers.cc:397
const std::optional< EdcaParameterSet > & GetEdcaParameterSet() const
Return the EDCA Parameter Set, if present.
Definition: mgt-headers.cc:625
std::optional< MultiLinkElement > m_multiLinkElement
Multi-Link Element.
Definition: mgt-headers.h:1249
const std::optional< ReducedNeighborReport > & GetReducedNeighborReport() const
Return the Reduced Neighbor Report information element, if present.
Definition: mgt-headers.cc:637
void SetReducedNeighborReport(const ReducedNeighborReport &reducedNeighborReport)
Set the Reduced Neighbor Report information element.
Definition: mgt-headers.cc:601
SupportedRates m_rates
List of supported rates.
Definition: mgt-headers.h:1232
const CapabilityInformation & GetCapabilities() const
Return the Capability information.
Definition: mgt-headers.cc:343
void SetEhtCapabilities(const EhtCapabilities &ehtCapabilities)
Set the EHT capabilities.
Definition: mgt-headers.cc:475
void SetVhtCapabilities(const VhtCapabilities &vhtCapabilities)
Set the VHT capabilities.
Definition: mgt-headers.cc:403
void SetHtCapabilities(const HtCapabilities &htCapabilities)
Set the HT capabilities.
Definition: mgt-headers.cc:367
const std::optional< MultiLinkElement > & GetMultiLinkElement() const
Return the Multi-Link Element information element, if present.
Definition: mgt-headers.cc:643
void SetSsid(const Ssid &ssid)
Set the Service Set Identifier (SSID).
Definition: mgt-headers.cc:511
std::optional< ErpInformation > m_erpInformation
ERP information.
Definition: mgt-headers.h:1242
std::optional< DsssParameterSet > m_dsssParameterSet
DSSS Parameter Set.
Definition: mgt-headers.h:1234
void SetSupportedRates(const SupportedRates &rates)
Set the supported rates.
Definition: mgt-headers.cc:529
void SetHeOperation(const HeOperation &heOperation)
Set the HE operation.
Definition: mgt-headers.cc:457
void SetErpInformation(const ErpInformation &erpInformation)
Set the ERP information.
Definition: mgt-headers.cc:559
void SetExtendedCapabilities(const ExtendedCapabilities &extendedCapabilities)
Set the extended capabilities.
Definition: mgt-headers.cc:349
const std::optional< EhtCapabilities > & GetEhtCapabilities() const
Return the EHT capabilities, if present.
Definition: mgt-headers.cc:487
std::optional< MuEdcaParameterSet > m_muEdcaParameterSet
MU EDCA Parameter Set.
Definition: mgt-headers.h:1244
void SetBeaconIntervalUs(uint64_t us)
Set the beacon interval in microseconds unit.
Definition: mgt-headers.cc:523
uint64_t GetBeaconIntervalUs() const
Return the beacon interval in microseconds unit.
Definition: mgt-headers.cc:319
void Serialize(Buffer::Iterator start) const override
Definition: mgt-headers.cc:788
void SetEdcaParameterSet(const EdcaParameterSet &edcaParameterSet)
Set the EDCA Parameter Set.
Definition: mgt-headers.cc:577
uint32_t GetSerializedSize() const override
Definition: mgt-headers.cc:665
void SetHeCapabilities(const HeCapabilities &heCapabilities)
Set the HE capabilities.
Definition: mgt-headers.cc:439
std::optional< ExtendedCapabilities > m_extendedCapability
extended capabilities
Definition: mgt-headers.h:1235
void SetMuEdcaParameterSet(const MuEdcaParameterSet &muEdcaParameterSet)
Set the MU EDCA Parameter Set.
Definition: mgt-headers.cc:589
CapabilityInformation m_capability
Capability information.
Definition: mgt-headers.h:1233
std::optional< VhtCapabilities > m_vhtCapability
VHT capabilities.
Definition: mgt-headers.h:1238
const std::optional< HtCapabilities > & GetHtCapabilities() const
Return the HT capabilities, if present.
Definition: mgt-headers.cc:379
const std::optional< VhtOperation > & GetVhtOperation() const
Return the VHT operation, if present.
Definition: mgt-headers.cc:433
uint64_t m_timestamp
Timestamp.
Definition: mgt-headers.h:1229
const std::optional< EhtOperation > & GetEhtOperation() const
Return the EHT operation, if present.
Definition: mgt-headers.cc:505
const SupportedRates & GetSupportedRates() const
Return the supported rates.
Definition: mgt-headers.cc:325
std::optional< HtCapabilities > m_htCapability
HT capabilities.
Definition: mgt-headers.h:1236
const std::optional< HeCapabilities > & GetHeCapabilities() const
Return the HE capabilities, if present.
Definition: mgt-headers.cc:451
void SetMultiLinkElement(const MultiLinkElement &multiLinkElement)
Set the Multi-Link Element information element.
Definition: mgt-headers.cc:613
void SetEhtOperation(const EhtOperation &ehtOperation)
Set the EHT operation.
Definition: mgt-headers.cc:493
Implement the header for management frames of type reassociation request.
Definition: mgt-headers.h:248
const CapabilityInformation & GetCapabilities() const
Return the Capability information.
Mac48Address m_currentApAddr
Address of the current access point.
Definition: mgt-headers.h:429
void Serialize(Buffer::Iterator start) const override
uint16_t m_listenInterval
listen interval
Definition: mgt-headers.h:437
uint16_t GetListenInterval() const
Return the listen interval.
std::optional< MultiLinkElement > m_multiLinkElement
Multi-Link Element.
Definition: mgt-headers.h:439
const SupportedRates & GetSupportedRates() const
Return the supported rates.
std::optional< ExtendedCapabilities > m_extendedCapability
Extended capabilities.
Definition: mgt-headers.h:433
uint32_t GetSerializedSize() const override
void SetEhtCapabilities(const EhtCapabilities &ehtCapabilities)
Set the EHT capabilities.
static TypeId GetTypeId()
Register this type.
std::optional< EhtCapabilities > m_ehtCapability
EHT capabilities.
Definition: mgt-headers.h:438
std::optional< VhtCapabilities > m_vhtCapability
VHT capabilities.
Definition: mgt-headers.h:435
void SetExtendedCapabilities(const ExtendedCapabilities &extendedCapabilities)
Set the Extended Capabilities.
void Print(std::ostream &os) const override
const std::optional< MultiLinkElement > & GetMultiLinkElement() const
Return the Multi-Link Element information element, if present.
std::optional< HeCapabilities > m_heCapability
HE capabilities.
Definition: mgt-headers.h:436
SupportedRates m_rates
List of supported rates.
Definition: mgt-headers.h:431
void SetMultiLinkElement(const MultiLinkElement &multiLinkElement)
Set the Multi-Link Element information element.
Ssid m_ssid
Service Set ID (SSID)
Definition: mgt-headers.h:430
const std::optional< EhtCapabilities > & GetEhtCapabilities() const
Return the EHT capabilities, if present.
void SetCapabilities(const CapabilityInformation &capabilities)
Set the Capability information.
const std::optional< HtCapabilities > & GetHtCapabilities() const
Return the HT capabilities, if present.
const std::optional< VhtCapabilities > & GetVhtCapabilities() const
Return the VHT capabilities, if present.
void SetListenInterval(uint16_t interval)
Set the listen interval.
CapabilityInformation m_capability
Capability information.
Definition: mgt-headers.h:432
const std::optional< HeCapabilities > & GetHeCapabilities() const
Return the HE capabilities, if present.
void SetSupportedRates(const SupportedRates &rates)
Set the supported rates.
void SetVhtCapabilities(const VhtCapabilities &vhtCapabilities)
Set the VHT capabilities.
void SetHtCapabilities(const HtCapabilities &htCapabilities)
Set the HT capabilities.
const Ssid & GetSsid() const
Return the Service Set Identifier (SSID).
uint32_t Deserialize(Buffer::Iterator start) override
std::optional< HtCapabilities > m_htCapability
HT capabilities.
Definition: mgt-headers.h:434
void SetSsid(const Ssid &ssid)
Set the Service Set Identifier (SSID).
void SetCurrentApAddress(Mac48Address currentApAddr)
Set the address of the current access point.
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
void SetHeCapabilities(const HeCapabilities &heCapabilities)
Set the HE capabilities.
const std::optional< ExtendedCapabilities > & GetExtendedCapabilities() const
Return the extended capabilities, if present.
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:1279
MultihopActionValue
MultihopActionValue enumeration.
Definition: mgt-headers.h:1367
uint32_t GetSerializedSize() const override
SelfProtectedActionValue
SelfProtectedActionValue enumeration.
Definition: mgt-headers.h:1374
uint8_t m_category
Category of the action.
Definition: mgt-headers.h:1502
RadioMeasurementActionValue
RadioMeasurementActionValue enumeration.
Definition: mgt-headers.h:1337
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
std::string CategoryValueToString(CategoryValue value) const
Category value to string function.
PublicActionValue
PublicActionValue enumeration.
Definition: mgt-headers.h:1330
CategoryValue
CategoryValue enumeration.
Definition: mgt-headers.h:1291
std::string SelfProtectedActionValueToString(SelfProtectedActionValue value) const
Self protected action value to string function.
BlockAckActionValue
Block Ack Action field values See 802.11 Table 8-202.
Definition: mgt-headers.h:1322
UnprotectedDmgActionValue
Unprotected DMG action field values See 802.11ad Table 8-281ae.
Definition: mgt-headers.h:1432
uint8_t m_actionValue
Action value.
Definition: mgt-headers.h:1503
uint32_t Deserialize(Buffer::Iterator start) override
MeshActionValue
MeshActionValue enumeration.
Definition: mgt-headers.h:1348
void Print(std::ostream &os) const override
static TypeId GetTypeId()
Register this type.
void SetAction(CategoryValue type, ActionValue action)
Set action for this Action header.
~WifiActionHeader() override
void Serialize(Buffer::Iterator start) const override
FstActionValue
FST Action field values See 802.11ad Table 8-281x.
Definition: mgt-headers.h:1418
DmgActionValue
DMG Action field values See 802.11ad Table 8-281b.
Definition: mgt-headers.h:1387
@ DMG_MULTI_RELAY_CHANNEL_MEASUREMENT_REQUEST
Definition: mgt-headers.h:1398
@ DMG_MULTI_RELAY_CHANNEL_MEASUREMENT_REPORT
Definition: mgt-headers.h:1399
CategoryValue GetCategory() const
Return the category value.
ActionValue GetAction() const
Return the action value.
QosActionValue
QosActionValue enumeration.
Definition: mgt-headers.h:1309
Every class exported by the ns3 library is enclosed in the ns3 namespace.
value
Definition: second.py:41
ssid
Definition: third.py:86
params
Fit Fluctuating Two Ray model to the 3GPP TR 38.901 using the Anderson-Darling goodness-of-fit ##.
ns3::Time timeout
typedef for union of different ActionValues
Definition: mgt-headers.h:1444
UnprotectedDmgActionValue unprotectedDmgAction
unprotected dmg
Definition: mgt-headers.h:1454
SelfProtectedActionValue selfProtectedAction
self protected
Definition: mgt-headers.h:1449
MultihopActionValue multihopAction
multi hop
Definition: mgt-headers.h:1450
RadioMeasurementActionValue radioMeasurementAction
radio measurement
Definition: mgt-headers.h:1447
PublicActionValue publicAction
public
Definition: mgt-headers.h:1448
BlockAckActionValue blockAck
block ack
Definition: mgt-headers.h:1446