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

6LoWPAN Capability Indication Option - see RFC 7400. More...

#include "sixlowpan-header.h"

Inheritance diagram for ns3::Icmpv6OptionSixLowPanCapabilityIndication:
Collaboration diagram for ns3::Icmpv6OptionSixLowPanCapabilityIndication:

Public Types

enum  SixLowPanCapability_e {
  G = 0x01 , E = 0x02 , P = 0x04 , B = 0x08 ,
  L = 0x10 , D = 0x20
}
 The Capability field bit. More...

Public Member Functions

 Icmpv6OptionSixLowPanCapabilityIndication ()
bool CheckOption (SixLowPanCapability_e option) const
 Checks an option.
uint32_t Deserialize (Buffer::Iterator start) override
 Deserialize the packet.
TypeId GetInstanceTypeId () const override
 Return the instance type identifier.
uint32_t GetSerializedSize () const override
 Get the serialized size of the packet.
void Print (std::ostream &os) const override
 Print information.
void Serialize (Buffer::Iterator start) const override
 Serialize the packet.
void SetOption (SixLowPanCapability_e option)
 Set an option.
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 type ID.
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

uint8_t m_capabilityOptionField
 Capability options bitfield.

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

6LoWPAN Capability Indication Option - see RFC 7400.

Introspection did not find any typical Config paths
No Attributes are defined for this type
No TraceSources are defined for this type
Group: SixLowPan
Size of this type is 16 bytes (on a 64-bit architecture).


Definition at line 1380 of file sixlowpan-header.h.

Member Enumeration Documentation

◆ SixLowPanCapability_e

The Capability field bit.

Enumerator

Generic Header Compression (GHC) capable (see RFC 7400).

The node is an IPv6 ND Registrar (see RFC 8505).

The node is a Routing Registrar (see RFC 8505).

The node is a 6LBR (see RFC 8505).

The node is a 6LR (see RFC 8505).

The 6LBR supports EDAR and EDAC messages (see RFC 8505).

Definition at line 1421 of file sixlowpan-header.h.

Constructor & Destructor Documentation

◆ Icmpv6OptionSixLowPanCapabilityIndication()

ns3::Icmpv6OptionSixLowPanCapabilityIndication::Icmpv6OptionSixLowPanCapabilityIndication ( )

Definition at line 2196 of file sixlowpan-header.cc.

References ns3::Icmpv6Header::ICMPV6_OPT_CAPABILITY_INDICATION, m_capabilityOptionField, 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:

Member Function Documentation

◆ CheckOption()

bool ns3::Icmpv6OptionSixLowPanCapabilityIndication::CheckOption ( SixLowPanCapability_e option) const

Checks an option.

Parameters
[in]optionThe option to be checked.
Returns
True if the option is set, false otherwise.

Definition at line 2321 of file sixlowpan-header.cc.

References m_capabilityOptionField.

Referenced by ns3::SixLowPanNdRaPacketTest::DoRun(), and ns3::SixLowPanNdRsPacketTest::DoRun().

Here is the caller graph for this function:

◆ Deserialize()

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

Deserialize the packet.

Parameters
[in]startBuffer iterator.
Returns
Size of the packet.

Reimplemented from ns3::Icmpv6OptionHeader.

Definition at line 2300 of file sixlowpan-header.cc.

References GetSerializedSize(), m_capabilityOptionField, ns3::Buffer::Iterator::Next(), ns3::Buffer::Iterator::ReadU8(), ns3::Icmpv6OptionHeader::SetLength(), and ns3::Icmpv6OptionHeader::SetType().

Here is the call graph for this function:

◆ GetInstanceTypeId()

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

Return the instance type identifier.

Returns
Instance type ID.

Reimplemented from ns3::Icmpv6OptionHeader.

Definition at line 2214 of file sixlowpan-header.cc.

References GetTypeId().

Here is the call graph for this function:

◆ GetSerializedSize()

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

Get the serialized size of the packet.

Returns
Size.

Reimplemented from ns3::Icmpv6OptionHeader.

Definition at line 2281 of file sixlowpan-header.cc.

Referenced by Deserialize().

Here is the caller graph for this function:

◆ GetTypeId()

TypeId ns3::Icmpv6OptionSixLowPanCapabilityIndication::GetTypeId ( )
static

Get the type ID.

Returns
The object TypeId.

Definition at line 2204 of file sixlowpan-header.cc.

References Icmpv6OptionSixLowPanCapabilityIndication(), 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::Icmpv6OptionSixLowPanCapabilityIndication::Print ( std::ostream & os) const
overridevirtual

Print information.

Parameters
osoutput stream

Reimplemented from ns3::Icmpv6OptionHeader.

Definition at line 2220 of file sixlowpan-header.cc.

References B, D, E, G, ns3::Icmpv6OptionHeader::GetType(), L, m_capabilityOptionField, and P.

Referenced by ns3::operator<<().

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

◆ Serialize()

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

Serialize the packet.

Parameters
[in]startBuffer iterator.

Reimplemented from ns3::Icmpv6OptionHeader.

Definition at line 2287 of file sixlowpan-header.cc.

References ns3::Icmpv6OptionHeader::GetLength(), ns3::Icmpv6OptionHeader::GetType(), m_capabilityOptionField, ns3::Buffer::Iterator::WriteU32(), and ns3::Buffer::Iterator::WriteU8().

Here is the call graph for this function:

◆ SetOption()

void ns3::Icmpv6OptionSixLowPanCapabilityIndication::SetOption ( SixLowPanCapability_e option)

Set an option.

Parameters
[in]optionThe option to be set.

Definition at line 2315 of file sixlowpan-header.cc.

References m_capabilityOptionField.

Referenced by ns3::SixLowPanNdRaPacketTest::DoRun(), ns3::SixLowPanNdRsPacketTest::DoRun(), and ns3::SixLowPanNdProtocol::SendSixLowPanRA().

Here is the caller graph for this function:

Member Data Documentation

◆ m_capabilityOptionField

uint8_t ns3::Icmpv6OptionSixLowPanCapabilityIndication::m_capabilityOptionField
private

Capability options bitfield.

Definition at line 1445 of file sixlowpan-header.h.

Referenced by Icmpv6OptionSixLowPanCapabilityIndication(), CheckOption(), Deserialize(), Print(), Serialize(), and SetOption().


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