Kea 2.6.2
config_backend_pool_dhcp6.h
Go to the documentation of this file.
1// Copyright (C) 2019-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_DHCP6_H
8#define CONFIG_BACKEND_POOL_DHCP6_H
9
10#include <cc/server_tag.h>
11#include <cc/stamped_value.h>
15#include <dhcp/option.h>
17#include <dhcpsrv/cfg_option.h>
21#include <dhcpsrv/subnet.h>
22#include <boost/date_time/posix_time/ptime.hpp>
23#include <string>
24
25namespace isc {
26namespace dhcp {
27
32class ConfigBackendPoolDHCPv6 : public cb::BaseConfigBackendPool<ConfigBackendDHCPv6> {
33public:
34
41 virtual Subnet6Ptr
42 getSubnet6(const db::BackendSelector& backend_selector,
43 const db::ServerSelector& server_selector,
44 const std::string& subnet_prefix) const;
45
52 virtual Subnet6Ptr
53 getSubnet6(const db::BackendSelector& backend_selector,
54 const db::ServerSelector& server_selector,
55 const SubnetID& subnet_id) const;
56
62 virtual Subnet6Collection
63 getAllSubnets6(const db::BackendSelector& backend_selector,
64 const db::ServerSelector& server_selector) const;
65
72 virtual Subnet6Collection
73 getModifiedSubnets6(const db::BackendSelector& backend_selector,
74 const db::ServerSelector& server_selector,
75 const boost::posix_time::ptime& modification_time) const;
76
88 virtual Subnet6Collection
89 getSharedNetworkSubnets6(const db::BackendSelector& backend_selector,
90 const db::ServerSelector& server_selector,
91 const std::string& shared_network_name) const;
92
99 virtual SharedNetwork6Ptr
100 getSharedNetwork6(const db::BackendSelector& backend_selector,
101 const db::ServerSelector& server_selector,
102 const std::string& name) const;
103
111 getAllSharedNetworks6(const db::BackendSelector& backend_selector,
112 const db::ServerSelector& server_selector) const;
113
122 getModifiedSharedNetworks6(const db::BackendSelector& backend_selector,
123 const db::ServerSelector& server_selector,
124 const boost::posix_time::ptime& modification_time) const;
125
133 virtual OptionDefinitionPtr
134 getOptionDef6(const db::BackendSelector& backend_selector,
135 const db::ServerSelector& server_selector,
136 const uint16_t code,
137 const std::string& space) const;
138
145 virtual OptionDefContainer
146 getAllOptionDefs6(const db::BackendSelector& backend_selector,
147 const db::ServerSelector& server_selector) const;
148
157 virtual OptionDefContainer
158 getModifiedOptionDefs6(const db::BackendSelector& backend_selector,
159 const db::ServerSelector& server_selector,
160 const boost::posix_time::ptime& modification_time) const;
161
170 virtual OptionDescriptorPtr
171 getOption6(const db::BackendSelector& backend_selector,
172 const db::ServerSelector& server_selector,
173 const uint16_t code,
174 const std::string& space) const;
175
182 virtual OptionContainer
183 getAllOptions6(const db::BackendSelector& backend_selector,
184 const db::ServerSelector& server_selector) const;
185
193 virtual OptionContainer
194 getModifiedOptions6(const db::BackendSelector& backend_selector,
195 const db::ServerSelector& server_selector,
196 const boost::posix_time::ptime& modification_time) const;
197
205 getGlobalParameter6(const db::BackendSelector& backend_selector,
206 const db::ServerSelector& server_selector,
207 const std::string& name) const;
208
214 getAllGlobalParameters6(const db::BackendSelector& backend_selector,
215 const db::ServerSelector& server_selector) const;
216
225 const db::ServerSelector& server_selector,
226 const boost::posix_time::ptime& modification_time) const;
227
234 virtual ClientClassDefPtr
235 getClientClass6(const db::BackendSelector& backend_selector,
236 const db::ServerSelector& server_selector,
237 const std::string& name) const;
238
245 getAllClientClasses6(const db::BackendSelector& backend_selector,
246 const db::ServerSelector& server_selector) const;
247
255 getModifiedClientClasses6(const db::BackendSelector& backend_selector,
256 const db::ServerSelector& server_selector,
257 const boost::posix_time::ptime& modification_time) const;
258
270 getRecentAuditEntries(const db::BackendSelector& backend_selector,
271 const db::ServerSelector& server_selector,
272 const boost::posix_time::ptime& modification_time,
273 const uint64_t& modification_id) const;
274
283 getAllServers6(const db::BackendSelector& backend_selector) const;
284
291 virtual db::ServerPtr
292 getServer6(const db::BackendSelector& backend_selector,
293 const data::ServerTag& server_tag) const;
294
300 virtual void
301 createUpdateSubnet6(const db::BackendSelector& backend_selector,
302 const db::ServerSelector& server_selector,
303 const Subnet6Ptr& subnet);
304
310 virtual void
311 createUpdateSharedNetwork6(const db::BackendSelector& backend_selector,
312 const db::ServerSelector& server_selector,
313 const SharedNetwork6Ptr& shared_network);
314
320 virtual void
321 createUpdateOptionDef6(const db::BackendSelector& backend_selector,
322 const db::ServerSelector& server_selector,
323 const OptionDefinitionPtr& option_def);
324
330 virtual void
331 createUpdateOption6(const db::BackendSelector& backend_selector,
332 const db::ServerSelector& server_selector,
333 const OptionDescriptorPtr& option);
334
342 virtual void
343 createUpdateOption6(const db::BackendSelector& backend_selector,
344 const db::ServerSelector& server_selector,
345 const std::string& shared_network_name,
346 const OptionDescriptorPtr& option);
347
354 virtual void
355 createUpdateOption6(const db::BackendSelector& backend_selector,
356 const db::ServerSelector& server_selector,
357 const SubnetID& subnet_id,
358 const OptionDescriptorPtr& option);
359
369 virtual void
370 createUpdateOption6(const db::BackendSelector& backend_selector,
371 const db::ServerSelector& server_selector,
372 const asiolink::IOAddress& pool_start_address,
373 const asiolink::IOAddress& pool_end_address,
374 const OptionDescriptorPtr& option);
375
385 virtual void
386 createUpdateOption6(const db::BackendSelector& backend_selector,
387 const db::ServerSelector& server_selector,
388 const asiolink::IOAddress& pd_pool_prefix,
389 const uint8_t pd_pool_prefix_length,
390 const OptionDescriptorPtr& option);
391
397 virtual void
399 const db::ServerSelector& server_selector,
400 const data::StampedValuePtr& value);
401
411 virtual void
412 createUpdateClientClass6(const db::BackendSelector& backend_selector,
413 const db::ServerSelector& server_selector,
414 const ClientClassDefPtr& client_class,
415 const std::string& follow_class_name);
416
421 virtual void
422 createUpdateServer6(const db::BackendSelector& backend_selector,
423 const db::ServerPtr& server);
424
431 virtual uint64_t
432 deleteSubnet6(const db::BackendSelector& backend_selector,
433 const db::ServerSelector& server_selector,
434 const std::string& subnet_prefix);
435
442 virtual uint64_t
443 deleteSubnet6(const db::BackendSelector& backend_selector,
444 const db::ServerSelector& server_selector,
445 const SubnetID& subnet_id);
446
452 virtual uint64_t
453 deleteAllSubnets6(const db::BackendSelector& backend_selector,
454 const db::ServerSelector& server_selector);
455
463 virtual uint64_t
464 deleteSharedNetworkSubnets6(const db::BackendSelector& backend_selector,
465 const db::ServerSelector& server_selector,
466 const std::string& shared_network_name);
467
474 virtual uint64_t
475 deleteSharedNetwork6(const db::BackendSelector& backend_selector,
476 const db::ServerSelector& server_selector,
477 const std::string& name);
478
484 virtual uint64_t
485 deleteAllSharedNetworks6(const db::BackendSelector& backend_selector,
486 const db::ServerSelector& server_selector);
487
495 virtual uint64_t
496 deleteOptionDef6(const db::BackendSelector& backend_selector,
497 const db::ServerSelector& server_selector,
498 const uint16_t code,
499 const std::string& space);
500
506 virtual uint64_t
507 deleteAllOptionDefs6(const db::BackendSelector& backend_selector,
508 const db::ServerSelector& server_selector);
509
517 virtual uint64_t
518 deleteOption6(const db::BackendSelector& backend_selector,
519 const db::ServerSelector& server_selector,
520 const uint16_t code,
521 const std::string& space);
522
531 virtual uint64_t
532 deleteOption6(const db::BackendSelector& backend_selector,
533 const db::ServerSelector& server_selector,
534 const std::string& shared_network_name,
535 const uint16_t code,
536 const std::string& space);
537
547 virtual uint64_t
548 deleteOption6(const db::BackendSelector& backend_selector,
549 const db::ServerSelector& server_selector,
550 const SubnetID& subnet_id,
551 const uint16_t code, const std::string& space);
552
564 virtual uint64_t
565 deleteOption6(const db::BackendSelector& backend_selector,
566 const db::ServerSelector& server_selector,
567 const asiolink::IOAddress& pool_start_address,
568 const asiolink::IOAddress& pool_end_address,
569 const uint16_t code,
570 const std::string& space);
571
583 virtual uint64_t
584 deleteOption6(const db::BackendSelector& backend_selector,
585 const db::ServerSelector& server_selector,
586 const asiolink::IOAddress& pd_pool_prefix,
587 const uint8_t pd_pool_prefix_length,
588 const uint16_t code,
589 const std::string& space);
590
597 virtual uint64_t
598 deleteGlobalParameter6(const db::BackendSelector& backend_selector,
599 const db::ServerSelector& server_selector,
600 const std::string& name);
601
607 virtual uint64_t
608 deleteAllGlobalParameters6(const db::BackendSelector& backend_selector,
609 const db::ServerSelector& server_selector);
610
617 virtual uint64_t
618 deleteClientClass6(const db::BackendSelector& backend_selector,
619 const db::ServerSelector& server_selector,
620 const std::string& name);
621
627 virtual uint64_t
628 deleteAllClientClasses6(const db::BackendSelector& backend_selector,
629 const db::ServerSelector& server_selector);
630
636 virtual uint64_t
637 deleteServer6(const db::BackendSelector& backend_selector,
638 const data::ServerTag& server_tag);
639
645 virtual uint64_t
646 deleteAllServers6(const db::BackendSelector& backend_selector);
647};
648
649
650} // end of namespace isc::dhcp
651} // end of namespace isc
652
653#endif // CONFIG_BACKEND_POOL_DHCP6_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 DHCPv6.
virtual OptionContainer getModifiedOptions6(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 SharedNetwork6Collection getAllSharedNetworks6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all shared networks.
virtual uint64_t deleteSharedNetworkSubnets6(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 OptionDefinitionPtr getOptionDef6(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 uint64_t deleteGlobalParameter6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name)
Deletes global parameter.
virtual ClientClassDefPtr getClientClass6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name) const
Retrieves a client class by name.
virtual void createUpdateSubnet6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const Subnet6Ptr &subnet)
Creates or updates a subnet.
virtual void createUpdateSharedNetwork6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const SharedNetwork6Ptr &shared_network)
Creates or updates a shared network.
virtual uint64_t deleteAllGlobalParameters6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all global parameters.
virtual db::ServerCollection getAllServers6(const db::BackendSelector &backend_selector) const
Retrieves all servers from the particular backend.
virtual void createUpdateOption6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const OptionDescriptorPtr &option)
Creates or updates global option.
virtual uint64_t deleteAllClientClasses6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all client classes.
virtual Subnet6Collection getModifiedSubnets6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const
Retrieves subnets modified after specified time.
virtual uint64_t deleteSubnet6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &subnet_prefix)
Deletes subnet by prefix.
virtual Subnet6Collection getAllSubnets6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all subnets.
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 SharedNetwork6Collection getModifiedSharedNetworks6(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 uint64_t deleteServer6(const db::BackendSelector &backend_selector, const data::ServerTag &server_tag)
Deletes a server from the backend.
virtual Subnet6Collection getSharedNetworkSubnets6(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 OptionDefContainer getAllOptionDefs6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all option definitions.
virtual uint64_t deleteAllOptionDefs6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all option definitions.
virtual db::ServerPtr getServer6(const db::BackendSelector &backend_selector, const data::ServerTag &server_tag) const
Retrieves a server from the particular backend.
virtual uint64_t deleteOptionDef6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const uint16_t code, const std::string &space)
Deletes option definition.
virtual ClientClassDictionary getModifiedClientClasses6(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::StampedValueCollection getAllGlobalParameters6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all global parameters.
virtual ClientClassDictionary getAllClientClasses6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all client classes.
virtual void createUpdateGlobalParameter6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const data::StampedValuePtr &value)
Creates or updates global string parameter.
virtual void createUpdateOptionDef6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const OptionDefinitionPtr &option_def)
Creates or updates an option definition.
virtual uint64_t deleteAllServers6(const db::BackendSelector &backend_selector)
Deletes all servers from the backend except the logical server 'all'.
virtual void createUpdateClientClass6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const ClientClassDefPtr &client_class, const std::string &follow_class_name)
Creates or updates DHCPv6 client class.
virtual data::StampedValuePtr getGlobalParameter6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name) const
Retrieves global parameter value.
virtual OptionDefContainer getModifiedOptionDefs6(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 Subnet6Ptr getSubnet6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &subnet_prefix) const
Retrieves a single subnet by subnet_prefix.
virtual data::StampedValueCollection getModifiedGlobalParameters6(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 deleteAllSharedNetworks6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all shared networks.
virtual uint64_t deleteSharedNetwork6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name)
Deletes shared network by name.
virtual OptionContainer getAllOptions6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all global options.
virtual uint64_t deleteAllSubnets6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all subnets.
virtual OptionDescriptorPtr getOption6(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 uint64_t deleteOption6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const uint16_t code, const std::string &space)
Deletes global option.
virtual SharedNetwork6Ptr getSharedNetwork6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name) const
Retrieves shared network by name.
virtual void createUpdateServer6(const db::BackendSelector &backend_selector, const db::ServerPtr &server)
Creates or updates a server.
virtual uint64_t deleteClientClass6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name)
Deletes DHCPv6 client class.
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::multi_index_container< SharedNetwork6Ptr, 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< SharedNetwork6, std::string, &SharedNetwork6::getName > >, 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 > > > > SharedNetwork6Collection
Multi index container holding shared networks.
boost::shared_ptr< Subnet6 > Subnet6Ptr
A pointer to a Subnet6 object.
Definition subnet.h:623
boost::multi_index_container< Subnet6Ptr, 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< SubnetModificationTimeIndexTag >, boost::multi_index::const_mem_fun< data::BaseStampedElement, boost::posix_time::ptime, &data::BaseStampedElement::getModificationTime > > > > Subnet6Collection
A collection of Subnet6 objects.
Definition subnet.h:934
boost::shared_ptr< ClientClassDef > ClientClassDefPtr
a pointer to an ClientClassDef
boost::shared_ptr< OptionDefinition > OptionDefinitionPtr
Pointer to option definition object.
boost::shared_ptr< SharedNetwork6 > SharedNetwork6Ptr
Pointer to SharedNetwork6 object.
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< 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::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.