Kea: isc::dhcp::CBControlDHCPv6 Class Reference

| Kea 3.2.0-git

isc::dhcp::CBControlDHCPv6 Class Reference

Implementation of the mechanisms to control the use of the Configuration Backends by the DHCPv6 server. More...

`#include <cb_ctl_dhcp6.h>`

Inheritance diagram for isc::dhcp::CBControlDHCPv6:
[legend]

## 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.
Protected Member Functions inherited from isc::dhcp::CBControlDHCP< ConfigBackendDHCPv6Mgr >
void | translateAndAddGlobalsToConfig (SrvConfigPtr external_cfg, data::StampedValueCollection &cb_globals, data::SimpleKeywords global_lists) const
| It translates the top level map parameters from flat naming format (e.g.
Protected Member Functions inherited from isc::process::CBControlBase< ConfigBackendDHCPv6Mgr >
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.
ConfigBackendDHCPv6Mgr & | 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< ConfigBackendDHCPv6Mgr >
enum | FetchMode
| Fetch mode used in invocations to `databaseConfigFetch`. More...
Public Member Functions inherited from isc::dhcp::CBControlDHCP< ConfigBackendDHCPv6Mgr >
| CBControlDHCP ()
| Constructor.
Public Member Functions inherited from isc::process::CBControlBase< ConfigBackendDHCPv6Mgr >
| 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< ConfigBackendDHCPv6Mgr >
static bool | translateName (std::string const &name, std::string &param_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< ConfigBackendDHCPv6Mgr >
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< ConfigBackendDHCPv6Mgr >
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.

## Detailed Description

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.

Template Parameters

  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.

## Member Function Documentation

## ◆ databaseConfigApply()

void isc::dhcp::CBControlDHCPv6::databaseConfigApply | ( | const db::BackendSelector & | backend_selector,
|  | const db::ServerSelector & | server_selector,
|  | const boost::posix_time::ptime & | lb_modification_time,
|  | const db::AuditEntryCollection & | audit_entries )
| protectedvirtual

DHCPv6 server specific method to fetch and apply back end configuration into the local configuration.

Parameters

  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< ConfigBackendDHCPv6Mgr >.

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::CfgMgr::createExternalCfg(), isc::dhcp::ClientClassDictionary::createOptions(), isc::db::AuditEntry::DELETE, isc::dhcp::DHCPSRV_CFGMGR_CONFIG6_MERGED, isc::dhcp::DHCPSRV_CFGMGR_IPV6_RESERVATIONS_NON_UNIQUE_IGNORED, isc::dhcp::dhcpsrv_logger, isc::dhcp::ClientClassDictionary::encapsulateOptions(), isc::process::CBControlBase< ConfigBackendDHCPv6Mgr >::fetchConfigElement(), isc::dhcp::CfgMgr::getCurrentCfg(), isc::process::CBControlBase< ConfigBackendDHCPv6Mgr >::getMgr(), isc::dhcp::CfgMgr::getStagingCfg(), isc::dhcp::SimpleParser6::GLOBAL6_DEFAULTS, isc::dhcp::SimpleParser6::GLOBAL6_LIST_PARAMETERS, 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::dhcp::CfgGlobals::PD_ALLOCATOR, isc::data::Element::string, and isc::dhcp::CBControlDHCP< ConfigBackendDHCPv6Mgr >::translateAndAddGlobalsToConfig().

Here is the call graph for this function:

The documentation for this class was generated from the following files:

- cb_ctl_dhcp6.h
- cb_ctl_dhcp6.cc