[4294] Memfile now supports IPv6 lease stats recounting
src/lib/dhcpsrv/memfile_lease_mgr.h
src/lib/dhcpsrv/memfile_lease_mgr.cc
- MemfileAddressStatsQuery6 - new class, Memfile derivation of
the IPv6 statistical lease data query
- Memfile_LeaseMgr::startAddressStatsQuery6() - new virtual
method that creates and runs the IPv6 lease stats query
src/lib/dhcpsrv/memfile_lease_storage.h
- Added non-unique index on subnet ID to Lease6Storage
src/lib/dhcpsrv/tests/memfile_lease_mgr_unittest.cc
TEST_F(MemfileLeaseMgrTest, recountAddressStats6) - new test
[4294] PostgreSQL now supports IPv6 lease stats recounting
src/lib/dhcpsrv/pgsql_lease_mgr.h
src/lib/dhcpsrv/pgsql_lease_mgr.cc
- Added TaggedStatement RECOUNT_LEASE6_STATS
- PgSqlAddressStatsQuery6 - new class PgSql derivation of the IPv6
statistical lease data query
- PgSqlLeaseMgr::startAddressStatsQuery6() - new virtual method which
creates and runs the IPv6 lease stats query
src/lib/dhcpsrv/tests/pgsql_lease_mgr_unittest.cc
TEST_F(PgSqlLeaseMgrTest, recountAddressStats6) - new test
[4294] Unit tests and MySql now support IPv6 lease stat recounting
src/lib/dhcpsrv/cfg_subnets6.cc
- CfgSubnets6::removeStatistics() - added removal of declined stats
- CfgSubnets6::updateStatistics() - added call to recountAddressStats6()
src/lib/dhcpsrv/mysql_lease_mgr.h
src/lib/dhcpsrv/mysql_lease_mgr.cc
- Added TaggedStatement RECOUNT_LEASE6_STATS
- MySqlAddressStatsQuery6 - new MySql derivation of AddressStatsQuery6
- MySqlLeaseMgr::startAddressStatsQuery6() - new virtual method which
creates and starts a MySqlAddressStatsQuery6
src/lib/dhcpsrv/tests/generic_lease_mgr_unittest.h
src/lib/dhcpsrv/tests/generic_lease_mgr_unittest.cc
- GenericLeaseMgrTest::checkAddressStats4 renamed to checkAddressStats as
it applies to either v4 or v6
- GenericLeaseMgrTest::makeLease6() - new method which creates a minimal
IPv6 lease and adds it to lease storage
- GenericLeaseMgrTest::testRecountAddressStats6() - new method which
checks IPv6 lease stats recounting
src/lib/dhcpsrv/tests/mysql_lease_mgr_unittest.cc
- TEST_F(MySqlLeaseMgrTest, recountAddressStats6) - new test
src/lib/dhcpsrv/tests/cfgmgr_unittest.cc
CfgMgrTest:
~CfgMgrTest() - now destroys LeaseMgr singleton
startBackend(int family = AF_INET) - new method to create memfile lease mgr
TEST_F(CfgMgrTest, commitStats4)
TEST_F(CfgMgrTest, commitStats6)
- added call to startBackend()
src/lib/dhcpsrv/tests/pgsql_lease_mgr_unittest.cc
TEST_F(PgSqlLeaseMgrTest, recountAddressStats4) - new test
[4294] Memfile and MySql now support recalulating IPv4 lease statistics
src/lib/dhcpsrv/cfg_subnets4.cc
CfgSubnets4::removeStatistics()
- added removal of all lease statistics per subnet, and global declined address
stats
CfgSubnets4::updateStatistics()
- added call to LeaseMgr::recountAddressStats4
src/lib/dhcpsrv/lease.cc
src/lib/dhcpsrv/lease.h
Replaces lease state constants with LeaseState enumeration.
src/lib/dhcpsrv/lease_mgr.cc
src/lib/dhcpsrv/lease_mgr.h
struct AddressStatsRow4 - contains the content of one row of the IPv4
lease statistical data result set
class AddressStatsQuery4 - base class for constructing the IPv4
lease statistical data result set for an IPv4 lease storage
LeaseMgr::recountAddressStats4() - new method which recalculates
per-subnet and global stats for IPv4 leases
LeaseMgr::startAddressStatsQuery4() - new virtual method that fetches
the IPv4 lease statistical data result set
src/lib/dhcpsrv/lease_mgr_factory.h
src/lib/dhcpsrv/lease_mgr_factory.cc
LeaseMgrFactory::haveInstance() - new static method which indicates
whether or not the lease manager singleton exists
src/lib/dhcpsrv/memfile_lease_mgr.h
src/lib/dhcpsrv/memfile_lease_mgr.cc
MemfileAddressStatsQuery4 - Derivation of AddressStatsQuery4, it constructs
the IPv4 lease statistical data by iterating over IPv4 lease storage
Memfile_LeaseMgr::startAddressStatsQuery4() - new virtual method which
creates, starts, and returns a MemfileAddressStatsQuery4
src/lib/dhcpsrv/memfile_lease_storage.h
Added an a per subnet_ID index to IPv4 storage
MySqlAddressStatsQuery4 Derivation of AddressStatsQuery4, it constructs
the IPv4 lease statistical data by executing RECOUNT_LEASE4_STATS
MySqlLeaseMgr::startAddressStatsQuery4() - new virtual method which
creates, starts, and returns a MySqlAddressStatsQuery4
src/lib/dhcpsrv/tests/alloc_engine_utils.cc
AllocEngine6Test::AllocEngine6Test()
AllocEngine4Test::AllocEngine4Test()
- moved lease mgr create up above configuration commit
src/lib/dhcpsrv/tests/cfg_db_access_unittest.cc
~CfgMySQLDbAccessTest() - added destruction of lease manager singleton,
otherwise subsequent tests can fail
src/lib/dhcpsrv/tests/generic_lease_mgr_unittest.h
src/lib/dhcpsrv/tests/generic_lease_mgr_unittest.cc
GenericLeaseMgrTest::checkStat() - new method for comparing a stat
GenericLeaseMgrTest::checkAddressStats4() - new method for comparing a list
of stats
GenericLeaseMgrTest::makeLease4() - new method for making a minimal lease
GenericLeaseMgrTest::testRecountAddressStats4() - new method which tests
a lease manager's ability to recalculate the IPv4 lease statistics
src/lib/dhcpsrv/tests/memfile_lease_mgr_unittest.cc
TEST_F(MemfileLeaseMgrTest, recountAddressStats4) - new test which tests
Memfile_LeaseMgr's ability to recalculate IPv4 lease statistics
src/lib/dhcpsrv/tests/mysql_lease_mgr_unittest.cc
TEST_F(MySqlLeaseMgrTest, recountAddressStats4) - new test which tests
MySqlLeaseMgr's ability to recalculate IPv4 lease statistics
src/lib/dhcpsrv/tests/pgsql_exchange_unittest.cc
- Added PgSqlBasicsTest test fixture class and tests which exercise all of
the PostgreSQL data types we currently use with round-trip database writes
and reads
src/lib/dhcpsrv/pgsql_connection.cc
src/lib/dhcpsrv/pgsql_connection.h
- Moved PgSqlResult function impls from .h
- Added exception safe implementation of getColumnLabel() to PgSqlResult
src/lib/dhcpsrv/pgsql_exchange.cc
src/lib/dhcpsrv/pgsql_exchange.h
- PsqlBindArray::add() variants which accept raw pointers now throw
if the pointer is NULL
- PgSqlExchange::getColumnLabel() is now a wrapper around PgSqlResult method
src/lib/dhcpsrv/pgsql_host_data_source.h
src/lib/dhcpsrv/pgsql_host_data_source.cc
- Commentary clean up
src/lib/dhcpsrv/pgsql_lease_mgr.cc
- Commentary clean up
- Configuration 0 -> Configuration 7 (copy-paste error)
- Invalid indentation of the vendor sub options data config
- Remove redundant config-file option definition
- OptionVentor -> OptionVendor
- Rename requestDocsisORORenew test to docsisORO
- Copyright date updated in rebind test
[master] Added template param in invocation of SpecializedTypeWrapper.
This was an obvious error and a trivial fix. Therefore it is being
committed on my discretion. It corrects build failures on some OSes
after merge of #4321.
- added vendor options example and made it out-of-pool in
kea6/reservations.json
- fixed couple indents in dhcp{4,6}-srv.xml
- added enclosing subnet4 where it was missing in examples
- renamed section dedicated to option reservations
- default value of host-reservation-identifiers presented
differently