1. 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
    • 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
  2. 08 Nov, 2018 1 commit
  3. 07 Nov, 2018 1 commit
  4. 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