ICMPv6 Option Prefix Information. More...
#include "icmpv6-header.h"
Public Types | |
enum | Flags_t { NONE = 0 , ROUTERADDR = 32 , AUTADDRCONF = 64 , ONLINK = 128 } |
Icmpv6 Option Prefix Information flag field values. More... | |
Public Member Functions | |
Icmpv6OptionPrefixInformation () | |
Constructor. More... | |
Icmpv6OptionPrefixInformation (Ipv6Address network, uint8_t prefixlen) | |
Constructor. More... | |
virtual | ~Icmpv6OptionPrefixInformation () |
Destructor. More... | |
virtual uint32_t | Deserialize (Buffer::Iterator start) |
Deserialize the packet. More... | |
uint8_t | GetFlags () const |
Get the flags. More... | |
virtual TypeId | GetInstanceTypeId () const |
Get the instance type ID. More... | |
uint32_t | GetPreferredTime () const |
Get the preferred time of the information. More... | |
Ipv6Address | GetPrefix () const |
Get the IPv6 prefix. More... | |
uint8_t | GetPrefixLength () const |
Get the prefix length. More... | |
uint32_t | GetReserved () const |
Get the reserved field. More... | |
virtual uint32_t | GetSerializedSize () const |
Get the serialized size. More... | |
uint32_t | GetValidTime () const |
Get the valid time of the information. More... | |
virtual void | Print (std::ostream &os) const |
Print information. More... | |
virtual void | Serialize (Buffer::Iterator start) const |
Serialize the packet. More... | |
void | SetFlags (uint8_t flags) |
Set the flags. More... | |
void | SetPreferredTime (uint32_t preferredTime) |
Set the preferred time of the information. More... | |
void | SetPrefix (Ipv6Address prefix) |
Set the IPv6 prefix. More... | |
void | SetPrefixLength (uint8_t prefixLength) |
Set the prefix length. More... | |
void | SetReserved (uint32_t reserved) |
Set the reserved field (normally it will be 0x00000000). More... | |
void | SetValidTime (uint32_t validTime) |
Set the valid time of the information. More... | |
Public Member Functions inherited from ns3::Icmpv6OptionHeader | |
Icmpv6OptionHeader () | |
Constructor. More... | |
virtual | ~Icmpv6OptionHeader () |
Destructor. More... | |
uint8_t | GetLength () const |
Get the length of the option in 8 bytes unit. More... | |
uint8_t | GetType () const |
Get the type of the option. More... | |
void | SetLength (uint8_t len) |
Set the length of the option. More... | |
void | SetType (uint8_t type) |
Set the type of the option. More... | |
Public Member Functions inherited from ns3::Header | |
virtual | ~Header () |
virtual uint32_t | Deserialize (Buffer::Iterator start)=0 |
Deserialize the object from a buffer iterator. More... | |
virtual uint32_t | Deserialize (Buffer::Iterator start, Buffer::Iterator end) |
Deserialize the object from a buffer iterator. More... | |
Public Member Functions inherited from ns3::Chunk | |
virtual uint32_t | Deserialize (Buffer::Iterator start, Buffer::Iterator end) |
Deserialize the object from a buffer iterator. More... | |
Public Member Functions inherited from ns3::ObjectBase | |
virtual | ~ObjectBase () |
Virtual destructor. More... | |
void | GetAttribute (std::string name, AttributeValue &value) const |
Get the value of an attribute, raising fatal errors if unsuccessful. More... | |
bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
Get the value of an attribute without raising erros. More... | |
void | SetAttribute (std::string name, const AttributeValue &value) |
Set a single attribute, raising fatal errors if unsuccessful. More... | |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
Set a single attribute without raising errors. More... | |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
Connect a TraceSource to a Callback with a context. More... | |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
Connect a TraceSource to a Callback without a context. More... | |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected with a context. More... | |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected without a context. More... | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Get the UID of this class. More... | |
Static Public Member Functions inherited from ns3::Icmpv6OptionHeader | |
static TypeId | GetTypeId () |
Get the UID of this class. More... | |
Static Public Member Functions inherited from ns3::Header | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Static Public Member Functions inherited from ns3::Chunk | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Private Attributes | |
uint8_t | m_flags |
The flags. More... | |
uint32_t | m_preferredTime |
The preferred time. More... | |
Ipv6Address | m_prefix |
The prefix value. More... | |
uint8_t | m_prefixLength |
The length of the prefix. More... | |
uint32_t | m_reserved |
The reserved field. More... | |
uint32_t | m_validTime |
The valid time. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. More... | |
virtual void | NotifyConstructionCompleted (void) |
Notifier called once the ObjectBase is fully constructed. More... | |
Related Functions inherited from ns3::ObjectBase | |
static TypeId | GetObjectIid (void) |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. More... | |
ICMPv6 Option Prefix Information.
Introspection did not find any typical Config paths.
No Attributes are defined for this type.
No TraceSources are defined for this type.
Size of this type is 48 bytes (on a 64-bit architecture).
Definition at line 1444 of file icmpv6-header.h.
Icmpv6 Option Prefix Information flag field values.
Enumerator | |
---|---|
NONE | No flags. |
ROUTERADDR | Router Address. |
AUTADDRCONF | Autonomous Address Configuration. |
ONLINK | On-link. |
Definition at line 1479 of file icmpv6-header.h.
ns3::Icmpv6OptionPrefixInformation::Icmpv6OptionPrefixInformation | ( | ) |
Constructor.
Definition at line 1639 of file icmpv6-header.cc.
References ns3::Icmpv6Header::ICMPV6_OPT_PREFIX, NS_LOG_FUNCTION, SetFlags(), ns3::Icmpv6OptionHeader::SetLength(), SetPreferredTime(), SetPrefix(), SetPrefixLength(), SetReserved(), ns3::Icmpv6OptionHeader::SetType(), and SetValidTime().
ns3::Icmpv6OptionPrefixInformation::Icmpv6OptionPrefixInformation | ( | Ipv6Address | network, |
uint8_t | prefixlen | ||
) |
Constructor.
network | prefix |
prefixlen | prefix length |
Definition at line 1652 of file icmpv6-header.cc.
References ns3::Icmpv6Header::ICMPV6_OPT_PREFIX, NS_LOG_FUNCTION, SetFlags(), ns3::Icmpv6OptionHeader::SetLength(), SetPreferredTime(), SetPrefix(), SetPrefixLength(), SetReserved(), ns3::Icmpv6OptionHeader::SetType(), and SetValidTime().
|
virtual |
|
virtual |
Deserialize the packet.
start | start offset |
Reimplemented from ns3::Icmpv6OptionHeader.
Definition at line 1774 of file icmpv6-header.cc.
References GetSerializedSize(), NS_LOG_FUNCTION, ns3::Buffer::Iterator::Read(), ns3::Buffer::Iterator::ReadNtohU32(), ns3::Buffer::Iterator::ReadU8(), SetFlags(), ns3::Icmpv6OptionHeader::SetLength(), SetPreferredTime(), SetPrefix(), SetPrefixLength(), SetReserved(), ns3::Icmpv6OptionHeader::SetType(), SetValidTime(), and visualizer.core::start().
uint8_t ns3::Icmpv6OptionPrefixInformation::GetFlags | ( | ) | const |
Get the flags.
Definition at line 1683 of file icmpv6-header.cc.
References m_flags, and NS_LOG_FUNCTION.
|
virtual |
Get the instance type ID.
Reimplemented from ns3::Icmpv6OptionHeader.
Definition at line 1633 of file icmpv6-header.cc.
References GetTypeId(), and NS_LOG_FUNCTION.
uint32_t ns3::Icmpv6OptionPrefixInformation::GetPreferredTime | ( | ) | const |
Get the preferred time of the information.
Definition at line 1707 of file icmpv6-header.cc.
References m_preferredTime, and NS_LOG_FUNCTION.
Ipv6Address ns3::Icmpv6OptionPrefixInformation::GetPrefix | ( | ) | const |
Get the IPv6 prefix.
Definition at line 1731 of file icmpv6-header.cc.
References m_prefix, and NS_LOG_FUNCTION.
uint8_t ns3::Icmpv6OptionPrefixInformation::GetPrefixLength | ( | ) | const |
Get the prefix length.
Definition at line 1670 of file icmpv6-header.cc.
References m_prefixLength, and NS_LOG_FUNCTION.
uint32_t ns3::Icmpv6OptionPrefixInformation::GetReserved | ( | ) | const |
Get the reserved field.
Definition at line 1719 of file icmpv6-header.cc.
References m_preferredTime, and NS_LOG_FUNCTION.
|
virtual |
Get the serialized size.
Reimplemented from ns3::Icmpv6OptionHeader.
Definition at line 1749 of file icmpv6-header.cc.
References NS_LOG_FUNCTION.
Referenced by Deserialize().
|
static |
Get the UID of this class.
Definition at line 1623 of file icmpv6-header.cc.
References ns3::TypeId::SetParent().
Referenced by GetInstanceTypeId().
uint32_t ns3::Icmpv6OptionPrefixInformation::GetValidTime | ( | ) | const |
Get the valid time of the information.
Definition at line 1695 of file icmpv6-header.cc.
References m_validTime, and NS_LOG_FUNCTION.
|
virtual |
Print information.
os | output stream |
Reimplemented from ns3::Icmpv6OptionHeader.
Definition at line 1743 of file icmpv6-header.cc.
References ns3::Icmpv6OptionHeader::GetLength(), ns3::Icmpv6OptionHeader::GetType(), m_prefix, and NS_LOG_FUNCTION.
|
virtual |
Serialize the packet.
start | start offset |
Reimplemented from ns3::Icmpv6OptionHeader.
Definition at line 1755 of file icmpv6-header.cc.
References ns3::Ipv6Address::GetBytes(), ns3::Icmpv6OptionHeader::GetLength(), ns3::Icmpv6OptionHeader::GetType(), m_flags, m_preferredTime, m_prefix, m_prefixLength, m_reserved, m_validTime, NS_LOG_FUNCTION, visualizer.core::start(), ns3::Buffer::Iterator::Write(), ns3::Buffer::Iterator::WriteHtonU32(), and ns3::Buffer::Iterator::WriteU8().
void ns3::Icmpv6OptionPrefixInformation::SetFlags | ( | uint8_t | flags | ) |
Set the flags.
flags | the flags to set |
Definition at line 1689 of file icmpv6-header.cc.
References m_flags, and NS_LOG_FUNCTION.
Referenced by Icmpv6OptionPrefixInformation(), Deserialize(), and ns3::Radvd::Send().
void ns3::Icmpv6OptionPrefixInformation::SetPreferredTime | ( | uint32_t | preferredTime | ) |
Set the preferred time of the information.
preferredTime | preferred time |
Definition at line 1713 of file icmpv6-header.cc.
References m_preferredTime, and NS_LOG_FUNCTION.
Referenced by Icmpv6OptionPrefixInformation(), Deserialize(), and ns3::Radvd::Send().
void ns3::Icmpv6OptionPrefixInformation::SetPrefix | ( | Ipv6Address | prefix | ) |
Set the IPv6 prefix.
prefix | the IPv6 prefix |
Definition at line 1737 of file icmpv6-header.cc.
References m_prefix, and NS_LOG_FUNCTION.
Referenced by Icmpv6OptionPrefixInformation(), Deserialize(), and ns3::Radvd::Send().
void ns3::Icmpv6OptionPrefixInformation::SetPrefixLength | ( | uint8_t | prefixLength | ) |
Set the prefix length.
prefixLength | the prefix length |
Definition at line 1676 of file icmpv6-header.cc.
References m_prefixLength, NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by Icmpv6OptionPrefixInformation(), Deserialize(), and ns3::Radvd::Send().
void ns3::Icmpv6OptionPrefixInformation::SetReserved | ( | uint32_t | reserved | ) |
Set the reserved field (normally it will be 0x00000000).
reserved | reserved value |
Definition at line 1725 of file icmpv6-header.cc.
References m_reserved, and NS_LOG_FUNCTION.
Referenced by Icmpv6OptionPrefixInformation(), and Deserialize().
void ns3::Icmpv6OptionPrefixInformation::SetValidTime | ( | uint32_t | validTime | ) |
Set the valid time of the information.
validTime | valid time |
Definition at line 1701 of file icmpv6-header.cc.
References m_validTime, and NS_LOG_FUNCTION.
Referenced by Icmpv6OptionPrefixInformation(), Deserialize(), and ns3::Radvd::Send().
|
private |
The flags.
Definition at line 1598 of file icmpv6-header.h.
Referenced by GetFlags(), Serialize(), and SetFlags().
|
private |
The preferred time.
Definition at line 1608 of file icmpv6-header.h.
Referenced by GetPreferredTime(), GetReserved(), Serialize(), and SetPreferredTime().
|
private |
The prefix value.
Definition at line 1588 of file icmpv6-header.h.
Referenced by GetPrefix(), Print(), Serialize(), and SetPrefix().
|
private |
The length of the prefix.
Definition at line 1593 of file icmpv6-header.h.
Referenced by GetPrefixLength(), Serialize(), and SetPrefixLength().
|
private |
The reserved field.
Definition at line 1613 of file icmpv6-header.h.
Referenced by Serialize(), and SetReserved().
|
private |
The valid time.
Definition at line 1603 of file icmpv6-header.h.
Referenced by GetValidTime(), Serialize(), and SetValidTime().