Kea 2.7.6
|
Specialization of the Network object for DHCPv6 case. More...
#include <network.h>
Public Member Functions | |
Network6 () | |
Constructor. | |
util::Optional< std::string > | getDefaultPdAllocatorType (const Inheritance &inheritance=Inheritance::ALL) const |
Returns a default allocator type for prefix delegation. | |
OptionPtr | getInterfaceId (const Inheritance &inheritance=Inheritance::ALL) const |
Returns interface-id value (if specified) | |
util::Optional< std::string > | getPdAllocatorType (const Inheritance &inheritance=Inheritance::ALL) const |
Returns allocator type for prefix delegation. | |
isc::util::Triplet< uint32_t > | getPreferred (const Inheritance &inheritance=Inheritance::ALL) const |
Returns preferred lifetime (in seconds) | |
util::Optional< bool > | getRapidCommit (const Inheritance &inheritance=Inheritance::ALL) const |
Returns boolean value indicating that the Rapid Commit option is supported or unsupported for the subnet. | |
void | setDefaultPdAllocatorType (const std::string &allocator_type) |
Sets a defalt allocator type for prefix delegation. | |
void | setInterfaceId (const OptionPtr &ifaceid) |
sets interface-id option (if defined) | |
void | setPdAllocatorType (const util::Optional< std::string > &allocator_type) |
Sets new allocator type for prefix delegation. | |
void | setPreferred (const isc::util::Triplet< uint32_t > &preferred) |
Sets new preferred lifetime for a network. | |
void | setRapidCommit (const util::Optional< bool > &rapid_commit) |
Enables or disables Rapid Commit option support for the subnet. | |
virtual data::ElementPtr | toElement () const |
Unparses network object. | |
Public Member Functions inherited from isc::dhcp::Network | |
Network () | |
Constructor. | |
virtual | ~Network () |
Virtual destructor. | |
void | addAdditionalClass (const isc::dhcp::ClientClass &class_name) |
Adds class class_name to the additional classes list. | |
void | addRelayAddress (const asiolink::IOAddress &addr) |
Adds an address to the list addresses in the network's relay info. | |
void | allowClientClass (const isc::dhcp::ClientClass &class_name) |
Adds class clas_name to the allowed client classes list. | |
virtual bool | clientSupported (const isc::dhcp::ClientClasses &client_classes) const |
Checks whether this network supports a client that belongs to the specified classes. | |
const ClientClasses & | getAdditionalClasses () const |
Returns the additional classes list. | |
util::Optional< std::string > | getAllocatorType (const Inheritance &inheritance=Inheritance::ALL) const |
Returns allocator type. | |
util::Optional< uint32_t > | getCacheMaxAge (const Inheritance &inheritance=Inheritance::ALL) const |
Returns value in seconds to use as cache maximum age. | |
util::Optional< double > | getCacheThreshold (const Inheritance &inheritance=Inheritance::ALL) const |
Returns percentage to use as cache threshold. | |
util::Optional< bool > | getCalculateTeeTimes (const Inheritance &inheritance=Inheritance::ALL) const |
Returns whether or not T1/T2 calculation is enabled. | |
CfgOptionPtr | getCfgOption () |
Returns pointer to the option data configuration for this network. | |
ConstCfgOptionPtr | getCfgOption () const |
Returns const pointer to the option data configuration for this network. | |
const ClientClasses & | getClientClasses () const |
Returns the list of allowed client classes. | |
util::Optional< std::string > | getDdnsConflictResolutionMode (const Inheritance &inheritance=Inheritance::ALL) const |
Returns ib-ddns-conflict-resolution-mode. | |
util::Optional< std::string > | getDdnsGeneratedPrefix (const Inheritance &inheritance=Inheritance::ALL) const |
Returns ddns-generated-prefix. | |
util::Optional< bool > | getDdnsOverrideClientUpdate (const Inheritance &inheritance=Inheritance::ALL) const |
Returns ddns-override-client-update. | |
util::Optional< bool > | getDdnsOverrideNoUpdate (const Inheritance &inheritance=Inheritance::ALL) const |
Returns ddns-override-no-update. | |
util::Optional< std::string > | getDdnsQualifyingSuffix (const Inheritance &inheritance=Inheritance::ALL) const |
Returns ddns-qualifying-suffix. | |
util::Optional< D2ClientConfig::ReplaceClientNameMode > | getDdnsReplaceClientNameMode (const Inheritance &inheritance=Inheritance::ALL) const |
Returns ddns-replace-client-name-mode. | |
util::Optional< bool > | getDdnsSendUpdates (const Inheritance &inheritance=Inheritance::ALL) const |
Returns ddns-send-updates. | |
util::Optional< uint32_t > | getDdnsTtl (const Inheritance &inheritance=Inheritance::ALL) const |
Returns ddns-ttl. | |
util::Optional< uint32_t > | getDdnsTtlMax (const Inheritance &inheritance=Inheritance::ALL) const |
Returns ddns-ttl-max. | |
util::Optional< uint32_t > | getDdnsTtlMin (const Inheritance &inheritance=Inheritance::ALL) const |
Returns ddns-ttl-min. | |
util::Optional< double > | getDdnsTtlPercent (const Inheritance &inheritance=Inheritance::ALL) const |
Returns ddns-ttl-percent. | |
util::Optional< bool > | getDdnsUpdateOnRenew (const Inheritance &inheritance=Inheritance::ALL) const |
Returns ddns-update-on-renew. | |
util::Optional< std::string > | getDefaultAllocatorType (const Inheritance &inheritance=Inheritance::ALL) const |
Returns a default allocator type. | |
util::Optional< std::string > | getHostnameCharReplacement (const Inheritance &inheritance=Inheritance::ALL) const |
Return the invalid char replacement used to sanitize client hostnames. | |
util::Optional< std::string > | getHostnameCharSet (const Inheritance &inheritance=Inheritance::ALL) const |
Return the char set regexp used to sanitize client hostnames. | |
util::Optional< std::string > | getIface (const Inheritance &inheritance=Inheritance::ALL) const |
Returns name of the local interface for which this network is selected. | |
virtual std::string | getLabel () const |
Generates an identifying label for logging. | |
ClientClasses & | getMutableAdditionalClasses () |
Returns the mutable additional classes list. | |
ClientClasses & | getMutableClientClasses () |
Returns the mutable list of allowed client classes. | |
const IOAddressList & | getRelayAddresses () const |
Returns the list of relay addresses from the network's relay info. | |
const RelayInfo & | getRelayInfo () const |
Returns const reference to relay information. | |
util::Optional< bool > | getReservationsGlobal (const Inheritance &inheritance=Inheritance::ALL) const |
Returns whether global reservations should be fetched. | |
util::Optional< bool > | getReservationsInSubnet (const Inheritance &inheritance=Inheritance::ALL) const |
Returns whether subnet reservations should be fetched. | |
util::Optional< bool > | getReservationsOutOfPool (const Inheritance &inheritance=Inheritance::ALL) const |
Returns whether only out-of-pool reservations are allowed. | |
util::Optional< bool > | getStoreExtendedInfo (const Inheritance &inheritance=Inheritance::ALL) const |
Returns store-extended-info. | |
isc::util::Triplet< uint32_t > | getT1 (const Inheritance &inheritance=Inheritance::ALL) const |
Returns T1 (renew timer), expressed in seconds. | |
util::Optional< double > | getT1Percent (const Inheritance &inheritance=Inheritance::ALL) const |
Returns percentage to use when calculating the T1 (renew timer). | |
isc::util::Triplet< uint32_t > | getT2 (const Inheritance &inheritance=Inheritance::ALL) const |
Returns T2 (rebind timer), expressed in seconds. | |
util::Optional< double > | getT2Percent (const Inheritance &inheritance=Inheritance::ALL) const |
Returns percentage to use when calculating the T2 (rebind timer). | |
isc::util::Triplet< uint32_t > | getValid (const Inheritance &inheritance=Inheritance::ALL) const |
Return valid-lifetime for addresses in that prefix. | |
bool | hasFetchGlobalsFn () const |
Checks if the network is associated with a function used to fetch globally configured parameters. | |
bool | hasRelayAddress (const asiolink::IOAddress &address) const |
Tests if the network's relay info contains the given address. | |
bool | hasRelays () const |
Indicates if network's relay info has relay addresses. | |
void | setAllocatorType (const util::Optional< std::string > &allocator_type) |
Sets new allocator type. | |
void | setCacheMaxAge (const util::Optional< uint32_t > &cache_max_age) |
Sets cache max for a network. | |
void | setCacheThreshold (const util::Optional< double > &cache_threshold) |
Sets cache threshold for a network. | |
void | setCalculateTeeTimes (const util::Optional< bool > &calculate_tee_times) |
Sets whether or not T1/T2 calculation is enabled. | |
void | setDdnsConflictResolutionMode (const util::Optional< std::string > &ddns_conflict_resolution_mode) |
Sets new ib-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 | setDefaultAllocatorType (const std::string &allocator_type) |
Sets a defalt allocator type. | |
void | setFetchGlobalsFn (FetchNetworkGlobalsFn fetch_globals_fn) |
Sets the optional callback function used to fetch globally configured parameters. | |
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 | setIface (const util::Optional< std::string > &iface_name) |
Sets local name of the interface for which this network is selected. | |
void | setRelayInfo (const RelayInfo &relay) |
Sets information about relay. | |
void | setReservationsGlobal (const util::Optional< bool > &reservations_global) |
Sets whether global reservations should be fetched. | |
void | setReservationsInSubnet (const util::Optional< bool > &reservations_in_subnet) |
Sets whether subnet reservations should be fetched. | |
void | setReservationsOutOfPool (const util::Optional< bool > &reservations_out_of_pool) |
Sets whether only out-of-pool reservations are allowed. | |
void | setStoreExtendedInfo (const util::Optional< bool > &store_extended_info) |
Sets new store-extended-info. | |
void | setT1 (const isc::util::Triplet< uint32_t > &t1) |
Sets new renew timer for a network. | |
void | setT1Percent (const util::Optional< double > &t1_percent) |
Sets new percentage for calculating T1 (renew timer). | |
void | setT2 (const isc::util::Triplet< uint32_t > &t2) |
Sets new rebind timer for a network. | |
void | setT2Percent (const util::Optional< double > &t2_percent) |
Sets new percentage for calculating T2 (rebind timer). | |
void | setValid (const isc::util::Triplet< uint32_t > &valid) |
Sets new valid lifetime for a network. | |
Public Member Functions inherited from isc::data::StampedElement | |
StampedElement () | |
Constructor. | |
void | delServerTag (const std::string &server_tag) |
Deletes server tag. | |
isc::data::ElementPtr | getMetadata () const |
Returns an object representing metadata to be returned with objects from the configuration backend. | |
std::set< ServerTag > | getServerTags () const |
Returns server tags. | |
bool | hasAllServerTag () const |
Checks if the element has 'all' server tag. | |
bool | hasServerTag (const ServerTag &server_tag) const |
Checks if the element has the given server tag. | |
void | setServerTag (const std::string &server_tag) |
Adds new server tag. | |
Public Member Functions inherited from isc::data::BaseStampedElement | |
BaseStampedElement () | |
Constructor. | |
uint64_t | getId () const |
Returns element's database identifier. | |
boost::posix_time::ptime | getModificationTime () const |
Returns timestamp. | |
void | setId (const uint64_t id) |
Sets element's database identifier. | |
void | setModificationTime (const boost::posix_time::ptime ×tamp) |
Sets timestamp to the explicitly provided value. | |
void | updateModificationTime () |
Sets timestamp to the current time. | |
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. | |
Additional Inherited Members | |
Public Types inherited from isc::dhcp::Network | |
enum class | Inheritance { NONE , PARENT_NETWORK , GLOBAL , ALL } |
Inheritance "mode" used when fetching an optional Network parameter. More... | |
typedef boost::shared_ptr< Network::RelayInfo > | RelayInfoPtr |
Pointer to the RelayInfo structure. | |
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::dhcp::Network | |
FetchNetworkGlobalsFn | getFetchGlobalsFn () const |
Gets the optional callback function used to fetch globally configured parameters. | |
template<typename NumType > | |
isc::util::Triplet< NumType > | getGlobalProperty (isc::util::Triplet< NumType > property, const int global_index, const int min_index=-1, const int max_index=-1) const |
The getGlobalProperty specialization for isc::util::Triplet<T>. | |
template<typename ReturnType > | |
ReturnType | getGlobalProperty (ReturnType property, const int global_index, const int min_index=-1, const int max_index=-1) const |
Returns a value of global configuration parameter with a given index. | |
util::Optional< asiolink::IOAddress > | getGlobalProperty (util::Optional< asiolink::IOAddress > property, const int global_index, const int min_index=-1, const int max_index=-1) const |
The getGlobalProperty specialization for Optional<IOAddress>. | |
template<typename BaseType > | |
OptionPtr | getOptionProperty (OptionPtr(BaseType::*MethodPointer)(const Inheritance &inheritance) const, OptionPtr property, const Inheritance &inheritance) const |
Returns option pointer associated with a network using inheritance. | |
template<typename BaseType , typename ReturnType > | |
ReturnType | getProperty (ReturnType(BaseType::*MethodPointer)(const Inheritance &) const, ReturnType property, const Inheritance &inheritance, const int global_index=-1, const int min_index=-1, const int max_index=-1) const |
Returns a value associated with a network using inheritance. | |
Protected Attributes inherited from isc::dhcp::Network | |
ClientClasses | additional_classes_ |
Additional classes. | |
util::Optional< std::string > | allocator_type_ |
Allocator used for IP address allocations. | |
util::Optional< uint32_t > | cache_max_age_ |
Value in seconds to use as cache maximal age. | |
util::Optional< double > | cache_threshold_ |
Percentage of the lease lifetime to use as cache threshold. | |
util::Optional< bool > | calculate_tee_times_ |
Enables calculation of T1 and T2 timers. | |
CfgOptionPtr | cfg_option_ |
Pointer to the option data configuration for this subnet. | |
ClientClasses | client_classes_ |
List of client classes allowed to use this network. | |
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. | |
util::Optional< std::string > | default_allocator_type_ |
Default allocator type. | |
FetchNetworkGlobalsFn | fetch_globals_fn_ |
Pointer to the optional callback used to fetch globally configured parameters inherited to the Network object. | |
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. | |
util::Optional< std::string > | iface_name_ |
Holds interface name for which this network is selected. | |
WeakNetworkPtr | parent_network_ |
Pointer to another network that this network belongs to. | |
RelayInfo | relay_ |
Relay information. | |
util::Optional< bool > | reservations_global_ |
Enables global reservations. | |
util::Optional< bool > | reservations_in_subnet_ |
Enables subnet reservations. | |
util::Optional< bool > | reservations_out_of_pool_ |
Enables out-of-pool reservations optimization. | |
util::Optional< bool > | store_extended_info_ |
Should Kea store additional client query data (e.g. | |
isc::util::Triplet< uint32_t > | t1_ |
a isc::util::Triplet (min/default/max) holding allowed renew timer values | |
util::Optional< double > | t1_percent_ |
Percentage of the lease lifetime to use when calculating T1 timer. | |
isc::util::Triplet< uint32_t > | t2_ |
a isc::util::Triplet (min/default/max) holding allowed rebind timer values | |
util::Optional< double > | t2_percent_ |
Percentage of the lease lifetime to use when calculating T2 timer. | |
isc::util::Triplet< uint32_t > | valid_ |
a isc::util::Triplet (min/default/max) holding allowed valid lifetime values | |
Protected Attributes inherited from isc::data::BaseStampedElement | |
uint64_t | id_ |
Database identifier of the configuration element. | |
boost::posix_time::ptime | timestamp_ |
Holds timestamp value. | |
Protected Attributes inherited from isc::data::UserContext | |
data::ConstElementPtr | user_context_ |
Pointer to the user context (may be NULL) | |
|
inline |
Returns a default allocator type for prefix delegation.
This allocator type is used when the allocator type is neither specified at the shared network nor subnet level.
Definition at line 1583 of file network.h.
References getDefaultPdAllocatorType(), and isc::dhcp::Network::getProperty().
Referenced by isc::dhcp::Subnet6::createAllocators(), and getDefaultPdAllocatorType().
|
inline |
Returns interface-id value (if specified)
inheritance | inheritance mode to be used. |
Definition at line 1520 of file network.h.
References getInterfaceId(), and isc::dhcp::Network::getOptionProperty().
Referenced by getInterfaceId().
|
inline |
Returns allocator type for prefix delegation.
inheritance | inheritance mode to be used. |
Definition at line 1558 of file network.h.
References getPdAllocatorType(), isc::dhcp::Network::getProperty(), and isc::dhcp::CfgGlobals::PD_ALLOCATOR.
Referenced by isc::dhcp::Subnet6::createAllocators(), and getPdAllocatorType().
|
inline |
Returns preferred lifetime (in seconds)
inheritance | inheritance mode to be used. |
Definition at line 1501 of file network.h.
References getPreferred(), isc::dhcp::Network::getProperty(), isc::dhcp::CfgGlobals::MAX_PREFERRED_LIFETIME, isc::dhcp::CfgGlobals::MIN_PREFERRED_LIFETIME, and isc::dhcp::CfgGlobals::PREFERRED_LIFETIME.
Referenced by getPreferred().
|
inline |
Returns boolean value indicating that the Rapid Commit option is supported or unsupported for the subnet.
inheritance | inheritance mode to be used. |
Definition at line 1540 of file network.h.
References isc::dhcp::Network::getProperty(), and getRapidCommit().
Referenced by getRapidCommit().
|
inline |
|
inline |
|
inline |
|
inline |
Sets new preferred lifetime for a network.
preferred | New preferred lifetime in seconds. |
Definition at line 1512 of file network.h.
Referenced by isc::dhcp::Subnet6::Subnet6().
|
inline |
|
virtual |
Unparses network object.
Reimplemented from isc::dhcp::Network.
Reimplemented in isc::dhcp::SharedNetwork6, and isc::dhcp::Subnet6.
Definition at line 354 of file network.cc.
References isc::data::Element::create(), and isc::dhcp::Network::toElement().
Referenced by isc::dhcp::SharedNetwork6::toElement(), and isc::dhcp::Subnet6::toElement().