![]() |
Kea 3.0.0
|
#include <option6_iaaddr.h>
Public Member Functions | |
| Option6IAAddr (uint16_t type, const isc::asiolink::IOAddress &addr, uint32_t preferred, uint32_t valid) | |
| Constructor, used for options constructed (during transmission). | |
| Option6IAAddr (uint32_t type, OptionBuffer::const_iterator begin, OptionBuffer::const_iterator end) | |
| Constructor, used for received options. | |
| virtual OptionPtr | clone () const |
| Copies this option and returns a pointer to the copy. | |
| isc::asiolink::IOAddress | getAddress () const |
| Returns address contained within this option. | |
| unsigned int | getPreferred () const |
| Returns preferred lifetime of an address. | |
| unsigned int | getValid () const |
| Returns valid lifetime of an address. | |
| virtual uint16_t | len () const |
| returns data length (data length + DHCPv4/DHCPv6 option header) | |
| void | pack (isc::util::OutputBuffer &buf, bool check=true) const |
| Writes option in wire-format. | |
| void | setAddress (const isc::asiolink::IOAddress &addr) |
| sets address in this option. | |
| void | setPreferred (unsigned int pref) |
| Sets preferred lifetime (in seconds) | |
| void | setValid (unsigned int valid) |
| Sets valid lifetime (in seconds). | |
| virtual std::string | toText (int indent=0) const |
| Returns string representation of the option. | |
| 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_IAADDR_LEN = 24 |
| length of the fixed part of the IAADDR option | |
| 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 | |
| isc::asiolink::IOAddress | addr_ |
| contains an IPv6 address | |
| unsigned int | preferred_ |
| contains preferred-lifetime timer (in seconds) | |
| unsigned int | valid_ |
| contains valid-lifetime timer (in seconds) | |
| 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_iaaddr.h.
| isc::dhcp::Option6IAAddr::Option6IAAddr | ( | uint16_t | type, |
| const isc::asiolink::IOAddress & | addr, | ||
| uint32_t | preferred, | ||
| uint32_t | valid ) |
Constructor, used for options constructed (during transmission).
| BadValue | if specified addr is not IPv6 |
| type | option type |
| addr | reference to an address |
| preferred | address preferred lifetime (in seconds) |
| valid | address valid lifetime (in seconds) |
Definition at line 29 of file option6_iaaddr.cc.
References isc::dhcp::Option::Option(), addr_, DHCP6_OPTION_SPACE, isc_throw, isc::asiolink::IOAddress::isV6(), preferred_, isc::dhcp::Option::setEncapsulatedSpace(), isc::dhcp::Option::V6, isc::dhcp::Option::valid(), and valid_.
Referenced by isc::dhcp::Option6IAPrefix::Option6IAPrefix(), and isc::dhcp::Option6IAPrefix::Option6IAPrefix().
| isc::dhcp::Option6IAAddr::Option6IAAddr | ( | uint32_t | type, |
| OptionBuffer::const_iterator | begin, | ||
| OptionBuffer::const_iterator | end ) |
Constructor, used for received options.
| OutOfRange | if specified option is truncated |
| type | option type |
| begin | iterator to first byte of option data |
| end | iterator to end of option data (first byte after option end) |
Definition at line 39 of file option6_iaaddr.cc.
References isc::dhcp::Option::Option(), addr_, DHCP6_OPTION_SPACE, isc::dhcp::Option::setEncapsulatedSpace(), unpack(), and isc::dhcp::Option::V6.
|
virtual |
Copies this option and returns a pointer to the copy.
Reimplemented from isc::dhcp::Option.
Reimplemented in isc::dhcp::Option6IAPrefix, and Option6IAPrefix.
Definition at line 47 of file option6_iaaddr.cc.
References isc::dhcp::Option::cloneInternal().
|
inline |
Returns address contained within this option.
Definition at line 98 of file option6_iaaddr.h.
References addr_.
Referenced by isc::perfdhcp::TestControl::address6Uniqueness().
|
inline |
Returns preferred lifetime of an address.
Definition at line 104 of file option6_iaaddr.h.
References preferred_.
|
inline |
Returns valid lifetime of an address.
Definition at line 110 of file option6_iaaddr.h.
References valid_.
|
virtual |
returns data length (data length + DHCPv4/DHCPv6 option header)
Reimplemented from isc::dhcp::Option.
Reimplemented in isc::dhcp::Option6IAPrefix, and Option6IAPrefix.
Definition at line 101 of file option6_iaaddr.cc.
References isc::dhcp::Option::OPTION6_HDR_LEN, OPTION6_IAADDR_LEN, and isc::dhcp::Option::options_.
Referenced by pack().
|
virtual |
Writes option in wire-format.
Writes option in wire-format to buf, returns pointer to first unused byte after stored option.
| buf | pointer to a buffer |
| check | if set to false, allows options larger than 255 for v4 |
Reimplemented from isc::dhcp::Option.
Reimplemented in isc::dhcp::Option6IAPrefix, and Option6IAPrefix.
Definition at line 51 of file option6_iaaddr.cc.
References addr_, isc::dhcp::Option::getHeaderLen(), isc_throw, len(), isc::dhcp::Option::packOptions(), preferred_, isc::dhcp::Option::type_, valid_, isc::util::OutputBuffer::writeData(), isc::util::OutputBuffer::writeUint16(), and isc::util::OutputBuffer::writeUint32().
|
inline |
sets address in this option.
| addr | address to be sent in this option |
Definition at line 80 of file option6_iaaddr.h.
References addr_.
|
inline |
Sets preferred lifetime (in seconds)
| pref | address preferred lifetime (in seconds) |
Definition at line 86 of file option6_iaaddr.h.
References preferred_.
|
inline |
Sets valid lifetime (in seconds).
| valid | address valid lifetime (in seconds) |
Definition at line 92 of file option6_iaaddr.h.
References isc::dhcp::Option::valid(), and valid_.
|
virtual |
Returns string representation of the option.
| indent | number of spaces before printing text |
Reimplemented from isc::dhcp::Option.
Reimplemented in isc::dhcp::Option6IAPrefix, and Option6IAPrefix.
Definition at line 90 of file option6_iaaddr.cc.
References addr_, isc::dhcp::Option::headerToText(), preferred_, isc::dhcp::Option::suboptionsToText(), and valid_.
|
virtual |
Parses received buffer.
| 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.
Reimplemented in isc::dhcp::Option6IAPrefix, and Option6IAPrefix.
Definition at line 71 of file option6_iaaddr.cc.
References addr_, isc::asiolink::IOAddress::fromBytes(), isc_throw, OPTION6_IAADDR_LEN, preferred_, isc::util::readUint32(), isc::dhcp::Option::type_, isc::dhcp::Option::unpackOptions(), and valid_.
Referenced by Option6IAAddr().
|
protected |
contains an IPv6 address
Definition at line 117 of file option6_iaaddr.h.
Referenced by Option6IAAddr(), Option6IAAddr(), getAddress(), pack(), isc::dhcp::Option6IAPrefix::pack(), setAddress(), isc::dhcp::Option6IAPrefix::setPrefix(), toText(), isc::dhcp::Option6IAPrefix::toText(), unpack(), and isc::dhcp::Option6IAPrefix::unpack().
|
static |
length of the fixed part of the IAADDR option
Definition at line 26 of file option6_iaaddr.h.
Referenced by isc::dhcp::OptionDefinition::factoryIAAddr6(), len(), and unpack().
|
protected |
contains preferred-lifetime timer (in seconds)
Definition at line 120 of file option6_iaaddr.h.
Referenced by Option6IAAddr(), getPreferred(), pack(), isc::dhcp::Option6IAPrefix::pack(), setPreferred(), toText(), isc::dhcp::Option6IAPrefix::toText(), unpack(), and isc::dhcp::Option6IAPrefix::unpack().
|
protected |
contains valid-lifetime timer (in seconds)
Definition at line 123 of file option6_iaaddr.h.
Referenced by Option6IAAddr(), getValid(), pack(), isc::dhcp::Option6IAPrefix::pack(), setValid(), toText(), isc::dhcp::Option6IAPrefix::toText(), unpack(), and isc::dhcp::Option6IAPrefix::unpack().