9#include <boost/make_shared.hpp>
22 auto pd_pool = boost::dynamic_pointer_cast<Pool6>(pool);
23 return (boost::make_shared<PoolRandomAllocationState>(pd_pool->getFirstAddress(),
24 pd_pool->getLastAddress(),
25 pd_pool->getLength()));
27 return (boost::make_shared<PoolRandomAllocationState>(pool->getFirstAddress(), pool->getLastAddress()));
35 const uint8_t delegated)
The IOAddress class represents an IP addresses (version agnostic)
Random IP address/prefix permutation based on Fisher-Yates shuffle.
PoolRandomAllocationState(const asiolink::IOAddress &first, const asiolink::IOAddress &last)
Constructor from an IP address pool.
static PoolRandomAllocationStatePtr create(const PoolPtr &pool)
Factory function creating the state instance from pool.
boost::shared_ptr< PoolRandomAllocationState > PoolRandomAllocationStatePtr
Type of the pointer to the PoolRandomAllocationState.
boost::shared_ptr< Pool > PoolPtr
a pointer to either IPv4 or IPv6 Pool
Defines the logger used by the top-level component of kea-lfc.
Structure representing IP address range.
@ TYPE_PD
the lease contains IPv6 prefix (for prefix delegation)
Structure representing delegated prefix range.