Kea 2.7.6
subnet.h File Reference
#include <asiolink/io_address.h>
#include <cc/data.h>
#include <cc/user_context.h>
#include <dhcp/option_space_container.h>
#include <dhcpsrv/allocator.h>
#include <dhcpsrv/allocation_state.h>
#include <dhcpsrv/lease.h>
#include <dhcpsrv/network.h>
#include <dhcpsrv/pool.h>
#include <dhcpsrv/subnet_id.h>
#include <util/bigints.h>
#include <util/dhcp_space.h>
#include <util/triplet.h>
#include <boost/enable_shared_from_this.hpp>
#include <boost/multi_index/mem_fun.hpp>
#include <boost/multi_index/indexed_by.hpp>
#include <boost/multi_index/ordered_index.hpp>
#include <boost/multi_index/random_access_index.hpp>
#include <boost/multi_index_container.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/pointer_cast.hpp>
#include <boost/shared_ptr.hpp>
#include <cstdint>
#include <map>
#include <utility>
+ Include dependency graph for subnet.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  isc::dhcp::Subnet
 
class  isc::dhcp::Subnet4
 A configuration holder for IPv4 subnet. More...
 
class  isc::dhcp::Subnet6
 A configuration holder for IPv6 subnet. More...
 
class  isc::dhcp::SubnetFetcher< ReturnPtrType, CollectionType >
 A class containing static convenience methods to fetch the subnets from the containers. More...
 
struct  isc::dhcp::SubnetModificationTimeIndexTag
 Tag for the index for searching by subnet modification time. More...
 
struct  isc::dhcp::SubnetPrefixIndexTag
 Tag for the index for searching by subnet prefix. More...
 
struct  isc::dhcp::SubnetServerIdIndexTag
 Tag for the index for searching by server identifier. More...
 
struct  isc::dhcp::SubnetSubnetIdIndexTag
 Tag for the index for searching by subnet identifier. More...
 

Namespaces

namespace  isc
 Defines the logger used by the top-level component of kea-lfc.
 
namespace  isc::dhcp
 

Typedefs

typedef boost::shared_ptr< const Subnet4isc::dhcp::ConstSubnet4Ptr
 A const pointer to a Subnet4 object.
 
typedef boost::shared_ptr< const Subnet6isc::dhcp::ConstSubnet6Ptr
 A const pointer to a Subnet6 object.
 
typedef boost::shared_ptr< const Subnetisc::dhcp::ConstSubnetPtr
 A generic pointer to either const Subnet4 or const Subnet6 object.
 
typedef boost::shared_ptr< Subnet4isc::dhcp::Subnet4Ptr
 A pointer to a Subnet4 object.
 
typedef boost::shared_ptr< Subnet6isc::dhcp::Subnet6Ptr
 A pointer to a Subnet6 object.
 
typedef boost::shared_ptr< Subnetisc::dhcp::SubnetPtr
 A generic pointer to either Subnet4 or Subnet6 object.
 
Definition of the multi index container holding subnet information
template<isc::util::DhcpSpace D>
using isc::dhcp::ConstSubnetTPtr = boost::shared_ptr<const SubnetT<D>>
 
typedef 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 > > > > isc::dhcp::Subnet4Collection
 A collection of Subnet4 objects.
 
typedef 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 > > > > isc::dhcp::Subnet4SimpleCollection
 A simple collection of Subnet4 objects.
 
typedef 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 > > > > isc::dhcp::Subnet6Collection
 A collection of Subnet6 objects.
 
typedef 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 > > > > isc::dhcp::Subnet6SimpleCollection
 A simple collection of Subnet6 objects.
 
using isc::dhcp::SubnetFetcher4 = SubnetFetcher<Subnet4Ptr, Subnet4Collection>
 Type of the SubnetFetcher used for IPv4.
 
using isc::dhcp::SubnetFetcher6 = SubnetFetcher<Subnet6Ptr, Subnet6Collection>
 Type of the SubnetFetcher used for IPv6.
 
template<isc::util::DhcpSpace D>
using isc::dhcp::SubnetT = typename AdapterSubnet<D>::type
 
template<isc::util::DhcpSpace D>
using isc::dhcp::SubnetTPtr = boost::shared_ptr<SubnetT<D>>