Kea 2.7.6
|
Convenience container for conveying DDNS behavioral parameters It is intended to be created per Packet exchange using the selected subnet passed into functions that require them. More...
#include <srv_config.h>
Public Member Functions | |
DdnsParams () | |
Default constructor. | |
DdnsParams (const ConstSubnet4Ptr &subnet, bool d2_client_enabled) | |
Constructor for DHCPv4 subnets. | |
DdnsParams (const ConstSubnet6Ptr &subnet, bool d2_client_enabled) | |
Constructor for DHCPv6 subnets. | |
std::string | getConflictResolutionMode () const |
Returns the DDNS config resolution mode for kea-dhcp-ddns. | |
bool | getEnableUpdates () const |
Returns whether or not DHCP DDNS updating is enabled. | |
std::string | getGeneratedPrefix () const |
Returns the Prefix Kea should use when generating domain-names. | |
std::string | getHostnameCharReplacement () const |
Returns the string to replace invalid characters when scrubbing hostnames. | |
std::string | getHostnameCharSet () const |
Returns the regular expression describing invalid characters for client hostnames. | |
isc::util::str::StringSanitizerPtr | getHostnameSanitizer () const |
Returns a regular expression string sanitizer. | |
bool | getOverrideClientUpdate () const |
Returns whether or not Kea should perform updates, even if client requested delegation. | |
bool | getOverrideNoUpdate () const |
Returns whether or not Kea should perform updates, even if client requested no updates. | |
std::string | getQualifyingSuffix () const |
Returns the suffix Kea should use when to qualify partial domain-names. | |
D2ClientConfig::ReplaceClientNameMode | getReplaceClientNameMode () const |
Returns how Kea should handle the domain-name supplied by the client. | |
SubnetID | getSubnetId () const |
Returns the subnet-id of the subnet associated with these parameters. | |
util::Optional< uint32_t > | getTtl () const |
Returns explicit TTL to use. | |
util::Optional< uint32_t > | getTtlMax () const |
Returns the maximum TTL to use. | |
util::Optional< uint32_t > | getTtlMin () const |
Returns the minimum TTL to use. | |
util::Optional< double > | getTtlPercent () const |
Returns percent of lease lifetime to use for TTL. | |
bool | getUpdateOnRenew () const |
Returns whether or not DNS should be updated when leases renew. | |
Convenience container for conveying DDNS behavioral parameters It is intended to be created per Packet exchange using the selected subnet passed into functions that require them.
Definition at line 49 of file srv_config.h.
|
inline |
Default constructor.
Definition at line 52 of file srv_config.h.
|
inline |
Constructor for DHCPv4 subnets.
subnet | Pointer to Subnet4 instance to use for fetching parameter values (typically this is the selected subnet). |
d2_client_enabled | flag which indicates whether or not D2Client is enabled (typically the value should come from global D2Client configuration). |
Definition at line 61 of file srv_config.h.
|
inline |
Constructor for DHCPv6 subnets.
subnet | Pointer to Subnet6 instance to use for fetching parameter values (typically this is the selected subnet). |
d2_client_enabled | flag which indicates whether or not D2Client is enabled (typically the value should come from global D2Client configuration). |
Definition at line 72 of file srv_config.h.
std::string isc::dhcp::DdnsParams::getConflictResolutionMode | ( | ) | const |
Returns the DDNS config resolution mode for kea-dhcp-ddns.
This value is communicated to D2 via the NCR.
Definition at line 1142 of file srv_config.cc.
bool isc::dhcp::DdnsParams::getEnableUpdates | ( | ) | const |
Returns whether or not DHCP DDNS updating is enabled.
The value is the logical AND of d2_client_enabled_ and the value returned by subnet_'s getDdnsSendUpdates().
Definition at line 971 of file srv_config.cc.
Referenced by isc::dhcp::D2ClientMgr::analyzeFqdn(), and isc::dhcp::Dhcpv4Srv::createNameChangeRequests().
std::string isc::dhcp::DdnsParams::getGeneratedPrefix | ( | ) | const |
Returns the Prefix Kea should use when generating domain-names.
Definition at line 1006 of file srv_config.cc.
Referenced by isc::dhcp::D2ClientMgr::generateFqdn().
std::string isc::dhcp::DdnsParams::getHostnameCharReplacement | ( | ) | const |
Returns the string to replace invalid characters when scrubbing hostnames.
Meaningful only if hostname_char_set_ is not empty.
Definition at line 1033 of file srv_config.cc.
Referenced by getHostnameSanitizer().
std::string isc::dhcp::DdnsParams::getHostnameCharSet | ( | ) | const |
Returns the regular expression describing invalid characters for client hostnames.
If empty, host name scrubbing should not be done.
Definition at line 1024 of file srv_config.cc.
Referenced by getHostnameSanitizer().
util::str::StringSanitizerPtr isc::dhcp::DdnsParams::getHostnameSanitizer | ( | ) | const |
Returns a regular expression string sanitizer.
If the value returned by getHostnameCharSet() is not empty, then it is used in conjunction the value returned by getHostnameCharReplacment() (which may be empty) to create and return a StringSanitizer instance. Otherwise it will return an empty pointer.
BadValue | if the compilation fails. |
Definition at line 1042 of file srv_config.cc.
References getHostnameCharReplacement(), getHostnameCharSet(), and isc_throw.
Referenced by isc::dhcp::D2ClientMgr::adjustDomainName().
bool isc::dhcp::DdnsParams::getOverrideClientUpdate | ( | ) | const |
Returns whether or not Kea should perform updates, even if client requested delegation.
Definition at line 988 of file srv_config.cc.
Referenced by isc::dhcp::D2ClientMgr::analyzeFqdn().
bool isc::dhcp::DdnsParams::getOverrideNoUpdate | ( | ) | const |
Returns whether or not Kea should perform updates, even if client requested no updates.
Definition at line 980 of file srv_config.cc.
Referenced by isc::dhcp::D2ClientMgr::analyzeFqdn().
std::string isc::dhcp::DdnsParams::getQualifyingSuffix | ( | ) | const |
Returns the suffix Kea should use when to qualify partial domain-names.
Definition at line 1015 of file srv_config.cc.
Referenced by isc::dhcp::D2ClientMgr::qualifyName().
D2ClientConfig::ReplaceClientNameMode isc::dhcp::DdnsParams::getReplaceClientNameMode | ( | ) | const |
Returns how Kea should handle the domain-name supplied by the client.
Definition at line 997 of file srv_config.cc.
References isc::dhcp::D2ClientConfig::RCM_NEVER.
Referenced by isc::dhcp::D2ClientMgr::adjustDomainName().
|
inline |
Returns the subnet-id of the subnet associated with these parameters.
Definition at line 187 of file srv_config.h.
util::Optional< uint32_t > isc::dhcp::DdnsParams::getTtl | ( | ) | const |
Returns explicit TTL to use.
This value, if greater than zero, is used as the lifetime passed to D2 in the NCR.
Definition at line 1115 of file srv_config.cc.
util::Optional< uint32_t > isc::dhcp::DdnsParams::getTtlMax | ( | ) | const |
Returns the maximum TTL to use.
This value, if greater than zero, is used as the upper boundary for calculated TTLs.
Definition at line 1133 of file srv_config.cc.
util::Optional< uint32_t > isc::dhcp::DdnsParams::getTtlMin | ( | ) | const |
Returns the minimum TTL to use.
This value, if greater than zero, is used as the lower boundary for calculated TTLs.
Definition at line 1124 of file srv_config.cc.
util::Optional< double > isc::dhcp::DdnsParams::getTtlPercent | ( | ) | const |
Returns percent of lease lifetime to use for TTL.
This value, if greater than zero, is used to calculate the lease lifetime passed to D2 in the NCR. Otherwise the value is calculated per RFC 4702.
Definition at line 1106 of file srv_config.cc.
bool isc::dhcp::DdnsParams::getUpdateOnRenew | ( | ) | const |
Returns whether or not DNS should be updated when leases renew.
If this is true, DNS should always be updated when leases are extended (i.e. renewed/rebound) even if the DNS information has not changed.
Definition at line 1097 of file srv_config.cc.
Referenced by isc::dhcp::Dhcpv4Srv::createNameChangeRequests().