ICMPv6 Extended Address Registration Option header RFC 8505. More...
#include "sixlowpan-nd-header.h"
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. | |
| Related Symbols inherited from ns3::ObjectBase | |
| static TypeId | GetObjectIid () |
| Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. | |
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.
| 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().
| ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::Icmpv6OptionSixLowPanExtendedAddressRegistration | ( | uint16_t | time, |
| const std::vector< uint8_t > & | rovr, | ||
| uint8_t | tid ) |
Constructor.
| time | the registration lifetime (units of 60 seconds) |
| rovr | the ROVR value |
| tid | the 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().
| ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::Icmpv6OptionSixLowPanExtendedAddressRegistration | ( | uint8_t | status, |
| uint16_t | time, | ||
| const std::vector< uint8_t > & | rovr, | ||
| uint8_t | tid ) |
Constructor.
| status | the status value |
| time | the registration lifetime (units of 60 seconds) |
| rovr | the ROVR value |
| tid | the 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().
|
override |
|
overridevirtual |
Deserialize the packet.
| start | start offset |
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().
| bool ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::GetFlagR | ( | ) | const |
Get the R flag.
Definition at line 366 of file sixlowpan-nd-header.cc.
References m_flagR, and NS_LOG_FUNCTION.
| uint8_t ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::GetI | ( | ) | const |
Get the I-TwoBit field.
Definition at line 347 of file sixlowpan-nd-header.cc.
References m_i, and NS_LOG_FUNCTION.
|
overridevirtual |
Get the instance type ID.
Reimplemented from ns3::Icmpv6OptionHeader.
Definition at line 312 of file sixlowpan-nd-header.cc.
References GetTypeId(), and NS_LOG_FUNCTION.
| uint8_t ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::GetOpaque | ( | ) | const |
Get the opaque field.
Definition at line 333 of file sixlowpan-nd-header.cc.
References m_opaque, and NS_LOG_FUNCTION.
| uint16_t ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::GetRegTime | ( | ) | const |
Get the registration lifetime field.
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().
| std::vector< uint8_t > ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::GetRovr | ( | ) | const |
Get the ROVR field.
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().
|
overridevirtual |
Get the 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().
| uint8_t ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::GetStatus | ( | ) | const |
Get the status field.
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().
| uint8_t ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::GetTransactionId | ( | ) | const |
Get the transaction ID field.
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().
|
static |
Get the UID of this class.
Definition at line 302 of file sixlowpan-nd-header.cc.
References ns3::Icmpv6OptionHeader::Icmpv6OptionHeader(), Icmpv6OptionSixLowPanExtendedAddressRegistration(), and ns3::TypeId::SetParent().
Referenced by GetInstanceTypeId().
|
overridevirtual |
Print information.
| os | output 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.
|
overridevirtual |
Serialize the packet.
| start | start 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().
| void ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::SetFlagR | ( | bool | r | ) |
Set the R flag.
| r | value |
Definition at line 373 of file sixlowpan-nd-header.cc.
References m_flagR, NS_LOG_FUNCTION, and r.
| void ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::SetI | ( | uint8_t | twobits | ) |
Set the I-TwoBit field.
| twobits | the TwoBit value |
Definition at line 355 of file sixlowpan-nd-header.cc.
References m_i, and NS_LOG_FUNCTION.
| void ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::SetOpaque | ( | uint8_t | opaque | ) |
Set the opaque field.
| opaque | the opaque value |
Definition at line 340 of file sixlowpan-nd-header.cc.
References m_opaque, and NS_LOG_FUNCTION.
| void ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::SetRegTime | ( | uint16_t | time | ) |
Set the registration lifetime field.
| time | the registration lifetime value (units of 60 seconds) |
Definition at line 401 of file sixlowpan-nd-header.cc.
References m_regTime, and NS_LOG_FUNCTION.
| void ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::SetRovr | ( | const std::vector< uint8_t > & | rovr | ) |
Set the ROVR field.
| rovr | the 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().
| void ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::SetStatus | ( | uint8_t | status | ) |
Set the status field.
| status | the status value |
Definition at line 326 of file sixlowpan-nd-header.cc.
References m_status, and NS_LOG_FUNCTION.
| void ns3::Icmpv6OptionSixLowPanExtendedAddressRegistration::SetTransactionId | ( | uint8_t | tid | ) |
Set the transaction ID field.
| tid | the transaction ID value |
Definition at line 387 of file sixlowpan-nd-header.cc.
References m_tid, and NS_LOG_FUNCTION.
|
private |
The R flag.
Definition at line 387 of file sixlowpan-nd-header.h.
Referenced by Icmpv6OptionSixLowPanExtendedAddressRegistration(), Icmpv6OptionSixLowPanExtendedAddressRegistration(), Icmpv6OptionSixLowPanExtendedAddressRegistration(), Deserialize(), GetFlagR(), Serialize(), and SetFlagR().
|
private |
The I Two bit value.
Definition at line 382 of file sixlowpan-nd-header.h.
Referenced by Icmpv6OptionSixLowPanExtendedAddressRegistration(), Icmpv6OptionSixLowPanExtendedAddressRegistration(), Icmpv6OptionSixLowPanExtendedAddressRegistration(), Deserialize(), GetI(), Serialize(), and SetI().
|
private |
The opaque value.
Definition at line 377 of file sixlowpan-nd-header.h.
Referenced by Icmpv6OptionSixLowPanExtendedAddressRegistration(), Icmpv6OptionSixLowPanExtendedAddressRegistration(), Icmpv6OptionSixLowPanExtendedAddressRegistration(), Deserialize(), GetOpaque(), Serialize(), and SetOpaque().
|
private |
The registration lifetime value (units of 60 seconds).
Definition at line 397 of file sixlowpan-nd-header.h.
Referenced by Icmpv6OptionSixLowPanExtendedAddressRegistration(), Icmpv6OptionSixLowPanExtendedAddressRegistration(), Icmpv6OptionSixLowPanExtendedAddressRegistration(), Deserialize(), GetRegTime(), Print(), Serialize(), and SetRegTime().
|
private |
The ROVR value.
Definition at line 402 of file sixlowpan-nd-header.h.
Referenced by Deserialize(), GetRovr(), GetSerializedSize(), Print(), Serialize(), and SetRovr().
|
private |
The status value.
Definition at line 372 of file sixlowpan-nd-header.h.
Referenced by Icmpv6OptionSixLowPanExtendedAddressRegistration(), Icmpv6OptionSixLowPanExtendedAddressRegistration(), Icmpv6OptionSixLowPanExtendedAddressRegistration(), Deserialize(), GetStatus(), Print(), Serialize(), and SetStatus().
|
private |
The Transaction ID value.
Definition at line 392 of file sixlowpan-nd-header.h.
Referenced by Icmpv6OptionSixLowPanExtendedAddressRegistration(), Icmpv6OptionSixLowPanExtendedAddressRegistration(), Icmpv6OptionSixLowPanExtendedAddressRegistration(), Deserialize(), GetTransactionId(), Serialize(), and SetTransactionId().