Header for IPv6 Extension. More...
#include <ipv6-extension-header.h>
Public Member Functions | |
Ipv6ExtensionHeader () | |
Constructor. More... | |
virtual | ~Ipv6ExtensionHeader () |
Destructor. More... | |
virtual uint32_t | Deserialize (Buffer::Iterator start) |
Deserialize the packet. More... | |
virtual TypeId | GetInstanceTypeId () const |
Get the instance type ID. More... | |
uint16_t | GetLength () const |
Get the length of the extension. More... | |
uint8_t | GetNextHeader () const |
Get the next header. More... | |
virtual uint32_t | GetSerializedSize () const |
Get the serialized size of the packet. More... | |
virtual void | Print (std::ostream &os) const |
Print some informations about the packet. More... | |
virtual void | Serialize (Buffer::Iterator start) const |
Serialize the packet. More... | |
void | SetLength (uint16_t length) |
void | SetNextHeader (uint8_t nextHeader) |
Set the "Next header" field. More... | |
![]() | |
virtual | ~Header () |
![]() | |
virtual | ~ObjectBase () |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Get the type identificator. More... | |
![]() | |
static TypeId | GetTypeId (void) |
![]() | |
static TypeId | GetTypeId (void) |
![]() | |
static TypeId | GetTypeId (void) |
Private Attributes | |
Buffer | m_data |
The data of the extension. More... | |
uint8_t | m_length |
The "length" field. More... | |
uint8_t | m_nextHeader |
The "next header" field. More... | |
Additional Inherited Members | |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
Header for IPv6 Extension.
Doxygen introspection did not find any typical Config paths.
No Attributes are defined for this type.
No TraceSources are defined for this type.
Definition at line 39 of file ipv6-extension-header.h.
ns3::Ipv6ExtensionHeader::Ipv6ExtensionHeader | ( | ) |
Constructor.
Definition at line 47 of file ipv6-extension-header.cc.
|
virtual |
Destructor.
Definition at line 54 of file ipv6-extension-header.cc.
|
virtual |
Deserialize the packet.
start | Buffer iterator |
Implements ns3::Header.
Reimplemented in ns3::Ipv6ExtensionAHHeader, ns3::Ipv6ExtensionESPHeader, ns3::Ipv6ExtensionLooseRoutingHeader, ns3::Ipv6ExtensionRoutingHeader, ns3::Ipv6ExtensionFragmentHeader, ns3::Ipv6ExtensionDestinationHeader, and ns3::Ipv6ExtensionHopByHopHeader.
Definition at line 97 of file ipv6-extension-header.cc.
References ns3::Buffer::AddAtEnd(), ns3::Buffer::Begin(), data, GetLength(), GetSerializedSize(), ns3::Buffer::GetSize(), m_data, m_length, m_nextHeader, ns3::Buffer::Iterator::Read(), ns3::Buffer::Iterator::ReadU8(), ns3::Buffer::RemoveAtEnd(), visualizer.core::start(), and ns3::Buffer::Iterator::Write().
|
virtual |
Get the instance type ID.
Implements ns3::ObjectBase.
Reimplemented in ns3::Ipv6ExtensionAHHeader, ns3::Ipv6ExtensionESPHeader, ns3::Ipv6ExtensionLooseRoutingHeader, ns3::Ipv6ExtensionRoutingHeader, ns3::Ipv6ExtensionFragmentHeader, ns3::Ipv6ExtensionDestinationHeader, and ns3::Ipv6ExtensionHopByHopHeader.
Definition at line 42 of file ipv6-extension-header.cc.
References GetTypeId().
uint16_t ns3::Ipv6ExtensionHeader::GetLength | ( | ) | const |
Get the length of the extension.
Definition at line 73 of file ipv6-extension-header.cc.
References m_length.
Referenced by Deserialize(), ns3::Ipv6ExtensionHopByHopHeader::Deserialize(), ns3::Ipv6ExtensionDestinationHeader::Deserialize(), ns3::Ipv6ExtensionFragment::GetFragments(), Print(), ns3::Ipv6ExtensionHopByHopHeader::Print(), ns3::Ipv6ExtensionDestinationHeader::Print(), ns3::Ipv6ExtensionFragmentHeader::Print(), ns3::Ipv6ExtensionRoutingHeader::Print(), ns3::Ipv6ExtensionLooseRoutingHeader::Print(), ns3::Ipv6ExtensionHopByHop::Process(), ns3::Ipv6ExtensionDestination::Process(), ns3::Ipv6ExtensionLooseRouting::Process(), ns3::Ipv6ExtensionFragmentHeader::Serialize(), ns3::Ipv6ExtensionRoutingHeader::Serialize(), and ns3::Ipv6ExtensionLooseRoutingHeader::Serialize().
uint8_t ns3::Ipv6ExtensionHeader::GetNextHeader | ( | ) | const |
Get the next header.
Definition at line 63 of file ipv6-extension-header.cc.
References m_nextHeader.
Referenced by ns3::Ipv6ExtensionFragment::GetFragments(), Print(), ns3::Ipv6ExtensionHopByHopHeader::Print(), ns3::Ipv6ExtensionDestinationHeader::Print(), ns3::Ipv6ExtensionFragmentHeader::Print(), ns3::Ipv6ExtensionRoutingHeader::Print(), ns3::Ipv6ExtensionLooseRoutingHeader::Print(), ns3::Ipv6ExtensionHopByHop::Process(), ns3::Ipv6ExtensionDestination::Process(), ns3::Ipv6ExtensionFragment::Process(), ns3::Ipv6ExtensionLooseRouting::Process(), ns3::Ipv6ExtensionHopByHopHeader::Serialize(), ns3::Ipv6ExtensionDestinationHeader::Serialize(), ns3::Ipv6ExtensionFragmentHeader::Serialize(), ns3::Ipv6ExtensionRoutingHeader::Serialize(), and ns3::Ipv6ExtensionLooseRoutingHeader::Serialize().
|
virtual |
Get the serialized size of the packet.
Implements ns3::Header.
Reimplemented in ns3::Ipv6ExtensionAHHeader, ns3::Ipv6ExtensionESPHeader, ns3::Ipv6ExtensionLooseRoutingHeader, ns3::Ipv6ExtensionRoutingHeader, ns3::Ipv6ExtensionFragmentHeader, ns3::Ipv6ExtensionDestinationHeader, and ns3::Ipv6ExtensionHopByHopHeader.
Definition at line 83 of file ipv6-extension-header.cc.
Referenced by Deserialize().
|
static |
Get the type identificator.
Definition at line 33 of file ipv6-extension-header.cc.
References ns3::TypeId::AddConstructor().
Referenced by GetInstanceTypeId().
|
virtual |
Print some informations about the packet.
os | output stream |
Implements ns3::Header.
Reimplemented in ns3::Ipv6ExtensionAHHeader, ns3::Ipv6ExtensionESPHeader, ns3::Ipv6ExtensionLooseRoutingHeader, ns3::Ipv6ExtensionRoutingHeader, ns3::Ipv6ExtensionFragmentHeader, ns3::Ipv6ExtensionDestinationHeader, and ns3::Ipv6ExtensionHopByHopHeader.
Definition at line 78 of file ipv6-extension-header.cc.
References GetLength(), and GetNextHeader().
|
virtual |
Serialize the packet.
start | Buffer iterator |
Implements ns3::Header.
Reimplemented in ns3::Ipv6ExtensionAHHeader, ns3::Ipv6ExtensionESPHeader, ns3::Ipv6ExtensionLooseRoutingHeader, ns3::Ipv6ExtensionRoutingHeader, ns3::Ipv6ExtensionFragmentHeader, ns3::Ipv6ExtensionDestinationHeader, and ns3::Ipv6ExtensionHopByHopHeader.
Definition at line 88 of file ipv6-extension-header.cc.
References ns3::Buffer::GetSize(), m_data, m_length, m_nextHeader, ns3::Buffer::PeekData(), visualizer.core::start(), ns3::Buffer::Iterator::Write(), and ns3::Buffer::Iterator::WriteU8().
void ns3::Ipv6ExtensionHeader::SetLength | ( | uint16_t | length | ) |
brief Set the length of the extension.
length | the length of the extension in bytes |
Definition at line 68 of file ipv6-extension-header.cc.
References m_length.
Referenced by ns3::Ipv6ExtensionHopByHopHeader::Deserialize(), ns3::Ipv6ExtensionDestinationHeader::Deserialize(), ns3::Ipv6ExtensionFragmentHeader::Deserialize(), ns3::Ipv6ExtensionRoutingHeader::Deserialize(), ns3::Ipv6ExtensionLooseRoutingHeader::Deserialize(), ns3::Ipv6ExtensionFragment::GetFragments(), ns3::Ipv6ExtensionLooseRouting::Process(), and ns3::Ping6::Send().
void ns3::Ipv6ExtensionHeader::SetNextHeader | ( | uint8_t | nextHeader | ) |
Set the "Next header" field.
nextHeader | the next header number |
Definition at line 58 of file ipv6-extension-header.cc.
References m_nextHeader.
Referenced by ns3::Ipv6ExtensionHopByHopHeader::Deserialize(), ns3::Ipv6ExtensionDestinationHeader::Deserialize(), ns3::Ipv6ExtensionFragmentHeader::Deserialize(), ns3::Ipv6ExtensionRoutingHeader::Deserialize(), ns3::Ipv6ExtensionLooseRoutingHeader::Deserialize(), ns3::Ipv6ExtensionFragment::GetFragments(), and ns3::Ping6::Send().
|
private |
The data of the extension.
Definition at line 128 of file ipv6-extension-header.h.
Referenced by Deserialize(), and Serialize().
|
private |
The "length" field.
Definition at line 123 of file ipv6-extension-header.h.
Referenced by Deserialize(), GetLength(), Serialize(), and SetLength().
|
private |
The "next header" field.
Definition at line 118 of file ipv6-extension-header.h.
Referenced by Deserialize(), GetNextHeader(), Serialize(), and SetNextHeader().