Kea 3.3.4
isc::cb::CBSharedNetwork6Parser Class Reference

Implements a parser for IPv6 shared networks. More...

#include <cb_parsers.h>

Inheritance diagram for isc::cb::CBSharedNetwork6Parser:

Public Member Functions

 CBSharedNetwork6Parser (db::BackendSelector &backend_selector, db::ServerSelector &server_selector)
 Constructor.
dhcp::SharedNetwork6Ptr parse (data::ConstElementPtr shared_network)
 Parses a single IPv6 shared network configuration.
Public Member Functions inherited from isc::dhcp::SharedNetwork6Parser
 SharedNetwork6Parser (bool check_iface=true)
 Constructor.
virtual ~SharedNetwork6Parser ()
 Virtual destructor.
SharedNetwork6Ptr parse (const data::ConstElementPtr &shared_network_data, bool encapsulate_options=true)
 Parses shared configuration information for IPv6 shared network.
Public Member Functions inherited from isc::dhcp::BaseNetworkParser
template<typename DdnsOwnerTypePtr>
void parseDdnsParameters (const data::ConstElementPtr &config, DdnsOwnerTypePtr owner)
 Parses parameters pertaining to DDNS behavior.
Public Member Functions inherited from isc::data::SimpleParser
uint16_t getUint16 (isc::data::ConstElementPtr scope, const std::string &name)
 Returns a value converted to uint16_t.
uint32_t getUint32 (isc::data::ConstElementPtr scope, const std::string &name)
 Returns a value converted to uint32_t.
uint8_t getUint8 (ConstElementPtr scope, const std::string &name)
 Get an uint8_t value.
const isc::util::Triplet< uint32_t > parseIntTriplet (const data::ConstElementPtr &scope, const std::string &name)
 Parses an integer triplet.

Protected Member Functions

virtual boost::shared_ptr< OptionDataListParser > createOptionDataListParser () const
 Returns an instance of the CBOptionDataListParser to be used in parsing the option-data structure.
virtual boost::shared_ptr< Subnets6ListConfigParser > createSubnetsListParser () const
 Returns an instance of the CBSubnets6ListConfigParser to be used for parsing the subnets within the shared network.
Protected Member Functions inherited from isc::dhcp::BaseNetworkParser
void parseAdaptiveLeaseTimeParam (const data::ConstElementPtr &network_data, NetworkPtr &network)
 Parses parameter related to adaptive lease time.
void parseAllocatorParams (const data::ConstElementPtr &network_data, NetworkPtr &network)
 Parses parameters pertaining to allocator selection.
void parseCacheParams (const data::ConstElementPtr &network_data, NetworkPtr &network)
 Parses parameters related to lease cache settings.
void parseCommon (const data::ConstElementPtr &network_data, NetworkPtr &network)
 Parses common parameters.
void parseDdnsParams (const data::ConstElementPtr &network_data, NetworkPtr &network)
 Parses parameters pertaining to DDNS behavior.
void parseOfferLft (const data::ConstElementPtr &network_data, Network4Ptr &network)
 Parses offer-lifetime parameter (v4 only).
void parsePdAllocatorParams (const data::ConstElementPtr &network_data, Network6Ptr &network)
 Parses parameters pertaining to prefix delegation allocator selection.
void parseTeePercents (const data::ConstElementPtr &network_data, NetworkPtr &network)
 Parses parameters related to "percent" timers settings.
Protected Member Functions inherited from isc::data::SimpleParser
template<typename target_type, target_type convert>
target_type getAndConvert (isc::data::ConstElementPtr scope, const std::string &name, const std::string &type_name)
 Returns a converted value from a scope.
template<typename int_type>
int_type getIntType (isc::data::ConstElementPtr scope, const std::string &name)
 Returns an integer value with range checking from a scope.

Protected Attributes

db::BackendSelector & backend_selector_
 Backend selector used to fetch option definitions during option data parsing.
db::ServerSelector & server_selector_
 Server selector used to fetch option definitions during option data parsing.
Protected Attributes inherited from isc::dhcp::SharedNetwork6Parser
bool check_iface_
 Check if the specified interface exists in the system.

Additional Inherited Members

Public Types inherited from isc::dhcp::BaseNetworkParser
typedef std::function< void(const isc::dhcp::ClientClass &)> ClassAdderFunc
Static Public Member Functions inherited from isc::dhcp::BaseNetworkParser
static void getAdditionalClassesElem (data::ConstElementPtr params, ClassAdderFunc adder_func)
 Fetches the element for either 'evaluate-additional-classes' or deprecated 'require-client-classes'.
static void getClientClassesElem (data::ConstElementPtr params, ClassAdderFunc adder_func)
 Fetches the element for either 'client-classes' or deprecated 'client-class'.
Static Public Member Functions inherited from isc::data::SimpleParser
static void checkKeywords (const SimpleKeywords &keywords, isc::data::ConstElementPtr scope)
 Checks acceptable keywords with their expected type.
static void checkRequired (const SimpleRequiredKeywords &required, isc::data::ConstElementPtr scope)
 Checks that all required keywords are present.
static size_t deriveParams (isc::data::ConstElementPtr parent, isc::data::ElementPtr child, const ParamsList &params)
 Derives (inherits) parameters from parent scope to a child.
static isc::asiolink::IOAddress getAddress (const ConstElementPtr &scope, const std::string &name)
 Returns a IOAddress parameter from a scope.
static bool getBoolean (isc::data::ConstElementPtr scope, const std::string &name)
 Returns a boolean parameter from a scope.
static double getDouble (const ConstElementPtr &scope, const std::string &name)
 Returns a floating point parameter from a scope.
static int64_t getInteger (isc::data::ConstElementPtr scope, const std::string &name)
 Returns an integer parameter from a scope.
static int64_t getInteger (isc::data::ConstElementPtr scope, const std::string &name, int64_t min, int64_t max)
 Returns an integer parameter from a scope and checks its range.
static const data::Element::Position & getPosition (const std::string &name, const data::ConstElementPtr parent)
 Utility method that returns position of an element.
static std::string getString (isc::data::ConstElementPtr scope, const std::string &name)
 Returns a string parameter from a scope.
template<typename T>
static void rangeCheckedInteger (isc::data::ConstElementPtr scope, const std::string &name, T &output_value)
 Fetches a range-checked integer parameter from a scope.
static size_t setDefaults (isc::data::ElementPtr scope, const SimpleDefaults &default_values)
 Sets the default values.
static size_t setListDefaults (isc::data::ConstElementPtr list, const SimpleDefaults &default_values)
 Sets the default values for all entries in a list.

Detailed Description

Implements a parser for IPv6 shared networks.

It rejects host reservations and uses CB specific parser for option data.

Definition at line 892 of file cb_parsers.h.

Constructor & Destructor Documentation

◆ CBSharedNetwork6Parser()

isc::cb::CBSharedNetwork6Parser::CBSharedNetwork6Parser ( db::BackendSelector & backend_selector,
db::ServerSelector & server_selector )

Constructor.

Call the parent class constructor with check_iface set to false.

Definition at line 788 of file cb_parsers.cc.

References isc::dhcp::SharedNetwork6Parser::SharedNetwork6Parser(), backend_selector_, and server_selector_.

Here is the call graph for this function:

Member Function Documentation

◆ createOptionDataListParser()

boost::shared_ptr< OptionDataListParser > isc::cb::CBSharedNetwork6Parser::createOptionDataListParser ( ) const
protectedvirtual

Returns an instance of the CBOptionDataListParser to be used in parsing the option-data structure.

Returns
an instance of the CBOptionDataListParser.

Reimplemented from isc::dhcp::SharedNetwork6Parser.

Definition at line 823 of file cb_parsers.cc.

References backend_selector_, and server_selector_.

◆ createSubnetsListParser()

boost::shared_ptr< Subnets6ListConfigParser > isc::cb::CBSharedNetwork6Parser::createSubnetsListParser ( ) const
protectedvirtual

Returns an instance of the CBSubnets6ListConfigParser to be used for parsing the subnets within the shared network.

Returns
an instance of the CBSubnets6ListConfigParser.

Reimplemented from isc::dhcp::SharedNetwork6Parser.

Definition at line 832 of file cb_parsers.cc.

References backend_selector_, and server_selector_.

◆ parse()

SharedNetwork6Ptr isc::cb::CBSharedNetwork6Parser::parse ( data::ConstElementPtr shared_network)

Parses a single IPv6 shared network configuration.

Specialization of @ dhcp::SharedNetwork6Parser rejecting reservations and performing some sanity checks, e.g. against empty names.

Parameters
shared_networka shared network being configured
Returns
a pointer to created SharedNetwork6 object.
Exceptions
BadValueif the shared network contains subnets.

Definition at line 795 of file cb_parsers.cc.

References isc_throw, and isc::dhcp::SharedNetwork6Parser::parse().

Here is the call graph for this function:

Member Data Documentation

◆ backend_selector_

db::BackendSelector& isc::cb::CBSharedNetwork6Parser::backend_selector_
protected

Backend selector used to fetch option definitions during option data parsing.

Definition at line 928 of file cb_parsers.h.

Referenced by CBSharedNetwork6Parser(), createOptionDataListParser(), and createSubnetsListParser().

◆ server_selector_

db::ServerSelector& isc::cb::CBSharedNetwork6Parser::server_selector_
protected

Server selector used to fetch option definitions during option data parsing.

Definition at line 932 of file cb_parsers.h.

Referenced by CBSharedNetwork6Parser(), createOptionDataListParser(), and createSubnetsListParser().


The documentation for this class was generated from the following files: