Kea 2.7.6
|
Specifies current DHCP configuration. More...
#include <srv_config.h>
Constants for selection of parameters returned by @c getConfigSummary | |
static const uint32_t | CFGSEL_NONE = 0x00000000 |
Nothing selected. | |
static const uint32_t | CFGSEL_SUBNET4 = 0x00000001 |
Number of IPv4 subnets. | |
static const uint32_t | CFGSEL_SUBNET6 = 0x00000002 |
Number of IPv6 subnets. | |
static const uint32_t | CFGSEL_IFACE4 = 0x00000004 |
Number of enabled ifaces. | |
static const uint32_t | CFGSEL_IFACE6 = 0x00000008 |
Number of v6 ifaces. | |
static const uint32_t | CFGSEL_DDNS = 0x00000010 |
DDNS enabled/disabled. | |
static const uint32_t | CFGSEL_SUBNET = 0x00000003 |
Number of all subnets. | |
static const uint32_t | CFGSEL_GLOBALS = 0x00000020 |
Configured globals. | |
static const uint32_t | CFGSEL_CFG_CTL = 0x00000040 |
Config control info. | |
static const uint32_t | CFGSEL_ALL4 = 0x00000035 |
IPv4 related config. | |
static const uint32_t | CFGSEL_ALL6 = 0x0000003A |
IPv6 related config. | |
static const uint32_t | CFGSEL_ALL = 0xFFFFFFFF |
Whole config. | |
SrvConfig () | |
Default constructor. | |
SrvConfig (const uint32_t sequence) | |
Constructor. | |
std::string | getConfigSummary (const uint32_t selection) const |
Returns summary of the configuration in the textual format. | |
uint32_t | getSequence () const |
Returns configuration sequence number. | |
bool | sequenceEquals (const SrvConfig &other) |
Compares configuration sequence with other sequence. | |
CfgIfacePtr | getCfgIface () |
Returns non-const pointer to interface configuration. | |
ConstCfgIfacePtr | getCfgIface () const |
Returns const pointer to interface configuration. | |
CfgOptionDefPtr | getCfgOptionDef () |
Return pointer to non-const object representing user-defined option definitions. | |
ConstCfgOptionDefPtr | getCfgOptionDef () const |
Returns pointer to the const object representing user-defined option definitions. | |
CfgOptionPtr | getCfgOption () |
Returns pointer to the non-const object holding options. | |
const ConstCfgOptionPtr | getCfgOption () const |
Returns pointer to the const object holding options. | |
CfgSubnets4Ptr | getCfgSubnets4 () |
Returns pointer to non-const object holding subnets configuration for DHCPv4. | |
CfgSharedNetworks4Ptr | getCfgSharedNetworks4 () const |
Returns pointer to non-const object holding configuration of shared networks in DHCPv4;. | |
CfgSharedNetworks6Ptr | getCfgSharedNetworks6 () const |
Returns pointer to non-const object holding configuration of shared networks in DHCPv6. | |
ConstCfgSubnets4Ptr | getCfgSubnets4 () const |
Returns pointer to const object holding subnets configuration for DHCPv4. | |
CfgSubnets6Ptr | getCfgSubnets6 () |
Returns pointer to non-const object holding subnets configuration for DHCPv6. | |
ConstCfgSubnets6Ptr | getCfgSubnets6 () const |
Returns pointer to const object holding subnets configuration for DHCPv6. | |
CfgHostsPtr | getCfgHosts () |
Returns pointer to the non-const objects representing host reservations for different IPv4 and IPv6 subnets. | |
ConstCfgHostsPtr | getCfgHosts () const |
Returns pointer to the const objects representing host reservations for different IPv4 and IPv6 subnets. | |
CfgRSOOPtr | getCfgRSOO () |
Returns pointer to the non-const object representing set of RSOO-enabled options. | |
ConstCfgRSOOPtr | getCfgRSOO () const |
Returns pointer to the const object representing set of RSOO-enabled options. | |
CfgExpirationPtr | getCfgExpiration () |
Returns pointer to the object holding configuration pertaining to processing expired leases. | |
ConstCfgExpirationPtr | getCfgExpiration () const |
Returns pointer to the const object holding configuration pertaining to processing expired leases. | |
CfgDUIDPtr | getCfgDUID () |
Returns pointer to the object holding configuration of the server identifier. | |
ConstCfgDUIDPtr | getCfgDUID () const |
Returns const pointer to the object holding configuration of the server identifier. | |
CfgDbAccessPtr | getCfgDbAccess () |
Returns pointer to the object holding configuration of the lease and host database connection parameters. | |
ConstCfgDbAccessPtr | getCfgDbAccess () const |
Returns const pointer to the object holding configuration of the lease and host database connection parameters. | |
CfgHostOperationsPtr | getCfgHostOperations4 () |
Returns pointer to the object holding general configuration for host reservations in DHCPv4. | |
ConstCfgHostOperationsPtr | getCfgHostOperations4 () const |
Returns const pointer to the object holding general configuration for host reservations in DHCPv4. | |
CfgHostOperationsPtr | getCfgHostOperations6 () |
Returns pointer to the object holding general configuration for host reservations in DHCPv6. | |
ConstCfgHostOperationsPtr | getCfgHostOperations6 () const |
Returns const pointer to the object holding general configuration for host reservations in DHCPv6. | |
CfgConsistencyPtr | getConsistency () |
Returns non-const pointer to object holding sanity checks flags. | |
ConstCfgConsistencyPtr | getConsistency () const |
Returns const pointer to object holding sanity checks flags. | |
CfgMACSource & | getMACSources () |
Returns non-const reference to an array that stores MAC/hardware address sources. | |
const CfgMACSource & | getMACSources () const |
Returns const reference to an array that stores MAC/hardware address sources. | |
const isc::data::ConstElementPtr | getUnixControlSocketInfo () const |
Returns information about UNIX control socket. | |
void | setUnixControlSocketInfo (const isc::data::ConstElementPtr &control_socket) |
Sets information about the UNIX control socket. | |
isc::config::HttpCommandConfigPtr | getHttpControlSocketInfo () const |
Returns information about HTTP/HTTPS control socket. | |
void | setHttpControlSocketInfo (const isc::config::HttpCommandConfigPtr &control_socket) |
Sets information about the HTTP/HTTPS control socket. | |
const isc::data::ConstElementPtr | getDHCPQueueControl () const |
Returns DHCP queue control information. | |
void | setDHCPQueueControl (const isc::data::ConstElementPtr dhcp_queue_control) |
Sets information about the dhcp queue control. | |
const isc::data::ConstElementPtr | getDHCPMultiThreading () const |
Returns DHCP multi threading information. | |
void | setDHCPMultiThreading (const isc::data::ConstElementPtr dhcp_multi_threading) |
Sets information about the dhcp multi threading. | |
ClientClassDictionaryPtr | getClientClassDictionary () |
Returns pointer to the dictionary of global client class definitions. | |
const ClientClassDictionaryPtr | getClientClassDictionary () const |
Returns pointer to const dictionary of global client class definitions. | |
void | setClientClassDictionary (const ClientClassDictionaryPtr &dictionary) |
Sets the client class dictionary. | |
isc::hooks::HooksConfig & | getHooksConfig () |
Returns non-const reference to configured hooks libraries. | |
const isc::hooks::HooksConfig & | getHooksConfig () const |
Returns const reference to configured hooks libraries. | |
DdnsParamsPtr | getDdnsParams (const ConstSubnet4Ptr &subnet) const |
Fetches the DDNS parameters for a given DHCPv4 subnet. | |
DdnsParamsPtr | getDdnsParams (const ConstSubnet6Ptr &subnet) const |
Fetches the DDNS parameters for a given DHCPv6 subnet. | |
void | copy (SrvConfig &new_config) const |
Copies the current configuration to a new configuration. | |
Methods and operators used to compare configurations. | |
bool | equals (const SrvConfig &other) const |
Compares two objects for equality. | |
bool | nequals (const SrvConfig &other) const |
Compares two objects for inequality. | |
bool | operator== (const SrvConfig &other) const |
Equality operator. | |
bool | operator!= (const SrvConfig &other) const |
other An object to be compared with this object. | |
virtual void | merge (ConfigBase &other) |
Merges the configuration specified as a parameter into this configuration. | |
void | updateStatistics () |
Updates statistics. | |
void | removeStatistics () |
Removes statistics. | |
void | setDeclinePeriod (const uint32_t decline_timer) |
Sets decline probation-period. | |
uint32_t | getDeclinePeriod () const |
Returns probation-period. | |
void | setEchoClientId (const bool echo) |
Sets whether server should send back client-id in DHCPv4. | |
bool | getEchoClientId () const |
Returns whether server should send back client-id in DHCPv4. | |
void | setDhcp4o6Port (uint16_t port) |
Sets DHCP4o6 IPC port. | |
uint16_t | getDhcp4o6Port () const |
Returns DHCP4o6 IPC port. | |
D2ClientConfigPtr | getD2ClientConfig () |
Returns pointer to the D2 client configuration. | |
const D2ClientConfigPtr | getD2ClientConfig () const |
Returns pointer to const D2 client configuration. | |
void | setD2ClientConfig (const D2ClientConfigPtr &d2_client_config) |
Sets the D2 client configuration. | |
CfgGlobalsPtr | getConfiguredGlobals () |
Returns non-const pointer to configured global parameters. | |
ConstCfgGlobalsPtr | getConfiguredGlobals () const |
Returns const pointer to configured global parameters. | |
isc::data::ConstElementPtr | getConfiguredGlobal (std::string name) const |
Returns pointer to a given configured global parameter. | |
isc::data::ConstElementPtr | getConfiguredGlobal (int index) const |
Returns pointer to a given configured global parameter. | |
void | clearConfiguredGlobals () |
Removes all configured global parameters. | |
void | applyDefaultsConfiguredGlobals (const isc::data::SimpleDefaults &defaults) |
Applies defaults to global parameters. | |
void | extractConfiguredGlobals (isc::data::ConstElementPtr config) |
Saves scalar elements from the global scope of a configuration. | |
void | addConfiguredGlobal (const std::string &name, isc::data::ConstElementPtr value) |
Adds a parameter to the collection configured globals. | |
void | sanityChecksLifetime (const std::string &name) const |
Conducts sanity checks on global lifetime parameters. | |
void | sanityChecksLifetime (const SrvConfig &target_config, const std::string &name) const |
Conducts sanity checks on global lifetime parameters before merge from the external configuration to the target one. | |
void | sanityChecksDdnsTtlParameters () const |
Conducts sanity checks on global DDNS ttl parameters: ddns-ttl, ddns-ttl-percent, ddns-ttl-min, ddns-ttl-max. | |
void | setIPReservationsUnique (const bool unique) |
Configures the server to allow or disallow specifying multiple hosts with the same IP address/subnet. | |
void | setReservationsLookupFirst (const bool first) |
Sets whether the server does host reservations lookup before lease lookup. | |
bool | getReservationsLookupFirst () const |
Returns whether the server does host reservations lookup before lease lookup. | |
virtual isc::data::ElementPtr | toElement () const |
Unparse a configuration object. | |
void | setLenientOptionParsing (bool const value) |
Set lenient option parsing compatibility flag. | |
bool | getLenientOptionParsing () const |
Get lenient option parsing compatibility flag. | |
void | setIgnoreServerIdentifier (bool const value) |
Set ignore DHCP Server Identifier compatibility flag. | |
bool | getIgnoreServerIdentifier () const |
Get ignore DHCP Server Identifier compatibility flag. | |
void | setIgnoreRAILinkSelection (bool const value) |
Set ignore RAI Link Selection compatibility flag. | |
bool | getIgnoreRAILinkSelection () const |
Get ignore RAI Link Selection compatibility flag. | |
void | setExcludeFirstLast24 (bool const value) |
Set exclude .0 and .255 addresses in subnets bigger than /24 flag. | |
bool | getExcludeFirstLast24 () const |
Get exclude .0 and .255 addresses in subnets bigger than /24 flag. | |
void | configureLowerLevelLibraries () const |
Convenience method to propagate configuration parameters through inversion of control. | |
Additional Inherited Members | |
Public Member Functions inherited from isc::process::ConfigBase | |
const process::LoggingInfoStorage & | getLoggingInfo () const |
Returns logging specific configuration. | |
void | addLoggingInfo (const process::LoggingInfo &logging_info) |
Sets logging specific configuration. | |
void | applyLoggingCfg () const |
Apply logging configuration to log4cplus. | |
bool | equals (const ConfigBase &other) const |
Compares two configuration. | |
virtual void | merge (ConfigBase &other) |
Merges specified configuration into this configuration. | |
process::ConstConfigControlInfoPtr | getConfigControlInfo () const |
Fetches a read-only copy of the configuration control information. | |
void | setConfigControlInfo (const process::ConfigControlInfoPtr &config_ctl_info) |
Set the configuration control information. | |
void | setServerTag (const util::Optional< std::string > &server_tag) |
Sets the server's logical name. | |
util::Optional< std::string > | getServerTag () const |
Returns the server's logical name. | |
boost::posix_time::ptime | getLastCommitTime () const |
Returns the last commit timestamp. | |
void | setLastCommitTime (const boost::posix_time::ptime &last_commit_time) |
Sets the last commit timestamp. | |
Public Member Functions inherited from isc::data::UserContext | |
void | contextToElement (data::ElementPtr map) const |
Merge unparse a user_context object. | |
data::ConstElementPtr | getContext () const |
Returns const pointer to the user context. | |
void | setContext (const data::ConstElementPtr &ctx) |
Sets user context. | |
Public Member Functions inherited from isc::data::CfgToElement | |
virtual | ~CfgToElement () |
Destructor. | |
Static Public Member Functions inherited from isc::data::UserContext | |
static data::ElementPtr | toElement (data::ConstElementPtr map) |
Copy an Element map. | |
Protected Member Functions inherited from isc::process::ConfigBase | |
void | copy (ConfigBase &new_config) const |
Copies the current configuration to a new configuration. | |
Protected Attributes inherited from isc::data::UserContext | |
data::ConstElementPtr | user_context_ |
Pointer to the user context (may be NULL) | |
Specifies current DHCP configuration.
Definition at line 209 of file srv_config.h.
isc::dhcp::SrvConfig::SrvConfig | ( | ) |
Default constructor.
This constructor sets configuration sequence number to 0.
Definition at line 45 of file srv_config.cc.
isc::dhcp::SrvConfig::SrvConfig | ( | const uint32_t | sequence | ) |
Constructor.
Sets arbitrary configuration sequence number.
sequence | The configuration sequence. |
Definition at line 65 of file srv_config.cc.
|
inline |
Adds a parameter to the collection configured globals.
name | std::string name of the global to add. |
value | ElementPtr containing the value of the global. |
Definition at line 961 of file srv_config.h.
Referenced by applyDefaultsConfiguredGlobals(), and extractConfiguredGlobals().
void isc::dhcp::SrvConfig::applyDefaultsConfiguredGlobals | ( | const isc::data::SimpleDefaults & | defaults | ) |
Applies defaults to global parameters.
defaults | vector of (name, type, value) defaults to apply. |
Definition at line 422 of file srv_config.cc.
References addConfiguredGlobal(), isc::data::Element::boolean, getConfiguredGlobal(), isc::data::Element::integer, isc_throw, isc::data::Element::real, and isc::data::Element::string.
|
inline |
Removes all configured global parameters.
applyDefaultsConfiguredGlobals
and mergeGlobals
, or isc::data::SimpleParser::setDefaults
and extractConfiguredGlobals
should be called after. Definition at line 933 of file srv_config.h.
void isc::dhcp::SrvConfig::configureLowerLevelLibraries | ( | ) | const |
Convenience method to propagate configuration parameters through inversion of control.
To be used as a last resort when CfgMgr::instance().getCurrentCfg() can't be easily called from where the configuration parameter is used, usually because that particular library is lower in the dependency tree. Happens on configuration commit.
Definition at line 966 of file srv_config.cc.
References isc::dhcp::Option::lenient_parsing_.
void isc::dhcp::SrvConfig::copy | ( | SrvConfig & | new_config | ) | const |
Copies the current configuration to a new configuration.
This method copies the parameters stored in the configuration to an object passed as parameter. The configuration sequence is not copied.
CfgMgr
unusable.[out] | new_config | An object to which the configuration will be copied. |
Definition at line 132 of file srv_config.cc.
References isc::hooks::HooksConfig::add(), isc::hooks::HooksConfig::clear(), isc::process::ConfigBase::copy(), isc::hooks::HooksConfig::get(), getD2ClientConfig(), and setD2ClientConfig().
bool isc::dhcp::SrvConfig::equals | ( | const SrvConfig & | other | ) | const |
Compares two objects for equality.
It ignores the configuration sequence number when checking for equality of objects.
other | An object to be compared with this object. |
Definition at line 153 of file srv_config.cc.
References isc::hooks::HooksConfig::equal(), isc::process::ConfigBase::equals(), and isc::hooks::HooksConfig::get().
Referenced by nequals(), and operator==().
void isc::dhcp::SrvConfig::extractConfiguredGlobals | ( | isc::data::ConstElementPtr | config | ) |
Saves scalar elements from the global scope of a configuration.
Definition at line 492 of file srv_config.cc.
References addConfiguredGlobal(), isc_throw, isc::data::Element::list, and isc::data::Element::map.
|
inline |
Returns pointer to the object holding configuration of the lease and host database connection parameters.
Definition at line 477 of file srv_config.h.
Referenced by setIPReservationsUnique().
|
inline |
Returns const pointer to the object holding configuration of the lease and host database connection parameters.
Definition at line 486 of file srv_config.h.
|
inline |
Returns pointer to the object holding configuration of the server identifier.
Definition at line 459 of file srv_config.h.
|
inline |
Returns const pointer to the object holding configuration of the server identifier.
Definition at line 468 of file srv_config.h.
|
inline |
Returns pointer to the object holding configuration pertaining to processing expired leases.
Definition at line 441 of file srv_config.h.
|
inline |
Returns pointer to the const object holding configuration pertaining to processing expired leases.
Definition at line 450 of file srv_config.h.
|
inline |
Returns pointer to the object holding general configuration for host reservations in DHCPv4.
Definition at line 495 of file srv_config.h.
|
inline |
Returns const pointer to the object holding general configuration for host reservations in DHCPv4.
Definition at line 504 of file srv_config.h.
|
inline |
Returns pointer to the object holding general configuration for host reservations in DHCPv6.
Definition at line 513 of file srv_config.h.
|
inline |
Returns const pointer to the object holding general configuration for host reservations in DHCPv6.
Definition at line 522 of file srv_config.h.
|
inline |
Returns pointer to the non-const objects representing host reservations for different IPv4 and IPv6 subnets.
Definition at line 407 of file srv_config.h.
Referenced by setIPReservationsUnique().
|
inline |
Returns pointer to the const objects representing host reservations for different IPv4 and IPv6 subnets.
Definition at line 415 of file srv_config.h.
|
inline |
Returns non-const pointer to interface configuration.
This function returns a non-const pointer to the interface configuration.
Definition at line 297 of file srv_config.h.
|
inline |
Returns const pointer to interface configuration.
This function returns a const pointer to the interface configuration.
Definition at line 307 of file srv_config.h.
|
inline |
Returns pointer to the non-const object holding options.
This method returns a pointer to the object which holds instances of the options to be returned to the clients belonging to any subnet.
Definition at line 339 of file srv_config.h.
Referenced by merge().
|
inline |
Returns pointer to the const object holding options.
This method returns a pointer to the object which holds instances of the options to be returned to the clients belonging to any subnet.
Definition at line 349 of file srv_config.h.
|
inline |
Return pointer to non-const object representing user-defined option definitions.
This function returns a pointer to the object which represents the user defined option definitions grouped by option space name.
Definition at line 318 of file srv_config.h.
Referenced by merge().
|
inline |
Returns pointer to the const object representing user-defined option definitions.
This function returns a pointer to the object which represents the user defined option definitions grouped by option space name.
Definition at line 329 of file srv_config.h.
|
inline |
Returns pointer to the non-const object representing set of RSOO-enabled options.
Definition at line 424 of file srv_config.h.
|
inline |
Returns pointer to the const object representing set of RSOO-enabled options.
Definition at line 432 of file srv_config.h.
|
inline |
Returns pointer to non-const object holding configuration of shared networks in DHCPv4;.
Definition at line 366 of file srv_config.h.
|
inline |
Returns pointer to non-const object holding configuration of shared networks in DHCPv6.
Definition at line 375 of file srv_config.h.
|
inline |
Returns pointer to non-const object holding subnets configuration for DHCPv4.
Definition at line 357 of file srv_config.h.
Referenced by getConfigSummary(), removeStatistics(), and updateStatistics().
|
inline |
Returns pointer to const object holding subnets configuration for DHCPv4.
Definition at line 383 of file srv_config.h.
|
inline |
Returns pointer to non-const object holding subnets configuration for DHCPv6.
Definition at line 391 of file srv_config.h.
Referenced by getConfigSummary(), removeStatistics(), and updateStatistics().
|
inline |
Returns pointer to const object holding subnets configuration for DHCPv6.
Definition at line 399 of file srv_config.h.
|
inline |
Returns pointer to the dictionary of global client class definitions.
Definition at line 618 of file srv_config.h.
Referenced by merge().
|
inline |
Returns pointer to const dictionary of global client class definitions.
Definition at line 626 of file srv_config.h.
std::string isc::dhcp::SrvConfig::getConfigSummary | ( | const uint32_t | selection | ) | const |
Returns summary of the configuration in the textual format.
This method returns the brief text describing the current configuration. It may be used for logging purposes, e.g. when the new configuration is committed to notify a user about the changes in configuration.
CfgMgr
accessors to get the configuration parameters. Once these parameters are migrated from the CfgMgr
this method will have to be modified accordingly.selection | Is a bitfield which describes the parts of the configuration to be returned. |
Definition at line 86 of file srv_config.cc.
References CFGSEL_DDNS, CFGSEL_SUBNET4, CFGSEL_SUBNET6, getCfgSubnets4(), getCfgSubnets6(), and getD2ClientConfig().
|
inline |
Returns pointer to a given configured global parameter.
index | Index of the parameter to fetch. |
Definition at line 923 of file srv_config.h.
|
inline |
Returns pointer to a given configured global parameter.
name | Name of the parameter to fetch. |
Definition at line 914 of file srv_config.h.
Referenced by applyDefaultsConfiguredGlobals(), sanityChecksDdnsTtlParameters(), sanityChecksLifetime(), sanityChecksLifetime(), and updateStatistics().
|
inline |
Returns non-const pointer to configured global parameters.
This function returns a non-const pointer to the configured global parameters.
Definition at line 895 of file srv_config.h.
|
inline |
Returns const pointer to configured global parameters.
This function returns a const pointer to the configured global parameters.
Definition at line 905 of file srv_config.h.
|
inline |
Returns non-const pointer to object holding sanity checks flags.
Definition at line 529 of file srv_config.h.
Referenced by isc::dhcp::SanityChecksParser::parse().
|
inline |
Returns const pointer to object holding sanity checks flags.
Definition at line 536 of file srv_config.h.
|
inline |
Returns pointer to the D2 client configuration.
Definition at line 871 of file srv_config.h.
Referenced by copy(), getConfigSummary(), getDdnsParams(), and getDdnsParams().
|
inline |
Returns pointer to const D2 client configuration.
Definition at line 878 of file srv_config.h.
DdnsParamsPtr isc::dhcp::SrvConfig::getDdnsParams | ( | const ConstSubnet4Ptr & | subnet | ) | const |
Fetches the DDNS parameters for a given DHCPv4 subnet.
Creates a DdnsParams structure which retain and thereafter use the given subnet to fetch DDNS behavioral parameters. The values are fetched with the inheritance scope mode of Network::ALL.
subnet | DHCPv4 Subnet for which DDNS parameters are desired. |
Definition at line 945 of file srv_config.cc.
References getD2ClientConfig().
DdnsParamsPtr isc::dhcp::SrvConfig::getDdnsParams | ( | const ConstSubnet6Ptr & | subnet | ) | const |
Fetches the DDNS parameters for a given DHCPv6 subnet.
Creates a DdnsParams structure which retain and thereafter use the given subnet to fetch DDNS behavioral parameters. The values are fetched with the inheritance scope mode of Network::ALL.
subnet | DHCPv6 Subnet for which DDNS parameters are desired. |
Definition at line 951 of file srv_config.cc.
References getD2ClientConfig().
|
inline |
Returns probation-period.
See setDeclinePeriod for brief discussion.
Definition at line 828 of file srv_config.h.
|
inline |
Returns DHCP4o6 IPC port.
See setDhcp4o6Port for brief discussion.
Definition at line 864 of file srv_config.h.
|
inline |
Returns DHCP multi threading information.
Definition at line 603 of file srv_config.h.
Referenced by toElement().
|
inline |
Returns DHCP queue control information.
Definition at line 589 of file srv_config.h.
Referenced by toElement().
|
inline |
Returns whether server should send back client-id in DHCPv4.
Definition at line 845 of file srv_config.h.
|
inline |
Get exclude .0 and .255 addresses in subnets bigger than /24 flag.
Definition at line 1078 of file srv_config.h.
Referenced by toElement().
|
inline |
Returns non-const reference to configured hooks libraries.
Definition at line 640 of file srv_config.h.
|
inline |
Returns const reference to configured hooks libraries.
Definition at line 647 of file srv_config.h.
|
inline |
Returns information about HTTP/HTTPS control socket.
Definition at line 575 of file srv_config.h.
|
inline |
Get ignore RAI Link Selection compatibility flag.
Definition at line 1063 of file srv_config.h.
Referenced by toElement().
|
inline |
Get ignore DHCP Server Identifier compatibility flag.
Definition at line 1048 of file srv_config.h.
Referenced by toElement().
|
inline |
Get lenient option parsing compatibility flag.
Definition at line 1033 of file srv_config.h.
Referenced by toElement().
|
inline |
Returns non-const reference to an array that stores MAC/hardware address sources.
Definition at line 546 of file srv_config.h.
|
inline |
Returns const reference to an array that stores MAC/hardware address sources.
Definition at line 554 of file srv_config.h.
|
inline |
Returns whether the server does host reservations lookup before lease lookup.
Definition at line 1013 of file srv_config.h.
|
inline |
Returns configuration sequence number.
Definition at line 275 of file srv_config.h.
Referenced by sequenceEquals().
|
inline |
Returns information about UNIX control socket.
Definition at line 561 of file srv_config.h.
|
virtual |
Merges the configuration specified as a parameter into this configuration.
This method is used when two or more configurations held in the SrvConfig
objects need to be combined into a single configuration. Specifically, when the configuration backend is used, then part of the server configuration comes from the configuration file and stored in the staging configuration. The other part of the configuration comes from the database. The configuration fetched from the database is stored in a separate SrvConfig
instance and then merged into the staging configuration prior to committing it.
The merging strategy depends on the underlying data being merged. For example: subnets are merged using the algorithm implemented in the CfgSubnets4
. Other data structures are merged using the algorithms implemented in their respective configuration containers.
The general rule is that the configuration data from the other
object replaces configuration data held in this object instance. The data that do not overlap between the two objects is simply inserted into this configuration.
Due to the nature of the client classes, i.e. they are ordered and depend on each other, individual classes are not merged. Instead, the new list of classes entirely replaces the existing list. It implies that client classes should not be defined in a config file if there are classes defined in the config backend for this server.
merge
may modify the data in the other
object. Therefore, the caller must not rely on the data held in the other
object after the call to merge
. Also, the data held in other
must not be modified after the call to merge
because it may affect the merged configuration.The other
parameter must be a SrvConfig
or its derivation.
This method calls either merge4
or merge6
based on
Currently, the following parts of the configuration are merged:
via merge4
or merge6
depending on CfgMgr::family_:
other | An object holding the configuration to be merged into this configuration. |
Definition at line 179 of file srv_config.cc.
References getCfgOption(), getCfgOptionDef(), getClientClassDictionary(), isc::dhcp::CfgMgr::instance(), isc_throw, isc::process::ConfigBase::merge(), and setClientClassDictionary().
|
inline |
Compares two objects for inequality.
It ignores the configuration sequence number when checking for inequality of objects.
other | An object to be compared with this object. |
Definition at line 713 of file srv_config.h.
References equals().
Referenced by operator!=().
|
inline |
other An object to be compared with this object.
It ignores the configuration sequence number when checking for inequality of objects.
other | An object to be compared with this object. |
Definition at line 737 of file srv_config.h.
References nequals().
|
inline |
Equality operator.
It ignores the configuration sequence number when checking for equality of objects.
other | An object to be compared with this object. |
Definition at line 725 of file srv_config.h.
References equals().
void isc::dhcp::SrvConfig::removeStatistics | ( | ) |
Removes statistics.
This method calls appropriate methods in child objects that remove related statistics. See CfgSubnets4::removeStatistics and CfgSubnets6::removeStatistics for details.
Definition at line 378 of file srv_config.cc.
References getCfgSubnets4(), and getCfgSubnets6().
void isc::dhcp::SrvConfig::sanityChecksDdnsTtlParameters | ( | ) | const |
Conducts sanity checks on global DDNS ttl parameters: ddns-ttl, ddns-ttl-percent, ddns-ttl-min, ddns-ttl-max.
If ddns-ttl is specified none of the others can be. If ddns-ttl-min and ddns-ttl-max are specified max cannot be less than min.
Throws | BadValue if any of the rules are violated. |
Definition at line 1061 of file srv_config.cc.
References getConfiguredGlobal(), and isc_throw.
void isc::dhcp::SrvConfig::sanityChecksLifetime | ( | const SrvConfig & | target_config, |
const std::string & | name ) const |
Conducts sanity checks on global lifetime parameters before merge from the external configuration to the target one.
target_config | Target configuration. |
name | Base name of the lifetime parameter. |
Definition at line 584 of file srv_config.cc.
References getConfiguredGlobal(), and isc_throw.
void isc::dhcp::SrvConfig::sanityChecksLifetime | ( | const std::string & | name | ) | const |
Conducts sanity checks on global lifetime parameters.
name | Base name of the lifetime parameter. |
Definition at line 507 of file srv_config.cc.
References getConfiguredGlobal(), and isc_throw.
bool isc::dhcp::SrvConfig::sequenceEquals | ( | const SrvConfig & | other | ) |
Compares configuration sequence with other sequence.
This method compares sequence numbers of two configurations for equality. The sequence numbers are meant to be unique, so if they are equal it means that they point to the same configuration.
other | Configuration which sequence number should be compared with the sequence number of this configuration. |
Definition at line 127 of file srv_config.cc.
References getSequence().
|
inline |
Sets the client class dictionary.
dictionary | pointer to the new class dictionary |
Definition at line 633 of file srv_config.h.
Referenced by merge().
|
inline |
Sets the D2 client configuration.
d2_client_config | pointer to the new D2 client configuration |
Definition at line 885 of file srv_config.h.
Referenced by copy().
|
inline |
Sets decline probation-period.
Probation-period is the timer, expressed, in seconds, that specifies how long a lease is unavailable after reported as declined.
decline_timer | number of seconds after declined lease is restored |
Definition at line 819 of file srv_config.h.
|
inline |
Sets DHCP4o6 IPC port.
DHCPv4-over-DHCPv6 uses a UDP socket for inter-server communication, this socket is bound and connected to this port and port + 1
port | port and port + 1 to use |
Definition at line 855 of file srv_config.h.
|
inline |
Sets information about the dhcp multi threading.
dhcp_multi_threading | new dhcp multi threading information |
Definition at line 610 of file srv_config.h.
Referenced by isc::dhcp::MultiThreadingConfigParser::parse().
|
inline |
Sets information about the dhcp queue control.
dhcp_queue_control | new dhcp queue control information |
Definition at line 596 of file srv_config.h.
|
inline |
Sets whether server should send back client-id in DHCPv4.
This is a compatibility flag. The default (true) is compliant with RFC6842. False is for backward compatibility.
echo | should the client-id be sent or not |
Definition at line 838 of file srv_config.h.
|
inline |
Set exclude .0 and .255 addresses in subnets bigger than /24 flag.
value | the boolean value to be set when excluding .0 .255 from subnets bigger than /24. |
Definition at line 1071 of file srv_config.h.
Referenced by isc::dhcp::CompatibilityParser::parse().
|
inline |
Sets information about the HTTP/HTTPS control socket.
control_socket | HTTP/HTTPS control socket config |
Definition at line 582 of file srv_config.h.
Referenced by isc::dhcp::ControlSocketsParser::parse().
|
inline |
Set ignore RAI Link Selection compatibility flag.
value | the boolean value to be set when configuring RAI Link Selection usage preferences |
Definition at line 1056 of file srv_config.h.
Referenced by isc::dhcp::CompatibilityParser::parse().
|
inline |
Set ignore DHCP Server Identifier compatibility flag.
value | the boolean value to be set when configuring DHCP Server Identifier usage preferences. |
Definition at line 1041 of file srv_config.h.
Referenced by isc::dhcp::CompatibilityParser::parse().
void isc::dhcp::SrvConfig::setIPReservationsUnique | ( | const bool | unique | ) |
Configures the server to allow or disallow specifying multiple hosts with the same IP address/subnet.
This setting is applied in CfgDbAccess
and CfgHosts
. This function should be called when the server is being configured using the configuration file, config-set command or via the configuration backend.
unique | Boolean value indicating if it is allowed (when false) or disallowed to specify multiple hosts with the same IP reservation. |
Definition at line 957 of file srv_config.cc.
References isc::dhcp::DHCPSRV_CFGMGR_IP_RESERVATIONS_UNIQUE_DUPLICATES_POSSIBLE, isc::dhcp::dhcpsrv_logger, getCfgDbAccess(), getCfgHosts(), and LOG_WARN.
|
inline |
Set lenient option parsing compatibility flag.
value | the boolean value to be set when configuring lenient option parsing |
Definition at line 1026 of file srv_config.h.
Referenced by isc::dhcp::CompatibilityParser::parse().
|
inline |
Sets whether the server does host reservations lookup before lease lookup.
first | Boolean value indicating if host reservations lookup should be performed before lease lookup. |
Definition at line 1004 of file srv_config.h.
|
inline |
Sets information about the UNIX control socket.
control_socket | UNIX control socket config |
Definition at line 568 of file srv_config.h.
Referenced by isc::dhcp::ControlSocketsParser::parse().
|
virtual |
Unparse a configuration object.
Reimplemented from isc::process::ConfigBase.
Definition at line 696 of file srv_config.cc.
References isc::data::UserContext::contextToElement(), isc::data::Element::create(), isc::data::Element::createList(), isc::data::Element::createMap(), isc::dhcp::CfgHostsList::get(), isc::process::ConfigBase::getConfigControlInfo(), isc::dhcp::CfgMgr::getDataDir(), getDHCPMultiThreading(), getDHCPQueueControl(), getExcludeFirstLast24(), isc::dhcp::CfgMgr::getFamily(), getIgnoreRAILinkSelection(), getIgnoreServerIdentifier(), getLenientOptionParsing(), isc::process::ConfigBase::getLoggingInfo(), isc::db::info, isc::dhcp::CfgMgr::instance(), isc::dhcp::CfgHostsList::internalize(), isc_throw, isc::data::isNull(), isc::data::UserContext::toElement(), isc::dhcp::CfgHostDbAccess::toElement(), isc::dhcp::CfgLeaseDbAccess::toElement(), isc::dhcp::CfgMACSource::toElement(), isc::hooks::HooksConfig::toElement(), and isc::util::Optional< T >::unspecified().
void isc::dhcp::SrvConfig::updateStatistics | ( | ) |
Updates statistics.
This method calls appropriate methods in child objects that update related statistics. See CfgSubnets4::updateStatistics and CfgSubnets6::updateStatistics for details.
Definition at line 385 of file srv_config.cc.
References getCfgSubnets4(), getCfgSubnets6(), getConfiguredGlobal(), isc::dhcp::LeaseMgrFactory::haveInstance(), isc::stats::StatsMgr::instance(), isc::stats::StatsMgr::setMaxSampleAgeAll(), isc::stats::StatsMgr::setMaxSampleAgeDefault(), isc::stats::StatsMgr::setMaxSampleCountAll(), and isc::stats::StatsMgr::setMaxSampleCountDefault().
|
static |
Whole config.
Definition at line 237 of file srv_config.h.
|
static |
IPv4 related config.
Definition at line 233 of file srv_config.h.
Referenced by isc::dhcp::configureDhcp4Server().
|
static |
IPv6 related config.
Definition at line 235 of file srv_config.h.
Referenced by isc::dhcp::configureDhcp6Server().
|
static |
Config control info.
Definition at line 231 of file srv_config.h.
|
static |
DDNS enabled/disabled.
Definition at line 225 of file srv_config.h.
Referenced by getConfigSummary().
|
static |
Configured globals.
Definition at line 229 of file srv_config.h.
|
static |
Number of enabled ifaces.
Definition at line 221 of file srv_config.h.
|
static |
Number of v6 ifaces.
Definition at line 223 of file srv_config.h.
|
static |
Nothing selected.
Definition at line 215 of file srv_config.h.
|
static |
Number of all subnets.
Definition at line 227 of file srv_config.h.
|
static |
Number of IPv4 subnets.
Definition at line 217 of file srv_config.h.
Referenced by getConfigSummary().
|
static |
Number of IPv6 subnets.
Definition at line 219 of file srv_config.h.
Referenced by getConfigSummary().