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
 // Permission to use, copy, modify, and/or distribute this software for any
 // purpose with or without fee is hereby granted, provided that the above
 // purpose with or without fee is hereby granted, provided that the above
@@ -15,27 +15,36 @@
 /**
 /**
  @page libdhcpsrv libdhcpsrv - Server DHCP library
  @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.
 \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.
   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
   configuration information (subnets, pools, options, timer values etc.) in
   easy to use format.
   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.
   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
 @section leasemgr Lease Manager
 
 
 LeaseMgr provides a common, unified abstract API for all database backends. All
 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
 @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
 predecessor of the current configuration, the value of 2 identifies the
 one that occurred before it etc.
 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
 @section hostmgr Host Manager
 
 
 Host Manager implemented by the \ref isc::dhcp::HostMgr is a singleton object
 Host Manager implemented by the \ref isc::dhcp::HostMgr is a singleton object