7#ifndef OPTION6_PDEXCLUDE_H
8#define OPTION6_PDEXCLUDE_H
12#include <boost/shared_ptr.hpp>
39 const uint8_t delegated_prefix_length,
41 const uint8_t excluded_prefix_length);
80 virtual uint16_t
len()
const;
85 virtual std::string
toText(
int indent = 0)
const;
97 const uint8_t delegated_prefix_length)
const;
101 return (excluded_prefix_length_);
114 uint8_t getSubnetIDLength(
const uint8_t delegated_prefix_length,
115 const uint8_t excluded_prefix_length)
const;
118 uint8_t excluded_prefix_length_;
121 std::vector<uint8_t> subnet_id_;
The IOAddress class represents an IP addresses (version agnostic)
DHCPv6 option class representing Prefix Exclude Option (RFC 6603).
virtual OptionPtr clone() const
Copies this option and returns a pointer to the copy.
asiolink::IOAddress getExcludedPrefix(const asiolink::IOAddress &delegated_prefix, const uint8_t delegated_prefix_length) const
Returns excluded prefix.
const std::vector< uint8_t > & getExcludedPrefixSubnetID() const
Returns an excluded prefix in a binary format.
virtual std::string toText(int indent=0) const
Returns Prefix Exclude option in textual format.
Option6PDExclude(const isc::asiolink::IOAddress &delegated_prefix, const uint8_t delegated_prefix_length, const isc::asiolink::IOAddress &excluded_prefix, const uint8_t excluded_prefix_length)
Constructor.
virtual uint16_t len() const
Returns length of the complete option (data length + DHCPv6 option header)
virtual void pack(isc::util::OutputBuffer &buf, bool check=true) const
Writes option in wire-format to a buffer.
virtual void unpack(OptionBufferConstIter begin, OptionBufferConstIter end)
Parses received buffer.
uint8_t getExcludedPrefixLength() const
Returns excluded prefix length.
void check() const
A protected method used for option correctness.
The OutputBuffer class is a buffer abstraction for manipulating mutable data.
boost::shared_ptr< Option6PDExclude > Option6PDExcludePtr
Pointer to the Option6PDExclude object.
OptionBuffer::const_iterator OptionBufferConstIter
const_iterator for walking over OptionBuffer
boost::shared_ptr< Option > OptionPtr
Defines the logger used by the top-level component of kea-lfc.