![]() |
Kea 3.3.4
|
Implements a parser for IPv4 subnets. More...
#include <cb_parsers.h>
Public Member Functions | |
| CBSubnet4ConfigParser (db::BackendSelector &backend_selector, db::ServerSelector &server_selector) | |
| Constructor. | |
| dhcp::Subnet4Ptr | parse (data::ConstElementPtr subnet) |
| Parses a single subnet configuration. | |
| Public Member Functions inherited from isc::dhcp::Subnet4ConfigParser | |
| Subnet4ConfigParser (bool check_iface=true) | |
| Constructor. | |
| Subnet4Ptr | parse (data::ConstElementPtr subnet, bool encapsulate_options=true) |
| Parses a single IPv4 subnet configuration and adds to the Configuration Manager. | |
| Public Member Functions inherited from isc::dhcp::SubnetConfigParser | |
| SubnetConfigParser (uint16_t family, bool check_iface=true) | |
| constructor | |
| virtual | ~SubnetConfigParser () |
| virtual destructor (does nothing) | |
| 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< dhcp::PoolsListParser > | createPoolsListParser () const |
Returns an instance of the CBPools4ListParser. | |
| Protected Member Functions inherited from isc::dhcp::Subnet4ConfigParser | |
| void | initSubnet (data::ConstElementPtr params, asiolink::IOAddress addr, uint8_t len) |
| Instantiates the IPv4 Subnet based on a given IPv4 address and prefix length. | |
| void | validateResv (const Subnet4Ptr &subnet, ConstHostPtr host) |
| Verifies the host reservation address is in the subnet range. | |
| Protected Member Functions inherited from isc::dhcp::SubnetConfigParser | |
| void | createSubnet (isc::data::ConstElementPtr data) |
| Create a new subnet using a data from child parsers. | |
| SubnetPtr | parse (isc::data::ConstElementPtr subnet, bool encapsulate_options) |
| parses a subnet description and returns Subnet{4,6} structure | |
| 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 for fetching option definitions during option data parsing. | |
| db::ServerSelector & | server_selector_ |
| Server selector used for fetching option definitions during option data parsing. | |
| Protected Attributes inherited from isc::dhcp::SubnetConfigParser | |
| uint16_t | address_family_ |
Address family: AF_INET or AF_INET6. | |
| bool | check_iface_ |
| Check if the specified interface exists in the system. | |
| PoolStoragePtr | pools_ |
| Storage for pools belonging to this subnet. | |
| isc::dhcp::Network::RelayInfoPtr | relay_info_ |
| Pointer to relay information. | |
| isc::dhcp::SubnetPtr | subnet_ |
| Pointer to the created subnet object. | |
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 IPv4 subnets.
It rejects host reservations and uses CB specific parser for option data.
Definition at line 634 of file cb_parsers.h.
| isc::cb::CBSubnet4ConfigParser::CBSubnet4ConfigParser | ( | db::BackendSelector & | backend_selector, |
| db::ServerSelector & | server_selector ) |
Constructor.
Call the parent class constructor with check_iface set to false.
| backend_selector | backend selector for fetching option definitions during option data parsing. |
| server_selector | server selector for fetching option definitions during option data parsing. |
Definition at line 518 of file cb_parsers.cc.
References isc::dhcp::Subnet4ConfigParser::Subnet4ConfigParser(), 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::SubnetConfigParser.
Definition at line 588 of file cb_parsers.cc.
References backend_selector_, and server_selector_.
|
protectedvirtual |
Returns an instance of the CBPools4ListParser.
CBPools4ListParser. Reimplemented from isc::dhcp::Subnet4ConfigParser.
Definition at line 597 of file cb_parsers.cc.
References backend_selector_, and server_selector_.
| Subnet4Ptr isc::cb::CBSubnet4ConfigParser::parse | ( | data::ConstElementPtr | subnet | ) |
Parses a single subnet configuration.
Specialization of Subnet4ConfigParser expecting subnet id, rejecting reservations and requiring shared-network-name being a string or null value.
| subnet | a subnet being configured. |
| BadValue | if the subnet has a reservations entry which is not a list or is not empty. |
Definition at line 525 of file cb_parsers.cc.
References isc::data::copy(), Element::integer, isc_throw, Element::list, Element::null, isc::dhcp::Subnet4ConfigParser::parse(), and Element::string.
|
protected |
Backend selector used for fetching option definitions during option data parsing.
Definition at line 676 of file cb_parsers.h.
Referenced by CBSubnet4ConfigParser(), createOptionDataListParser(), and createPoolsListParser().
|
protected |
Server selector used for fetching option definitions during option data parsing.
Definition at line 680 of file cb_parsers.h.
Referenced by CBSubnet4ConfigParser(), createOptionDataListParser(), and createPoolsListParser().