23 #include "ns3/mesh-wifi-interface-mac.h"
25 #include "ns3/packet.h"
32 m_subtype (255), m_capability (0), m_aid (0), m_rates (
SupportedRates ()), m_meshId (),
88 static TypeId tid =
TypeId (
"ns3::dot11s::PeerLinkFrameStart")
90 .SetGroupName (
"Mesh")
103 os <<
"subtype = " << (uint16_t)
m_subtype << std::endl <<
"capability = " <<
m_capability << std::endl <<
"laid = "
104 << (uint16_t)
m_aid << std::endl <<
"rates = " <<
m_rates << std::endl <<
"meshId = ";
106 os << std::endl <<
"configuration = ";
196 uint8_t length = i.
ReadU8 ();
200 NS_FATAL_ERROR (
"Broken frame: Element ID does not match IE itself!");
207 uint8_t length = i.
ReadU8 ();
211 NS_FATAL_ERROR (
"Broken frame: Element ID does not match IE itself!");
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
802.11s Peer link management frame
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) ...
void SetPlinkFrameSubtype(uint8_t subtype)
virtual TypeId GetInstanceTypeId() const
Get the most derived TypeId for this Object.
virtual void Serialize(Buffer::Iterator start) const
uint16_t GetSerializedSize() const
Return the serialized size of this supported rates information element.
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file...
virtual WifiInformationElementId ElementId() const
Own unique Element ID.
#define NS_FATAL_ERROR(msg)
Fatal error handling.
The Supported Rates Information ElementThis class knows how to serialise and deserialise the Supporte...
virtual void Print(std::ostream &os) const
bool operator==(const MeshHeader &a, const MeshHeader &b)
uint32_t GetDistanceFrom(Iterator const &o) const
iterator in a Buffer instance
ExtendedSupportedRatesIE extended
virtual void Print(std::ostream &os) const
Generate human-readable form of IE.
Buffer::Iterator Serialize(Buffer::Iterator start) const
This information element is a bit special in that it is only included if there are more than 8 rates...
void Next(void)
go forward by one byte
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) ...
virtual WifiInformationElementId ElementId() const
Own unique Element ID.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
virtual uint8_t GetInformationFieldSize() const
Length of serialized information (i.e., the length of the body of the IE, not including the Element I...
PlinkFrameStartFields GetFields() const
void SetPlinkFrameStart(PlinkFrameStartFields)
void WriteHtolsbU16(uint16_t data)
virtual uint32_t GetSerializedSize() const
Describes Mesh Configuration Element see 7.3.2.86 of 802.11s draft 3.0.
bool IsEqual(IeMeshId const &o) const
uint16_t ReadLsbtohU16(void)
uint8_t WifiInformationElementId
This type is used to represent an Information Element ID.
virtual uint32_t Deserialize(Buffer::Iterator start)
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
virtual uint8_t GetInformationFieldSize() const
Length of serialized information (i.e., the length of the body of the IE, not including the Element I...
static TypeId GetTypeId()