Commit 9d6f8de3 authored by Marcin Siodelski's avatar Marcin Siodelski

[master] Merge branch 'trac5613'

parents 79d12b1e 44c1eec6
......@@ -21,7 +21,7 @@
included in the command from the controlling client. The details of the
supported commands as well as their structures are provided in
<xref linkend="ctrl-channel"/>.</para>
<para>Hook libraries can be attached to the CA to provide support for
<para>Hook libraries can be loaded by the CA to provide support for
additional commands or custom behavior of existing commands. Such hook
libraries must implement callouts for 'control_command_receive' hook point.
Details about creating new hook libraries and supported hook points can be
......@@ -167,7 +167,7 @@
</para>
<para>
Hooks libraries can be attached to the Control Agent just like to
Hooks libraries can be loaded by the Control Agent just like to
DHCPv4 and DHCPv6 servers. It currently supports one hook point
'control_command_receive' which makes it possible to delegate
processing of some commands to the hooks library. The
......
......@@ -123,7 +123,7 @@
command to the DHCPv4 server for processing via unix domain socket.
Sometimes, the command including a service value may also be processed by the
CA, if the CA is running a hooks library which handles such command for the
given server. As an example, the hooks library attached to the CA
given server. As an example, the hooks library loaded by the CA
may perform some operations on the database (like adding host reservations,
modifying leases etc.). An advantage of performing DHCPv4 specific
administrative operations in the CA rather than forwarding it to
......
......@@ -14,6 +14,12 @@
the DHCP service in case of outage of one of the servers. This library
used to be only available to ISC customers, but is now part of
the open source Kea, available to all users.
<note>
<para>This library may only be loaded by <command>kea-dhcp4</command>
or <command>kea-dhcp6</command> process.
</para>
</note>
</para>
<para>
High Availability (HA) of the DHCP service is provided by running multiple
......
......@@ -14,11 +14,16 @@
</para>
<para>
The RADIUS Host cache is a library that has to be loaded by either
DHCPv4 or DHCPv6 Kea servers. In principle it can be used with any
backend that may introduce performance degradation (MySQL,
PostgreSQL, Cassandra, RADIUS). Host Cache is required to be
loaded for the RADIUS accounting mechanism to work.
<note>
<para>This library may only be loaded by <command>kea-dhcp4</command>
or <command>kea-dhcp6</command> process.
</para>
</note>
In principle it can be used with any backend that may introduce
performance degradation (MySQL, PostgreSQL, Cassandra, RADIUS).
Host Cache is required to be loaded for the RADIUS accounting
mechanism to work.
</para>
<para>
......
......@@ -24,6 +24,12 @@
receive additional RADIUS attributes. As such, the alternative
looks more appealing: to extend DHCP server to talk to RADIUS
directly. That is the goal this library intends to fulfill.
<note>
<para>This library may only be loaded by <command>kea-dhcp4</command>
or <command>kea-dhcp6</command> process.
</para>
</note>
</para>
<para>
The major feature of the library is the ability to use RADIUS
......
......@@ -16,6 +16,12 @@
Finally, this library was constructed to provide commands for retrieving
these statistics. Additional statistics commands may be added to this
library in future releases.
<note>
<para>This library may only be loaded by <command>kea-dhcp4</command>
or <command>kea-dhcp6</command> process.
</para>
</note>
</para>
<para>
......
......@@ -28,7 +28,7 @@
load the libraries.
</para>
<para>
Hooks libraries are attached to individual Kea processes, not to
Hooks libraries are loaded by individual Kea processes, not to
Kea as a whole. This means (for example) that it is possible
to associate one set of libraries with the DHCP4 server and a
different set to the DHCP6 server.
......@@ -311,19 +311,35 @@ $ <userinput>ls -l /usr/local/lib/hooks/*.so</userinput>
making Kea sustainable in the long term.
</para></note>
<para>Currently the following libraries are available or planned from ISC:
<para>The following table provides a list of libraries currently available
from ISC. It is important to pay attention to which libraries may be loaded
by which Kea processes. It is a common mistake to configure the <command>
kea-ctrl-agent</command> process to load libraries that should, in fact,
be loaded by the <command>kea-dhcp4 </command> or <command>kea-dhcp6</command>
processes. If a library from ISC doesn't work as expected, please make sure
that it has been loaded by the correct process per the table below.
<warning>
<para>
While the Kea Control Agent includes the "hooks" functionality,
(i.e. hooks libraries can be loaded by this process), none of ISC's
current hooks libraries should be loaded by the Control Agent.
</para>
</warning>
<table frame="all" xml:id="hook-libs">
<title>List of available hooks libraries</title>
<tgroup cols="3">
<colspec colname="name"/>
<colspec colname="avail"/>
<colspec colname="module"/>
<colspec colname="description"/>
<thead>
<row>
<entry>Name</entry>
<entry>Availability</entry>
<entry>Since</entry>
<entry>Load by process</entry>
<entry>Description</entry>
</row>
</thead>
......@@ -333,6 +349,12 @@ $ <userinput>ls -l /usr/local/lib/hooks/*.so</userinput>
<entry>user_chk</entry>
<entry>Kea sources</entry>
<entry>Kea 0.8</entry>
<entry>
<simplelist>
<member>kea-&#xFEFF;dhcp4</member>
<member>kea-&#xFEFF;dhcp6</member>
</simplelist>
</entry>
<entry>Reads known users list from a file. Unknown users
will be assigned a
lease from the last subnet defined in the configuration file,
......@@ -345,6 +367,12 @@ $ <userinput>ls -l /usr/local/lib/hooks/*.so</userinput>
<entry>Forensic Logging</entry>
<entry>Support customers</entry>
<entry>Kea 1.1.0</entry>
<entry>
<simplelist>
<member>kea-&#xFEFF;dhcp4</member>
<member>kea-&#xFEFF;dhcp6</member>
</simplelist>
</entry>
<entry>This library provides hooks that record a detailed log of
lease assignments and renewals into a set of log files. In many
legal jurisdictions companies, especially ISPs, must record
......@@ -359,6 +387,12 @@ $ <userinput>ls -l /usr/local/lib/hooks/*.so</userinput>
<entry>Flexible Identifier</entry>
<entry>Support customers</entry>
<entry>Kea 1.2.0</entry>
<entry>
<simplelist>
<member>kea-&#xFEFF;dhcp4</member>
<member>kea-&#xFEFF;dhcp6</member>
</simplelist>
</entry>
<entry>Kea software provides a way to handle host reservations
that include addresses, prefixes, options, client classes and
other features. The reservation can be based on hardware address,
......@@ -379,6 +413,12 @@ $ <userinput>ls -l /usr/local/lib/hooks/*.so</userinput>
<entry>Host Commands</entry>
<entry>Support customers</entry>
<entry>Kea 1.2.0</entry>
<entry>
<simplelist>
<member>kea-&#xFEFF;dhcp4</member>
<member>kea-&#xFEFF;dhcp6</member>
</simplelist>
</entry>
<entry>Kea provides a way to store host reservations in a
database. In many larger deployments it is useful to be able to
manage that information while the server is running. This library
......@@ -396,6 +436,12 @@ $ <userinput>ls -l /usr/local/lib/hooks/*.so</userinput>
<entry>Subnet Commands</entry>
<entry>Support customers</entry>
<entry>Kea 1.3.0</entry>
<entry>
<simplelist>
<member>kea-&#xFEFF;dhcp4</member>
<member>kea-&#xFEFF;dhcp6</member>
</simplelist>
</entry>
<entry>In deployments in which subnet configuration needs to
be frequently updated, it is a hard requirement that such updates be
performed without the need for a full DHCP server reconfiguration
......@@ -412,6 +458,12 @@ $ <userinput>ls -l /usr/local/lib/hooks/*.so</userinput>
<entry>Lease Commands</entry>
<entry>Kea sources</entry>
<entry>Kea 1.3.0</entry>
<entry>
<simplelist>
<member>kea-&#xFEFF;dhcp4</member>
<member>kea-&#xFEFF;dhcp6</member>
</simplelist>
</entry>
<entry>The lease commands hook library offers a number of new
commands used to manage leases. Kea provides a way to store lease
information in various backends: memfile, MySQL, PostgreSQL and
......@@ -430,6 +482,12 @@ $ <userinput>ls -l /usr/local/lib/hooks/*.so</userinput>
<entry>High Availability</entry>
<entry>Kea sources</entry>
<entry>Kea 1.4.0</entry>
<entry>
<simplelist>
<member>kea-&#xFEFF;dhcp4</member>
<member>kea-&#xFEFF;dhcp6</member>
</simplelist>
</entry>
<entry>Minimizing a risk of DHCP service unavailability is
achieved by setting up a pair of the DHCP servers in a network.
Two modes of operation are supported. The first one is called load
......@@ -455,6 +513,12 @@ $ <userinput>ls -l /usr/local/lib/hooks/*.so</userinput>
<entry>Radius</entry>
<entry>Support customers</entry>
<entry>Kea 1.4.0</entry>
<entry>
<simplelist>
<member>kea-&#xFEFF;dhcp4</member>
<member>kea-&#xFEFF;dhcp6</member>
</simplelist>
</entry>
<entry>The RADIUS Hook library allows Kea to interact with the
RADIUS servers using access and accounting mechanisms. The access
mechanism may be used for access control, assigning specific IPv4
......@@ -468,6 +532,12 @@ $ <userinput>ls -l /usr/local/lib/hooks/*.so</userinput>
<entry>Host Cache</entry>
<entry>Support customers</entry>
<entry>Kea 1.4.0</entry>
<entry>
<simplelist>
<member>kea-&#xFEFF;dhcp4</member>
<member>kea-&#xFEFF;dhcp6</member>
</simplelist>
</entry>
<entry>Some of the database backends, such as RADIUS, are
considered slow and may take a long time to respond. Since Kea in
general is synchronous, the backend performance directly affects
......@@ -596,6 +666,12 @@ and may have the zero or more of the following entries:
provides hooks that record a detailed log of lease assignments
and renewals into a set of log files. Currently this library
is only available to ISC customers with a support contract.
<note>
<para>This library may only be loaded by <command>kea-dhcp4</command>
or <command>kea-dhcp6</command> process.
</para>
</note>
</para>
<para>
In many legal jurisdictions companies, especially ISPs, must record
......@@ -1036,7 +1112,14 @@ $
hook application.</para>
<para>Currently this library is only available to ISC customers with a
support contract.</para>
support contract.
<note>
<para>This library may only be loaded by <command>kea-dhcp4</command>
or <command>kea-dhcp6</command> process.
</para>
</note>
</para>
<para>The library allows for defining an expression, using notation
initially used for client classification only. See <xref linkend="classification-using-expressions"/> for detailed description
......@@ -1274,7 +1357,14 @@ $
</para>
<para>Currently this library is only available to ISC customers with a
support contract.</para>
support contract.
<note>
<para>This library may only be loaded by <command>kea-dhcp4</command>
or <command>kea-dhcp6</command> process.
</para>
</note>
</para>
<para>
Currently three commands are supported: reservation-add (which adds
......@@ -1572,6 +1662,12 @@ An example deletion by (subnet-id, identifier-type, identifier) looks as follows
errors, like adding a lease with subnet-id that does not exist in the
configuration or configuring a lease to use an address that is outside
of the subnet to which it is supposed to belong.
<note>
<para>This library may only be loaded by <command>kea-dhcp4</command>
or <command>kea-dhcp6</command> process.
</para>
</note>
</para>
<para>There are many use cases when an administrative command may be
......@@ -2162,7 +2258,14 @@ An example IPv4 lease deletion by "hw-address" looks as follows:
</para>
<para>Currently this library is only available to ISC customers with a
support contract.</para>
support contract.
<note>
<para>This library may only be loaded by <command>kea-dhcp4</command>
or <command>kea-dhcp6</command> process.
</para>
</note>
</para>
<para>The following commands are currently supported:
<itemizedlist mark="bullet">
......
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