Implements the DHCPv6 header. More...
#include "dhcp6-header.h"
Public Types | |
enum class | MessageType { INIT = 0 , SOLICIT = 1 , ADVERTISE = 2 , REQUEST = 3 , CONFIRM = 4 , RENEW = 5 , REBIND = 6 , REPLY = 7 , RELEASE = 8 , DECLINE = 9 , RECONFIGURE = 10 , INFORMATION_REQUEST = 11 , RELAY_FORW = 12 , RELAY_REPL = 13 } |
Enum to identify the message type. More... | |
Public Member Functions | |
Dhcp6Header () | |
Default constructor. | |
void | AddAddress (uint32_t iaid, Ipv6Address address, uint32_t prefLifetime, uint32_t validLifetime) |
Add IA address option to the IANA or IATA. | |
void | AddClientIdentifier (Duid duid) |
Add the client identifier option. | |
void | AddElapsedTime (uint16_t timestamp) |
Set the elapsed time option. | |
void | AddIanaOption (uint32_t iaid, uint32_t t1, uint32_t t2) |
Add IANA option. | |
void | AddIataOption (uint32_t iaid) |
Add IATA option. | |
void | AddOptionRequest (Options::OptionType optionType) |
Request additional options. | |
void | AddServerIdentifier (Duid duid) |
Add the server identifier option. | |
void | AddSolMaxRt () |
Add the SOL_MAX_RT option. | |
void | AddStatusCode (Options::StatusCodeValues statusCode, std::string statusMsg) |
Add the status code option. | |
IdentifierOption | GetClientIdentifier () |
Get the client identifier. | |
std::vector< IaOptions > | GetIanaOptions () |
Get the list of IA_NA options. | |
MessageType | GetMessageType () const |
Get the type of message. | |
std::map< Options::OptionType, bool > | GetOptionList () |
Get list of all options set in the header. | |
RequestOptions | GetOptionRequest () |
Get the option request option. | |
IdentifierOption | GetServerIdentifier () |
Get the server identifier. | |
StatusCodeOption | GetStatusCodeOption () |
Get the status code of the operation. | |
uint32_t | GetTransactId () const |
Get the transaction ID. | |
void | HandleOptionRequest (std::vector< Options::OptionType > requestedOptions) |
Handle all options requested by client. | |
void | ResetOptions () |
Reset all options. | |
void | SetMessageType (MessageType msgType) |
Set the message type. | |
void | SetTransactId (uint32_t transactId) |
Set the transaction ID. | |
![]() | |
~Header () override | |
virtual uint32_t | Deserialize (Buffer::Iterator start, Buffer::Iterator end) |
Deserialize the object from a buffer iterator. | |
![]() | |
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 TypeId | GetTypeId () |
Get the type ID. | |
![]() | |
static TypeId | GetTypeId () |
Get the type ID. | |
![]() | |
static TypeId | GetTypeId () |
Get the type ID. | |
Static Public Attributes | |
static const uint16_t | CLIENT_PORT = 546 |
The port number of the DHCPv6 client. | |
static const uint16_t | SERVER_PORT = 547 |
The port number of the DHCPv6 server. | |
Private Member Functions | |
void | AddIaOption (Options::OptionType optionType, uint32_t iaid, uint32_t t1=0, uint32_t t2=0) |
Add IANA or IATA option to the header. | |
void | AddIdentifierOption (IdentifierOption &identifier, Options::OptionType optionType, Duid duid) |
Add an identifier option to the header. | |
void | AddMessageLength (uint32_t len) |
Update the message length. | |
uint32_t | Deserialize (Buffer::Iterator start) override |
TypeId | GetInstanceTypeId () const override |
Get the most derived TypeId for this Object. | |
uint32_t | GetSerializedSize () const override |
void | Print (std::ostream &os) const override |
void | Serialize (Buffer::Iterator start) const override |
Private Attributes | |
IdentifierOption | m_clientIdentifier |
The client identifier option. | |
ElapsedTimeOption | m_elapsedTime |
The amount of time since the client began the transaction. | |
std::vector< IaOptions > | m_ianaList |
Vector of IA_NA options. | |
std::vector< IaOptions > | m_iataList |
Vector of IA_TA options. | |
uint32_t | m_len |
The length of the message. | |
MessageType | m_msgType |
The message type. | |
RequestOptions | m_optionRequest |
List of additional options requested. | |
std::map< Options::OptionType, bool > | m_options |
Options present in the header, indexed by option code. | |
PreferenceOption | m_preference |
The preference value for the server. | |
IdentifierOption | m_serverIdentifier |
The server identifier option. | |
uint32_t | m_solMaxRt |
Default value for SOL_MAX_RT option. | |
StatusCodeOption | m_statusCode |
(optional) The status code of the operation just performed. | |
uint32_t | m_transactId: 24 |
The transaction ID calculated by the client or the server. | |
Additional Inherited Members | |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. | |
virtual void | NotifyConstructionCompleted () |
Notifier called once the ObjectBase is fully constructed. | |
![]() | |
static TypeId | GetObjectIid () |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. | |
Implements the DHCPv6 header.
Definition at line 37 of file dhcp6-header.h.
|
strong |
Enum to identify the message type.
RELAY_FORW, RELAY_REPL message types are not currently implemented. These symbols and values are defined in RFC 8415, section 7.3
Enumerator | |
---|---|
INIT | |
SOLICIT | |
ADVERTISE | |
REQUEST | |
CONFIRM | |
RENEW | |
REBIND | |
REPLY | |
RELEASE | |
DECLINE | |
RECONFIGURE | |
INFORMATION_REQUEST | |
RELAY_FORW | |
RELAY_REPL |
Definition at line 57 of file dhcp6-header.h.
ns3::Dhcp6Header::Dhcp6Header | ( | ) |
void ns3::Dhcp6Header::AddAddress | ( | uint32_t | iaid, |
Ipv6Address | address, | ||
uint32_t | prefLifetime, | ||
uint32_t | validLifetime ) |
Add IA address option to the IANA or IATA.
iaid | the unique identifier of the identity association. |
address | The IPv6 address to be offered. |
prefLifetime | the preferred lifetime in seconds. |
validLifetime | the valid lifetime in seconds. |
Definition at line 293 of file dhcp6-header.cc.
References AddMessageLength(), m_ianaList, m_iataList, NS_LOG_ERROR, ns3::Options::OPTION_IAADDR, ns3::IaAddressOption::SetIaAddress(), ns3::Options::SetOptionCode(), ns3::Options::SetOptionLength(), ns3::IaAddressOption::SetPreferredLifetime(), and ns3::IaAddressOption::SetValidLifetime().
Referenced by ns3::Dhcp6Client::InterfaceConfig::DeclineOffer(), ns3::Dhcp6Server::RenewRebindLeases(), ns3::Dhcp6Server::SendAdvertise(), ns3::Dhcp6Client::SendRenew(), ns3::Dhcp6Server::SendReply(), and ns3::Dhcp6Client::SendRequest().
void ns3::Dhcp6Header::AddClientIdentifier | ( | Duid | duid | ) |
Add the client identifier option.
duid | The DUID which identifies the client. |
Definition at line 129 of file dhcp6-header.cc.
References AddIdentifierOption(), m_clientIdentifier, and ns3::Options::OPTION_CLIENTID.
Referenced by ns3::Dhcp6Client::Boot(), ns3::Dhcp6Client::InterfaceConfig::DeclineOffer(), ns3::Dhcp6Server::RenewRebindLeases(), ns3::Dhcp6Server::SendAdvertise(), ns3::Dhcp6Client::SendRebind(), ns3::Dhcp6Client::SendRenew(), ns3::Dhcp6Server::SendReply(), ns3::Dhcp6Client::SendRequest(), and ns3::Dhcp6Server::UpdateBindings().
void ns3::Dhcp6Header::AddElapsedTime | ( | uint16_t | timestamp | ) |
Set the elapsed time option.
timestamp | the time at which the client began the exchange. |
Definition at line 114 of file dhcp6-header.cc.
References AddMessageLength(), m_elapsedTime, m_options, ns3::Options::OPTION_ELAPSED_TIME, ns3::Options::SetOptionCode(), ns3::Options::SetOptionLength(), and ns3::IntegerOptions< T >::SetOptionValue().
Referenced by ns3::Dhcp6Client::Boot(), ns3::Dhcp6Client::InterfaceConfig::DeclineOffer(), ns3::Dhcp6Client::SendRebind(), ns3::Dhcp6Client::SendRenew(), and ns3::Dhcp6Client::SendRequest().
Add IANA option.
iaid | |
t1 | |
t2 |
Definition at line 216 of file dhcp6-header.cc.
References AddIaOption(), and ns3::Options::OPTION_IA_NA.
Referenced by ns3::Dhcp6Client::Boot(), ns3::Dhcp6Client::InterfaceConfig::DeclineOffer(), ns3::Dhcp6Server::RenewRebindLeases(), ns3::Dhcp6Server::SendAdvertise(), ns3::Dhcp6Client::SendRebind(), ns3::Dhcp6Client::SendRenew(), ns3::Dhcp6Server::SendReply(), and ns3::Dhcp6Client::SendRequest().
|
private |
Add IANA or IATA option to the header.
optionType | identify whether to add an IANA or IATA. |
iaid | |
t1 | |
t2 |
Definition at line 228 of file dhcp6-header.cc.
References AddMessageLength(), ns3::IaOptions::GetIaid(), m_ianaList, m_iataList, m_options, ns3::Options::OPTION_IA_NA, ns3::Options::OPTION_IA_TA, ns3::IaOptions::SetIaid(), ns3::Options::SetOptionCode(), ns3::Options::SetOptionLength(), ns3::IaOptions::SetT1(), and ns3::IaOptions::SetT2().
Referenced by AddIanaOption(), and AddIataOption().
void ns3::Dhcp6Header::AddIataOption | ( | uint32_t | iaid | ) |
Add IATA option.
iaid |
Definition at line 222 of file dhcp6-header.cc.
References AddIaOption(), and ns3::Options::OPTION_IA_TA.
|
private |
Add an identifier option to the header.
identifier | the client or server identifier option object. |
optionType | identify whether to add a client or server identifier. |
duid | The unique identifier for the client or server. |
Definition at line 141 of file dhcp6-header.cc.
References AddMessageLength(), ns3::Duid::GetLength(), m_options, ns3::IdentifierOption::SetDuid(), ns3::Options::SetOptionCode(), and ns3::Options::SetOptionLength().
Referenced by AddClientIdentifier(), and AddServerIdentifier().
|
private |
Update the message length.
len | The length to be added to the total. |
Definition at line 61 of file dhcp6-header.cc.
References m_len.
Referenced by AddAddress(), AddElapsedTime(), AddIaOption(), AddIdentifierOption(), AddOptionRequest(), AddSolMaxRt(), and AddStatusCode().
void ns3::Dhcp6Header::AddOptionRequest | ( | Options::OptionType | optionType | ) |
Request additional options.
optionType | the option to be requested. |
Definition at line 167 of file dhcp6-header.cc.
References AddMessageLength(), ns3::RequestOptions::AddRequestedOption(), ns3::Options::GetOptionLength(), m_optionRequest, m_options, ns3::Options::OPTION_ORO, ns3::Options::SetOptionCode(), and ns3::Options::SetOptionLength().
Referenced by ns3::Dhcp6Client::Boot(), ns3::Dhcp6Client::SendRebind(), ns3::Dhcp6Client::SendRenew(), and ns3::Dhcp6Client::SendRequest().
void ns3::Dhcp6Header::AddServerIdentifier | ( | Duid | duid | ) |
Add the server identifier option.
duid | The DUID which identifies the server. |
Definition at line 135 of file dhcp6-header.cc.
References AddIdentifierOption(), m_serverIdentifier, and ns3::Options::OPTION_SERVERID.
Referenced by ns3::Dhcp6Client::InterfaceConfig::DeclineOffer(), ns3::Dhcp6Server::RenewRebindLeases(), ns3::Dhcp6Server::SendAdvertise(), ns3::Dhcp6Client::SendRenew(), ns3::Dhcp6Server::SendReply(), ns3::Dhcp6Client::SendRequest(), and ns3::Dhcp6Server::UpdateBindings().
void ns3::Dhcp6Header::AddSolMaxRt | ( | ) |
Add the SOL_MAX_RT option.
Definition at line 205 of file dhcp6-header.cc.
References AddMessageLength(), m_options, and ns3::Options::OPTION_SOL_MAX_RT.
Referenced by HandleOptionRequest().
void ns3::Dhcp6Header::AddStatusCode | ( | Options::StatusCodeValues | statusCode, |
std::string | statusMsg ) |
Add the status code option.
statusCode | the status code of the operation. |
statusMsg | the status message. |
Definition at line 358 of file dhcp6-header.cc.
References AddMessageLength(), ns3::Options::GetOptionLength(), ns3::StatusCodeOption::GetStatusMessage(), m_options, m_statusCode, ns3::Options::OPTION_STATUS_CODE, ns3::Options::SetOptionCode(), ns3::Options::SetOptionLength(), ns3::StatusCodeOption::SetStatusCode(), and ns3::StatusCodeOption::SetStatusMessage().
Referenced by ns3::Dhcp6Server::UpdateBindings().
|
overrideprivatevirtual |
start | an iterator which points to where the header should read from. |
This method is used by Packet::RemoveHeader to re-create a header from the byte buffer of a packet. The data read is expected to match bit-for-bit the representation of this header in real networks.
Note that data is not actually removed from the buffer to which the iterator points. Both Packet::RemoveHeader() and Packet::PeekHeader() call Deserialize(), but only the RemoveHeader() has additional statements to remove the header bytes from the underlying buffer and associated metadata.
Implements ns3::Header.
Definition at line 475 of file dhcp6-header.cc.
References ns3::RequestOptions::AddRequestedOption(), ns3::Duid::Deserialize(), ns3::Options::GetOptionLength(), ns3::Buffer::Iterator::GetSize(), m_clientIdentifier, m_elapsedTime, ns3::IaOptions::m_iaAddressOption, m_ianaList, m_len, m_msgType, m_optionRequest, m_options, m_serverIdentifier, m_solMaxRt, m_statusCode, m_transactId, ns3::Buffer::Iterator::Next(), NS_LOG_INFO, NS_LOG_WARN, ns3::Options::OPTION_CLIENTID, ns3::Options::OPTION_ELAPSED_TIME, ns3::Options::OPTION_IA_NA, ns3::Options::OPTION_ORO, ns3::Options::OPTION_SERVERID, ns3::Options::OPTION_SOL_MAX_RT, ns3::Options::OPTION_STATUS_CODE, ns3::Buffer::Iterator::Read(), ns3::Buffer::Iterator::ReadNtohU16(), ns3::Buffer::Iterator::ReadNtohU32(), ns3::IdentifierOption::SetDuid(), ns3::IaAddressOption::SetIaAddress(), ns3::IaOptions::SetIaid(), ns3::Options::SetOptionCode(), ns3::Options::SetOptionLength(), ns3::IntegerOptions< T >::SetOptionValue(), ns3::IaAddressOption::SetPreferredLifetime(), ns3::StatusCodeOption::SetStatusCode(), ns3::StatusCodeOption::SetStatusMessage(), ns3::IaOptions::SetT1(), ns3::IaOptions::SetT2(), and ns3::IaAddressOption::SetValidLifetime().
IdentifierOption ns3::Dhcp6Header::GetClientIdentifier | ( | ) |
Get the client identifier.
Definition at line 90 of file dhcp6-header.cc.
References m_clientIdentifier.
Referenced by ns3::Dhcp6Server::ProcessSolicit(), ns3::Dhcp6Server::RenewRebindLeases(), ns3::Dhcp6Server::SendAdvertise(), ns3::Dhcp6Server::SendReply(), ns3::Dhcp6Server::UpdateBindings(), and ns3::Dhcp6Client::ValidateAdvertise().
std::vector< IaOptions > ns3::Dhcp6Header::GetIanaOptions | ( | ) |
Get the list of IA_NA options.
Definition at line 108 of file dhcp6-header.cc.
References m_ianaList.
Referenced by ns3::Dhcp6Client::ProcessReply(), ns3::Dhcp6Server::ProcessSolicit(), ns3::Dhcp6Server::RenewRebindLeases(), ns3::Dhcp6Server::SendAdvertise(), ns3::Dhcp6Server::SendReply(), ns3::Dhcp6Client::SendRequest(), and ns3::Dhcp6Server::UpdateBindings().
|
overrideprivatevirtual |
Get the most derived TypeId for this Object.
This method is provided by ns3::Object::GetInstanceTypeId but classes which derive from ns3::ObjectBase directly have to implement it themselves. Typically, this method should simply return the output of GetTypeId()
.
Implements ns3::ObjectBase.
Definition at line 84 of file dhcp6-header.cc.
References GetTypeId().
Dhcp6Header::MessageType ns3::Dhcp6Header::GetMessageType | ( | ) | const |
Get the type of message.
Definition at line 35 of file dhcp6-header.cc.
References m_msgType.
Referenced by ns3::Dhcp6Client::NetHandler(), ns3::Dhcp6Server::NetHandler(), and ns3::Dhcp6Server::UpdateBindings().
std::map< Options::OptionType, bool > ns3::Dhcp6Header::GetOptionList | ( | ) |
Get list of all options set in the header.
Definition at line 352 of file dhcp6-header.cc.
References m_options.
Referenced by ns3::Dhcp6Server::ProcessSolicit(), ns3::Dhcp6Server::RenewRebindLeases(), ns3::Dhcp6Server::SendAdvertise(), and ns3::Dhcp6Server::SendReply().
RequestOptions ns3::Dhcp6Header::GetOptionRequest | ( | ) |
Get the option request option.
Definition at line 161 of file dhcp6-header.cc.
References m_optionRequest.
Referenced by ns3::Dhcp6Server::RenewRebindLeases(), ns3::Dhcp6Server::SendAdvertise(), and ns3::Dhcp6Server::SendReply().
|
overrideprivatevirtual |
This method is used by Packet::AddHeader to store a header into the byte buffer of a packet. This method should return the number of bytes which are needed to store the full header data by Serialize.
Implements ns3::Header.
Definition at line 374 of file dhcp6-header.cc.
References m_len.
IdentifierOption ns3::Dhcp6Header::GetServerIdentifier | ( | ) |
Get the server identifier.
Definition at line 96 of file dhcp6-header.cc.
References m_serverIdentifier.
Referenced by ns3::Dhcp6Client::SendRequest(), and ns3::Dhcp6Client::ValidateAdvertise().
StatusCodeOption ns3::Dhcp6Header::GetStatusCodeOption | ( | ) |
Get the status code of the operation.
Definition at line 102 of file dhcp6-header.cc.
References m_statusCode.
Referenced by ns3::Dhcp6Client::CheckLeaseStatus().
uint32_t ns3::Dhcp6Header::GetTransactId | ( | ) | const |
Get the transaction ID.
Definition at line 48 of file dhcp6-header.cc.
References m_transactId.
Referenced by ns3::Dhcp6Server::RenewRebindLeases(), ns3::Dhcp6Server::SendAdvertise(), ns3::Dhcp6Server::SendReply(), ns3::Dhcp6Server::UpdateBindings(), and ns3::Dhcp6Client::ValidateAdvertise().
|
static |
Get the type ID.
Definition at line 74 of file dhcp6-header.cc.
References ns3::TypeId::SetParent().
Referenced by GetInstanceTypeId().
void ns3::Dhcp6Header::HandleOptionRequest | ( | std::vector< Options::OptionType > | requestedOptions | ) |
Handle all options requested by client.
requestedOptions | the options requested by the client. |
Definition at line 188 of file dhcp6-header.cc.
References AddSolMaxRt(), NS_LOG_WARN, and ns3::Options::OPTION_SOL_MAX_RT.
Referenced by ns3::Dhcp6Server::RenewRebindLeases(), ns3::Dhcp6Server::SendAdvertise(), and ns3::Dhcp6Server::SendReply().
|
overrideprivatevirtual |
os | output stream This method is used by Packet::Print to print the content of a header as ascii data to a c++ output stream. Although the header is free to format its output as it wishes, it is recommended to follow a few rules to integrate with the packet pretty printer: start with flags, small field values located between a pair of parens. Values should be separated by whitespace. Follow the parens with the important fields, separated by whitespace. i.e.: (field1 val1 field2 val2 field3 val3) field4 val4 field5 val5 |
Implements ns3::Header.
Definition at line 380 of file dhcp6-header.cc.
References m_msgType.
void ns3::Dhcp6Header::ResetOptions | ( | ) |
Reset all options.
Definition at line 67 of file dhcp6-header.cc.
References m_len, and m_options.
Referenced by ns3::Dhcp6Server::RenewRebindLeases(), ns3::Dhcp6Server::SendAdvertise(), ns3::Dhcp6Server::SendReply(), ns3::Dhcp6Client::SendRequest(), and ns3::Dhcp6Server::UpdateBindings().
|
overrideprivatevirtual |
start | an iterator which points to where the header should be written. |
This method is used by Packet::AddHeader to store a header into the byte buffer of a packet. The data written is expected to match bit-for-bit the representation of this header in a real network.
Implements ns3::Header.
Definition at line 386 of file dhcp6-header.cc.
References ns3::Address::CopyTo(), ns3::IdentifierOption::GetDuid(), ns3::Options::GetOptionCode(), ns3::Options::GetOptionLength(), ns3::IntegerOptions< T >::GetOptionValue(), ns3::RequestOptions::GetRequestedOptions(), ns3::Duid::GetSerializedSize(), ns3::StatusCodeOption::GetStatusCode(), ns3::StatusCodeOption::GetStatusMessage(), m_clientIdentifier, m_elapsedTime, m_ianaList, m_msgType, m_optionRequest, m_options, m_serverIdentifier, m_solMaxRt, m_statusCode, m_transactId, ns3::Buffer::Iterator::Next(), ns3::Options::OPTION_CLIENTID, ns3::Options::OPTION_ELAPSED_TIME, ns3::Options::OPTION_IA_NA, ns3::Options::OPTION_ORO, ns3::Options::OPTION_SERVERID, ns3::Options::OPTION_SOL_MAX_RT, ns3::Options::OPTION_STATUS_CODE, ns3::Duid::Serialize(), ns3::Buffer::Iterator::Write(), ns3::Buffer::Iterator::WriteHtonU16(), and ns3::Buffer::Iterator::WriteHtonU32().
void ns3::Dhcp6Header::SetMessageType | ( | MessageType | msgType | ) |
Set the message type.
msgType | integer corresponding to the message type. |
Definition at line 41 of file dhcp6-header.cc.
References m_msgType, and NS_LOG_FUNCTION.
Referenced by ns3::Dhcp6Client::Boot(), ns3::Dhcp6Client::InterfaceConfig::DeclineOffer(), ns3::Dhcp6Server::RenewRebindLeases(), ns3::Dhcp6Server::SendAdvertise(), ns3::Dhcp6Client::SendRebind(), ns3::Dhcp6Client::SendRenew(), ns3::Dhcp6Server::SendReply(), ns3::Dhcp6Client::SendRequest(), and ns3::Dhcp6Server::UpdateBindings().
void ns3::Dhcp6Header::SetTransactId | ( | uint32_t | transactId | ) |
Set the transaction ID.
transactId | A 32-bit transaction ID. |
Definition at line 54 of file dhcp6-header.cc.
References m_transactId, and NS_LOG_FUNCTION.
Referenced by ns3::Dhcp6Client::Boot(), ns3::Dhcp6Client::InterfaceConfig::DeclineOffer(), ns3::Dhcp6Server::RenewRebindLeases(), ns3::Dhcp6Server::SendAdvertise(), ns3::Dhcp6Client::SendRebind(), ns3::Dhcp6Client::SendRenew(), ns3::Dhcp6Server::SendReply(), ns3::Dhcp6Client::SendRequest(), and ns3::Dhcp6Server::UpdateBindings().
|
static |
The port number of the DHCPv6 client.
Definition at line 211 of file dhcp6-header.h.
Referenced by ns3::Dhcp6Client::ReceiveMflag().
|
private |
The client identifier option.
Definition at line 255 of file dhcp6-header.h.
Referenced by AddClientIdentifier(), Deserialize(), GetClientIdentifier(), and Serialize().
|
private |
The amount of time since the client began the transaction.
Definition at line 283 of file dhcp6-header.h.
Referenced by AddElapsedTime(), Deserialize(), and Serialize().
|
private |
Vector of IA_NA options.
Definition at line 257 of file dhcp6-header.h.
Referenced by AddAddress(), AddIaOption(), Deserialize(), GetIanaOptions(), and Serialize().
|
private |
Vector of IA_TA options.
Definition at line 258 of file dhcp6-header.h.
Referenced by AddAddress(), and AddIaOption().
|
private |
The length of the message.
Definition at line 253 of file dhcp6-header.h.
Referenced by AddMessageLength(), Deserialize(), GetSerializedSize(), and ResetOptions().
|
private |
The message type.
Definition at line 254 of file dhcp6-header.h.
Referenced by Deserialize(), GetMessageType(), Print(), Serialize(), and SetMessageType().
|
private |
List of additional options requested.
Definition at line 277 of file dhcp6-header.h.
Referenced by AddOptionRequest(), Deserialize(), GetOptionRequest(), and Serialize().
|
private |
Options present in the header, indexed by option code.
TODO: Use std::set instead.
Definition at line 271 of file dhcp6-header.h.
Referenced by AddElapsedTime(), AddIaOption(), AddIdentifierOption(), AddOptionRequest(), AddSolMaxRt(), AddStatusCode(), Deserialize(), GetOptionList(), ResetOptions(), and Serialize().
|
private |
The preference value for the server.
Definition at line 280 of file dhcp6-header.h.
|
private |
The server identifier option.
Definition at line 256 of file dhcp6-header.h.
Referenced by AddServerIdentifier(), Deserialize(), GetServerIdentifier(), and Serialize().
|
private |
Default value for SOL_MAX_RT option.
Definition at line 259 of file dhcp6-header.h.
Referenced by Dhcp6Header(), Deserialize(), and Serialize().
|
private |
(optional) The status code of the operation just performed.
Definition at line 274 of file dhcp6-header.h.
Referenced by AddStatusCode(), Deserialize(), GetStatusCodeOption(), and Serialize().
|
private |
The transaction ID calculated by the client or the server.
This is a 24-bit integer.
Definition at line 265 of file dhcp6-header.h.
Referenced by Deserialize(), GetTransactId(), Serialize(), and SetTransactId().
|
static |
The port number of the DHCPv6 server.
Definition at line 216 of file dhcp6-header.h.
Referenced by ns3::Dhcp6Client::Boot(), ns3::Dhcp6Client::InterfaceConfig::DeclineOffer(), ns3::Dhcp6Server::ReceiveMflag(), ns3::Dhcp6Client::SendRebind(), ns3::Dhcp6Client::SendRelease(), ns3::Dhcp6Client::SendRenew(), ns3::Dhcp6Client::SendRequest(), and ns3::Dhcp6Server::StartApplication().