• 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
json_config_parser.cc 30 KB