Kea 2.7.6
|
#include <asiolink/io_address.h>
#include <dhcpsrv/lease.h>
#include <dhcpsrv/subnet_id.h>
#include <boost/multi_index/indexed_by.hpp>
#include <boost/multi_index/member.hpp>
#include <boost/multi_index/mem_fun.hpp>
#include <boost/multi_index/hashed_index.hpp>
#include <boost/multi_index/ordered_index.hpp>
#include <boost/multi_index_container.hpp>
#include <boost/multi_index/composite_key.hpp>
#include <functional>
#include <vector>
Go to the source code of this file.
Classes | |
struct | isc::dhcp::AddressIndexTag |
Tag for indexes by address. More... | |
struct | isc::dhcp::ClientIdSubnetIdIndexTag |
Tag for indexes by client-id, subnet-id tuple. More... | |
struct | isc::dhcp::DuidIaidTypeIndexTag |
Tag for indexes by DUID, IAID, lease type tuple. More... | |
struct | isc::dhcp::DuidIndexTag |
Tag for index using DUID. More... | |
struct | isc::dhcp::ExpirationIndexTag |
Tag for indexes by expiration time. More... | |
struct | isc::dhcp::HostnameIndexTag |
Tag for index using hostname. More... | |
struct | isc::dhcp::HWAddressSubnetIdIndexTag |
Tag for indexes by HW address, subnet-id tuple. More... | |
class | isc::dhcp::Lease6ExtendedInfo |
Lease6 extended informations for Bulk Lease Query. More... | |
struct | isc::dhcp::LeaseAddressIndexTag |
Tag for indexes by lease address. More... | |
struct | isc::dhcp::RelayIdIndexTag |
Tag for index using relay-id. More... | |
struct | isc::dhcp::RemoteIdIndexTag |
Tag for index using remote-id. More... | |
struct | isc::dhcp::SubnetIdIndexTag |
Tag for indexes by subnet-id (and address for v6). More... | |
struct | isc::dhcp::SubnetIdPoolIdIndexTag |
Tag for indexes by subnet-id and pool-id. More... | |
Namespaces | |
namespace | isc |
Defines the logger used by the top-level component of kea-lfc. | |
namespace | isc::dhcp |
Typedefs | |
Multi index containers holding DHCPv4 and DHCPv6 leases. | |
typedef boost::multi_index_container< Lease4Ptr, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::tag< AddressIndexTag >, boost::multi_index::member< Lease, isc::asiolink::IOAddress, &Lease::addr_ > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< HWAddressSubnetIdIndexTag >, boost::multi_index::composite_key< Lease4, boost::multi_index::const_mem_fun< Lease, const std::vector< uint8_t > &, &Lease::getHWAddrVector >, boost::multi_index::member< Lease, SubnetID, &Lease::subnet_id_ > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< ClientIdSubnetIdIndexTag >, boost::multi_index::composite_key< Lease4, boost::multi_index::const_mem_fun< Lease4, const std::vector< uint8_t > &, &Lease4::getClientIdVector >, boost::multi_index::member< Lease, uint32_t, &Lease::subnet_id_ > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< ExpirationIndexTag >, boost::multi_index::composite_key< Lease4, boost::multi_index::const_mem_fun< Lease, bool, &Lease::stateExpiredReclaimed >, boost::multi_index::const_mem_fun< Lease, int64_t, &Lease::getExpirationTime > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SubnetIdIndexTag >, boost::multi_index::member< Lease, isc::dhcp::SubnetID, &Lease::subnet_id_ > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< HostnameIndexTag >, boost::multi_index::member< Lease, std::string, &Lease::hostname_ > >, boost::multi_index::hashed_non_unique< boost::multi_index::tag< RemoteIdIndexTag >, boost::multi_index::member< Lease4, std::vector< uint8_t >, &Lease4::remote_id_ > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< RelayIdIndexTag >, boost::multi_index::composite_key< Lease4, boost::multi_index::member< Lease4, std::vector< uint8_t >, &Lease4::relay_id_ >, boost::multi_index::member< Lease, isc::asiolink::IOAddress, &Lease::addr_ > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SubnetIdPoolIdIndexTag >, boost::multi_index::composite_key< Lease4, boost::multi_index::member< Lease, SubnetID, &Lease::subnet_id_ >, boost::multi_index::member< Lease, uint32_t, &Lease::pool_id_ > > > > > | isc::dhcp::Lease4Storage |
A multi index container holding DHCPv4 leases. | |
typedef boost::multi_index_container< Lease6Ptr, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::tag< AddressIndexTag >, boost::multi_index::member< Lease, isc::asiolink::IOAddress, &Lease::addr_ > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< DuidIaidTypeIndexTag >, boost::multi_index::composite_key< Lease6, boost::multi_index::const_mem_fun< Lease6, const std::vector< uint8_t > &, &Lease6::getDuidVector >, boost::multi_index::member< Lease6, uint32_t, &Lease6::iaid_ >, boost::multi_index::member< Lease6, Lease::Type, &Lease6::type_ > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< ExpirationIndexTag >, boost::multi_index::composite_key< Lease6, boost::multi_index::const_mem_fun< Lease, bool, &Lease::stateExpiredReclaimed >, boost::multi_index::const_mem_fun< Lease, int64_t, &Lease::getExpirationTime > > >, boost::multi_index::ordered_unique< boost::multi_index::tag< SubnetIdIndexTag >, boost::multi_index::composite_key< Lease6, boost::multi_index::member< Lease, isc::dhcp::SubnetID, &Lease::subnet_id_ >, boost::multi_index::member< Lease, isc::asiolink::IOAddress, &Lease::addr_ > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< DuidIndexTag >, boost::multi_index::const_mem_fun< Lease6, const std::vector< uint8_t > &, &Lease6::getDuidVector > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< HostnameIndexTag >, boost::multi_index::member< Lease, std::string, &Lease::hostname_ > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SubnetIdPoolIdIndexTag >, boost::multi_index::composite_key< Lease6, boost::multi_index::member< Lease, SubnetID, &Lease::subnet_id_ >, boost::multi_index::member< Lease, uint32_t, &Lease::pool_id_ > > > > > | isc::dhcp::Lease6Storage |
A multi index container holding DHCPv6 leases. | |
Indexes used by the multi index containers | |
typedef Lease4Storage::index< AddressIndexTag >::type | isc::dhcp::Lease4StorageAddressIndex |
DHCPv4 lease storage index by address. | |
typedef Lease4Storage::index< ClientIdSubnetIdIndexTag >::type | isc::dhcp::Lease4StorageClientIdSubnetIdIndex |
DHCPv4 lease storage index by client-id and subnet-id. | |
typedef Lease4Storage::index< ExpirationIndexTag >::type | isc::dhcp::Lease4StorageExpirationIndex |
DHCPv4 lease storage index by expiration time. | |
typedef Lease4Storage::index< HostnameIndexTag >::type | isc::dhcp::Lease4StorageHostnameIndex |
DHCPv4 lease storage index by hostname. | |
typedef Lease4Storage::index< HWAddressSubnetIdIndexTag >::type | isc::dhcp::Lease4StorageHWAddressSubnetIdIndex |
DHCPv4 lease storage index by HW address and subnet-id. | |
typedef Lease4Storage::index< RelayIdIndexTag >::type | isc::dhcp::Lease4StorageRelayIdIndex |
DHCPv4 lease storage index by relay-id. | |
typedef Lease4Storage::index< RemoteIdIndexTag >::type | isc::dhcp::Lease4StorageRemoteIdIndex |
DHCPv4 lease storage index by remote-id. | |
typedef std::pair< Lease4StorageRemoteIdIndex::const_iterator, Lease4StorageRemoteIdIndex::const_iterator > | isc::dhcp::Lease4StorageRemoteIdRange |
DHCPv4 lease storage range by remote-id. | |
typedef Lease4Storage::index< SubnetIdIndexTag >::type | isc::dhcp::Lease4StorageSubnetIdIndex |
DHCPv4 lease storage index subnet-id. | |
typedef Lease4Storage::index< SubnetIdPoolIdIndexTag >::type | isc::dhcp::Lease4StorageSubnetIdPoolIdIndex |
DHCPv4 lease storage index subnet-id and pool-id. | |
typedef Lease6Storage::index< AddressIndexTag >::type | isc::dhcp::Lease6StorageAddressIndex |
DHCPv6 lease storage index by address. | |
typedef Lease6Storage::index< DuidIaidTypeIndexTag >::type | isc::dhcp::Lease6StorageDuidIaidTypeIndex |
DHCPv6 lease storage index by DUID, IAID, lease type. | |
typedef Lease6Storage::index< DuidIndexTag >::type | isc::dhcp::Lease6StorageDuidIndex |
DHCPv6 lease storage index by DUID. | |
typedef Lease6Storage::index< ExpirationIndexTag >::type | isc::dhcp::Lease6StorageExpirationIndex |
DHCPv6 lease storage index by expiration time. | |
typedef Lease6Storage::index< HostnameIndexTag >::type | isc::dhcp::Lease6StorageHostnameIndex |
DHCPv6 lease storage index by hostname. | |
typedef Lease6Storage::index< SubnetIdIndexTag >::type | isc::dhcp::Lease6StorageSubnetIdIndex |
DHCPv6 lease storage index by subnet-id. | |
typedef Lease6Storage::index< SubnetIdPoolIdIndexTag >::type | isc::dhcp::Lease6StorageSubnetIdPoolIdIndex |
DHCPv6 lease storage index subnet-id and pool-id. | |
Multi index containers holding DHCPv6 lease extended informations | |
for Bulk Lease Query. | |
typedef boost::shared_ptr< Lease6ExtendedInfo > | isc::dhcp::Lease6ExtendedInfoPtr |
Pointer to a Lease6ExtendedInfo object. | |
typedef boost::multi_index_container< Lease6ExtendedInfoPtr, boost::multi_index::indexed_by< boost::multi_index::ordered_non_unique< boost::multi_index::tag< RelayIdIndexTag >, boost::multi_index::composite_key< Lease6ExtendedInfo, boost::multi_index::member< Lease6ExtendedInfo, std::vector< uint8_t >, &Lease6ExtendedInfo::id_ >, boost::multi_index::member< Lease6ExtendedInfo, isc::asiolink::IOAddress, &Lease6ExtendedInfo::lease_addr_ > > >, boost::multi_index::hashed_non_unique< boost::multi_index::tag< LeaseAddressIndexTag >, boost::multi_index::member< Lease6ExtendedInfo, isc::asiolink::IOAddress, &Lease6ExtendedInfo::lease_addr_ > > > > | isc::dhcp::Lease6ExtendedInfoRelayIdTable |
A multi index container holding lease6 extended info for by relay id. | |
typedef boost::multi_index_container< Lease6ExtendedInfoPtr, boost::multi_index::indexed_by< boost::multi_index::hashed_non_unique< boost::multi_index::tag< RemoteIdIndexTag >, boost::multi_index::member< Lease6ExtendedInfo, std::vector< uint8_t >, &Lease6ExtendedInfo::id_ > >, boost::multi_index::hashed_non_unique< boost::multi_index::tag< LeaseAddressIndexTag >, boost::multi_index::member< Lease6ExtendedInfo, isc::asiolink::IOAddress, &Lease6ExtendedInfo::lease_addr_ > > > > | isc::dhcp::Lease6ExtendedInfoRemoteIdTable |
A multi index container holding lease6 extended info for by remote id. | |
typedef Lease6ExtendedInfoRelayIdTable::index< LeaseAddressIndexTag >::type | isc::dhcp::LeaseAddressRelayIdIndex |
Lease6 extended information by lease address index of by relay id table. | |
typedef Lease6ExtendedInfoRemoteIdTable::index< LeaseAddressIndexTag >::type | isc::dhcp::LeaseAddressRemoteIdIndex |
Lease6 extended information by lease address index of by remote id table. | |
typedef Lease6ExtendedInfoRelayIdTable::index< RelayIdIndexTag >::type | isc::dhcp::RelayIdIndex |
Lease6 extended information by relay id index. | |
typedef Lease6ExtendedInfoRemoteIdTable::index< RemoteIdIndexTag >::type | isc::dhcp::RemoteIdIndex |
Lease6 extended information by remote id index. | |
typedef std::pair< RemoteIdIndex::const_iterator, RemoteIdIndex::const_iterator > | isc::dhcp::RemoteIdIndexRange |
Lease6 extended information by remote id range. | |