2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-09-02 15:05:16 +00:00

[#2554] add 'ischooklib' anchors and references

This commit is contained in:
Andrei Pavel
2023-06-06 13:30:39 +03:00
parent a51ab99885
commit aaa3a91b9b
28 changed files with 143 additions and 130 deletions

View File

@@ -188,7 +188,7 @@ and the result is interpreted as a class. For example, modern cable
modems send this option with value ``docsis3.0``, so the packet belongs to modems send this option with value ``docsis3.0``, so the packet belongs to
class ``VENDOR_CLASS_docsis3.0``. class ``VENDOR_CLASS_docsis3.0``.
The ``HA_`` prefix is used by the High Availability hook library to The ``HA_`` prefix is used by :ischooklib:`libdhcp_ha.so` to
designate certain servers to process DHCP packets as a result of load designate certain servers to process DHCP packets as a result of load
balancing. The class name is constructed by prepending the ``HA_`` prefix balancing. The class name is constructed by prepending the ``HA_`` prefix
to the name of the server which should process the DHCP packet. This to the name of the server which should process the DHCP packet. This
@@ -202,7 +202,7 @@ names at runtime. The spawned class name is constructed by prepending the
``SPAWN_<template-class-name>_<evaluated-value>``. ``SPAWN_<template-class-name>_<evaluated-value>``.
More details can be found in :ref:`classification-configuring`. More details can be found in :ref:`classification-configuring`.
The ``BOOTP`` class is used by the BOOTP hook library to classify and The ``BOOTP`` class is used by :ischooklib:`libdhcp_bootp.so` to classify and
respond to inbound BOOTP queries. respond to inbound BOOTP queries.
The ``SKIP_DDNS`` class is used by the DDNS-tuning hook library to suppress The ``SKIP_DDNS`` class is used by the DDNS-tuning hook library to suppress

View File

@@ -13,11 +13,11 @@ to manage and fetch their configuration from one or more databases. In
this documentation, the term "Configuration Backend" may also refer to this documentation, the term "Configuration Backend" may also refer to
the particular Kea module providing support to manage and fetch the the particular Kea module providing support to manage and fetch the
configuration information from the particular database type. For configuration information from the particular database type. For
example, the MySQL Configuration Backend is the logic implemented within the example, the MySQL Configuration Backend is the logic implemented within
``mysql_cb`` hook library, which provides a complete set of functions to :ischooklib:`libdhcp_mysql_cb.so`, which provides a complete set of functions to
manage and fetch the configuration information from the MySQL database. manage and fetch the configuration information from the MySQL database.
The PostgreSQL Configuration Backend is the logic implemented within the The PostgreSQL Configuration Backend is the logic implemented within
``pgsql_cb`` hook library, which provides a complete set of functions to :ischooklib:`libdhcp_pgsql_cb.so`, which provides a complete set of functions to
manage and fetch the configuration information from the PostgreSQL database. manage and fetch the configuration information from the PostgreSQL database.
From herein, the term "database" is used to refer to either a MySQL or From herein, the term "database" is used to refer to either a MySQL or
PostgreSQL database. PostgreSQL database.
@@ -85,7 +85,7 @@ Currently, the Kea CB has the following limitations:
Kea CB stores data in a schema that is public. It is possible to Kea CB stores data in a schema that is public. It is possible to
insert configuration data into the tables manually or automatically insert configuration data into the tables manually or automatically
using SQL scripts, but this requires SQL and schema knowledge. using SQL scripts, but this requires SQL and schema knowledge.
The supported method for managing the data is through the ``cb-cmds`` hook library, The supported method for managing the data is through :ischooklib:`libdhcp_cb_cmds.so`,
which provides management commands for config backends. It simplifies many which provides management commands for config backends. It simplifies many
typical operations, such as listing, adding, retrieving, and deleting global typical operations, such as listing, adding, retrieving, and deleting global
parameters, shared networks, subnets, pools, options, option definitions, and parameters, shared networks, subnets, pools, options, option definitions, and
@@ -95,7 +95,7 @@ Appendix A of this manual for a complete list.
.. note:: .. note::
The ``cb_cmds`` hook library is available only to ISC support subscribers. :ischooklib:`libdhcp_cb_cmds.so` is available only to ISC support subscribers.
For more information on subscription options, please complete the form For more information on subscription options, please complete the form
at https://www.isc.org/contact. at https://www.isc.org/contact.
@@ -132,11 +132,11 @@ in two independent configuration sources.
.. note:: .. note::
It is recommended that the ``subnet_cmds`` hook library not be used to It is recommended that :ischooklib:`libsubnet_cmds.so` not be used to
manage subnets when the configuration backend is used as a source manage subnets when the configuration backend is used as a source
of information about the subnets. The ``subnet_cmds`` hook library of information about the subnets. :ischooklib:`libsubnet_cmds.so`
modifies the local subnets configuration in the server's memory, modifies the local subnets configuration in the server's memory,
not in the database. Use the ``cb_cmds`` hook library to manage the not in the database. Use :ischooklib:`libcb_cmds.so` to manage the
subnets information in the database instead. subnets information in the database instead.
.. note:: .. note::
@@ -162,13 +162,13 @@ in two independent configuration sources.
CB Components CB Components
------------- -------------
To use a MySQL configuration backend you must compile the ``mysql_cb`` open To use a MySQL configuration backend you must compile
source hook library and configure the DHCP servers to load it. It is compiled when :ischooklib:`libdhcp_mysql_cb.so` and configure the DHCP servers to load it.
the ``--with-mysql`` configuration switch is used during the Kea build. The MySQL It is compiled when the ``--with-mysql`` configuration switch is used during the Kea build.
C client libraries must be installed, as explained in :ref:`dhcp-install-configure`. The MySQL C client libraries must be installed, as explained in :ref:`dhcp-install-configure`.
To use a PostgreSQL configuration backend you must compile the ``pgsql_cb`` open To use a PostgreSQL configuration backend you must compile :ischooklib:`libdhcp_pgsql_cb.so`
source hook library and configure the DHCP servers to load it. It is compiled when and configure the DHCP servers to load it. It is compiled when
the ``--with-pgsql`` configuration switch is used during the Kea build. The PostgreSQL the ``--with-pgsql`` configuration switch is used during the Kea build. The PostgreSQL
C client libraries must be installed, as explained in :ref:`dhcp-install-configure`. C client libraries must be installed, as explained in :ref:`dhcp-install-configure`.
@@ -178,18 +178,15 @@ C client libraries must be installed, as explained in :ref:`dhcp-install-configu
required by the particular Kea version using the :iscman:`kea-admin` tool, required by the particular Kea version using the :iscman:`kea-admin` tool,
as described in :ref:`kea-admin`. as described in :ref:`kea-admin`.
The ``cb_cmds`` premium hook library, which is available to ISC's paid support :ischooklib:`libdhcp_cb_cmds.so`, which is available to ISC's paid support
customers, provides a complete set of commands to manage the customers, provides a complete set of commands to manage the
servers' configuration information within the database. This library can servers' configuration information within the database. This library can
be attached to both DHCPv4 and DHCPv6 server instances. While it is be attached to both DHCPv4 and DHCPv6 server instances. While it is
possible to manage the configuration information without the ``cb_cmds`` possible to manage the configuration information without :ischooklib:`libdhcp_cb_cmds.so`
hook library with commonly available tools, such as MySQL Workbench or with commonly available tools, such as MySQL Workbench or
the command-line MySQL client, or by directly working with the database; the command-line MySQL client, or by directly working with the database;
these avenues are neither recommended nor supported. these avenues are neither recommended nor supported.
Refer to :ref:`hooks-cb-cmds` for the details regarding the
``cb_cmds`` hook library.
The DHCPv4 and DHCPv6 server-specific configurations of the CB, as well as The DHCPv4 and DHCPv6 server-specific configurations of the CB, as well as
the list of supported configuration parameters, can be found in the list of supported configuration parameters, can be found in
:ref:`dhcp4-cb` and :ref:`dhcp6-cb`, respectively. :ref:`dhcp4-cb` and :ref:`dhcp6-cb`, respectively.
@@ -266,8 +263,8 @@ that any particular subnet may have only one definition within this
network. Each subnet has two unique identifiers: the subnet identifier and the network. Each subnet has two unique identifiers: the subnet identifier and the
subnet prefix. The subnet identifier is used in Kea to uniquely subnet prefix. The subnet identifier is used in Kea to uniquely
identify the subnet within the network and to connect it with other configuration elements, identify the subnet within the network and to connect it with other configuration elements,
e.g. in host reservations. Some commands provided by the e.g. in host reservations. Some commands provided by
``cb_cmds`` hook library allow the subnet :ischooklib:`libdhcp_cb_cmds.so` allow the subnet
information to be accessed by either subnet identifier or prefix, and explicitly prohibit information to be accessed by either subnet identifier or prefix, and explicitly prohibit
using the server tag to access the subnet. This is because, in using the server tag to access the subnet. This is because, in
general, the subnet definition is associated with multiple servers general, the subnet definition is associated with multiple servers

View File

@@ -273,7 +273,7 @@ as a single entry (JSON map) as follows:
These types of errors are possible on systems configured for either basic These types of errors are possible on systems configured for either basic
authentication or agents that load the RBAC hook library. authentication or agents that load :ischooklib:`libca_rbac.so`.
.. _ctrl-channel-client: .. _ctrl-channel-client:

View File

@@ -2179,7 +2179,7 @@ to be configured with those options.
+--------------------+------+----------------------------------------------------------------------+ +--------------------+------+----------------------------------------------------------------------+
All other RAI sub-options can be used in client classification to classify incoming packets to specific classes All other RAI sub-options can be used in client classification to classify incoming packets to specific classes
and/or by ``flex-id`` to construct a unique device identifier. and/or by :ischooklib:`libdhcp_flex_id.so` to construct a unique device identifier.
.. _dhcp4-custom-options: .. _dhcp4-custom-options:
@@ -5727,7 +5727,7 @@ reservations for the same IP address within a particular subnet, to avoid
having two different clients compete for the same address. having two different clients compete for the same address.
When using the default settings, the server returns a configuration error When using the default settings, the server returns a configuration error
when it finds two or more reservations for the same IP address within when it finds two or more reservations for the same IP address within
a subnet in the Kea configuration file. The :ref:`hooks-host-cmds` hook a subnet in the Kea configuration file. :ischooklib:`libdhcp_host_cmds.so`
returns an error in response to the :isccmd:`reservation-add` command returns an error in response to the :isccmd:`reservation-add` command
when it detects that the reservation exists in the database for the IP when it detects that the reservation exists in the database for the IP
address for which the new reservation is being added. address for which the new reservation is being added.
@@ -5752,7 +5752,7 @@ The ``ip-reservations-unique`` is a boolean parameter that defaults to
``true``, which forbids the specification of more than one reservation ``true``, which forbids the specification of more than one reservation
for the same IP address within a given subnet. Setting this parameter to for the same IP address within a given subnet. Setting this parameter to
``false`` allows such reservations to be created both in the Kea configuration ``false`` allows such reservations to be created both in the Kea configuration
file and in the host database backend, via the ``host-cmds`` hook library. file and in the host database backend, via :ischooklib:`libdhcp_host_cmds.so`.
This setting is currently supported by the most popular host database This setting is currently supported by the most popular host database
backends, i.e. MySQL and PostgreSQL. backends, i.e. MySQL and PostgreSQL.
@@ -6672,7 +6672,7 @@ The parameter is expressed in seconds, so the example above
instructs the server to recycle declined leases after one hour. instructs the server to recycle declined leases after one hour.
There are several statistics and hook points associated with the decline There are several statistics and hook points associated with the decline
handling procedure. The ``lease4_decline`` hook is triggered after the handling procedure. The ``lease4_decline`` hook point is triggered after the
incoming DHCPDECLINE message has been sanitized and the server is about incoming DHCPDECLINE message has been sanitized and the server is about
to decline the lease. The ``declined-addresses`` statistic is increased to decline the lease. The ``declined-addresses`` statistic is increased
after the hook returns (both the global and subnet-specific variants). (See after the hook returns (both the global and subnet-specific variants). (See
@@ -7488,7 +7488,7 @@ the DHCPv4 server parameters can be configured in the database. All other
parameters must be specified in the JSON configuration file, if parameters must be specified in the JSON configuration file, if
required. required.
All supported parameters can be configured via the ``cb_cmds`` hook library All supported parameters can be configured via :ischooklib:`libdhcp_cb_cmds.so`
described in the :ref:`hooks-cb-cmds` section. The general rule is that described in the :ref:`hooks-cb-cmds` section. The general rule is that
scalar global parameters are set using scalar global parameters are set using
:isccmd:`remote-global-parameter4-set`; shared-network-specific parameters :isccmd:`remote-global-parameter4-set`; shared-network-specific parameters
@@ -7728,13 +7728,13 @@ waiting for the next fetch cycle.
In the configuration examples above, two hook libraries are loaded. The first In the configuration examples above, two hook libraries are loaded. The first
is a library which implements the Configuration Backend for a specific database is a library which implements the Configuration Backend for a specific database
type: ``libdhcp_mysql_cb.so`` provides support for MySQL and ``libdhcp_pgsql_cb.so`` type: :ischooklib:`libdhcp_mysql_cb.so` provides support for MySQL and :ischooklib:`libdhcp_pgsql_cb.so`
provides support for PostgreSQL. The library loaded must match the database provides support for PostgreSQL. The library loaded must match the database
``type`` specified within the ``config-control`` parameter or an will error be ``type`` specified within the ``config-control`` parameter or an will error be
logged when the server attempts to load its configuration and the load will logged when the server attempts to load its configuration and the load will
fail. fail.
The second hook library, ``libdhcp_cb_cmds.so``, is optional. It should The second hook library, :ischooklib:`libdhcp_cb_cmds.so`, is optional. It should
be loaded when the Kea server instance is to be used to manage the be loaded when the Kea server instance is to be used to manage the
configuration in the database. See the :ref:`hooks-cb-cmds` section for configuration in the database. See the :ref:`hooks-cb-cmds` section for
details. This hook library is only available to ISC details. This hook library is only available to ISC
@@ -7983,7 +7983,7 @@ before using this allocator. The FLQ allocator can heavily impact the server's
startup and reconfiguration time, because the allocator has to populate the startup and reconfiguration time, because the allocator has to populate the
list of free leases for each subnet where it is used. These delays can be list of free leases for each subnet where it is used. These delays can be
observed both during the configuration reload and when the subnets are observed both during the configuration reload and when the subnets are
created using the ``subnet_cmds`` hook. The allocator increases the created using :ischooklib:`libdhcp_subnet_cmds.so`. The allocator increases the
memory consumption to hold the list of free leases, proportional memory consumption to hold the list of free leases, proportional
to the total size of the address pools for which this allocator is used. to the total size of the address pools for which this allocator is used.
Finally, lease reclamation must be enabled with a low value of the Finally, lease reclamation must be enabled with a low value of the

View File

@@ -4942,8 +4942,8 @@ reservations for the same IP address or delegated prefix within a
particular subnet, to avoid having two different clients particular subnet, to avoid having two different clients
compete for the same lease. When using the default settings, the server compete for the same lease. When using the default settings, the server
returns a configuration error when it finds two or more reservations for returns a configuration error when it finds two or more reservations for
the same lease within a subnet in the Kea configuration file. The the same lease within a subnet in the Kea configuration file.
:ref:`hooks-host-cmds` hook library returns an error in response to the :ischooklib:`libdhcp_host_cmds.so` returns an error in response to the
:isccmd:`reservation-add` command when it detects that the reservation exists :isccmd:`reservation-add` command when it detects that the reservation exists
in the database for the lease for which the new reservation is being added. in the database for the lease for which the new reservation is being added.
@@ -4957,7 +4957,7 @@ The ``ip-reservations-unique`` is a boolean parameter that defaults to
``true``, which forbids the specification of more than one reservation ``true``, which forbids the specification of more than one reservation
for the same lease in a given subnet. Setting this parameter to ``false`` for the same lease in a given subnet. Setting this parameter to ``false``
allows such reservations to be created both in the Kea configuration allows such reservations to be created both in the Kea configuration
file and in the host database backend, via the ``host-cmds`` hook library. file and in the host database backend, via :ischooklib:`libdhcp_host_cmds.so`.
This setting is currently supported by the most popular host database This setting is currently supported by the most popular host database
backends, i.e. MySQL and PostgreSQL. backends, i.e. MySQL and PostgreSQL.
@@ -6309,7 +6309,7 @@ The parameter is expressed in seconds, so the example above
instructs the server to recycle declined leases after one hour. instructs the server to recycle declined leases after one hour.
There are several statistics and hook points associated with the decline There are several statistics and hook points associated with the decline
handling procedure. The ``lease6_decline`` hook is triggered after the handling procedure. The ``lease6_decline`` hook point is triggered after the
incoming DHCPDECLINE message has been sanitized and the server is about incoming DHCPDECLINE message has been sanitized and the server is about
to decline the lease. The ``declined-addresses`` statistic is increased to decline the lease. The ``declined-addresses`` statistic is increased
after the hook returns (both the global and subnet-specific variants). (See after the hook returns (both the global and subnet-specific variants). (See
@@ -7197,7 +7197,7 @@ the DHCPv6 server parameters can be configured in the database. All other
parameters must be specified in the JSON configuration file, if parameters must be specified in the JSON configuration file, if
required. required.
All supported parameters can be configured via the ``cb_cmds`` hook library All supported parameters can be configured via :ischooklib:`libdhcp_cb_cmds.so`
described in the :ref:`hooks-cb-cmds` section. The general rule is that described in the :ref:`hooks-cb-cmds` section. The general rule is that
scalar global parameters are set using scalar global parameters are set using
:isccmd:`remote-global-parameter6-set`; shared-network-specific parameters :isccmd:`remote-global-parameter6-set`; shared-network-specific parameters
@@ -7567,7 +7567,7 @@ before using this allocator for prefix delegation. The FLQ allocator can heavily
impact the server's startup and reconfiguration time, because the allocator impact the server's startup and reconfiguration time, because the allocator
has to populate the list of free leases for each subnet where it is used. has to populate the list of free leases for each subnet where it is used.
These delays can be observed both during the configuration reload and when These delays can be observed both during the configuration reload and when
the subnets are created using the ``subnet_cmds`` hook. The allocator the subnets are created using :ischooklib:`libdhcp_subnet_cmds.so`. The allocator
increases the memory consumption to hold the list of free leases, increases the memory consumption to hold the list of free leases,
proportional to the total size of the pools for which this allocator is used. proportional to the total size of the pools for which this allocator is used.
Finally, lease reclamation must be enabled with a low value of the Finally, lease reclamation must be enabled with a low value of the

View File

@@ -15,7 +15,7 @@ Windows servers, have chosen to adopt a more complex GSS-TSIG approach that offe
additional capabilities, such as using negotiated dynamic keys. additional capabilities, such as using negotiated dynamic keys.
Kea supports GSS-TSIG to protect DNS updates sent by Kea supports GSS-TSIG to protect DNS updates sent by
the Kea DHCP-DDNS (D2) server in a premium hook, called ``gss_tsig``. the Kea DHCP-DDNS (D2) server in a premium hook, called :ischooklib:`libddns_gss_tsig.so`.
GSS-TSIG is defined in `RFC 3645 <https://tools.ietf.org/html/rfc3645>`__. GSS-TSIG is defined in `RFC 3645 <https://tools.ietf.org/html/rfc3645>`__.
The GSS-TSIG protocol itself is an implementation of generic GSS-API v2 The GSS-TSIG protocol itself is an implementation of generic GSS-API v2
@@ -116,11 +116,11 @@ detection, similar to this:
6. Compile ``make -jX``, where X is the number of CPU cores 6. Compile ``make -jX``, where X is the number of CPU cores
available. available.
7. After compilation, the ``gss_tsig`` hook is available in the 7. After compilation, :ischooklib:`libddns_gss_tsig.so` is available in the
``premium/src/hooks/d2/gss_tsig`` directory. It can be loaded by ``premium/src/hooks/d2/gss_tsig`` directory. It can be loaded by
the Kea DHCP-DDNS (D2) daemon. the Kea DHCP-DDNS (D2) daemon.
The ``gss_tsig`` hook library was developed using the MIT Kerberos 5 implementation, but :ischooklib:`libddns_gss_tsig.so` was developed using the MIT Kerberos 5 implementation, but
Heimdal is also supported. Note that Heimdal is picky about Heimdal is also supported. Note that Heimdal is picky about
security-sensitive file permissions and is known to emit an unclear error message. security-sensitive file permissions and is known to emit an unclear error message.
It is a good idea to keep these files plain, with one link and no It is a good idea to keep these files plain, with one link and no
@@ -464,7 +464,7 @@ Using GSS-TSIG
There are a number of steps required to enable the GSS-TSIG mechanism: There are a number of steps required to enable the GSS-TSIG mechanism:
1. The ``gss_tsig`` hook library must be loaded by the D2 server. 1. :ischooklib:`libddns_gss_tsig.so` must be loaded by the D2 server.
2. The GSS-TSIG-capable DNS servers must be specified with their parameters. 2. The GSS-TSIG-capable DNS servers must be specified with their parameters.
An excerpt from a D2 server configuration is provided below; more examples are available in the An excerpt from a D2 server configuration is provided below; more examples are available in the
@@ -606,7 +606,7 @@ specified, the default of 53 is assumed. This is similar to basic mode, with no
authentication done using TSIG keys, with the authentication done using TSIG keys, with the
exception that static TSIG keys are not referenced by name. exception that static TSIG keys are not referenced by name.
Second, the ``libddns_gss_tsig.so`` library must be specified on the Second, :ischooklib:`libddns_gss_tsig.so` must be specified on the
``hooks-libraries`` list. This hook takes many parameters. The most important ``hooks-libraries`` list. This hook takes many parameters. The most important
one is ``servers``, which is a list of GSS-TSIG-capable servers. If there are one is ``servers``, which is a list of GSS-TSIG-capable servers. If there are
several servers and they share some characteristics, the values can be specified several servers and they share some characteristics, the values can be specified

View File

@@ -1,7 +1,8 @@
.. ischooklib:: libdhcp_bootp.so
.. _hooks-bootp: .. _hooks-bootp:
``bootp``: Support for BOOTP Clients ``libdhcp_bootp.so``: Support for BOOTP Clients
==================================== ===============================================
This hook library adds support for BOOTP with vendor-information extensions This hook library adds support for BOOTP with vendor-information extensions
(`RFC 1497 <https://tools.ietf.org/html/rfc1497>`__). Received BOOTP (`RFC 1497 <https://tools.ietf.org/html/rfc1497>`__). Received BOOTP

View File

@@ -1,27 +1,28 @@
.. ischooklib:: libdhcp_cb_cmds.so
.. _hooks-cb-cmds: .. _hooks-cb-cmds:
``cb_cmds``: Configuration Backend Commands ``libdhcp_cb_cmds.so``: Configuration Backend Commands
=========================================== ======================================================
This hook library is used to manage Kea This hook library is used to manage Kea
servers' configurations in a configuration backend database. This library must servers' configurations in a configuration backend database. This library must
be used in conjunction with the available CB hook libraries implementing be used in conjunction with the available CB hook libraries implementing
the common APIs to create, read, update, and delete (CRUD) the the common APIs to create, read, update, and delete (CRUD) the
configuration information in the respective databases. For example: configuration information in the respective databases. For example:
the ``mysql_cb`` hook library implements this API for MySQL while the :ischooklib:`libdhcp_mysql_cb.so` implements this API for MySQL while
``pgsql_cb`` hook library implements this API for PostgreSQL. :ischooklib:`libdhcp_pgsql_cb.so` implements this API for PostgreSQL.
To manage the configuration information in a MySQL database, both the To manage the configuration information in a MySQL database, both
``mysql_cb`` and ``cb_cmds`` libraries must be loaded by the server used for the :ischooklib:`libdhcp_mysql_cb.so` and :ischooklib:`libdhcp_cb_cmds.so`
configuration management. must be loaded by the server used for the configuration management.
To manage the configuration information in a PostgreSQL database, both the To manage the configuration information in a PostgreSQL database, both
``pgsql_cb`` and ``cb_cmds`` libraries must be loaded by the server used for the :ischooklib:`libdhcp_pgsql_cb.so` and :ischooklib:`libdhcp_cb_cmds.so`
configuration management. must be loaded by the server used for the configuration management.
More information on how to configure the Configuration Backend hook library for More information on how to configure the Configuration Backend hook library for
use with a MySQL or PostgreSQL database can be found in the :ref:`dhcp4-cb` use with a MySQL or PostgreSQL database can be found in the :ref:`dhcp4-cb`
and :ref:`dhcp6-cb` sections. and :ref:`dhcp6-cb` sections.
The ``cb_cmds`` library is only available to ISC customers with a paid :ischooklib:`libdhcp_cb_cmds.so` is only available to ISC customers with a paid
support contract. support contract.
.. note:: .. note::
@@ -79,7 +80,7 @@ be specified, the parameter should be omitted. In this case, the server
will use the first backend listed in the ``config-control`` map within will use the first backend listed in the ``config-control`` map within
the configuration of the server receiving the command. the configuration of the server receiving the command.
The ``cb_cmds`` library is only available to ISC customers with a paid :ischooklib:`libdhcp_cb_cmds.so` is only available to ISC customers with a paid
support contract. support contract.
.. note:: .. note::
@@ -98,7 +99,7 @@ support contract.
to use a single configuration backend. Strictly speaking, it is to use a single configuration backend. Strictly speaking, it is
possible to point the Kea server to at most one database (either MySQL or possible to point the Kea server to at most one database (either MySQL or
PostgreSQL) using the ``config-control`` parameter. Therefore, the ``remote`` PostgreSQL) using the ``config-control`` parameter. Therefore, the ``remote``
parameter may be omitted in the commands and the ``cb_cmds`` hook library parameter may be omitted in the commands and :ischooklib:`libdhcp_cb_cmds.so`
uses the sole backend by default. The example commands below most often show a uses the sole backend by default. The example commands below most often show a
value of "mysql" for the ``type`` parameter; it should be assumed that the value of "mysql" for the ``type`` parameter; it should be assumed that the
value is "postgresql" for installations using a PostgreSQL database. value is "postgresql" for installations using a PostgreSQL database.
@@ -109,7 +110,7 @@ Control Commands for DHCP Servers
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This section describes and gives some examples of the control commands This section describes and gives some examples of the control commands
implemented by the ``cb_cmds`` hook library, to manage the implemented by :ischooklib:`libdhcp_cb_cmds.so`, to manage the
configuration information of the DHCPv4 and DHCPv6 servers. Many of the configuration information of the DHCPv4 and DHCPv6 servers. Many of the
commands are almost identical between DHCPv4 and DHCPv6; they only commands are almost identical between DHCPv4 and DHCPv6; they only
differ by the command name. Other commands differ slightly by the differ by the command name. Other commands differ slightly by the

View File

@@ -1,9 +1,10 @@
.. ischooklib:: libdhcp_mysql_cb.so
.. _hooks-cb-mysql: .. _hooks-cb-mysql:
``mysql_cb``: Configuration Backend for MySQL ``libdhcp_mysql_cb.so``: Configuration Backend for MySQL
============================================= ========================================================
This hook library works in conjunction with the ``cb_cmds`` library to This hook library works in conjunction with :ischooklib:`libdhcp_cb_cmds.so` to
implement the API to create, read, update, and delete (CRUD) the implement the API to create, read, update, and delete (CRUD) the
configuration in a MySQL database. Please see :ref:`hooks-cb-cmds` configuration in a MySQL database. Please see :ref:`hooks-cb-cmds`
for more details. for more details.

View File

@@ -1,9 +1,10 @@
.. ischooklib:: libdhcp_pgsql_cb.so
.. _hooks-cb-pgsql: .. _hooks-cb-pgsql:
``pgsql_cb``: Configuration Backend for PostgreSQL ``libdhcp_pgsql_cb.so``: Configuration Backend for PostgreSQL
================================================== =============================================================
This hook library works in conjunction with the ``cb_cmds`` library to This hook library works in conjunction with :ischooklib:`libdhcp_cb_cmds.so` to
implement the API to create, read, update, and delete (CRUD) the implement the API to create, read, update, and delete (CRUD) the
configuration in a PostgreSQL database. Please see :ref:`hooks-cb-cmds` configuration in a PostgreSQL database. Please see :ref:`hooks-cb-cmds`
for more details. for more details.

View File

@@ -1,7 +1,8 @@
.. ischooklib:: libdhcp_class_cmds.so
.. _hooks-class-cmds: .. _hooks-class-cmds:
``class_cmds``: Class Commands ``libdhcp_class_cmds.so``: Class Commands
============================== =========================================
This hook library exposes This hook library exposes
several control commands for manipulating client classes (part of the several control commands for manipulating client classes (part of the

View File

@@ -1,7 +1,8 @@
.. ischooklib:: libdhcp_ddns_tuning.so
.. _hooks-ddns-tuning: .. _hooks-ddns-tuning:
``ddns_tuning``: DDNS Tuning ``libdhcp_ddns_tuning.so``: DDNS Tuning
============================ =======================================
This hook library adds support for fine-tuning various DNS update aspects. This hook library adds support for fine-tuning various DNS update aspects.
It currently supports procedural host-name generation and the ability to skip It currently supports procedural host-name generation and the ability to skip
@@ -157,7 +158,7 @@ response to a client query (e.g. SOLICIT, REQUEST, RENEW, REBIND) is as follows:
Skipping DDNS Updates Skipping DDNS Updates
~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~
The ``ddns-tuning`` library also provides the ability to skip DDNS updates on a :ischooklib:`libdhcp_ddns_tuning.so` also provides the ability to skip DDNS updates on a
per-client basis. The library recognizes a special client class, "SKIP_DDNS"; when a per-client basis. The library recognizes a special client class, "SKIP_DDNS"; when a
client is matched to this class, the Kea servers (:iscman:`kea-dhcp4` and :iscman:`kea-dhcp6`) do not client is matched to this class, the Kea servers (:iscman:`kea-dhcp4` and :iscman:`kea-dhcp6`) do not
send DDNS update requests (NCRs) to :iscman:`kea-dhcp-ddns`. A common use case would be send DDNS update requests (NCRs) to :iscman:`kea-dhcp-ddns`. A common use case would be
@@ -175,13 +176,8 @@ simply assigning the class to the host reservation as shown below:
}] }]
} }
<<<<<<< HEAD The :ischooklib:`libdhcp_ddns_tuning.so` hook library notes the
The ``ddns-tuning`` library notes the presence of the "SKIP_DDNS" class in the presence of the ``"SKIP_DDNS"`` class in the
||||||| parent of 0e20e5ed8c (isccmd)
:ischooklib:`libdhcp_ddns_tuning.so` notes the presence of the ``"SKIP_DDNS"`` class in the
=======
The :ischooklib:`libdhcp_ddns_tuning.so` hook library notes the presence of the ``"SKIP_DDNS"`` class in the
>>>>>>> 0e20e5ed8c (isccmd)
client's class list each time the client requests, renews, or releases its lease, client's class list each time the client requests, renews, or releases its lease,
and instructs :iscman:`kea-dhcp4` to bypass sending DDNS updates. A similar workflow is and instructs :iscman:`kea-dhcp4` to bypass sending DDNS updates. A similar workflow is
supported for :iscman:`kea-dhcp6`: supported for :iscman:`kea-dhcp6`:

View File

@@ -1,7 +1,8 @@
.. ischooklib:: libdhcp_flex_id.so
.. _hooks-flex-id: .. _hooks-flex-id:
``flex_id``: Flexible Identifier for Host Reservations ``libdhcp_flex_id.so``: Flexible Identifier for Host Reservations
====================================================== =================================================================
The Kea software provides a way to handle The Kea software provides a way to handle
host reservations that include addresses, prefixes, options, client host reservations that include addresses, prefixes, options, client
@@ -21,7 +22,7 @@ contract.
This library can only be loaded by the :iscman:`kea-dhcp4` or :iscman:`kea-dhcp6` This library can only be loaded by the :iscman:`kea-dhcp4` or :iscman:`kea-dhcp6`
process. process.
The ``flex_id`` library allows the definition of an expression, using notation initially :ischooklib:`libdhcp_flex_id.so` allows the definition of an expression, using notation initially
used only for client classification. (See used only for client classification. (See
:ref:`classification-using-expressions` for a detailed description of :ref:`classification-using-expressions` for a detailed description of
the syntax available.) One notable difference is that for client the syntax available.) One notable difference is that for client
@@ -155,7 +156,7 @@ The ``replace-client-id`` Flag
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
When ``replace-client-id`` is set to ``false`` (which is the default setting), When ``replace-client-id`` is set to ``false`` (which is the default setting),
the ``flex-id`` hook library uses the evaluated flexible identifier solely for :ischooklib:`libdhcp_flex_id.so` uses the evaluated flexible identifier solely for
identifying host reservations, i.e. searching for reservations within a identifying host reservations, i.e. searching for reservations within a
database. This is the functional equivalent of other identifiers, similar database. This is the functional equivalent of other identifiers, similar
to hardware address or circuit-id. However, this mode of operation to hardware address or circuit-id. However, this mode of operation
@@ -172,7 +173,7 @@ and other parameters are used that identify where the device is connected
(e.g. circuit-id), rather than the device identification itself (e.g. (e.g. circuit-id), rather than the device identification itself (e.g.
MAC address). MAC address).
The ``flex-id`` library offers a way to overcome the problem with lease :ischooklib:`libdhcp_flex_id.so` offers a way to overcome the problem with lease
conflicts by dynamically replacing the client identifier (or DUID in DHCPv6) conflicts by dynamically replacing the client identifier (or DUID in DHCPv6)
with a value derived from the flexible identifier. The server with a value derived from the flexible identifier. The server
processes the client's query as if the flexible identifier were sent in the processes the client's query as if the flexible identifier were sent in the
@@ -215,7 +216,7 @@ client-id option) is ignored.
The :ref:`hooks-lease-cmds` section describes commands used to retrieve, The :ref:`hooks-lease-cmds` section describes commands used to retrieve,
update, and delete leases using various identifiers, such as ``hw-address`` and update, and delete leases using various identifiers, such as ``hw-address`` and
``client-id``. The ``lease_cmds`` library does not natively support querying ``client-id``. :ischooklib:`libdhcp_lease_cmds.so` does not natively support querying
for leases by flexible identifier. However, when ``replace-client-id`` is for leases by flexible identifier. However, when ``replace-client-id`` is
set to ``true``, it makes it possible to query for leases using a value set to ``true``, it makes it possible to query for leases using a value
derived from the flexible identifier. In DHCPv4, the query derived from the flexible identifier. In DHCPv4, the query
@@ -251,8 +252,8 @@ In DHCPv6, the corresponding query looks something like this:
The ``ignore-iaid`` Flag The ``ignore-iaid`` Flag
~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~
When ``ignore-iaid`` is set to ``true`` (the default value is ``false``), the When ``ignore-iaid`` is set to ``true`` (the default value is ``false``),
``flex-id`` hook library causes the Kea DHCPv6 server to ignore the IAID value :ischooklib:`libdhcp_flex_id.so` causes the Kea DHCPv6 server to ignore the IAID value
from incoming IPv6 packets. This parameter is ignored by the Kea DHCPv4 server. from incoming IPv6 packets. This parameter is ignored by the Kea DHCPv4 server.
If the packet contains only one IA_NA, the IAID value will be changed to ``0`` If the packet contains only one IA_NA, the IAID value will be changed to ``0``

View File

@@ -1,7 +1,8 @@
.. ischooklib:: libdhcp_flex_option.so
.. _hooks-flex-option: .. _hooks-flex-option:
``flex_option``: Flexible Option Actions for Option Value Settings ``libdhcp_flex_option.so``: Flexible Option Actions for Option Value Settings
================================================================== =============================================================================
This library allows administrators to define an action to take, for a given This library allows administrators to define an action to take, for a given
option, based upon on the result of an expression. These actions are carried option, based upon on the result of an expression. These actions are carried
@@ -33,7 +34,7 @@ numeric code or its name; either the code or the name must be
specified. The option space is DHCPv4 or DHCPv6, depending specified. The option space is DHCPv4 or DHCPv6, depending
on the server where the hook library is loaded. on the server where the hook library is loaded.
Similar to other hook libraries, the ``flex_option`` library can be loaded Similar to other hook libraries, :ischooklib:`libdhcp_flex_option.so` can be loaded
by either the :iscman:`kea-dhcp4` or :iscman:`kea-dhcp6` by either the :iscman:`kea-dhcp4` or :iscman:`kea-dhcp6`
process. It takes a mandatory ``options`` parameter with a list of process. It takes a mandatory ``options`` parameter with a list of
per-option parameter maps, with ``code``, ``name``, ``add``, ``supersede``, and per-option parameter maps, with ``code``, ``name``, ``add``, ``supersede``, and

View File

@@ -1,7 +1,8 @@
.. ischooklib:: libddns_gss_tsig.so
.. _hooks-gss-tsig: .. _hooks-gss-tsig:
``gss-tsig``: Sign DNS Updates With GSS-TSIG ``libddns_gss_tsig.so``: Sign DNS Updates With GSS-TSIG
============================================ =======================================================
This hook library allows the :iscman:`kea-dhcp-ddns` server to use This hook library allows the :iscman:`kea-dhcp-ddns` server to use
GSS-TSIG to sign DNS updates. For a full discussion of GSS-TSIG in Kea, GSS-TSIG to sign DNS updates. For a full discussion of GSS-TSIG in Kea,

View File

@@ -1,7 +1,8 @@
.. ischooklib:: libdhcp_ha.so
.. _hooks-high-availability: .. _hooks-high-availability:
``ha``: High Availability Outage Resilience for Kea Servers ``libdhcp_ha.so``: High Availability Outage Resilience for Kea Servers
=========================================================== ======================================================================
This hook library can be loaded on a pair of DHCPv4 or DHCPv6 servers, to This hook library can be loaded on a pair of DHCPv4 or DHCPv6 servers, to
increase the reliability of the DHCP service in the event of an outage on one increase the reliability of the DHCP service in the event of an outage on one
@@ -714,14 +715,14 @@ only difference that ``this-server-name`` should be set to "server2" and
}] }]
} }
Two hook libraries must be loaded to enable HA: ``libdhcp_lease_cmds.so`` and Two hook libraries must be loaded to enable HA: :ischooklib:`libdhcp_lease_cmds.so` and
``libdhcp_ha.so``. The latter implements the HA feature, while the former :ischooklib:`libdhcp_ha.so`. The latter implements the HA feature, while the former
enables control commands required by HA to fetch and manipulate leases on the enables control commands required by HA to fetch and manipulate leases on the
remote servers. In the example provided above, it is assumed that Kea libraries remote servers. In the example provided above, it is assumed that Kea libraries
are installed in the ``/usr/lib`` directory. If Kea is not installed in the are installed in the ``/usr/lib`` directory. If Kea is not installed in the
``/usr`` directory, the hook libraries' locations must be updated accordingly. ``/usr`` directory, the hook libraries' locations must be updated accordingly.
The HA configuration is specified within the scope of ``libdhcp_ha.so``. The HA configuration is specified within the scope of :ischooklib:`libdhcp_ha.so`.
Note that while the top-level parameter ``high-availability`` is a list, only a Note that while the top-level parameter ``high-availability`` is a list, only a
single entry is currently supported. single entry is currently supported.
@@ -1474,8 +1475,7 @@ state machine.
In order to "unpause" the state machine, the :isccmd:`ha-continue` command must be In order to "unpause" the state machine, the :isccmd:`ha-continue` command must be
sent to the paused server. This command does not take any arguments. See sent to the paused server. This command does not take any arguments. See
:ref:`ha-control-commands` for details about commands specific to the HA hook :ref:`ha-control-commands` for details about commands specific to :ischooklib:`libdhcp_ha.so`.
library.
It is possible to configure the state machine to pause in more than one state. It is possible to configure the state machine to pause in more than one state.
Consider the following configuration: Consider the following configuration:

View File

@@ -1,7 +1,8 @@
.. ischooklib:: libdhcp_host_cache.so
.. _hooks-host-cache: .. _hooks-host-cache:
``host_cache``: Host Cache Reservations for Improved Performance ``libdhcp_host_cache.so``: Host Cache Reservations for Improved Performance
================================================================ ===========================================================================
Some database backends, such as RADIUS, are slow and may take Some database backends, such as RADIUS, are slow and may take
a long time to respond. Since Kea in general is synchronous, backend a long time to respond. Since Kea in general is synchronous, backend

View File

@@ -1,7 +1,8 @@
.. ischooklib:: libdhcp_host_cmds.so
.. _hooks-host-cmds: .. _hooks-host-cmds:
``host_cmds``: Host Commands ``libdhcp_host_cmds.so``: Host Commands
============================ =======================================
Kea can store host reservations in a database; in many larger deployments, Kea can store host reservations in a database; in many larger deployments,
it is useful to be able to manage that information while the server is it is useful to be able to manage that information while the server is
@@ -51,7 +52,7 @@ modify data stored in the host database, the hosts database must be specified
and it must not operate in read-only mode (for details, see the and it must not operate in read-only mode (for details, see the
``hosts-databases`` descriptions in :ref:`hosts-databases-configuration4` and ``hosts-databases`` descriptions in :ref:`hosts-databases-configuration4` and
:ref:`hosts-databases-configuration6`). If the ``hosts-databases`` are not :ref:`hosts-databases-configuration6`). If the ``hosts-databases`` are not
specified or are running in read-only mode, the ``host_cmds`` library will specified or are running in read-only mode, :ischooklib:`libhost_cmds.so` will
load, but any attempts to use :isccmd:`reservation-add`, :isccmd:`reservation-del`, and load, but any attempts to use :isccmd:`reservation-add`, :isccmd:`reservation-del`, and
:isccmd:`reservation-update` to modify data in that database will fail. :isccmd:`reservation-update` to modify data in that database will fail.

View File

@@ -1,7 +1,8 @@
.. ischooklib:: libdhcp_lease_cmds.so
.. _hooks-lease-cmds: .. _hooks-lease-cmds:
``lease_cmds``: Lease Commands for Easier Lease Management ``libdhcp_lease_cmds.so``: Lease Commands for Easier Lease Management
========================================================== =====================================================================
Kea allows users to store lease information in several Kea allows users to store lease information in several
backends (memfile, MySQL, and PostgreSQL), and the Lease Commands library provides an backends (memfile, MySQL, and PostgreSQL), and the Lease Commands library provides an

View File

@@ -1,7 +1,8 @@
.. ischooklib:: libdhcp_lease_query.so
.. _hooks-lease-query: .. _hooks-lease-query:
``lease_query``: Leasequery Support ``libdhcp_lease_query.so``: Leasequery Support
=================================== ==============================================
This library provides support for DHCPv4 Leasequery as described in This library provides support for DHCPv4 Leasequery as described in
`RFC 4388 <https://tools.ietf.org/html/rfc4388>`__; and for DHCPv6 `RFC 4388 <https://tools.ietf.org/html/rfc4388>`__; and for DHCPv6

View File

@@ -1,7 +1,8 @@
.. ischooklib:: libdhcp_legal_log.so
.. _hooks-legal-log: .. _hooks-legal-log:
``legal_log``: Forensic Logging ``libdhcp_legal_log.so``: Forensic Logging
=============================== ==========================================
The Forensic Logging hook library provides The Forensic Logging hook library provides
hooks that record a detailed log of assignments, renewals, releases, and other hooks that record a detailed log of assignments, renewals, releases, and other
@@ -76,14 +77,14 @@ Configuring the Forensic Logging Hooks
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To use this functionality, the hook library must be included in the To use this functionality, the hook library must be included in the
configuration of the desired DHCP server modules. The ``legal_log`` library configuration of the desired DHCP server modules. :ischooklib:`libdhcp_legal_log.so`
can save logs to a text file or to a database (created using can save logs to a text file or to a database (created using
:iscman:`kea-admin`; see :ref:`mysql-database-create` and :ref:`pgsql-database-create`). :iscman:`kea-admin`; see :ref:`mysql-database-create` and :ref:`pgsql-database-create`).
The library is installed alongside the Kea libraries in The library is installed alongside the Kea libraries in
``[kea-install-dir]/var/lib/kea``, where ``kea-install-dir`` is determined ``[kea-install-dir]/var/lib/kea``, where ``kea-install-dir`` is determined
by the ``--prefix`` option of the configure script; it defaults to by the ``--prefix`` option of the configure script; it defaults to
``/usr/local``. Assuming the default value, :iscman:`kea-dhcp4` can be configured to load ``/usr/local``. Assuming the default value, :iscman:`kea-dhcp4` can be configured to load
the ``legal_log`` library like this: :ischooklib:`libdhcp_legal_log.so` like this:
.. code-block:: json .. code-block:: json

View File

@@ -1,7 +1,8 @@
.. ischooklib:: libdhcp_limits.so
.. _hooks-limits: .. _hooks-limits:
``limits``: Limits to Manage Lease Allocation and Packet Processing ``libdhcp_limits.so``: Limits to Manage Lease Allocation and Packet Processing
=================================================================== ==============================================================================
This hook library enables two types of limits: This hook library enables two types of limits:

View File

@@ -1,7 +1,8 @@
.. ischooklib:: libdhcp_radius.so
.. _hooks-radius: .. _hooks-radius:
``radius``: RADIUS Server Support ``libdhcp_radius.so``: RADIUS Server Support
================================= ============================================
This hook library allows Kea to interact with two types of RADIUS This hook library allows Kea to interact with two types of RADIUS
servers: access and accounting. Although the most common DHCP and RADIUS servers: access and accounting. Although the most common DHCP and RADIUS
@@ -377,13 +378,13 @@ flags, which correspond to FreeRADIUS client library options:
- ``identifier-type4`` (default ``client-id``) - specifies the identifier - ``identifier-type4`` (default ``client-id``) - specifies the identifier
type to build the User-Name attribute. It should be the same as the type to build the User-Name attribute. It should be the same as the
host identifier, and when the ``flex-id`` hook library is used the host identifier, and when :ischooklib:`libdhcp_flex_id.so` is used the
``replace-client-id`` must be set to ``true``; ``client-id`` is used with ``replace-client-id`` must be set to ``true``; ``client-id`` is used with
``client-id-pop0``. ``client-id-pop0``.
- ``identifier-type6`` (default ``duid``) - specifies the identifier type to - ``identifier-type6`` (default ``duid``) - specifies the identifier type to
build the User-Name attribute. It should be the same as the host build the User-Name attribute. It should be the same as the host
identifier, and when the ``flex-id`` hook library is used the identifier, and when :ischooklib:`libdhcp_flex_id.so` is used the
``replace-client-id`` must be set to ``true``; ``duid`` is used with ``replace-client-id`` must be set to ``true``; ``duid`` is used with
``client-id-pop0``. ``client-id-pop0``.

View File

@@ -1,14 +1,15 @@
.. ischooklib:: libca_rbac.so
.. _hooks-RBAC: .. _hooks-RBAC:
``rbac``: Role-Based Access Control ``libca_rbac.so``: Role-Based Access Control
=================================== ============================================
.. _hooks-RBAC-overview: .. _hooks-RBAC-overview:
Role-Based Access Control (RBAC) Overview Role-Based Access Control (RBAC) Overview
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Before the processing of commands in received HTTP requests, the ``rbac`` hook Before the processing of commands in received HTTP requests, :ischooklib:`libca_rbac.so`
takes specific parameters, e.g. the common-name part of the client takes specific parameters, e.g. the common-name part of the client
certificate subject name, to assign a role to the request. certificate subject name, to assign a role to the request.
The configuration associated with this role is used to accept or reject The configuration associated with this role is used to accept or reject
@@ -99,7 +100,7 @@ API Commands
All commands of the REST API are described in files in the source directory All commands of the REST API are described in files in the source directory
``src/share/api``, or in installed Kea ``src/share/api``, or in installed Kea
in ``.../share/kea/api``. The ``rbac`` hook reads these files to take the name, in ``.../share/kea/api``. :ischooklib:`libca_rbac.so` reads these files to take the name,
the access right (i.e. ``read`` or ``write``), and the hook name. The access right the access right (i.e. ``read`` or ``write``), and the hook name. The access right
can be modified in the file but changes are only applied after the Control Agent can be modified in the file but changes are only applied after the Control Agent
restarts. Removing command definitions from ``.../share/kea/api`` has restarts. Removing command definitions from ``.../share/kea/api`` has

View File

@@ -1,7 +1,8 @@
.. ischooklib:: libdhcp_run_script.so
.. _hooks-run-script: .. _hooks-run-script:
``run_script``: Run Script Support for External Hook Scripts ``libdhcp_run_script.so``: Run Script Support for External Hook Scripts
============================================================ =======================================================================
The Run Script hook library adds support for calling an external script for specific The Run Script hook library adds support for calling an external script for specific
packet-processing hook points. packet-processing hook points.

View File

@@ -1,7 +1,8 @@
.. ischooklib:: libdhcp_stat_cmds.so
.. _hooks-stat-cmds: .. _hooks-stat-cmds:
``stat_cmds``: Statistics Commands for Supplemental Lease Statistics ``libdhcp_stat_cmds.so``: Statistics Commands for Supplemental Lease Statistics
==================================================================== ===============================================================================
This library provides additional commands for retrieving lease This library provides additional commands for retrieving lease
statistics from Kea DHCP servers. These commands were added to address statistics from Kea DHCP servers. These commands were added to address

View File

@@ -1,7 +1,8 @@
.. ischooklib:: libdhcp_subnet_cmds.so
.. _hooks-subnet-cmds: .. _hooks-subnet-cmds:
``subnet_cmds``: Subnet Commands to Manage Subnets and Shared Networks ``libdhcp_subnet_cmds.so``: Subnet Commands to Manage Subnets and Shared Networks
====================================================================== =================================================================================
This library offers commands used to query and manipulate subnet and shared network This library offers commands used to query and manipulate subnet and shared network
configurations in Kea. These can be very useful in deployments configurations in Kea. These can be very useful in deployments

View File

@@ -1,7 +1,8 @@
.. ischooklib:: libdhcp_user_chk.so
.. _hooks-user-chk: .. _hooks-user-chk:
``user_chk``: User Check ``libdhcp_user_chk.so``: User Check
======================== ===================================
This library serves several purposes: This library serves several purposes: