Kea  1.5.0
isc::dhcp::SrvConfig Class Reference

Specifies current DHCP configuration. More...

#include <srv_config.h>

+ Inheritance diagram for isc::dhcp::SrvConfig:

Constants for selection of parameters returned by @c getConfigSummary

static const uint32_t CFGSEL_NONE = 0x00000000
 Nothing selected. More...
 
static const uint32_t CFGSEL_SUBNET4 = 0x00000001
 Number of IPv4 subnets. More...
 
static const uint32_t CFGSEL_SUBNET6 = 0x00000002
 Number of IPv6 subnets. More...
 
static const uint32_t CFGSEL_IFACE4 = 0x00000004
 Number of enabled ifaces. More...
 
static const uint32_t CFGSEL_IFACE6 = 0x00000008
 Number of v6 ifaces. More...
 
static const uint32_t CFGSEL_DDNS = 0x00000010
 DDNS enabled/disabled. More...
 
static const uint32_t CFGSEL_SUBNET = 0x00000003
 Number of all subnets. More...
 
static const uint32_t CFGSEL_GLOBALS = 0x00000020
 Configured globals. More...
 
static const uint32_t CFGSEL_CFG_CTL = 0x00000040
 Config control info. More...
 
static const uint32_t CFGSEL_ALL4 = 0x00000035
 IPv4 related config. More...
 
static const uint32_t CFGSEL_ALL6 = 0x0000003A
 IPv6 related config. More...
 
static const uint32_t CFGSEL_ALL = 0xFFFFFFFF
 Whole config. More...
 
 SrvConfig ()
 Default constructor. More...
 
 SrvConfig (const uint32_t sequence)
 Constructor. More...
 
std::string getConfigSummary (const uint32_t selection) const
 Returns summary of the configuration in the textual format. More...
 
uint32_t getSequence () const
 Returns configuration sequence number. More...
 
bool sequenceEquals (const SrvConfig &other)
 Compares configuration sequence with other sequence. More...
 
CfgIfacePtr getCfgIface ()
 Returns non-const pointer to interface configuration. More...
 
ConstCfgIfacePtr getCfgIface () const
 Returns const pointer to interface configuration. More...
 
CfgOptionDefPtr getCfgOptionDef ()
 Return pointer to non-const object representing user-defined option definitions. More...
 
ConstCfgOptionDefPtr getCfgOptionDef () const
 Returns pointer to the const object representing user-defined option definitions. More...
 
CfgOptionPtr getCfgOption ()
 Returns pointer to the non-const object holding options. More...
 
const ConstCfgOptionPtr getCfgOption () const
 Returns pointer to the const object holding options. More...
 
CfgSubnets4Ptr getCfgSubnets4 ()
 Returns pointer to non-const object holding subnets configuration for DHCPv4. More...
 
CfgSharedNetworks4Ptr getCfgSharedNetworks4 () const
 Returns pointer to non-const object holding configuration of shared networks in DHCPv4;. More...
 
CfgSharedNetworks6Ptr getCfgSharedNetworks6 () const
 Returns pointer to non-const object holding configuration of shared networks in DHCPv6. More...
 
ConstCfgSubnets4Ptr getCfgSubnets4 () const
 Returns pointer to const object holding subnets configuration for DHCPv4. More...
 
CfgSubnets6Ptr getCfgSubnets6 ()
 Returns pointer to non-const object holding subnets configuration for DHCPv6. More...
 
ConstCfgSubnets6Ptr getCfgSubnets6 () const
 Returns pointer to const object holding subnets configuration for DHCPv6. More...
 
CfgHostsPtr getCfgHosts ()
 Returns pointer to the non-const objects representing host reservations for different IPv4 and IPv6 subnets. More...
 
ConstCfgHostsPtr getCfgHosts () const
 Returns pointer to the const objects representing host reservations for different IPv4 and IPv6 subnets. More...
 
CfgRSOOPtr getCfgRSOO ()
 Returns pointer to the non-const object representing set of RSOO-enabled options. More...
 
ConstCfgRSOOPtr getCfgRSOO () const
 Returns pointer to the const object representing set of RSOO-enabled options. More...
 
CfgExpirationPtr getCfgExpiration ()
 Returns pointer to the object holding configuration pertaining to processing expired leases. More...
 
ConstCfgExpirationPtr getCfgExpiration () const
 Returns pointer to the const object holding configuration pertaining to processing expired leases. More...
 
CfgDUIDPtr getCfgDUID ()
 Returns pointer to the object holding configuration of the server identifier. More...
 
ConstCfgDUIDPtr getCfgDUID () const
 Returns const pointer to the object holding configuration of the server identifier. More...
 
CfgDbAccessPtr getCfgDbAccess ()
 Returns pointer to the object holding configuration of the lease and host database connection parameters. More...
 
ConstCfgDbAccessPtr getCfgDbAccess () const
 Returns const pointer to the object holding configuration of the lease and host database connection parameters. More...
 
CfgHostOperationsPtr getCfgHostOperations4 ()
 Returns pointer to the object holding general configuration for host reservations in DHCPv4. More...
 
ConstCfgHostOperationsPtr getCfgHostOperations4 () const
 Returns const pointer to the object holding general configuration for host reservations in DHCPv4. More...
 
CfgHostOperationsPtr getCfgHostOperations6 ()
 Returns pointer to the object holding general configuration for host reservations in DHCPv6. More...
 
ConstCfgHostOperationsPtr getCfgHostOperations6 () const
 Returns const pointer to the object holding general configuration for host reservations in DHCPv6. More...
 
CfgConsistencyPtr getConsistency ()
 Returns const pointer to object holding sanity checks flags. More...
 
CfgMACSourcegetMACSources ()
 Returns non-const reference to an array that stores MAC/hardware address sources. More...
 
const CfgMACSourcegetMACSources () const
 Returns const reference to an array that stores MAC/hardware address sources. More...
 
const isc::data::ConstElementPtr getControlSocketInfo () const
 Returns information about control socket. More...
 
void setControlSocketInfo (const isc::data::ConstElementPtr &control_socket)
 Sets information about the control socket. More...
 
const isc::data::ConstElementPtr getDHCPQueueControl () const
 Returns DHCP queue control information. More...
 
void setDHCPQueueControl (const isc::data::ConstElementPtr dhcp_queue_control)
 Sets information about the dhcp queue control. More...
 
ClientClassDictionaryPtr getClientClassDictionary ()
 Returns pointer to the dictionary of global client class definitions. More...
 
const ClientClassDictionaryPtr getClientClassDictionary () const
 Returns pointer to const dictionary of global client class definitions. More...
 
void setClientClassDictionary (const ClientClassDictionaryPtr &dictionary)
 Sets the client class dictionary. More...
 
isc::hooks::HooksConfiggetHooksConfig ()
 Returns non-const reference to configured hooks libraries. More...
 
const isc::hooks::HooksConfiggetHooksConfig () const
 Returns const reference to configured hooks libraries. More...
 
void copy (SrvConfig &new_config) const
 Copies the current configuration to a new configuration. More...
 

Methods and operators used to compare configurations.

bool equals (const SrvConfig &other) const
 Compares two objects for equality. More...
 
bool nequals (const SrvConfig &other) const
 Compares two objects for inequality. More...
 
bool operator== (const SrvConfig &other) const
 Equality operator. More...
 
bool operator!= (const SrvConfig &other) const
 
void updateStatistics ()
 Updates statistics. More...
 
void removeStatistics ()
 Removes statistics. More...
 
void setDeclinePeriod (const uint32_t decline_timer)
 Sets decline probation-period. More...
 
uint32_t getDeclinePeriod () const
 Returns probation-period. More...
 
void setEchoClientId (const bool echo)
 Sets whether server should send back client-id in DHCPv4. More...
 
bool getEchoClientId () const
 Returns whether server should send back client-id in DHCPv4. More...
 
void setDhcp4o6Port (uint16_t port)
 Sets DHCP4o6 IPC port. More...
 
uint16_t getDhcp4o6Port ()
 Returns DHCP4o6 IPC port. More...
 
D2ClientConfigPtr getD2ClientConfig ()
 Returns pointer to the D2 client configuration. More...
 
const D2ClientConfigPtr getD2ClientConfig () const
 Returns pointer to const D2 client configuration. More...
 
void setD2ClientConfig (const D2ClientConfigPtr &d2_client_config)
 Sets the D2 client configuration. More...
 
isc::data::ConstElementPtr getConfiguredGlobals () const
 Returns pointer to configured global parameters. More...
 
void extractConfiguredGlobals (isc::data::ConstElementPtr config)
 Saves scalar elements from the global scope of a configuration. More...
 
void addConfiguredGlobal (const std::string &name, isc::data::ConstElementPtr value)
 Adds a parameter to the collection configured globals. More...
 
void setServerTag (const std::string &server_tag)
 Sets the server's logical name. More...
 
std::string getServerTag () const
 Returns the server's logical name. More...
 
virtual isc::data::ElementPtr toElement () const
 Unparse a configuration object. More...
 

Additional Inherited Members

- Public Member Functions inherited from isc::process::ConfigBase
const process::LoggingInfoStoragegetLoggingInfo () const
 Returns logging specific configuration. More...
 
void addLoggingInfo (const process::LoggingInfo &logging_info)
 Sets logging specific configuration. More...
 
void applyLoggingCfg () const
 Apply logging configuration to log4cplus. More...
 
bool equals (const ConfigBase &other) const
 Compares two configuration. More...
 
process::ConstConfigControlInfoPtr getConfigControlInfo () const
 Fetches a read-only copy of the configuration control information. More...
 
void setConfigControlInfo (const process::ConfigControlInfoPtr &config_ctl_info)
 Set the configuration control information. More...
 
- Public Member Functions inherited from isc::data::UserContext
void contextToElement (data::ElementPtr map) const
 Merge unparse a user_context object. More...
 
data::ConstElementPtr getContext () const
 Returns const pointer to the user context. More...
 
void setContext (const data::ConstElementPtr &ctx)
 Sets user context. More...
 
- Public Member Functions inherited from isc::data::CfgToElement
virtual ~CfgToElement ()
 Destructor. More...
 
- Static Public Member Functions inherited from isc::data::UserContext
static data::ElementPtr toElement (data::ConstElementPtr map)
 Copy extracting comments an Element map. More...
 
- Protected Member Functions inherited from isc::process::ConfigBase
void copy (ConfigBase &new_config) const
 Copies the current configuration to a new configuration. More...
 
- Protected Attributes inherited from isc::data::UserContext
data::ConstElementPtr user_context_
 Pointer to the user context (may be NULL) More...
 

Detailed Description

Specifies current DHCP configuration.

Todo:
Migrate all other configuration parameters from cfgmgr.h here

Definition at line 44 of file srv_config.h.

Constructor & Destructor Documentation

◆ SrvConfig() [1/2]

isc::dhcp::SrvConfig::SrvConfig ( )

Default constructor.

This constructor sets configuration sequence number to 0.

Definition at line 26 of file srv_config.cc.

◆ SrvConfig() [2/2]

isc::dhcp::SrvConfig::SrvConfig ( const uint32_t  sequence)

Constructor.

Sets arbitrary configuration sequence number.

Definition at line 45 of file srv_config.cc.

Member Function Documentation

◆ addConfiguredGlobal()

void isc::dhcp::SrvConfig::addConfiguredGlobal ( const std::string &  name,
isc::data::ConstElementPtr  value 
)
inline

Adds a parameter to the collection configured globals.

Parameters
namestd::string name of the global to add
valueElementPtr containing the value of the global

Definition at line 570 of file srv_config.h.

Referenced by extractConfiguredGlobals().

◆ copy()

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.

Warning
Some of the configuration objects are not copied at this point, e.g. subnets. This is because they contain quite complex data structures and they make use of pointers, so in many cases the default copy constructors can't be used. Implementing this requires quite a lot of time so this is left as is for now. The lack of ability to copy the entire configuration makes revert function of the CfgMgr unusable.
Parameters
[out]new_configAn object to which the configuration will be copied.

Definition at line 111 of file srv_config.cc.

References isc::hooks::HooksConfig::add(), isc::hooks::HooksConfig::clear(), isc::data::copy(), getD2ClientConfig(), and setD2ClientConfig().

+ Here is the call graph for this function:

◆ equals()

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.

Parameters
otherAn object to be compared with this object.
Returns
true if two objects are equal, false otherwise.

Definition at line 134 of file srv_config.cc.

References isc::hooks::HooksConfig::equal(), and isc::hooks::HooksConfig::get().

Referenced by nequals(), and operator==().

+ Here is the call graph for this function:

◆ extractConfiguredGlobals()

void isc::dhcp::SrvConfig::extractConfiguredGlobals ( isc::data::ConstElementPtr  config)

Saves scalar elements from the global scope of a configuration.

Definition at line 184 of file srv_config.cc.

References addConfiguredGlobal(), and isc_throw.

+ Here is the call graph for this function:

◆ getCfgDbAccess() [1/2]

CfgDbAccessPtr isc::dhcp::SrvConfig::getCfgDbAccess ( )
inline

Returns pointer to the object holding configuration of the lease and host database connection parameters.

Definition at line 294 of file srv_config.h.

◆ getCfgDbAccess() [2/2]

ConstCfgDbAccessPtr isc::dhcp::SrvConfig::getCfgDbAccess ( ) const
inline

Returns const pointer to the object holding configuration of the lease and host database connection parameters.

Definition at line 300 of file srv_config.h.

◆ getCfgDUID() [1/2]

CfgDUIDPtr isc::dhcp::SrvConfig::getCfgDUID ( )
inline

Returns pointer to the object holding configuration of the server identifier.

Definition at line 282 of file srv_config.h.

◆ getCfgDUID() [2/2]

ConstCfgDUIDPtr isc::dhcp::SrvConfig::getCfgDUID ( ) const
inline

Returns const pointer to the object holding configuration of the server identifier.

Definition at line 288 of file srv_config.h.

◆ getCfgExpiration() [1/2]

CfgExpirationPtr isc::dhcp::SrvConfig::getCfgExpiration ( )
inline

Returns pointer to the object holding configuration pertaining to processing expired leases.

Definition at line 270 of file srv_config.h.

◆ getCfgExpiration() [2/2]

ConstCfgExpirationPtr isc::dhcp::SrvConfig::getCfgExpiration ( ) const
inline

Returns pointer to the const object holding configuration pertaining to processing expired leases.

Definition at line 276 of file srv_config.h.

◆ getCfgHostOperations4() [1/2]

CfgHostOperationsPtr isc::dhcp::SrvConfig::getCfgHostOperations4 ( )
inline

Returns pointer to the object holding general configuration for host reservations in DHCPv4.

Definition at line 306 of file srv_config.h.

◆ getCfgHostOperations4() [2/2]

ConstCfgHostOperationsPtr isc::dhcp::SrvConfig::getCfgHostOperations4 ( ) const
inline

Returns const pointer to the object holding general configuration for host reservations in DHCPv4.

Definition at line 312 of file srv_config.h.

◆ getCfgHostOperations6() [1/2]

CfgHostOperationsPtr isc::dhcp::SrvConfig::getCfgHostOperations6 ( )
inline

Returns pointer to the object holding general configuration for host reservations in DHCPv6.

Definition at line 318 of file srv_config.h.

◆ getCfgHostOperations6() [2/2]

ConstCfgHostOperationsPtr isc::dhcp::SrvConfig::getCfgHostOperations6 ( ) const
inline

Returns const pointer to the object holding general configuration for host reservations in DHCPv6.

Definition at line 324 of file srv_config.h.

◆ getCfgHosts() [1/2]

CfgHostsPtr isc::dhcp::SrvConfig::getCfgHosts ( )
inline

Returns pointer to the non-const objects representing host reservations for different IPv4 and IPv6 subnets.

Returns
Pointer to the non-const object holding host reservations.

Definition at line 238 of file srv_config.h.

◆ getCfgHosts() [2/2]

ConstCfgHostsPtr isc::dhcp::SrvConfig::getCfgHosts ( ) const
inline

Returns pointer to the const objects representing host reservations for different IPv4 and IPv6 subnets.

Returns
Pointer to the const object holding host reservations.

Definition at line 246 of file srv_config.h.

◆ getCfgIface() [1/2]

CfgIfacePtr isc::dhcp::SrvConfig::getCfgIface ( )
inline

Returns non-const pointer to interface configuration.

This function returns a non-const pointer to the interface configuration.

Returns
Object representing configuration of interfaces.

Definition at line 128 of file srv_config.h.

◆ getCfgIface() [2/2]

ConstCfgIfacePtr isc::dhcp::SrvConfig::getCfgIface ( ) const
inline

Returns const pointer to interface configuration.

This function returns a const pointer to the interface configuration.

Returns
Object representing configuration of interfaces.

Definition at line 138 of file srv_config.h.

◆ getCfgOption() [1/2]

CfgOptionPtr isc::dhcp::SrvConfig::getCfgOption ( )
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.

Returns
Pointer to the object holding options.

Definition at line 170 of file srv_config.h.

◆ getCfgOption() [2/2]

const ConstCfgOptionPtr isc::dhcp::SrvConfig::getCfgOption ( ) const
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.

Returns
Pointer to the object holding options.

Definition at line 180 of file srv_config.h.

◆ getCfgOptionDef() [1/2]

CfgOptionDefPtr isc::dhcp::SrvConfig::getCfgOptionDef ( )
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.

Returns
Pointer to an object holding option definitions.

Definition at line 149 of file srv_config.h.

◆ getCfgOptionDef() [2/2]

ConstCfgOptionDefPtr isc::dhcp::SrvConfig::getCfgOptionDef ( ) const
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.

Returns
Pointer to an object holding option definitions.

Definition at line 160 of file srv_config.h.

◆ getCfgRSOO() [1/2]

CfgRSOOPtr isc::dhcp::SrvConfig::getCfgRSOO ( )
inline

Returns pointer to the non-const object representing set of RSOO-enabled options.

Returns
Pointer to the non-const object holding RSOO-enabled options.

Definition at line 255 of file srv_config.h.

◆ getCfgRSOO() [2/2]

ConstCfgRSOOPtr isc::dhcp::SrvConfig::getCfgRSOO ( ) const
inline

Returns pointer to the const object representing set of RSOO-enabled options.

Returns
Pointer to the const object holding RSOO-enabled options.

Definition at line 264 of file srv_config.h.

◆ getCfgSharedNetworks4()

CfgSharedNetworks4Ptr isc::dhcp::SrvConfig::getCfgSharedNetworks4 ( ) const
inline

Returns pointer to non-const object holding configuration of shared networks in DHCPv4;.

Returns
Pointer to the object holding shared networks configuration for DHCPv4.

Definition at line 197 of file srv_config.h.

◆ getCfgSharedNetworks6()

CfgSharedNetworks6Ptr isc::dhcp::SrvConfig::getCfgSharedNetworks6 ( ) const
inline

Returns pointer to non-const object holding configuration of shared networks in DHCPv6.

Returns
Pointer to the object holding shared networks configuration for DHCPv6.

Definition at line 206 of file srv_config.h.

◆ getCfgSubnets4() [1/2]

CfgSubnets4Ptr isc::dhcp::SrvConfig::getCfgSubnets4 ( )
inline

Returns pointer to non-const object holding subnets configuration for DHCPv4.

Returns
Pointer to the object holding subnets configuration for DHCPv4.

Definition at line 188 of file srv_config.h.

Referenced by getConfigSummary(), removeStatistics(), and updateStatistics().

◆ getCfgSubnets4() [2/2]

ConstCfgSubnets4Ptr isc::dhcp::SrvConfig::getCfgSubnets4 ( ) const
inline

Returns pointer to const object holding subnets configuration for DHCPv4.

Returns
Pointer to the object holding subnets configuration for DHCPv4.

Definition at line 214 of file srv_config.h.

◆ getCfgSubnets6() [1/2]

CfgSubnets6Ptr isc::dhcp::SrvConfig::getCfgSubnets6 ( )
inline

Returns pointer to non-const object holding subnets configuration for DHCPv6.

Returns
Pointer to the object holding subnets configuration for DHCPv6.

Definition at line 222 of file srv_config.h.

Referenced by getConfigSummary(), removeStatistics(), and updateStatistics().

◆ getCfgSubnets6() [2/2]

ConstCfgSubnets6Ptr isc::dhcp::SrvConfig::getCfgSubnets6 ( ) const
inline

Returns pointer to const object holding subnets configuration for DHCPv6.

Returns
Pointer to the object holding subnets configuration for DHCPv6.

Definition at line 230 of file srv_config.h.

◆ getClientClassDictionary() [1/2]

ClientClassDictionaryPtr isc::dhcp::SrvConfig::getClientClassDictionary ( )
inline

Returns pointer to the dictionary of global client class definitions.

Definition at line 377 of file srv_config.h.

◆ getClientClassDictionary() [2/2]

const ClientClassDictionaryPtr isc::dhcp::SrvConfig::getClientClassDictionary ( ) const
inline

Returns pointer to const dictionary of global client class definitions.

Definition at line 383 of file srv_config.h.

◆ getConfigSummary()

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.

Todo:
Currently this method uses CfgMgr accessors to get the configuration parameters. Once these parameters are migrated from the CfgMgr this method will have to be modified accordingly.
Todo:
Implement reporting a summary of interfaces being used for receiving and sending DHCP messages. This will be implemented with ticket #3512.
Parameters
selectionIs a bitfield which describes the parts of the configuration to be returned.
Returns
Summary of the configuration in the textual format.

Definition at line 65 of file srv_config.cc.

References CFGSEL_DDNS, CFGSEL_SUBNET4, CFGSEL_SUBNET6, getCfgSubnets4(), getCfgSubnets6(), and getD2ClientConfig().

+ Here is the call graph for this function:

◆ getConfiguredGlobals()

isc::data::ConstElementPtr isc::dhcp::SrvConfig::getConfiguredGlobals ( ) const
inline

Returns pointer to configured global parameters.

Definition at line 560 of file srv_config.h.

◆ getConsistency()

CfgConsistencyPtr isc::dhcp::SrvConfig::getConsistency ( )
inline

Returns const pointer to object holding sanity checks flags.

Definition at line 329 of file srv_config.h.

Referenced by isc::dhcp::SanityChecksParser::parse().

◆ getControlSocketInfo()

const isc::data::ConstElementPtr isc::dhcp::SrvConfig::getControlSocketInfo ( ) const
inline

Returns information about control socket.

Returns
pointer to the Element that holds control-socket map

Definition at line 353 of file srv_config.h.

◆ getD2ClientConfig() [1/2]

D2ClientConfigPtr isc::dhcp::SrvConfig::getD2ClientConfig ( )
inline

Returns pointer to the D2 client configuration.

Definition at line 544 of file srv_config.h.

Referenced by copy(), and getConfigSummary().

◆ getD2ClientConfig() [2/2]

const D2ClientConfigPtr isc::dhcp::SrvConfig::getD2ClientConfig ( ) const
inline

Returns pointer to const D2 client configuration.

Definition at line 549 of file srv_config.h.

◆ getDeclinePeriod()

uint32_t isc::dhcp::SrvConfig::getDeclinePeriod ( ) const
inline

Returns probation-period.

See setDeclinePeriod for brief discussion.

Returns
value of probation-period, expressed in seconds

Definition at line 505 of file srv_config.h.

◆ getDhcp4o6Port()

uint16_t isc::dhcp::SrvConfig::getDhcp4o6Port ( )
inline

Returns DHCP4o6 IPC port.

See setDhcp4o6Port for brief discussion.

Returns
value of DHCP4o6 IPC port

Definition at line 539 of file srv_config.h.

◆ getDHCPQueueControl()

const isc::data::ConstElementPtr isc::dhcp::SrvConfig::getDHCPQueueControl ( ) const
inline

Returns DHCP queue control information.

Returns
pointer to the DHCP queue control information

Definition at line 365 of file srv_config.h.

Referenced by toElement().

◆ getEchoClientId()

bool isc::dhcp::SrvConfig::getEchoClientId ( ) const
inline

Returns whether server should send back client-id in DHCPv4.

Returns
true if client-id should be returned, false otherwise.

Definition at line 521 of file srv_config.h.

◆ getHooksConfig() [1/2]

isc::hooks::HooksConfig& isc::dhcp::SrvConfig::getHooksConfig ( )
inline

Returns non-const reference to configured hooks libraries.

Returns
non-const reference to configured hooks libraries.

Definition at line 396 of file srv_config.h.

◆ getHooksConfig() [2/2]

const isc::hooks::HooksConfig& isc::dhcp::SrvConfig::getHooksConfig ( ) const
inline

Returns const reference to configured hooks libraries.

Returns
const reference to configured hooks libraries.

Definition at line 403 of file srv_config.h.

◆ getMACSources() [1/2]

CfgMACSource& isc::dhcp::SrvConfig::getMACSources ( )
inline

Returns non-const reference to an array that stores MAC/hardware address sources.

Returns
non-const reference to MAC/hardware address sources

Definition at line 339 of file srv_config.h.

◆ getMACSources() [2/2]

const CfgMACSource& isc::dhcp::SrvConfig::getMACSources ( ) const
inline

Returns const reference to an array that stores MAC/hardware address sources.

Returns
const reference to MAC/hardware address sources

Definition at line 347 of file srv_config.h.

◆ getSequence()

uint32_t isc::dhcp::SrvConfig::getSequence ( ) const
inline

Returns configuration sequence number.

Definition at line 106 of file srv_config.h.

Referenced by sequenceEquals().

◆ getServerTag()

std::string isc::dhcp::SrvConfig::getServerTag ( ) const
inline

Returns the server's logical name.

Returns
string containing the server's tag

Definition at line 585 of file srv_config.h.

◆ nequals()

bool isc::dhcp::SrvConfig::nequals ( const SrvConfig other) const
inline

Compares two objects for inequality.

It ignores the configuration sequence number when checking for inequality of objects.

Parameters
otherAn object to be compared with this object.
Returns
true if two objects are not equal, false otherwise.

Definition at line 447 of file srv_config.h.

References equals().

Referenced by operator!=().

+ Here is the call graph for this function:

◆ operator!=()

bool isc::dhcp::SrvConfig::operator!= ( const SrvConfig other) const
inline
Parameters
otherAn object to be compared with this object.

It ignores the configuration sequence number when checking for inequality of objects.

Parameters
otherAn object to be compared with this object.
Returns
true if two objects are not equal, false otherwise.

Definition at line 471 of file srv_config.h.

References nequals().

+ Here is the call graph for this function:

◆ operator==()

bool isc::dhcp::SrvConfig::operator== ( const SrvConfig other) const
inline

Equality operator.

It ignores the configuration sequence number when checking for equality of objects.

Parameters
otherAn object to be compared with this object.
Returns
true if two objects are equal, false otherwise.

Definition at line 459 of file srv_config.h.

References equals().

+ Here is the call graph for this function:

◆ removeStatistics()

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 160 of file srv_config.cc.

References getCfgSubnets4(), and getCfgSubnets6().

+ Here is the call graph for this function:

◆ sequenceEquals()

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.

Parameters
otherConfiguration which sequence number should be compared with the sequence number of this configuration.
Returns
true if sequence numbers are equal.

Definition at line 106 of file srv_config.cc.

References getSequence().

+ Here is the call graph for this function:

◆ setClientClassDictionary()

void isc::dhcp::SrvConfig::setClientClassDictionary ( const ClientClassDictionaryPtr dictionary)
inline

Sets the client class dictionary.

Parameters
dictionarypointer to the new class dictionary

Definition at line 389 of file srv_config.h.

◆ setControlSocketInfo()

void isc::dhcp::SrvConfig::setControlSocketInfo ( const isc::data::ConstElementPtr control_socket)
inline

Sets information about the control socket.

Parameters
control_socketElement that holds control-socket map

Definition at line 359 of file srv_config.h.

Referenced by isc::dhcp::ControlSocketParser::parse().

◆ setD2ClientConfig()

void isc::dhcp::SrvConfig::setD2ClientConfig ( const D2ClientConfigPtr d2_client_config)
inline

Sets the D2 client configuration.

Parameters
d2_client_configpointer to the new D2 client configuration

Definition at line 555 of file srv_config.h.

Referenced by copy().

◆ setDeclinePeriod()

void isc::dhcp::SrvConfig::setDeclinePeriod ( const uint32_t  decline_timer)
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.

Parameters
decline_timernumber of seconds after declined lease is restored

Definition at line 497 of file srv_config.h.

◆ setDhcp4o6Port()

void isc::dhcp::SrvConfig::setDhcp4o6Port ( uint16_t  port)
inline

Sets DHCP4o6 IPC port.

DHCPv4-over-DHCPv6 uses a UDP socket for interserver communication, this socket is bound and connected to this port and port + 1

Parameters
portport and port + 1 to use

Definition at line 531 of file srv_config.h.

◆ setDHCPQueueControl()

void isc::dhcp::SrvConfig::setDHCPQueueControl ( const isc::data::ConstElementPtr  dhcp_queue_control)
inline

Sets information about the dhcp queue control.

Parameters
dhcp_queue_controlnew dhcp queue control information

Definition at line 371 of file srv_config.h.

◆ setEchoClientId()

void isc::dhcp::SrvConfig::setEchoClientId ( const bool  echo)
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.

Parameters
echoshould the client-id be sent or not

Definition at line 515 of file srv_config.h.

◆ setServerTag()

void isc::dhcp::SrvConfig::setServerTag ( const std::string &  server_tag)
inline

Sets the server's logical name.

Parameters
server_taga unique string name which identifies this server from any other configured servers

Definition at line 578 of file srv_config.h.

◆ toElement()

◆ updateStatistics()

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 169 of file srv_config.cc.

References getCfgSubnets4(), getCfgSubnets6(), and isc::dhcp::LeaseMgrFactory::haveInstance().

+ Here is the call graph for this function:

Member Data Documentation

◆ CFGSEL_ALL

const uint32_t isc::dhcp::SrvConfig::CFGSEL_ALL = 0xFFFFFFFF
static

Whole config.

Definition at line 72 of file srv_config.h.

◆ CFGSEL_ALL4

const uint32_t isc::dhcp::SrvConfig::CFGSEL_ALL4 = 0x00000035
static

IPv4 related config.

Definition at line 68 of file srv_config.h.

◆ CFGSEL_ALL6

const uint32_t isc::dhcp::SrvConfig::CFGSEL_ALL6 = 0x0000003A
static

IPv6 related config.

Definition at line 70 of file srv_config.h.

◆ CFGSEL_CFG_CTL

const uint32_t isc::dhcp::SrvConfig::CFGSEL_CFG_CTL = 0x00000040
static

Config control info.

Definition at line 66 of file srv_config.h.

◆ CFGSEL_DDNS

const uint32_t isc::dhcp::SrvConfig::CFGSEL_DDNS = 0x00000010
static

DDNS enabled/disabled.

Definition at line 60 of file srv_config.h.

Referenced by getConfigSummary().

◆ CFGSEL_GLOBALS

const uint32_t isc::dhcp::SrvConfig::CFGSEL_GLOBALS = 0x00000020
static

Configured globals.

Definition at line 64 of file srv_config.h.

◆ CFGSEL_IFACE4

const uint32_t isc::dhcp::SrvConfig::CFGSEL_IFACE4 = 0x00000004
static

Number of enabled ifaces.

Definition at line 56 of file srv_config.h.

◆ CFGSEL_IFACE6

const uint32_t isc::dhcp::SrvConfig::CFGSEL_IFACE6 = 0x00000008
static

Number of v6 ifaces.

Definition at line 58 of file srv_config.h.

◆ CFGSEL_NONE

const uint32_t isc::dhcp::SrvConfig::CFGSEL_NONE = 0x00000000
static

Nothing selected.

Definition at line 50 of file srv_config.h.

◆ CFGSEL_SUBNET

const uint32_t isc::dhcp::SrvConfig::CFGSEL_SUBNET = 0x00000003
static

Number of all subnets.

Definition at line 62 of file srv_config.h.

◆ CFGSEL_SUBNET4

const uint32_t isc::dhcp::SrvConfig::CFGSEL_SUBNET4 = 0x00000001
static

Number of IPv4 subnets.

Definition at line 52 of file srv_config.h.

Referenced by getConfigSummary().

◆ CFGSEL_SUBNET6

const uint32_t isc::dhcp::SrvConfig::CFGSEL_SUBNET6 = 0x00000002
static

Number of IPv6 subnets.

Definition at line 54 of file srv_config.h.

Referenced by getConfigSummary().


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