Browse Source

[3484] Updated Developer's Guide for libdhcpsrv.

Marcin Siodelski 9 years ago
parent
commit
ab026519a7
1 changed files with 20 additions and 15 deletions
  1. 20 15
      src/lib/dhcpsrv/libdhcpsrv.dox

+ 20 - 15
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