summaryrefslogtreecommitdiffstats
path: root/src/lib/dhcpsrv/database_backends.dox
diff options
context:
space:
mode:
authorFrancis Dupont <fdupont@isc.org>2018-03-08 02:49:19 +0100
committerFrancis Dupont <fdupont@isc.org>2018-03-08 02:49:19 +0100
commitf7ee3792cd41461399ffeac7e80d897a08b17ebd (patch)
tree3fd70fa9dd2ad2f79d4e84563d346baf2977de44 /src/lib/dhcpsrv/database_backends.dox
parent[5533a] Reverted add() to return void (diff)
downloadkea-f7ee3792cd41461399ffeac7e80d897a08b17ebd.tar.xz
kea-f7ee3792cd41461399ffeac7e80d897a08b17ebd.zip
[5533a] Addressed comments
Diffstat (limited to 'src/lib/dhcpsrv/database_backends.dox')
-rw-r--r--src/lib/dhcpsrv/database_backends.dox21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/lib/dhcpsrv/database_backends.dox b/src/lib/dhcpsrv/database_backends.dox
index 4bfbc7f040..29dbddba5e 100644
--- a/src/lib/dhcpsrv/database_backends.dox
+++ b/src/lib/dhcpsrv/database_backends.dox
@@ -105,4 +105,25 @@
For details, see @ref isc::dhcp::CqlConnection::openDatabase().
+ @section dhcpdb-host Host Backends.
+
+ Host backends (known also as host data sources) are similar to lease
+ backends with a few differences:
+
+ - host backends are optional (so it is allowed to have none) because
+ the first source of host reservations is the server configuration,
+ others are alternate backends.
+
+ - there may be more than one host backend. In such a case for lookups
+ returning a collection all results are appended, for lookups returning
+ at most one entry the first found is returned. Add operation is submitted
+ to all alternate backends which can ignore it, add the entry or throw
+ if the new entry conflicts with an already existing one. Delete
+ operations are submitted in sequence to all alternate backends until
+ one finds the entry, deletes it and returns true.
+
+ - the first alternate backend can be a cache (host cache hook library
+ is a premium feature) which avoids to lookup slow databases.
+ For subnet ID and identifier negative caching is optionally supported.
+
*/