Pool information for IPv4 addresses. More...
#include <pool.h>
Public Member Functions | |
Pool4 (const isc::asiolink::IOAddress &first, const isc::asiolink::IOAddress &last) | |
the constructor for Pool4 "min-max" style definition | |
Pool4 (const isc::asiolink::IOAddress &prefix, uint8_t prefix_len) | |
the constructor for Pool4 "prefix/len" style definition | |
virtual data::ElementPtr | toElement () const |
Unparse a Pool4 object. | |
![]() | |
virtual | ~Pool ()=default |
virtual destructor | |
void | addAdditionalClass (const ClientClass &class_name) |
Adds class class_name to the additional classes list. | |
void | allowClientClass (const isc::dhcp::ClientClass &class_name) |
Adds class clas_name to the allowed client classes list. | |
bool | clientSupported (const ClientClasses &client_classes) const |
Checks whether this pool supports client that belongs to specified classes. | |
const ClientClasses & | getAdditionalClasses () const |
Returns the additional classes list. | |
AllocationStatePtr | getAllocationState () const |
Returns pool-specific allocation state. | |
isc::util::uint128_t | getCapacity () const |
Returns the number of all leases in this pool. | |
CfgOptionPtr | getCfgOption () |
Returns pointer to the option data configuration for this pool. | |
ConstCfgOptionPtr | getCfgOption () const |
Returns const pointer to the option data configuration for this pool. | |
const ClientClasses & | getClientClasses () const |
Returns the list of allowed client classes. | |
util::Optional< std::string > | getDdnsConflictResolutionMode () const |
Returns ddns-conflict-resolution-mode. | |
util::Optional< std::string > | getDdnsGeneratedPrefix () const |
Returns ddns-generated-prefix. | |
util::Optional< bool > | getDdnsOverrideClientUpdate () const |
Returns ddns-override-client-update. | |
util::Optional< bool > | getDdnsOverrideNoUpdate () const |
Returns ddns-override-no-update. | |
util::Optional< std::string > | getDdnsQualifyingSuffix () const |
Returns ddns-qualifying-suffix. | |
util::Optional< D2ClientConfig::ReplaceClientNameMode > | getDdnsReplaceClientNameMode () const |
Returns ddns-replace-client-name-mode. | |
util::Optional< bool > | getDdnsSendUpdates () const |
Returns ddns-send-updates. | |
util::Optional< uint32_t > | getDdnsTtl () const |
Returns ddns-ttl. | |
util::Optional< uint32_t > | getDdnsTtlMax () const |
Returns ddns-ttl-max. | |
util::Optional< uint32_t > | getDdnsTtlMin () const |
Returns ddns-ttl-min. | |
util::Optional< double > | getDdnsTtlPercent () const |
Returns ddns-ttl-percent. | |
util::Optional< bool > | getDdnsUpdateOnRenew () const |
Returns ddns-update-on-renew. | |
const isc::asiolink::IOAddress & | getFirstAddress () const |
Returns the first address in a pool. | |
util::Optional< std::string > | getHostnameCharReplacement () const |
Return the invalid char replacement used to sanitize client hostnames. | |
util::Optional< std::string > | getHostnameCharSet () const |
Return the char set regexp used to sanitize client hostnames. | |
uint64_t | getID () const |
Returns Pool-id. | |
const isc::asiolink::IOAddress & | getLastAddress () const |
Returns the last address in a pool. | |
ClientClasses & | getMutableAdditionalClasses () |
Returns the mutable additional classes list. | |
ClientClasses & | getMutableClientClasses () |
Returns the mutable list of allowed client classes. | |
Lease::Type | getType () const |
Returns pool type (v4, v6 non-temporary, v6 temp, v6 prefix) | |
bool | hasDdnsParameters () const |
Checks if any of the DDNS parameters has a value. | |
bool | inRange (const isc::asiolink::IOAddress &addr) const |
Checks if a given address is in the range. | |
void | setAllocationState (const AllocationStatePtr &allocation_state) |
Sets pool-specific allocation state. | |
void | setDdnsConflictResolutionMode (const util::Optional< std::string > &ddns_conflict_resolution_mode) |
Sets new ddns-conflict-resolution-mode. | |
void | setDdnsGeneratedPrefix (const util::Optional< std::string > &ddns_generated_prefix) |
Sets new ddns-generated-prefix. | |
void | setDdnsOverrideClientUpdate (const util::Optional< bool > &ddns_override_client_update) |
Sets new ddns-override-client-update. | |
void | setDdnsOverrideNoUpdate (const util::Optional< bool > &ddns_override_no_update) |
Sets new ddns-override-no-update. | |
void | setDdnsQualifyingSuffix (const util::Optional< std::string > &ddns_qualifying_suffix) |
Sets new ddns-qualifying-suffix. | |
void | setDdnsReplaceClientNameMode (const util::Optional< D2ClientConfig::ReplaceClientNameMode > &ddns_replace_client_name_mode) |
Sets new ddns-replace-client-name-mode. | |
void | setDdnsSendUpdates (const util::Optional< bool > &ddns_send_updates) |
Sets new ddns-send-updates. | |
void | setDdnsTtl (const util::Optional< uint32_t > &ddns_ttl) |
Sets new ddns-ttl. | |
void | setDdnsTtlMax (const util::Optional< uint32_t > &ddns_ttl_max) |
Sets new ddns-ttl-max. | |
void | setDdnsTtlMin (const util::Optional< uint32_t > &ddns_ttl_min) |
Sets new ddns-ttl-min. | |
void | setDdnsTtlPercent (const util::Optional< double > &ddns_ttl_percent) |
Sets new ddns-ttl-percent. | |
void | setDdnsUpdateOnRenew (const util::Optional< bool > &ddns_update_on_renew) |
Sets new ddns-update-on-renew. | |
void | setHostnameCharReplacement (const util::Optional< std::string > &hostname_char_replacement) |
Sets new hostname-char-replacement. | |
void | setHostnameCharSet (const util::Optional< std::string > &hostname_char_set) |
Sets new hostname-char-set. | |
void | setID (const uint64_t id) |
Sets Pool-id. | |
virtual std::string | toText () const |
returns textual representation of the pool | |
![]() | |
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. | |
![]() | |
virtual | ~CfgToElement () |
Destructor. | |
Static Public Member Functions | |
static Pool4Ptr | create (const isc::asiolink::IOAddress &first, const isc::asiolink::IOAddress &last) |
Factory function for creating an instance of the Pool4 . | |
static Pool4Ptr | create (const isc::asiolink::IOAddress &prefix, uint8_t prefix_len) |
Factory function for creating an instance of the Pool4 . | |
![]() | |
static data::ElementPtr | toElement (data::ConstElementPtr map) |
Copy an Element map. | |
Additional Inherited Members | |
![]() | |
Pool (Lease::Type type, const isc::asiolink::IOAddress &first, const isc::asiolink::IOAddress &last) | |
protected constructor | |
![]() | |
ClientClasses | additional_classes_ |
Additional classes. | |
AllocationStatePtr | allocation_state_ |
Holds pool-specific allocation state. | |
isc::util::uint128_t | capacity_ |
Stores number of possible leases. | |
CfgOptionPtr | cfg_option_ |
Pointer to the option data configuration for this pool. | |
ClientClasses | client_classes_ |
List of client classes allowed to use this pool. | |
util::Optional< std::string > | ddns_conflict_resolution_mode_ |
DDNS conflict resolution mode. | |
util::Optional< std::string > | ddns_generated_prefix_ |
Prefix Kea should use when generating domain-names. | |
util::Optional< bool > | ddns_override_client_update_ |
Should Kea perform updates, even if client requested delegation. | |
util::Optional< bool > | ddns_override_no_update_ |
Should Kea perform updates, even if client requested no updates. | |
util::Optional< std::string > | ddns_qualifying_suffix_ |
Suffix Kea should use when to qualify partial domain-names. | |
util::Optional< D2ClientConfig::ReplaceClientNameMode > | ddns_replace_client_name_mode_ |
How Kea should handle the domain-name supplied by the client. | |
util::Optional< bool > | ddns_send_updates_ |
Should Kea perform DNS updates. | |
util::Optional< uint32_t > | ddns_ttl_ |
Explicit value to use for DNS TTL. | |
util::Optional< uint32_t > | ddns_ttl_max_ |
Maximum value to use for DNS TTL. | |
util::Optional< uint32_t > | ddns_ttl_min_ |
Minimum value to use for DNS TTL. | |
util::Optional< double > | ddns_ttl_percent_ |
Percentage of the lease lifetime to use for DNS TTL. | |
util::Optional< bool > | ddns_update_on_renew_ |
Should Kea perform updates when leases are extended. | |
isc::asiolink::IOAddress | first_ |
The first address in a pool. | |
util::Optional< std::string > | hostname_char_replacement_ |
A string to replace invalid characters when scrubbing hostnames. | |
util::Optional< std::string > | hostname_char_set_ |
Regular expression describing invalid characters for client hostnames. | |
uint64_t | id_ |
pool-id | |
isc::asiolink::IOAddress | last_ |
The last address in a pool. | |
Lease::Type | type_ |
defines a lease type that will be served from this pool | |
data::ConstElementPtr | user_context_ |
Pointer to the user context (may be NULL) | |
![]() | |
data::ConstElementPtr | user_context_ |
Pointer to the user context (may be NULL) | |
Pool information for IPv4 addresses.
It holds information about pool4, i.e. a range of IPv4 address space that is configured for DHCP allocation.
isc::dhcp::Pool4::Pool4 | ( | const isc::asiolink::IOAddress & | first, |
const isc::asiolink::IOAddress & | last ) |
the constructor for Pool4 "min-max" style definition
first | the first address in a pool |
last | the last address in a pool |
Definition at line 77 of file pool.cc.
References isc::asiolink::addrsInRange(), isc::dhcp::Pool::capacity_, if(), isc_throw, and isc::asiolink::IOAddress::isV4().
isc::dhcp::Pool4::Pool4 | ( | const isc::asiolink::IOAddress & | prefix, |
uint8_t | prefix_len ) |
the constructor for Pool4 "prefix/len" style definition
prefix | specifies prefix of the pool |
prefix_len | specifies length of the prefix of the pool |
Definition at line 96 of file pool.cc.
References isc::asiolink::addrsInRange(), isc::dhcp::Pool::capacity_, isc::asiolink::firstAddrInPrefix(), if(), isc_throw, isc::asiolink::IOAddress::isV4(), isc::dhcp::Pool::last_, and isc::asiolink::lastAddrInPrefix().
|
static |
Factory function for creating an instance of the Pool4
.
This function should be used to create an instance of the pool within a hooks library in cases when the library may be unloaded before the object is destroyed. This ensures that the ownership of the object by the Kea process is retained.
first | the first address in a pool |
last | the last address in a pool |
Pool4
instance.
|
static |
Factory function for creating an instance of the Pool4
.
This function should be used to create an instance of the pool within a hooks library in cases when the library may be unloaded before the object is destroyed. This ensures that the ownership of the object by the Kea process is retained.
prefix | specifies prefix of the pool. |
prefix_len | specifies length of the prefix of the pool. |
Pool4
instance.
|
virtual |
Unparse a Pool4 object.
Reimplemented from isc::dhcp::Pool.
Definition at line 228 of file pool.cc.
References isc::data::Element::create(), isc::dhcp::Pool::getFirstAddress(), isc::dhcp::Pool::getLastAddress(), isc::asiolink::prefixLengthFromRange(), isc::dhcp::Pool::toElement(), and isc::asiolink::IOAddress::toText().