1. 05 Feb, 2019 1 commit
  2. 02 Feb, 2019 1 commit
    • Thomas Markwalder's avatar
      [#399,!215] kea-dhcp4 now merges in config backend shared netwokrs · 6dc4c06c
      Thomas Markwalder authored
      src/lib/dhcpsrv/cfg_shared_networks.*
          CfgSharedNetworks4::merge() - new method to merge
          shared network configs
      
      src/lib/dhcpsrv/cfg_subnets4.*
          CfgSubnets4::merge() - reworked to reflect new rules
      
      src/lib/dhcpsrv/srv_config.cc
          SrvConfig::merge() - now merges shared networks
      
      src/lib/dhcpsrv/tests/cfg_subnets4_unittest.cc
          checkMergedSubnet() - convenience function for
          verifying subnet content
      
          TEST(CfgSubnets4Test, mergeSubnets) - revamped to
          reflect new network assigment rules
      
      src/bin/dhcp4/tests/config_backend_unittest.cc
          TEST_F(Dhcp4CBTest, mergeSharedNetworks)  - enabled test
      6dc4c06c
  3. 14 Jan, 2019 1 commit
  4. 31 Aug, 2018 1 commit
  5. 11 May, 2018 1 commit
  6. 25 Apr, 2018 1 commit
    • Thomas Markwalder's avatar
      [5535] dhcpsrv now supports multiple relay addresses in RelayInfo · 9e362be0
      Thomas Markwalder authored
      src/lib/dhcpsrv/network.*
          Network::RelayInfo
          - modified to support a list of IP addresses
          - added methods:
              addAddress(const asiolink::IOAddress& addr)
              bool hasAddresses()
              bool containsAddress(const asiolink::IOAddress& addr)
              +const IOAddressList& getAddresses()
      
          Network
          - added wrapper methods for convenience:
              addRelayAddress(const asiolink::IOAddress& addr)
              bool hasRelays()
              bool hasRelayAddress(const asiolink::IOAddress& addr)
              const IOAddressList& getRelayAddresses()
      
          - toElement() - modified to output ip-addresses list
      
          Updated the following accordingly:
              src/lib/dhcpsrv/cfg_subnets4.cc
              src/lib/dhcpsrv/cfg_subnets6.cc
              src/lib/dhcpsrv/parsers/dhcp_parsers.cc
              src/lib/dhcpsrv/subnet.cc
              src/lib/dhcpsrv/tests/cfg_shared_networks4_unittest.cc
              src/lib/dhcpsrv/tests/cfg_shared_networks6_unittest.cc
              src/lib/dhcpsrv/tests/cfg_subnets4_unittest.cc
              src/lib/dhcpsrv/tests/cfg_subnets6_unittest.cc
              src/lib/dhcpsrv/tests/dhcp_parsers_unittest.cc
              src/lib/dhcpsrv/tests/shared_network_unittest.cc
              src/lib/dhcpsrv/tests/subnet_unittest.cc
      9e362be0
  7. 17 Oct, 2017 1 commit
  8. 19 Sep, 2017 1 commit
    • Tomek Mrugalski's avatar
      [5306] Changes after review: · 9079ba12
      Tomek Mrugalski authored
       - max attempts set to 0 in unit-tests (matching production code)
       - couple typos
       - new unit-test added (selectSharedNetworkByRelayAddressSubnetLevel)
       - ClientContext4 is now noncopyable
       - unused network parameter removed
      9079ba12
  9. 18 Sep, 2017 1 commit
  10. 15 Aug, 2017 3 commits
  11. 01 Aug, 2017 1 commit
  12. 20 Jul, 2017 1 commit
  13. 19 Jul, 2017 1 commit
  14. 03 Jul, 2017 1 commit
  15. 21 Apr, 2017 1 commit
    • Thomas Markwalder's avatar
      [5247] Corrected issues with assigned-<lease/nas/pd> stats · fe3766ae
      Thomas Markwalder authored
      doc/guide/dhcp4-srv.xml
      doc/guide/dhcp6-srv.xml
          Added entries for reclaimed-leases
      
      src/lib/dhcpsrv/alloc_engine.cc
      
          AllocEngine::reuseExpiredLease(Lease6Ptr&...) - increment
          assigned-<nas/pds> for real allocations
      
          AllocEngine::extendLease6() - increment assigned-<nas/pds>
          for real allocations if the lease expired
      
          AllocEngine::renewLease4(const Lease4Ptr&...)
          - set lease state to STATE_DEFAULT for real allocations
          - increment assigned-leases if lease is expired or reclaimed
            for real allocations
      
          AllocEngine::reuseExpiredLease4(Lease4Ptr&...)
          - increment assigned-leases for real allocations
      
      src/lib/dhcpsrv/cfg_subnets4.cc
          CfgSubnets4::removeStatistics() - added "reclaimed-leases"
      
      src/lib/dhcpsrv/cfg_subnets6.cc
          CfgSubnets4::removeStatistics() - added "reclaimed-leases"
      
      src/lib/dhcpsrv/lease_mgr.cc
          LeaseMgr::recountLeaseStats4()
          LeaseMgr::recountLeaseStats6()
          - added handling of "reclaimed-leases"
          - fixed name of "reclaimed-declined-addresses"
      
      src/lib/dhcpsrv/tests/alloc_engine4_unittest.cc
          TEST_F(AllocEngine4Test, simpleRenew4)  - new test to verify stats
          on a normal renew, non-expired
          Added EXPECT_TRUE around calls to testStatistics for invocation line numbers
          Added stat checks to several tests
      
      src/lib/dhcpsrv/tests/alloc_engine6_unittest.cc
          Added EXPECT_TRUE around calls to testStatistics for invocation line numbers
          Added stat checks to several tests
      
      src/lib/dhcpsrv/tests/alloc_engine_expiration_unittest.cc
          Added checks of assigned stats
      
      src/lib/dhcpsrv/tests/alloc_engine_utils.cc
          AllocEngine6Test::initSubnet() - removed artificial stat values
      
          NakedAllocEngine::addHost() - new method to add a host to the
          current configuration, rather than use staging/commit as the latter
      fe3766ae
  16. 07 Mar, 2017 4 commits
  17. 14 Dec, 2016 1 commit
  18. 24 Aug, 2016 1 commit
  19. 23 Aug, 2016 1 commit
    • Thomas Markwalder's avatar
      [4294] Refactored AddressStatsRow and AddressStatsQuery classes · 9a1249f1
      Thomas Markwalder authored
      src/lib/dhcpsrv/cfg_subnets4.cc
          CfgSubnets4::updateStatistics() -  replaced recountAddressStats4()
          with recountLeaseStats4()
      
      src/lib/dhcpsrv/cfg_subnets6.cc
          CfgSubnets6::updateStatistics() - replaced recountAddressStats6()
          with recountLeaseStats6()
      
      src/lib/dhcpsrv/lease_mgr.cc
          renamed LeaseMgr::recountAddressStats4() to recountLeaseStats4()
          renamed LeaseMgr::recountAddressStats6() to recountLeaseStats6()
          renamed LeaseMgr::startAddressStats4() to startLeaseStats4()
          renamed LeaseMgr::startAddressStats6() to startLeaseStats6()
      
      src/lib/dhcpsrv/lease_mgr.h
          replaced AddressStatsRow4 and AddressStatsRow6 with single class,
          LeaseStatsRow
      
          replaced AddressStatsQuery4 and AddressStatsQuery6 with single class,
          AddressStatsQuery
      
      src/lib/dhcpsrv/memfile_lease_mgr.h
      src/lib/dhcpsrv/memfile_lease_mgr.cc
          Replaced this class heirarchy:
          AddressStatsQuery4 <-- MemfileAddressStatsQuery4
          AddressStatsQuery6 <-- MemfileAddressStatsQuery6
      
          With this one:
          LeaseStatsQuery
              |
              +--- MemfileLeaseStatsQuery
                     |
                     +--- MemfileLeaseStatsQuery4
                     |
                     +--- MemfileLeaseStatsQuery6
      
          Replaced startAddressStatsQuery4() with startLeaseStatsQuery4()
          Replaced startAddressStatsQuery6() with startLeaseStatsQuery6()
      
      src/lib/dhcpsrv/tests/generic_lease_mgr_unittest.h
      src/lib/dhcpsrv/tests/generic_lease_mgr_unittest.cc
          Renamed:
           checkAddressStats() to checkLeaseStats()
           testAddressLeaseStats4() to testRecountLeaseStats4()
           testAddressLeaseStats6() to testRecountLeaseStats6()
      
      src/lib/dhcpsrv/tests/memfile_lease_mgr_unittest.cc
          Renamed tests to recountLeaseStats4 and recountLeaseStats6
      9a1249f1
  20. 15 Aug, 2016 1 commit
    • Thomas Markwalder's avatar
      [4294] PostgreSQL now supports IPv4 lease stats recount · 64c23c76
      Thomas Markwalder authored
      src/lib/dhcpsrv/cfg_subnets4.cc
          CfgSubnets4::updateStatistics() - removed lease mgr instance check
      
      src/lib/dhcpsrv/mysql_lease_mgr.cc
          Added "ORDER by subnet_id" to RECOUNT_LEASE4_STATS
      
      src/lib/dhcpsrv/pgsql_lease_mgr.cc
          Added tagged statement RECOUNT_LEASE4_STATS
          PgSqlAddressStatsQuery4 - new class, PostgreSQL derivation of AddressStatsQuery4
          PgSqlLeaseMgr::startAddressStatsQuery4() - PostgreSQL impl of virtual method
      
      src/lib/dhcpsrv/srv_config.cc -
          SrvConfig::updateStatistics() - Added LeaseMgr singleton check around
          calls subnet statistics updates
      
      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
      64c23c76
  21. 12 Aug, 2016 1 commit
    • Thomas Markwalder's avatar
      [4294] Memfile and MySql now support recalulating IPv4 lease statistics · a8f85f25
      Thomas Markwalder authored
      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
      
      src/lib/dhcpsrv/mysql_lease_mgr.h
      src/lib/dhcpsrv/mysql_lease_mgr.cc
          - Added RECOUNT_LEASE4_STATS query
      
          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
      a8f85f25
  22. 29 Jun, 2016 1 commit
  23. 08 Jun, 2016 2 commits
  24. 19 May, 2016 2 commits
  25. 10 May, 2016 2 commits
  26. 05 May, 2016 1 commit
  27. 16 Dec, 2015 2 commits
  28. 01 Oct, 2015 1 commit
  29. 19 Sep, 2015 2 commits
  30. 15 Jun, 2015 1 commit