Kea 2.2.0
srv_config.h
Go to the documentation of this file.
1// Copyright (C) 2014-2022 Internet Systems Consortium, Inc. ("ISC")
2//
3// This Source Code Form is subject to the terms of the Mozilla Public
4// License, v. 2.0. If a copy of the MPL was not distributed with this
5// file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
7#ifndef DHCPSRV_CONFIG_H
8#define DHCPSRV_CONFIG_H
9
10#include <cc/cfg_to_element.h>
12#include <dhcpsrv/cfg_duid.h>
14#include <dhcpsrv/cfg_globals.h>
16#include <dhcpsrv/cfg_hosts.h>
17#include <dhcpsrv/cfg_iface.h>
18#include <dhcpsrv/cfg_option.h>
20#include <dhcpsrv/cfg_rsoo.h>
28#include <process/config_base.h>
29#include <hooks/hooks_config.h>
30#include <cc/data.h>
31#include <cc/user_context.h>
32#include <cc/simple_parser.h>
33#include <util/strutil.h>
34
35#include <boost/shared_ptr.hpp>
36#include <vector>
37#include <stdint.h>
38
39namespace isc {
40namespace dhcp {
41
42class CfgMgr;
43
48public:
50 DdnsParams() : subnet_(), d2_client_enabled_(false) {};
51
59 DdnsParams(const Subnet4Ptr& subnet, bool d2_client_enabled)
60 : subnet_(boost::dynamic_pointer_cast<Subnet>(subnet)),
61 d2_client_enabled_(d2_client_enabled) {}
62
70 DdnsParams(const Subnet6Ptr& subnet, bool d2_client_enabled)
71 : subnet_(boost::dynamic_pointer_cast<Subnet>(subnet)),
72 d2_client_enabled_(d2_client_enabled) {}
73
80 bool getEnableUpdates() const;
81
86 bool getOverrideNoUpdate() const;
87
92 bool getOverrideClientUpdate() const;
93
99
103 std::string getGeneratedPrefix() const;
104
109 std::string getQualifyingSuffix() const;
110
115 std::string getHostnameCharSet() const;
116
121 std::string getHostnameCharReplacement() const;
122
133
141 bool getUpdateOnRenew() const;
142
150 bool getUseConflictResolution() const;
151
156 if (subnet_) {
157 return (subnet_->getID());
158 } else {
159 return (0);
160 }
161 }
162
163private:
165 SubnetPtr subnet_;
166
168 bool d2_client_enabled_;
169};
170
172typedef boost::shared_ptr<DdnsParams> DdnsParamsPtr;
173
178public:
181
182
183 static const uint32_t CFGSEL_NONE = 0x00000000;
185 static const uint32_t CFGSEL_SUBNET4 = 0x00000001;
187 static const uint32_t CFGSEL_SUBNET6 = 0x00000002;
189 static const uint32_t CFGSEL_IFACE4 = 0x00000004;
191 static const uint32_t CFGSEL_IFACE6 = 0x00000008;
193 static const uint32_t CFGSEL_DDNS = 0x00000010;
195 static const uint32_t CFGSEL_SUBNET = 0x00000003;
197 static const uint32_t CFGSEL_GLOBALS = 0x00000020;
199 static const uint32_t CFGSEL_CFG_CTL = 0x00000040;
201 static const uint32_t CFGSEL_ALL4 = 0x00000035;
203 static const uint32_t CFGSEL_ALL6 = 0x0000003A;
205 static const uint32_t CFGSEL_ALL = 0xFFFFFFFF;
207
211 SrvConfig();
212
218 SrvConfig(const uint32_t sequence);
219
238 std::string getConfigSummary(const uint32_t selection) const;
239
243 uint32_t getSequence() const {
244 return (sequence_);
245 }
246
257 bool sequenceEquals(const SrvConfig& other);
258
266 return (cfg_iface_);
267 }
268
276 return (cfg_iface_);
277 }
278
287 return (cfg_option_def_);
288 }
289
298 return (cfg_option_def_);
299 }
300
308 return (cfg_option_);
309 }
310
318 return (cfg_option_);
319 }
320
326 return (cfg_subnets4_);
327 }
328
335 return (cfg_shared_networks4_);
336 }
337
344 return (cfg_shared_networks6_);
345 }
346
352 return (cfg_subnets4_);
353 }
354
360 return (cfg_subnets6_);
361 }
362
368 return (cfg_subnets6_);
369 }
370
376 return (cfg_hosts_);
377 }
378
384 return (cfg_hosts_);
385 }
386
393 return (cfg_rsoo_);
394 }
395
401 return (cfg_rsoo_);
402 }
403
410 return (cfg_expiration_);
411 }
412
419 return (cfg_expiration_);
420 }
421
428 return (cfg_duid_);
429 }
430
437 return (cfg_duid_);
438 }
439
446 return (cfg_db_access_);
447 }
448
455 return (cfg_db_access_);
456 }
457
464 return (cfg_host_operations4_);
465 }
466
473 return (cfg_host_operations4_);
474 }
475
482 return (cfg_host_operations6_);
483 }
484
491 return (cfg_host_operations6_);
492 }
493
498 return (cfg_consist_);
499 }
500
502
508 return (cfg_mac_source_);
509 }
510
516 return (cfg_mac_source_);
517 }
518
523 return (control_socket_);
524 }
525
530 control_socket_ = control_socket;
531 }
532
537 return (dhcp_queue_control_);
538 }
539
543 void setDHCPQueueControl(const isc::data::ConstElementPtr dhcp_queue_control) {
544 dhcp_queue_control_ = dhcp_queue_control;
545 }
546
551 return (dhcp_multi_threading_);
552 }
553
557 void setDHCPMultiThreading(const isc::data::ConstElementPtr dhcp_multi_threading) {
558 dhcp_multi_threading_ = dhcp_multi_threading;
559 }
560
566 return (class_dictionary_);
567 }
568
574 return (class_dictionary_);
575 }
576
581 class_dictionary_ = dictionary;
582 }
583
588 return (hooks_config_);
589 }
590
595 return (hooks_config_);
596 }
597
607 DdnsParamsPtr getDdnsParams(const Subnet4Ptr& subnet) const;
608
618 DdnsParamsPtr getDdnsParams(const Subnet6Ptr& subnet) const;
619
636 void copy(SrvConfig& new_config) const;
637
640
641
650 bool equals(const SrvConfig& other) const;
651
660 bool nequals(const SrvConfig& other) const {
661 return (!equals(other));
662 }
663
672 bool operator==(const SrvConfig& other) const {
673 return (equals(other));
674 }
675
684 bool operator!=(const SrvConfig& other) const {
685 return (nequals(other));
686 }
687
689
744 virtual void merge(ConfigBase& other);
745
751 void updateStatistics();
752
758 void removeStatistics();
759
766 void setDeclinePeriod(const uint32_t decline_timer) {
767 decline_timer_ = decline_timer;
768 }
769
775 uint32_t getDeclinePeriod() const {
776 return (decline_timer_);
777 }
778
785 void setEchoClientId(const bool echo) {
786 echo_v4_client_id_ = echo;
787 }
788
792 bool getEchoClientId() const {
793 return (echo_v4_client_id_);
794 }
795
802 void setDhcp4o6Port(uint16_t port) {
803 dhcp4o6_port_ = port;
804 }
805
811 uint16_t getDhcp4o6Port() const {
812 return (dhcp4o6_port_);
813 }
814
819 return (d2_client_config_);
820 }
821
826 return (d2_client_config_);
827 }
828
832 void setD2ClientConfig(const D2ClientConfigPtr& d2_client_config) {
833 d2_client_config_ = d2_client_config;
834 }
835
843 return (configured_globals_);
844 }
845
853 return (configured_globals_);
854 }
855
862 return (configured_globals_->get(name));
863 }
864
871 return (configured_globals_->get(index));
872 }
873
881 configured_globals_->clear();
882 }
883
888
891
896 void addConfiguredGlobal(const std::string& name, isc::data::ConstElementPtr value) {
897 configured_globals_->set(name, value);
898 }
899
903 void sanityChecksLifetime(const std::string& name) const;
904
910 void sanityChecksLifetime(const SrvConfig& target_config,
911 const std::string& name) const;
912
936 static void moveDdnsParams(isc::data::ElementPtr srv_elem);
937
947 void setIPReservationsUnique(const bool unique);
948
954 void setReservationsLookupFirst(const bool first) {
955 reservations_lookup_first_ = first;
956 }
957
964 return (reservations_lookup_first_);
965 }
966
970 virtual isc::data::ElementPtr toElement() const;
971
976 void setLenientOptionParsing(bool const value) {
977 lenient_option_parsing_ = value;
978 }
979
984 return lenient_option_parsing_;
985 }
986
994 void configureLowerLevelLibraries() const;
995
996private:
997
1006 void merge4(SrvConfig& other);
1007
1016 void merge6(SrvConfig& other);
1017
1040 void mergeGlobals(SrvConfig& other);
1041
1043 uint32_t sequence_;
1044
1049 CfgIfacePtr cfg_iface_;
1050
1055 CfgOptionDefPtr cfg_option_def_;
1056
1061 CfgOptionPtr cfg_option_;
1062
1064 CfgSubnets4Ptr cfg_subnets4_;
1065
1067 CfgSubnets6Ptr cfg_subnets6_;
1068
1070 CfgSharedNetworks4Ptr cfg_shared_networks4_;
1071
1073 CfgSharedNetworks6Ptr cfg_shared_networks6_;
1074
1079 CfgHostsPtr cfg_hosts_;
1080
1082 CfgMACSource cfg_mac_source_;
1083
1088 CfgRSOOPtr cfg_rsoo_;
1089
1092 CfgExpirationPtr cfg_expiration_;
1093
1095 CfgDUIDPtr cfg_duid_;
1096
1099 CfgDbAccessPtr cfg_db_access_;
1100
1103 CfgHostOperationsPtr cfg_host_operations4_;
1104
1107 CfgHostOperationsPtr cfg_host_operations6_;
1108
1110 isc::data::ConstElementPtr control_socket_;
1111
1113 isc::data::ConstElementPtr dhcp_queue_control_;
1114
1116 isc::data::ConstElementPtr dhcp_multi_threading_;
1117
1119 ClientClassDictionaryPtr class_dictionary_;
1120
1122 isc::hooks::HooksConfig hooks_config_;
1123
1128 uint32_t decline_timer_;
1129
1131 bool echo_v4_client_id_;
1132
1137 uint16_t dhcp4o6_port_;
1138
1140 D2ClientConfigPtr d2_client_config_;
1141
1143 CfgGlobalsPtr configured_globals_;
1144
1146 CfgConsistencyPtr cfg_consist_;
1147
1150 bool lenient_option_parsing_;
1152
1158 bool reservations_lookup_first_;
1159};
1160
1163
1164
1165typedef boost::shared_ptr<SrvConfig> SrvConfigPtr;
1166
1168typedef boost::shared_ptr<const SrvConfig> ConstSrvConfigPtr;
1170
1171} // namespace dhcp
1172} // namespace isc
1173
1174#endif // DHCPSRV_CONFIG_H
Wrapper class that holds MAC/hardware address sources.
ReplaceClientNameMode
Defines the client name replacement modes.
Definition: d2_client_cfg.h:76
Convenience container for conveying DDNS behavioral parameters It is intended to be created per Packe...
Definition: srv_config.h:47
std::string getHostnameCharReplacement() const
Returns the string to replace invalid characters when scrubbing hostnames.
Definition: srv_config.cc:967
bool getUseConflictResolution() const
Returns whether or not keah-dhcp-ddns should use conflict resolution.
Definition: srv_config.cc:1004
D2ClientConfig::ReplaceClientNameMode getReplaceClientNameMode() const
Returns how Kea should handle the domain-name supplied by the client.
Definition: srv_config.cc:931
std::string getGeneratedPrefix() const
Returns the Prefix Kea should use when generating domain-names.
Definition: srv_config.cc:940
isc::util::str::StringSanitizerPtr getHostnameSanitizer() const
Returns a regular expression string sanitizer.
Definition: srv_config.cc:976
std::string getHostnameCharSet() const
Returns the regular expression describing invalid characters for client hostnames.
Definition: srv_config.cc:958
SubnetID getSubnetId() const
Returns the subnet-id of the subnet associated with these parameters.
Definition: srv_config.h:155
DdnsParams(const Subnet4Ptr &subnet, bool d2_client_enabled)
Constructor for DHPCv4 subnets.
Definition: srv_config.h:59
std::string getQualifyingSuffix() const
Returns the suffix Kea should use when to qualify partial domain-names.
Definition: srv_config.cc:949
bool getUpdateOnRenew() const
Returns whether or not DNS should be updated when leases renew.
Definition: srv_config.cc:995
bool getOverrideNoUpdate() const
Returns whether or not Kea should perform updates, even if client requested no updates.
Definition: srv_config.cc:914
DdnsParams(const Subnet6Ptr &subnet, bool d2_client_enabled)
Constructor for DHPCv6 subnets.
Definition: srv_config.h:70
DdnsParams()
Default constructor.
Definition: srv_config.h:50
bool getEnableUpdates() const
Returns whether or not DHCP DDNS updating is enabled.
Definition: srv_config.cc:905
bool getOverrideClientUpdate() const
Returns whether or not Kea should perform updates, even if client requested delegation.
Definition: srv_config.cc:922
Specifies current DHCP configuration.
Definition: srv_config.h:177
ClientClassDictionaryPtr getClientClassDictionary()
Returns pointer to the dictionary of global client class definitions.
Definition: srv_config.h:565
static const uint32_t CFGSEL_SUBNET4
Number of IPv4 subnets.
Definition: srv_config.h:185
ConstCfgOptionDefPtr getCfgOptionDef() const
Returns pointer to the const object representing user-defined option definitions.
Definition: srv_config.h:297
static void moveDdnsParams(isc::data::ElementPtr srv_elem)
Moves deprecated parameters from dhcp-ddns element to global element.
Definition: srv_config.cc:841
const ConstCfgOptionPtr getCfgOption() const
Returns pointer to the const object holding options.
Definition: srv_config.h:317
void setDhcp4o6Port(uint16_t port)
Sets DHCP4o6 IPC port.
Definition: srv_config.h:802
void addConfiguredGlobal(const std::string &name, isc::data::ConstElementPtr value)
Adds a parameter to the collection configured globals.
Definition: srv_config.h:896
CfgGlobalsPtr getConfiguredGlobals()
Returns non-const pointer to configured global parameters.
Definition: srv_config.h:842
ConstCfgGlobalsPtr getConfiguredGlobals() const
Returns const pointer to configured global parameters.
Definition: srv_config.h:852
void setLenientOptionParsing(bool const value)
Set lenient option parsing compatibility flag.
Definition: srv_config.h:976
bool getReservationsLookupFirst() const
Returns whether the server does host reservations lookup before lease lookup.
Definition: srv_config.h:963
const ClientClassDictionaryPtr getClientClassDictionary() const
Returns pointer to const dictionary of global client class definitions.
Definition: srv_config.h:573
const D2ClientConfigPtr getD2ClientConfig() const
Returns pointer to const D2 client configuration.
Definition: srv_config.h:825
void clearConfiguredGlobals()
Removes all configured global parameters.
Definition: srv_config.h:880
void setClientClassDictionary(const ClientClassDictionaryPtr &dictionary)
Sets the client class dictionary.
Definition: srv_config.h:580
ConstCfgSubnets6Ptr getCfgSubnets6() const
Returns pointer to const object holding subnets configuration for DHCPv6.
Definition: srv_config.h:367
virtual void merge(ConfigBase &other)
Merges the configuration specified as a parameter into this configuration.
Definition: srv_config.cc:166
void extractConfiguredGlobals(isc::data::ConstElementPtr config)
Saves scalar elements from the global scope of a configuration.
Definition: srv_config.cc:394
static const uint32_t CFGSEL_ALL
Whole config.
Definition: srv_config.h:205
ConstCfgDUIDPtr getCfgDUID() const
Returns const pointer to the object holding configuration of the server identifier.
Definition: srv_config.h:436
bool nequals(const SrvConfig &other) const
Compares two objects for inequality.
Definition: srv_config.h:660
bool operator!=(const SrvConfig &other) const
other An object to be compared with this object.
Definition: srv_config.h:684
isc::data::ConstElementPtr getConfiguredGlobal(std::string name) const
Returns pointer to a given configured global parameter.
Definition: srv_config.h:861
CfgSharedNetworks6Ptr getCfgSharedNetworks6() const
Returns pointer to non-const object holding configuration of shared networks in DHCPv6.
Definition: srv_config.h:343
static const uint32_t CFGSEL_ALL6
IPv6 related config.
Definition: srv_config.h:203
void setD2ClientConfig(const D2ClientConfigPtr &d2_client_config)
Sets the D2 client configuration.
Definition: srv_config.h:832
static const uint32_t CFGSEL_NONE
Nothing selected.
Definition: srv_config.h:183
void applyDefaultsConfiguredGlobals(const isc::data::SimpleDefaults &defaults)
Applies defaults to global parameters.
Definition: srv_config.cc:324
void setIPReservationsUnique(const bool unique)
Configures the server to allow or disallow specifying multiple hosts with the same IP address/subnet.
Definition: srv_config.cc:891
void configureLowerLevelLibraries() const
Convenience method to propagate configuration parameters through inversion of control.
Definition: srv_config.cc:900
static const uint32_t CFGSEL_IFACE4
Number of enabled ifaces.
Definition: srv_config.h:189
CfgDUIDPtr getCfgDUID()
Returns pointer to the object holding configuration of the server identifier.
Definition: srv_config.h:427
bool sequenceEquals(const SrvConfig &other)
Compares configuration sequence with other sequence.
Definition: srv_config.cc:113
static const uint32_t CFGSEL_GLOBALS
Configured globals.
Definition: srv_config.h:197
isc::data::ConstElementPtr getConfiguredGlobal(int index) const
Returns pointer to a given configured global parameter.
Definition: srv_config.h:870
CfgConsistencyPtr getConsistency()
Returns const pointer to object holding sanity checks flags.
Definition: srv_config.h:497
CfgSubnets4Ptr getCfgSubnets4()
Returns pointer to non-const object holding subnets configuration for DHCPv4.
Definition: srv_config.h:325
CfgSubnets6Ptr getCfgSubnets6()
Returns pointer to non-const object holding subnets configuration for DHCPv6.
Definition: srv_config.h:359
CfgOptionDefPtr getCfgOptionDef()
Return pointer to non-const object representing user-defined option definitions.
Definition: srv_config.h:286
uint16_t getDhcp4o6Port() const
Returns DHCP4o6 IPC port.
Definition: srv_config.h:811
D2ClientConfigPtr getD2ClientConfig()
Returns pointer to the D2 client configuration.
Definition: srv_config.h:818
bool operator==(const SrvConfig &other) const
Equality operator.
Definition: srv_config.h:672
CfgRSOOPtr getCfgRSOO()
Returns pointer to the non-const object representing set of RSOO-enabled options.
Definition: srv_config.h:392
CfgHostOperationsPtr getCfgHostOperations6()
Returns pointer to the object holding general configuration for host reservations in DHCPv6.
Definition: srv_config.h:481
void setReservationsLookupFirst(const bool first)
Sets whether the server does host reservations lookup before lease lookup.
Definition: srv_config.h:954
ConstCfgHostOperationsPtr getCfgHostOperations6() const
Returns const pointer to the object holding general configuration for host reservations in DHCPv6.
Definition: srv_config.h:490
const isc::data::ConstElementPtr getDHCPMultiThreading() const
Returns DHCP multi threading information.
Definition: srv_config.h:550
bool getEchoClientId() const
Returns whether server should send back client-id in DHCPv4.
Definition: srv_config.h:792
void setDHCPQueueControl(const isc::data::ConstElementPtr dhcp_queue_control)
Sets information about the dhcp queue control.
Definition: srv_config.h:543
void sanityChecksLifetime(const std::string &name) const
Conducts sanity checks on global lifetime parameters.
Definition: srv_config.cc:409
ConstCfgIfacePtr getCfgIface() const
Returns const pointer to interface configuration.
Definition: srv_config.h:275
ConstCfgExpirationPtr getCfgExpiration() const
Returns pointer to the const object holding configuration pertaining to processing expired leases.
Definition: srv_config.h:418
std::string getConfigSummary(const uint32_t selection) const
Returns summary of the configuration in the textual format.
Definition: srv_config.cc:72
const isc::data::ConstElementPtr getDHCPQueueControl() const
Returns DHCP queue control information.
Definition: srv_config.h:536
const isc::hooks::HooksConfig & getHooksConfig() const
Returns const reference to configured hooks libraries.
Definition: srv_config.h:594
bool equals(const SrvConfig &other) const
Compares two objects for equality.
Definition: srv_config.cc:140
uint32_t getSequence() const
Returns configuration sequence number.
Definition: srv_config.h:243
CfgIfacePtr getCfgIface()
Returns non-const pointer to interface configuration.
Definition: srv_config.h:265
static const uint32_t CFGSEL_DDNS
DDNS enabled/disabled.
Definition: srv_config.h:193
void setDeclinePeriod(const uint32_t decline_timer)
Sets decline probation-period.
Definition: srv_config.h:766
uint32_t getDeclinePeriod() const
Returns probation-period.
Definition: srv_config.h:775
void removeStatistics()
Removes statistics.
Definition: srv_config.cc:278
ConstCfgHostsPtr getCfgHosts() const
Returns pointer to the const objects representing host reservations for different IPv4 and IPv6 subne...
Definition: srv_config.h:383
CfgExpirationPtr getCfgExpiration()
Returns pointer to the object holding configuration pertaining to processing expired leases.
Definition: srv_config.h:409
const CfgMACSource & getMACSources() const
Returns const reference to an array that stores MAC/hardware address sources.
Definition: srv_config.h:515
CfgOptionPtr getCfgOption()
Returns pointer to the non-const object holding options.
Definition: srv_config.h:307
virtual isc::data::ElementPtr toElement() const
Unparse a configuration object.
Definition: srv_config.cc:598
bool getLenientOptionParsing() const
Get lenient option parsing compatibility flag.
Definition: srv_config.h:983
ConstCfgRSOOPtr getCfgRSOO() const
Returns pointer to the const object representing set of RSOO-enabled options.
Definition: srv_config.h:400
static const uint32_t CFGSEL_SUBNET6
Number of IPv6 subnets.
Definition: srv_config.h:187
isc::hooks::HooksConfig & getHooksConfig()
Returns non-const reference to configured hooks libraries.
Definition: srv_config.h:587
void updateStatistics()
Updates statistics.
Definition: srv_config.cc:286
ConstCfgDbAccessPtr getCfgDbAccess() const
Returns const pointer to the object holding configuration of the lease and host database connection p...
Definition: srv_config.h:454
static const uint32_t CFGSEL_SUBNET
Number of all subnets.
Definition: srv_config.h:195
static const uint32_t CFGSEL_ALL4
IPv4 related config.
Definition: srv_config.h:201
void setDHCPMultiThreading(const isc::data::ConstElementPtr dhcp_multi_threading)
Sets information about the dhcp multi threading.
Definition: srv_config.h:557
CfgDbAccessPtr getCfgDbAccess()
Returns pointer to the object holding configuration of the lease and host database connection paramet...
Definition: srv_config.h:445
void setEchoClientId(const bool echo)
Sets whether server should send back client-id in DHCPv4.
Definition: srv_config.h:785
void copy(SrvConfig &new_config) const
Copies the current configuration to a new configuration.
Definition: srv_config.cc:118
CfgSharedNetworks4Ptr getCfgSharedNetworks4() const
Returns pointer to non-const object holding configuration of shared networks in DHCPv4;.
Definition: srv_config.h:334
CfgHostsPtr getCfgHosts()
Returns pointer to the non-const objects representing host reservations for different IPv4 and IPv6 s...
Definition: srv_config.h:375
void setControlSocketInfo(const isc::data::ConstElementPtr &control_socket)
Sets information about the control socket.
Definition: srv_config.h:529
static const uint32_t CFGSEL_IFACE6
Number of v6 ifaces.
Definition: srv_config.h:191
ConstCfgSubnets4Ptr getCfgSubnets4() const
Returns pointer to const object holding subnets configuration for DHCPv4.
Definition: srv_config.h:351
static const uint32_t CFGSEL_CFG_CTL
Config control info.
Definition: srv_config.h:199
const isc::data::ConstElementPtr getControlSocketInfo() const
Returns information about control socket.
Definition: srv_config.h:522
DdnsParamsPtr getDdnsParams(const Subnet4Ptr &subnet) const
Fetches the DDNS parameters for a given DHCPv4 subnet.
Definition: srv_config.cc:829
SrvConfig()
Default constructor.
Definition: srv_config.cc:35
ConstCfgHostOperationsPtr getCfgHostOperations4() const
Returns const pointer to the object holding general configuration for host reservations in DHCPv4.
Definition: srv_config.h:472
CfgHostOperationsPtr getCfgHostOperations4()
Returns pointer to the object holding general configuration for host reservations in DHCPv4.
Definition: srv_config.h:463
CfgMACSource & getMACSources()
Returns non-const reference to an array that stores MAC/hardware address sources.
Definition: srv_config.h:507
Wrapper class that holds hooks libraries configuration.
Definition: hooks_config.h:36
Base class for all configurations.
Definition: config_base.h:33
Defines classes for storing client class definitions.
Defines the D2ClientConfig class.
boost::shared_ptr< const Element > ConstElementPtr
Definition: data.h:27
std::vector< SimpleDefault > SimpleDefaults
This specifies all default values in a given scope (e.g. a subnet).
boost::shared_ptr< Element > ElementPtr
Definition: data.h:24
boost::shared_ptr< const CfgOptionDef > ConstCfgOptionDefPtr
Const pointer.
boost::shared_ptr< CfgDUID > CfgDUIDPtr
Pointer to the Non-const object.
Definition: cfg_duid.h:161
boost::shared_ptr< CfgHostOperations > CfgHostOperationsPtr
Pointer to the Non-const object.
boost::shared_ptr< const CfgDUID > ConstCfgDUIDPtr
Pointer to the const object.
Definition: cfg_duid.h:164
boost::shared_ptr< const CfgGlobals > ConstCfgGlobalsPtr
Const shared pointer to a CfgGlobals instance.
Definition: cfg_globals.h:159
boost::shared_ptr< Subnet > SubnetPtr
A generic pointer to either Subnet4 or Subnet6 object.
Definition: subnet.h:515
boost::shared_ptr< Subnet4 > Subnet4Ptr
A pointer to a Subnet4 object.
Definition: subnet.h:524
boost::shared_ptr< const CfgHosts > ConstCfgHostsPtr
Const pointer.
Definition: cfg_hosts.h:944
boost::shared_ptr< D2ClientConfig > D2ClientConfigPtr
Defines a pointer for D2ClientConfig instances.
boost::shared_ptr< const SrvConfig > ConstSrvConfigPtr
Const pointer to the SrvConfig.
Definition: srv_config.h:1168
boost::shared_ptr< CfgOption > CfgOptionPtr
Non-const pointer.
Definition: cfg_option.h:706
boost::shared_ptr< CfgOptionDef > CfgOptionDefPtr
Non-const pointer.
boost::shared_ptr< CfgDbAccess > CfgDbAccessPtr
A pointer to the CfgDbAccess.
boost::shared_ptr< const CfgExpiration > ConstCfgExpirationPtr
Pointer to the const object.
boost::shared_ptr< const CfgIface > ConstCfgIfacePtr
A pointer to the const CfgIface.
Definition: cfg_iface.h:504
boost::shared_ptr< Subnet6 > Subnet6Ptr
A pointer to a Subnet6 object.
Definition: subnet.h:672
boost::shared_ptr< const CfgDbAccess > ConstCfgDbAccessPtr
A pointer to the const CfgDbAccess.
boost::shared_ptr< const CfgRSOO > ConstCfgRSOOPtr
Pointer to the const object.
Definition: cfg_rsoo.h:74
boost::shared_ptr< const CfgHostOperations > ConstCfgHostOperationsPtr
Pointer to the const object.
boost::shared_ptr< CfgIface > CfgIfacePtr
A pointer to the CfgIface .
Definition: cfg_iface.h:501
boost::shared_ptr< DdnsParams > DdnsParamsPtr
Defines a pointer for DdnsParams instances.
Definition: srv_config.h:172
boost::shared_ptr< SrvConfig > SrvConfigPtr
Non-const pointer to the SrvConfig.
Definition: srv_config.h:1165
boost::shared_ptr< CfgSubnets6 > CfgSubnets6Ptr
Non-const pointer.
Definition: cfg_subnets6.h:331
boost::shared_ptr< CfgExpiration > CfgExpirationPtr
boost::shared_ptr< CfgGlobals > CfgGlobalsPtr
Non-const shared pointer to a CfgGlobals instance.
Definition: cfg_globals.h:156
boost::shared_ptr< ClientClassDictionary > ClientClassDictionaryPtr
Defines a pointer to a ClientClassDictionary.
boost::shared_ptr< CfgSharedNetworks6 > CfgSharedNetworks6Ptr
Pointer to the configuration of IPv6 shared networks.
uint32_t SubnetID
Defines unique IPv4 or IPv6 subnet identifier.
Definition: subnet_id.h:24
boost::shared_ptr< CfgHosts > CfgHostsPtr
Non-const pointer.
Definition: cfg_hosts.h:941
boost::shared_ptr< CfgSubnets4 > CfgSubnets4Ptr
Non-const pointer.
Definition: cfg_subnets4.h:333
boost::shared_ptr< const CfgSubnets4 > ConstCfgSubnets4Ptr
Const pointer.
Definition: cfg_subnets4.h:336
boost::shared_ptr< const CfgSubnets6 > ConstCfgSubnets6Ptr
Const pointer.
Definition: cfg_subnets6.h:334
boost::shared_ptr< CfgConsistency > CfgConsistencyPtr
Type used to for pointing to CfgConsistency structure.
boost::shared_ptr< CfgSharedNetworks4 > CfgSharedNetworks4Ptr
Pointer to the configuration of IPv4 shared networks.
boost::shared_ptr< CfgRSOO > CfgRSOOPtr
Pointer to the Non-const object.
Definition: cfg_rsoo.h:71
boost::shared_ptr< const CfgOption > ConstCfgOptionPtr
Const pointer.
Definition: cfg_option.h:709
boost::shared_ptr< StringSanitizer > StringSanitizerPtr
Type representing the pointer to the StringSanitizer.
Definition: strutil.h:358
Defines the logger used by the top-level component of kea-lfc.