Kea 2.7.6
|
Handles DHCPv4-over-DHCPv6 IPC on the DHCPv4 server side. More...
#include <dhcp4to6_ipc.h>
Public Member Functions | |
virtual void | open () |
Open communication socket. | |
Public Member Functions inherited from isc::dhcp::Dhcp4o6IpcBase | |
void | close () |
Close communication socket. | |
Pkt6Ptr | receive () |
Receive message over IPC. | |
void | send (const Pkt6Ptr &pkt) |
Send message over IPC. | |
Static Public Member Functions | |
static void | handler (int) |
On receive handler. | |
static Dhcp4to6Ipc & | instance () |
Returns pointer to the sole instance of Dhcp4to6Ipc. | |
Protected Member Functions | |
Dhcp4to6Ipc () | |
Constructor. | |
virtual | ~Dhcp4to6Ipc () |
Destructor. | |
Protected Member Functions inherited from isc::dhcp::Dhcp4o6IpcBase | |
Dhcp4o6IpcBase () | |
Constructor. | |
virtual | ~Dhcp4o6IpcBase () |
Destructor. | |
int | open (uint16_t port, EndpointType endpoint_type) |
Open communication socket (from base class). | |
Additional Inherited Members | |
Public Types inherited from isc::dhcp::Dhcp4o6IpcBase | |
enum | EndpointType { ENDPOINT_TYPE_V4 = 4 , ENDPOINT_TYPE_V6 = 6 } |
Endpoint type: DHCPv4 or DHCPv6 server. More... | |
Protected Attributes inherited from isc::dhcp::Dhcp4o6IpcBase | |
uint16_t | port_ |
Port number configured for IPC communication. | |
int | socket_fd_ |
Socket descriptor. | |
Handles DHCPv4-over-DHCPv6 IPC on the DHCPv4 server side.
Definition at line 23 of file dhcp4to6_ipc.h.
|
protected |
|
inlineprotectedvirtual |
Destructor.
Definition at line 31 of file dhcp4to6_ipc.h.
|
static |
On receive handler.
The handler processes the DHCPv4-query DHCPv6 packet and sends the DHCPv4-response DHCPv6 packet back to the DHCPv6 server
Definition at line 55 of file dhcp4to6_ipc.cc.
References isc::hooks::HooksManager::callCallouts(), isc::hooks::HooksManager::calloutsPresent(), D6O_DHCPV4_MSG, isc::dhcp::DBG_DHCP4_BASIC, isc::dhcp::DBG_DHCP4_DETAIL, isc::dhcp::DBG_DHCP4_DETAIL_DATA, isc::dhcp::DBG_DHCP4_HOOKS, isc::dhcp::DHCP4_DHCP4O6_BAD_PACKET, isc::dhcp::DHCP4_DHCP4O6_PACKET_RECEIVED, isc::dhcp::DHCP4_DHCP4O6_PACKET_SEND, isc::dhcp::DHCP4_DHCP4O6_PACKET_SEND_FAIL, isc::dhcp::DHCP4_DHCP4O6_RECEIVE_FAIL, isc::dhcp::DHCP4_DHCP4O6_RECEIVING, isc::dhcp::DHCP4_DHCP4O6_RESPONSE_DATA, isc::dhcp::DHCP4_HOOK_BUFFER_SEND_SKIP, isc::dhcp::getCalloutHandle(), isc::dhcp::Dhcpv4Srv::getHookIndexBuffer4Send(), isc::dhcp::ControlledDhcpv4Srv::getInstance(), isc::hooks::hooks_logger, instance(), isc_throw, LOG_DEBUG, LOG_ERROR, isc::hooks::CalloutHandle::NEXT_STEP_DROP, isc::hooks::CalloutHandle::NEXT_STEP_SKIP, isc::dhcp::packet4_logger, isc::dhcp::Dhcpv4Srv::processPacket(), isc::dhcp::Dhcpv4Srv::processStatsSent(), isc::dhcp::Dhcp4o6IpcBase::receive(), and isc::dhcp::Dhcp4o6IpcBase::send().
Referenced by open().
|
static |
Returns pointer to the sole instance of Dhcp4to6Ipc.
Dhcp4to6Ipc is a singleton class
Definition at line 32 of file dhcp4to6_ipc.cc.
Referenced by isc::dhcp::Dhcpv4Srv::~Dhcpv4Srv(), handler(), and isc::dhcp::ControlledDhcpv4Srv::processConfig().
|
virtual |
Open communication socket.
Call base open method and sets the handler/callback when needed
Implements isc::dhcp::Dhcp4o6IpcBase.
Definition at line 37 of file dhcp4to6_ipc.cc.
References isc::dhcp::IfaceMgr::addExternalSocket(), isc::dhcp::Dhcp4o6IpcBase::close(), isc::dhcp::Dhcp4o6IpcBase::ENDPOINT_TYPE_V4, isc::dhcp::CfgMgr::getStagingCfg(), handler(), isc::dhcp::CfgMgr::instance(), isc::dhcp::IfaceMgr::instance(), isc_throw, isc::dhcp::Dhcp4o6IpcBase::open(), and isc::dhcp::Dhcp4o6IpcBase::socket_fd_.
Referenced by isc::dhcp::ControlledDhcpv4Srv::processConfig().