Kea 2.7.5
|
Implements parser for IPv4 shared networks. More...
#include <shared_network_parser.h>
Public Member Functions | |
SharedNetwork4Parser (bool check_iface=true) | |
Constructor. | |
virtual | ~SharedNetwork4Parser () |
Virtual destructor. | |
SharedNetwork4Ptr | parse (const data::ConstElementPtr &shared_network_data, bool encapsulate_options=true) |
Parses shared configuration information for IPv4 shared network. | |
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< Subnets4ListConfigParser > | createSubnetsListParser () const |
Returns an instance of the Subnets4ListConfigParser 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 IPv4 shared networks.
Definition at line 24 of file shared_network_parser.h.
isc::dhcp::SharedNetwork4Parser::SharedNetwork4Parser | ( | bool | check_iface = true | ) |
Constructor.
check_iface | Check if the specified interface exists in the system. |
Definition at line 30 of file shared_network_parser.cc.
|
inlinevirtual |
Virtual destructor.
Definition at line 33 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_INET)
. Definition at line 212 of file shared_network_parser.cc.
Referenced by parse().
|
protectedvirtual |
Returns an instance of the Subnets4ListConfigParser
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.
Subnets4ListConfigParser
. Definition at line 218 of file shared_network_parser.cc.
References check_iface_.
Referenced by parse().
SharedNetwork4Ptr isc::dhcp::SharedNetwork4Parser::parse | ( | const data::ConstElementPtr & | shared_network_data, |
bool | encapsulate_options = true ) |
Parses shared configuration information for IPv4 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 35 of file shared_network_parser.cc.
References isc::dhcp::Network::addAdditionalClass(), isc::dhcp::Network::allowClientClass(), check_iface_, isc::data::SimpleParser::checkKeywords(), createOptionDataListParser(), createSubnetsListParser(), isc::db::error, isc::dhcp::BaseNetworkParser::getAdditionalClassesElem(), isc::data::SimpleParser::getBoolean(), isc::dhcp::BaseNetworkParser::getClientClassesElem(), isc::data::SimpleParser::getString(), isc::dhcp::IfaceMgr::instance(), isc::dhcp::CfgMgr::instance(), isc_throw, isc::dhcp::Pkt4::MAX_FILE_LEN, isc::dhcp::Pkt4::MAX_SNAME_LEN, isc::dhcp::RelayInfoParser::parse(), isc::dhcp::BaseNetworkParser::parseAllocatorParams(), isc::dhcp::BaseNetworkParser::parseCacheParams(), isc::dhcp::BaseNetworkParser::parseCommon(), isc::dhcp::BaseNetworkParser::parseDdnsParams(), isc::dhcp::BaseNetworkParser::parseOfferLft(), isc::dhcp::BaseNetworkParser::parseTeePercents(), isc::dhcp::SimpleParser4::SHARED_NETWORK4_PARAMETERS, isc::dhcp::Option::V4, and isc::Exception::what().
|
protected |
Check if the specified interface exists in the system.
Definition at line 70 of file shared_network_parser.h.
Referenced by createSubnetsListParser(), and parse().