Kea 2.6.2
config_backend_pool_dhcp4.h
Go to the documentation of this file.
1// Copyright (C) 2018-2022 Internet Systems Consortium, Inc. ("ISC")
2//
3// This Source Code Form is subject to the terms of the Mozilla Public
4// License, v. 2.0. If a copy of the MPL was not distributed with this
5// file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
7#ifndef CONFIG_BACKEND_POOL_DHCP4_H
8#define CONFIG_BACKEND_POOL_DHCP4_H
9
10#include <cc/stamped_value.h>
13#include <database/server.h>
16#include <dhcp/option.h>
18#include <dhcpsrv/cfg_option.h>
22#include <dhcpsrv/subnet.h>
23#include <boost/date_time/posix_time/ptime.hpp>
24#include <string>
25
26namespace isc {
27namespace dhcp {
28
33class ConfigBackendPoolDHCPv4 : public cb::BaseConfigBackendPool<ConfigBackendDHCPv4> {
34public:
35
42 virtual Subnet4Ptr
43 getSubnet4(const db::BackendSelector& backend_selector,
44 const db::ServerSelector& server_selector,
45 const std::string& subnet_prefix) const;
46
53 virtual Subnet4Ptr
54 getSubnet4(const db::BackendSelector& backend_selector,
55 const db::ServerSelector& server_selector,
56 const SubnetID& subnet_id) const;
57
63 virtual Subnet4Collection
64 getAllSubnets4(const db::BackendSelector& backend_selector,
65 const db::ServerSelector& server_selector) const;
66
73 virtual Subnet4Collection
74 getModifiedSubnets4(const db::BackendSelector& backend_selector,
75 const db::ServerSelector& server_selector,
76 const boost::posix_time::ptime& modification_time) const;
77
89 virtual Subnet4Collection
90 getSharedNetworkSubnets4(const db::BackendSelector& backend_selector,
91 const db::ServerSelector& server_selector,
92 const std::string& shared_network_name) const;
93
100 virtual SharedNetwork4Ptr
101 getSharedNetwork4(const db::BackendSelector& backend_selector,
102 const db::ServerSelector& server_selector,
103 const std::string& name) const;
104
112 getAllSharedNetworks4(const db::BackendSelector& backend_selector,
113 const db::ServerSelector& server_selector) const;
114
123 getModifiedSharedNetworks4(const db::BackendSelector& backend_selector,
124 const db::ServerSelector& server_selector,
125 const boost::posix_time::ptime& modification_time) const;
126
134 virtual OptionDefinitionPtr
135 getOptionDef4(const db::BackendSelector& backend_selector,
136 const db::ServerSelector& server_selector,
137 const uint16_t code,
138 const std::string& space) const;
139
146 virtual OptionDefContainer
147 getAllOptionDefs4(const db::BackendSelector& backend_selector,
148 const db::ServerSelector& server_selector) const;
149
158 virtual OptionDefContainer
159 getModifiedOptionDefs4(const db::BackendSelector& backend_selector,
160 const db::ServerSelector& server_selector,
161 const boost::posix_time::ptime& modification_time) const;
162
171 virtual OptionDescriptorPtr
172 getOption4(const db::BackendSelector& backend_selector,
173 const db::ServerSelector& server_selector,
174 const uint16_t code,
175 const std::string& space) const;
176
183 virtual OptionContainer
184 getAllOptions4(const db::BackendSelector& backend_selector,
185 const db::ServerSelector& server_selector) const;
186
194 virtual OptionContainer
195 getModifiedOptions4(const db::BackendSelector& backend_selector,
196 const db::ServerSelector& server_selector,
197 const boost::posix_time::ptime& modification_time) const;
198
206 getGlobalParameter4(const db::BackendSelector& backend_selector,
207 const db::ServerSelector& server_selector,
208 const std::string& name) const;
209
215 getAllGlobalParameters4(const db::BackendSelector& backend_selector,
216 const db::ServerSelector& server_selector) const;
217
226 const db::ServerSelector& server_selector,
227 const boost::posix_time::ptime& modification_time) const;
228
235 virtual ClientClassDefPtr
236 getClientClass4(const db::BackendSelector& backend_selector,
237 const db::ServerSelector& server_selector,
238 const std::string& name) const;
239
246 getAllClientClasses4(const db::BackendSelector& backend_selector,
247 const db::ServerSelector& server_selector) const;
248
256 getModifiedClientClasses4(const db::BackendSelector& backend_selector,
257 const db::ServerSelector& server_selector,
258 const boost::posix_time::ptime& modification_time) const;
259
271 getRecentAuditEntries(const db::BackendSelector& backend_selector,
272 const db::ServerSelector& server_selector,
273 const boost::posix_time::ptime& modification_time,
274 const uint64_t& modification_id) const;
275
284 getAllServers4(const db::BackendSelector& backend_selector) const;
285
292 virtual db::ServerPtr
293 getServer4(const db::BackendSelector& backend_selector,
294 const data::ServerTag& server_tag) const;
295
301 virtual void
302 createUpdateSubnet4(const db::BackendSelector& backend_selector,
303 const db::ServerSelector& server_selector,
304 const Subnet4Ptr& subnet);
305
311 virtual void
312 createUpdateSharedNetwork4(const db::BackendSelector& backend_selector,
313 const db::ServerSelector& server_selector,
314 const SharedNetwork4Ptr& shared_network);
315
321 virtual void
322 createUpdateOptionDef4(const db::BackendSelector& backend_selector,
323 const db::ServerSelector& server_selector,
324 const OptionDefinitionPtr& option_def);
325
331 virtual void
332 createUpdateOption4(const db::BackendSelector& backend_selector,
333 const db::ServerSelector& server_selector,
334 const OptionDescriptorPtr& option);
335
343 virtual void
344 createUpdateOption4(const db::BackendSelector& backend_selector,
345 const db::ServerSelector& server_selector,
346 const std::string& shared_network_name,
347 const OptionDescriptorPtr& option);
348
355 virtual void
356 createUpdateOption4(const db::BackendSelector& backend_selector,
357 const db::ServerSelector& server_selector,
358 const SubnetID& subnet_id,
359 const OptionDescriptorPtr& option);
360
370 virtual void
371 createUpdateOption4(const db::BackendSelector& backend_selector,
372 const db::ServerSelector& server_selector,
373 const asiolink::IOAddress& pool_start_address,
374 const asiolink::IOAddress& pool_end_address,
375 const OptionDescriptorPtr& option);
376
382 virtual void
384 const db::ServerSelector& server_selector,
385 const data::StampedValuePtr& value);
386
396 virtual void
397 createUpdateClientClass4(const db::BackendSelector& backend_selector,
398 const db::ServerSelector& server_selector,
399 const ClientClassDefPtr& client_class,
400 const std::string& follow_class_name);
401
406 virtual void
407 createUpdateServer4(const db::BackendSelector& backend_selector,
408 const db::ServerPtr& server);
409
416 virtual uint64_t
417 deleteSubnet4(const db::BackendSelector& backend_selector,
418 const db::ServerSelector& server_selector,
419 const std::string& subnet_prefix);
420
427 virtual uint64_t
428 deleteSubnet4(const db::BackendSelector& backend_selector,
429 const db::ServerSelector& server_selector,
430 const SubnetID& subnet_id);
431
437 virtual uint64_t
438 deleteAllSubnets4(const db::BackendSelector& backend_selector,
439 const db::ServerSelector& server_selector);
440
448 virtual uint64_t
449 deleteSharedNetworkSubnets4(const db::BackendSelector& backend_selector,
450 const db::ServerSelector& server_selector,
451 const std::string& shared_network_name);
452
459 virtual uint64_t
460 deleteSharedNetwork4(const db::BackendSelector& backend_selector,
461 const db::ServerSelector& server_selector,
462 const std::string& name);
463
469 virtual uint64_t
470 deleteAllSharedNetworks4(const db::BackendSelector& backend_selector,
471 const db::ServerSelector& server_selector);
472
480 virtual uint64_t
481 deleteOptionDef4(const db::BackendSelector& backend_selector,
482 const db::ServerSelector& server_selector,
483 const uint16_t code,
484 const std::string& space);
485
491 virtual uint64_t
492 deleteAllOptionDefs4(const db::BackendSelector& backend_selector,
493 const db::ServerSelector& server_selector);
494
502 virtual uint64_t
503 deleteOption4(const db::BackendSelector& backend_selector,
504 const db::ServerSelector& server_selector,
505 const uint16_t code,
506 const std::string& space);
507
516 virtual uint64_t
517 deleteOption4(const db::BackendSelector& backend_selector,
518 const db::ServerSelector& server_selector,
519 const std::string& shared_network_name,
520 const uint16_t code,
521 const std::string& space);
522
532 virtual uint64_t
533 deleteOption4(const db::BackendSelector& backend_selector,
534 const db::ServerSelector& server_selector,
535 const SubnetID& subnet_id,
536 const uint16_t code, const std::string& space);
537
549 virtual uint64_t
550 deleteOption4(const db::BackendSelector& backend_selector,
551 const db::ServerSelector& server_selector,
552 const asiolink::IOAddress& pool_start_address,
553 const asiolink::IOAddress& pool_end_address,
554 const uint16_t code,
555 const std::string& space);
556
563 virtual uint64_t
564 deleteGlobalParameter4(const db::BackendSelector& backend_selector,
565 const db::ServerSelector& server_selector,
566 const std::string& name);
567
573 virtual uint64_t
574 deleteAllGlobalParameters4(const db::BackendSelector& backend_selector,
575 const db::ServerSelector& server_selector);
576
583 virtual uint64_t
584 deleteClientClass4(const db::BackendSelector& backend_selector,
585 const db::ServerSelector& server_selector,
586 const std::string& name);
587
593 virtual uint64_t
594 deleteAllClientClasses4(const db::BackendSelector& backend_selector,
595 const db::ServerSelector& server_selector);
596
602 virtual uint64_t
603 deleteServer4(const db::BackendSelector& backend_selector,
604 const data::ServerTag& server_tag);
605
611 virtual uint64_t
612 deleteAllServers4(const db::BackendSelector& backend_selector);
613};
614
615
616} // end of namespace isc::dhcp
617} // end of namespace isc
618
619#endif // CONFIG_BACKEND_POOL_DHCP4_H
it forwards queries to a single upstream resolver and passes the answers back to the client It is constructed with the address of the forward server Queries are initiated with the question to ask the forward server
Definition asiodns.dox:60
Base class for configuration backend pools.
Represents a server tag.
Definition server_tag.h:25
Config Backend selector.
Server selector for associating objects in a database with specific servers.
Maintains a list of ClientClassDef's.
Implementation of the Configuration Backend Pool for DHCPv4.
virtual data::StampedValueCollection getAllGlobalParameters4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all global parameters.
virtual void createUpdateOption4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const OptionDescriptorPtr &option)
Creates or updates global option.
virtual SharedNetwork4Collection getModifiedSharedNetworks4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const
Retrieves shared networks modified after specified time.
virtual ClientClassDefPtr getClientClass4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name) const
Retrieves a client class by name.
virtual void createUpdateServer4(const db::BackendSelector &backend_selector, const db::ServerPtr &server)
Creates or updates a server.
virtual db::ServerCollection getAllServers4(const db::BackendSelector &backend_selector) const
Retrieves all servers from the particular backend.
virtual uint64_t deleteOption4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const uint16_t code, const std::string &space)
Deletes global option.
virtual OptionDefContainer getModifiedOptionDefs4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const
Retrieves option definitions modified after specified time.
virtual uint64_t deleteAllSubnets4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all subnets.
virtual uint64_t deleteServer4(const db::BackendSelector &backend_selector, const data::ServerTag &server_tag)
Deletes a server from the backend.
virtual uint64_t deleteSharedNetwork4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name)
Deletes shared network by name.
virtual uint64_t deleteAllServers4(const db::BackendSelector &backend_selector)
Deletes all servers from the backend except the logical server 'all'.
virtual OptionDefinitionPtr getOptionDef4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const uint16_t code, const std::string &space) const
Retrieves single option definition by code and space.
virtual SharedNetwork4Ptr getSharedNetwork4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name) const
Retrieves shared network by name.
virtual uint64_t deleteAllSharedNetworks4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all shared networks.
virtual db::ServerPtr getServer4(const db::BackendSelector &backend_selector, const data::ServerTag &server_tag) const
Retrieves a server from the particular backend.
virtual void createUpdateSharedNetwork4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const SharedNetwork4Ptr &shared_network)
Creates or updates a shared network.
virtual void createUpdateOptionDef4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const OptionDefinitionPtr &option_def)
Creates or updates an option definition.
virtual ClientClassDictionary getModifiedClientClasses4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const
Retrieves client classes modified after specified time.
virtual data::StampedValuePtr getGlobalParameter4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name) const
Retrieves global parameter value.
virtual void createUpdateGlobalParameter4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const data::StampedValuePtr &value)
Creates or updates global string parameter.
virtual uint64_t deleteOptionDef4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const uint16_t code, const std::string &space)
Deletes option definition.
virtual Subnet4Collection getAllSubnets4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all subnets.
virtual Subnet4Collection getSharedNetworkSubnets4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &shared_network_name) const
Retrieves all subnets belonging to a specified shared network.
virtual uint64_t deleteSharedNetworkSubnets4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &shared_network_name)
Deletes all subnets belonging to a specified shared network.
virtual uint64_t deleteSubnet4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &subnet_prefix)
Deletes subnet by prefix.
virtual uint64_t deleteClientClass4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name)
Deletes DHCPv4 client class.
virtual OptionContainer getAllOptions4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all global options.
virtual data::StampedValueCollection getModifiedGlobalParameters4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const
Retrieves global parameters modified after specified time.
virtual uint64_t deleteAllOptionDefs4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all option definitions.
virtual OptionDescriptorPtr getOption4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const uint16_t code, const std::string &space) const
Retrieves single option by code and space.
virtual ClientClassDictionary getAllClientClasses4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all client classes.
virtual void createUpdateClientClass4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const ClientClassDefPtr &client_class, const std::string &follow_class_name)
Creates or updates DHCPv4 client class.
virtual Subnet4Ptr getSubnet4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &subnet_prefix) const
Retrieves a single subnet by subnet_prefix.
virtual OptionDefContainer getAllOptionDefs4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all option definitions.
virtual uint64_t deleteGlobalParameter4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name)
Deletes global parameter.
virtual OptionContainer getModifiedOptions4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const
Retrieves option modified after specified time.
virtual db::AuditEntryCollection getRecentAuditEntries(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time, const uint64_t &modification_id) const
Retrieves the most recent audit entries.
virtual SharedNetwork4Collection getAllSharedNetworks4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all shared networks.
virtual uint64_t deleteAllGlobalParameters4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all global parameters.
virtual void createUpdateSubnet4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const Subnet4Ptr &subnet)
Creates or updates a subnet.
virtual uint64_t deleteAllClientClasses4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all client classes.
virtual Subnet4Collection getModifiedSubnets4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const
Retrieves subnets modified after specified time.
Defines classes for storing client class definitions.
boost::shared_ptr< StampedValue > StampedValuePtr
Pointer to the stamped value.
boost::multi_index_container< StampedValuePtr, boost::multi_index::indexed_by< boost::multi_index::hashed_non_unique< boost::multi_index::tag< StampedValueNameIndexTag >, boost::multi_index::const_mem_fun< StampedValue, std::string, &StampedValue::getName > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< StampedValueModificationTimeIndexTag >, boost::multi_index::const_mem_fun< BaseStampedElement, boost::posix_time::ptime, &BaseStampedElement::getModificationTime > > > > StampedValueCollection
Multi index container for StampedValue.
boost::shared_ptr< Server > ServerPtr
Shared pointer to the Server class.
Definition server.h:22
boost::multi_index_container< AuditEntryPtr, boost::multi_index::indexed_by< boost::multi_index::ordered_non_unique< boost::multi_index::tag< AuditEntryObjectTypeTag >, boost::multi_index::composite_key< AuditEntry, boost::multi_index::const_mem_fun< AuditEntry, std::string, &AuditEntry::getObjectType >, boost::multi_index::const_mem_fun< AuditEntry, AuditEntry::ModificationType, &AuditEntry::getModificationType > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< AuditEntryModificationTimeIdTag >, boost::multi_index::composite_key< AuditEntry, boost::multi_index::const_mem_fun< AuditEntry, boost::posix_time::ptime, &AuditEntry::getModificationTime >, boost::multi_index::const_mem_fun< AuditEntry, uint64_t, &AuditEntry::getRevisionId > > >, boost::multi_index::hashed_non_unique< boost::multi_index::tag< AuditEntryObjectIdTag >, boost::multi_index::const_mem_fun< AuditEntry, uint64_t, &AuditEntry::getObjectId > > > > AuditEntryCollection
Multi index container holding AuditEntry instances.
boost::multi_index_container< ServerPtr, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::tag< ServerTagIndexTag >, boost::multi_index::const_mem_fun< Server, std::string, &Server::getServerTagAsText > > > > ServerCollection
Multi index container for Server.
boost::shared_ptr< Subnet4 > Subnet4Ptr
A pointer to a Subnet4 object.
Definition subnet.h:458
boost::shared_ptr< ClientClassDef > ClientClassDefPtr
a pointer to an ClientClassDef
boost::shared_ptr< OptionDefinition > OptionDefinitionPtr
Pointer to option definition object.
boost::multi_index_container< Subnet4Ptr, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::tag< SubnetSubnetIdIndexTag >, boost::multi_index::const_mem_fun< Subnet, SubnetID, &Subnet::getID > >, boost::multi_index::ordered_unique< boost::multi_index::tag< SubnetPrefixIndexTag >, boost::multi_index::const_mem_fun< Subnet, std::string, &Subnet::toText > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SubnetServerIdIndexTag >, boost::multi_index::const_mem_fun< Network4, asiolink::IOAddress, &Network4::getServerId > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SubnetModificationTimeIndexTag >, boost::multi_index::const_mem_fun< data::BaseStampedElement, boost::posix_time::ptime, &data::BaseStampedElement::getModificationTime > > > > Subnet4Collection
A collection of Subnet4 objects.
Definition subnet.h:863
boost::shared_ptr< OptionDescriptor > OptionDescriptorPtr
A pointer to option descriptor.
Definition cfg_option.h:36
uint32_t SubnetID
Defines unique IPv4 or IPv6 subnet identifier.
Definition subnet_id.h:25
boost::multi_index_container< SharedNetwork4Ptr, boost::multi_index::indexed_by< boost::multi_index::random_access< boost::multi_index::tag< SharedNetworkRandomAccessIndexTag > >, boost::multi_index::hashed_non_unique< boost::multi_index::tag< SharedNetworkIdIndexTag >, boost::multi_index::const_mem_fun< data::BaseStampedElement, uint64_t, &data::BaseStampedElement::getId > >, boost::multi_index::ordered_unique< boost::multi_index::tag< SharedNetworkNameIndexTag >, boost::multi_index::const_mem_fun< SharedNetwork4, std::string, &SharedNetwork4::getName > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SharedNetworkServerIdIndexTag >, boost::multi_index::const_mem_fun< Network4, asiolink::IOAddress, &Network4::getServerId > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SharedNetworkModificationTimeIndexTag >, boost::multi_index::const_mem_fun< data::BaseStampedElement, boost::posix_time::ptime, &data::BaseStampedElement::getModificationTime > > > > SharedNetwork4Collection
Multi index container holding shared networks.
boost::multi_index_container< OptionDescriptor, boost::multi_index::indexed_by< boost::multi_index::sequenced<>, boost::multi_index::hashed_non_unique< KeyFromKeyExtractor< boost::multi_index::const_mem_fun< Option, uint16_t, &Option::getType >, boost::multi_index::member< OptionDescriptor, OptionPtr, &OptionDescriptor::option_ > > >, boost::multi_index::hashed_non_unique< boost::multi_index::member< OptionDescriptor, bool, &OptionDescriptor::persistent_ > >, boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun< data::BaseStampedElement, boost::posix_time::ptime, &data::BaseStampedElement::getModificationTime > >, boost::multi_index::hashed_non_unique< boost::multi_index::tag< OptionIdIndexTag >, boost::multi_index::const_mem_fun< data::BaseStampedElement, uint64_t, &data::BaseStampedElement::getId > >, boost::multi_index::hashed_non_unique< boost::multi_index::member< OptionDescriptor, bool, &OptionDescriptor::cancelled_ > > > > OptionContainer
Multi index container for DHCP option descriptors.
Definition cfg_option.h:300
boost::shared_ptr< SharedNetwork4 > SharedNetwork4Ptr
Pointer to SharedNetwork4 object.
boost::multi_index_container< OptionDefinitionPtr, boost::multi_index::indexed_by< boost::multi_index::sequenced<>, boost::multi_index::hashed_non_unique< boost::multi_index::const_mem_fun< OptionDefinition, uint16_t, &OptionDefinition::getCode > >, boost::multi_index::hashed_non_unique< boost::multi_index::const_mem_fun< OptionDefinition, std::string, &OptionDefinition::getName > >, boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun< data::BaseStampedElement, boost::posix_time::ptime, &data::StampedElement::getModificationTime > >, boost::multi_index::hashed_non_unique< boost::multi_index::tag< OptionIdIndexTag >, boost::multi_index::const_mem_fun< data::BaseStampedElement, uint64_t, &data::BaseStampedElement::getId > > > > OptionDefContainer
Multi index container for DHCP option definitions.
Defines the logger used by the top-level component of kea-lfc.