1. 28 Oct, 2019 3 commits
  2. 10 Oct, 2019 1 commit
    • Thomas Markwalder's avatar
      [#35,!517] Rework kea-dhcp4 parsing and server · 256feda6
      Thomas Markwalder authored
      src/bin/dhcp4/ctrl_dhcp4_srv.cc
          Removed setting D2ClientCfg fetch function
      
      src/bin/dhcp4/dhcp4_lexer.ll
      src/bin/dhcp4/dhcp4_parser.yy
          ddns-send-updates
          ddns-override-no-update
          ddns-override-client-update
          ddns-replace-client-name
          ddns-generated-prefix
          ddns-qualifying-suffix
              - added to DHCP4,SHARED_NETWORK,SUBNET4
      
          hostname-char-set
          hostname-char-replacement
              - added to SHARED_NETWORK,SUBNET4
      
      src/bin/dhcp4/dhcp4_srv.cc
      
          Dhcpv4Srv::processClientFqdnOption()
          Dhcpv4Srv::processHostnameOption()
          Dhcpv4Srv::assignLease()
              Use scoped DdnsParams from context to make decisions, pass
              into D2ClientMgr functions, and supply hostname sanitizer
      
      src/bin/dhcp4/json_config_parser.cc
          configureDhcp4Server()
          - use SrvConfig::moveDdnsParams() to move dhcp-ddns parameters
          - handle new "ddns-" globals
      
      src/bin/dhcp4/tests/config_parser_unittest.cc
      src/bin/dhcp4/tests/d2_unittest.cc
      src/bin/dhcp4/tests/dhcp4_test_utils.cc
      src/bin/dhcp4/tests/fqdn_unittest.cc
      src/bin/dhcp4/tests/get_config_unittest.cc
          Updated and new tests
      256feda6
  3. 06 Sep, 2019 1 commit
  4. 05 Aug, 2019 3 commits
  5. 25 Jul, 2019 2 commits
  6. 27 Jun, 2019 1 commit
  7. 26 Jun, 2019 1 commit
  8. 13 Jun, 2019 1 commit
  9. 22 May, 2019 4 commits
  10. 27 Mar, 2019 1 commit
  11. 26 Mar, 2019 5 commits
  12. 18 Jan, 2019 2 commits
  13. 10 Dec, 2018 1 commit
  14. 20 Nov, 2018 3 commits
    • Thomas Markwalder's avatar
      [#260, !120] PacketQueueMgr4/6 are no longer singletons · 0741a035
      Thomas Markwalder authored
          dhcp::IfaceMgr simply owns instances of the packet queue
          managers, rather than them being singletons.
      0741a035
    • Thomas Markwalder's avatar
      [#260,!120] Added dhcp-queue-control parser defaults · c276bb45
      Thomas Markwalder authored
          Added dhcp-queue-control defaults to SimpleParser<4/6>
          Revamped server config unit tests
      c276bb45
    • Thomas Markwalder's avatar
      [#260,!20] Packet queueing is now optional · bbb822b1
      Thomas Markwalder authored
      src/bin/dhcp<4/6>/ctrl_dhcp<4/6>_srv.cc
          ControlledDhcpv<4/6>Srv::processConfig() - now calls
              IfaceMgr::configureDHCPPacketQueue
      
      src/bin/dhcp<4/6>/dhcp<4/6>_parser.yy
          dhpc-queue-control parsing updated to enforce
          enable-queue/queue-type rules
      
      src/bin/dhcp<4/6>/tests/config_parser_unittest.cc
          TEST_F(Dhcp<4/6>ParserTest, dhcpQueueControl)
          TEST_F(Dhcp<4/6>ParserTest, dhcpQueueControlInvalid)
      
      src/lib/dhcp/iface_mgr.*
          IfaceMgr
          - closeSockets()  - now calls stopDHCPReceiver
      
          - openSockets<4/6>() -  now calls startDHCPReceiver
      
          - receive<4/6>Indirect() - new function which monitors receiver
          thread watch sockets, reads DHCP packets from queue
      
          - receive<4/6>Direct() - new function which monitors and reads DHCP
          packets from interface sockets directly
      
          - receive<4/6>() - rewritten to call receive<4/6>Indirect
          if receiver thread is running, otherwise it calls receive<4/6>Direct
      
          - configureDHCPPacketQueue() - new function which either enables queuing
          by creating a new packet queue, or disables it by destroying the
          existing queue
      
      src/lib/dhcp/packet_queue_mgr.h
          PacketQueue::destroyPacketQueue() - new function
      
      src/lib/dhcp/packet_queue_mgr<4/6>.cc
          PacketQueueMgr<4/6>::PacketQueueMgr<4/6>() - no longer creates a
          default packet queue
      
      src/lib/dhcpsrv/cfg_iface.cc
          CfgIface::closeSockets() - removed call to stopDHCPReceiver
          CfgIface::openSockets() - removed call to startDHCPReceiver
      
      src/lib/dhcpsrv/parsers/dhcp_queue_control_parser.*
          DHCPQueueControlParser
          - removed unused family_ member
          - parse() - added support for enable-queue
      
      src/lib/dhcpsrv/tests/dhcp_queue_control_parser_unittest.cc
          - new file
      bbb822b1
  15. 19 Nov, 2018 1 commit
  16. 12 Nov, 2018 2 commits
    • Thomas Markwalder's avatar
      [#260,!120] Added dhcp-queue-control parser defaults · 58e23d61
      Thomas Markwalder authored
          Added dhcp-queue-control defaults to SimpleParser<4/6>
          Revamped server config unit tests
      58e23d61
    • Thomas Markwalder's avatar
      [#260,!120] Packet queueing is now optional · eb244004
      Thomas Markwalder authored
      src/bin/dhcp<4/6>/ctrl_dhcp<4/6>_srv.cc
          ControlledDhcpv<4/6>Srv::processConfig() - now calls
              IfaceMgr::configureDHCPPacketQueue
      
      src/bin/dhcp<4/6>/dhcp<4/6>_parser.yy
          dhpc-queue-control parsing updated to enforce
          enable-queue/queue-type rules
      
      src/bin/dhcp<4/6>/tests/config_parser_unittest.cc
          TEST_F(Dhcp<4/6>ParserTest, dhcpQueueControl)
          TEST_F(Dhcp<4/6>ParserTest, dhcpQueueControlInvalid)
      
      src/lib/dhcp/iface_mgr.*
          IfaceMgr
          - closeSockets()  - now calls stopDHCPReceiver
      
          - openSockets<4/6>() -  now calls startDHCPReceiver
      
          - receive<4/6>Indirect() - new function which monitors receiver
          thread watch sockets, reads DHCP packets from queue
      
          - receive<4/6>Direct() - new function which monitors and reads DHCP
          packets from interface sockets directly
      
          - receive<4/6>() - rewritten to call receive<4/6>Indirect
          if receiver thread is running, otherwise it calls receive<4/6>Direct
      
          - configureDHCPPacketQueue() - new function which either enables queuing
          by creating a new packet queue, or disables it by destroying the
          existing queue
      
      src/lib/dhcp/packet_queue_mgr.h
          PacketQueue::destroyPacketQueue() - new function
      
      src/lib/dhcp/packet_queue_mgr<4/6>.cc
          PacketQueueMgr<4/6>::PacketQueueMgr<4/6>() - no longer creates a
          default packet queue
      
      src/lib/dhcpsrv/cfg_iface.cc
          CfgIface::closeSockets() - removed call to stopDHCPReceiver
          CfgIface::openSockets() - removed call to startDHCPReceiver
      
      src/lib/dhcpsrv/parsers/dhcp_queue_control_parser.*
          DHCPQueueControlParser
          - removed unused family_ member
          - parse() - added support for enable-queue
      
      src/lib/dhcpsrv/tests/dhcp_queue_control_parser_unittest.cc
          - new file
      eb244004
  17. 10 Nov, 2018 1 commit
    • Thomas Markwalder's avatar
      [#260,!20] Packet queueing is now optional · bcd5b1f6
      Thomas Markwalder authored
      src/bin/dhcp<4/6>/ctrl_dhcp<4/6>_srv.cc
          ControlledDhcpv<4/6>Srv::processConfig() - now calls
              IfaceMgr::configureDHCPPacketQueue
      
      src/bin/dhcp<4/6>/dhcp<4/6>_parser.yy
          dhpc-queue-control parsing updated to enforce
          enable-queue/queue-type rules
      
      src/bin/dhcp<4/6>/tests/config_parser_unittest.cc
          TEST_F(Dhcp<4/6>ParserTest, dhcpQueueControl)
          TEST_F(Dhcp<4/6>ParserTest, dhcpQueueControlInvalid)
      
      src/lib/dhcp/iface_mgr.*
          IfaceMgr
          - closeSockets()  - now calls stopDHCPReceiver
      
          - openSockets<4/6>() -  now calls startDHCPReceiver
      
          - receive<4/6>Indirect() - new function which monitors receiver
          thread watch sockets, reads DHCP packets from queue
      
          - receive<4/6>Direct() - new function which monitors and reads DHCP
          packets from interface sockets directly
      
          - receive<4/6>() - rewritten to call receive<4/6>Indirect
          if receiver thread is running, otherwise it calls receive<4/6>Direct
      
          - configureDHCPPacketQueue() - new function which either enables queuing
          by creating a new packet queue, or disables it by destroying the
          existing queue
      
      src/lib/dhcp/packet_queue_mgr.h
          PacketQueue::destroyPacketQueue() - new function
      
      src/lib/dhcp/packet_queue_mgr<4/6>.cc
          PacketQueueMgr<4/6>::PacketQueueMgr<4/6>() - no longer creates a
          default packet queue
      
      src/lib/dhcpsrv/cfg_iface.cc
          CfgIface::closeSockets() - removed call to stopDHCPReceiver
          CfgIface::openSockets() - removed call to startDHCPReceiver
      
      src/lib/dhcpsrv/parsers/dhcp_queue_control_parser.*
          DHCPQueueControlParser
          - removed unused family_ member
          - parse() - added support for enable-queue
      
      src/lib/dhcpsrv/tests/dhcp_queue_control_parser_unittest.cc
          - new file
      bcd5b1f6
  18. 07 Nov, 2018 1 commit
  19. 05 Nov, 2018 2 commits
    • Thomas Markwalder's avatar
      [#42] Replaced use of QueueControl with ElementPtr · 4dc3ba6b
      Thomas Markwalder authored
      deleted:
          src/lib/dhcp/queue_control.cc
      	src/lib/dhcp/queue_control.h
      	src/lib/dhcp/tests/queue_control_unittest.cc
      
      Updates is mulitple files
      4dc3ba6b
    • Thomas Markwalder's avatar
      [#42] Implemented PacketQueueMgr class · 90fd7ebf
      Thomas Markwalder authored
      New files:
          src/lib/dhcp/packet_queue_mgr.h
          src/lib/dhcp/packet_queue_mgr4.cc
          src/lib/dhcp/packet_queue_mgr4.h
          src/lib/dhcp/packet_queue_mgr6.cc
          src/lib/dhcp/packet_queue_mgr6.h
          src/lib/dhcp/tests/packet_queue_mgr4_unittest.cc
          src/lib/dhcp/tests/packet_queue_mgr6_unittest.cc
          src/lib/dhcp/tests/packet_queue_testutils.h
      
      src/bin/dhcp4/ctrl_dhcp4_srv.cc
          Cleaned up packet queue config block
      
      src/bin/dhcp4/dhcp4_lexer.ll
      src/bin/dhcp4/dhcp4_parser.yy
      src/bin/dhcp4/tests/config_parser_unittest.cc
          added queue-type
      
      src/bin/dhcp4/dhcp4_messages.mes
          added DHCP4_CONFIG_PACKET_QUEUE message
      
      src/lib/dhcp/Makefile.am
          packet_queue_mgr.h
          packet_queue_mgr4.cc packet_queue_mgr4.h
          packet_queue_mgr6.cc packet_queue_mgr6.h
      
      src/lib/dhcp/iface_mgr.*
          Replaced packet queue members with PQM members
          Added PQM instantion to IfaceMgr ctor
      
      src/lib/dhcp/packet_queue.h
          added getInfo,getInfoStr
      
      src/lib/dhcp/tests/Makefile.am
          packet_queue_mgr4_unittest.cc
          packet_queue_mgr6_unittest.cc
      
      src/lib/dhcpsrv/parsers/queue_control_parser.cc
          added queue-type
      90fd7ebf
  20. 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
  21. 07 Sep, 2018 1 commit
  22. 03 Sep, 2018 1 commit
  23. 23 Mar, 2018 1 commit