A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::Ipv6OptionHeader Class Reference

Header for IPv6 Option. More...

#include "ipv6-option-header.h"

+ Inheritance diagram for ns3::Ipv6OptionHeader:
+ Collaboration diagram for ns3::Ipv6OptionHeader:

Classes

struct  Alignment
 represents the alignment requirements of an option header More...
 

Public Member Functions

 Ipv6OptionHeader ()
 Constructor.
 
 ~Ipv6OptionHeader () override
 Destructor.
 
uint32_t Deserialize (Buffer::Iterator start) override
 Deserialize the packet.
 
virtual Alignment GetAlignment () const
 Get the Alignment requirement of this option header.
 
TypeId GetInstanceTypeId () const override
 Get the instance type ID.
 
uint8_t GetLength () const
 Get the option length.
 
uint32_t GetSerializedSize () const override
 Get the serialized size of the packet.
 
uint8_t GetType () const
 Get the type of the option.
 
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 (uint8_t length)
 Set the option length.
 
void SetType (uint8_t type)
 Set the type of the option.
 
- Public Member Functions inherited from ns3::Header
 ~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.
 
- Public Member Functions inherited from ns3::ObjectBase
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 Public Member Functions inherited from ns3::Header
static TypeId GetTypeId ()
 Get the type ID.
 
- Static Public Member Functions inherited from ns3::Chunk
static TypeId GetTypeId ()
 Get the type ID.
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId ()
 Get the type ID.
 

Private Attributes

Buffer m_data
 The anonymous data of this option.
 
uint8_t m_length
 The option length.
 
uint8_t m_type
 The type of the option.
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes.
 
virtual void NotifyConstructionCompleted ()
 Notifier called once the ObjectBase is fully constructed.
 

Detailed Description

Header for IPv6 Option.

Definition at line 35 of file ipv6-option-header.h.

Constructor & Destructor Documentation

◆ Ipv6OptionHeader()

ns3::Ipv6OptionHeader::Ipv6OptionHeader ( )

Constructor.

Definition at line 49 of file ipv6-option-header.cc.

◆ ~Ipv6OptionHeader()

ns3::Ipv6OptionHeader::~Ipv6OptionHeader ( )
override

Destructor.

Definition at line 55 of file ipv6-option-header.cc.

Member Function Documentation

◆ Deserialize()

uint32_t ns3::Ipv6OptionHeader::Deserialize ( Buffer::Iterator  start)
overridevirtual

Deserialize the packet.

Parameters
startBuffer iterator
Returns
size of the packet

Implements ns3::Header.

Reimplemented in ns3::Ipv6OptionPad1Header, ns3::Ipv6OptionPadnHeader, ns3::Ipv6OptionJumbogramHeader, and ns3::Ipv6OptionRouterAlertHeader.

Definition at line 107 of file ipv6-option-header.cc.

References ns3::Buffer::AddAtEnd(), ns3::Buffer::Begin(), GetSerializedSize(), m_data, m_length, m_type, ns3::Buffer::Iterator::Next(), ns3::Buffer::Iterator::ReadU8(), and ns3::Buffer::Iterator::Write().

+ Here is the call graph for this function:

◆ GetAlignment()

Ipv6OptionHeader::Alignment ns3::Ipv6OptionHeader::GetAlignment ( ) const
virtual

Get the Alignment requirement of this option header.

Returns
The required alignment

Subclasses should only implement this method, if special alignment is required. Default is no alignment (1n+0).

Reimplemented in ns3::Ipv6OptionJumbogramHeader, ns3::Ipv6OptionRouterAlertHeader, and OptionWithAlignmentHeader.

Definition at line 125 of file ipv6-option-header.cc.

Referenced by ns3::OptionField::AddOption().

+ Here is the caller graph for this function:

◆ GetInstanceTypeId()

TypeId ns3::Ipv6OptionHeader::GetInstanceTypeId ( ) const
overridevirtual

Get the instance type ID.

Returns
instance type ID

Implements ns3::ObjectBase.

Reimplemented in ns3::Ipv6OptionPad1Header, ns3::Ipv6OptionPadnHeader, ns3::Ipv6OptionJumbogramHeader, and ns3::Ipv6OptionRouterAlertHeader.

Definition at line 44 of file ipv6-option-header.cc.

References GetTypeId().

+ Here is the call graph for this function:

◆ GetLength()

uint8_t ns3::Ipv6OptionHeader::GetLength ( ) const

◆ GetSerializedSize()

uint32_t ns3::Ipv6OptionHeader::GetSerializedSize ( ) const
overridevirtual

Get the serialized size of the packet.

Returns
size

Implements ns3::Header.

Reimplemented in ns3::Ipv6OptionPad1Header, ns3::Ipv6OptionPadnHeader, ns3::Ipv6OptionJumbogramHeader, ns3::Ipv6OptionRouterAlertHeader, OptionWithoutAlignmentHeader, and OptionWithAlignmentHeader.

Definition at line 90 of file ipv6-option-header.cc.

References m_length.

Referenced by ns3::OptionField::AddOption(), and Deserialize().

+ Here is the caller graph for this function:

◆ GetType()

uint8_t ns3::Ipv6OptionHeader::GetType ( ) const

Get the type of the option.

Returns
the type of the option

Definition at line 66 of file ipv6-option-header.cc.

References m_type.

Referenced by TestOptionWithAlignment::DoRun(), TestFulfilledAlignment::DoRun(), ns3::Ipv6OptionPad1Header::Print(), ns3::Ipv6OptionPadnHeader::Print(), ns3::Ipv6OptionJumbogramHeader::Print(), ns3::Ipv6OptionRouterAlertHeader::Print(), ns3::Ipv6OptionPad1Header::Serialize(), ns3::Ipv6OptionPadnHeader::Serialize(), ns3::Ipv6OptionJumbogramHeader::Serialize(), and ns3::Ipv6OptionRouterAlertHeader::Serialize().

+ Here is the caller graph for this function:

◆ GetTypeId()

TypeId ns3::Ipv6OptionHeader::GetTypeId ( )
static

Get the type identificator.

Returns
type identificator

Definition at line 34 of file ipv6-option-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:

◆ Print()

void ns3::Ipv6OptionHeader::Print ( std::ostream &  os) const
overridevirtual

Print some information about the packet.

Parameters
osoutput stream

Implements ns3::Header.

Reimplemented in ns3::Ipv6OptionPad1Header, ns3::Ipv6OptionPadnHeader, ns3::Ipv6OptionJumbogramHeader, and ns3::Ipv6OptionRouterAlertHeader.

Definition at line 84 of file ipv6-option-header.cc.

References m_type.

◆ Serialize()

void ns3::Ipv6OptionHeader::Serialize ( Buffer::Iterator  start) const
overridevirtual

Serialize the packet.

Parameters
startBuffer iterator

Implements ns3::Header.

Reimplemented in ns3::Ipv6OptionPad1Header, ns3::Ipv6OptionPadnHeader, ns3::Ipv6OptionJumbogramHeader, ns3::Ipv6OptionRouterAlertHeader, OptionWithoutAlignmentHeader, and OptionWithAlignmentHeader.

Definition at line 96 of file ipv6-option-header.cc.

References ns3::Buffer::Begin(), ns3::Buffer::End(), m_data, m_length, m_type, ns3::Buffer::Iterator::Write(), and ns3::Buffer::Iterator::WriteU8().

Referenced by ns3::OptionField::AddOption().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetLength()

void ns3::Ipv6OptionHeader::SetLength ( uint8_t  length)

Set the option length.

Parameters
lengththe option length

Definition at line 72 of file ipv6-option-header.cc.

References m_length.

Referenced by ns3::Ipv6OptionJumbogramHeader::Ipv6OptionJumbogramHeader(), ns3::Ipv6OptionPadnHeader::Ipv6OptionPadnHeader(), ns3::Ipv6OptionRouterAlertHeader::Ipv6OptionRouterAlertHeader(), ns3::Ipv6OptionPadnHeader::Deserialize(), ns3::Ipv6OptionJumbogramHeader::Deserialize(), and ns3::Ipv6OptionRouterAlertHeader::Deserialize().

+ Here is the caller graph for this function:

◆ SetType()

void ns3::Ipv6OptionHeader::SetType ( uint8_t  type)

Set the type of the option.

Parameters
typethe type of the option

Definition at line 60 of file ipv6-option-header.cc.

References m_type.

Referenced by ns3::Ipv6OptionJumbogramHeader::Ipv6OptionJumbogramHeader(), ns3::Ipv6OptionPad1Header::Ipv6OptionPad1Header(), ns3::Ipv6OptionPadnHeader::Ipv6OptionPadnHeader(), ns3::Ipv6OptionRouterAlertHeader::Ipv6OptionRouterAlertHeader(), ns3::Ipv6OptionPad1Header::Deserialize(), ns3::Ipv6OptionPadnHeader::Deserialize(), ns3::Ipv6OptionJumbogramHeader::Deserialize(), and ns3::Ipv6OptionRouterAlertHeader::Deserialize().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_data

Buffer ns3::Ipv6OptionHeader::m_data
private

The anonymous data of this option.

Definition at line 145 of file ipv6-option-header.h.

Referenced by Deserialize(), and Serialize().

◆ m_length

uint8_t ns3::Ipv6OptionHeader::m_length
private

The option length.

Definition at line 140 of file ipv6-option-header.h.

Referenced by Deserialize(), GetLength(), GetSerializedSize(), Serialize(), and SetLength().

◆ m_type

uint8_t ns3::Ipv6OptionHeader::m_type
private

The type of the option.

Definition at line 135 of file ipv6-option-header.h.

Referenced by Deserialize(), GetType(), Print(), Serialize(), and SetType().


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