]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#2554] add 'ischooklib' anchors and references
authorAndrei Pavel <andrei@isc.org>
Tue, 6 Jun 2023 10:30:39 +0000 (13:30 +0300)
committerAndrei Pavel <andrei@isc.org>
Wed, 14 Jun 2023 17:26:11 +0000 (20:26 +0300)
28 files changed:
doc/sphinx/arm/classify.rst
doc/sphinx/arm/config-backend.rst
doc/sphinx/arm/ctrl-channel.rst
doc/sphinx/arm/dhcp4-srv.rst
doc/sphinx/arm/dhcp6-srv.rst
doc/sphinx/arm/ext-gss-tsig.rst
doc/sphinx/arm/hooks-bootp.rst
doc/sphinx/arm/hooks-cb-cmds.rst
doc/sphinx/arm/hooks-cb-mysql.rst
doc/sphinx/arm/hooks-cb-pgsql.rst
doc/sphinx/arm/hooks-class-cmds.rst
doc/sphinx/arm/hooks-ddns-tuning.rst
doc/sphinx/arm/hooks-flex-id.rst
doc/sphinx/arm/hooks-flex-option.rst
doc/sphinx/arm/hooks-gss-tsig.rst
doc/sphinx/arm/hooks-ha.rst
doc/sphinx/arm/hooks-host-cache.rst
doc/sphinx/arm/hooks-host-cmds.rst
doc/sphinx/arm/hooks-lease-cmds.rst
doc/sphinx/arm/hooks-lease-query.rst
doc/sphinx/arm/hooks-legal-log.rst
doc/sphinx/arm/hooks-limits.rst
doc/sphinx/arm/hooks-radius.rst
doc/sphinx/arm/hooks-rbac.rst
doc/sphinx/arm/hooks-run-script.rst
doc/sphinx/arm/hooks-stat-cmds.rst
doc/sphinx/arm/hooks-subnet-cmds.rst
doc/sphinx/arm/hooks-user-chk.rst

index 607a56a3162568e9f3451585aef933d70b6d77bc..17eb7749482dbe10565d461d01a09d8d1b1894a7 100644 (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
 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
 balancing. The class name is constructed by prepending the ``HA_`` prefix
 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>``.
 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.
 
 The ``SKIP_DDNS`` class is used by the DDNS-tuning hook library to suppress
index b7d785ea029a71cb24915347de0a38a5a0aab0d0..8aab0923b17ed6afc43f1441b36aa7887b02bc27 100644 (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
 the particular Kea module providing support to manage and fetch the
 configuration information from the particular database type.  For
-example, the MySQL Configuration Backend is the logic implemented within the
-``mysql_cb`` hook library, which provides a complete set of functions to
+example, the MySQL Configuration Backend is the logic implemented within
+:ischooklib:`libdhcp_mysql_cb.so`, which provides a complete set of functions to
 manage and fetch the configuration information from the MySQL database.
-The PostgreSQL Configuration Backend is the logic implemented within the
-``pgsql_cb`` hook library, which provides a complete set of functions to
+The PostgreSQL Configuration Backend is the logic implemented within
+:ischooklib:`libdhcp_pgsql_cb.so`, which provides a complete set of functions to
 manage and fetch the configuration information from the PostgreSQL database.
 From herein, the term "database" is used to refer to either a MySQL or
 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
 insert configuration data into the tables manually or automatically
 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
 typical operations, such as listing, adding, retrieving, and deleting global
 parameters, shared networks, subnets, pools, options, option definitions, and
@@ -95,7 +95,7 @@ Appendix A of this manual for a complete list.
 
 .. 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
    at https://www.isc.org/contact.
 
@@ -132,11 +132,11 @@ in two independent configuration sources.
 
 .. 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
-   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,
-   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.
 
 .. note::
@@ -162,13 +162,13 @@ in two independent configuration sources.
 CB Components
 -------------
 
-To use a MySQL configuration backend you must compile the ``mysql_cb`` open
-source hook library and configure the DHCP servers to load it.  It is compiled when
-the ``--with-mysql`` configuration switch is used during the Kea build. The MySQL
-C client libraries must be installed, as explained in :ref:`dhcp-install-configure`.
+To use a MySQL configuration backend you must compile
+:ischooklib:`libdhcp_mysql_cb.so` and configure the DHCP servers to load it.
+It is compiled when the ``--with-mysql`` configuration switch is used during the Kea build.
+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
-source hook library and configure the DHCP servers to load it.  It is compiled when
+To use a PostgreSQL configuration backend you must compile :ischooklib:`libdhcp_pgsql_cb.so`
+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
 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,
    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
 servers' configuration information within the database. This library can
 be attached to both DHCPv4 and DHCPv6 server instances. While it is
-possible to manage the configuration information without the ``cb_cmds``
-hook library with commonly available tools, such as MySQL Workbench or
+possible to manage the configuration information without :ischooklib:`libdhcp_cb_cmds.so`
+with commonly available tools, such as MySQL Workbench or
 the command-line MySQL client, or by directly working with the database;
 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 list of supported configuration parameters, can be found in
 :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
 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,
-e.g. in host reservations. Some commands provided by the
-``cb_cmds`` hook library allow the subnet
+e.g. in host reservations. Some commands provided by
+:ischooklib:`libdhcp_cb_cmds.so` allow the subnet
 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
 general, the subnet definition is associated with multiple servers
index 8fe0ad1ad3fb6b1e6bf32853a919824946fdfd09..4ede42c02d2c005fb3ec85a6a4c9d669583236ad 100644 (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
-authentication or agents that load the RBAC hook library.
+authentication or agents that load :ischooklib:`libca_rbac.so`.
 
 .. _ctrl-channel-client:
 
index 55a16a3b5cd1fc7c0bbde093e0e2cba9aeca2a9e..49b6288486eb1def583a832612bbc10bcebfa140 100644 (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
-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:
 
@@ -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.
 When using the default settings, the server returns a configuration error
 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
 when it detects that the reservation exists in the database for the IP
 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
 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
-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
 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.
 
 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
 to decline the lease. The ``declined-addresses`` statistic is increased
 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
 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
 scalar global parameters are set using
 :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
 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
 ``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
 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
 configuration in the database. See the :ref:`hooks-cb-cmds` section for
 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
 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
-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
 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
index 4d4cd717e686f23a519ee033667d3dc782231a7d..0b827aa3439b9500932a4f9e0a56934569b636e4 100644 (file)
@@ -4942,8 +4942,8 @@ reservations for the same IP address or delegated prefix within a
 particular subnet, to avoid having two different clients
 compete for the same lease. When using the default settings, the server
 returns a configuration error when it finds two or more reservations for
-the same lease within a subnet in the Kea configuration file. The
-:ref:`hooks-host-cmds` hook library returns an error in response to the
+the same lease within a subnet in the Kea configuration file.
+:ischooklib:`libdhcp_host_cmds.so` returns an error in response to the
 :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.
 
@@ -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
 for the same lease in a given subnet. Setting this parameter to ``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
 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.
 
 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
 to decline the lease. The ``declined-addresses`` statistic is increased
 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
 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
 scalar global parameters are set using
 :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
 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
-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,
 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
index 321d7b65c553fcd52d739f62692b7c1ac1519e97..f8c66a2db0fbeac1a49174be3b13cc4b422b9af6 100644 (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.
 
 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>`__.
 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
     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
     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
 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
@@ -464,7 +464,7 @@ Using GSS-TSIG
 
 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.
 
 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
 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
 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
index 53460c11fa1751ad3dc363c238d8c88cd1682504..6942376ec1e62cf90ecd7583c15e9434fc86bda1 100644 (file)
@@ -1,7 +1,8 @@
+.. ischooklib:: libdhcp_bootp.so
 .. _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
 (`RFC 1497 <https://tools.ietf.org/html/rfc1497>`__). Received BOOTP
index d96e19db5de08c659ee9d740642a8c8ffecb5688..6d8ad1e1ba9721ee2867153ccc8fa2cfb605031b 100644 (file)
@@ -1,27 +1,28 @@
+.. ischooklib:: libdhcp_cb_cmds.so
 .. _hooks-cb-cmds:
 
-``cb_cmds``: Configuration Backend Commands
-===========================================
+``libdhcp_cb_cmds.so``: Configuration Backend Commands
+======================================================
 
 This hook library is used to manage Kea
 servers' configurations in a configuration backend database. This library must
 be used in conjunction with the available CB hook libraries implementing
 the common APIs to create, read, update, and delete (CRUD) the
 configuration information in the respective databases. For example:
-the ``mysql_cb`` hook library implements this API for MySQL while the
-``pgsql_cb`` hook library implements this API for PostgreSQL.
-To manage the configuration information in a MySQL database, both the
-``mysql_cb`` and ``cb_cmds`` libraries must be loaded by the server used for the
-configuration management.
-To manage the configuration information in a PostgreSQL database, both the
-``pgsql_cb`` and ``cb_cmds`` libraries must be loaded by the server used for the
-configuration management.
+:ischooklib:`libdhcp_mysql_cb.so` implements this API for MySQL while
+:ischooklib:`libdhcp_pgsql_cb.so` implements this API for PostgreSQL.
+To manage the configuration information in a MySQL database, both
+:ischooklib:`libdhcp_mysql_cb.so` and :ischooklib:`libdhcp_cb_cmds.so`
+must be loaded by the server used for the configuration management.
+To manage the configuration information in a PostgreSQL database, both
+:ischooklib:`libdhcp_pgsql_cb.so` and :ischooklib:`libdhcp_cb_cmds.so`
+must be loaded by the server used for the configuration management.
 
 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`
 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.
 
 .. 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
 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.
 
 .. note::
@@ -98,7 +99,7 @@ support contract.
    to use a single configuration backend. Strictly speaking, it is
    possible to point the Kea server to at most one database (either MySQL or
    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
    value of "mysql" for the ``type`` parameter; it should be assumed that the
    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
-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
 commands are almost identical between DHCPv4 and DHCPv6; they only
 differ by the command name. Other commands differ slightly by the
index 16111ff7bbfacd274aec0dce5d149fd2fcbbb00d..30667e2d4e4d1e090174cf5271ae0c7cfa7373da 100644 (file)
@@ -1,9 +1,10 @@
+.. ischooklib:: libdhcp_mysql_cb.so
 .. _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
 configuration in a MySQL database. Please see :ref:`hooks-cb-cmds`
 for more details.
index cf8deccb151eb587a2a09fad461bb6b054c7b28f..238954d786a928bddfb87be277b52678f3c7065c 100644 (file)
@@ -1,9 +1,10 @@
+.. ischooklib:: libdhcp_pgsql_cb.so
 .. _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
 configuration in a PostgreSQL database. Please see :ref:`hooks-cb-cmds`
 for more details.
index c9ea21fa491f10d3b8f209fc26c890d17c1ca010..bb1baff33559b5845266aa47f29778b82fe715d0 100644 (file)
@@ -1,7 +1,8 @@
+.. ischooklib:: libdhcp_class_cmds.so
 .. _hooks-class-cmds:
 
-``class_cmds``: Class Commands
-==============================
+``libdhcp_class_cmds.so``: Class Commands
+=========================================
 
 This hook library exposes
 several control commands for manipulating client classes (part of the
index b4a58b7d3c1f830da29e1f787650a9692dfe685e..6feb34189f69d96c112df285bf8a159dff00f8e7 100644 (file)
@@ -1,7 +1,8 @@
+.. ischooklib:: libdhcp_ddns_tuning.so
 .. _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.
 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
 ~~~~~~~~~~~~~~~~~~~~~
 
-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
 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
@@ -175,13 +176,8 @@ simply assigning the class to the host reservation as shown below:
         }]
     }
 
-<<<<<<< HEAD
-The ``ddns-tuning`` library notes 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)
+The :ischooklib:`libdhcp_ddns_tuning.so` hook library notes the
+presence of the ``"SKIP_DDNS"`` class in the
 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
 supported for :iscman:`kea-dhcp6`:
index eab5e48aeb2a20ac9f36995fdacc5e96f518be8f..368f0324361c37ae3b57debb84cdca8b940edf11 100644 (file)
@@ -1,7 +1,8 @@
+.. ischooklib:: libdhcp_flex_id.so
 .. _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
 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`
    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
 :ref:`classification-using-expressions` for a detailed description of
 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),
-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
 database. This is the functional equivalent of other identifiers, similar
 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.
 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)
 with a value derived from the flexible identifier. The server
 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,
 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
 set to ``true``, it makes it possible to query for leases using a value
 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
 ~~~~~~~~~~~~~~~~~~~~~~~~
 
-When ``ignore-iaid`` is set to ``true`` (the default value is ``false``), the
-``flex-id`` hook library causes the Kea DHCPv6 server to ignore the IAID value
+When ``ignore-iaid`` is set to ``true`` (the default value is ``false``),
+: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.
 
 If the packet contains only one IA_NA, the IAID value will be changed to ``0``
index 06824c0ed2c885899deb98d25ff351221af5dcd7..b0dcc38dd043315ba54e78fa8c346ad5a6998198 100644 (file)
@@ -1,7 +1,8 @@
+.. ischooklib:: libdhcp_flex_option.so
 .. _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
 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
 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`
 process. It takes a mandatory ``options`` parameter with a list of
 per-option parameter maps, with ``code``, ``name``, ``add``, ``supersede``, and
index 89260eda3866832d61a7d1ea8757238caf6d066d..d5817d39d3003c9dc5b297b2ae3a54f0fee73dd3 100644 (file)
@@ -1,7 +1,8 @@
+.. ischooklib:: libddns_gss_tsig.so
 .. _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
 GSS-TSIG to sign DNS updates. For a full discussion of GSS-TSIG in Kea,
index c6dc426e76bbd8b8a340dc4ec44c49096fd89b8f..c6a9738d0df57a3c6ae486f3d284a71ca0537506 100644 (file)
@@ -1,7 +1,8 @@
+.. ischooklib:: libdhcp_ha.so
 .. _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
 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
-``libdhcp_ha.so``. The latter implements the HA feature, while the former
+Two hook libraries must be loaded to enable HA: :ischooklib:`libdhcp_lease_cmds.so` and
+: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
 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
 ``/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
 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
 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
-library.
+:ref:`ha-control-commands` for details about commands specific to :ischooklib:`libdhcp_ha.so`.
 
 It is possible to configure the state machine to pause in more than one state.
 Consider the following configuration:
index 3a5d50850f9c8c9766a6a11bbe5b1cd58200684d..de7a121e54e1ab3ff4aadb51bd5176c14c6c4656 100644 (file)
@@ -1,7 +1,8 @@
+.. ischooklib:: libdhcp_host_cache.so
 .. _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
 a long time to respond. Since Kea in general is synchronous, backend
index 92f292a93b349b40c1fd1ad8d609477da3b8ff09..93a039512283a08346eeece8b53bb64b8466d89f 100644 (file)
@@ -1,7 +1,8 @@
+.. ischooklib:: libdhcp_host_cmds.so
 .. _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,
 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
 ``hosts-databases`` descriptions in :ref:`hosts-databases-configuration4` and
 :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
 :isccmd:`reservation-update` to modify data in that database will fail.
 
index f0c7556aa88212ff62569af24baacddf72fb8925..c6a0d1004775d661496d3082c729a50ad9c28558 100644 (file)
@@ -1,7 +1,8 @@
+.. ischooklib:: libdhcp_lease_cmds.so
 .. _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
 backends (memfile, MySQL, and PostgreSQL), and the Lease Commands library provides an
index 04f21888fbdb56068d5426fc82058a7d7ef2d3a6..2ad2c32889b20427338b56f2895b65225d12f195 100644 (file)
@@ -1,7 +1,8 @@
+.. ischooklib:: libdhcp_lease_query.so
 .. _hooks-lease-query:
 
-``lease_query``: Leasequery Support
-===================================
+``libdhcp_lease_query.so``: Leasequery Support
+==============================================
 
 This library provides support for DHCPv4 Leasequery as described in
 `RFC 4388 <https://tools.ietf.org/html/rfc4388>`__; and for DHCPv6
index 32dbb9e439f5b6499a79bf492555f199b4c5691c..daea88fcdf402a13a5ff76760b270db0ea2193ce 100644 (file)
@@ -1,7 +1,8 @@
+.. ischooklib:: libdhcp_legal_log.so
 .. _hooks-legal-log:
 
-``legal_log``: Forensic Logging
-===============================
+``libdhcp_legal_log.so``: Forensic Logging
+==========================================
 
 The Forensic Logging hook library provides
 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
-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
 :iscman:`kea-admin`; see :ref:`mysql-database-create` and :ref:`pgsql-database-create`).
 The library is installed alongside the Kea libraries in
 ``[kea-install-dir]/var/lib/kea``, where ``kea-install-dir`` is determined
 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
-the ``legal_log`` library like this:
+:ischooklib:`libdhcp_legal_log.so` like this:
 
 .. code-block:: json
 
index f7bf8be58bfbe7c13c8a2f9122d03282803159be..6560102df34a033a4cf4203df4b29d0b4ec997ce 100644 (file)
@@ -1,7 +1,8 @@
+.. ischooklib:: libdhcp_limits.so
 .. _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:
 
index cdf156a26db4b60a422a9186e38ead0852865f06..3ee245bc0d05656c63867e1c1fcbb653b02bf27c 100644 (file)
@@ -1,7 +1,8 @@
+.. ischooklib:: libdhcp_radius.so
 .. _hooks-radius:
 
-``radius``: RADIUS Server Support
-=================================
+``libdhcp_radius.so``: RADIUS Server Support
+============================================
 
 This hook library allows Kea to interact with two types of 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
    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
    ``client-id-pop0``.
 
 -  ``identifier-type6`` (default ``duid``) - specifies the identifier 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
+   identifier, and when :ischooklib:`libdhcp_flex_id.so` is used the
    ``replace-client-id`` must be set to ``true``; ``duid`` is used with
    ``client-id-pop0``.
 
index 46e3fb702df5332ff617f194605160ba06a533f6..7f3026be5743fc1110050160c36b02d73ed60597 100644 (file)
@@ -1,14 +1,15 @@
+.. ischooklib:: libca_rbac.so
 .. _hooks-RBAC:
 
-``rbac``: Role-Based Access Control
-===================================
+``libca_rbac.so``: Role-Based Access Control
+============================================
 
 .. _hooks-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
 certificate subject name, to assign a role to the request.
 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
 ``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
 can be modified in the file but changes are only applied after the Control Agent
 restarts. Removing command definitions from ``.../share/kea/api`` has
index 8fc894fac6c3acdcfd1fa8c803df66a643ce3d91..5e7e182686df3a49d364513a6c2f3d7627b77eff 100644 (file)
@@ -1,7 +1,8 @@
+.. ischooklib:: libdhcp_run_script.so
 .. _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
 packet-processing hook points.
index 1fe7e55786d293329263ebab6e427af6466ca794..eccbfaafa3e550c51275004b2c02f7b1d689e0b8 100644 (file)
@@ -1,7 +1,8 @@
+.. ischooklib:: libdhcp_stat_cmds.so
 .. _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
 statistics from Kea DHCP servers. These commands were added to address
index 18cee139bce3fb1638f58d737343b9974e06e698..878a7dc025eee9c83d887602a57c2580c4e08a8e 100644 (file)
@@ -1,7 +1,8 @@
+.. ischooklib:: libdhcp_subnet_cmds.so
 .. _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
 configurations in Kea. These can be very useful in deployments
index a7d2ba22436a3f49a7b706ed12f523a292637f8c..75db21659458f82709a5f1af566ad54365f46935 100644 (file)
@@ -1,7 +1,8 @@
+.. ischooklib:: libdhcp_user_chk.so
 .. _hooks-user-chk:
 
-``user_chk``: User Check
-========================
+``libdhcp_user_chk.so``: User Check
+===================================
 
 This library serves several purposes: