![]() |
Kea 3.0.0
|
Implements parser for IPv6 shared networks. More...
#include <shared_network_parser.h>
Public Member Functions | |
| 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 OptionDataListParser to be used in parsing the option-data structure. | |
| virtual boost::shared_ptr< Subnets6ListConfigParser > | createSubnetsListParser () const |
Returns an instance of the Subnets6ListConfigParser to be used for parsing the subnets within the shared network. | |
| Protected Member Functions inherited from isc::dhcp::BaseNetworkParser | |
| 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 | |
| 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. | |
| 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 parser for IPv6 shared networks.
Definition at line 74 of file shared_network_parser.h.
| isc::dhcp::SharedNetwork6Parser::SharedNetwork6Parser | ( | bool | check_iface = true | ) |
Constructor.
| check_iface | Check if the specified interface exists in the system. |
Definition at line 223 of file shared_network_parser.cc.
References check_iface_.
|
inlinevirtual |
Virtual destructor.
Definition at line 83 of file shared_network_parser.h.
|
protectedvirtual |
Returns an instance of the OptionDataListParser to be used in parsing the option-data structure.
This function can be overridden in the child classes to supply a custom parser for option data.
OptionDataListParser(AF_INET6). Definition at line 387 of file shared_network_parser.cc.
Referenced by parse().
|
protectedvirtual |
Returns an instance of the Subnets6ListConfigParser to be used for parsing the subnets within the shared network.
This function can be overridden in the child classes to supply a custom parser for the subnets.
Subnets6ListConfigParser. Definition at line 393 of file shared_network_parser.cc.
References check_iface_.
Referenced by parse().
| SharedNetwork6Ptr isc::dhcp::SharedNetwork6Parser::parse | ( | const data::ConstElementPtr & | shared_network_data, |
| bool | encapsulate_options = true ) |
Parses shared configuration information for IPv6 shared network.
| shared_network_data | Data element holding shared network configuration to be parsed. |
| encapsulate_options | a boolean parameter indicating if the parsed options should be encapsulated with suboptions. |
| DhcpConfigError | when shared network configuration is invalid. |
Definition at line 228 of file shared_network_parser.cc.
References isc::dhcp::Network::addAdditionalClass(), isc::dhcp::Network::allowClientClass(), check_iface_, isc::data::SimpleParser::checkKeywords(), createOptionDataListParser(), createSubnetsListParser(), D6O_INTERFACE_ID, isc::util::Optional< T >::empty(), isc::db::error, isc::util::Optional< T >::get(), isc::dhcp::BaseNetworkParser::getAdditionalClassesElem(), isc::data::SimpleParser::getBoolean(), isc::dhcp::BaseNetworkParser::getClientClassesElem(), isc::data::SimpleParser::getString(), isc::dhcp::CfgMgr::instance(), isc::dhcp::IfaceMgr::instance(), isc_throw, isc::dhcp::RelayInfoParser::parse(), isc::dhcp::BaseNetworkParser::parseAllocatorParams(), isc::dhcp::BaseNetworkParser::parseCacheParams(), isc::dhcp::BaseNetworkParser::parseCommon(), isc::dhcp::BaseNetworkParser::parseDdnsParams(), isc::data::SimpleParser::parseIntTriplet(), isc::dhcp::BaseNetworkParser::parsePdAllocatorParams(), isc::dhcp::BaseNetworkParser::parseTeePercents(), isc::dhcp::SimpleParser6::SHARED_NETWORK6_PARAMETERS, isc::util::Optional< T >::unspecified(), and isc::dhcp::Option::V6.
|
protected |
Check if the specified interface exists in the system.
Definition at line 120 of file shared_network_parser.h.
Referenced by SharedNetwork6Parser(), createSubnetsListParser(), and parse().