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/erp-information.h"
36#include "ns3/he-capabilities.h"
37#include "ns3/he-operation.h"
38#include "ns3/ht-capabilities.h"
39#include "ns3/ht-operation.h"
40#include "ns3/mac48-address.h"
41#include "ns3/mu-edca-parameter-set.h"
42#include "ns3/multi-link-element.h"
43#include "ns3/vht-capabilities.h"
44#include "ns3/vht-operation.h"
45
46namespace ns3
47{
48
54{
55 public:
57 ~MgtAssocRequestHeader() override;
58
64 void SetSsid(const Ssid& ssid);
65
67 void SetSsid(Ssid&& ssid);
68
74 void SetSupportedRates(const SupportedRates& rates);
75
78
84 void SetListenInterval(uint16_t interval);
85
91 void SetCapabilities(const CapabilityInformation& capabilities);
92
94 void SetCapabilities(CapabilityInformation&& capabilities);
95
101 void SetExtendedCapabilities(const ExtendedCapabilities& extendedCapabilities);
102
104 void SetExtendedCapabilities(ExtendedCapabilities&& extendedCapabilities);
105
111 void SetHtCapabilities(const HtCapabilities& htCapabilities);
112
114 void SetHtCapabilities(HtCapabilities&& htCapabilities);
115
121 void SetVhtCapabilities(const VhtCapabilities& vhtCapabilities);
122
124 void SetVhtCapabilities(VhtCapabilities&& vhtCapabilities);
125
131 void SetHeCapabilities(const HeCapabilities& heCapabilities);
132
134 void SetHeCapabilities(HeCapabilities&& heCapabilities);
135
141 void SetEhtCapabilities(const EhtCapabilities& ehtCapabilities);
142
144 void SetEhtCapabilities(EhtCapabilities&& ehtCapabilities);
145
151 void SetMultiLinkElement(const MultiLinkElement& multiLinkElement);
152
154 void SetMultiLinkElement(MultiLinkElement&& multiLinkElement);
155
167 const std::optional<ExtendedCapabilities>& GetExtendedCapabilities() const;
173 const std::optional<HtCapabilities>& GetHtCapabilities() const;
179 const std::optional<VhtCapabilities>& GetVhtCapabilities() const;
185 const std::optional<HeCapabilities>& GetHeCapabilities() const;
191 const std::optional<EhtCapabilities>& GetEhtCapabilities() const;
197 const Ssid& GetSsid() const;
203 const SupportedRates& GetSupportedRates() const;
209 uint16_t GetListenInterval() const;
215 const std::optional<MultiLinkElement>& GetMultiLinkElement() const;
216
221 static TypeId GetTypeId();
222
223 TypeId GetInstanceTypeId() const override;
224 void Print(std::ostream& os) const override;
225 uint32_t GetSerializedSize() const override;
226 void Serialize(Buffer::Iterator start) const override;
228
229 private:
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
247{
248 public:
250 ~MgtReassocRequestHeader() override;
251
257 void SetSsid(const Ssid& ssid);
258
260 void SetSsid(Ssid&& ssid);
261
267 void SetSupportedRates(const SupportedRates& rates);
268
270 void SetSupportedRates(SupportedRates&& rates);
271
277 void SetListenInterval(uint16_t interval);
278
284 void SetCapabilities(const CapabilityInformation& capabilities);
285
287 void SetCapabilities(CapabilityInformation&& capabilities);
288
294 void SetExtendedCapabilities(const ExtendedCapabilities& extendedCapabilities);
295
297 void SetExtendedCapabilities(ExtendedCapabilities&& extendedCapabilities);
298
304 void SetHtCapabilities(const HtCapabilities& htCapabilities);
305
307 void SetHtCapabilities(HtCapabilities&& htCapabilities);
308
314 void SetVhtCapabilities(const VhtCapabilities& vhtCapabilities);
315
317 void SetVhtCapabilities(VhtCapabilities&& vhtCapabilities);
318
324 void SetHeCapabilities(const HeCapabilities& heCapabilities);
325
327 void SetHeCapabilities(HeCapabilities&& heCapabilities);
328
334 void SetEhtCapabilities(const EhtCapabilities& ehtCapabilities);
335
337 void SetEhtCapabilities(EhtCapabilities&& ehtCapabilities);
338
344 void SetMultiLinkElement(const MultiLinkElement& multiLinkElement);
345
347 void SetMultiLinkElement(MultiLinkElement&& multiLinkElement);
348
360 const std::optional<ExtendedCapabilities>& GetExtendedCapabilities() const;
366 const std::optional<HtCapabilities>& GetHtCapabilities() const;
372 const std::optional<VhtCapabilities>& GetVhtCapabilities() const;
378 const std::optional<HeCapabilities>& GetHeCapabilities() const;
384 const std::optional<EhtCapabilities>& GetEhtCapabilities() const;
390 const Ssid& GetSsid() const;
396 const SupportedRates& GetSupportedRates() const;
402 const std::optional<MultiLinkElement>& GetMultiLinkElement() const;
408 uint16_t GetListenInterval() const;
414 void SetCurrentApAddress(Mac48Address currentApAddr);
415
420 static TypeId GetTypeId();
421 TypeId GetInstanceTypeId() const override;
422 void Print(std::ostream& os) const override;
423 uint32_t GetSerializedSize() const override;
424 void Serialize(Buffer::Iterator start) const override;
426
427 private:
432 std::optional<ExtendedCapabilities> m_extendedCapability;
433 std::optional<HtCapabilities> m_htCapability;
434 std::optional<VhtCapabilities> m_vhtCapability;
435 std::optional<HeCapabilities> m_heCapability;
437 std::optional<EhtCapabilities> m_ehtCapability;
438 std::optional<MultiLinkElement> m_multiLinkElement;
439};
440
446{
447 public:
449 ~MgtAssocResponseHeader() override;
450
462 const SupportedRates& GetSupportedRates() const;
474 const std::optional<ExtendedCapabilities>& GetExtendedCapabilities() const;
480 const std::optional<HtCapabilities>& GetHtCapabilities() const;
486 const std::optional<HtOperation>& GetHtOperation() const;
492 const std::optional<VhtCapabilities>& GetVhtCapabilities() const;
498 const std::optional<VhtOperation>& GetVhtOperation() const;
504 const std::optional<HeCapabilities>& GetHeCapabilities() const;
510 const std::optional<HeOperation>& GetHeOperation() const;
516 const std::optional<EhtCapabilities>& GetEhtCapabilities() const;
522 const std::optional<MultiLinkElement>& GetMultiLinkElement() const;
528 uint16_t GetAssociationId() const;
534 const std::optional<ErpInformation>& GetErpInformation() const;
540 const std::optional<EdcaParameterSet>& GetEdcaParameterSet() const;
546 const std::optional<MuEdcaParameterSet>& GetMuEdcaParameterSet() const;
552 void SetCapabilities(const CapabilityInformation& capabilities);
553
555 void SetCapabilities(CapabilityInformation&& capabilities);
556
562 void SetExtendedCapabilities(const ExtendedCapabilities& extendedCapabilities);
563
565 void SetExtendedCapabilities(ExtendedCapabilities&& extendedCapabilities);
566
572 void SetVhtOperation(const VhtOperation& vhtOperation);
573
575 void SetVhtOperation(VhtOperation&& vhtOperation);
576
582 void SetVhtCapabilities(const VhtCapabilities& vhtCapabilities);
583
585 void SetVhtCapabilities(VhtCapabilities&& vhtCapabilities);
586
592 void SetHtCapabilities(const HtCapabilities& htCapabilities);
593
595 void SetHtCapabilities(HtCapabilities&& htCapabilities);
596
602 void SetHtOperation(const HtOperation& htOperation);
603
605 void SetHtOperation(HtOperation&& htOperation);
606
612 void SetSupportedRates(const SupportedRates& rates);
613
615 void SetSupportedRates(SupportedRates&& rates);
616
622 void SetStatusCode(StatusCode code);
623
629 void SetAssociationId(uint16_t aid);
630
636 void SetErpInformation(const ErpInformation& erpInformation);
637
639 void SetErpInformation(ErpInformation&& erpInformation);
640
646 void SetEdcaParameterSet(const EdcaParameterSet& edcaParameterSet);
647
649 void SetEdcaParameterSet(EdcaParameterSet&& edcaParameterSet);
650
656 void SetMuEdcaParameterSet(const MuEdcaParameterSet& muEdcaParameterSet);
657
659 void SetMuEdcaParameterSet(MuEdcaParameterSet&& muEdcaParameterSet);
660
666 void SetHeCapabilities(const HeCapabilities& heCapabilities);
667
669 void SetHeCapabilities(HeCapabilities&& heCapabilities);
670
676 void SetHeOperation(const HeOperation& heOperation);
677
679 void SetHeOperation(HeOperation&& heOperation);
680
686 void SetEhtCapabilities(const EhtCapabilities& ehtCapabilities);
687
689 void SetEhtCapabilities(EhtCapabilities&& ehtCapabilities);
690
696 void SetMultiLinkElement(const MultiLinkElement& multiLinkElement);
697
699 void SetMultiLinkElement(MultiLinkElement&& multiLinkElement);
700
705 static TypeId GetTypeId();
706 TypeId GetInstanceTypeId() const override;
707 void Print(std::ostream& os) const override;
708 uint32_t GetSerializedSize() const override;
709 void Serialize(Buffer::Iterator start) const override;
711
712 private:
716 uint16_t m_aid;
717 std::optional<ExtendedCapabilities> m_extendedCapability;
718 std::optional<HtCapabilities> m_htCapability;
719 std::optional<HtOperation> m_htOperation;
720 std::optional<VhtCapabilities> m_vhtCapability;
721 std::optional<VhtOperation> m_vhtOperation;
722 std::optional<ErpInformation> m_erpInformation;
723 std::optional<EdcaParameterSet> m_edcaParameterSet;
724 std::optional<HeCapabilities> m_heCapability;
725 std::optional<HeOperation> m_heOperation;
726 std::optional<MuEdcaParameterSet> m_muEdcaParameterSet;
727 std::optional<EhtCapabilities> m_ehtCapability;
728 std::optional<MultiLinkElement> m_multiLinkElement;
729};
730
736{
737 public:
738 ~MgtProbeRequestHeader() override;
739
745 void SetSsid(const Ssid& ssid);
746
748 void SetSsid(Ssid&& ssid);
749
755 void SetSupportedRates(const SupportedRates& rates);
756
758 void SetSupportedRates(SupportedRates&& rates);
759
765 void SetExtendedCapabilities(const ExtendedCapabilities& extendedCapabilities);
766
768 void SetExtendedCapabilities(ExtendedCapabilities&& extendedCapabilities);
769
775 void SetHtCapabilities(const HtCapabilities& htCapabilities);
776
778 void SetHtCapabilities(HtCapabilities&& htCapabilities);
779
785 void SetVhtCapabilities(const VhtCapabilities& vhtCapabilities);
786
788 void SetVhtCapabilities(VhtCapabilities&& vhtCapabilities);
789
795 void SetHeCapabilities(const HeCapabilities& heCapabilities);
796
798 void SetHeCapabilities(HeCapabilities&& heCapabilities);
799
805 void SetEhtCapabilities(const EhtCapabilities& ehtCapabilities);
806
808 void SetEhtCapabilities(EhtCapabilities&& ehtCapabilities);
809
815 const Ssid& GetSsid() const;
816
822 const SupportedRates& GetSupportedRates() const;
823
829 const std::optional<ExtendedCapabilities>& GetExtendedCapabilities() const;
830
836 const std::optional<HtCapabilities>& GetHtCapabilities() const;
837
843 const std::optional<VhtCapabilities>& GetVhtCapabilities() const;
844
850 const std::optional<HeCapabilities>& GetHeCapabilities() const;
851
857 const std::optional<EhtCapabilities>& GetEhtCapabilities() const;
858
863 static TypeId GetTypeId();
864 TypeId GetInstanceTypeId() const override;
865 void Print(std::ostream& os) const override;
866 uint32_t GetSerializedSize() const override;
867 void Serialize(Buffer::Iterator start) const override;
869
870 private:
873 std::optional<ExtendedCapabilities> m_extendedCapability;
874 std::optional<HtCapabilities> m_htCapability;
875 std::optional<VhtCapabilities> m_vhtCapability;
876 std::optional<HeCapabilities> m_heCapability;
877 std::optional<EhtCapabilities> m_ehtCapability;
878};
879
885{
886 public:
888 ~MgtProbeResponseHeader() override;
889
895 const Ssid& GetSsid() const;
901 uint64_t GetBeaconIntervalUs() const;
907 const SupportedRates& GetSupportedRates() const;
919 const std::optional<DsssParameterSet>& GetDsssParameterSet() const;
925 const std::optional<ExtendedCapabilities>& GetExtendedCapabilities() const;
931 const std::optional<HtCapabilities>& GetHtCapabilities() const;
937 const std::optional<HtOperation>& GetHtOperation() const;
943 const std::optional<VhtCapabilities>& GetVhtCapabilities() const;
949 const std::optional<VhtOperation>& GetVhtOperation() const;
955 const std::optional<HeCapabilities>& GetHeCapabilities() const;
961 const std::optional<HeOperation>& GetHeOperation() const;
967 const std::optional<EhtCapabilities>& GetEhtCapabilities() const;
973 const std::optional<ErpInformation>& GetErpInformation() const;
979 const std::optional<EdcaParameterSet>& GetEdcaParameterSet() const;
985 const std::optional<MuEdcaParameterSet>& GetMuEdcaParameterSet() const;
986
992 const std::optional<ReducedNeighborReport>& GetReducedNeighborReport() const;
998 const std::optional<MultiLinkElement>& GetMultiLinkElement() const;
1004 void SetCapabilities(const CapabilityInformation& capabilities);
1005
1007 void SetCapabilities(CapabilityInformation&& capabilities);
1008
1014 void SetExtendedCapabilities(const ExtendedCapabilities& extendedCapabilities);
1015
1017 void SetExtendedCapabilities(ExtendedCapabilities&& extendedCapabilities);
1018
1024 void SetHtCapabilities(const HtCapabilities& htCapabilities);
1025
1027 void SetHtCapabilities(HtCapabilities&& htCapabilities);
1028
1034 void SetHtOperation(const HtOperation& htOperation);
1035
1037 void SetHtOperation(HtOperation&& htOperation);
1038
1044 void SetVhtCapabilities(const VhtCapabilities& vhtCapabilities);
1045
1047 void SetVhtCapabilities(VhtCapabilities&& vhtCapabilities);
1048
1054 void SetVhtOperation(const VhtOperation& vhtOperation);
1055
1057 void SetVhtOperation(VhtOperation&& vhtOperation);
1058
1064 void SetHeCapabilities(const HeCapabilities& heCapabilities);
1065
1067 void SetHeCapabilities(HeCapabilities&& heCapabilities);
1068
1074 void SetHeOperation(const HeOperation& heOperation);
1075
1077 void SetHeOperation(HeOperation&& heOperation);
1078
1084 void SetEhtCapabilities(const EhtCapabilities& ehtCapabilities);
1085
1087 void SetEhtCapabilities(EhtCapabilities&& ehtCapabilities);
1088
1094 void SetSsid(const Ssid& ssid);
1095
1097 void SetSsid(Ssid&& ssid);
1098
1104 void SetBeaconIntervalUs(uint64_t us);
1105
1111 void SetSupportedRates(const SupportedRates& rates);
1112
1114 void SetSupportedRates(SupportedRates&& rates);
1115
1121 void SetDsssParameterSet(const DsssParameterSet& dsssParameterSet);
1122
1124 void SetDsssParameterSet(DsssParameterSet&& dsssParameterSet);
1125
1131 void SetErpInformation(const ErpInformation& erpInformation);
1132
1134 void SetErpInformation(ErpInformation&& erpInformation);
1135
1141 void SetEdcaParameterSet(const EdcaParameterSet& edcaParameterSet);
1142
1144 void SetEdcaParameterSet(EdcaParameterSet&& edcaParameterSet);
1145
1151 void SetMuEdcaParameterSet(const MuEdcaParameterSet& muEdcaParameterSet);
1152
1154 void SetMuEdcaParameterSet(MuEdcaParameterSet&& muEdcaParameterSet);
1155
1161 void SetReducedNeighborReport(const ReducedNeighborReport& reducedNeighborReport);
1162
1164 void SetReducedNeighborReport(ReducedNeighborReport&& reducedNeighborReport);
1165
1171 void SetMultiLinkElement(const MultiLinkElement& multiLinkElement);
1172
1174 void SetMultiLinkElement(MultiLinkElement&& multiLinkElement);
1175
1181 uint64_t GetTimestamp();
1182
1187 static TypeId GetTypeId();
1188 TypeId GetInstanceTypeId() const override;
1189 void Print(std::ostream& os) const override;
1190 uint32_t GetSerializedSize() const override;
1191 void Serialize(Buffer::Iterator start) const override;
1193
1194 private:
1195 uint64_t m_timestamp;
1200 std::optional<DsssParameterSet> m_dsssParameterSet;
1201 std::optional<ExtendedCapabilities> m_extendedCapability;
1202 std::optional<HtCapabilities> m_htCapability;
1203 std::optional<HtOperation> m_htOperation;
1204 std::optional<VhtCapabilities> m_vhtCapability;
1205 std::optional<VhtOperation> m_vhtOperation;
1206 std::optional<HeCapabilities> m_heCapability;
1207 std::optional<HeOperation> m_heOperation;
1208 std::optional<ErpInformation> m_erpInformation;
1209 std::optional<EdcaParameterSet> m_edcaParameterSet;
1210 std::optional<MuEdcaParameterSet> m_muEdcaParameterSet;
1211 std::optional<EhtCapabilities> m_ehtCapability;
1212 std::optional<ReducedNeighborReport>
1214 std::optional<MultiLinkElement> m_multiLinkElement;
1215};
1216
1222{
1223 public:
1229 static TypeId GetTypeId();
1230};
1231
1232/****************************
1233 * Action frames
1234 *****************************/
1235
1244{
1245 public:
1247 ~WifiActionHeader() override;
1248
1249 /*
1250 * Compatible with table 8-38 IEEE 802.11, Part11, (Year 2012)
1251 * Category values - see 802.11-2012 Table 8-38
1252 */
1253
1255 enum CategoryValue // table 8-38 staring from IEEE 802.11, Part11, (Year 2012)
1256 {
1257 QOS = 1,
1260 RADIO_MEASUREMENT = 5, // Category: Radio Measurement
1261 MESH = 13, // Category: Mesh
1262 MULTIHOP = 14, // not used so far
1263 SELF_PROTECTED = 15, // Category: Self Protected
1264 DMG = 16, // Category: DMG
1265 FST = 18, // Category: Fast Session Transfer
1266 UNPROTECTED_DMG = 20, // Category: Unprotected DMG
1267 // Since vendor specific action has no stationary Action value,the parse process is not
1268 // here. Refer to vendor-specific-action in wave module.
1270 };
1271
1274 {
1280 };
1281
1287 {
1290 BLOCK_ACK_DELBA = 2
1292
1295 {
1298 };
1299
1302 {
1310
1313 {
1314 LINK_METRIC_REPORT = 0, // Action Value:0 in Category 13: Mesh
1315 PATH_SELECTION = 1, // Action Value:1 in Category 13: Mesh
1316 PORTAL_ANNOUNCEMENT = 2, // Action Value:2 in Category 13: Mesh
1317 CONGESTION_CONTROL_NOTIFICATION = 3, // Action Value:3 in Category 13: Mesh
1319 4, // Action Value:4 in Category 13: Mesh MCCA-Setup-Request (not used so far)
1321 5, // Action Value:5 in Category 13: Mesh MCCA-Setup-Reply (not used so far)
1323 6, // Action Value:6 in Category 13: Mesh MCCA-Advertisement-Request (not used so far)
1324 MDAOP_ADVERTISMENTS = 7, // Action Value:7 in Category 13: Mesh (not used so far)
1325 MDAOP_SET_TEARDOWN = 8, // Action Value:8 in Category 13: Mesh (not used so far)
1326 TBTT_ADJUSTMENT_REQUEST = 9, // Action Value:9 in Category 13: Mesh (not used so far)
1327 TBTT_ADJUSTMENT_RESPONSE = 10, // Action Value:10 in Category 13: Mesh (not used so far)
1328 };
1329
1332 {
1333 PROXY_UPDATE = 0, // not used so far
1334 PROXY_UPDATE_CONFIRMATION = 1, // not used so far
1335 };
1336
1338 enum SelfProtectedActionValue // Category: 15 (Self Protected)
1339 {
1340 PEER_LINK_OPEN = 1, // Mesh Peering Open
1341 PEER_LINK_CONFIRM = 2, // Mesh Peering Confirm
1342 PEER_LINK_CLOSE = 3, // Mesh Peering Close
1343 GROUP_KEY_INFORM = 4, // Mesh Group Key Inform
1344 GROUP_KEY_ACK = 5, // Mesh Group Key Acknowledge
1345 };
1346
1352 {
1375 DMG_ROC_RESPONSE = 22
1377
1383 {
1391
1397 {
1404 };
1405
1409 typedef union {
1420 } ActionValue;
1421
1429
1442
1447 static TypeId GetTypeId();
1448 TypeId GetInstanceTypeId() const override;
1449 void Print(std::ostream& os) const override;
1450 uint32_t GetSerializedSize() const override;
1451 void Serialize(Buffer::Iterator start) const override;
1453
1454 private:
1460 std::string CategoryValueToString(CategoryValue value) const;
1467 uint8_t m_category;
1469};
1470
1476{
1477 public:
1479
1484 static TypeId GetTypeId();
1485 TypeId GetInstanceTypeId() const override;
1486 void Print(std::ostream& os) const override;
1487 uint32_t GetSerializedSize() const override;
1488 void Serialize(Buffer::Iterator start) const override;
1490
1494 void SetDelayedBlockAck();
1498 void SetImmediateBlockAck();
1504 void SetTid(uint8_t tid);
1510 void SetTimeout(uint16_t timeout);
1516 void SetBufferSize(uint16_t size);
1522 void SetStartingSequence(uint16_t seq);
1528 void SetAmsduSupport(bool supported);
1529
1535 uint16_t GetStartingSequence() const;
1541 uint8_t GetTid() const;
1547 bool IsImmediateBlockAck() const;
1553 uint16_t GetTimeout() const;
1559 uint16_t GetBufferSize() const;
1565 bool IsAmsduSupported() const;
1566
1567 private:
1573 uint16_t GetParameterSet() const;
1579 void SetParameterSet(uint16_t params);
1585 uint16_t GetStartingSequenceControl() const;
1591 void SetStartingSequenceControl(uint16_t seqControl);
1592
1595 uint8_t m_policy;
1596 uint8_t m_tid;
1597 uint16_t m_bufferSize;
1599 uint16_t m_startingSeq;
1600};
1601
1607{
1608 public:
1610
1615 static TypeId GetTypeId();
1616 TypeId GetInstanceTypeId() const override;
1617 void Print(std::ostream& os) const override;
1618 uint32_t GetSerializedSize() const override;
1619 void Serialize(Buffer::Iterator start) const override;
1621
1625 void SetDelayedBlockAck();
1629 void SetImmediateBlockAck();
1635 void SetTid(uint8_t tid);
1641 void SetTimeout(uint16_t timeout);
1647 void SetBufferSize(uint16_t size);
1653 void SetStatusCode(StatusCode code);
1659 void SetAmsduSupport(bool supported);
1660
1666 StatusCode GetStatusCode() const;
1672 uint8_t GetTid() const;
1678 bool IsImmediateBlockAck() const;
1684 uint16_t GetTimeout() const;
1690 uint16_t GetBufferSize() const;
1696 bool IsAmsduSupported() const;
1697
1698 private:
1704 uint16_t GetParameterSet() const;
1710 void SetParameterSet(uint16_t params);
1711
1715 uint8_t m_policy;
1716 uint8_t m_tid;
1717 uint16_t m_bufferSize;
1719};
1720
1726{
1727 public:
1729
1734 static TypeId GetTypeId();
1735
1736 TypeId GetInstanceTypeId() const override;
1737 void Print(std::ostream& os) const override;
1738 uint32_t GetSerializedSize() const override;
1739 void Serialize(Buffer::Iterator start) const override;
1741
1748 bool IsByOriginator() const;
1754 uint8_t GetTid() const;
1760 void SetTid(uint8_t tid);
1764 void SetByOriginator();
1768 void SetByRecipient();
1769
1770 private:
1776 uint16_t GetParameterSet() const;
1782 void SetParameterSet(uint16_t params);
1783
1784 uint16_t m_initiator;
1785 uint16_t m_tid;
1786 uint16_t m_reasonCode;
1787};
1788
1789} // namespace ns3
1790
1791#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.
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:1476
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:1599
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:1596
static TypeId GetTypeId()
Register this type.
uint8_t m_amsduSupport
Flag if A-MSDU is supported.
Definition: mgt-headers.h:1594
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:1593
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:1597
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:1598
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:1595
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:1607
uint16_t m_bufferSize
Buffer size.
Definition: mgt-headers.h:1717
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:1714
uint8_t m_dialogToken
Not used for now.
Definition: mgt-headers.h:1712
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:1715
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:1718
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:1716
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:1713
Implement the header for management frames of type association request.
Definition: mgt-headers.h:54
SupportedRates m_rates
List of supported rates.
Definition: mgt-headers.h:231
const std::optional< ExtendedCapabilities > & GetExtendedCapabilities() const
Return the extended capabilities, if present.
Definition: mgt-headers.cc:952
std::optional< VhtCapabilities > m_vhtCapability
VHT capabilities.
Definition: mgt-headers.h:235
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.
Definition: mgt-headers.cc:994
uint32_t Deserialize(Buffer::Iterator start) override
const CapabilityInformation & GetCapabilities() const
Return the Capability information.
Definition: mgt-headers.cc:934
const std::optional< HeCapabilities > & GetHeCapabilities() const
Return the HE capabilities, if present.
CapabilityInformation m_capability
Capability information.
Definition: mgt-headers.h:232
void SetExtendedCapabilities(const ExtendedCapabilities &extendedCapabilities)
Set the Extended Capabilities.
Definition: mgt-headers.cc:940
void SetSupportedRates(const SupportedRates &rates)
Set the supported rates.
Definition: mgt-headers.cc:904
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:233
void SetHtCapabilities(const HtCapabilities &htCapabilities)
Set the HT capabilities.
Definition: mgt-headers.cc:958
void SetListenInterval(uint16_t interval)
Set the listen interval.
Definition: mgt-headers.cc:916
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:236
void SetVhtCapabilities(const VhtCapabilities &vhtCapabilities)
Set the VHT capabilities.
Definition: mgt-headers.cc:976
const std::optional< EhtCapabilities > & GetEhtCapabilities() const
Return the EHT capabilities, if present.
const std::optional< HtCapabilities > & GetHtCapabilities() const
Return the HT capabilities, if present.
Definition: mgt-headers.cc:970
uint16_t m_listenInterval
listen interval
Definition: mgt-headers.h:237
Ssid m_ssid
Service Set ID (SSID)
Definition: mgt-headers.h:230
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< VhtCapabilities > & GetVhtCapabilities() const
Return the VHT capabilities, if present.
Definition: mgt-headers.cc:988
void SetCapabilities(const CapabilityInformation &capabilities)
Set the Capability information.
Definition: mgt-headers.cc:922
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:238
void SetSsid(const Ssid &ssid)
Set the Service Set Identifier (SSID).
Definition: mgt-headers.cc:892
Implement the header for management frames of type association and reassociation response.
Definition: mgt-headers.h:446
void SetHeCapabilities(const HeCapabilities &heCapabilities)
Set the HE capabilities.
std::optional< VhtCapabilities > m_vhtCapability
VHT capabilities.
Definition: mgt-headers.h:720
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.
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:725
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:713
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.
uint32_t Deserialize(Buffer::Iterator start) override
void SetVhtCapabilities(const VhtCapabilities &vhtCapabilities)
Set the VHT capabilities.
CapabilityInformation m_capability
Capability information.
Definition: mgt-headers.h:714
std::optional< MuEdcaParameterSet > m_muEdcaParameterSet
MU EDCA Parameter Set.
Definition: mgt-headers.h:726
std::optional< HtCapabilities > m_htCapability
HT capabilities.
Definition: mgt-headers.h:718
const std::optional< EdcaParameterSet > & GetEdcaParameterSet() const
Return the EDCA Parameter Set, if present.
std::optional< ExtendedCapabilities > m_extendedCapability
extended capabilities
Definition: mgt-headers.h:717
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:727
std::optional< VhtOperation > m_vhtOperation
VHT operation.
Definition: mgt-headers.h:721
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:728
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:723
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:722
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:724
std::optional< HtOperation > m_htOperation
HT operation.
Definition: mgt-headers.h:719
StatusCode m_code
Status code.
Definition: mgt-headers.h:715
Implement the header for management frames of type beacon.
Definition: mgt-headers.h:1222
static TypeId GetTypeId()
Register this type.
Definition: mgt-headers.cc:867
Implement the header for management frames of type Delete Block Ack.
Definition: mgt-headers.h:1726
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:1784
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:1786
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:1785
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:736
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:875
std::optional< HeCapabilities > m_heCapability
HE capabilities.
Definition: mgt-headers.h:876
Ssid m_ssid
Service Set ID (SSID)
Definition: mgt-headers.h:871
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:872
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:873
uint32_t Deserialize(Buffer::Iterator start) override
Definition: mgt-headers.cc:275
std::optional< EhtCapabilities > m_ehtCapability
EHT capabilities.
Definition: mgt-headers.h:877
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:874
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:885
uint64_t m_beaconInterval
Beacon interval.
Definition: mgt-headers.h:1197
uint64_t GetTimestamp()
Return the time stamp.
Definition: mgt-headers.cc:304
std::optional< HeCapabilities > m_heCapability
HE capabilities.
Definition: mgt-headers.h:1206
void SetVhtOperation(const VhtOperation &vhtOperation)
Set the VHT operation.
Definition: mgt-headers.cc:418
std::optional< HeOperation > m_heOperation
HE operation.
Definition: mgt-headers.h:1207
const std::optional< DsssParameterSet > & GetDsssParameterSet() const
Return the DSSS Parameter Set, if present.
Definition: mgt-headers.cc:532
std::optional< EdcaParameterSet > m_edcaParameterSet
EDCA Parameter Set.
Definition: mgt-headers.h:1209
std::optional< EhtCapabilities > m_ehtCapability
EHT capabilities.
Definition: mgt-headers.h:1211
const std::optional< VhtCapabilities > & GetVhtCapabilities() const
Return the VHT capabilities, if present.
Definition: mgt-headers.cc:412
static TypeId GetTypeId()
Register this type.
Definition: mgt-headers.cc:628
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition: mgt-headers.cc:638
const std::optional< ExtendedCapabilities > & GetExtendedCapabilities() const
Return the extended capabilities, if present.
Definition: mgt-headers.cc:358
void Print(std::ostream &os) const override
Definition: mgt-headers.cc:716
void SetHtOperation(const HtOperation &htOperation)
Set the HT operation.
Definition: mgt-headers.cc:382
uint32_t Deserialize(Buffer::Iterator start) override
Definition: mgt-headers.cc:830
const std::optional< MuEdcaParameterSet > & GetMuEdcaParameterSet() const
Return the MU EDCA Parameter Set, if present.
Definition: mgt-headers.cc:610
std::optional< ReducedNeighborReport > m_reducedNeighborReport
Reduced Neighbor Report information.
Definition: mgt-headers.h:1213
std::optional< HtOperation > m_htOperation
HT operation.
Definition: mgt-headers.h:1203
const Ssid & GetSsid() const
Return the Service Set Identifier (SSID).
Definition: mgt-headers.cc:310
void SetDsssParameterSet(const DsssParameterSet &dsssParameterSet)
Set the DSSS Parameter Set.
Definition: mgt-headers.cc:520
Ssid m_ssid
Service set ID (SSID)
Definition: mgt-headers.h:1196
const std::optional< ErpInformation > & GetErpInformation() const
Return the ERP information, if present.
Definition: mgt-headers.cc:550
void SetCapabilities(const CapabilityInformation &capabilities)
Set the Capability information.
Definition: mgt-headers.cc:328
std::optional< VhtOperation > m_vhtOperation
VHT operation.
Definition: mgt-headers.h:1205
const std::optional< HeOperation > & GetHeOperation() const
Return the HE operation, if present.
Definition: mgt-headers.cc:466
const std::optional< HtOperation > & GetHtOperation() const
Return the HT operation, if present.
Definition: mgt-headers.cc:394
const std::optional< EdcaParameterSet > & GetEdcaParameterSet() const
Return the EDCA Parameter Set, if present.
Definition: mgt-headers.cc:604
std::optional< MultiLinkElement > m_multiLinkElement
Multi-Link Element.
Definition: mgt-headers.h:1214
const std::optional< ReducedNeighborReport > & GetReducedNeighborReport() const
Return the Reduced Neighbor Report information element, if present.
Definition: mgt-headers.cc:616
void SetReducedNeighborReport(const ReducedNeighborReport &reducedNeighborReport)
Set the Reduced Neighbor Report information element.
Definition: mgt-headers.cc:580
SupportedRates m_rates
List of supported rates.
Definition: mgt-headers.h:1198
const CapabilityInformation & GetCapabilities() const
Return the Capability information.
Definition: mgt-headers.cc:340
void SetEhtCapabilities(const EhtCapabilities &ehtCapabilities)
Set the EHT capabilities.
Definition: mgt-headers.cc:472
void SetVhtCapabilities(const VhtCapabilities &vhtCapabilities)
Set the VHT capabilities.
Definition: mgt-headers.cc:400
void SetHtCapabilities(const HtCapabilities &htCapabilities)
Set the HT capabilities.
Definition: mgt-headers.cc:364
const std::optional< MultiLinkElement > & GetMultiLinkElement() const
Return the Multi-Link Element information element, if present.
Definition: mgt-headers.cc:622
void SetSsid(const Ssid &ssid)
Set the Service Set Identifier (SSID).
Definition: mgt-headers.cc:490
std::optional< ErpInformation > m_erpInformation
ERP information.
Definition: mgt-headers.h:1208
std::optional< DsssParameterSet > m_dsssParameterSet
DSSS Parameter Set.
Definition: mgt-headers.h:1200
void SetSupportedRates(const SupportedRates &rates)
Set the supported rates.
Definition: mgt-headers.cc:508
void SetHeOperation(const HeOperation &heOperation)
Set the HE operation.
Definition: mgt-headers.cc:454
void SetErpInformation(const ErpInformation &erpInformation)
Set the ERP information.
Definition: mgt-headers.cc:538
void SetExtendedCapabilities(const ExtendedCapabilities &extendedCapabilities)
Set the extended capabilities.
Definition: mgt-headers.cc:346
const std::optional< EhtCapabilities > & GetEhtCapabilities() const
Return the EHT capabilities, if present.
Definition: mgt-headers.cc:484
std::optional< MuEdcaParameterSet > m_muEdcaParameterSet
MU EDCA Parameter Set.
Definition: mgt-headers.h:1210
void SetBeaconIntervalUs(uint64_t us)
Set the beacon interval in microseconds unit.
Definition: mgt-headers.cc:502
uint64_t GetBeaconIntervalUs() const
Return the beacon interval in microseconds unit.
Definition: mgt-headers.cc:316
void Serialize(Buffer::Iterator start) const override
Definition: mgt-headers.cc:759
void SetEdcaParameterSet(const EdcaParameterSet &edcaParameterSet)
Set the EDCA Parameter Set.
Definition: mgt-headers.cc:556
uint32_t GetSerializedSize() const override
Definition: mgt-headers.cc:644
void SetHeCapabilities(const HeCapabilities &heCapabilities)
Set the HE capabilities.
Definition: mgt-headers.cc:436
std::optional< ExtendedCapabilities > m_extendedCapability
extended capabilities
Definition: mgt-headers.h:1201
void SetMuEdcaParameterSet(const MuEdcaParameterSet &muEdcaParameterSet)
Set the MU EDCA Parameter Set.
Definition: mgt-headers.cc:568
CapabilityInformation m_capability
Capability information.
Definition: mgt-headers.h:1199
std::optional< VhtCapabilities > m_vhtCapability
VHT capabilities.
Definition: mgt-headers.h:1204
const std::optional< HtCapabilities > & GetHtCapabilities() const
Return the HT capabilities, if present.
Definition: mgt-headers.cc:376
const std::optional< VhtOperation > & GetVhtOperation() const
Return the VHT operation, if present.
Definition: mgt-headers.cc:430
uint64_t m_timestamp
Timestamp.
Definition: mgt-headers.h:1195
const SupportedRates & GetSupportedRates() const
Return the supported rates.
Definition: mgt-headers.cc:322
std::optional< HtCapabilities > m_htCapability
HT capabilities.
Definition: mgt-headers.h:1202
const std::optional< HeCapabilities > & GetHeCapabilities() const
Return the HE capabilities, if present.
Definition: mgt-headers.cc:448
void SetMultiLinkElement(const MultiLinkElement &multiLinkElement)
Set the Multi-Link Element information element.
Definition: mgt-headers.cc:592
Implement the header for management frames of type reassociation request.
Definition: mgt-headers.h:247
const CapabilityInformation & GetCapabilities() const
Return the Capability information.
Mac48Address m_currentApAddr
Address of the current access point.
Definition: mgt-headers.h:428
void Serialize(Buffer::Iterator start) const override
uint16_t m_listenInterval
listen interval
Definition: mgt-headers.h:436
uint16_t GetListenInterval() const
Return the listen interval.
std::optional< MultiLinkElement > m_multiLinkElement
Multi-Link Element.
Definition: mgt-headers.h:438
const SupportedRates & GetSupportedRates() const
Return the supported rates.
std::optional< ExtendedCapabilities > m_extendedCapability
Extended capabilities.
Definition: mgt-headers.h:432
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:437
std::optional< VhtCapabilities > m_vhtCapability
VHT capabilities.
Definition: mgt-headers.h:434
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:435
SupportedRates m_rates
List of supported rates.
Definition: mgt-headers.h:430
void SetMultiLinkElement(const MultiLinkElement &multiLinkElement)
Set the Multi-Link Element information element.
Ssid m_ssid
Service Set ID (SSID)
Definition: mgt-headers.h:429
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:431
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:433
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:60
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:1244
MultihopActionValue
MultihopActionValue enumeration.
Definition: mgt-headers.h:1332
uint32_t GetSerializedSize() const override
SelfProtectedActionValue
SelfProtectedActionValue enumeration.
Definition: mgt-headers.h:1339
uint8_t m_category
Category of the action.
Definition: mgt-headers.h:1467
RadioMeasurementActionValue
RadioMeasurementActionValue enumeration.
Definition: mgt-headers.h:1302
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:1295
CategoryValue
CategoryValue enumeration.
Definition: mgt-headers.h:1256
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:1287
UnprotectedDmgActionValue
Unprotected DMG action field values See 802.11ad Table 8-281ae.
Definition: mgt-headers.h:1397
uint8_t m_actionValue
Action value.
Definition: mgt-headers.h:1468
CategoryValue GetCategory()
Return the category value.
uint32_t Deserialize(Buffer::Iterator start) override
MeshActionValue
MeshActionValue enumeration.
Definition: mgt-headers.h:1313
void Print(std::ostream &os) const override
ActionValue GetAction()
Return the action value.
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:1383
DmgActionValue
DMG Action field values See 802.11ad Table 8-281b.
Definition: mgt-headers.h:1352
@ DMG_MULTI_RELAY_CHANNEL_MEASUREMENT_REQUEST
Definition: mgt-headers.h:1363
@ DMG_MULTI_RELAY_CHANNEL_MEASUREMENT_REPORT
Definition: mgt-headers.h:1364
QosActionValue
QosActionValue enumeration.
Definition: mgt-headers.h:1274
Every class exported by the ns3 library is enclosed in the ns3 namespace.
value
Definition: second.py:41
ssid
Definition: third.py:86
def start()
Definition: core.py:1861
ns3::Time timeout
typedef for union of different ActionValues
Definition: mgt-headers.h:1409
UnprotectedDmgActionValue unprotectedDmgAction
unprotected dmg
Definition: mgt-headers.h:1419
SelfProtectedActionValue selfProtectedAction
self protected
Definition: mgt-headers.h:1414
MultihopActionValue multihopAction
multi hop
Definition: mgt-headers.h:1415
RadioMeasurementActionValue radioMeasurementAction
radio measurement
Definition: mgt-headers.h:1412
PublicActionValue publicAction
public
Definition: mgt-headers.h:1413
BlockAckActionValue blockAck
block ack
Definition: mgt-headers.h:1411