23#include "ns3/mesh-wifi-interface-mac.h"
25#include "ns3/packet.h"
59 static TypeId tid =
TypeId (
"ns3::dot11s::PeerLinkOpenStart")
61 .SetGroupName (
"Mesh")
111 uint8_t length = i.
ReadU8 ();
115 NS_FATAL_ERROR (
"Broken frame: Element ID does not match IE itself!");
123 NS_FATAL_ERROR (
"Broken frame: Element ID does not match IE itself!");
159 static TypeId tid =
TypeId (
"ns3::dot11s::PeerLinkCloseStart")
161 .SetGroupName (
"Mesh")
195 uint8_t length = i.
ReadU8 ();
199 NS_FATAL_ERROR (
"Broken frame: Element ID does not match IE itself!");
239 static TypeId tid =
TypeId (
"ns3::dot11s::PeerLinkConfirmStart")
241 .SetGroupName (
"Mesh")
290 uint8_t length = i.
ReadU8 ();
294 NS_FATAL_ERROR (
"Broken frame: Element ID does not match IE itself!");
iterator in a Buffer instance
void WriteHtolsbU16(uint16_t data)
void Next(void)
go forward by one byte
uint16_t ReadLsbtohU16(void)
uint32_t GetDistanceFrom(Iterator const &o) const
uint16_t GetSerializedSize() const override
Get the size of the serialized IE including Element ID and length fields.
Buffer::Iterator Serialize(Buffer::Iterator start) const override
Serialize entire IE including Element ID and length fields.
The Supported Rates Information Element.
ExtendedSupportedRatesIE extended
extended supported rates info element
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
Describes Mesh Configuration Element see 7.3.2.86 of 802.11s draft 3.0.
virtual uint8_t DeserializeInformationField(Buffer::Iterator i, uint8_t length)
Deserialize information (i.e., the body of the IE, not including the Element ID and length octets)
virtual uint8_t GetInformationFieldSize() const
Length of serialized information (i.e., the length of the body of the IE, not including the Element I...
virtual WifiInformationElementId ElementId() const
virtual void Print(std::ostream &os) const
Generate human-readable form of IE.
bool IsEqual(IeMeshId const &o) const
Equality test.
virtual WifiInformationElementId ElementId() const
virtual uint8_t GetInformationFieldSize() const
Length of serialized information (i.e., the length of the body of the IE, not including the Element I...
virtual void Print(std::ostream &os) const
Generate human-readable form of IE.
virtual uint8_t DeserializeInformationField(Buffer::Iterator start, uint8_t length)
Deserialize information (i.e., the body of the IE, not including the Element ID and length octets)
802.11s Peer link close management frame
virtual uint32_t Deserialize(Buffer::Iterator start)
virtual TypeId GetInstanceTypeId() const
Get the most derived TypeId for this Object.
virtual void Print(std::ostream &os) const
static TypeId GetTypeId()
Get the type ID.
PlinkCloseStartFields GetFields() const
Get peer link close start fields.
virtual void Serialize(Buffer::Iterator start) const
virtual uint32_t GetSerializedSize() const
void SetPlinkCloseStart(PlinkCloseStartFields fields)
Set peer link close start fields.
802.11s Peer link confirm management frame
virtual void Print(std::ostream &os) const
virtual TypeId GetInstanceTypeId() const
Get the most derived TypeId for this Object.
void SetPlinkConfirmStart(PlinkConfirmStartFields fields)
Set peer link confirm start fields.
uint16_t m_capability
capability
virtual uint32_t Deserialize(Buffer::Iterator start)
PlinkConfirmStartFields GetFields() const
Get peer link confirm start fields.
virtual void Serialize(Buffer::Iterator start) const
SupportedRates m_rates
rates
virtual uint32_t GetSerializedSize() const
static TypeId GetTypeId()
Get the type ID.
IeConfiguration m_config
config
802.11s Peer link open management frame
virtual void Print(std::ostream &os) const
virtual void Serialize(Buffer::Iterator start) const
static TypeId GetTypeId()
Get the type ID.
virtual uint32_t Deserialize(Buffer::Iterator start)
void SetPlinkOpenStart(PlinkOpenStartFields fields)
Set peer link open start fields.
SupportedRates m_rates
rates
uint16_t m_capability
capability
IeConfiguration m_config
config
PlinkOpenStartFields GetFields() const
Get peer link open start fields.
virtual TypeId GetInstanceTypeId() const
Get the most derived TypeId for this Object.
virtual uint32_t GetSerializedSize() const
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate.
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
bool operator==(const MeshHeader &a, const MeshHeader &b)
Every class exported by the ns3 library is enclosed in the ns3 namespace.
uint8_t WifiInformationElementId
This type is used to represent an Information Element ID.
IeMeshId meshId
open and close
SupportedRates rates
open and confirm
IeConfiguration config
open and confirm
uint16_t capability
open and confirm
IeConfiguration config
open and confirm
SupportedRates rates
open and confirm
IeMeshId meshId
open and close
uint16_t capability
open and confirm