![]() |
Kea 2.7.3
|
Implementation of the mechanisms to control the use of the Configuration Backends by the DHCPv6 server. More...
#include <cb_ctl_dhcp6.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) |
DHCPv6 server specific method to fetch and apply back end configuration into the local configuration. | |
![]() | |
void | translateAndAddGlobalsToConfig (SrvConfigPtr external_cfg, data::StampedValueCollection &cb_globals) const |
It translates the top level map parameters from flat naming format (e.g. | |
![]() | |
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. | |
ConfigBackendMgrType & | 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 | |
![]() | |
enum class | FetchMode { FETCH_ALL , FETCH_UPDATE } |
Fetch mode used in invocations to databaseConfigFetch . More... | |
![]() | |
CBControlDHCP () | |
Constructor. | |
![]() | |
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 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 boost::posix_time::ptime | getInitialAuditRevisionTime () |
Convenience method returning initial timestamp to set the last_audit_revision_time_ to. | |
![]() | |
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 DHCPv6 server.
It implements fetching and merging DHCPv6 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 DHCPv6 server it will be ConfigBackendDHCPv6Mgr . |
Definition at line 26 of file cb_ctl_dhcp6.h.
|
protectedvirtual |
DHCPv6 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< ConfigBackendMgrType >.
Definition at line 46 of file cb_ctl_dhcp6.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::DHCPSRV_CFGMGR_CONFIG6_MERGED, isc::dhcp::DHCPSRV_CFGMGR_IPV6_RESERVATIONS_NON_UNIQUE_IGNORED, isc::dhcp::dhcpsrv_logger, isc::process::CBControlBase< ConfigBackendMgrType >::fetchConfigElement(), isc::process::CBControlBase< ConfigBackendMgrType >::getMgr(), isc::dhcp::SimpleParser6::GLOBAL6_DEFAULTS, isc::process::hasObjectId(), isc::dhcp::CfgMgr::instance(), isc::dhcp::HostMgr::instance(), LOG_INFO, LOG_WARN, isc::dhcp::CfgGlobals::PD_ALLOCATOR, isc::data::Element::string, and isc::dhcp::CBControlDHCP< ConfigBackendDHCPv6Mgr >::translateAndAddGlobalsToConfig().