Kea 2.7.6
|
#include <option6_ia.h>
Public Member Functions | |
Option6IA (uint16_t type, OptionBuffer::const_iterator begin, OptionBuffer::const_iterator end) | |
Ctor, used for received options. | |
Option6IA (uint16_t type, uint32_t iaid) | |
Ctor, used for constructed options, usually during transmission. | |
virtual OptionPtr | clone () const |
Copies this option and returns a pointer to the copy. | |
uint32_t | getIAID () const |
Returns IA identifier. | |
uint32_t | getT1 () const |
Returns T1 timer. | |
uint32_t | getT2 () const |
Returns T2 timer. | |
virtual uint16_t | len () const |
returns complete length of option | |
void | pack (isc::util::OutputBuffer &buf, bool check=true) const |
Writes option in wire-format to buf, returns pointer to first unused byte after stored option. | |
void | setIAID (uint32_t iaid) |
Sets Identity Association Identifier. | |
void | setT1 (uint32_t t1) |
Sets T1 timer. | |
void | setT2 (uint32_t t2) |
Sets T2 timer. | |
virtual std::string | toText (int indent=0) const |
Provides human readable text representation. | |
virtual void | unpack (OptionBufferConstIter begin, OptionBufferConstIter end) |
Parses received buffer. | |
Public Member Functions inherited from isc::dhcp::Option | |
Option (const Option &source) | |
Copy constructor. | |
Option (Universe u, uint16_t type) | |
ctor, used for options constructed, usually during transmission | |
Option (Universe u, uint16_t type, const OptionBuffer &data) | |
Constructor, used for received options. | |
Option (Universe u, uint16_t type, OptionBufferConstIter first, OptionBufferConstIter last) | |
Constructor, used for received options. | |
virtual | ~Option () |
just to force that every option has virtual dtor | |
void | addOption (OptionPtr opt) |
Adds a sub-option. | |
bool | delOption (uint16_t type) |
Attempts to delete first suboption of requested type. | |
virtual bool | equals (const Option &other) const |
Checks if two options are equal. | |
bool | equals (const OptionPtr &other) const |
Checks if options are equal. | |
virtual const OptionBuffer & | getData () const |
Returns pointer to actual data. | |
std::string | getEncapsulatedSpace () const |
Returns the name of the option space encapsulated by this option. | |
virtual uint16_t | getHeaderLen () const |
Returns length of header (2 for v4, 4 for v6) | |
OptionCollection & | getMutableOptions () |
Returns all encapsulated options. | |
OptionPtr | getOption (uint16_t type) const |
Returns shared_ptr to suboption of specific type. | |
const OptionCollection & | getOptions () const |
Returns all encapsulated options. | |
void | getOptionsCopy (OptionCollection &options_copy) const |
Performs deep copy of suboptions. | |
uint16_t | getType () const |
Returns option type (0-255 for DHCPv4, 0-65535 for DHCPv6) | |
uint16_t | getUint16 () const |
Returns content of first word. | |
uint32_t | getUint32 () const |
Returns content of first double word. | |
uint8_t | getUint8 () const |
Returns content of first byte. | |
Universe | getUniverse () const |
returns option universe (V4 or V6) | |
Option & | operator= (const Option &rhs) |
Assignment operator. | |
template<typename InputIterator > | |
void | setData (InputIterator first, InputIterator last) |
Sets content of this option from buffer. | |
void | setEncapsulatedSpace (const std::string &encapsulated_space) |
Sets the name of the option space encapsulated by this option. | |
void | setUint16 (uint16_t value) |
Sets content of this option to a single uint16 value. | |
void | setUint32 (uint32_t value) |
Sets content of this option to a single uint32 value. | |
void | setUint8 (uint8_t value) |
Sets content of this option to a single uint8 value. | |
virtual std::vector< uint8_t > | toBinary (const bool include_header=false) const |
Returns binary representation of the option. | |
virtual std::string | toHexString (const bool include_header=false) const |
Returns string containing hexadecimal representation of option. | |
virtual std::string | toString () const |
Returns string representation of the value. | |
virtual bool | valid () const |
returns if option is valid (e.g. | |
Static Public Attributes | |
static const size_t | OPTION6_IA_LEN = 12 |
Length of IA_NA and IA_PD content. | |
Static Public Attributes inherited from isc::dhcp::Option | |
static bool | lenient_parsing_ |
Governs whether options should be parsed less strictly. | |
static const size_t | OPTION4_HDR_LEN = 2 |
length of the usual DHCPv4 option header (there are exceptions) | |
static const size_t | OPTION6_HDR_LEN = 4 |
length of any DHCPv6 option header | |
Protected Attributes | |
uint32_t | iaid_ |
keeps IA identifier | |
uint32_t | t1_ |
keeps T1 timer value | |
uint32_t | t2_ |
keeps T2 timer value | |
Protected Attributes inherited from isc::dhcp::Option | |
OptionBuffer | data_ |
contains content of this data | |
std::string | encapsulated_space_ |
Name of the option space being encapsulated by this option. | |
OptionCollection | options_ |
collection for storing suboptions | |
uint16_t | type_ |
option type (0-255 for DHCPv4, 0-65535 for DHCPv6) | |
Universe | universe_ |
option universe (V4 or V6) | |
Additional Inherited Members | |
Public Types inherited from isc::dhcp::Option | |
typedef OptionPtr | Factory(Option::Universe u, uint16_t type, const OptionBuffer &buf) |
a factory function prototype | |
enum | Universe { V4 , V6 } |
defines option universe DHCPv4 or DHCPv6 More... | |
Static Public Member Functions inherited from isc::dhcp::Option | |
static OptionPtr | create (Universe u, uint16_t type) |
Factory function creating an instance of the Option . | |
static OptionPtr | create (Universe u, uint16_t type, const OptionBuffer &data) |
Factory function creating an instance of the Option . | |
static OptionPtr | factory (Option::Universe u, uint16_t type) |
Factory function to create instance of option. | |
static OptionPtr | factory (Option::Universe u, uint16_t type, const OptionBuffer &buf) |
Factory function to create instance of option. | |
Protected Member Functions inherited from isc::dhcp::Option | |
void | check () const |
A protected method used for option correctness. | |
template<typename OptionType > | |
OptionPtr | cloneInternal () const |
Copies this option and returns a pointer to the copy. | |
std::string | headerToText (const int indent=0, const std::string &type_name="") const |
Returns option header in the textual format. | |
void | packHeader (isc::util::OutputBuffer &buf, bool check=true) const |
Store option's header in a buffer. | |
void | packOptions (isc::util::OutputBuffer &buf, bool check=true) const |
Store sub options in a buffer. | |
std::string | suboptionsToText (const int indent=0) const |
Returns collection of suboptions in the textual format. | |
void | unpackOptions (const OptionBuffer &buf) |
Builds a collection of sub options from the buffer. | |
Definition at line 22 of file option6_ia.h.
isc::dhcp::Option6IA::Option6IA | ( | uint16_t | type, |
uint32_t | iaid ) |
Ctor, used for constructed options, usually during transmission.
type | option type (usually 4 for IA_NA, 25 for IA_PD) |
iaid | identity association identifier (id of IA) |
Definition at line 25 of file option6_ia.cc.
References D6O_IA_TA, DHCP6_OPTION_SPACE, isc_throw, and isc::dhcp::Option::setEncapsulatedSpace().
isc::dhcp::Option6IA::Option6IA | ( | uint16_t | type, |
OptionBuffer::const_iterator | begin, | ||
OptionBuffer::const_iterator | end ) |
Ctor, used for received options.
type | option type (usually 4 for IA_NA, 25 for IA_PD) |
begin | iterator to first byte of option data |
end | iterator to end of option data (first byte after option end) |
Definition at line 37 of file option6_ia.cc.
References D6O_IA_TA, DHCP6_OPTION_SPACE, isc_throw, isc::dhcp::Option::setEncapsulatedSpace(), and unpack().
|
virtual |
Copies this option and returns a pointer to the copy.
Reimplemented from isc::dhcp::Option.
Definition at line 53 of file option6_ia.cc.
References isc::dhcp::Option::cloneInternal().
|
inline |
Returns IA identifier.
Definition at line 87 of file option6_ia.h.
References iaid_.
|
inline |
|
inline |
|
virtual |
returns complete length of option
Returns length of this option, including option header and suboptions
Reimplemented from isc::dhcp::Option.
Definition at line 105 of file option6_ia.cc.
References isc::dhcp::Option::OPTION6_HDR_LEN, OPTION6_IA_LEN, and isc::dhcp::Option::options_.
Referenced by pack().
|
virtual |
Writes option in wire-format to buf, returns pointer to first unused byte after stored option.
buf | buffer (option will be stored here) |
check | if set to false, allows options larger than 255 for v4 |
Reimplemented from isc::dhcp::Option.
Definition at line 57 of file option6_ia.cc.
References iaid_, len(), isc::dhcp::Option::OPTION6_HDR_LEN, isc::dhcp::Option::packOptions(), t1_, t2_, isc::dhcp::Option::type_, isc::util::OutputBuffer::writeUint16(), and isc::util::OutputBuffer::writeUint32().
|
inline |
Sets Identity Association Identifier.
iaid | IAID value to be set |
Definition at line 81 of file option6_ia.h.
References iaid_.
|
inline |
Sets T1 timer.
t1 | t1 value to be set |
Definition at line 71 of file option6_ia.h.
References t1_.
|
inline |
Sets T2 timer.
t2 | t2 value to be set |
Definition at line 76 of file option6_ia.h.
References t2_.
|
virtual |
Provides human readable text representation.
indent | number of leading space characters |
Reimplemented from isc::dhcp::Option.
Definition at line 85 of file option6_ia.cc.
References D6O_IA_NA, D6O_IA_PD, isc::dhcp::Option::getType(), isc::dhcp::Option::headerToText(), iaid_, isc::dhcp::Option::suboptionsToText(), t1_, and t2_.
|
virtual |
Parses received buffer.
Parses received buffer and returns offset to the first unused byte after parsed option.
begin | iterator to first byte of option data |
end | iterator to end of option data (first byte after option end) |
Reimplemented from isc::dhcp::Option.
Definition at line 67 of file option6_ia.cc.
References iaid_, isc_throw, OPTION6_IA_LEN, isc::util::readUint32(), t1_, t2_, isc::dhcp::Option::type_, and isc::dhcp::Option::unpackOptions().
Referenced by Option6IA().
|
protected |
|
static |
Length of IA_NA and IA_PD content.
Definition at line 26 of file option6_ia.h.
Referenced by isc::dhcp::OptionDefinition::factoryIA6(), len(), and unpack().
|
protected |
|
protected |