Header of IPv6 Extension Routing : Type 0 (Loose Routing) More...
#include <ipv6-extension-header.h>
Public Member Functions | |
Ipv6ExtensionLooseRoutingHeader () | |
Constructor. | |
virtual | ~Ipv6ExtensionLooseRoutingHeader () |
Destructor. | |
virtual uint32_t | Deserialize (Buffer::Iterator start) |
Deserialize the packet. | |
virtual TypeId | GetInstanceTypeId () const |
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. | |
virtual uint32_t | GetSerializedSize () const |
Get the serialized size of the packet. | |
virtual void | Print (std::ostream &os) const |
Print some informations about the packet. | |
virtual void | Serialize (Buffer::Iterator start) const |
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. | |
virtual | ~Ipv6ExtensionRoutingHeader () |
Destructor. | |
uint8_t | GetSegmentsLeft () const |
Get the field "Segments left". | |
uint8_t | GetTypeRouting () const |
Get the field "Type of Routing". | |
void | SetSegmentsLeft (uint8_t segmentsLeft) |
Set the "Segments left" field. | |
void | SetTypeRouting (uint8_t typeRouting) |
Set the "Type of Routing" field. | |
![]() | |
Ipv6ExtensionHeader () | |
Constructor. | |
virtual | ~Ipv6ExtensionHeader () |
Destructor. | |
uint16_t | GetLength () const |
Get the length of the extension. | |
uint8_t | GetNextHeader () const |
Get the next header. | |
void | SetLength (uint16_t length) |
void | SetNextHeader (uint8_t nextHeader) |
Set the "Next header" field. | |
![]() | |
virtual | ~Header () |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Get the type identificator. |
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) |
virtual void | NotifyConstructionCompleted (void) |
Header of IPv6 Extension Routing : Type 0 (Loose Routing)
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 523 of file ipv6-extension-header.h.
|
private |
Definition at line 610 of file ipv6-extension-header.h.
ns3::Ipv6ExtensionLooseRoutingHeader::Ipv6ExtensionLooseRoutingHeader | ( | ) |
Constructor.
Definition at line 499 of file ipv6-extension-header.cc.
|
virtual |
Destructor.
Definition at line 504 of file ipv6-extension-header.cc.
|
virtual |
Deserialize the packet.
start | Buffer iterator |
Reimplemented from ns3::Ipv6ExtensionRoutingHeader.
Definition at line 570 of file ipv6-extension-header.cc.
References GetSerializedSize(), m_routersAddress, ns3::Buffer::Iterator::Read(), ns3::Buffer::Iterator::ReadU32(), ns3::Buffer::Iterator::ReadU8(), ns3::Ipv6ExtensionHeader::SetLength(), ns3::Ipv6ExtensionHeader::SetNextHeader(), ns3::Ipv6ExtensionRoutingHeader::SetSegmentsLeft(), ns3::Ipv6ExtensionRoutingHeader::SetTypeRouting(), and visualizer.core::start().
|
virtual |
Get the instance type ID.
Reimplemented from ns3::Ipv6ExtensionRoutingHeader.
Definition at line 494 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 529 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 519 of file ipv6-extension-header.cc.
References m_routersAddress.
|
virtual |
Get the serialized size of the packet.
Reimplemented from ns3::Ipv6ExtensionRoutingHeader.
Definition at line 547 of file ipv6-extension-header.cc.
References m_routersAddress.
Referenced by Deserialize(), and ns3::Ipv6ExtensionLooseRouting::Process().
|
static |
Get the type identificator.
Reimplemented from ns3::Ipv6ExtensionRoutingHeader.
Definition at line 485 of file ipv6-extension-header.cc.
References ns3::TypeId::AddConstructor().
Referenced by GetInstanceTypeId().
|
virtual |
Print some informations about the packet.
os | output stream |
Reimplemented from ns3::Ipv6ExtensionRoutingHeader.
Definition at line 534 of file ipv6-extension-header.cc.
References ns3::Ipv6ExtensionHeader::GetLength(), ns3::Ipv6ExtensionHeader::GetNextHeader(), ns3::Ipv6ExtensionRoutingHeader::GetSegmentsLeft(), ns3::Ipv6ExtensionRoutingHeader::GetTypeRouting(), and m_routersAddress.
|
virtual |
Serialize the packet.
start | Buffer iterator |
Reimplemented from ns3::Ipv6ExtensionRoutingHeader.
Definition at line 552 of file ipv6-extension-header.cc.
References ns3::Ipv6ExtensionHeader::GetLength(), ns3::Ipv6ExtensionHeader::GetNextHeader(), ns3::Ipv6ExtensionRoutingHeader::GetSegmentsLeft(), ns3::Ipv6ExtensionRoutingHeader::GetTypeRouting(), m_routersAddress, visualizer.core::start(), 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 508 of file ipv6-extension-header.cc.
References m_routersAddress.
Referenced by ns3::Ipv6ExtensionFragment::GetFragments(), and ns3::Ipv6ExtensionLooseRouting::Process().
void ns3::Ipv6ExtensionLooseRoutingHeader::SetRouterAddress | ( | uint8_t | index, |
Ipv6Address | addr | ||
) |
Set a Router IPv6 Address.
Definition at line 524 of file ipv6-extension-header.cc.
References m_routersAddress.
Referenced by 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 514 of file ipv6-extension-header.cc.
References m_routersAddress.
Referenced by ns3::Ping6::Send().
|
private |
The vector of Routers' IPv6 Address.
Definition at line 615 of file ipv6-extension-header.h.
Referenced by Deserialize(), GetRouterAddress(), GetRoutersAddress(), GetSerializedSize(), Print(), Serialize(), SetNumberAddress(), SetRouterAddress(), and SetRoutersAddress().