Kea 2.5.8
isc::dhcp::D2ClientConfigParser Class Reference

Parser for D2ClientConfig. More...

#include <dhcp_parsers.h>

+ Inheritance diagram for isc::dhcp::D2ClientConfigParser:

Public Member Functions

D2ClientConfigPtr parse (isc::data::ConstElementPtr d2_client_cfg)
 Parses a given dhcp-ddns element into D2ClientConfig.
 
- 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.
 

Static Public Member Functions

static size_t setAllDefaults (isc::data::ConstElementPtr d2_config)
 Sets all defaults for D2 client configuration.
 
- 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 &params)
 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::PositiongetPosition (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.
 

Static Public Attributes

static const isc::data::SimpleDefaults D2_CLIENT_CONFIG_DEFAULTS
 Defaults for the D2 client configuration.
 

Additional Inherited Members

- 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.
 

Detailed Description

Parser for D2ClientConfig.

This class parses the configuration element "dhcp-ddns" common to the config files for both dhcp4 and dhcp6. It creates an instance of a D2ClientConfig.

Definition at line 1013 of file dhcp_parsers.h.

Member Function Documentation

◆ parse()

D2ClientConfigPtr isc::dhcp::D2ClientConfigParser::parse ( isc::data::ConstElementPtr  d2_client_cfg)

Parses a given dhcp-ddns element into D2ClientConfig.

Parameters
d2_client_cfgis the "dhcp-ddns" configuration to parse

The elements currently supported are (see isc::dhcp::D2ClientConfig for details on each):

  1. enable-updates
  2. server-ip
  3. server-port
  4. sender-ip
  5. sender-port
  6. max-queue-size
  7. ncr-protocol
  8. ncr-format
Returns
returns a pointer to newly created D2ClientConfig.

Definition at line 1544 of file dhcp_parsers.cc.

References isc::dhcp_ddns::FMT_JSON, isc::data::SimpleParser::getAddress(), isc::data::SimpleParser::getBoolean(), isc::asiolink::IOAddress::getFamily(), isc::data::SimpleParser::getPosition(), isc::data::SimpleParser::getString(), isc::data::SimpleParser::getUint32(), isc::asiolink::IOAddress::IPV4_ZERO_ADDRESS(), isc::asiolink::IOAddress::IPV6_ZERO_ADDRESS(), isc_throw, isc::asiolink::IOAddress::isV4(), isc::dhcp_ddns::NCR_UDP, isc::dhcp_ddns::ncrFormatToString(), isc::dhcp_ddns::ncrProtocolToString(), isc::asiolink::IOAddress::toText(), and isc::Exception::what().

Referenced by isc::dhcp::processDhcp4Config(), and isc::dhcp::processDhcp6Config().

+ Here is the call graph for this function:

◆ setAllDefaults()

size_t isc::dhcp::D2ClientConfigParser::setAllDefaults ( isc::data::ConstElementPtr  d2_config)
static

Sets all defaults for D2 client configuration.

This method sets defaults value. It must not be called before the short cut disabled updates condition was checked.

Parameters
d2_configd2 client configuration (will be const cast
Returns
number of parameters inserted

Definition at line 1655 of file dhcp_parsers.cc.

References D2_CLIENT_CONFIG_DEFAULTS, and isc::data::SimpleParser::setDefaults().

Referenced by isc::dhcp::processDhcp4Config(), and isc::dhcp::processDhcp6Config().

+ Here is the call graph for this function:

Member Data Documentation

◆ D2_CLIENT_CONFIG_DEFAULTS

const SimpleDefaults isc::dhcp::D2ClientConfigParser::D2_CLIENT_CONFIG_DEFAULTS
static
Initial value:
= {
{ "server-ip", Element::string, "127.0.0.1" },
{ "server-port", Element::integer, "53001" },
{ "sender-ip", Element::string, "" },
{ "sender-port", Element::integer, "0" },
{ "max-queue-size", Element::integer, "1024" },
{ "ncr-protocol", Element::string, "UDP" },
{ "ncr-format", Element::string, "JSON" }
}

Defaults for the D2 client configuration.

This table defines default values for D2 client configuration.

Definition at line 1035 of file dhcp_parsers.h.

Referenced by setAllDefaults().


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