A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::Ipv6ExtensionLooseRoutingHeader Class Reference

Header of IPv6 Extension Routing : Type 0 (Loose Routing) More...

#include <ipv6-extension-header.h>

+ Inheritance diagram for ns3::Ipv6ExtensionLooseRoutingHeader:
+ Collaboration diagram for ns3::Ipv6ExtensionLooseRoutingHeader:

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< Ipv6AddressGetRoutersAddress () 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.
- Public Member Functions inherited from ns3::Ipv6ExtensionRoutingHeader
 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.
- Public Member Functions inherited from ns3::Ipv6ExtensionHeader
 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.
- Public Member Functions inherited from ns3::Header
virtual ~Header ()

Static Public Member Functions

static TypeId GetTypeId ()
 Get the type identificator.

Private Types

typedef std::vector< Ipv6AddressVectorIpv6Address_t
 A vector of IPv6 Address.

Private Attributes

VectorIpv6Address_t m_routersAddress
 The vector of Routers' IPv6 Address.

Additional Inherited Members

- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
virtual void NotifyConstructionCompleted (void)

Detailed Description

Header of IPv6 Extension Routing : Type 0 (Loose Routing)

Definition at line 523 of file ipv6-extension-header.h.

Member Typedef Documentation

A vector of IPv6 Address.

Definition at line 610 of file ipv6-extension-header.h.

Constructor & Destructor Documentation

ns3::Ipv6ExtensionLooseRoutingHeader::Ipv6ExtensionLooseRoutingHeader ( )

Constructor.

Definition at line 499 of file ipv6-extension-header.cc.

ns3::Ipv6ExtensionLooseRoutingHeader::~Ipv6ExtensionLooseRoutingHeader ( )
virtual

Destructor.

Definition at line 504 of file ipv6-extension-header.cc.

Member Function Documentation

uint32_t ns3::Ipv6ExtensionLooseRoutingHeader::Deserialize ( Buffer::Iterator  start)
virtual
TypeId ns3::Ipv6ExtensionLooseRoutingHeader::GetInstanceTypeId ( void  ) const
virtual

Get the instance type ID.

Returns
instance type ID

Reimplemented from ns3::Ipv6ExtensionRoutingHeader.

Definition at line 494 of file ipv6-extension-header.cc.

References GetTypeId().

+ Here is the call graph for this function:

Ipv6Address ns3::Ipv6ExtensionLooseRoutingHeader::GetRouterAddress ( uint8_t  index) const

Get a Router IPv6 Address.

Parameters
indexthe index of the IPv6 Address
Returns
the router IPv6 Address

Definition at line 529 of file ipv6-extension-header.cc.

References m_routersAddress.

Referenced by ns3::Ipv6ExtensionLooseRouting::Process().

+ Here is the caller graph for this function:

std::vector< Ipv6Address > ns3::Ipv6ExtensionLooseRoutingHeader::GetRoutersAddress ( ) const

Get the vector of routers' address.

Returns
the vector of routers' address

Definition at line 519 of file ipv6-extension-header.cc.

References m_routersAddress.

uint32_t ns3::Ipv6ExtensionLooseRoutingHeader::GetSerializedSize ( void  ) const
virtual

Get the serialized size of the packet.

Returns
size

Reimplemented from ns3::Ipv6ExtensionRoutingHeader.

Definition at line 547 of file ipv6-extension-header.cc.

References m_routersAddress.

Referenced by Deserialize(), and ns3::Ipv6ExtensionLooseRouting::Process().

+ Here is the caller graph for this function:

TypeId ns3::Ipv6ExtensionLooseRoutingHeader::GetTypeId ( void  )
static

Get the type identificator.

This method returns the TypeId associated to ns3::Ipv6ExtensionLooseRoutingHeader.

Returns
type identificator

No Attributes defined for this type.
No TraceSources defined for this type.

Reimplemented from ns3::Ipv6ExtensionRoutingHeader.

Definition at line 485 of file ipv6-extension-header.cc.

References ns3::TypeId::AddConstructor().

Referenced by GetInstanceTypeId().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::Ipv6ExtensionLooseRoutingHeader::Print ( std::ostream &  os) const
virtual

Print some informations about the packet.

Parameters
osoutput stream
Returns
info about this packet

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.

+ Here is the call graph for this function:

void ns3::Ipv6ExtensionLooseRoutingHeader::SetNumberAddress ( uint8_t  n)

Set the number of routers' address.

Parameters
nthe 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().

+ Here is the caller graph for this function:

void ns3::Ipv6ExtensionLooseRoutingHeader::SetRouterAddress ( uint8_t  index,
Ipv6Address  addr 
)

Set a Router IPv6 Address.

Parameters
indexthe index of the IPv6 Address
addrthe new IPv6 Address

Definition at line 524 of file ipv6-extension-header.cc.

References m_routersAddress.

Referenced by ns3::Ipv6ExtensionLooseRouting::Process().

+ Here is the caller graph for this function:

void ns3::Ipv6ExtensionLooseRoutingHeader::SetRoutersAddress ( std::vector< Ipv6Address routersAddress)

Set the vector of routers' address.

Parameters
routersAddressthe vector of routers's address

Definition at line 514 of file ipv6-extension-header.cc.

References m_routersAddress.

Referenced by ns3::Ping6::Send().

+ Here is the caller graph for this function:

Member Data Documentation

VectorIpv6Address_t ns3::Ipv6ExtensionLooseRoutingHeader::m_routersAddress
private

The documentation for this class was generated from the following files: