Kea 2.7.6
|
Implementation of the mechanisms to control the use of the Configuration Backends by the DHCPv4 server. More...
#include <cb_ctl_dhcp4.h>
Protected Member Functions | |
virtual void | databaseConfigApply (const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &lb_modification_time, const db::AuditEntryCollection &audit_entries) |
DHCPv4 server specific method to fetch and apply back end configuration into the local configuration. | |
Protected Member Functions inherited from isc::dhcp::CBControlDHCP< ConfigBackendDHCPv4Mgr > | |
void | translateAndAddGlobalsToConfig (SrvConfigPtr external_cfg, data::StampedValueCollection &cb_globals) const |
It translates the top level map parameters from flat naming format (e.g. | |
Protected Member Functions inherited from isc::process::CBControlBase< ConfigBackendDHCPv4Mgr > | |
db::AuditEntryCollection | fetchConfigElement (const db::AuditEntryCollection &audit_entries, const std::string &object_type) const |
Returns audit entries for new or updated configuration elements of specific type to be fetched from the database. | |
ConfigBackendDHCPv4Mgr & | getMgr () const |
Returns the instance of the Config Backend Manager used by this object. | |
void | updateLastAuditRevisionTimeId (const db::AuditEntryCollection &audit_entries) |
Updates timestamp of the most recent audit entry fetched from the database. | |
Additional Inherited Members | |
Public Types inherited from isc::process::CBControlBase< ConfigBackendDHCPv4Mgr > | |
enum | FetchMode |
Fetch mode used in invocations to databaseConfigFetch . More... | |
Public Member Functions inherited from isc::dhcp::CBControlDHCP< ConfigBackendDHCPv4Mgr > | |
CBControlDHCP () | |
Constructor. | |
Public Member Functions inherited from isc::process::CBControlBase< ConfigBackendDHCPv4Mgr > | |
CBControlBase () | |
Constructor. | |
virtual | ~CBControlBase () |
Virtual destructor. | |
bool | databaseConfigConnect (const ConfigPtr &srv_cfg) |
(Re)connects to the specified configuration backends. | |
void | databaseConfigDisconnect () |
Disconnects from the configuration backends. | |
virtual void | databaseConfigFetch (const ConfigPtr &srv_cfg, const FetchMode &fetch_mode=FetchMode::FETCH_ALL) |
Fetches the entire or partial configuration from the database. | |
void | reset () |
Resets the state of this object. | |
Static Public Member Functions inherited from isc::dhcp::CBControlDHCP< ConfigBackendDHCPv4Mgr > | |
static bool | translateName (std::string const &name, std::string ¶m_name, std::string &sub_param_name) |
It translates the top level map parameters from flat naming format (e.g. | |
Static Protected Member Functions inherited from isc::process::CBControlBase< ConfigBackendDHCPv4Mgr > | |
static boost::posix_time::ptime | getInitialAuditRevisionTime () |
Convenience method returning initial timestamp to set the last_audit_revision_time_ to. | |
Protected Attributes inherited from isc::process::CBControlBase< ConfigBackendDHCPv4Mgr > | |
uint64_t | last_audit_revision_id_ |
Stores the most recent audit revision identifier. | |
boost::posix_time::ptime | last_audit_revision_time_ |
Stores the most recent audit revision timestamp. | |
Implementation of the mechanisms to control the use of the Configuration Backends by the DHCPv4 server.
It implements fetching and merging DHCPv4 server configuration from the database into the staging or current configuration.
ConfigBackendMgrType | Type of the Config Backend Manager used by the server implementing this class. For example, for the DHCPv4 server it will be ConfigBackendDHCPv4Mgr . |
Definition at line 26 of file cb_ctl_dhcp4.h.
|
protectedvirtual |
DHCPv4 server specific method to fetch and apply back end configuration into the local configuration.
backend_selector | Backend selector. |
server_selector | Server selector. |
lb_modification_time | Lower bound modification time for the configuration elements to be fetched. |
audit_entries | Audit entries fetched from the database since the last configuration update. This collection is empty if there were no updates. |
Implements isc::process::CBControlBase< ConfigBackendDHCPv4Mgr >.
Definition at line 47 of file cb_ctl_dhcp4.cc.
References isc::dhcp::CfgGlobals::ALLOCATOR, isc::data::Element::boolean, isc::hooks::HooksManager::callCallouts(), isc::hooks::HooksManager::calloutsPresent(), isc::data::Element::create(), isc::hooks::HooksManager::createCalloutHandle(), isc::dhcp::CfgMgr::createExternalCfg(), isc::dhcp::ClientClassDictionary::createOptions(), isc::dhcp::DHCPSRV_CFGMGR_CONFIG4_MERGED, isc::dhcp::DHCPSRV_CFGMGR_IPV4_RESERVATIONS_NON_UNIQUE_IGNORED, isc::dhcp::dhcpsrv_logger, isc::dhcp::ClientClassDictionary::encapsulateOptions(), isc::process::CBControlBase< ConfigBackendDHCPv4Mgr >::fetchConfigElement(), isc::dhcp::CfgMgr::getCurrentCfg(), isc::process::CBControlBase< ConfigBackendDHCPv4Mgr >::getMgr(), isc::dhcp::CfgMgr::getStagingCfg(), isc::dhcp::SimpleParser4::GLOBAL4_DEFAULTS, isc::process::hasObjectId(), isc::dhcp::ClientClassDictionary::initMatchExpr(), isc::dhcp::CfgMgr::instance(), isc::dhcp::HostMgr::instance(), LOG_INFO, LOG_WARN, isc::dhcp::CfgMgr::mergeIntoCurrentCfg(), isc::dhcp::CfgMgr::mergeIntoStagingCfg(), isc::data::Element::string, and isc::dhcp::CBControlDHCP< ConfigBackendDHCPv4Mgr >::translateAndAddGlobalsToConfig().