Header of IPv6 Extension Routing : Type 0 (Loose Routing) More...
#include "ipv6-extension-header.h"
Public Member Functions | |
Ipv6ExtensionLooseRoutingHeader () | |
Constructor. | |
~Ipv6ExtensionLooseRoutingHeader () override | |
Destructor. | |
uint32_t | Deserialize (Buffer::Iterator start) override |
Deserialize the packet. | |
TypeId | GetInstanceTypeId () const override |
Get the instance type ID. | |
Ipv6Address | GetRouterAddress (uint8_t index) const |
Get a Router IPv6 Address. | |
std::vector< Ipv6Address > | GetRoutersAddress () const |
Get the vector of routers' address. | |
uint32_t | GetSerializedSize () const override |
Get the serialized size of the packet. | |
void | Print (std::ostream &os) const override |
Print some information about the packet. | |
void | Serialize (Buffer::Iterator start) const override |
Serialize the packet. | |
void | SetNumberAddress (uint8_t n) |
Set the number of routers' address. | |
void | SetRouterAddress (uint8_t index, Ipv6Address addr) |
Set a Router IPv6 Address. | |
void | SetRoutersAddress (std::vector< Ipv6Address > routersAddress) |
Set the vector of routers' address. | |
![]() | |
Ipv6ExtensionRoutingHeader () | |
Constructor. | |
~Ipv6ExtensionRoutingHeader () override | |
Destructor. | |
uint32_t | Deserialize (Buffer::Iterator start) override |
Deserialize the packet. | |
TypeId | GetInstanceTypeId () const override |
Get the instance type ID. | |
uint8_t | GetSegmentsLeft () const |
Get the field "Segments left". | |
uint32_t | GetSerializedSize () const override |
Get the serialized size of the packet. | |
uint8_t | GetTypeRouting () const |
Get the field "Type of Routing". | |
void | Print (std::ostream &os) const override |
Print some information about the packet. | |
void | Serialize (Buffer::Iterator start) const override |
Serialize the packet. | |
void | SetSegmentsLeft (uint8_t segmentsLeft) |
Set the "Segments left" field. | |
void | SetTypeRouting (uint8_t typeRouting) |
Set the "Type of Routing" field. | |
![]() | |
Ipv6ExtensionHeader () | |
Constructor. | |
~Ipv6ExtensionHeader () override | |
Destructor. | |
uint32_t | Deserialize (Buffer::Iterator start) override |
Deserialize the packet. | |
TypeId | GetInstanceTypeId () const override |
Get the instance type ID. | |
uint16_t | GetLength () const |
Get the length of the extension. | |
uint8_t | GetNextHeader () const |
Get the next header. | |
uint32_t | GetSerializedSize () const override |
Get the serialized size of the packet. | |
void | Print (std::ostream &os) const override |
Print some information about the packet. | |
void | Serialize (Buffer::Iterator start) const override |
Serialize the packet. | |
void | SetLength (uint16_t length) |
brief Set the length of the extension. | |
void | SetNextHeader (uint8_t nextHeader) |
Set the "Next header" field. | |
![]() | |
~Header () override | |
uint32_t | Deserialize (Buffer::Iterator start) override=0 |
virtual uint32_t | Deserialize (Buffer::Iterator start)=0 |
Deserialize the object from a buffer iterator. | |
virtual uint32_t | Deserialize (Buffer::Iterator start, Buffer::Iterator end) |
Deserialize the object from a buffer iterator. | |
virtual uint32_t | GetSerializedSize () const =0 |
void | Print (std::ostream &os) const override=0 |
virtual void | Serialize (Buffer::Iterator start) const =0 |
virtual uint32_t | Deserialize (Buffer::Iterator start)=0 |
Deserialize the object from a buffer iterator. | |
virtual uint32_t | Deserialize (Buffer::Iterator start, Buffer::Iterator end) |
Deserialize the object from a buffer iterator. | |
virtual void | Print (std::ostream &os) const =0 |
Print the object contents. | |
![]() | |
virtual | ~ObjectBase () |
Virtual destructor. | |
void | GetAttribute (std::string name, AttributeValue &value) const |
Get the value of an attribute, raising fatal errors if unsuccessful. | |
bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
Get the value of an attribute without raising errors. | |
virtual TypeId | GetInstanceTypeId () const =0 |
Get the most derived TypeId for this Object. | |
void | SetAttribute (std::string name, const AttributeValue &value) |
Set a single attribute, raising fatal errors if unsuccessful. | |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
Set a single attribute without raising errors. | |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
Connect a TraceSource to a Callback with a context. | |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
Connect a TraceSource to a Callback without a context. | |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected with a context. | |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected without a context. | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Get the type identificator. | |
![]() | |
static TypeId | GetTypeId () |
Get the type identificator. | |
![]() | |
static TypeId | GetTypeId () |
Get the type identificator. | |
![]() | |
static TypeId | GetTypeId () |
Get the type ID. | |
![]() | |
static TypeId | GetTypeId () |
Get the type ID. | |
![]() | |
static TypeId | GetTypeId () |
Get the type ID. | |
Private Types | |
typedef std::vector< Ipv6Address > | VectorIpv6Address_t |
A vector of IPv6 Address. | |
Private Attributes | |
VectorIpv6Address_t | m_routersAddress |
The vector of Routers' IPv6 Address. | |
Additional Inherited Members | |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. | |
virtual void | NotifyConstructionCompleted () |
Notifier called once the ObjectBase is fully constructed. | |
![]() | |
uint8_t | m_length |
The "length" field. | |
![]() | |
static TypeId | GetObjectIid () |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. | |
Header of IPv6 Extension Routing : Type 0 (Loose 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 80 bytes (on a 64-bit architecture).
Definition at line 527 of file ipv6-extension-header.h.
|
private |
A vector of IPv6 Address.
Definition at line 613 of file ipv6-extension-header.h.
ns3::Ipv6ExtensionLooseRoutingHeader::Ipv6ExtensionLooseRoutingHeader | ( | ) |
Constructor.
Definition at line 569 of file ipv6-extension-header.cc.
|
override |
Destructor.
Definition at line 574 of file ipv6-extension-header.cc.
|
overridevirtual |
Deserialize the packet.
start | Buffer iterator |
Reimplemented from ns3::Ipv6ExtensionRoutingHeader.
Definition at line 656 of file ipv6-extension-header.cc.
References GetSerializedSize(), ns3::Ipv6ExtensionHeader::m_length, ns3::Buffer::Iterator::Read(), ns3::Buffer::Iterator::ReadU32(), ns3::Buffer::Iterator::ReadU8(), ns3::Ipv6ExtensionHeader::SetNextHeader(), SetNumberAddress(), SetRouterAddress(), ns3::Ipv6ExtensionRoutingHeader::SetSegmentsLeft(), and ns3::Ipv6ExtensionRoutingHeader::SetTypeRouting().
|
overridevirtual |
Get the instance type ID.
Reimplemented from ns3::Ipv6ExtensionRoutingHeader.
Definition at line 564 of file ipv6-extension-header.cc.
References GetTypeId().
Ipv6Address ns3::Ipv6ExtensionLooseRoutingHeader::GetRouterAddress | ( | uint8_t | index | ) | const |
Get a Router IPv6 Address.
index | the index of the IPv6 Address |
Definition at line 604 of file ipv6-extension-header.cc.
References m_routersAddress.
Referenced by ns3::Ipv6ExtensionLooseRouting::Process().
std::vector< Ipv6Address > ns3::Ipv6ExtensionLooseRoutingHeader::GetRoutersAddress | ( | ) | const |
Get the vector of routers' address.
Definition at line 592 of file ipv6-extension-header.cc.
References m_routersAddress.
|
overridevirtual |
Get the serialized size of the packet.
Reimplemented from ns3::Ipv6ExtensionRoutingHeader.
Definition at line 627 of file ipv6-extension-header.cc.
References m_routersAddress.
Referenced by Deserialize(), and ns3::Ipv6ExtensionLooseRouting::Process().
|
static |
Get the type identificator.
Definition at line 554 of file ipv6-extension-header.cc.
References ns3::TypeId::AddConstructor().
Referenced by GetInstanceTypeId().
|
overridevirtual |
Print some information about the packet.
os | output stream |
Reimplemented from ns3::Ipv6ExtensionRoutingHeader.
Definition at line 610 of file ipv6-extension-header.cc.
References ns3::Ipv6ExtensionHeader::GetLength(), ns3::Ipv6ExtensionHeader::GetNextHeader(), ns3::Ipv6ExtensionRoutingHeader::GetSegmentsLeft(), ns3::Ipv6ExtensionRoutingHeader::GetTypeRouting(), and m_routersAddress.
|
overridevirtual |
Serialize the packet.
start | Buffer iterator |
Reimplemented from ns3::Ipv6ExtensionRoutingHeader.
Definition at line 633 of file ipv6-extension-header.cc.
References ns3::Ipv6ExtensionHeader::GetNextHeader(), ns3::Ipv6ExtensionRoutingHeader::GetSegmentsLeft(), ns3::Ipv6ExtensionRoutingHeader::GetTypeRouting(), m_routersAddress, ns3::Buffer::Iterator::Write(), ns3::Buffer::Iterator::WriteU32(), and ns3::Buffer::Iterator::WriteU8().
void ns3::Ipv6ExtensionLooseRoutingHeader::SetNumberAddress | ( | uint8_t | n | ) |
Set the number of routers' address.
n | the number of routers' address |
Definition at line 579 of file ipv6-extension-header.cc.
References m_routersAddress.
Referenced by Deserialize().
void ns3::Ipv6ExtensionLooseRoutingHeader::SetRouterAddress | ( | uint8_t | index, |
Ipv6Address | addr | ||
) |
Set a Router IPv6 Address.
Definition at line 598 of file ipv6-extension-header.cc.
References m_routersAddress.
Referenced by Deserialize(), and ns3::Ipv6ExtensionLooseRouting::Process().
void ns3::Ipv6ExtensionLooseRoutingHeader::SetRoutersAddress | ( | std::vector< Ipv6Address > | routersAddress | ) |
Set the vector of routers' address.
routersAddress | the vector of routers's address |
Definition at line 586 of file ipv6-extension-header.cc.
References m_routersAddress.
Referenced by ns3::Ping::Send().
|
private |
The vector of Routers' IPv6 Address.
Definition at line 618 of file ipv6-extension-header.h.
Referenced by GetRouterAddress(), GetRoutersAddress(), GetSerializedSize(), Print(), Serialize(), SetNumberAddress(), SetRouterAddress(), and SetRoutersAddress().