Commit ee25dc7d authored by Tomek Mrugalski's avatar Tomek Mrugalski 🛰
Browse files

[3958] Extra test for large (80 bits pool) configuration implemented.

parent 22071c71
......@@ -1587,6 +1587,29 @@ TEST_F(AllocEngine6Test, largePDPool) {
ASSERT_EQ(1, leases.size());
}
// This test checks that the allocation engine can delegate addresses
// from ridiculously large pool. The configuration provides 2^80 or
// 1208925819614629174706176 addresses. We used to have a bug that would
// confuse the allocation engine if the number of available addresses
// was larger than 2^32.
TEST_F(AllocEngine6Test, largePoolOver32bits) {
AllocEngine engine(AllocEngine::ALLOC_ITERATIVE, 100);
// Configure 2001:db8::/32 subnet
subnet_.reset(new Subnet6(IOAddress("2001:db8::"), 32, 1, 2, 3, 4));
// Configure the NA pool of /48. So there are 2^80 addresses there. Make
// sure that we still can handle cases where number of available addresses
// is over max_uint64
Pool6Ptr pool(new Pool6(Lease::TYPE_NA, IOAddress("2001:db8:1::"), 48));
subnet_->addPool(pool);
// We should have got exactly one lease.
Lease6Collection leases = allocateTest(engine, pool, IOAddress("::"),
false, true);
ASSERT_EQ(1, leases.size());
}
}; // namespace test
}; // namespace dhcp
}; // namespace isc
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment