Commit f4963266 authored by Shawn Routhier's avatar Shawn Routhier
Browse files

[3799] Add more tests

Update the documents a bit

Fix up handling reservations from outside the subnet

Add more tests
parent 715cf526
......@@ -2608,13 +2608,14 @@ should include options from the isc option space:
<entry>subnet[id].total-NAs</entry>
<entry>integer</entry>
<entry>
This statistic shows the total number of NA addresses available for the
DHCPv6 management. In other words, this is the sum of all addresses in
all configured pools. This statistic changes only during configuration
changes. Note it does not take into account any addresses that may be
reserved due to host reservation. The <emphasis>id</emphasis> is the
subnet-id of a given subnet. This statistic is exposed for each subnet
separately. This statistic is reset during reconfiguration event.
This statistic shows the total number of NA addresses available for
DHCPv6 management for a given subnet. In other words, this is the sum
of all addresses in all configured pools. This statistic changes only
during configuration changes. Note it does not take into account any
addresses that may be reserved due to host reservation. The
<emphasis>id</emphasis> is the subnet-id of a given subnet. This
statistic is exposed for each subnet separately. This statistic is
reset during a reconfiguration event.
</entry>
</row>
......@@ -2622,14 +2623,14 @@ should include options from the isc option space:
<entry>subnet[id].assigned-NAs</entry>
<entry>integer</entry>
<entry>
This statistic shows the number of assigned NA addresses in a given subnet.
This statistic increases every time a new lease is allocated (as a result
of receiving a REQUEST message) and is decreased every time a lease is
released (a RELEASE message is received). When lease expiration
This statistic shows the number of NA addresses in a given subnet that
are assigned. This statistic increases every time a new lease is allocated
(as a result of receiving a REQUEST message) and is decreased every time a
lease is released (a RELEASE message is received). When lease expiration
is implemented (planned for Kea 1.0), it will also decrease when a lease
is expired. The <emphasis>id</emphasis> is the subnet-id of a given
subnet. This statistic is exposed for each subnet separately. This
statistic is reset during reconfiguration event.
statistic is reset during a reconfiguration event.
</entry>
</row>
......@@ -2637,13 +2638,14 @@ should include options from the isc option space:
<entry>subnet[id].total-PDs</entry>
<entry>integer</entry>
<entry>
This statistic shows the total number of PD prefixes available for the
DHCPv6 management. In other words, this is the sum of all prefixes in
all configured pools. This statistic changes only during configuration
changes. Note it does not take into account any prefixes that may be
reserved due to host reservation. The <emphasis>id</emphasis> is the
subnet-id of a given subnet. This statistic is exposed for each subnet
separately. This statistic is reset during reconfiguration event.
This statistic shows the total number of PD prefixes available for
DHCPv6 management for a given subnet. In other words, this is the sum
of all prefixes in all configured pools. This statistic changes only
during configuration changes. Note it does not take into account any
prefixes that may be reserved due to host reservation. The
<emphasis>id</emphasis> is the subnet-id of a given subnet. This
statistic is exposed for each subnet separately. This statistic is
reset during a reconfiguration event.
</entry>
</row>
......@@ -2651,14 +2653,14 @@ should include options from the isc option space:
<entry>subnet[id].assigned-PDs</entry>
<entry>integer</entry>
<entry>
This statistic shows the number of assigned PD prefixes in a given subnet.
This statistic increases every time a new lease is allocated (as a result
of receiving a REQUEST message) and is decreased every time a lease is
released (a RELEASE message is received). When lease expiration
This statistic shows the number of PD prefixes in a given subnet that
are assigned. This statistic increases every time a new lease is allocated
(as a result of receiving a REQUEST message) and is decreased every time a
lease is released (a RELEASE message is received). When lease expiration
is implemented (planned for Kea 1.0), it will also decrease when a lease
is expired. The <emphasis>id</emphasis> is the subnet-id of a given
subnet. This statistic is exposed for each subnet separately. This
statistic is reset during reconfiguration event.
statistic is reset during a reconfiguration event.
</entry>
</row>
......
......@@ -966,6 +966,7 @@ TEST_F(Dhcpv6SrvTest, pdRenewReject) {
// - returned REPLY message has server-id
// - returned REPLY message has IA_NA that does not include an IAADDR
// - lease is actually removed from LeaseMgr
// - assigned-NAs stats counter is properly decremented
TEST_F(Dhcpv6SrvTest, ReleaseBasic) {
testReleaseBasic(Lease::TYPE_NA, IOAddress("2001:db8:1:1::cafe:babe"),
IOAddress("2001:db8:1:1::cafe:babe"));
......@@ -980,6 +981,7 @@ TEST_F(Dhcpv6SrvTest, ReleaseBasic) {
// - returned REPLY message has server-id
// - returned REPLY message has IA_PD that does not include an IAPREFIX
// - lease is actually removed from LeaseMgr
// - assigned-PDs stats counter is properly decremented
TEST_F(Dhcpv6SrvTest, pdReleaseBasic) {
testReleaseBasic(Lease::TYPE_PD, IOAddress("2001:db8:1:2::"),
IOAddress("2001:db8:1:2::"));
......@@ -998,6 +1000,7 @@ TEST_F(Dhcpv6SrvTest, pdReleaseBasic) {
// - returned REPLY message has server-id
// - returned REPLY message has IA_NA that includes STATUS-CODE
// - No lease in LeaseMgr
// - assigned-NAs stats counter is properly not decremented
TEST_F(Dhcpv6SrvTest, ReleaseReject) {
testReleaseReject(Lease::TYPE_NA, IOAddress("2001:db8:1:1::dead"));
}
......@@ -1015,6 +1018,7 @@ TEST_F(Dhcpv6SrvTest, ReleaseReject) {
// - returned REPLY message has server-id
// - returned REPLY message has IA_PD that includes STATUS-CODE
// - No lease in LeaseMgr
// - assigned-PDs stats counter is properly not decremented
TEST_F(Dhcpv6SrvTest, pdReleaseReject) {
testReleaseReject(Lease::TYPE_PD, IOAddress("2001:db8:1:2::"));
}
......
......@@ -17,6 +17,7 @@
#include <dhcp/option6_status_code.h>
#include <dhcp6/tests/dhcp6_test_utils.h>
#include <dhcp6/json_config_parser.h>
#include <stats/stats_mgr.h>
#include <util/pointer_util.h>
#include <cc/command_interpreter.h>
#include <string.h>
......@@ -24,6 +25,7 @@
using namespace isc::data;
using namespace isc::dhcp;
using namespace isc::asiolink;
using namespace isc::stats;
namespace isc {
namespace test {
......@@ -590,6 +592,12 @@ Dhcpv6SrvTest::testReleaseBasic(Lease::Type type, const IOAddress& existing,
Lease6Ptr l = LeaseMgrFactory::instance().getLease6(type, existing);
ASSERT_TRUE(l);
// And prepopulate the stats counter
std::string name = StatsMgr::generateName("subnet", subnet_->getID(),
type == Lease::TYPE_NA ? "assigned-NAs" :
"assigned-PDs");
StatsMgr::instance().setValue(name, static_cast<int64_t>(1));
// Let's create a RELEASE
Pkt6Ptr rel = createMessage(DHCPV6_RELEASE, type, release_addr, prefix_len,
iaid);
......@@ -628,6 +636,11 @@ Dhcpv6SrvTest::testReleaseBasic(Lease::Type type, const IOAddress& existing,
l = LeaseMgrFactory::instance().getLease6(type, *duid_, iaid,
subnet_->getID());
ASSERT_FALSE(l);
// We should have decremented the address counter
ObservationPtr stat = StatsMgr::instance().getObservation(name);
ASSERT_TRUE(stat);
EXPECT_EQ(0, stat->getInteger().first);
}
void
......@@ -656,6 +669,12 @@ Dhcpv6SrvTest::testReleaseReject(Lease::Type type, const IOAddress& addr) {
// GenerateClientId() also sets duid_
OptionPtr clientid = generateClientId();
// Pretend we have allocated 1 lease
std::string name = StatsMgr::generateName("subnet", subnet_->getID(),
type == Lease::TYPE_NA ? "assigned-NAs" :
"assigned-PDs");
StatsMgr::instance().setValue(name, static_cast<int64_t>(1));
// Check that the lease is NOT in the database
Lease6Ptr l = LeaseMgrFactory::instance().getLease6(type, addr);
ASSERT_FALSE(l);
......@@ -685,6 +704,11 @@ Dhcpv6SrvTest::testReleaseReject(Lease::Type type, const IOAddress& addr) {
l = LeaseMgrFactory::instance().getLease6(type, addr);
ASSERT_FALSE(l);
// Verify we didn't decrement the stats counter
ObservationPtr stat = StatsMgr::instance().getObservation(name);
ASSERT_TRUE(stat);
EXPECT_EQ(1, stat->getInteger().first);
// CASE 2: Lease is known and belongs to this client, but to a different IAID
SCOPED_TRACE("CASE 2: Lease is known and belongs to this client, but to a different IAID");
......@@ -713,6 +737,9 @@ Dhcpv6SrvTest::testReleaseReject(Lease::Type type, const IOAddress& addr) {
l = LeaseMgrFactory::instance().getLease6(type, addr);
ASSERT_TRUE(l);
// Verify we didn't decrement the stats counter
EXPECT_EQ(1, stat->getInteger().first);
// CASE 3: Lease belongs to a client with different client-id
SCOPED_TRACE("CASE 3: Lease belongs to a client with different client-id");
......@@ -737,6 +764,9 @@ Dhcpv6SrvTest::testReleaseReject(Lease::Type type, const IOAddress& addr) {
l = LeaseMgrFactory::instance().getLease6(type, addr);
ASSERT_TRUE(l);
// Verify we didn't decrement the stats counter
EXPECT_EQ(1, stat->getInteger().first);
// Finally, let's cleanup the database
EXPECT_TRUE(LeaseMgrFactory::instance().deleteLease(addr));
}
......
......@@ -1038,12 +1038,15 @@ Lease6Ptr AllocEngine::createLease6(ClientContext6& ctx,
bool status = LeaseMgrFactory::instance().addLease(lease);
if (status) {
// The lease insertion succeeded, let's bump up the statistic.
StatsMgr::instance().addValue(
StatsMgr::generateName("subnet", ctx.subnet_->getID(),
ctx.type_ == Lease::TYPE_NA ? "assigned-NAs" :
"assigned-PDs"),
static_cast<int64_t>(1));
// The lease insertion succeeded - if the lease is in the
// current subnet lets bump up the statistic.
if (ctx.subnet_->inPool(ctx.type_, addr)) {
StatsMgr::instance().addValue(
StatsMgr::generateName("subnet", ctx.subnet_->getID(),
ctx.type_ == Lease::TYPE_NA ? "assigned-NAs" :
"assigned-PDs"),
static_cast<int64_t>(1));
}
return (lease);
} else {
......
......@@ -53,59 +53,51 @@ TEST_F(AllocEngine6Test, constructor) {
}
// This test checks if the simple allocation (REQUEST) can succeed
// and the stats counter is properly bumped by 1
TEST_F(AllocEngine6Test, simpleAlloc6) {
// Pretend our pool has allocated 100 addresses
string name = StatsMgr::generateName("subnet", subnet_->getID(), "assigned-NAs");
StatsMgr::instance().addValue(name, static_cast<int64_t>(100));
simpleAlloc6Test(pool_, IOAddress("::"), false);
// We should have bumped the address counter by 1
string name = StatsMgr::generateName("subnet", subnet_->getID(), "assigned-NAs");
ObservationPtr stat = StatsMgr::instance().getObservation(name);
ASSERT_TRUE(stat);
EXPECT_EQ(101, stat->getInteger().first);
}
// This test checks if the simple PD allocation (REQUEST) can succeed
// and the stats counter is properly bumped by 1
TEST_F(AllocEngine6Test, pdSimpleAlloc6) {
// Pretend our pool has allocated 100 prefixes
string name = StatsMgr::generateName("subnet", subnet_->getID(), "assigned-PDs");
StatsMgr::instance().addValue(name, static_cast<int64_t>(100));
simpleAlloc6Test(pd_pool_, IOAddress("::"), false);
// We should have bumped the address counter by 1
string name = StatsMgr::generateName("subnet", subnet_->getID(), "assigned-PDs");
ObservationPtr stat = StatsMgr::instance().getObservation(name);
ASSERT_TRUE(stat);
EXPECT_EQ(101, stat->getInteger().first);
}
// This test checks if the fake allocation (for SOLICIT) can succeed
// and the stats counter isn't bumped
TEST_F(AllocEngine6Test, fakeAlloc6) {
// Pretend our pool has allocated 100 prefixes
string name = StatsMgr::generateName("subnet", subnet_->getID(), "assigned-NAs");
StatsMgr::instance().addValue(name, static_cast<int64_t>(100));
simpleAlloc6Test(pool_, IOAddress("::"), true);
// We should not have bumped the address counter
string name = StatsMgr::generateName("subnet", subnet_->getID(), "assigned-NAs");
ObservationPtr stat = StatsMgr::instance().getObservation(name);
ASSERT_TRUE(stat);
EXPECT_EQ(100, stat->getInteger().first);
}
// This test checks if the fake PD allocation (for SOLICIT) can succeed
// and the stats counter isn't bumped
TEST_F(AllocEngine6Test, pdFakeAlloc6) {
// Pretend our pool has allocated 100 prefixes
string name = StatsMgr::generateName("subnet", subnet_->getID(), "assigned-PDs");
StatsMgr::instance().addValue(name, static_cast<int64_t>(100));
simpleAlloc6Test(pd_pool_, IOAddress("::"), true);
// We should not have bumped the address counter
string name = StatsMgr::generateName("subnet", subnet_->getID(), "assigned-PDs");
ObservationPtr stat = StatsMgr::instance().getObservation(name);
ASSERT_TRUE(stat);
EXPECT_EQ(100, stat->getInteger().first);
......@@ -566,6 +558,10 @@ TEST_F(AllocEngine6Test, requestReuseExpiredLease6) {
lease->hostname_ = "myhost.example.com.";
ASSERT_TRUE(LeaseMgrFactory::instance().addLease(lease));
// By default we pretend our subnet has 100 addresses
string name = StatsMgr::generateName("subnet", subnet_->getID(), "assigned-NAs");
StatsMgr::instance().setValue(name, static_cast<int64_t>(100));
// A client comes along, asking specifically for this address
AllocEngine::ClientContext6 ctx(subnet_, duid_, iaid_, addr, Lease::TYPE_NA,
false, false, "", false);
......@@ -596,6 +592,13 @@ TEST_F(AllocEngine6Test, requestReuseExpiredLease6) {
// Now check that the lease in LeaseMgr has the same parameters
detailCompareLease(lease, from_mgr);
// We should not have bumped the address counter
// NOTE: when we start expiring addresses and removing them from
// the stats this will no longer be true.
ObservationPtr stat = StatsMgr::instance().getObservation(name);
ASSERT_TRUE(stat);
EXPECT_EQ(100, stat->getInteger().first);
}
// --- v6 host reservation ---
......@@ -639,9 +642,9 @@ TEST_F(AllocEngine6Test, reservedAddressInPoolRequestNoHint) {
AllocEngine engine(AllocEngine::ALLOC_ITERATIVE, 100, false);
// Pretend our pool has allocated 100 addresses
// By default we pretend our subnet has 100 addresses
string name = StatsMgr::generateName("subnet", subnet_->getID(), "assigned-NAs");
StatsMgr::instance().addValue(name, static_cast<int64_t>(100));
StatsMgr::instance().setValue(name, static_cast<int64_t>(100));
Lease6Ptr lease = simpleAlloc6Test(pool_, IOAddress("::"), false);
ASSERT_TRUE(lease);
......@@ -757,7 +760,7 @@ TEST_F(AllocEngine6Test, reservedAddressInPoolRequestMatchingHint) {
// This test checks the behavior of the allocation engine in the following
// scenario:
// - Client has no lease in the database.
// - Client has an in-pool reservation.
// - Client has an out-of-pool reservation.
// - Client sends SOLICIT without any hints.
// - Client is allocated a reserved address.
//
......@@ -773,13 +776,14 @@ TEST_F(AllocEngine6Test, reservedAddressOutOfPoolSolicitNoHint) {
Lease6Ptr lease = simpleAlloc6Test(pool_, IOAddress("::"), true, false);
ASSERT_TRUE(lease);
EXPECT_EQ("2001:db8::abcd", lease->addr_.toText());
}
// Checks that a client gets the address reserved (in-pool case)
// Checks that a client gets the address reserved (out-of-pool case)
// This test checks the behavior of the allocation engine in the following
// scenario:
// - Client has no lease in the database.
// - Client has an in-pool reservation.
// - Client has an out-of-pool reservation.
// - Client sends REQUEST without any hints.
// - Client is allocated a reserved address.
//
......@@ -792,9 +796,18 @@ TEST_F(AllocEngine6Test, reservedAddressOutOfPoolRequestNoHint) {
AllocEngine engine(AllocEngine::ALLOC_ITERATIVE, 100, false);
// By default we pretend our subnet has 100 addresses
string name = StatsMgr::generateName("subnet", subnet_->getID(), "assigned-NAs");
StatsMgr::instance().setValue(name, static_cast<int64_t>(100));
Lease6Ptr lease = simpleAlloc6Test(pool_, IOAddress("::"), false, false);
ASSERT_TRUE(lease);
EXPECT_EQ("2001:db8::abcd", lease->addr_.toText());
// We should not have bumped the address counter
ObservationPtr stat = StatsMgr::instance().getObservation(name);
ASSERT_TRUE(stat);
EXPECT_EQ(100, stat->getInteger().first);
}
// Checks that a client gets the address reserved (in-pool case)
......@@ -822,11 +835,11 @@ TEST_F(AllocEngine6Test, reservedAddressOutOfPoolSolicitValidHint) {
EXPECT_EQ("2001:db8::abcd", lease->addr_.toText());
}
// Checks that a client gets the address reserved (in-pool case)
// Checks that a client gets the address reserved (out-of-pool case)
// This test checks the behavior of the allocation engine in the following
// scenario:
// - Client has no lease in the database.
// - Client has an in-pool reservation.
// - Client has an out-of-pool reservation.
// - Client sends REQUEST with a hint that does not match reservation
// - Client is allocated a reserved address, not the hint.
//
......@@ -847,11 +860,11 @@ TEST_F(AllocEngine6Test, reservedAddressOutOfPoolRequestValidHint) {
EXPECT_EQ("2001:db8::abcd", lease->addr_.toText());
}
// Checks that a client gets the address reserved (in-pool case)
// Checks that a client gets the address reserved (out-of-pool case)
// This test checks the behavior of the allocation engine in the following
// scenario:
// - Client has no lease in the database.
// - Client has an in-pool reservation.
// - Client has an out-of-pool reservation.
// - Client sends SOLICIT with a hint that does matches reservation
// - Client is allocated a reserved address, not the hint.
//
......@@ -872,11 +885,11 @@ TEST_F(AllocEngine6Test, reservedAddressOutOfPoolSolicitMatchingHint) {
EXPECT_EQ("2001:db8::abcd", lease->addr_.toText());
}
// Checks that a client gets the address reserved (in-pool case)
// Checks that a client gets the address reserved (out-of-pool case)
// This test checks the behavior of the allocation engine in the following
// scenario:
// - Client has no lease in the database.
// - Client has an in-pool reservation.
// - Client has an out-of-pool reservation.
// - Client sends REQUEST with a hint that does not match reservation
// - Client is allocated a reserved address, not the hint.
//
......@@ -903,18 +916,16 @@ TEST_F(AllocEngine6Test, reservedAddressOutOfPoolRequestMatchingHint) {
// - client tries to get address A:
// Check that his existing lease for lease A is removed
// Check that he is assigned a new lease for B
// - verify that the number of assigned address behaves as expected
TEST_F(AllocEngine6Test, reservedAddressInPoolReassignedThis) {
AllocEngine engine(AllocEngine::ALLOC_ITERATIVE, 100, false);
// Pretend our pool has allocated 100 addresses
string name = StatsMgr::generateName("subnet", subnet_->getID(), "assigned-NAs");
StatsMgr::instance().addValue(name, static_cast<int64_t>(100));
// Client gets an address
Lease6Ptr lease1 = simpleAlloc6Test(pool_, IOAddress("::"), false);
ASSERT_TRUE(lease1);
// We should have bumped the address counter
string name = StatsMgr::generateName("subnet", subnet_->getID(), "assigned-NAs");
ObservationPtr stat = StatsMgr::instance().getObservation(name);
ASSERT_TRUE(stat);
EXPECT_EQ(101, stat->getInteger().first);
......@@ -959,9 +970,7 @@ TEST_F(AllocEngine6Test, reservedAddressInPoolReassignedThis) {
// Lastly check to see that the address counter is still 101 we should have
// have decremented it on the implied release and incremented it on the reserved
EXPECT_EQ(101, stat->getInteger().first);
}
// In the following situation:
// - client X is assigned an address A
// - HR is made for client Y (*other* client) to get A
......@@ -975,12 +984,21 @@ TEST_F(AllocEngine6Test, reservedAddressInPoolReassignedOther) {
Lease6Ptr lease1 = simpleAlloc6Test(pool_, IOAddress("::"), false);
ASSERT_TRUE(lease1);
// We should have bumped the address counter
string name = StatsMgr::generateName("subnet", subnet_->getID(), "assigned-NAs");
ObservationPtr stat = StatsMgr::instance().getObservation(name);
ASSERT_TRUE(stat);
EXPECT_EQ(101, stat->getInteger().first);
// Just check that if the client requests again, it will get the same
// address.
Lease6Ptr lease2 = simpleAlloc6Test(pool_, lease1->addr_, false);
ASSERT_TRUE(lease2);
detailCompareLease(lease1, lease2);
// We should not have bumped the address counter again
EXPECT_EQ(101, stat->getInteger().first);
// Now admin creates a reservation for this client. Let's use the
// address client X just received. Let's generate a host, but don't add it
// to the HostMgr yet.
......@@ -1014,6 +1032,10 @@ TEST_F(AllocEngine6Test, reservedAddressInPoolReassignedOther) {
// Now check that the lease in LeaseMgr has the same parameters
detailCompareLease(lease3, from_mgr);
// Lastly check to see that the address counter is still 101 we should have
// have decremented it on the implied release and incremented it on the reserved
EXPECT_EQ(101, stat->getInteger().first);
}
// Checks that a reserved address for client A is not assigned when
......@@ -1430,30 +1452,6 @@ TEST_F(AllocEngine6Test, reservedAddressByMacInPoolRequestValidHint) {
}
// This test checks that NULL values are handled properly
TEST_F(AllocEngine6Test, allocateAddress6Stats) {
boost::scoped_ptr<AllocEngine> engine;
ASSERT_NO_THROW(engine.reset(new AllocEngine(AllocEngine::ALLOC_ITERATIVE, 100)));
ASSERT_TRUE(engine);
// Verify our pool hasn't allocated any addresses
string name = StatsMgr::generateName("subnet", subnet_->getID(), "assigned-NAs");
StatsMgr::instance().addValue(name, static_cast<int64_t>(100));
Lease6Ptr lease;
AllocEngine::ClientContext6 ctx1(subnet_, duid_, iaid_, IOAddress("::"),
Lease::TYPE_NA, false, false, "", false);
ctx1.query_.reset(new Pkt6(DHCPV6_REQUEST, 1234));
EXPECT_NO_THROW(lease = expectOneLease(engine->allocateLeases6(ctx1)));
ASSERT_TRUE(lease);
// We should have bumped the address counter by 1
ObservationPtr stat = StatsMgr::instance().getObservation(name);
ASSERT_TRUE(stat);
EXPECT_EQ(101, stat->getInteger().first);
}
}; // namespace test
}; // namespace dhcp
}; // namespace isc
......@@ -22,6 +22,7 @@
#include <dhcpsrv/host_mgr.h>
#include <dhcpsrv/lease_mgr.h>
#include <dhcpsrv/memfile_lease_mgr.h>
#include <stats/stats_mgr.h>
#include <dhcpsrv/tests/test_utils.h>
#include <dhcpsrv/tests/alloc_engine_utils.h>
......@@ -40,6 +41,7 @@
using namespace std;
using namespace isc::hooks;
using namespace isc::asiolink;
using namespace isc::stats;
namespace isc {
namespace dhcp {
......@@ -82,6 +84,14 @@ AllocEngine6Test::initSubnet(const asiolink::IOAddress& subnet,
cfg_mgr.getStagingCfg()->getCfgSubnets6()->add(subnet_);
cfg_mgr.commit();
// By default we pretend our subnet has 100 addresses and prefixes allocated.
StatsMgr::instance().setValue(
StatsMgr::generateName("subnet", subnet_->getID(), "assigned-NAs"),
static_cast<int64_t>(100));
StatsMgr::instance().setValue(
StatsMgr::generateName("subnet", subnet_->getID(), "assigned-PDs"),
static_cast<int64_t>(100));
}
void
......
......@@ -583,7 +583,7 @@ TEST_F(CfgMgrTest, commitStats4) {
StatsMgr& stats_mgr = StatsMgr::instance();
// Let's prepare the "old" configuration: a subnet with id 123
// and pretend there ware addresses assigned, so statistics are non-zero.
// and pretend there were addresses assigned, so statistics are non-zero.
Subnet4Ptr subnet1(new Subnet4(IOAddress("192.1.2.0"), 24, 1, 2, 3, 123));
CfgSubnets4Ptr subnets = cfg_mgr.getStagingCfg()->getCfgSubnets4();
subnets->add(subnet1);
......@@ -622,7 +622,7 @@ TEST_F(CfgMgrTest, clearStats4) {
StatsMgr& stats_mgr = StatsMgr::instance();
// Let's prepare the "old" configuration: a subnet with id 123
// and pretend there ware addresses assigned, so statistics are non-zero.
// and pretend there were addresses assigned, so statistics are non-zero.
Subnet4Ptr subnet1(new Subnet4(IOAddress("192.1.2.0"), 24, 1, 2, 3, 123));
CfgSubnets4Ptr subnets = cfg_mgr.getStagingCfg()->getCfgSubnets4();
subnets->add(subnet1);
......@@ -649,7 +649,7 @@ TEST_F(CfgMgrTest, commitStats6) {
StatsMgr& stats_mgr = StatsMgr::instance();
// Let's prepare the "old" configuration: a subnet with id 123
// and pretend there ware addresses assigned, so statistics are non-zero.
// and pretend there were addresses assigned, so statistics are non-zero.
Subnet6Ptr subnet1(new Subnet6(IOAddress("2001:db8:1::"), 48, 1, 2, 3, 4, 123));
CfgSubnets6Ptr subnets = cfg_mgr.getStagingCfg()->getCfgSubnets6();
subnets->add(subnet1);
......@@ -700,7 +700,7 @@ TEST_F(CfgMgrTest, clearStats6) {
StatsMgr& stats_mgr = StatsMgr::instance();
// Let's prepare the "old" configuration: a subnet with id 123
// and pretend there ware addresses assigned, so statistics are non-zero.
// and pretend there were addresses assigned, so statistics are non-zero.
Subnet6Ptr subnet1(new Subnet6(IOAddress("2001:db8:1::"), 48, 1, 2, 3, 4, 123));
CfgSubnets6Ptr subnets = cfg_mgr.getStagingCfg()->getCfgSubnets6();
subnets->add(subnet1);
......
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