![]() |
Kea 2.6.2
|
Common interface representing a network to which the DHCP clients are connected. More...
#include <network.h>
Inheritance diagram for isc::dhcp::Network:Classes | |
| class | RelayInfo |
| Holds optional information about relay. More... | |
Public Types | |
| 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. | |
Public Member Functions | |
| Network () | |
| Constructor. | |
| virtual | ~Network () |
| Virtual destructor. | |
| 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) |
| Sets the supported class to class class_name. | |
| virtual bool | clientSupported (const isc::dhcp::ClientClasses &client_classes) const |
| Checks whether this network supports client that belongs to specified classes. | |
| 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. | |
| util::Optional< ClientClass > | getClientClass (const Inheritance &inheritance=Inheritance::ALL) const |
| returns the client class | |
| 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< 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. | |
| 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. | |
| const ClientClasses & | getRequiredClasses () const |
| Returns classes which are required to be evaluated. | |
| 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 | requireClientClass (const isc::dhcp::ClientClass &class_name) |
| Adds class class_name to classes required to be evaluated. | |
| 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 | 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. | |
| virtual data::ElementPtr | toElement () const |
| Unparses network object. | |
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. | |
Protected Member Functions | |
| 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 | |
| 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. | |
| util::Optional< ClientClass > | client_class_ |
| Optional definition of a client class. | |
| 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< 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. | |
| ClientClasses | required_classes_ |
| Required classes. | |
| 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) | |
Additional Inherited Members | |
Static Public Member Functions inherited from isc::data::UserContext | |
| static data::ElementPtr | toElement (data::ConstElementPtr map) |
| Copy an Element map. | |
Common interface representing a network to which the DHCP clients are connected.
The most common type of network, in Kea's terminology, is a subnet. The Subnet derives from this class. Another types of objects implementing this interface are SharedNetwork4 and SharedNetwork6 objects. They group multiple subnets together to provide means for extending available address pools (a single client may obtain IP address from any of the pools belonging to subnets in the shared network), or for selecting a subnet on a given link, depending on the class of the client (e.g. cable network case: different subnet is selected for cable modems, different one for routers).
The subnets and shared networks share many data structures, e.g. DHCP options, local interface name, address manipulation methods. Both subnets and shared networks derive from this class to provide the common functionality.
The DHCP server configuration is complex because many parameters may be specified at different levels of hierarchy. The lower level values, e.g. subnet specific values, take precedence over upper level values, e.g. shared network specific ones. For historical reasons, the DHCP servers expect that the appropriate values are inherited from the upper configuration levels to the lower configuration levels upon the reconfiguration. For example: if a user didn't specify valid-lifetime for a subnet, calling Subnet4::getValid() should result in returning a global value of valid-lifetime. In the early Kea days it was achieved by the configuration parsers which would explicitly assign the global valid lifetime to the Subnet4 instances for which the subnet specific value was not provided. This approach has a major benefit that it is fast. However, it makes the subnets tightly dependent on the global values (and shared network specific values). Modification of the global value must result in modification of this value in all subnets for which there is no explicit value provided. This issue became a serious road block during the implementation of the Configuration Backend.
The Network object has been modified to address the problem of inheritance of global, shared network specific and subnet specific parameters in a generic way, at the same time minimizing the need to change the existing server logic.
The Network object now holds the pointer to the "parent" Network object. Thus subnets which belong to a shared network will have that shared network as its parent. Stand-alone subnets, will have no parent.
The general idea is that the accessor functions of the network will first check if the accessed value is specified or not (that is handled by util::Optional object). If the value is specified it is returned. Otherwise, the object will check if there is a parent object it belongs to and will call the appropriate method of that object. If the value is present it is returned. Otherwise the global value is returned.
Accessing global values from the Network object is troublesome. There is no uniform way to access those values. For example, the given network may be in a staging or current configuration and it really has no means to know in which of the two it belongs. In fact, an attempt to pass the pointer to the SrvConfig object would cause a circular dependency between the Network and the SrvConfig. Even if it was possible and the Network had access to the specific SrvConfig instance, it doesn't handle the cases when the SrvConfig instance was modified.
To deal with the problem of accessing the global parameters in a flexible manner, we elected to use an optional callback function which can be associated with the Network object. This callback implements the logic to retrieve global parameters and return them in a well known form, so as the Network accessors can use them.
| typedef boost::shared_ptr<Network::RelayInfo> isc::dhcp::Network::RelayInfoPtr |
|
strong |
Inheritance "mode" used when fetching an optional Network parameter.
The following modes are currently supported:
| Enumerator | |
|---|---|
| NONE | |
| PARENT_NETWORK | |
| GLOBAL | |
| ALL | |
|
inline |
Constructor.
Definition at line 213 of file network.h.
References allocator_type_, cache_max_age_, cache_threshold_, calculate_tee_times_, cfg_option_, client_class_, ddns_conflict_resolution_mode_, ddns_generated_prefix_, ddns_override_client_update_, ddns_override_no_update_, ddns_qualifying_suffix_, ddns_replace_client_name_mode_, ddns_send_updates_, ddns_ttl_percent_, ddns_update_on_renew_, default_allocator_type_, hostname_char_replacement_, hostname_char_set_, iface_name_, reservations_global_, reservations_in_subnet_, reservations_out_of_pool_, store_extended_info_, t1_, t1_percent_, t2_, t2_percent_, and valid_.
Referenced by isc::dhcp::Network4::Network4(), and isc::dhcp::Network6::Network6().
|
inlinevirtual |
| void isc::dhcp::Network::addRelayAddress | ( | const asiolink::IOAddress & | addr | ) |
Adds an address to the list addresses in the network's relay info.
| addr | address of the relay |
| BadValue | if the address is already in the list |
Definition at line 49 of file network.cc.
References relay_.
| void isc::dhcp::Network::allowClientClass | ( | const isc::dhcp::ClientClass & | class_name | ) |
Sets the supported class to class class_name.
| class_name | client class to be supported by this network |
Definition at line 80 of file network.cc.
References client_class_.
|
virtual |
Checks whether this network supports client that belongs to specified classes.
This method checks whether a client that belongs to given classes can use this network. For example, if this class is reserved for client class "foo" and the client belongs to classes "foo", "bar" and "baz", it is supported. On the other hand, client belonging to classes "foobar" and "zyxxy" is not supported.
| client_classes | list of all classes the client belongs to |
Reimplemented in isc::dhcp::Subnet4, and isc::dhcp::Subnet6.
Definition at line 69 of file network.cc.
References client_class_, and isc::dhcp::ClientClasses::contains().
Referenced by isc::dhcp::Subnet4::clientSupported(), and isc::dhcp::Subnet6::clientSupported().
Here is the call graph for this function:
|
inline |
Returns allocator type.
| inheritance | inheritance mode to be used. |
Definition at line 805 of file network.h.
References ALL, isc::dhcp::CfgGlobals::ALLOCATOR, allocator_type_, getAllocatorType(), and getProperty().
Referenced by isc::dhcp::Subnet4::createAllocators(), isc::dhcp::Subnet6::createAllocators(), and getAllocatorType().
Here is the call graph for this function:
|
inline |
Returns value in seconds to use as cache maximum age.
| inheritance | inheritance mode to be used. |
Definition at line 753 of file network.h.
References ALL, isc::dhcp::CfgGlobals::CACHE_MAX_AGE, cache_max_age_, getCacheMaxAge(), and getProperty().
Referenced by getCacheMaxAge().
Here is the call graph for this function:
|
inline |
Returns percentage to use as cache threshold.
| inheritance | inheritance mode to be used. |
Definition at line 736 of file network.h.
References ALL, isc::dhcp::CfgGlobals::CACHE_THRESHOLD, cache_threshold_, getCacheThreshold(), and getProperty().
Referenced by getCacheThreshold().
Here is the call graph for this function:
|
inline |
Returns whether or not T1/T2 calculation is enabled.
| inheritance | inheritance mode to be used. |
Definition at line 489 of file network.h.
References ALL, isc::dhcp::CfgGlobals::CALCULATE_TEE_TIMES, calculate_tee_times_, getCalculateTeeTimes(), and getProperty().
Referenced by getCalculateTeeTimes().
Here is the call graph for this function:
|
inline |
Returns pointer to the option data configuration for this network.
Definition at line 475 of file network.h.
References cfg_option_.
Referenced by toElement().
|
inline |
Returns const pointer to the option data configuration for this network.
Definition at line 481 of file network.h.
References cfg_option_.
|
inline |
returns the client class
| inheritance | inheritance mode to be used. |
Definition at line 368 of file network.h.
References ALL, client_class_, getClientClass(), and getProperty().
Referenced by getClientClass().
Here is the call graph for this function:
|
inline |
Returns ib-ddns-conflict-resolution-mode.
| inheritance | inheritance mode to be used. |
Definition at line 787 of file network.h.
References ALL, isc::dhcp::CfgGlobals::DDNS_CONFLICT_RESOLUTION_MODE, ddns_conflict_resolution_mode_, getDdnsConflictResolutionMode(), and getProperty().
Referenced by getDdnsConflictResolutionMode().
Here is the call graph for this function:
|
inline |
Returns ddns-generated-prefix.
| inheritance | inheritance mode to be used. |
Definition at line 637 of file network.h.
References ALL, isc::dhcp::CfgGlobals::DDNS_GENERATED_PREFIX, ddns_generated_prefix_, getDdnsGeneratedPrefix(), and getProperty().
Referenced by getDdnsGeneratedPrefix().
Here is the call graph for this function:
|
inline |
Returns ddns-override-client-update.
| inheritance | inheritance mode to be used. |
Definition at line 573 of file network.h.
References ALL, isc::dhcp::CfgGlobals::DDNS_OVERRIDE_CLIENT_UPDATE, ddns_override_client_update_, getDdnsOverrideClientUpdate(), and getProperty().
Referenced by getDdnsOverrideClientUpdate().
Here is the call graph for this function:
|
inline |
Returns ddns-override-no-update.
| inheritance | inheritance mode to be used. |
Definition at line 556 of file network.h.
References ALL, isc::dhcp::CfgGlobals::DDNS_OVERRIDE_NO_UPDATE, ddns_override_no_update_, getDdnsOverrideNoUpdate(), and getProperty().
Referenced by getDdnsOverrideNoUpdate().
Here is the call graph for this function:
|
inline |
Returns ddns-qualifying-suffix.
| inheritance | inheritance mode to be used. |
Definition at line 654 of file network.h.
References ALL, isc::dhcp::CfgGlobals::DDNS_QUALIFYING_SUFFIX, ddns_qualifying_suffix_, getDdnsQualifyingSuffix(), and getProperty().
Referenced by getDdnsQualifyingSuffix().
Here is the call graph for this function:
|
inline |
Returns ddns-replace-client-name-mode.
| inheritance | inheritance mode to be used. |
Definition at line 591 of file network.h.
References ALL, isc::dhcp::CfgGlobals::DDNS_REPLACE_CLIENT_NAME, ddns_replace_client_name_mode_, isc::util::Optional< T >::get(), getDdnsReplaceClientNameMode(), getGlobalProperty(), getProperty(), NONE, PARENT_NETWORK, isc::dhcp::D2ClientConfig::stringToReplaceClientNameMode(), and isc::util::Optional< T >::unspecified().
Referenced by getDdnsReplaceClientNameMode().
Here is the call graph for this function:
|
inline |
Returns ddns-send-updates.
| inheritance | inheritance mode to be used. |
Definition at line 539 of file network.h.
References ALL, isc::dhcp::CfgGlobals::DDNS_SEND_UPDATES, ddns_send_updates_, getDdnsSendUpdates(), and getProperty().
Referenced by getDdnsSendUpdates().
Here is the call graph for this function:
|
inline |
Returns ddns-ttl-percent.
| inheritance | inheritance mode to be used. |
Definition at line 671 of file network.h.
References ALL, isc::dhcp::CfgGlobals::DDNS_TTL_PERCENT, ddns_ttl_percent_, getDdnsTtlPercent(), and getProperty().
Referenced by getDdnsTtlPercent().
Here is the call graph for this function:
|
inline |
Returns ddns-update-on-renew.
| inheritance | inheritance mode to be used. |
Definition at line 769 of file network.h.
References ALL, isc::dhcp::CfgGlobals::DDNS_UPDATE_ON_RENEW, ddns_update_on_renew_, getDdnsUpdateOnRenew(), and getProperty().
Referenced by getDdnsUpdateOnRenew().
Here is the call graph for this function:
|
inline |
Returns a default allocator type.
This allocator type is used when the allocator type is neither specified at the shared network nor subnet level.
Definition at line 830 of file network.h.
References ALL, default_allocator_type_, getDefaultAllocatorType(), and getProperty().
Referenced by isc::dhcp::Subnet4::createAllocators(), isc::dhcp::Subnet6::createAllocators(), and getDefaultAllocatorType().
Here is the call graph for this function:
|
inlineprotected |
Gets the optional callback function used to fetch globally configured parameters.
Definition at line 861 of file network.h.
References fetch_globals_fn_.
|
inlineprotected |
The getGlobalProperty specialization for isc::util::Triplet<T>.
| NumType | Type of the encapsulated value(s). |
| property | Value to be returned when it is specified or when no global value is found. |
| global_index | Index of the global parameter which value should be returned |
| min_index | Index of the min global parameter which value should be returned for triplets |
| max_index | Index of the max global parameter which value should be returned for triplets |
property. Definition at line 930 of file network.h.
References fetch_globals_fn_.
|
inlineprotected |
Returns a value of global configuration parameter with a given index.
If the ferch_globals_fn_ function is non-null, this method will invoke this function to retrieve a global value having the given index. Typically, this method is invoked by getProperty when network specific value of the parameter is not found. In some cases it may be called by other methods. One such example is the getDdnsReplaceClientNameMode which needs to call getGlobalProperty explicitly to convert the global replace client name mode value from a string to an enum.
| ReturnType | Type of the returned value, e.g. Optional<std::string>. |
| property | Value to be returned when it is specified or when no global value is found. |
| global_index | Index of the global parameter which value should be returned |
| min_index | Index of the min global parameter which value should be returned for triplets |
| max_index | Index of the max global parameter which value should be returned for triplets |
property. Definition at line 892 of file network.h.
References fetch_globals_fn_.
Referenced by getDdnsReplaceClientNameMode(), and getProperty().
|
protected |
The getGlobalProperty specialization for Optional<IOAddress>.
This does two things:
| property | Value to be returned when it is specified or when no global value is found. |
| global_index | Index of the global parameter which value should be returned |
| min_index | Index of the min global parameter which value should be returned for triplets |
| max_index | Index of the max global parameter which value should be returned for triplets |
property. Definition at line 97 of file network.cc.
References fetch_globals_fn_.
|
inline |
Return the invalid char replacement used to sanitize client hostnames.
Definition at line 701 of file network.h.
References ALL, getHostnameCharReplacement(), getProperty(), isc::dhcp::CfgGlobals::HOSTNAME_CHAR_REPLACEMENT, and hostname_char_replacement_.
Referenced by getHostnameCharReplacement().
Here is the call graph for this function:
|
inline |
Return the char set regexp used to sanitize client hostnames.
Definition at line 686 of file network.h.
References ALL, getHostnameCharSet(), getProperty(), isc::dhcp::CfgGlobals::HOSTNAME_CHAR_SET, and hostname_char_set_.
Referenced by getHostnameCharSet().
Here is the call graph for this function:
|
inline |
Returns name of the local interface for which this network is selected.
| inheritance | inheritance mode to be used. |
Definition at line 270 of file network.h.
References ALL, getIface(), getProperty(), and iface_name_.
Referenced by getIface().
Here is the call graph for this function:
|
inlinevirtual |
Generates an identifying label for logging.
Reimplemented in isc::dhcp::SharedNetwork4, isc::dhcp::SharedNetwork6, and isc::dhcp::Subnet.
|
inlineprotected |
Returns option pointer associated with a network using inheritance.
This template method provides a generic mechanism to retrieve a network parameter using inheritance. It is called from public accessor methods which return an OptionPtr.
| BaseType | Type of this instance, e.g. Network, Network4 etc, which exposes a method to be called. |
| MethodPointer | Pointer to the method of the base class which should be called on the parent network instance (typically on SharedNetwork4 or SharedNetwork6) to fetch the parent specific value if the value is unspecified for this instance. |
| property | the value to return when inheritance mode is NONE, or when the mode is PARENT_NETWORK and the property has not been specified by a parent network. |
| inheritance | inheritance mode to be used. |
Definition at line 1095 of file network.h.
References GLOBAL, NONE, PARENT_NETWORK, and parent_network_.
Referenced by isc::dhcp::Network6::getInterfaceId().
|
inlineprotected |
Returns a value associated with a network using inheritance.
This template method provides a generic mechanism to retrieve a network parameter using inheritance. It is called from public accessor methods which return an OptionalValue or isc::util::Triplet.
| BaseType | Type of this instance, e.g. Network, Network4 etc, which exposes a method to be called. |
| ReturnType | Type of the returned value, e.g. Optional<std::string>. |
| MethodPointer | Pointer to the method of the base class which should be called on the parent network instance (typically on SharedNetwork4 or SharedNetwork6) to fetch the parent specific value if the value is unspecified for this instance. |
| property | Value to be returned when it is specified or when no explicit value is specified on upper inheritance levels. |
| inheritance | inheritance mode to be used. |
| global_index | Optional index of the global parameter which value should be returned if the given parameter is not specified on network level. This value is empty by default, which indicates that the global value for the given parameter is not supported and shouldn't be fetched. |
| min_index | Index of the min global parameter which value should be returned for triplets |
| max_index | Index of the max global parameter which value should be returned for triplets |
Definition at line 1019 of file network.h.
References getGlobalProperty(), GLOBAL, NONE, PARENT_NETWORK, and parent_network_.
Referenced by getAllocatorType(), isc::dhcp::Network4::getAuthoritative(), getCacheMaxAge(), getCacheThreshold(), getCalculateTeeTimes(), getClientClass(), getDdnsConflictResolutionMode(), getDdnsGeneratedPrefix(), getDdnsOverrideClientUpdate(), getDdnsOverrideNoUpdate(), getDdnsQualifyingSuffix(), getDdnsReplaceClientNameMode(), getDdnsSendUpdates(), getDdnsTtlPercent(), getDdnsUpdateOnRenew(), getDefaultAllocatorType(), isc::dhcp::Network6::getDefaultPdAllocatorType(), isc::dhcp::Network4::getFilename(), getHostnameCharReplacement(), getHostnameCharSet(), getIface(), isc::dhcp::Network4::getMatchClientId(), isc::dhcp::Network4::getOfferLft(), isc::dhcp::Network6::getPdAllocatorType(), isc::dhcp::Network6::getPreferred(), isc::dhcp::Network6::getRapidCommit(), getReservationsGlobal(), getReservationsInSubnet(), getReservationsOutOfPool(), isc::dhcp::Network4::getSiaddr(), isc::dhcp::Network4::getSname(), getStoreExtendedInfo(), getT1(), getT1Percent(), getT2(), getT2Percent(), and getValid().
Here is the call graph for this function:| const IOAddressList & isc::dhcp::Network::getRelayAddresses | ( | ) | const |
Returns the list of relay addresses from the network's relay info.
Definition at line 64 of file network.cc.
References relay_.
Referenced by toElement().
|
inline |
| const ClientClasses & isc::dhcp::Network::getRequiredClasses | ( | ) | const |
Returns classes which are required to be evaluated.
Definition at line 92 of file network.cc.
References required_classes_.
Referenced by toElement().
|
inline |
Returns whether global reservations should be fetched.
| inheritance | inheritance mode to be used. |
Definition at line 424 of file network.h.
References ALL, getProperty(), getReservationsGlobal(), isc::dhcp::CfgGlobals::RESERVATIONS_GLOBAL, and reservations_global_.
Referenced by getReservationsGlobal().
Here is the call graph for this function:
|
inline |
Returns whether subnet reservations should be fetched.
| inheritance | inheritance mode to be used. |
Definition at line 442 of file network.h.
References ALL, getProperty(), getReservationsInSubnet(), isc::dhcp::CfgGlobals::RESERVATIONS_IN_SUBNET, and reservations_in_subnet_.
Referenced by getReservationsInSubnet().
Here is the call graph for this function:
|
inline |
Returns whether only out-of-pool reservations are allowed.
| inheritance | inheritance mode to be used. |
Definition at line 460 of file network.h.
References ALL, getProperty(), getReservationsOutOfPool(), isc::dhcp::CfgGlobals::RESERVATIONS_OUT_OF_POOL, and reservations_out_of_pool_.
Referenced by getReservationsOutOfPool().
Here is the call graph for this function:
|
inline |
Returns store-extended-info.
| inheritance | inheritance mode to be used. |
Definition at line 719 of file network.h.
References ALL, getProperty(), getStoreExtendedInfo(), isc::dhcp::CfgGlobals::STORE_EXTENDED_INFO, and store_extended_info_.
Referenced by getStoreExtendedInfo().
Here is the call graph for this function:
|
inline |
Returns T1 (renew timer), expressed in seconds.
| inheritance | inheritance mode to be used. |
Definition at line 393 of file network.h.
References ALL, getProperty(), getT1(), isc::dhcp::CfgGlobals::RENEW_TIMER, and t1_.
Referenced by getT1().
Here is the call graph for this function:
|
inline |
Returns percentage to use when calculating the T1 (renew timer).
| inheritance | inheritance mode to be used. |
Definition at line 507 of file network.h.
References ALL, getProperty(), getT1Percent(), isc::dhcp::CfgGlobals::T1_PERCENT, and t1_percent_.
Referenced by getT1Percent().
Here is the call graph for this function:
|
inline |
Returns T2 (rebind timer), expressed in seconds.
| inheritance | inheritance mode to be used. |
Definition at line 408 of file network.h.
References ALL, getProperty(), getT2(), isc::dhcp::CfgGlobals::REBIND_TIMER, and t2_.
Referenced by getT2().
Here is the call graph for this function:
|
inline |
Returns percentage to use when calculating the T2 (rebind timer).
| inheritance | inheritance mode to be used. |
Definition at line 523 of file network.h.
References ALL, getProperty(), getT2Percent(), isc::dhcp::CfgGlobals::T2_PERCENT, and t2_percent_.
Referenced by getT2Percent().
Here is the call graph for this function:
|
inline |
Return valid-lifetime for addresses in that prefix.
| inheritance | inheritance mode to be used. |
Definition at line 376 of file network.h.
References ALL, getProperty(), getValid(), isc::dhcp::CfgGlobals::MAX_VALID_LIFETIME, isc::dhcp::CfgGlobals::MIN_VALID_LIFETIME, valid_, and isc::dhcp::CfgGlobals::VALID_LIFETIME.
Referenced by getValid().
Here is the call graph for this function:
|
inline |
Checks if the network is associated with a function used to fetch globally configured parameters.
Definition at line 243 of file network.h.
References fetch_globals_fn_.
| bool isc::dhcp::Network::hasRelayAddress | ( | const asiolink::IOAddress & | address | ) | const |
Tests if the network's relay info contains the given address.
| address | address to search for in the relay list |
Definition at line 59 of file network.cc.
References relay_.
| bool isc::dhcp::Network::hasRelays | ( | ) | const |
Indicates if network's relay info has relay addresses.
Definition at line 54 of file network.cc.
References relay_.
| void isc::dhcp::Network::requireClientClass | ( | const isc::dhcp::ClientClass & | class_name | ) |
Adds class class_name to classes required to be evaluated.
| class_name | client class required to be evaluated |
Definition at line 85 of file network.cc.
References required_classes_.
|
inline |
Sets new allocator type.
It doesn't set the actual allocator instance. It merely remembers the value specified in the configuration, so it can be output in the toElement call.
| allocator_type | new allocator type to use. |
Definition at line 819 of file network.h.
References allocator_type_.
|
inline |
Sets cache max for a network.
| cache_max_age | New cache maximum value in seconds to use. |
Definition at line 761 of file network.h.
References cache_max_age_.
|
inline |
Sets cache threshold for a network.
| cache_threshold | New cache threshold percentage to use. |
Definition at line 745 of file network.h.
References cache_threshold_.
|
inline |
Sets whether or not T1/T2 calculation is enabled.
| calculate_tee_times | new value of enabled/disabled. |
Definition at line 499 of file network.h.
References calculate_tee_times_.
|
inline |
Sets new ib-ddns-conflict-resolution-mode.
| ddns_conflict_resolution_mode | New value to use. |
Definition at line 797 of file network.h.
References ddns_conflict_resolution_mode_.
|
inline |
Sets new ddns-generated-prefix.
| ddns_generated_prefix | New value to use. |
Definition at line 646 of file network.h.
References ddns_generated_prefix_.
|
inline |
Sets new ddns-override-client-update.
| ddns_override_client_update | New value to use. |
Definition at line 582 of file network.h.
References ddns_override_client_update_.
|
inline |
Sets new ddns-override-no-update.
| ddns_override_no_update | New value to use. |
Definition at line 565 of file network.h.
References ddns_override_no_update_.
|
inline |
Sets new ddns-qualifying-suffix.
| ddns_qualifying_suffix | New value to use. |
Definition at line 663 of file network.h.
References ddns_qualifying_suffix_.
|
inline |
Sets new ddns-replace-client-name-mode.
| ddns_replace_client_name_mode | New value to use. |
Definition at line 628 of file network.h.
References ddns_replace_client_name_mode_.
|
inline |
Sets new ddns-send-updates.
| ddns_send_updates | New value to use. |
Definition at line 548 of file network.h.
References ddns_send_updates_.
|
inline |
Sets new ddns-ttl-percent.
| ddns_ttl_percent | New value to use. |
Definition at line 680 of file network.h.
References ddns_ttl_percent_.
|
inline |
Sets new ddns-update-on-renew.
| ddns_update_on_renew | New value to use. |
Definition at line 778 of file network.h.
References ddns_update_on_renew_.
|
inline |
Sets a defalt allocator type.
| allocator_type | a new default allocator type. |
Definition at line 839 of file network.h.
References default_allocator_type_.
|
inline |
Sets the optional callback function used to fetch globally configured parameters.
| fetch_globals_fn | Pointer to the function. |
Definition at line 235 of file network.h.
References fetch_globals_fn_.
|
inline |
Sets new hostname-char-replacement.
| hostname_char_replacement | New value to use. |
Definition at line 710 of file network.h.
References hostname_char_replacement_.
|
inline |
Sets new hostname-char-set.
| hostname_char_set | New value to use. |
Definition at line 695 of file network.h.
References hostname_char_set_.
|
inline |
Sets local name of the interface for which this network is selected.
If the interface is specified, the server will use the network associated with this local interface to allocate IP addresses and other resources to a client. Empty values are translated into unspecified.
| iface_name | Interface name. |
Definition at line 256 of file network.h.
References isc::util::Optional< T >::empty(), and iface_name_.
Here is the call graph for this function:
|
inline |
Sets information about relay.
In some situations where there are shared subnets (i.e. two different subnets are available on the same physical link), there is only one relay that handles incoming requests from clients. In such a case, the usual subnet selection criteria based on relay belonging to the subnet being selected are no longer sufficient and we need to explicitly specify a relay. One notable example of such uncommon, but valid scenario is a cable network, where there is only one CMTS (one relay), but there are 2 distinct subnets behind it: one for cable modems and another one for CPEs and other user equipment behind modems. From manageability perspective, it is essential that modems get addresses from different subnet, so users won't tinker with their modems.
Setting this parameter is not needed in most deployments. This structure holds IP address only for now, but it is expected to be extended in the future.
| relay | structure that contains relay information |
Definition at line 294 of file network.h.
References relay_.
|
inline |
Sets whether global reservations should be fetched.
| reservations_global | new value of enabled/disabled. |
Definition at line 434 of file network.h.
References reservations_global_.
|
inline |
Sets whether subnet reservations should be fetched.
| reservations_in_subnet | new value of enabled/disabled. |
Definition at line 452 of file network.h.
References reservations_in_subnet_.
|
inline |
Sets whether only out-of-pool reservations are allowed.
| reservations_out_of_pool | new value of enabled/disabled. |
Definition at line 470 of file network.h.
References reservations_out_of_pool_.
|
inline |
Sets new store-extended-info.
| store_extended_info | New value to use. |
Definition at line 728 of file network.h.
References store_extended_info_.
|
inline |
Sets new renew timer for a network.
| t1 | New renew timer value in seconds. |
Definition at line 401 of file network.h.
References t1_.
Referenced by isc::dhcp::Subnet4::Subnet4(), and isc::dhcp::Subnet6::Subnet6().
|
inline |
Sets new percentage for calculating T1 (renew timer).
| t1_percent | New percentage to use. |
Definition at line 515 of file network.h.
References t1_percent_.
|
inline |
Sets new rebind timer for a network.
| t2 | New rebind timer value in seconds. |
Definition at line 416 of file network.h.
References t2_.
Referenced by isc::dhcp::Subnet4::Subnet4(), and isc::dhcp::Subnet6::Subnet6().
|
inline |
Sets new percentage for calculating T2 (rebind timer).
| t2_percent | New percentage to use. |
Definition at line 531 of file network.h.
References t2_percent_.
|
inline |
Sets new valid lifetime for a network.
| valid | New valid lifetime in seconds. |
Definition at line 386 of file network.h.
References valid_.
Referenced by isc::dhcp::Subnet4::Subnet4(), and isc::dhcp::Subnet6::Subnet6().
|
virtual |
Unparses network object.
Implements isc::data::CfgToElement.
Reimplemented in isc::dhcp::Network4, isc::dhcp::Network6, isc::dhcp::SharedNetwork4, isc::dhcp::SharedNetwork6, isc::dhcp::Subnet4, isc::dhcp::Subnet6, and isc::dhcp::Subnet.
Definition at line 117 of file network.cc.
References allocator_type_, cache_max_age_, cache_threshold_, calculate_tee_times_, client_class_, isc::data::UserContext::contextToElement(), isc::data::Element::create(), isc::data::Element::createList(), isc::data::Element::createMap(), ddns_conflict_resolution_mode_, ddns_generated_prefix_, ddns_override_client_update_, ddns_override_no_update_, ddns_qualifying_suffix_, ddns_replace_client_name_mode_, ddns_send_updates_, ddns_ttl_percent_, ddns_update_on_renew_, isc::dhcp::ClientClasses::empty(), getCfgOption(), getRelayAddresses(), getRequiredClasses(), hostname_char_replacement_, hostname_char_set_, iface_name_, reservations_global_, reservations_in_subnet_, reservations_out_of_pool_, store_extended_info_, t1_, t1_percent_, t2_, t2_percent_, and valid_.
Referenced by isc::dhcp::Network4::toElement(), and isc::dhcp::Network6::toElement().
Here is the call graph for this function:
|
protected |
Allocator used for IP address allocations.
Definition at line 1238 of file network.h.
Referenced by Network(), getAllocatorType(), setAllocatorType(), and toElement().
|
protected |
Value in seconds to use as cache maximal age.
Definition at line 1226 of file network.h.
Referenced by Network(), getCacheMaxAge(), setCacheMaxAge(), and toElement().
|
protected |
Percentage of the lease lifetime to use as cache threshold.
Definition at line 1223 of file network.h.
Referenced by Network(), getCacheThreshold(), setCacheThreshold(), and toElement().
|
protected |
Enables calculation of T1 and T2 timers.
Definition at line 1182 of file network.h.
Referenced by Network(), getCalculateTeeTimes(), setCalculateTeeTimes(), and toElement().
|
protected |
Pointer to the option data configuration for this subnet.
Definition at line 1179 of file network.h.
Referenced by Network(), getCfgOption(), getCfgOption(), and isc::dhcp::Network4::getServerId().
|
protected |
Optional definition of a client class.
If defined, only clients belonging to that class will be allowed to use this particular network. The default value for this is an empty string, which means that any client is allowed, regardless of its class.
Definition at line 1148 of file network.h.
Referenced by Network(), allowClientClass(), clientSupported(), getClientClass(), and toElement().
|
protected |
DDNS conflict resolution mode.
Definition at line 1232 of file network.h.
Referenced by Network(), getDdnsConflictResolutionMode(), setDdnsConflictResolutionMode(), and toElement().
|
protected |
Prefix Kea should use when generating domain-names.
Definition at line 1205 of file network.h.
Referenced by Network(), getDdnsGeneratedPrefix(), setDdnsGeneratedPrefix(), and toElement().
|
protected |
Should Kea perform updates, even if client requested delegation.
Definition at line 1199 of file network.h.
Referenced by Network(), getDdnsOverrideClientUpdate(), setDdnsOverrideClientUpdate(), and toElement().
|
protected |
Should Kea perform updates, even if client requested no updates.
Overrides the client request for no updates via the N flag.
Definition at line 1196 of file network.h.
Referenced by Network(), getDdnsOverrideNoUpdate(), setDdnsOverrideNoUpdate(), and toElement().
|
protected |
Suffix Kea should use when to qualify partial domain-names.
Definition at line 1208 of file network.h.
Referenced by Network(), getDdnsQualifyingSuffix(), setDdnsQualifyingSuffix(), and toElement().
|
protected |
How Kea should handle the domain-name supplied by the client.
Definition at line 1202 of file network.h.
Referenced by Network(), getDdnsReplaceClientNameMode(), setDdnsReplaceClientNameMode(), and toElement().
|
protected |
Should Kea perform DNS updates.
Used to provide scoped enabling and disabling of updates.
Definition at line 1192 of file network.h.
Referenced by Network(), getDdnsSendUpdates(), setDdnsSendUpdates(), and toElement().
|
protected |
Percentage of the lease lifetime to use for DNS TTL.
Definition at line 1235 of file network.h.
Referenced by Network(), getDdnsTtlPercent(), setDdnsTtlPercent(), and toElement().
|
protected |
Should Kea perform updates when leases are extended.
Definition at line 1229 of file network.h.
Referenced by Network(), getDdnsUpdateOnRenew(), setDdnsUpdateOnRenew(), and toElement().
|
protected |
Default allocator type.
This value is not configurable by the user. It is used by the configuration backend internally.
Definition at line 1244 of file network.h.
Referenced by Network(), getDefaultAllocatorType(), and setDefaultAllocatorType().
|
protected |
Pointer to the optional callback used to fetch globally configured parameters inherited to the Network object.
Definition at line 1256 of file network.h.
Referenced by getFetchGlobalsFn(), getGlobalProperty(), getGlobalProperty(), getGlobalProperty(), hasFetchGlobalsFn(), and setFetchGlobalsFn().
|
protected |
A string to replace invalid characters when scrubbing hostnames.
Meaningful only if hostname_char_set_ is not empty.
Definition at line 1216 of file network.h.
Referenced by Network(), getHostnameCharReplacement(), setHostnameCharReplacement(), and toElement().
|
protected |
Regular expression describing invalid characters for client hostnames.
Definition at line 1212 of file network.h.
Referenced by Network(), getHostnameCharSet(), setHostnameCharSet(), and toElement().
|
protected |
Holds interface name for which this network is selected.
Definition at line 1136 of file network.h.
Referenced by Network(), getIface(), setIface(), and toElement().
|
protected |
Pointer to another network that this network belongs to.
The most common case is that this instance is a subnet which belongs to a shared network and the parent_network_ points to the shared network object. If the network instance (subnet) doesn't belong to a shared network this pointer is null.
Definition at line 1252 of file network.h.
Referenced by getOptionProperty(), getProperty(), isc::dhcp::Subnet::getSharedNetwork(), and isc::dhcp::Subnet::setSharedNetwork().
|
protected |
Relay information.
See RelayInfo for detailed description.
Definition at line 1141 of file network.h.
Referenced by addRelayAddress(), getRelayAddresses(), getRelayInfo(), hasRelayAddress(), hasRelays(), and setRelayInfo().
|
protected |
Required classes.
If the network is selected these classes will be added to the incoming packet and their evaluation will be required.
Definition at line 1154 of file network.h.
Referenced by getRequiredClasses(), and requireClientClass().
|
protected |
Enables global reservations.
Definition at line 1166 of file network.h.
Referenced by Network(), getReservationsGlobal(), setReservationsGlobal(), and toElement().
|
protected |
Enables subnet reservations.
Definition at line 1169 of file network.h.
Referenced by Network(), getReservationsInSubnet(), setReservationsInSubnet(), and toElement().
|
protected |
Enables out-of-pool reservations optimization.
When true only out-of-pool reservations are allowed. This allows AllocEngine to skip reservation checks when dealing with addresses that are in pool.
Definition at line 1176 of file network.h.
Referenced by Network(), getReservationsOutOfPool(), setReservationsOutOfPool(), and toElement().
|
protected |
Should Kea store additional client query data (e.g.
relay-agent-info) on the lease.
Definition at line 1220 of file network.h.
Referenced by Network(), getStoreExtendedInfo(), setStoreExtendedInfo(), and toElement().
|
protected |
a isc::util::Triplet (min/default/max) holding allowed renew timer values
Definition at line 1157 of file network.h.
Referenced by Network(), getT1(), setT1(), and toElement().
|
protected |
Percentage of the lease lifetime to use when calculating T1 timer.
Definition at line 1185 of file network.h.
Referenced by Network(), getT1Percent(), setT1Percent(), and toElement().
|
protected |
a isc::util::Triplet (min/default/max) holding allowed rebind timer values
Definition at line 1160 of file network.h.
Referenced by Network(), getT2(), setT2(), and toElement().
|
protected |
Percentage of the lease lifetime to use when calculating T2 timer.
Definition at line 1188 of file network.h.
Referenced by Network(), getT2Percent(), setT2Percent(), and toElement().
|
protected |
a isc::util::Triplet (min/default/max) holding allowed valid lifetime values
Definition at line 1163 of file network.h.
Referenced by Network(), getValid(), setValid(), and toElement().