![]() |
Kea 3.3.4
|
Implements a parser for IPv6 shared networks. More...
#include <cb_parsers.h>
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 ¶ms) |
| 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. | |
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.
| 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_.
|
protectedvirtual |
Returns an instance of the CBOptionDataListParser to be used in parsing the option-data structure.
CBOptionDataListParser. Reimplemented from isc::dhcp::SharedNetwork6Parser.
Definition at line 823 of file cb_parsers.cc.
References backend_selector_, and server_selector_.
|
protectedvirtual |
Returns an instance of the CBSubnets6ListConfigParser to be used for parsing the subnets within the shared network.
CBSubnets6ListConfigParser. Reimplemented from isc::dhcp::SharedNetwork6Parser.
Definition at line 832 of file cb_parsers.cc.
References backend_selector_, and server_selector_.
| 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.
| shared_network | a shared network being configured |
| BadValue | if the shared network contains subnets. |
Definition at line 795 of file cb_parsers.cc.
References isc_throw, and isc::dhcp::SharedNetwork6Parser::parse().
|
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().
|
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().