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

Header of IPv6 Extension Routing. More...

#include <ipv6-extension-header.h>

+ Inheritance diagram for ns3::Ipv6ExtensionRoutingHeader:
+ Collaboration diagram for ns3::Ipv6ExtensionRoutingHeader:

Public Member Functions

 Ipv6ExtensionRoutingHeader ()
 Constructor.
virtual ~Ipv6ExtensionRoutingHeader ()
 Destructor.
virtual uint32_t Deserialize (Buffer::Iterator start)
 Deserialize the packet.
virtual TypeId GetInstanceTypeId () const
 Get the instance type ID.
uint8_t GetSegmentsLeft () const
 Get the field "Segments left".
virtual uint32_t GetSerializedSize () const
 Get the serialized size of the packet.
uint8_t GetTypeRouting () const
 Get the field "Type of Routing".
virtual void Print (std::ostream &os) const
 Print some informations about the packet.
virtual void Serialize (Buffer::Iterator start) const
 Serialize the packet.
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 Attributes

uint8_t m_segmentsLeft
 Number of left segments.
uint8_t m_typeRouting
 Type of routing.

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.

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

Constructor & Destructor Documentation

ns3::Ipv6ExtensionRoutingHeader::Ipv6ExtensionRoutingHeader ( )

Constructor.

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

ns3::Ipv6ExtensionRoutingHeader::~Ipv6ExtensionRoutingHeader ( )
virtual

Destructor.

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

Member Function Documentation

uint32_t ns3::Ipv6ExtensionRoutingHeader::Deserialize ( Buffer::Iterator  start)
virtual

Deserialize the packet.

Parameters
startBuffer iterator
Returns
size of the packet

Reimplemented from ns3::Ipv6ExtensionHeader.

Reimplemented in ns3::Ipv6ExtensionLooseRoutingHeader.

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

References GetSerializedSize(), m_segmentsLeft, m_typeRouting, ns3::Buffer::Iterator::ReadU8(), ns3::Ipv6ExtensionHeader::SetLength(), ns3::Ipv6ExtensionHeader::SetNextHeader(), and visualizer.core::start().

+ Here is the call graph for this function:

TypeId ns3::Ipv6ExtensionRoutingHeader::GetInstanceTypeId ( void  ) const
virtual

Get the instance type ID.

Returns
instance type ID

Reimplemented from ns3::Ipv6ExtensionHeader.

Reimplemented in ns3::Ipv6ExtensionLooseRoutingHeader.

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

References GetTypeId().

+ Here is the call graph for this function:

uint8_t ns3::Ipv6ExtensionRoutingHeader::GetSegmentsLeft ( ) const

Get the field "Segments left".

Returns
the number of segments left

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

References m_segmentsLeft.

Referenced by ns3::Ipv6ExtensionLooseRoutingHeader::Print(), ns3::Ipv6ExtensionLooseRouting::Process(), and ns3::Ipv6ExtensionLooseRoutingHeader::Serialize().

+ Here is the caller graph for this function:

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

Get the serialized size of the packet.

Returns
size

Reimplemented from ns3::Ipv6ExtensionHeader.

Reimplemented in ns3::Ipv6ExtensionLooseRoutingHeader.

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

Referenced by Deserialize().

+ Here is the caller graph for this function:

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

Get the type identificator.

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

Returns
type identificator

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

Reimplemented from ns3::Ipv6ExtensionHeader.

Reimplemented in ns3::Ipv6ExtensionLooseRoutingHeader.

Definition at line 406 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:

uint8_t ns3::Ipv6ExtensionRoutingHeader::GetTypeRouting ( ) const

Get the field "Type of Routing".

Returns
the type of routing

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

References m_typeRouting.

Referenced by ns3::Ipv6ExtensionLooseRoutingHeader::Print(), and ns3::Ipv6ExtensionLooseRoutingHeader::Serialize().

+ Here is the caller graph for this function:

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

Print some informations about the packet.

Parameters
osoutput stream
Returns
info about this packet

Reimplemented from ns3::Ipv6ExtensionHeader.

Reimplemented in ns3::Ipv6ExtensionLooseRoutingHeader.

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

References ns3::Ipv6ExtensionHeader::GetLength(), ns3::Ipv6ExtensionHeader::GetNextHeader(), m_segmentsLeft, and m_typeRouting.

+ Here is the call graph for this function:

void ns3::Ipv6ExtensionRoutingHeader::Serialize ( Buffer::Iterator  start) const
virtual

Serialize the packet.

Parameters
startBuffer iterator

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, m_typeRouting, visualizer.core::start(), and ns3::Buffer::Iterator::WriteU8().

+ Here is the call graph for this function:

void ns3::Ipv6ExtensionRoutingHeader::SetSegmentsLeft ( uint8_t  segmentsLeft)

Set the "Segments left" field.

Parameters
segmentsLeftthe number of segments left

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

References m_segmentsLeft.

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

+ Here is the caller graph for this function:

void ns3::Ipv6ExtensionRoutingHeader::SetTypeRouting ( uint8_t  typeRouting)

Set the "Type of Routing" field.

Parameters
typeRoutingthe type of routing

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

References m_typeRouting.

Referenced by ns3::Ipv6ExtensionLooseRoutingHeader::Deserialize(), and ns3::Ping6::Send().

+ Here is the caller graph for this function:

Member Data Documentation

uint8_t ns3::Ipv6ExtensionRoutingHeader::m_segmentsLeft
private

Number of left segments.

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

Referenced by Deserialize(), GetSegmentsLeft(), Print(), Serialize(), and SetSegmentsLeft().

uint8_t ns3::Ipv6ExtensionRoutingHeader::m_typeRouting
private

Type of routing.

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

Referenced by Deserialize(), GetTypeRouting(), Print(), Serialize(), and SetTypeRouting().


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