See IEEE 802.11 chapter 7.3.1.11 Header format: | category: 1 | action value: 1 |. More...
#include "mgt-headers.h"
Classes | |
union | ActionValue |
typedef for union of different ActionValues More... | |
Public Member Functions | |
WifiActionHeader () | |
~WifiActionHeader () override | |
uint32_t | Deserialize (Buffer::Iterator start) override |
ActionValue | GetAction () const |
Return the action value. More... | |
CategoryValue | GetCategory () const |
Return the category value. More... | |
TypeId | GetInstanceTypeId () const override |
Get the most derived TypeId for this Object. More... | |
uint32_t | GetSerializedSize () const override |
void | Print (std::ostream &os) const override |
void | Serialize (Buffer::Iterator start) const override |
void | SetAction (CategoryValue type, ActionValue action) |
Set action for this Action header. More... | |
![]() | |
~Header () override | |
virtual uint32_t | Deserialize (Buffer::Iterator start)=0 |
Deserialize the object from a buffer iterator. More... | |
virtual uint32_t | Deserialize (Buffer::Iterator start, Buffer::Iterator end) |
Deserialize the object from a buffer iterator. More... | |
![]() | |
virtual uint32_t | Deserialize (Buffer::Iterator start, Buffer::Iterator end) |
Deserialize the object from a buffer iterator. More... | |
![]() | |
virtual | ~ObjectBase () |
Virtual destructor. More... | |
void | GetAttribute (std::string name, AttributeValue &value) const |
Get the value of an attribute, raising fatal errors if unsuccessful. More... | |
bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
Get the value of an attribute without raising errors. More... | |
void | SetAttribute (std::string name, const AttributeValue &value) |
Set a single attribute, raising fatal errors if unsuccessful. More... | |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
Set a single attribute without raising errors. More... | |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
Connect a TraceSource to a Callback with a context. More... | |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
Connect a TraceSource to a Callback without a context. More... | |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected with a context. More... | |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected without a context. More... | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Register this type. More... | |
![]() | |
static TypeId | GetTypeId () |
Get the type ID. More... | |
![]() | |
static TypeId | GetTypeId () |
Get the type ID. More... | |
![]() | |
static TypeId | GetTypeId () |
Get the type ID. More... | |
Private Member Functions | |
std::string | CategoryValueToString (CategoryValue value) const |
Category value to string function. More... | |
std::string | SelfProtectedActionValueToString (SelfProtectedActionValue value) const |
Self protected action value to string function. More... | |
Private Attributes | |
uint8_t | m_actionValue |
Action value. More... | |
uint8_t | m_category |
Category of the action. More... | |
Additional Inherited Members | |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. More... | |
virtual void | NotifyConstructionCompleted () |
Notifier called once the ObjectBase is fully constructed. More... | |
![]() | |
static TypeId | GetObjectIid () |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. More... | |
See IEEE 802.11 chapter 7.3.1.11 Header format: | category: 1 | action value: 1 |.
Definition at line 1278 of file mgt-headers.h.
Block Ack Action field values See 802.11 Table 8-202.
Enumerator | |
---|---|
BLOCK_ACK_ADDBA_REQUEST | |
BLOCK_ACK_ADDBA_RESPONSE | |
BLOCK_ACK_DELBA |
Definition at line 1321 of file mgt-headers.h.
CategoryValue enumeration.
Enumerator | |
---|---|
QOS | |
BLOCK_ACK | |
PUBLIC | |
RADIO_MEASUREMENT | |
MESH | |
MULTIHOP | |
SELF_PROTECTED | |
DMG | |
FST | |
UNPROTECTED_DMG | |
VENDOR_SPECIFIC_ACTION |
Definition at line 1290 of file mgt-headers.h.
DMG Action field values See 802.11ad Table 8-281b.
Definition at line 1386 of file mgt-headers.h.
FST Action field values See 802.11ad Table 8-281x.
Enumerator | |
---|---|
FST_SETUP_REQUEST | |
FST_SETUP_RESPONSE | |
FST_TEAR_DOWN | |
FST_ACK_REQUEST | |
FST_ACK_RESPONSE | |
ON_CHANNEL_TUNNEL_REQUEST |
Definition at line 1417 of file mgt-headers.h.
MeshActionValue enumeration.
Definition at line 1347 of file mgt-headers.h.
MultihopActionValue enumeration.
Enumerator | |
---|---|
PROXY_UPDATE | |
PROXY_UPDATE_CONFIRMATION |
Definition at line 1366 of file mgt-headers.h.
PublicActionValue enumeration.
Enumerator | |
---|---|
QAB_REQUEST | |
QAB_RESPONSE |
Definition at line 1329 of file mgt-headers.h.
QosActionValue enumeration.
Enumerator | |
---|---|
ADDTS_REQUEST | |
ADDTS_RESPONSE | |
DELTS | |
SCHEDULE | |
QOS_MAP_CONFIGURE |
Definition at line 1308 of file mgt-headers.h.
RadioMeasurementActionValue enumeration.
Enumerator | |
---|---|
RADIO_MEASUREMENT_REQUEST | |
RADIO_MEASUREMENT_REPORT | |
LINK_MEASUREMENT_REQUEST | |
LINK_MEASUREMENT_REPORT | |
NEIGHBOR_REPORT_REQUEST | |
NEIGHBOR_REPORT_RESPONSE |
Definition at line 1336 of file mgt-headers.h.
SelfProtectedActionValue enumeration.
Enumerator | |
---|---|
PEER_LINK_OPEN | |
PEER_LINK_CONFIRM | |
PEER_LINK_CLOSE | |
GROUP_KEY_INFORM | |
GROUP_KEY_ACK |
Definition at line 1373 of file mgt-headers.h.
Unprotected DMG action field values See 802.11ad Table 8-281ae.
Enumerator | |
---|---|
UNPROTECTED_DMG_ANNOUNCE | |
UNPROTECTED_DMG_BRP | |
UNPROTECTED_MIMO_BF_SETUP | |
UNPROTECTED_MIMO_BF_POLL | |
UNPROTECTED_MIMO_BF_FEEDBACK | |
UNPROTECTED_MIMO_BF_SELECTION |
Definition at line 1431 of file mgt-headers.h.
ns3::WifiActionHeader::WifiActionHeader | ( | ) |
Definition at line 2129 of file mgt-headers.cc.
|
override |
Definition at line 2133 of file mgt-headers.cc.
|
private |
Category value to string function.
value | the category value |
Definition at line 2549 of file mgt-headers.cc.
References BLOCK_ACK, DMG, FST, MESH, MULTIHOP, PUBLIC, QOS, RADIO_MEASUREMENT, SELF_PROTECTED, UNPROTECTED_DMG, second::value, and VENDOR_SPECIFIC_ACTION.
Referenced by Print().
|
overridevirtual |
start | an iterator which points to where the header should read from. |
This method is used by Packet::RemoveHeader to re-create a header from the byte buffer of a packet. The data read is expected to match bit-for-bit the representation of this header in real networks.
Note that data is not actually removed from the buffer to which the iterator points. Both Packet::RemoveHeader() and Packet::PeekHeader() call Deserialize(), but only the RemoveHeader() has additional statements to remove the header bytes from the underlying buffer and associated metadata.
Implements ns3::Header.
Definition at line 2634 of file mgt-headers.cc.
References ns3::Buffer::Iterator::GetDistanceFrom(), m_actionValue, m_category, ns3::Buffer::Iterator::ReadU8(), and two-ray-to-three-gpp-ch-calibration::start.
WifiActionHeader::ActionValue ns3::WifiActionHeader::GetAction | ( | ) | const |
Return the action value.
Definition at line 2224 of file mgt-headers.cc.
References ADDTS_REQUEST, ADDTS_RESPONSE, BLOCK_ACK, BLOCK_ACK_ADDBA_REQUEST, BLOCK_ACK_ADDBA_RESPONSE, BLOCK_ACK_DELBA, ns3::WifiActionHeader::ActionValue::blockAck, CONGESTION_CONTROL_NOTIFICATION, DELTS, DMG, DMG_DTP_REQUEST, DMG_DTP_RESPONSE, DMG_HANDOVER_REQUEST, DMG_HANDOVER_RESPONSE, DMG_INFORMATION_REQUEST, DMG_INFORMATION_RESPONSE, DMG_MULTI_RELAY_CHANNEL_MEASUREMENT_REPORT, DMG_MULTI_RELAY_CHANNEL_MEASUREMENT_REQUEST, DMG_POWER_SAVE_CONFIGURATION_REQUEST, DMG_POWER_SAVE_CONFIGURATION_RESPONSE, DMG_RELAY_ACK_REQUEST, DMG_RELAY_ACK_RESPONSE, DMG_RELAY_SEARCH_REQUEST, DMG_RELAY_SEARCH_RESPONSE, DMG_RLS_ANNOUNCEMENT, DMG_RLS_REQUEST, DMG_RLS_RESPONSE, DMG_RLS_TEARDOWN, DMG_ROC_REQUEST, DMG_ROC_RESPONSE, DMG_TPA_REQUEST, DMG_TPA_RESPONSE, ns3::WifiActionHeader::ActionValue::dmgAction, FST, FST_ACK_REQUEST, FST_ACK_RESPONSE, FST_SETUP_REQUEST, FST_SETUP_RESPONSE, FST_TEAR_DOWN, ns3::WifiActionHeader::ActionValue::fstAction, GROUP_KEY_ACK, GROUP_KEY_INFORM, LINK_MEASUREMENT_REPORT, LINK_MEASUREMENT_REQUEST, LINK_METRIC_REPORT, m_actionValue, m_category, MDA_SETUP_REPLY, MDA_SETUP_REQUEST, MDAOP_ADVERTISMENT_REQUEST, MDAOP_ADVERTISMENTS, MDAOP_SET_TEARDOWN, MESH, ns3::WifiActionHeader::ActionValue::meshAction, MULTIHOP, ns3::WifiActionHeader::ActionValue::multihopAction, NEIGHBOR_REPORT_REQUEST, NEIGHBOR_REPORT_RESPONSE, NS_FATAL_ERROR, ON_CHANNEL_TUNNEL_REQUEST, PATH_SELECTION, PEER_LINK_CLOSE, PEER_LINK_CONFIRM, PEER_LINK_OPEN, PORTAL_ANNOUNCEMENT, PROXY_UPDATE, PROXY_UPDATE_CONFIRMATION, PUBLIC, ns3::WifiActionHeader::ActionValue::publicAction, QAB_REQUEST, QAB_RESPONSE, QOS, ns3::WifiActionHeader::ActionValue::qos, QOS_MAP_CONFIGURE, RADIO_MEASUREMENT, RADIO_MEASUREMENT_REPORT, RADIO_MEASUREMENT_REQUEST, ns3::WifiActionHeader::ActionValue::radioMeasurementAction, SCHEDULE, SELF_PROTECTED, ns3::WifiActionHeader::ActionValue::selfProtectedAction, TBTT_ADJUSTMENT_REQUEST, TBTT_ADJUSTMENT_RESPONSE, UNPROTECTED_DMG, UNPROTECTED_DMG_ANNOUNCE, UNPROTECTED_DMG_BRP, UNPROTECTED_MIMO_BF_FEEDBACK, UNPROTECTED_MIMO_BF_POLL, UNPROTECTED_MIMO_BF_SELECTION, UNPROTECTED_MIMO_BF_SETUP, and ns3::WifiActionHeader::ActionValue::unprotectedDmgAction.
Referenced by ns3::GetTid(), ns3::HtFrameExchangeManager::NotifyPacketDiscarded(), ns3::HtFrameExchangeManager::NotifyReceivedNormalAck(), ns3::WifiMac::Receive(), and ns3::dot11s::PeerManagementProtocolMac::Receive().
WifiActionHeader::CategoryValue ns3::WifiActionHeader::GetCategory | ( | ) | const |
Return the category value.
Definition at line 2191 of file mgt-headers.cc.
References BLOCK_ACK, DMG, FST, m_category, MESH, MULTIHOP, NS_FATAL_ERROR, PUBLIC, QOS, RADIO_MEASUREMENT, SELF_PROTECTED, UNPROTECTED_DMG, and VENDOR_SPECIFIC_ACTION.
Referenced by ns3::GetTid(), ns3::HtFrameExchangeManager::NotifyPacketDiscarded(), ns3::HtFrameExchangeManager::NotifyReceivedNormalAck(), ns3::WifiMac::Receive(), ns3::dot11s::PeerManagementProtocolMac::Receive(), ns3::dot11s::HwmpProtocolMac::ReceiveAction(), and ns3::dot11s::PeerManagementProtocolMac::UpdateOutcomingFrame().
|
overridevirtual |
Get the most derived TypeId for this Object.
This method is typically implemented by ns3::Object::GetInstanceTypeId but some classes which derive from ns3::ObjectBase directly have to implement it themselves.
Implements ns3::ObjectBase.
Definition at line 2543 of file mgt-headers.cc.
References GetTypeId().
|
overridevirtual |
This method is used by Packet::AddHeader to store a header into the byte buffer of a packet. This method should return the number of bytes which are needed to store the full header data by Serialize.
Implements ns3::Header.
Definition at line 2621 of file mgt-headers.cc.
|
static |
Register this type.
Definition at line 2533 of file mgt-headers.cc.
References ns3::TypeId::SetParent().
Referenced by GetInstanceTypeId().
|
overridevirtual |
os | output stream This method is used by Packet::Print to print the content of a header as ascii data to a c++ output stream. Although the header is free to format its output as it wishes, it is recommended to follow a few rules to integrate with the packet pretty printer: start with flags, small field values located between a pair of parens. Values should be separated by whitespace. Follow the parens with the important fields, separated by whitespace. i.e.: (field1 val1 field2 val2 field3 val3) field4 val4 field5 val5 |
Implements ns3::Header.
Definition at line 2614 of file mgt-headers.cc.
References CategoryValueToString(), m_actionValue, m_category, and SelfProtectedActionValueToString().
|
private |
Self protected action value to string function.
value | the protected action value |
Definition at line 2583 of file mgt-headers.cc.
References GROUP_KEY_ACK, GROUP_KEY_INFORM, PEER_LINK_CLOSE, PEER_LINK_CONFIRM, PEER_LINK_OPEN, and second::value.
Referenced by Print().
|
overridevirtual |
start | an iterator which points to where the header should be written. |
This method is used by Packet::AddHeader to store a header into the byte buffer of a packet. The data written is expected to match bit-for-bit the representation of this header in a real network.
Implements ns3::Header.
Definition at line 2627 of file mgt-headers.cc.
References m_actionValue, m_category, and two-ray-to-three-gpp-ch-calibration::start.
void ns3::WifiActionHeader::SetAction | ( | WifiActionHeader::CategoryValue | type, |
WifiActionHeader::ActionValue | action | ||
) |
Set action for this Action header.
type | category |
action | action |
Definition at line 2138 of file mgt-headers.cc.
References check-style-clang-format::action, BLOCK_ACK, DMG, FST, m_actionValue, m_category, MESH, MULTIHOP, PUBLIC, QOS, RADIO_MEASUREMENT, SELF_PROTECTED, check-style-clang-format::type, UNPROTECTED_DMG, and VENDOR_SPECIFIC_ACTION.
Referenced by ns3::dot11s::HwmpProtocolMac::GetWifiActionHeader(), ns3::HtFrameExchangeManager::SendAddBaRequest(), ns3::HtFrameExchangeManager::SendAddBaResponse(), ns3::HtFrameExchangeManager::SendDelbaFrame(), and ns3::dot11s::PeerManagementProtocolMac::SendPeerLinkManagementFrame().
|
private |
Action value.
Definition at line 1503 of file mgt-headers.h.
Referenced by Deserialize(), GetAction(), Print(), Serialize(), and SetAction().
|
private |
Category of the action.
Definition at line 1502 of file mgt-headers.h.
Referenced by Deserialize(), GetAction(), GetCategory(), Print(), Serialize(), and SetAction().