Kea 2.7.5
|
this class parses a list of DHCP6 subnets More...
#include <dhcp_parsers.h>
Public Member Functions | |
Subnets6ListConfigParser (bool check_iface=true) | |
constructor | |
virtual | ~Subnets6ListConfigParser () |
Virtual destructor. | |
size_t | parse (SrvConfigPtr cfg, data::ConstElementPtr subnets_list, bool encapsulate_options=true) |
parses contents of the list | |
size_t | parse (Subnet6Collection &subnets, data::ConstElementPtr subnets_list, bool encapsulate_options=true) |
Parses contents of the subnet6 list. | |
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< Subnet6ConfigParser > | createSubnetConfigParser () const |
Returns an instance of the Subnet6ConfigParser to be used in parsing the subnets. | |
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 | |
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. | |
this class parses a list of DHCP6 subnets
This is a wrapper parser that handles the whole list of Subnet6 definitions. It iterates over all entries and creates Subnet6ConfigParser for each entry.
Definition at line 953 of file dhcp_parsers.h.
isc::dhcp::Subnets6ListConfigParser::Subnets6ListConfigParser | ( | bool | check_iface = true | ) |
constructor
check_iface | Check if the specified interface exists in the system. |
Definition at line 1444 of file dhcp_parsers.cc.
|
inlinevirtual |
Virtual destructor.
Definition at line 963 of file dhcp_parsers.h.
|
protectedvirtual |
Returns an instance of the Subnet6ConfigParser
to be used in parsing the subnets.
This function can be overridden in the child classes to supply a custom parser for the subnets.
Subnet6ConfigParser
. Definition at line 1499 of file dhcp_parsers.cc.
References check_iface_.
size_t isc::dhcp::Subnets6ListConfigParser::parse | ( | SrvConfigPtr | cfg, |
data::ConstElementPtr | subnets_list, | ||
bool | encapsulate_options = true ) |
parses contents of the list
Iterates over all entries on the list, parses its content (by instantiating Subnet6ConfigParser) and adds to specified configuration.
cfg | configuration (parsed subnets will be stored here) |
subnets_list | pointer to a list of IPv6 subnets |
encapsulate_options | a boolean parameter indicating if the parsed options should be encapsulated with suboptions. |
DhcpConfigError | if CfgMgr rejects the subnet (e.g. subnet-id is a duplicate) |
Definition at line 1449 of file dhcp_parsers.cc.
References createSubnetConfigParser(), isc_throw, and isc::Exception::what().
Referenced by isc::dhcp::processDhcp6Config().
size_t isc::dhcp::Subnets6ListConfigParser::parse | ( | Subnet6Collection & | subnets, |
data::ConstElementPtr | subnets_list, | ||
bool | encapsulate_options = true ) |
Parses contents of the subnet6 list.
[out] | subnets | Container where parsed subnets will be stored. |
subnets_list | pointer to a list of IPv6 subnets | |
encapsulate_options | a boolean parameter indicating if the parsed options should be encapsulated with suboptions. |
Definition at line 1473 of file dhcp_parsers.cc.
References createSubnetConfigParser(), isc_throw, and isc::Exception::what().
|
protected |
Check if the specified interface exists in the system.
Definition at line 1005 of file dhcp_parsers.h.
Referenced by createSubnetConfigParser().