1. 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
  2. 14 Jan, 2019 2 commits
  3. 07 Nov, 2018 1 commit
  4. 05 Nov, 2018 1 commit
  5. 01 Nov, 2018 1 commit
    • Thomas Markwalder's avatar
      [#42, !103] Interrim commit, kea-dhcp4 supports "queue-control" · 036d249f
      Thomas Markwalder authored
          kea-dhcp4 will parse and use "queue-control" to configure ring
          buffer size:
      
          "Dhcp4":
          {
              "queue-control": {
                  # max number of packets the ring will hold
                  "capacity" : 100
              },
          :
      
          This is an interrim commit for testing purposes.
          Expect a fair amount of refactoring in subsequent commits.
      
      New files:
      	src/lib/dhcp/queue_control.cc
      	src/lib/dhcp/queue_control.h
      	src/lib/dhcp/tests/queue_control_unittest.cc
      	src/lib/dhcpsrv/parsers/queue_control_parser.cc
      	src/lib/dhcpsrv/parsers/queue_control_parser.h
      
      src/bin/dhcp4/ctrl_dhcp4_srv.cc
          ControlledDhcpv4Srv::processConfig() -
              added logic to set packet queue controller
      
      src/bin/dhcp4/dhcp4_lexer.ll b/src/bin/dhcp4/dhcp4_lexer.ll
      src/bin/dhcp4/dhcp4_parser.yy
      src/bin/dhcp4/parser_context.*
          Added queue-control parsing
      
      src/bin/dhcp4/json_config_parser.cc
          configureDhcp4Server() - recognize and parse "queue-control"
      
      src/bin/dhcp4/tests/config_parser_unittest.cc
          TEST_F(Dhcp4ParserTest, queueControl)
          TEST_F(Dhcp4ParserTest, queueControlInvalid)
          - new tests
      
      src/lib/dhcp/iface_mgr.*
          IfaceMgr::getPacketQueueControl4()
          IfaceMgr::setPacketQueueControl4()
          IfaceMgr::getPacketQueueControl6()
          IfaceMgr::setPacketQueueControl6()
      
      src/lib/dhcp/packet_queue.*
          Use QueueControl class
      
      src/lib/dhcpsrv/srv_config.*
          Added QueueControl member, getter/setter
          SrvConfig::toElement() - now emits queue-control if not null
      036d249f
  6. 05 Oct, 2018 2 commits
    • Thomas Markwalder's avatar
      [#32,!23] - Added server-tag global to SrvConfig and kea-dhcp4/6 · 7fd4a5c0
      Thomas Markwalder authored
      src/bin/dhcp4/dhcp4_lexer.ll
      src/bin/dhcp4/dhcp4_parser.yy
      src/bin/dhcp4/json_config_parser.cc
          added server-tag
      
      src/bin/dhcp4/tests/config_parser_unittest.cc
          TEST_F(Dhcp4ParserTest, serverTag) - new test
      
      src/bin/dhcp6/dhcp6_lexer.ll
      src/bin/dhcp6/dhcp6_parser.yy
      src/bin/dhcp6/json_config_parser.cc
          added server-tag
      
      src/bin/dhcp6/tests/config_parser_unittest.cc
          TEST_F(Dhcp6ParserTest, serverTag)
      
      src/lib/dhcpsrv/parsers/simple_parser4.cc
      src/lib/dhcpsrv/parsers/simple_parser6.cc
          Added server-tag to global defaults
      
      src/lib/dhcpsrv/srv_config.cc
          Added server_tag_ memger to SrvConfig
      
      src/lib/dhcpsrv/tests/srv_config_unittest.cc
          TEST_F(SrvConfigTest, serverTag)
          TEST_F(SrvConfigTest, unparseConfigControlInfo6) - new tests
      7fd4a5c0
    • Thomas Markwalder's avatar
      [#32,!23] SrvConfig::toElement now outputs config-control · a8e05f99
      Thomas Markwalder authored
      src/lib/dhcpsrv/srv_config.cc
          SrvConfig::toElement() - added logic to output config-control
      
      src/lib/dhcpsrv/tests/srv_config_unittest.cc
          TEST_F(SrvConfigTest, unparseConfigControlInfo) - new test
      a8e05f99
  7. 07 Sep, 2018 1 commit
  8. 07 Aug, 2018 1 commit
    • Thomas Markwalder's avatar
      [5704] host backends and kea-dhcp4/6 support global HR storage · f1b3b3c7
      Thomas Markwalder authored
      - Added constants for special SubnetIDs:
          SUBNET_ID_GLOBAL, SUBNET_ID_MAX, SUBNET_ID_UNUSED
      
      - Modified code throughout to use these constants, rather than hard-coded
        values.   Note, MySQL and PostgreSQL host backends convert from NULL to
        UNUSED and back.
      
      - kea-dhcp4/6 servers will now parse a "reservations" element at the global
        level.
      
      src/lib/dhcpsrv/subnet_id.h
          Added constants SubnetID SUBNET_ID_GLOBAL, SUBNET_ID_MAX, SUBNET_ID_UNUSED
      
      src/bin/dhcp4/dhcp4_lexer.ll
      src/bin/dhcp4/dhcp4_parser.yy
      src/bin/dhcp4/json_config_parser.cc
          kea-dhcp4 parsing now handles reservations as a global element
      
      src/bin/dhcp4/tests/config_parser_unittest.cc
          TEST_F(Dhcp4ParserTest, globalReservations) - new test to
          verify global HR parsing
      
      src/bin/dhcp4/tests/dora_unittest.cc
      src/lib/dhcpsrv/cfg_hosts.cc
      src/lib/dhcpsrv/host.cc
      src/lib/dhcpsrv/host_mgr.cc
      src/lib/dhcpsrv/mysql_host_data_source.cc
      src/lib/dhcpsrv/parsers/host_reservation_parser.cc
      src/lib/dhcpsrv/tests/alloc_engine4_unittest.cc
      src/lib/dhcpsrv/tests/alloc_engine_utils.cc
      src/lib/dhcpsrv/tests/host_mgr_unittest.cc
      src/lib/dhcpsrv/tests/host_reservation_parser_unittest.cc
      src/lib/dhcpsrv/tests/host_reservations_list_parser_unittest.cc
      src/lib/dhcpsrv/tests/host_unittest.cc
          Replaced SubnetID 0 with SUBNET_ID_UNUSED
      
      src/lib/dhcpsrv/srv_config.cc
          SrvConfig::toElement() - added global reservations output
      
      src/lib/dhcpsrv/tests/cfg_hosts_unittest.cc
          TEST_F(CfgHostsTest, globalSubnetIDs)
          TEST_F(CfgHostsTest, unusedSubnetIDs) - new tests
      
      src/lib/dhcpsrv/tests/host_unittest.cc
          Replaced SubnetID 0 with SUBNET_ID_UNUSED
          TEST_F(HostTest, toText)  - updated to verify global ID output
      
      src/lib/dhcpsrv/tests/mysql_host_data_source_unittest.cc
          TEST_F(MySqlHostDataSourceTest, globalSubnetId4)
          TEST_F(MySqlHostDataSourceTest, globalSubnetId6) - new tests
      
      src/lib/dhcpsrv/tests/srv_config_unittest.cc
          TEST_F(SrvConfigTest, unparseHR) - added global HRs
      
      src/lib/dhcpsrv/testutils/generic_host_data_source_unittest.*
          GenericHostDataSourceTest::testGlobalSubnetId4()
          GenericHostDataSourceTest::testGlobalSubnetId6()
      
      src/bin/dhcp6/dhcp6_lexer.ll
      src/bin/dhcp6/dhcp6_parser.yy
      src/bin/dhcp6/json_config_parser.cc
          kea-dhcp6 now parses reservations as a global element
      
      src/bin/dhcp6/tests/config_parser_unittest.cc
          TEST_F(Dhcp6ParserTest, globalReservations) - new test
      f1b3b3c7
  9. 30 Jul, 2018 1 commit
  10. 07 Jun, 2018 1 commit
    • Thomas Markwalder's avatar
      [5378] kea-dhcp4/6 now keep track of their configured global params · ef1c0b74
      Thomas Markwalder authored
      src/bin/dhcp4/json_config_parser.cc
          configureDhcp4Server() - added extract of configured globals
      
      src/bin/dhcp4/tests/get_config_unittest.cc
      src/bin/dhcp6/tests/get_config_unittest.cc
          Updated extracted and unparsed configs.
      
      src/bin/dhcp6/json_config_parser.cc
          configureDhcp6Server() - added extract of configured globals
      
      src/lib/dhcpsrv/srv_config.h
      src/lib/dhcpsrv/srv_config.cc
          Added storage and maintence of configured globals
          SrvConfig::toElement() - added configured globals to result
      
      src/lib/dhcpsrv/tests/srv_config_unittest.cc
          TEST_F(SrvConfigTest, configuredGlobals) - new test
      ef1c0b74
  11. 12 Feb, 2018 1 commit
  12. 02 Jan, 2018 1 commit
  13. 31 Dec, 2017 1 commit
  14. 17 Dec, 2017 1 commit
  15. 03 Dec, 2017 1 commit
  16. 29 Nov, 2017 3 commits
  17. 01 Sep, 2017 1 commit
  18. 08 Mar, 2017 1 commit
  19. 07 Mar, 2017 3 commits
  20. 06 Mar, 2017 1 commit
  21. 04 Mar, 2017 1 commit
  22. 11 Feb, 2017 1 commit
  23. 11 Jan, 2017 1 commit
    • Thomas Markwalder's avatar
      [5033] - migrated D2ClientConfigParser to SimpleParser, kea-dhcp4 uses it · 85640c19
      Thomas Markwalder authored
      src/bin/dhcp4/json_config_parser.cc
          createGlobalDhcp4ConfigParser()
          - added clause to invoke new D2ClientConfigParser to
          set staging config
          - added clause to apply staged D2ClientConfig (formerly done
          by parser commit
      
      src/bin/dhcp4/parser_context.h
      src/bin/dhcp4/parser_context.cc
          aded PARSER_DHCP_DDNS context
      
      src/bin/dhcp4/simple_parser4.h
      src/bin/dhcp4/simple_parser4.cc
          defined SimpleParser4::D2_CLIENT_CONFIG_DEFAULTS
          SimpleParser4::setAllDefaults() - now sets defaults
          for D2ClientConfig
      
      src/bin/dhcp4/tests/d2_unittest.cc
      src/bin/dhcp4/tests/fqdn_unittest.cc
          Updated replace-name-mode values (true/false no longer supported)
      
      src/lib/dhcpsrv/parsers/dhcp_parsers.h
      src/lib/dhcpsrv/parsers/dhcp_parsers.cc
          D2ClientConfig now derives from SimpleParser
      
      src/lib/dhcpsrv/srv_config.h
      src/lib/dhcpsrv/srv_config.cc
          Added a D2ClientConfigPtr member to SrvConfig.
      
      src/lib/dhcpsrv/tests/dhcp_parsers_unittest.cc
          Updated tests to set D2 client config defaults
      
      doc/guide/dhcp4-srv.xml
          Updated, replace-client-name no longer accepts booleans
      85640c19
  24. 21 Dec, 2016 1 commit
  25. 15 Dec, 2016 1 commit
    • Thomas Markwalder's avatar
      [5046] Move apply logging and config commit from processConfig to set-config handler · 354e68ad
      Thomas Markwalder authored
      src/bin/dhcp4/ctrl_dhcp4_srv.cc
          commandConfigReloadHandler() - use commandSetConfigHandler()
          instead of processConfig() to account for logging config
      
          commandSetConfigHandler() - apply logging config and commit config here instead of
          in processConfig()
      
      src/bin/dhcp4/tests/dhcp4_test_utils.h
           ~NakedDhcpv4Srv() - removed unecesary initLogger call
      
      src/bin/dhcp4/tests/kea_controller_unittest.cc
           ~JSONFileBackendTest() - removed unecessary call to setDefaultLogging
      
      src/bin/dhcp6/ctrl_dhcp6_srv.cc
          commandConfigReloadHandler() - use commandSetConfigHandler()
          instead of processConfig() to account for logging config
      
          commandSetConfigHandler() - apply logging config and commit config here instead of
          in processConfig()
      
      src/bin/dhcp6/tests/ctrl_dhcp6_srv_unittest.cc
          createUnixChannelServer() -  added config commit so command channel behavior
          is correct
      
          TEST_F(CtrlDhcpv6SrvTest, configReload)
              Wrap configuration in Dhcp6 element
      
          TEST_F(CtrlChannelDhcpv6SrvTest, set_config)
              Turn off timers in config
      
      src/lib/dhcpsrv/srv_config.cc
          SrvConfig::applyLoggingCfg() - remove logic added to not call manager.process
          when there are no specs.
      354e68ad
  26. 09 Dec, 2016 1 commit
    • Thomas Markwalder's avatar
      [5046] Avoid wiping logging when config is empty · 767bf150
      Thomas Markwalder authored
      src/lib/dhcpsrv/srv_config.cc
          SrvConfig::applyLoggingCfg() - now only calls LoggerManager::process()
          if the logger config isn't empty
      
      src/bin/dhcp6/ctrl_dhcp6_srv.cc
      src/bin/dhcp6/tests/dhcp6_test_utils.cc
          Minor clean up and commentary
      
      src/bin/dhcp6/kea_controller.cc
          configure(const std::string& file_name)
          - Removed initial rollback, now done in commandSetConfigHandler()
      
      src/bin/dhcp6/tests/ctrl_dhcp6_srv_unittest.cc
         - Removed unnecessary call to initLogger
      767bf150
  27. 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
  28. 11 May, 2016 1 commit
  29. 26 Apr, 2016 1 commit
  30. 14 Apr, 2016 1 commit
  31. 12 Jan, 2016 1 commit
  32. 16 Dec, 2015 1 commit
  33. 10 Dec, 2015 1 commit
    • Marcin Siodelski's avatar
      Revert "[master] Merge branch 'trac4106'" · 6bc8c1cb
      Marcin Siodelski authored
      This reverts commit 8f2a1f8a, reversing
      changes made to ed7edadc.
      
      This  merge introduced regressions in our build farm and revealed
      issues in the DHCP4o6 IPC code. It also revealed some differences
      in sockets handling under Linux and BSD. Rather than continue
      patching this here, we should work on the branch to resolve all
      issues and then merge 1.1.
      6bc8c1cb
  34. 17 Nov, 2015 1 commit