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

ICMPv6 Extended Address Registration Option header RFC 8505. More...

#include "sixlowpan-nd-header.h"

Inheritance diagram for ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration:
Collaboration diagram for ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration:

Public Member Functions

 Icmpv6OptionSixLowPanExtendedAddressRegistration ()
 Constructor.
 Icmpv6OptionSixLowPanExtendedAddressRegistration (uint16_t time, const std::vector< uint8_t > &rovr, uint8_t tid)
 Constructor.
 Icmpv6OptionSixLowPanExtendedAddressRegistration (uint8_t status, uint16_t time, const std::vector< uint8_t > &rovr, uint8_t tid)
 Constructor.
 ~Icmpv6OptionSixLowPanExtendedAddressRegistration () override
 Destructor.
uint32_t Deserialize (Buffer::Iterator start) override
 Deserialize the packet.
bool GetFlagR () const
 Get the R flag.
uint8_t GetI () const
 Get the I-TwoBit field.
TypeId GetInstanceTypeId () const override
 Get the instance type ID.
uint8_t GetOpaque () const
 Get the opaque field.
uint16_t GetRegTime () const
 Get the registration lifetime field.
std::vector< uint8_t > GetRovr () const
 Get the ROVR field.
uint32_t GetSerializedSize () const override
 Get the serialized size.
uint8_t GetStatus () const
 Get the status field.
uint8_t GetTransactionId () const
 Get the transaction ID field.
void Print (std::ostream &os) const override
 Print information.
void Serialize (Buffer::Iterator start) const override
 Serialize the packet.
void SetFlagR (bool r)
 Set the R flag.
void SetI (uint8_t twobits)
 Set the I-TwoBit field.
void SetOpaque (uint8_t opaque)
 Set the opaque field.
void SetRegTime (uint16_t time)
 Set the registration lifetime field.
void SetRovr (const std::vector< uint8_t > &rovr)
 Set the ROVR field.
void SetStatus (uint8_t status)
 Set the status field.
void SetTransactionId (uint8_t tid)
 Set the transaction ID field.
Public Member Functions inherited from ns3::Icmpv6OptionHeader
 Icmpv6OptionHeader ()
 Constructor.
 ~Icmpv6OptionHeader () override
 Destructor.
uint8_t GetLength () const
 Get the length of the option in 8 bytes unit.
uint8_t GetType () const
 Get the type of the option.
void SetLength (uint8_t len)
 Set the length of the option.
void SetType (uint8_t type)
 Set the type of the option.
Public Member Functions inherited from ns3::Header
 ~Header () override
virtual uint32_t Deserialize (Buffer::Iterator start, Buffer::Iterator end)
 Deserialize the object from a buffer iterator.
Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor.
void GetAttribute (std::string name, AttributeValue &value, bool permissive=false) 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.
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 UID of this class.
Static Public Member Functions inherited from ns3::Icmpv6OptionHeader
static TypeId GetTypeId ()
 Get the UID of this class.
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

bool m_flagR
 The R flag.
uint8_t m_i
 The I Two bit value.
uint8_t m_opaque
 The opaque value.
uint16_t m_regTime
 The registration lifetime value (units of 60 seconds).
std::vector< uint8_t > m_rovr
 The ROVR value.
uint8_t m_status
 The status value.
uint16_t m_tid
 The Transaction ID value.

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

ICMPv6 Extended Address Registration Option header RFC 8505.

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |     Length    |    Status     |    Opaque     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Rsvd | I |R|T|     TID       |     Registration Lifetime     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
  ...            Registration Ownership Verifier (ROVR)           ...
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Definition at line 212 of file sixlowpan-nd-header.h.

Constructor & Destructor Documentation

◆ Icmpv6OptionSixLowPanExtendedAddressRegistration() [1/3]

ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::Icmpv6OptionSixLowPanExtendedAddressRegistration ( )

Constructor.

Definition at line 247 of file sixlowpan-nd-header.cc.

References ns3::Icmpv6Header::ICMPV6_OPT_EXTENDED_ADDRESS_REGISTRATION, m_flagR, m_i, m_opaque, m_regTime, m_status, m_tid, NS_LOG_FUNCTION, ns3::Icmpv6OptionHeader::SetLength(), and ns3::Icmpv6OptionHeader::SetType().

Referenced by GetTypeId().

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

◆ Icmpv6OptionSixLowPanExtendedAddressRegistration() [2/3]

ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::Icmpv6OptionSixLowPanExtendedAddressRegistration ( uint16_t time,
const std::vector< uint8_t > & rovr,
uint8_t tid )

Constructor.

Parameters
timethe registration lifetime (units of 60 seconds)
rovrthe ROVR value
tidthe TID value

Definition at line 260 of file sixlowpan-nd-header.cc.

References ns3::Icmpv6Header::ICMPV6_OPT_EXTENDED_ADDRESS_REGISTRATION, m_flagR, m_i, m_opaque, m_regTime, m_status, m_tid, NS_LOG_FUNCTION, ns3::Icmpv6OptionHeader::SetLength(), SetRovr(), and ns3::Icmpv6OptionHeader::SetType().

Here is the call graph for this function:

◆ Icmpv6OptionSixLowPanExtendedAddressRegistration() [3/3]

ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::Icmpv6OptionSixLowPanExtendedAddressRegistration ( uint8_t status,
uint16_t time,
const std::vector< uint8_t > & rovr,
uint8_t tid )

Constructor.

Parameters
statusthe status value
timethe registration lifetime (units of 60 seconds)
rovrthe ROVR value
tidthe TID value

Definition at line 277 of file sixlowpan-nd-header.cc.

References ns3::Icmpv6Header::ICMPV6_OPT_EXTENDED_ADDRESS_REGISTRATION, m_flagR, m_i, m_opaque, m_regTime, m_status, m_tid, NS_LOG_FUNCTION, ns3::Icmpv6OptionHeader::SetLength(), SetRovr(), and ns3::Icmpv6OptionHeader::SetType().

Here is the call graph for this function:

◆ ~Icmpv6OptionSixLowPanExtendedAddressRegistration()

ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::~Icmpv6OptionSixLowPanExtendedAddressRegistration ( )
override

Destructor.

Definition at line 295 of file sixlowpan-nd-header.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

◆ Deserialize()

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

Deserialize the packet.

Parameters
startstart offset
Returns
length of packet

Reimplemented from ns3::Icmpv6OptionHeader.

Definition at line 488 of file sixlowpan-nd-header.cc.

References ns3::Icmpv6OptionHeader::GetLength(), GetSerializedSize(), m_flagR, m_i, m_opaque, m_regTime, m_rovr, m_status, m_tid, NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::Buffer::Iterator::ReadU16(), ns3::Buffer::Iterator::ReadU8(), ns3::Icmpv6OptionHeader::SetLength(), and ns3::Icmpv6OptionHeader::SetType().

Here is the call graph for this function:

◆ GetFlagR()

bool ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::GetFlagR ( ) const

Get the R flag.

Returns
R flag

Definition at line 366 of file sixlowpan-nd-header.cc.

References m_flagR, and NS_LOG_FUNCTION.

◆ GetI()

uint8_t ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::GetI ( ) const

Get the I-TwoBit field.

Returns
I-TwoBit value

Definition at line 347 of file sixlowpan-nd-header.cc.

References m_i, and NS_LOG_FUNCTION.

◆ GetInstanceTypeId()

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

Get the instance type ID.

Returns
instance type ID

Reimplemented from ns3::Icmpv6OptionHeader.

Definition at line 312 of file sixlowpan-nd-header.cc.

References GetTypeId(), and NS_LOG_FUNCTION.

Here is the call graph for this function:

◆ GetOpaque()

uint8_t ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::GetOpaque ( ) const

Get the opaque field.

Returns
opaque value

Definition at line 333 of file sixlowpan-nd-header.cc.

References m_opaque, and NS_LOG_FUNCTION.

◆ GetRegTime()

uint16_t ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::GetRegTime ( ) const

Get the registration lifetime field.

Returns
registration lifetime value (units of 60 seconds)

Definition at line 394 of file sixlowpan-nd-header.cc.

References m_regTime, and NS_LOG_FUNCTION.

Referenced by ns3::SixLowPanNdNaEaroPacketTest::DoRun(), ns3::SixLowPanNdNsEaroPacketTest::DoRun(), and ns3::SixLowPanNdProtocol::HandleSixLowPanNS().

Here is the caller graph for this function:

◆ GetRovr()

std::vector< uint8_t > ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::GetRovr ( ) const

Get the ROVR field.

Returns
the ROVR

Definition at line 408 of file sixlowpan-nd-header.cc.

References m_rovr, and NS_LOG_FUNCTION.

Referenced by ns3::SixLowPanNdProtocol::HandleSixLowPanNA(), and ns3::SixLowPanNdProtocol::HandleSixLowPanNS().

Here is the caller graph for this function:

◆ GetSerializedSize()

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

Get the serialized size.

Returns
serialized size

Reimplemented from ns3::Icmpv6OptionHeader.

Definition at line 448 of file sixlowpan-nd-header.cc.

References m_rovr, and NS_LOG_FUNCTION.

Referenced by Deserialize().

Here is the caller graph for this function:

◆ GetStatus()

uint8_t ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::GetStatus ( ) const

Get the status field.

Returns
status value

Definition at line 319 of file sixlowpan-nd-header.cc.

References m_status, and NS_LOG_FUNCTION.

Referenced by ns3::SixLowPanNdNaEaroPacketTest::DoRun(), ns3::SixLowPanNdRovrTest::DoRun(), and ns3::SixLowPanNdProtocol::HandleSixLowPanNA().

Here is the caller graph for this function:

◆ GetTransactionId()

uint8_t ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::GetTransactionId ( ) const

Get the transaction ID field.

Returns
Transaction ID value

Definition at line 380 of file sixlowpan-nd-header.cc.

References m_tid, and NS_LOG_FUNCTION.

Referenced by ns3::SixLowPanNdNaEaroPacketTest::DoRun(), and ns3::SixLowPanNdNsEaroPacketTest::DoRun().

Here is the caller graph for this function:

◆ GetTypeId()

TypeId ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::GetTypeId ( )
static

Get the UID of this class.

Returns
UID

Definition at line 302 of file sixlowpan-nd-header.cc.

References ns3::Icmpv6OptionHeader::Icmpv6OptionHeader(), Icmpv6OptionSixLowPanExtendedAddressRegistration(), and ns3::TypeId::SetParent().

Referenced by GetInstanceTypeId().

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

◆ Print()

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

Print information.

Parameters
osoutput stream

Reimplemented from ns3::Icmpv6OptionHeader.

Definition at line 428 of file sixlowpan-nd-header.cc.

References ns3::Icmpv6OptionHeader::GetLength(), ns3::Icmpv6OptionHeader::GetType(), m_regTime, m_rovr, m_status, and NS_LOG_FUNCTION.

Here is the call graph for this function:

◆ Serialize()

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

Serialize the packet.

Parameters
startstart offset

Reimplemented from ns3::Icmpv6OptionHeader.

Definition at line 455 of file sixlowpan-nd-header.cc.

References ns3::Icmpv6OptionHeader::GetLength(), ns3::Icmpv6OptionHeader::GetType(), m_flagR, m_i, m_opaque, m_regTime, m_rovr, m_status, m_tid, NS_LOG_FUNCTION, ns3::Buffer::Iterator::WriteU16(), and ns3::Buffer::Iterator::WriteU8().

Here is the call graph for this function:

◆ SetFlagR()

void ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::SetFlagR ( bool r)

Set the R flag.

Parameters
rvalue

Definition at line 373 of file sixlowpan-nd-header.cc.

References m_flagR, NS_LOG_FUNCTION, and r.

◆ SetI()

void ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::SetI ( uint8_t twobits)

Set the I-TwoBit field.

Parameters
twobitsthe TwoBit value

Definition at line 355 of file sixlowpan-nd-header.cc.

References m_i, and NS_LOG_FUNCTION.

◆ SetOpaque()

void ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::SetOpaque ( uint8_t opaque)

Set the opaque field.

Parameters
opaquethe opaque value

Definition at line 340 of file sixlowpan-nd-header.cc.

References m_opaque, and NS_LOG_FUNCTION.

◆ SetRegTime()

void ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::SetRegTime ( uint16_t time)

Set the registration lifetime field.

Parameters
timethe registration lifetime value (units of 60 seconds)

Definition at line 401 of file sixlowpan-nd-header.cc.

References m_regTime, and NS_LOG_FUNCTION.

◆ SetRovr()

void ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::SetRovr ( const std::vector< uint8_t > & rovr)

Set the ROVR field.

Parameters
rovrthe ROVR value

Definition at line 415 of file sixlowpan-nd-header.cc.

References m_rovr, NS_ASSERT_MSG, and NS_LOG_FUNCTION.

Referenced by Icmpv6OptionSixLowPanExtendedAddressRegistration(), and Icmpv6OptionSixLowPanExtendedAddressRegistration().

Here is the caller graph for this function:

◆ SetStatus()

void ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::SetStatus ( uint8_t status)

Set the status field.

Parameters
statusthe status value

Definition at line 326 of file sixlowpan-nd-header.cc.

References m_status, and NS_LOG_FUNCTION.

◆ SetTransactionId()

void ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::SetTransactionId ( uint8_t tid)

Set the transaction ID field.

Parameters
tidthe transaction ID value

Definition at line 387 of file sixlowpan-nd-header.cc.

References m_tid, and NS_LOG_FUNCTION.

Member Data Documentation

◆ m_flagR

bool ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::m_flagR
private

◆ m_i

uint8_t ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::m_i
private

◆ m_opaque

uint8_t ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::m_opaque
private

◆ m_regTime

uint16_t ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::m_regTime
private

◆ m_rovr

std::vector<uint8_t> ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::m_rovr
private

The ROVR value.

Definition at line 402 of file sixlowpan-nd-header.h.

Referenced by Deserialize(), GetRovr(), GetSerializedSize(), Print(), Serialize(), and SetRovr().

◆ m_status

uint8_t ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::m_status
private

◆ m_tid

uint16_t ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::m_tid
private

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