Header of IPv6 Extension Routing. More...
#include "ipv6-extension-header.h"
Public Member Functions | |
Ipv6ExtensionRoutingHeader () | |
Constructor. More... | |
virtual | ~Ipv6ExtensionRoutingHeader () |
Destructor. More... | |
virtual uint32_t | Deserialize (Buffer::Iterator start) |
Deserialize the packet. More... | |
virtual TypeId | GetInstanceTypeId () const |
Get the instance type ID. More... | |
uint8_t | GetSegmentsLeft () const |
Get the field "Segments left". More... | |
virtual uint32_t | GetSerializedSize () const |
Get the serialized size of the packet. More... | |
uint8_t | GetTypeRouting () const |
Get the field "Type of Routing". More... | |
virtual void | Print (std::ostream &os) const |
Print some information about the packet. More... | |
virtual void | Serialize (Buffer::Iterator start) const |
Serialize the packet. More... | |
void | SetSegmentsLeft (uint8_t segmentsLeft) |
Set the "Segments left" field. More... | |
void | SetTypeRouting (uint8_t typeRouting) |
Set the "Type of Routing" field. More... | |
Public Member Functions inherited from ns3::Ipv6ExtensionHeader | |
Ipv6ExtensionHeader () | |
Constructor. More... | |
virtual | ~Ipv6ExtensionHeader () |
Destructor. More... | |
uint16_t | GetLength () const |
Get the length of the extension. More... | |
uint8_t | GetNextHeader () const |
Get the next header. More... | |
void | SetLength (uint16_t length) |
brief Set the length of the extension. More... | |
void | SetNextHeader (uint8_t nextHeader) |
Set the "Next header" field. More... | |
Public Member Functions inherited from ns3::Header | |
virtual | ~Header () |
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)=0 |
Deserialize the object from a buffer iterator. More... | |
Public Member Functions inherited from ns3::Chunk | |
virtual uint32_t | Deserialize (Buffer::Iterator start, Buffer::Iterator end) |
Deserialize the object from a buffer iterator. More... | |
Public Member Functions inherited from ns3::ObjectBase | |
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 erros. 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 () |
Get the type identificator. More... | |
Static Public Member Functions inherited from ns3::Ipv6ExtensionHeader | |
static TypeId | GetTypeId () |
Get the type identificator. More... | |
Static Public Member Functions inherited from ns3::Header | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Static Public Member Functions inherited from ns3::Chunk | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Private Attributes | |
uint8_t | m_segmentsLeft |
Number of left segments. More... | |
uint8_t | m_typeRouting |
Type of routing. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. More... | |
virtual void | NotifyConstructionCompleted (void) |
Notifier called once the ObjectBase is fully constructed. More... | |
Protected Attributes inherited from ns3::Ipv6ExtensionHeader | |
uint8_t | m_length |
The "length" field. More... | |
Related Functions inherited from ns3::ObjectBase | |
static TypeId | GetObjectIid (void) |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. More... | |
Header of IPv6 Extension Routing.
Introspection did not find any typical Config paths.
No Attributes are defined for this type.
No TraceSources are defined for this type.
Size of this type is 56 bytes (on a 64-bit architecture).
Definition at line 441 of file ipv6-extension-header.h.
ns3::Ipv6ExtensionRoutingHeader::Ipv6ExtensionRoutingHeader | ( | ) |
Constructor.
Definition at line 431 of file ipv6-extension-header.cc.
|
virtual |
Destructor.
Definition at line 437 of file ipv6-extension-header.cc.
|
virtual |
Deserialize the packet.
start | Buffer iterator |
Reimplemented from ns3::Ipv6ExtensionHeader.
Reimplemented in ns3::Ipv6ExtensionLooseRoutingHeader.
Definition at line 482 of file ipv6-extension-header.cc.
References GetSerializedSize(), ns3::Ipv6ExtensionHeader::m_length, m_segmentsLeft, m_typeRouting, ns3::Buffer::Iterator::ReadU8(), ns3::Ipv6ExtensionHeader::SetNextHeader(), and visualizer.core::start().
Referenced by ns3::SixLowPanNetDevice::DecompressLowPanNhc().
|
virtual |
Get the instance type ID.
Reimplemented from ns3::Ipv6ExtensionHeader.
Reimplemented in ns3::Ipv6ExtensionLooseRoutingHeader.
Definition at line 426 of file ipv6-extension-header.cc.
References GetTypeId().
uint8_t ns3::Ipv6ExtensionRoutingHeader::GetSegmentsLeft | ( | ) | const |
Get the field "Segments left".
Definition at line 456 of file ipv6-extension-header.cc.
References m_segmentsLeft.
Referenced by ns3::Ipv6ExtensionLooseRoutingHeader::Print(), ns3::Ipv6ExtensionLooseRouting::Process(), and ns3::Ipv6ExtensionLooseRoutingHeader::Serialize().
|
virtual |
Get the serialized size of the packet.
Reimplemented from ns3::Ipv6ExtensionHeader.
Reimplemented in ns3::Ipv6ExtensionLooseRoutingHeader.
Definition at line 467 of file ipv6-extension-header.cc.
Referenced by ns3::SixLowPanNetDevice::CompressLowPanNhc(), and Deserialize().
|
static |
Get the type identificator.
Definition at line 416 of file ipv6-extension-header.cc.
References ns3::TypeId::AddConstructor().
Referenced by GetInstanceTypeId().
uint8_t ns3::Ipv6ExtensionRoutingHeader::GetTypeRouting | ( | ) | const |
Get the field "Type of Routing".
Definition at line 446 of file ipv6-extension-header.cc.
References m_typeRouting.
Referenced by ns3::Ipv6ExtensionLooseRoutingHeader::Print(), and ns3::Ipv6ExtensionLooseRoutingHeader::Serialize().
|
virtual |
Print some information about the packet.
os | output stream |
Reimplemented from ns3::Ipv6ExtensionHeader.
Reimplemented in ns3::Ipv6ExtensionLooseRoutingHeader.
Definition at line 461 of file ipv6-extension-header.cc.
References ns3::Ipv6ExtensionHeader::GetLength(), ns3::Ipv6ExtensionHeader::GetNextHeader(), m_segmentsLeft, and m_typeRouting.
|
virtual |
Serialize the packet.
start | Buffer iterator |
Reimplemented from ns3::Ipv6ExtensionHeader.
Reimplemented in ns3::Ipv6ExtensionLooseRoutingHeader.
Definition at line 472 of file ipv6-extension-header.cc.
References ns3::Ipv6ExtensionHeader::GetNextHeader(), ns3::Ipv6ExtensionHeader::m_length, m_segmentsLeft, m_typeRouting, visualizer.core::start(), and ns3::Buffer::Iterator::WriteU8().
Referenced by ns3::SixLowPanNetDevice::CompressLowPanNhc().
void ns3::Ipv6ExtensionRoutingHeader::SetSegmentsLeft | ( | uint8_t | segmentsLeft | ) |
Set the "Segments left" field.
segmentsLeft | the number of segments left |
Definition at line 451 of file ipv6-extension-header.cc.
References m_segmentsLeft.
Referenced by ns3::Ipv6ExtensionLooseRoutingHeader::Deserialize(), ns3::Ipv6ExtensionLooseRouting::Process(), and ns3::Ping6::Send().
void ns3::Ipv6ExtensionRoutingHeader::SetTypeRouting | ( | uint8_t | typeRouting | ) |
Set the "Type of Routing" field.
typeRouting | the type of routing |
Definition at line 441 of file ipv6-extension-header.cc.
References m_typeRouting.
Referenced by ns3::Ipv6ExtensionLooseRoutingHeader::Deserialize(), and ns3::Ping6::Send().
|
private |
Number of left segments.
Definition at line 525 of file ipv6-extension-header.h.
Referenced by Deserialize(), GetSegmentsLeft(), Print(), Serialize(), and SetSegmentsLeft().
|
private |
Type of routing.
Definition at line 520 of file ipv6-extension-header.h.
Referenced by Deserialize(), GetTypeRouting(), Print(), Serialize(), and SetTypeRouting().