| Kea 3.0.2-git

Kea Ping Check Hooks Library

Welcome to Kea Ping Check Hooks Library.

This documentation is addressed at developers who are interested in internal operation of the library. This file provides information needed to understand and perhaps extend this library.

This documentation is stand-alone: you should have read and understood Kea Developer's Guide and in particular its section about hooks: Hooks Developer's Guide.

# Overview

The `ping_check` hooks library provides the ability for kea-dhcp4 to carry out an ICMP ECHO test of a candidate IP address prior to sending that address to a DHCPv4 client in a DHCPOFFER message.

# Library Internals

In addition to the requisite load() and unload() functions, the library implements the following callouts:

- dhcp4_srv_configured() - schedules a (re)start of the ICMP IO layer
- lease4_offer() - handles requests from kea-dhcp4 core to initiate a ping check for a candidate lease

The load() function instantiates an instance of isc::ping_check::PingCheckMgr. This class is the top level object that provides configuration processing and supervises the execution of ping checks.

# Multi-Threading Compatibility

The `ping_check` hooks library requires multi-threading.