Commit ab026519 authored by Marcin Siodelski's avatar Marcin Siodelski

[3484] Updated Developer's Guide for libdhcpsrv.

parent 96fac8d5
// 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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment