Kea  2.1.7-git
isc::dhcp::BaseNetworkParser Class Reference

Common configuration parser for shared networks and subnets. More...

#include <base_network_parser.h>

+ Inheritance diagram for isc::dhcp::BaseNetworkParser:

Static Public Member Functions

static void moveReservationMode (isc::data::ElementPtr config)
 Moves deprecated reservation-mode parameter to new reservations flags. More...
 
static void moveReservationMode (CfgGlobalsPtr config)
 Moves deprecated reservation-mode parameter to new reservations flags. More...
 
- 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. More...
 
static void checkRequired (const SimpleRequiredKeywords &required, isc::data::ConstElementPtr scope)
 Checks that all required keywords are present. More...
 
static size_t deriveParams (isc::data::ConstElementPtr parent, isc::data::ElementPtr child, const ParamsList &params)
 Derives (inherits) parameters from parent scope to a child. More...
 
static isc::asiolink::IOAddress getAddress (const ConstElementPtr &scope, const std::string &name)
 Returns a IOAddress parameter from a scope. More...
 
static bool getBoolean (isc::data::ConstElementPtr scope, const std::string &name)
 Returns a boolean parameter from a scope. More...
 
static double getDouble (const ConstElementPtr &scope, const std::string &name)
 Returns a floating point parameter from a scope. More...
 
static int64_t getInteger (isc::data::ConstElementPtr scope, const std::string &name)
 Returns an integer parameter from a scope. More...
 
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. More...
 
static const data::Element::PositiongetPosition (const std::string &name, const data::ConstElementPtr parent)
 Utility method that returns position of an element. More...
 
static std::string getString (isc::data::ConstElementPtr scope, const std::string &name)
 Returns a string parameter from a scope. More...
 
static size_t setDefaults (isc::data::ElementPtr scope, const SimpleDefaults &default_values)
 Sets the default values. More...
 
static size_t setListDefaults (isc::data::ConstElementPtr list, const SimpleDefaults &default_values)
 Sets the default values for all entries in a list. More...
 

Protected Member Functions

void parseCacheParams (const data::ConstElementPtr &network_data, NetworkPtr &network)
 Parses parameters related to lease cache settings. More...
 
void parseCommon (const data::ConstElementPtr &network_data, NetworkPtr &network)
 Parses common parameters. More...
 
void parseDdnsParams (const data::ConstElementPtr &network_data, NetworkPtr &network)
 Parses parameters pertaining to DDNS behavior. More...
 
void parseTeePercents (const data::ConstElementPtr &network_data, NetworkPtr &network)
 Parses parameters related to "percent" timers settings. More...
 
- 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. More...
 
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. More...
 

Additional Inherited Members

- 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. More...
 
uint32_t getUint32 (isc::data::ConstElementPtr scope, const std::string &name)
 Returns a value converted to uint32_t. More...
 
uint8_t getUint8 (ConstElementPtr scope, const std::string &name)
 Get an uint8_t value. More...
 
const isc::util::Triplet< uint32_t > parseIntTriplet (const data::ConstElementPtr &scope, const std::string &name)
 Parses an integer triplet. More...
 

Detailed Description

Common configuration parser for shared networks and subnets.

Definition at line 20 of file base_network_parser.h.

Member Function Documentation

◆ moveReservationMode() [1/2]

void isc::dhcp::BaseNetworkParser::moveReservationMode ( isc::data::ElementPtr  config)
static

Moves deprecated reservation-mode parameter to new reservations flags.

Parameters
config[in/out] configuration to alter.
Exceptions
DhcpConfigErroron error e.g. when both reservation-mode and a flag are specified.

Definition at line 20 of file base_network_parser.cc.

References isc::data::Element::create(), and isc_throw.

Referenced by isc::dhcp::Subnet4ConfigParser::initSubnet(), isc::dhcp::Subnet6ConfigParser::initSubnet(), isc::dhcp::SrvConfig::merge(), isc::dhcp::SharedNetwork4Parser::parse(), and isc::dhcp::SharedNetwork6Parser::parse().

+ Here is the call graph for this function:

◆ moveReservationMode() [2/2]

void isc::dhcp::BaseNetworkParser::moveReservationMode ( CfgGlobalsPtr  config)
static

Moves deprecated reservation-mode parameter to new reservations flags.

Parameters
config[in/out] global parameters to alter.
Exceptions
DhcpConfigErroron error e.g. when both reservation-mode and a flag are specified.

Definition at line 55 of file base_network_parser.cc.

References isc::data::Element::create(), and isc_throw.

+ Here is the call graph for this function:

◆ parseCacheParams()

void isc::dhcp::BaseNetworkParser::parseCacheParams ( const data::ConstElementPtr network_data,
NetworkPtr network 
)
protected

Parses parameters related to lease cache settings.

The parsed parameters are:

  • cache-threshold,
  • cache-max-age.
Parameters
network_dataData element holding network configuration to be parsed.
[out]networkPointer to a network in which parsed data is to be stored.
Exceptions
DhcpConfigErrorif configuration of these parameters is invalid.

Definition at line 189 of file base_network_parser.cc.

References isc_throw.

Referenced by isc::dhcp::Subnet4ConfigParser::initSubnet(), isc::dhcp::Subnet6ConfigParser::initSubnet(), isc::dhcp::SharedNetwork4Parser::parse(), and isc::dhcp::SharedNetwork6Parser::parse().

◆ parseCommon()

void isc::dhcp::BaseNetworkParser::parseCommon ( const data::ConstElementPtr network_data,
NetworkPtr network 
)
protected

Parses common parameters.

The parsed parameters are:

  • renew-timer,
  • rebind-timer,
  • valid-lifetime,
  • store-extended-info
  • reservations-global
  • reservations-in-subnet
  • reservations-out-of-pool
Parameters
network_dataData element holding shared network configuration to be parsed.
[out]networkPointer to a network in which parsed data is to be stored.

Definition at line 91 of file base_network_parser.cc.

References isc_throw.

Referenced by isc::dhcp::Subnet4ConfigParser::initSubnet(), isc::dhcp::Subnet6ConfigParser::initSubnet(), isc::dhcp::SharedNetwork4Parser::parse(), and isc::dhcp::SharedNetwork6Parser::parse().

◆ parseDdnsParams()

void isc::dhcp::BaseNetworkParser::parseDdnsParams ( const data::ConstElementPtr network_data,
NetworkPtr network 
)
protected

Parses parameters pertaining to DDNS behavior.

The parsed parameters are:

  • ddns-send-updates
  • ddns-override-no-update
  • ddns-override-client-update
  • ddns-replace-client-name
  • ddns-generated-prefix
  • ddns-qualifying-suffix
Parameters
network_dataData element holding shared network configuration to be parsed.
[out]networkPointer to a network in which parsed data is to be stored.

Definition at line 206 of file base_network_parser.cc.

References isc_throw.

Referenced by isc::dhcp::Subnet4ConfigParser::initSubnet(), isc::dhcp::Subnet6ConfigParser::initSubnet(), isc::dhcp::SharedNetwork4Parser::parse(), and isc::dhcp::SharedNetwork6Parser::parse().

◆ parseTeePercents()

void isc::dhcp::BaseNetworkParser::parseTeePercents ( const data::ConstElementPtr network_data,
NetworkPtr network 
)
protected

Parses parameters related to "percent" timers settings.

The parsed parameters are:

  • calculate-tee-times,
  • t1-percent,
  • t2-percent.
Parameters
network_dataData element holding network configuration to be parsed.
[out]networkPointer to a network in which parsed data is to be stored.
Exceptions
DhcpConfigErrorif configuration of these parameters is invalid.

Definition at line 146 of file base_network_parser.cc.

References isc::util::Optional< T >::get(), isc_throw, and isc::util::Optional< T >::unspecified().

Referenced by isc::dhcp::Subnet4ConfigParser::initSubnet(), isc::dhcp::Subnet6ConfigParser::initSubnet(), isc::dhcp::SharedNetwork4Parser::parse(), and isc::dhcp::SharedNetwork6Parser::parse().

+ Here is the call graph for this function:

The documentation for this class was generated from the following files: