From ab026519a797dd9a09160f9b46776a719d6fc301 Mon Sep 17 00:00:00 2001 From: Marcin Siodelski Date: Wed, 8 Jul 2015 15:09:55 +0200 Subject: [PATCH] [3484] Updated Developer's Guide for libdhcpsrv. --- src/lib/dhcpsrv/libdhcpsrv.dox | 35 +++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/src/lib/dhcpsrv/libdhcpsrv.dox b/src/lib/dhcpsrv/libdhcpsrv.dox index 8aa9a0e37..3cb6140cf 100644 --- a/src/lib/dhcpsrv/libdhcpsrv.dox +++ b/src/lib/dhcpsrv/libdhcpsrv.dox @@ -1,4 +1,4 @@ -// Copyright (C) 2012, 2014 Internet Systems Consortium, Inc. ("ISC") +// Copyright (C) 2012-2015 Internet Systems Consortium, Inc. ("ISC") // // Permission to use, copy, modify, and/or distribute this software for any // purpose with or without fee is hereby granted, provided that the above @@ -15,27 +15,36 @@ /** @page libdhcpsrv libdhcpsrv - Server DHCP library -This library contains code useful for DHCPv4 and DHCPv6 server operations, like -Lease Manager that stores leases information, configuration manager that stores -configuration etc. The code here is server specific. For generic (useful in -server, client, relay and other tools like perfdhcp) code, please see +This library contains code used for DHCPv4 and DHCPv6 servers' operations, +including "Lease Manager" that manages information about leases, +"Configuration Manager" that stores servers' configuration etc. +The code here is server specific. For generic (useful by server, +client, relay and other tools like perfdhcp) code, please see \ref libdhcp. -This library contains several crucial elements of the DHCP server operation: +This library contains several crucial elements for the DHCP server operation: -- isc::dhcp::LeaseMgr - Lease Manager is a name for database backend that stores +- isc::dhcp::LeaseMgr - lease manager is a name for database backend that stores leases. -- isc::dhcp::CfgMgr - Configuration Manager that holds DHCP specific +- isc::dhcp::CfgMgr - configuration manager that holds DHCP specific configuration information (subnets, pools, options, timer values etc.) in easy to use format. -- AllocEngine - allocation engine that handles new requestes and allocates new +- isc::dhcp::AllocEngine - allocation engine that handles new requestes and allocates new leases. +- isc::dhcp::HostMgr - manager for static reservations, a.k.a. as host + reservations. +- isc::dhcp::D2ClientMgr - D2 client manager which is responsible for + the communication between the DHCP server and the D2 component. @section leasemgr Lease Manager LeaseMgr provides a common, unified abstract API for all database backends. All -backends are derived from the base class isc::dhcp::LeaseMgr. Currently the -only available backend is MySQL (see \ref isc::dhcp::MySqlLeaseMgr). +backends are derived from the base class isc::dhcp::LeaseMgr. Currently Kea +supports three backends implemented in the following classes: + +- isc::dhcp::Memfile_LeaseMgr - stores leases in the CSV file, +- isc::dhcp::MySqlLeaseMgr - stores leases in the MySQL database +- isc::dhcp::PgSqlLeaseMgr - stores leases in the PostgreSQL database @section cfgmgr Configuration Manager @@ -77,10 +86,6 @@ configuration. For example: the value of 1 identifies an immediate predecessor of the current configuration, the value of 2 identifies the one that occurred before it etc. -@todo Currently, only a subset of configuration information is stored in -the \ref isc::dhcp::SrvConfig object. Kea developers are actively working -on migrating the other configuration parameters to it. - @section hostmgr Host Manager Host Manager implemented by the \ref isc::dhcp::HostMgr is a singleton object -- GitLab