]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
Converting from docbook to sphinx: fixing links, making content/grammar corrections...
authorSuzanne Goldlust <sgoldlust@isc.org>
Fri, 28 Jun 2019 21:57:37 +0000 (17:57 -0400)
committerMichal Nowikowski <godfryd@isc.org>
Tue, 30 Jul 2019 08:45:12 +0000 (10:45 +0200)
22 files changed:
doc/guide/admin.rst
doc/guide/agent.rst
doc/guide/api.rst
doc/guide/classify.rst
doc/guide/config.rst
doc/guide/ctrl-channel.rst
doc/guide/dhcp4-srv.rst
doc/guide/dhcp6-srv.rst
doc/guide/hammer.rst
doc/guide/hooks-ha.rst
doc/guide/hooks-host-cache.rst
doc/guide/hooks-radius.rst
doc/guide/hooks-stat-cmds.rst
doc/guide/hooks.rst
doc/guide/intro.rst
doc/guide/keactrl.rst
doc/guide/lease-expiration.rst
doc/guide/logging.rst
doc/guide/netconf.rst
doc/guide/quickstart.rst
doc/guide/shell.rst
doc/guide/stats.rst

index 2f7c5e09f77ab5a6483be3df49a7fb0ba95a5326..b069dd23d33e602fce3b6bb86ac36210094a42e1 100644 (file)
@@ -28,11 +28,11 @@ PostgreSQL.
 Backend versions are specified in a major.minor format. The minor number
 is increased when there are backwards-compatible changes introduced; for
 example, the addition of a new index. It is desirable but not mandatory
-to apply such a change; you can run an older backend version if you want
-to. (Although, in the example given, running without the new index may
+to apply such a change; running an older backend version is possible.
+(Although, in the example given, running without the new index may
 introduce a performance penalty.) On the other hand, the
 major number is increased when an incompatible change is introduced; for
-example, an extra column is added to a table. If you try to run Kea on a
+example, an extra column is added to a table. If Kea is run on a
 backend that is too old (as signified by a mismatched backend major
 version number), Kea will refuse to run; administrative action will be
 required to upgrade the backend.
@@ -80,7 +80,7 @@ supported types are:
 
 -  ``cql`` — Information is stored in an Apache Cassandra database.
 
-Additional parameters may be needed, depending on your setup and
+Additional parameters may be needed, depending on the setup and
 specific operation: username, password, and database name or the
 directory where specific files are located. See the appropriate manual
 page for details (``man 8 kea-admin``).
@@ -93,7 +93,7 @@ Supported Backends
 The following table presents the capabilities of available backends.
 Please refer to the specific sections dedicated to each backend to
 better understand their capabilities and limitations. Choosing the right
-backend may be essential for the success of your deployment.
+backend may be essential for the success of the deployment.
 
 .. table:: List of available backends
 
@@ -152,9 +152,8 @@ newer versions of Kea, it can also be used for downgrading should the
 need arise. When upgrading, any values not present in the original lease
 files will be assigned appropriate default values. When downgrading, any
 data present in the files but not in the server's schema will be
-dropped. If you wish to convert the files manually prior to starting the
-servers, you may do so by running the LFC process yourself. See
-:ref:`kea-lfc` for more information.
+dropped. To convert the files manually prior to starting the
+servers, run the LFC process. See :ref:`kea-lfc` for more information.
 
 .. _mysql-database:
 
@@ -164,17 +163,17 @@ MySQL
 MySQL is able to store leases, host reservations, options defined on a
 per-host basis, and a subset of the server configuration parameters
 (serving as a configuration backend). This section can be safely ignored
-if you choose to store the data in other backends.
+if the data will be stored in other backends.
 
 .. _mysql-database-create:
 
 First-Time Creation of the MySQL Database
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-If you are setting the MySQL database for the first time, you need to
-create the database area within MySQL and set up the MySQL user ID under
-which Kea will access the database. This needs to be done manually;
-``kea-admin`` cannot do this for you.
+When setting up the MySQL database for the first time, the
+database area must be created within MySQL, and the MySQL user ID under
+which Kea will access the database must be set up. This needs to be done manually,
+rather than via ``kea-admin``.
 
 To create the database:
 
@@ -192,7 +191,7 @@ To create the database:
 
       mysql> CREATE DATABASE database-name;
 
-   (database-name is the name you have chosen for the database.)
+   (database-name is the name chosen for the database.)
 
 3. Create the user under which Kea will access the database (and give it
    a password), then grant it access to the database tables:
@@ -202,12 +201,12 @@ To create the database:
       mysql> CREATE USER 'user-name'@'localhost' IDENTIFIED BY 'password';
       mysql> GRANT ALL ON database-name.* TO 'user-name'@'localhost';
 
-   (user-name and password are the user ID and password you are using to
+   (user-name and password are the user ID and password being used to
    allow Kea access to the MySQL instance. All apostrophes in the
    command lines above are required.)
 
-4. At this point, you may elect to create the database tables.
-   (Alternatively, you can exit MySQL and create the tables using the
+4. At this point, administrators may elect to create the database tables.
+   (Alternatively, the tables can be created by exiting MySQL and using the
    ``kea-admin`` tool, as explained below.) To do this:
 
    ::
@@ -215,7 +214,7 @@ To create the database:
       mysql> CONNECT database-name;
       mysql> SOURCE path-to-kea/share/kea/scripts/mysql/dhcpdb_create.mysql
 
-   (path-to-kea is the location where you installed Kea.)
+   (path-to-kea is the location where Kea is installed.)
 
 5. Exit MySQL:
 
@@ -225,17 +224,17 @@ To create the database:
       Bye
       $
 
-If you elected not to create the tables in Step 4, you can do so now by
-running the ``kea-admin`` tool:
+If the tables were not created in Step 4, run the ``kea-admin`` tool
+to create them now:
 
 ::
 
    $ kea-admin lease-init mysql -u database-user -p database-password -n database-name
 
-Do not do this if you did create the tables in Step 4. ``kea-admin``
+Do not do this if the tables were created in Step 4. ``kea-admin``
 implements rudimentary checks; it will refuse to initialize a database
-that contains any existing tables. If you want to start from scratch,
-you must remove all data manually. (This process is a manual operation
+that contains any existing tables. To start from scratch,
+all must be removed data manually. (This process is a manual operation
 on purpose, to avoid possibly irretrievable mistakes by ``kea-admin``.)
 
 .. _mysql-upgrade:
@@ -273,8 +272,8 @@ PostgreSQL
 ----------
 
 PostgreSQL is able to store leases, host reservations, and options
-defined on a per-host basis. This step can be safely ignored if you are
-using other database backends.
+defined on a per-host basis. This step can be safely ignored if
+other database backends will be used.
 
 .. _pgsql-database-create:
 
@@ -300,7 +299,7 @@ which the servers will access it. A number of steps are required:
       CREATE DATABASE
       postgres=#
 
-   (database-name is the name you have chosen for the database.)
+   (database-name is the name chosen for the database.)
 
 3. Create the user under which Kea will access the database (and give it
    a password), then grant it access to the database:
@@ -321,13 +320,13 @@ which the servers will access it. A number of steps are required:
       Bye
       $
 
-5. At this point you are ready to create the database tables. This can
-   be done using the ``kea-admin`` tool as explained in the next section
+5. At this point, create the database tables either
+   using the ``kea-admin`` tool, as explained in the next section
    (recommended), or manually. To create the tables manually, enter the
-   following command. Note that PostgreSQL will prompt you to enter the
-   new user's password you specified in Step 3. When the command
-   completes, you will be returned to the shell prompt. You should see
-   output similar to the following:
+   following command. Note that PostgreSQL will prompt the administrator to enter the
+   new user's password that was specified in Step 3. When the command
+   completes, Kea will return to the shell prompt. The
+   output should be similar to the following:
 
    ::
 
@@ -350,19 +349,19 @@ which the servers will access it. A number of steps are required:
       COMMIT
       $
 
-   (path-to-kea is the location where you installed Kea.)
+   (path-to-kea is the location where Kea is installed.)
 
-   If instead you encounter an error like:
+   If instead an error is encountered, such as:
 
    ::
 
       psql: FATAL:  no pg_hba.conf entry for host "[local]", user "user-name", database "database-name", SSL off
 
-   ... you will need to alter the PostgreSQL configuration. Kea uses
+   ... the PostgreSQL configuration will need to be altered. Kea uses
    password authentication when connecting to the database and must have
    the appropriate entries added to PostgreSQL's pg_hba.conf file. This
-   file is normally located in the primary data directory for your
-   PostgreSQL server. The precise path may vary depending on your
+   file is normally located in the primary data directory for the
+   PostgreSQL server. The precise path may vary depending on the
    operating system and version, but the default location for PostgreSQL
    9.3 on Centos 6.5 is: ``/var/lib/pgsql/9.3/data/pg_hba.conf``.
 
@@ -378,25 +377,25 @@ which the servers will access it. A number of steps are required:
 
    These edits are primarily intended as a starting point, and are not a
    definitive reference on PostgreSQL administration or database
-   security. Please consult your PostgreSQL user manual before making
-   these changes, as they may expose other databases that you run. It
+   security. Please consult the PostgreSQL user manual before making
+   these changes, as they may expose other databases that are running. It
    may be necessary to restart PostgreSQL in order for the changes to
    take effect.
 
 Initialize the PostgreSQL Database Using kea-admin
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-If you elected not to create the tables manually, you can do so now by
+If the tables were not created manually, do so now by
 running the ``kea-admin`` tool:
 
 ::
 
    $ kea-admin lease-init pgsql -u database-user -p database-password -n database-name
 
-Do not do this if you already created the tables manually. ``kea-admin``
+Do not do this if the tables were already created manually. ``kea-admin``
 implements rudimentary checks; it will refuse to initialize a database
-that contains any existing tables. If you want to start from scratch,
-you must remove all data manually. (This process is a manual operation
+that contains any existing tables. To start from scratch,
+all data must be removed manually. (This process is a manual operation
 on purpose, to avoid possibly irretrievable mistakes by ``kea-admin``.)
 
 .. _pgsql-upgrade:
@@ -431,18 +430,18 @@ development was contributed by Deutsche Telekom. The Cassandra backend
 is able to store leases, host reservations, and options defined on a
 per-host basis.
 
-Cassandra must be properly set up if you want Kea to store information
-in it. This section can be safely ignored if you choose to store the
-data in other backends.
+Cassandra must be properly set up if Kea is to store information
+in it. This section can be safely ignored if the
+data will be stored in other backends.
 
 .. _cql-database-create:
 
 First-Time Creation of the Cassandra Database
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-If you are setting up the Cassandra database for the first time, you
-need to create the keyspace area within it. This needs to be done
-manually; ``kea-admin`` cannot do this for you.
+When setting up the Cassandra database for the first time,
+the keyspace area within it must be created. This needs to be done
+manually; it cannot be performed by ``kea-admin``.
 
 To create the database:
 
@@ -465,29 +464,29 @@ To create the database:
 
       cql> CREATE KEYSPACE keyspace-name WITH replication = {'class' : 'SimpleStrategy','replication_factor' : 1};
 
-   (keyspace-name is the name you have chosen for the keyspace)
+   (keyspace-name is the name chosen for the keyspace.)
 
-4. At this point, you may elect to create the database tables.
-   (Alternatively, you can exit Cassandra and create the tables using
+4. At this point, the database tables can be created.
+   (It is also possible to exit Cassandra and create the tables using
    the ``kea-admin`` tool, as explained below.) To do this:
 
    ::
 
       cqslh -k keyspace-name -f path-to-kea/share/kea/scripts/cql/dhcpdb_create.cql
 
-   (path-to-kea is the location where you installed Kea)
+   (path-to-kea is the location where Kea is installed.)
 
-If you elected not to create the tables in Step 4, you can do so now by
+If the tables were not created in Step 4, do so now by
 running the ``kea-admin`` tool:
 
 ::
 
    $ kea-admin lease-init cql -n database-name
 
-Do not do this if you did create the tables in Step 4. ``kea-admin``
+Do not do this if the tables were created in Step 4. ``kea-admin``
 implements rudimentary checks; it will refuse to initialize a database
-that contains any existing tables. If you want to start from scratch,
-you must remove all data manually. (This process is a manual operation
+that contains any existing tables. To start from scratch,
+all data must be removed manually. (This process is a manual operation
 on purpose, to avoid possibly irretrievable mistakes by ``kea-admin``.)
 
 .. _cql-upgrade:
index ec020488ae1535a06a251000c821595df66d4ba7..85c570744908a9546efe9b644213056c2a397dea 100644 (file)
@@ -6,8 +6,8 @@ The Kea Control Agent
 
 .. _agent-overview:
 
-Overview
-========
+Overview of the Kea Control Agent
+=================================
 
 The Kea Control Agent (CA) is a daemon which exposes a RESTful control
 interface for managing Kea servers. The daemon can receive control
@@ -132,7 +132,7 @@ configuration itself.
 
 Hooks libraries can be loaded by the Control Agent in the same way as
 they are loaded by the DHCPv4 and DHCPv6 servers. The CA currently
-supports one hook point - 'control_command_receive' - which makes it
+supports one hook point - "control_command_receive" - which makes it
 possible to delegate processing of some commands to the hooks library.
 The ``hooks-libraries`` list contains the list of hooks libraries that
 should be loaded by the CA, along with their configuration information
@@ -193,12 +193,12 @@ server enables authentication of the clients using certificates.
    #   openssl x509 -req -days 365 -in kea-client.csr -CA ca.crt \
    #           -CAkey ca.key -set_serial 01 -out kea-client.crt
    #
-   #   Note that the 'common name' value used when generating the client
+   #   Note that the "common name" value used when generating the client
    #   and the server certificates must differ from the value used
    #   for the CA certificate.
    #
    #   The client certificate must be deployed on the client system.
-   #   In order to test the proxy configuration with 'curl' run a
+   #   In order to test the proxy configuration with "curl", run a
    #   command similar to the following:
    #
    #   curl -k --key kea-client.key --cert kea-client.crt -X POST \
index eac8a9e243a77b9315069fae777ccf33200f1e45..d963a585ac45c823b65dce3c3bd0ad474c836365 100644 (file)
@@ -50,15 +50,15 @@ Kea currently supports 121 commands: ``build-report`` , ``cache-clear``
 ``subnet6-add`` , ``subnet6-del`` , ``subnet6-get`` , ``subnet6-list`` ,
 ``subnet6-update`` , ``version-get`` .
 
-Commands supported by kea-ctrl-agent daemon: ``build-report`` ,
+Commands supported by the kea-ctrl-agent daemon: ``build-report`` ,
 ``config-get`` , ``config-reload`` , ``config-set`` , ``config-test`` ,
 ``config-write`` , ``list-commands`` , ``shutdown`` , ``version-get`` .
 
-Commands supported by kea-dhcp-ddns daemon: ``build-report`` ,
+Commands supported by the kea-dhcp-ddns daemon: ``build-report`` ,
 ``config-get`` , ``config-reload`` , ``config-set`` , ``config-test`` ,
 ``config-write`` , ``list-commands`` , ``shutdown`` , ``version-get`` .
 
-Commands supported by kea-dhcp4 daemon: ``build-report`` ,
+Commands supported by the kea-dhcp4 daemon: ``build-report`` ,
 ``cache-clear`` , ``cache-get`` , ``cache-get-by-id`` , ``cache-insert``
 , ``cache-load`` , ``cache-remove`` , ``cache-size`` , ``cache-write`` ,
 ``class-add`` , ``class-del`` , ``class-get`` , ``class-list`` ,
@@ -88,7 +88,7 @@ Commands supported by kea-dhcp4 daemon: ``build-report`` ,
 ``subnet4-del`` , ``subnet4-get`` , ``subnet4-list`` ,
 ``subnet4-update`` , ``version-get`` .
 
-Commands supported by kea-dhcp6 daemon: ``build-report`` ,
+Commands supported by the kea-dhcp6 daemon: ``build-report`` ,
 ``cache-clear`` , ``cache-get`` , ``cache-get-by-id`` , ``cache-insert``
 , ``cache-load`` , ``cache-remove`` , ``cache-size`` , ``cache-write`` ,
 ``class-add`` , ``class-del`` , ``class-get`` , ``class-list`` ,
@@ -118,7 +118,9 @@ Commands supported by kea-dhcp6 daemon: ``build-report`` ,
 ``subnet6-del`` , ``subnet6-get`` , ``subnet6-list`` ,
 ``subnet6-update`` , ``version-get`` .
 
-Commands supported by cb_cmds hook library:
+.. _commands-cb_cmds-lib:
+
+Commands supported by the Configuration Backend Commands (cb_cmds) hooks library:
 ``remote-global-parameter4-del`` , ``remote-global-parameter4-get`` ,
 ``remote-global-parameter4-get-all`` , ``remote-global-parameter4-set``
 , ``remote-global-parameter6-del`` , ``remote-global-parameter6-get`` ,
@@ -142,29 +144,43 @@ Commands supported by cb_cmds hook library:
 ``remote-subnet6-get-by-id`` , ``remote-subnet6-get-by-prefix`` ,
 ``remote-subnet6-list`` , ``remote-subnet6-set`` .
 
-Commands supported by class_cmds hook library: ``class-add`` ,
+.. _commands-class_cmds-lib:
+
+Commands supported by the Class Commands (class_cmds) hooks library: ``class-add`` ,
 ``class-del`` , ``class-get`` , ``class-list`` , ``class-update`` .
 
-Commands supported by high_availability hook library: ``ha-continue`` ,
+.. _commands-high_availability-lib:
+
+Commands supported by the High Availability (high_availability) hooks library: ``ha-continue`` ,
 ``ha-heartbeat`` , ``ha-scopes`` , ``ha-sync`` .
 
-Commands supported by host_cache hook library: ``cache-clear`` ,
+.. _commands-host_cache-lib:
+
+Commands supported by the Host Cache (host_cache) hooks library: ``cache-clear`` ,
 ``cache-get`` , ``cache-get-by-id`` , ``cache-insert`` , ``cache-load``
 , ``cache-remove`` , ``cache-size`` , ``cache-write`` .
 
-Commands supported by host_cmds hook library: ``reservation-add`` ,
+.. _commands-host_cmds-lib:
+
+Commands supported by the Host Commands (host_cmds) hooks library: ``reservation-add`` ,
 ``reservation-del`` , ``reservation-get`` , ``reservation-get-all`` ,
 ``reservation-get-page`` .
 
-Commands supported by lease_cmds hook library: ``lease4-add`` ,
+.. _commands-lease_cmds-lib:
+
+Commands supported by the Lease Commands (lease_cmds) hooks library: ``lease4-add`` ,
 ``lease4-del`` , ``lease4-get`` , ``lease4-get-all`` , ``lease4-update``
 , ``lease4-wipe`` , ``lease6-add`` , ``lease6-del`` , ``lease6-get`` ,
 ``lease6-get-all`` , ``lease6-update`` , ``lease6-wipe`` .
 
-Commands supported by stat_cmds hook library: ``stat-lease4-get`` ,
+.. _commands-stat_cmds-lib:
+
+Commands supported by the Supplemental Statistics Commands (stat_cmds) hooks library: ``stat-lease4-get`` ,
 ``stat-lease6-get`` .
 
-Commands supported by subnet_cmds hook library: ``network4-add`` ,
+.. _commands-subnet_cmds-lib:
+
+Commands supported by the Subnet Commands (subnet_cmds) hooks library: ``network4-add`` ,
 ``network4-del`` , ``network4-get`` , ``network4-list`` ,
 ``network4-subnet-add`` , ``network4-subnet-del`` , ``network6-add`` ,
 ``network6-del`` , ``network6-get`` , ``network6-list`` ,
@@ -178,15 +194,15 @@ Commands supported by subnet_cmds hook library: ``network4-add`` ,
 build-report reference
 ======================
 
-``build-report`` - Returns a list of compilation options that this
-particular binary was built with
+``build-report`` - returns a list of compilation options that this
+particular binary was built with.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``, ``kea-dhcp-ddns``,
 ``kea-ctrl-agent``
 
 Availability: 1.2.0 (built-in)
 
-Description and examples: See `??? <#command-build-report>`__
+Description and examples: see :ref:`command-build-report`
 
 Command syntax:
 
@@ -210,13 +226,13 @@ Response syntax:
 cache-clear reference
 =====================
 
-``cache-clear`` - This command removes all cached host reservations.
+``cache-clear`` - removes all cached host reservations.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
-Availability: 1.4.0 (`host_cache <#commands-host_cache-lib>`__ hook)
+Availability: 1.4.0 (:ref:`The Host Cache hooks library<commands-host_cache-lib>`)
 
-Description and examples: See `??? <#command-cache-clear>`__
+Description and examples: see :ref:`command-cache-clear`
 
 Command syntax:
 
@@ -235,7 +251,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -244,7 +260,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-cache-get:
@@ -252,13 +268,13 @@ statuses are:
 cache-get reference
 ===================
 
-``cache-get`` - Returns full content of the host cache.
+``cache-get`` - returns full content of the host cache.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
-Availability: 1.4.0 (`host_cache <#commands-host_cache-lib>`__ hook)
+Availability: 1.4.0 (:ref:`The Host Cache hooks library<commands-host_cache-lib>`)
 
-Description and examples: See `??? <#command-cache-get>`__
+Description and examples: see :ref:`command-cache-get`
 
 Command syntax:
 
@@ -278,7 +294,7 @@ Response syntax:
        "arguments": <list of host reservations>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -287,7 +303,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-cache-get-by-id:
@@ -295,14 +311,14 @@ statuses are:
 cache-get-by-id reference
 =========================
 
-``cache-get-by-id`` - Returns entries matching the given identifier from
+``cache-get-by-id`` - returns entries matching the given identifier from
 the host cache.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
-Availability: 1.6.0 (`host_cache <#commands-host_cache-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Host Cache hooks library<commands-host_cache-lib>`)
 
-Description and examples: See `??? <#command-cache-get-by-id>`__
+Description and examples: see :ref:`command-cache-get-by-id`
 
 Command syntax:
 
@@ -324,7 +340,7 @@ Response syntax:
        "arguments": <list of host reservations>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -333,7 +349,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-cache-insert:
@@ -341,14 +357,13 @@ statuses are:
 cache-insert reference
 ======================
 
-``cache-insert`` - This command may be used to manually insert a host
-into the cache.
+``cache-insert`` - manually inserts a host into the cache.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
-Availability: 1.4.0 (`host_cache <#commands-host_cache-lib>`__ hook)
+Availability: 1.4.0 (:ref:`The Host Cache hooks library<commands-host_cache-lib>`)
 
-Description and examples: See `??? <#command-cache-insert>`__
+Description and examples: see :ref:`command-cache-insert`
 
 Command syntax:
 
@@ -401,7 +416,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -410,7 +425,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-cache-load:
@@ -418,14 +433,14 @@ statuses are:
 cache-load reference
 ====================
 
-``cache-load`` - This command allows load the contents of a file on disk
+``cache-load`` - allows the contents of a file on disk to be loaded
 into an in-memory cache.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
-Availability: 1.4.0 (`host_cache <#commands-host_cache-lib>`__ hook)
+Availability: 1.4.0 (:ref:`The Host Cache hooks library<commands-host_cache-lib>`)
 
-Description and examples: See `??? <#command-cache-load>`__
+Description and examples: see :ref:`command-cache-load`
 
 Command syntax:
 
@@ -445,7 +460,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -454,7 +469,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-cache-remove:
@@ -462,14 +477,13 @@ statuses are:
 cache-remove reference
 ======================
 
-``cache-remove`` - The cache-remove command works similarly to
-reservation-get command.
+``cache-remove`` - works similarly to the reservation-get command.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
-Availability: 1.4.0 (`host_cache <#commands-host_cache-lib>`__ hook)
+Availability: 1.4.0 (:ref:`The Host Cache hooks library<commands-host_cache-lib>`)
 
-Description and examples: See `??? <#command-cache-remove>`__
+Description and examples: see :ref:`command-cache-remove`
 
 Command syntax:
 
@@ -483,7 +497,7 @@ Command syntax:
        }
    }
 
-   Another example that removes IPv6 host identifier by DUID and specific subnet-id is:
+   Another example that removes the IPv6 host identifier by DUID and specific subnet-id is:
    {
        "command": "cache-remove",
        "arguments": {
@@ -501,7 +515,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -510,7 +524,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-cache-size:
@@ -518,13 +532,13 @@ statuses are:
 cache-size reference
 ====================
 
-``cache-size`` - Returns number of entries of the host cache.
+``cache-size`` - returns the number of entries in the host cache.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
-Availability: 1.6.0 (`host_cache <#commands-host_cache-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Host Cache hooks library<commands-host_cache-lib>`)
 
-Description and examples: See `??? <#command-cache-size>`__
+Description and examples: see :ref:`command-cache-size`
 
 Command syntax:
 
@@ -544,7 +558,7 @@ Response syntax:
        "arguments": { "size": 123 }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -553,7 +567,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-cache-write:
@@ -561,13 +575,13 @@ statuses are:
 cache-write reference
 =====================
 
-``cache-write`` - Instructs Kea to write its host cache content to disk.
+``cache-write`` - instructs Kea to write its host cache content to disk.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
-Availability: 1.4.0 (`host_cache <#commands-host_cache-lib>`__ hook)
+Availability: 1.4.0 (:ref:`The Host Cache hooks library<commands-host_cache-lib>`)
 
-Description and examples: See `??? <#command-cache-write>`__
+Description and examples: see :ref:`command-cache-write`
 
 Command syntax:
 
@@ -590,7 +604,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -599,7 +613,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-class-add:
@@ -607,14 +621,14 @@ statuses are:
 class-add reference
 ===================
 
-``class-add`` - This command is used to create and add a new class to
+``class-add`` - creates and adds a new class to
 the existing server configuration.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
-Availability: 1.5.0 (`class_cmds <#commands-class_cmds-lib>`__ hook)
+Availability: 1.5.0 (:ref:`The Class Commands hooks library<commands-class_cmds-lib>`)
 
-Description and examples: See `??? <#command-class-add>`__
+Description and examples: see :ref:`command-class-add`
 
 Command syntax:
 
@@ -635,8 +649,8 @@ Command syntax:
        }
    }
 
-The ``next-server``, ``server-hostname`` and ``boot-file-name`` are
-DHCPv4 specific. Only one client class can be added with a single
+The ``next-server``, ``server-hostname``, and ``boot-file-name`` commands are
+DHCPv4-specific. Only one client class can be added with a single
 command.
 
 Response syntax:
@@ -656,14 +670,13 @@ duplicate or another error occurs (result 1).
 class-del reference
 ===================
 
-``class-del`` - This command is used to remove a client class from the
-server configuration.
+``class-del`` - removes a client class from the server configuration.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
-Availability: 1.5.0 (`class_cmds <#commands-class_cmds-lib>`__ hook)
+Availability: 1.5.0 (:ref:`The Class Commands hooks library<commands-class_cmds-lib>`)
 
-Description and examples: See `??? <#command-class-del>`__
+Description and examples: see :ref:`command-class-del`
 
 Command syntax:
 
@@ -686,7 +699,7 @@ Response syntax:
    }
 
 The command will return a result of 3 (empty) if the client class
-doesn't exist. If the client class exists, the retured result is 0 if
+does not exist. If the client class exists, the returned result is 0 if
 the deletion was successful and the result is 1 if the deletion is
 unsuccessful.
 
@@ -695,14 +708,13 @@ unsuccessful.
 class-get reference
 ===================
 
-``class-get`` - This command is used to return detailed information
-about an existing client class.
+``class-get`` - returns detailed information about an existing client class.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
-Availability: 1.5.0 (`class_cmds <#commands-class_cmds-lib>`__ hook)
+Availability: 1.5.0 (:ref:`The Class Commands hooks library<commands-class_cmds-lib>`)
 
-Description and examples: See `??? <#command-class-get>`__
+Description and examples: see :ref:`command-class-get`
 
 Command syntax:
 
@@ -740,8 +752,8 @@ Response syntax:
 
 The returned information depends on the DHCP server type, i.e. some
 parameters are specific to DHCPv4 server. Also, some parameters may not
-be returned if they are not set for the client class. If the class with
-specified name doesn't exist a result of 3 (empty) is returned. If the
+be returned if they are not set for the client class. If a class with the
+specified name does not exist, a result of 3 (empty) is returned. If the
 client class is found, the result of 0 is returned. If there is an error
 while processing the command, the result of 1 is returned.
 
@@ -750,14 +762,14 @@ while processing the command, the result of 1 is returned.
 class-list reference
 ====================
 
-``class-list`` - This command is used to retrieve a list of all client
+``class-list`` - retrieves a list of all client
 classes from the server configuration.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
-Availability: 1.5.0 (`class_cmds <#commands-class_cmds-lib>`__ hook)
+Availability: 1.5.0 (:ref:`The Class Commands hooks library<commands-class_cmds-lib>`)
 
-Description and examples: See `??? <#command-class-list>`__
+Description and examples: see :ref:`command-class-list`
 
 Command syntax:
 
@@ -790,7 +802,7 @@ Response syntax:
 
 The returned list of classes merely contains their names. In order to
 retrieve full information about one of these classes use
-`??? <#command-class-get>`__. The returned result is 3 (empty) if no
+:ref:`command-class-get`. The returned result is 3 (empty) if no
 classes are found. If the command is processed successfully and the list
 of client classes is not empty, the result of 0 is returned. If there is
 an error while processing the command, the result of 1 is returned.
@@ -800,14 +812,14 @@ an error while processing the command, the result of 1 is returned.
 class-update reference
 ======================
 
-``class-update`` - This command is used to update an existing client
+``class-update`` - updates an existing client
 class in the server configuration.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
-Availability: 1.5.0 (`class_cmds <#commands-class_cmds-lib>`__ hook)
+Availability: 1.5.0 (:ref:`The Class Commands hooks library<commands-class_cmds-lib>`)
 
-Description and examples: See `??? <#command-class-update>`__
+Description and examples: see :ref:`command-class-update`
 
 Command syntax:
 
@@ -828,8 +840,8 @@ Command syntax:
        }
    }
 
-The ``next-server``, ``server-hostname`` and ``boot-file-name`` are
-DHCPv4 specific. Only one client class can be updated with a single
+The ``next-server``, ``server-hostname``, and ``boot-file-name`` commands are
+DHCPv4-specific. Only one client class can be updated with a single
 command.
 
 Response syntax:
@@ -842,17 +854,16 @@ Response syntax:
    }
 
 The command will return the result of 3 (empty) if the client class
-doesn't exist. If the client class exists, the retured result is 0 if
-the update was successful and the result is 1 if the update is
-unsuccessful.
+does not exist. If the client class exists, the returned result is 0 if
+the update was successful and 1 if the update is unsuccessful.
 
 .. _reference-config-get:
 
 config-get reference
 ====================
 
-``config-get`` - Retrieves the current configuration used by the server.
-The configuration is roughtly equal to the configuration file, but
+``config-get`` - retrieves the current configuration used by the server.
+The configuration is roughly equal to the configuration file, but
 includes additional changes made by other commands and due to parameters
 inheritance.
 
@@ -861,7 +872,7 @@ Supported by: ``kea-dhcp4``, ``kea-dhcp6``, ``kea-dhcp-ddns``,
 
 Availability: 1.2.0 (built-in)
 
-Description and examples: See `??? <#command-config-get>`__
+Description and examples: see :ref:`command-config-get`
 
 Command syntax:
 
@@ -884,7 +895,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -893,7 +904,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-config-reload:
@@ -901,7 +912,7 @@ statuses are:
 config-reload reference
 =======================
 
-``config-reload`` - The config-reload command instructs Kea to load
+``config-reload`` - instructs Kea to load
 again the configuration file that was used previously.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``, ``kea-dhcp-ddns``,
@@ -909,7 +920,7 @@ Supported by: ``kea-dhcp4``, ``kea-dhcp6``, ``kea-dhcp-ddns``,
 
 Availability: 1.2.0 (built-in)
 
-Description and examples: See `??? <#command-config-reload>`__
+Description and examples: see :ref:`command-config-reload`
 
 Command syntax:
 
@@ -928,7 +939,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -937,7 +948,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-config-set:
@@ -945,7 +956,7 @@ statuses are:
 config-set reference
 ====================
 
-``config-set`` - The config-set command instructs the server to replace
+``config-set`` - instructs the server to replace
 its current configuration with the new configuration supplied in the
 command's arguments.
 
@@ -954,7 +965,7 @@ Supported by: ``kea-dhcp4``, ``kea-dhcp6``, ``kea-dhcp-ddns``,
 
 Availability: 1.2.0 (built-in)
 
-Description and examples: See `??? <#command-config-set>`__
+Description and examples: see :ref:`command-config-set`
 
 Command syntax:
 
@@ -968,7 +979,7 @@ Command syntax:
         }
    }
 
-where <server> is the configuration element name for a given server such
+where <server> is the configuration element name for a given server, such
 as "Dhcp4" or "Dhcp6"
 
 Response syntax:
@@ -981,7 +992,7 @@ Response syntax:
 
        {"result": 1, "text": "unsupported parameter: BOGUS (<string>:16:26)" }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -990,7 +1001,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-config-test:
@@ -998,7 +1009,7 @@ statuses are:
 config-test reference
 =====================
 
-``config-test`` - The config-test command instructs the server to check
+``config-test`` - instructs the server to check
 whether the new configuration supplied in the command's arguments can be
 loaded.
 
@@ -1007,7 +1018,7 @@ Supported by: ``kea-dhcp4``, ``kea-dhcp6``, ``kea-dhcp-ddns``,
 
 Availability: 1.2.0 (built-in)
 
-Description and examples: See `??? <#command-config-test>`__
+Description and examples: see :ref:`command-config-test`
 
 Command syntax:
 
@@ -1021,7 +1032,7 @@ Command syntax:
         }
    }
 
-where >server< is the configuration element name for a given server such
+where <server> is the configuration element name for a given server, such
 as "Dhcp4" or "Dhcp6"
 
 Response syntax:
@@ -1034,7 +1045,7 @@ Response syntax:
 
        {"result": 1, "text": "unsupported parameter: BOGUS (<string>:16:26)" }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -1043,7 +1054,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-config-write:
@@ -1051,7 +1062,7 @@ statuses are:
 config-write reference
 ======================
 
-``config-write`` - The config-write command instructs the Kea server to
+``config-write`` - instructs the Kea server to
 write its current configuration to a file on disk.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``, ``kea-dhcp-ddns``,
@@ -1059,7 +1070,7 @@ Supported by: ``kea-dhcp4``, ``kea-dhcp6``, ``kea-dhcp-ddns``,
 
 Availability: 1.2.0 (built-in)
 
-Description and examples: See `??? <#command-config-write>`__
+Description and examples: see :ref:`command-config-write`
 
 Command syntax:
 
@@ -1081,7 +1092,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -1090,7 +1101,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-dhcp-disable:
@@ -1098,14 +1109,13 @@ statuses are:
 dhcp-disable reference
 ======================
 
-``dhcp-disable`` - The dhcp-disable command globally disables the DHCP
-service.
+``dhcp-disable`` - globally disables the DHCP service.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
 Availability: 1.4.0 (built-in)
 
-Description and examples: See `??? <#command-dhcp-disable>`__
+Description and examples: see :ref:`command-dhcp-disable`
 
 Command syntax:
 
@@ -1127,7 +1137,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -1136,7 +1146,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-dhcp-enable:
@@ -1144,14 +1154,13 @@ statuses are:
 dhcp-enable reference
 =====================
 
-``dhcp-enable`` - The dhcp-enable command globally enables the DHCP
-service.
+``dhcp-enable`` - globally enables the DHCP service.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
 Availability: 1.4.0 (built-in)
 
-Description and examples: See `??? <#command-dhcp-enable>`__
+Description and examples: see :ref:`command-dhcp-enable`
 
 Command syntax:
 
@@ -1170,7 +1179,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -1179,7 +1188,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-ha-continue:
@@ -1187,15 +1196,14 @@ statuses are:
 ha-continue reference
 =====================
 
-``ha-continue`` - This command is used to resume the operation of the
+``ha-continue`` - resumes the operation of the
 paused HA state machine.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
-Availability: 1.4.0
-(`high_availability <#commands-high_availability-lib>`__ hook)
+Availability: 1.4.0 (:ref:`The High Availability hooks library<commands-high_availability-lib>`)
 
-Description and examples: See `??? <#command-ha-continue>`__
+Description and examples: see :ref:`command-ha-continue`
 
 Command syntax:
 
@@ -1214,7 +1222,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -1223,7 +1231,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-ha-heartbeat:
@@ -1231,16 +1239,15 @@ statuses are:
 ha-heartbeat reference
 ======================
 
-``ha-heartbeat`` - This command is sent internally by Kea partner when
-operating in High Availability (HA) mode. It will retrieve the server HA
+``ha-heartbeat`` - is sent internally by a Kea partner when
+operating in High Availability (HA) mode; it retrieves the server HA
 state and clock value.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
-Availability: 1.4.0
-(`high_availability <#commands-high_availability-lib>`__ hook)
+Availability: 1.4.0 (:ref:`The High Availability hooks library<commands-high_availability-lib>`)
 
-Description and examples: See `??? <#command-ha-heartbeat>`__
+Description and examples: see :ref:`ha-server-states`
 
 Command syntax:
 
@@ -1260,23 +1267,22 @@ Response syntax:
    }
 
 The response to this command is different from the typical command
-response. The response will include server state (see
-`??? <#ha-server-states>`__ plus the current clock value.
+response. The response will include the server state (see
+:ref:`ha-server-states` plus the current clock value.
 
 .. _reference-ha-scopes:
 
 ha-scopes reference
 ===================
 
-``ha-scopes`` - This command modifies the scope that the server is
+``ha-scopes`` - modifies the scope that the server is
 responsible for serving when operating in High Availability (HA) mode.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
-Availability: 1.4.0
-(`high_availability <#commands-high_availability-lib>`__ hook)
+Availability: 1.4.0 (:ref:`The High Availability hooks library<commands-high_availability-lib>`)
 
-Description and examples: See `??? <#command-ha-scopes>`__
+Description and examples: see :ref:`command-ha-scopes`
 
 Command syntax:
 
@@ -1301,7 +1307,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -1310,7 +1316,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-ha-sync:
@@ -1318,15 +1324,14 @@ statuses are:
 ha-sync reference
 =================
 
-``ha-sync`` - The command is issued to instruct the server running in HA
+``ha-sync`` - instructs the server running in HA
 mode to synchronize its local lease database with the selected peer.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
-Availability: 1.4.0
-(`high_availability <#commands-high_availability-lib>`__ hook)
+Availability: 1.4.0 (:ref:`The High Availability hooks library<commands-high_availability-lib>`)
 
-Description and examples: See `??? <#command-ha-sync>`__
+Description and examples: see :ref:`command-ha-sync`
 
 Command syntax:
 
@@ -1334,7 +1339,7 @@ Command syntax:
 
    {
        "command": "ha-sync",
-       "service": [ <service affected: "dhcp4" or "dhcp6" ],
+       "service": [ <service affected:> "dhcp4" or "dhcp6" ],
        "arguments": {
            "server-name": <name of the partner server>,
            "max-period": <integer, in seconds>
@@ -1350,7 +1355,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -1359,7 +1364,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-lease4-add:
@@ -1367,14 +1372,13 @@ statuses are:
 lease4-add reference
 ====================
 
-``lease4-add`` - The lease4-add command adds a new IPv4 lease
-administratively.
+``lease4-add`` - adds a new IPv4 lease administratively.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.3.0 (`lease_cmds <#commands-lease_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
 
-Description and examples: See `??? <#command-lease4-add>`__
+Description and examples: see :ref:`command-lease4-add`
 
 Command syntax:
 
@@ -1401,7 +1405,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -1410,7 +1414,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-lease4-del:
@@ -1418,14 +1422,13 @@ statuses are:
 lease4-del reference
 ====================
 
-``lease4-del`` - lease4-del can be used to delete a lease from the lease
-database.
+``lease4-del`` - deletes a lease from the lease database.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.3.0 (`lease_cmds <#commands-lease_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
 
-Description and examples: See `??? <#command-lease4-del>`__
+Description and examples: see :ref:`command-lease4-del`
 
 Command syntax:
 
@@ -1451,7 +1454,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -1460,7 +1463,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-lease4-get:
@@ -1468,14 +1471,13 @@ statuses are:
 lease4-get reference
 ====================
 
-``lease4-get`` - lease4-get can be used to query the lease database and
-retrieve existing leases.
+``lease4-get`` - queries the lease database and retrieves existing leases.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.3.0 (`lease_cmds <#commands-lease_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
 
-Description and examples: See `??? <#command-lease4-get>`__
+Description and examples: see :ref:`command-lease4-get`
 
 Command syntax:
 
@@ -1509,23 +1511,23 @@ Response syntax:
      "text": "IPv4 lease found."
    }
 
-lease4-get returns a result that indicates a result of the operation and
+``lease4-get`` returns a result that indicates a result of the operation and
 lease details, if found. It has one of the following values: 0
-(success), 1 (error) or 2 (empty).
+(success), 1 (error), or 2 (empty).
 
 .. _reference-lease4-get-all:
 
 lease4-get-all reference
 ========================
 
-``lease4-get-all`` - lease4-get-all is used to retrieve all IPv4 leases
+``lease4-get-all`` - retrieves all IPv4 leases
 or all leases for the specified set of subnets.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.4.0 (`lease_cmds <#commands-lease_cmds-lib>`__ hook)
+Availability: 1.4.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
 
-Description and examples: See `??? <#command-lease4-get-all>`__
+Description and examples: see :ref:`command-lease4-get-all`
 
 Command syntax:
 
@@ -1536,7 +1538,7 @@ Command syntax:
        "arguments": "subnets"
    }
 
-The lease4-get-all command may result in very large responses.
+The ``lease4-get-all`` command may result in very large responses.
 
 Response syntax:
 
@@ -1547,7 +1549,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -1556,7 +1558,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-lease4-update:
@@ -1564,14 +1566,13 @@ statuses are:
 lease4-update reference
 =======================
 
-``lease4-update`` - The lease4-update command can be used to update
-existing leases.
+``lease4-update`` - updates existing leases.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.3.0 (`lease_cmds <#commands-lease_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
 
-Description and examples: See `??? <#command-lease4-update>`__
+Description and examples: see :ref:`command-lease4-update`
 
 Command syntax:
 
@@ -1597,7 +1598,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -1606,7 +1607,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-lease4-wipe:
@@ -1614,14 +1615,13 @@ statuses are:
 lease4-wipe reference
 =====================
 
-``lease4-wipe`` - lease4-wipe is designed to remove all leases
-associated with a given subnet.
+``lease4-wipe`` - removes all leases associated with a given subnet.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.3.0 (`lease_cmds <#commands-lease_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
 
-Description and examples: See `??? <#command-lease4-wipe>`__
+Description and examples: see :ref:`command-lease4-wipe`
 
 Command syntax:
 
@@ -1643,7 +1643,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -1652,7 +1652,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-lease6-add:
@@ -1660,14 +1660,13 @@ statuses are:
 lease6-add reference
 ====================
 
-``lease6-add`` - The lease6-add command creates a new lease
-administratively.
+``lease6-add`` - creates a new lease administratively.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.3.0 (`lease_cmds <#commands-lease_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
 
-Description and examples: See `??? <#command-lease6-add>`__
+Description and examples: see :ref:`command-lease4-add`
 
 Command syntax:
 
@@ -1683,7 +1682,7 @@ Command syntax:
        }
    }
 
-lease6-add can be also used to add leases for IPv6 prefixes..
+``lease6-add`` can be also used to add leases for IPv6 prefixes.
 
 Response syntax:
 
@@ -1692,7 +1691,7 @@ Response syntax:
    { "result": 0, "text": "Lease added." }
        { "result": 1, "text": "missing parameter 'ip-address' (<string>:3:19)" }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -1701,7 +1700,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-lease6-del:
@@ -1709,14 +1708,13 @@ statuses are:
 lease6-del reference
 ====================
 
-``lease6-del`` - lease6-del can be used to delete a lease from the lease
-database.
+``lease6-del`` - deletes a lease from the lease database.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.3.0 (`lease_cmds <#commands-lease_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
 
-Description and examples: See `??? <#command-lease6-del>`__
+Description and examples: see :ref:`command-lease4-del`
 
 Command syntax:
 
@@ -1729,8 +1727,8 @@ Command syntax:
        }
    }
 
-lease6-del returns a result that indicates a outcome of the operation.
-It has one of the following values: 0 (success), 1 (error) or 3 (empty).
+``lease6-del`` returns a result that indicates a outcome of the operation.
+It has one of the following values: 0 (success), 1 (error), or 3 (empty).
 
 Response syntax:
 
@@ -1741,7 +1739,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -1750,7 +1748,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-lease6-get:
@@ -1758,14 +1756,13 @@ statuses are:
 lease6-get reference
 ====================
 
-``lease6-get`` - lease6-get can be used to query the lease database and
-retrieve existing leases.
+``lease6-get`` - queries the lease database and retrieves existing leases.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.3.0 (`lease_cmds <#commands-lease_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
 
-Description and examples: See `??? <#command-lease6-get>`__
+Description and examples: see :ref:`command-lease4-get`
 
 Command syntax:
 
@@ -1779,9 +1776,9 @@ Command syntax:
      }
    }
 
-lease6-get returns a result that indicates a result of the operation and
+``lease6-get`` returns a result that indicates a result of the operation and
 lease details, if found. It has one of the following values: 0
-(success), 1 (error) or 2 (empty).
+(success), 1 (error), or 2 (empty).
 
 Response syntax:
 
@@ -1792,7 +1789,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -1801,7 +1798,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-lease6-get-all:
@@ -1809,14 +1806,14 @@ statuses are:
 lease6-get-all reference
 ========================
 
-``lease6-get-all`` - lease6-get-all is used to retrieve all IPv6 leases
+``lease6-get-all`` - retrieves all IPv6 leases
 or all leases for the specified set of subnets.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.3.0 (`lease_cmds <#commands-lease_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
 
-Description and examples: See `??? <#command-lease6-get-all>`__
+Description and examples: see :ref:`command-lease4-get-all`
 
 Command syntax:
 
@@ -1872,21 +1869,20 @@ Response syntax:
        "text": "2 IPv6 lease(s) found."
    }
 
-The lease6-get-all command may result in very large responses.
+The ``lease6-get-all`` command may result in very large responses.
 
 .. _reference-lease6-update:
 
 lease6-update reference
 =======================
 
-``lease6-update`` - The lease6-update command can be used to update
-existing leases.
+``lease6-update`` - updates existing leases.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.3.0 (`lease_cmds <#commands-lease_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
 
-Description and examples: See `??? <#command-lease6-update>`__
+Description and examples: see :ref:`command-lease4-update`
 
 Command syntax:
 
@@ -1913,7 +1909,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -1922,7 +1918,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-lease6-wipe:
@@ -1930,14 +1926,13 @@ statuses are:
 lease6-wipe reference
 =====================
 
-``lease6-wipe`` - lease6-wipe is designed to remove all leases
-associated with a given subnet.
+``lease6-wipe`` - removes all leases associated with a given subnet.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.3.0 (`lease_cmds <#commands-lease_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
 
-Description and examples: See `??? <#command-lease6-wipe>`__
+Description and examples: see :ref:`command-lease4-wipe`
 
 Command syntax:
 
@@ -1961,7 +1956,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -1970,7 +1965,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-leases-reclaim:
@@ -1978,14 +1973,14 @@ statuses are:
 leases-reclaim reference
 ========================
 
-``leases-reclaim`` - The leases-reclaim command instructs the server to
+``leases-reclaim`` - instructs the server to
 reclaim all expired leases immediately.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
 Availability: 1.0.0 (built-in)
 
-Description and examples: See `??? <#command-leases-reclaim>`__
+Description and examples: see :ref:`command-leases-reclaim`
 
 Command syntax:
 
@@ -2007,7 +2002,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -2016,7 +2011,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-libreload:
@@ -2024,14 +2019,13 @@ statuses are:
 libreload reference
 ===================
 
-``libreload`` - The libreload command will first unload and then load
-all currently loaded hook libraries.
+``libreload`` - unloads and then loads all currently loaded hook libraries.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
 Availability: 1.2.0 (built-in)
 
-Description and examples: See `??? <#command-libreload>`__
+Description and examples: see :ref:`command-libreload`
 
 Command syntax:
 
@@ -2054,7 +2048,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -2063,7 +2057,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-list-commands:
@@ -2071,15 +2065,14 @@ statuses are:
 list-commands reference
 =======================
 
-``list-commands`` - The list-commands command retrieves a list of all
-commands supported by the server.
+``list-commands`` - retrieves a list of all commands supported by the server.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``, ``kea-dhcp-ddns``,
 ``kea-ctrl-agent``
 
 Availability: 1.0.0 (built-in)
 
-Description and examples: See `??? <#command-list-commands>`__
+Description and examples: see :ref:`command-list-commands`
 
 Command syntax:
 
@@ -2101,7 +2094,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -2110,7 +2103,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-network4-add:
@@ -2118,14 +2111,13 @@ statuses are:
 network4-add reference
 ======================
 
-``network4-add`` - The network4-add command is used to add a new shared
-network.
+``network4-add`` - adds a new shared network.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.3.0 (`subnet_cmds <#commands-subnet_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
 
-Description and examples: See `??? <#command-network4-add>`__
+Description and examples: see :ref:`command-network4-add`
 
 Command syntax:
 
@@ -2175,7 +2167,7 @@ Response syntax:
        "text": "A new IPv4 shared network 'floor13' added"
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -2184,7 +2176,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-network4-del:
@@ -2192,14 +2184,13 @@ statuses are:
 network4-del reference
 ======================
 
-``network4-del`` - The network4-del command is used to delete existing
-shared networks.
+``network4-del`` - deletes existing shared networks.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.3.0 (`subnet_cmds <#commands-subnet_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
 
-Description and examples: See `??? <#command-network4-del>`__
+Description and examples: see :ref:`command-network4-del`
 
 Command syntax:
 
@@ -2228,7 +2219,7 @@ Response syntax:
        "text": "IPv4 shared network 'floor13' deleted"
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -2237,7 +2228,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-network4-get:
@@ -2245,15 +2236,15 @@ statuses are:
 network4-get reference
 ======================
 
-``network4-get`` - The network4-get command is used to retrieve detailed
+``network4-get`` - retrieves detailed
 information about shared networks, including subnets currently being
 part of a given network.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.3.0 (`subnet_cmds <#commands-subnet_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
 
-Description and examples: See `??? <#command-network4-get>`__
+Description and examples: see :ref:`command-network4-get`
 
 Command syntax:
 
@@ -2311,14 +2302,13 @@ omitted here for clarity.
 network4-list reference
 =======================
 
-``network4-list`` - The network4-list command is used to retrieve full
-list of currently configured shared networks.
+``network4-list`` - retrieves the full list of currently configured shared networks.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.3.0 (`subnet_cmds <#commands-subnet_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
 
-Description and examples: See `??? <#command-network4-list>`__
+Description and examples: see :ref:`command-network4-list`
 
 Command syntax:
 
@@ -2343,7 +2333,7 @@ Response syntax:
        "text": "2 IPv4 network(s) found"
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -2352,7 +2342,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-network4-subnet-add:
@@ -2360,14 +2350,13 @@ statuses are:
 network4-subnet-add reference
 =============================
 
-``network4-subnet-add`` - The network4-subnet-add command is used to add
-existing subnets to existing shared networks.
+``network4-subnet-add`` - adds existing subnets to existing shared networks.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.3.0 (`subnet_cmds <#commands-subnet_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
 
-Description and examples: See `??? <#command-network4-subnet-add>`__
+Description and examples: see :ref:`command-network4-subnet-add`
 
 Command syntax:
 
@@ -2390,7 +2379,7 @@ Response syntax:
        "text": "IPv4 subnet 10.0.0.0/8 (id 5) is now part of shared network 'floor1'"
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -2399,7 +2388,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-network4-subnet-del:
@@ -2407,15 +2396,14 @@ statuses are:
 network4-subnet-del reference
 =============================
 
-``network4-subnet-del`` - The network4-subnet-del command is used to
-remove a subnet that is part of an existing shared network and demote it
-to a plain, stand-alone subnet.
+``network4-subnet-del`` - removes a subnet that is part of an existing shared
+network and demotes it to a plain, stand-alone subnet.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.3.0 (`subnet_cmds <#commands-subnet_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
 
-Description and examples: See `??? <#command-network4-subnet-del>`__
+Description and examples: see :ref:`command-network4-subnet-del`
 
 Command syntax:
 
@@ -2438,7 +2426,7 @@ Response syntax:
        "text": "IPv4 subnet 10.0.0.0/8 (id 5) is now removed from shared network 'floor13'"
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -2447,7 +2435,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-network6-add:
@@ -2455,14 +2443,13 @@ statuses are:
 network6-add reference
 ======================
 
-``network6-add`` - The network6-add command is used to add a new shared
-network.
+``network6-add`` - adds a new shared network.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.3.0 (`subnet_cmds <#commands-subnet_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
 
-Description and examples: See `??? <#command-network6-add>`__
+Description and examples: see :ref:`command-network4-add`
 
 Command syntax:
 
@@ -2500,9 +2487,9 @@ Command syntax:
        }
    }
 
-The network6-add uses the same syntax for both the query and the
+The ``network6-add`` command uses the same syntax for both the query and the
 response. However, there are some parameters that are IPv4-only (e.g.
-match-client-id) and some are IPv6-only (e.g. interface-id).
+match-client-id) and some that are IPv6-only (e.g. interface-id).
 
 Response syntax:
 
@@ -2516,7 +2503,7 @@ Response syntax:
        "text": "A new IPv4 shared network 'floor13' added"
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -2525,7 +2512,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-network6-del:
@@ -2533,14 +2520,13 @@ statuses are:
 network6-del reference
 ======================
 
-``network6-del`` - The network6-del command is used to delete existing
-shared networks.
+``network6-del`` - deletes existing shared networks.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.3.0 (`subnet_cmds <#commands-subnet_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
 
-Description and examples: See `??? <#command-network6-del>`__
+Description and examples: see :ref:`command-network4-del`
 
 Command syntax:
 
@@ -2553,8 +2539,8 @@ Command syntax:
        }
    }
 
-The network6-del command uses exactly the same syntax for both the
-command and the response.
+The ``network6-del`` command uses exactly the same syntax as ``network4-del``
+for both the command and the response.
 
 Response syntax:
 
@@ -2568,7 +2554,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -2577,7 +2563,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-network6-get:
@@ -2585,15 +2571,15 @@ statuses are:
 network6-get reference
 ======================
 
-``network6-get`` - The network6-get command is used to retrieve detailed
-information about shared networks, including subnets currently being
+``network6-get`` - retrieves detailed
+information about shared networks, including subnets that are currently
 part of a given network.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.3.0 (`subnet_cmds <#commands-subnet_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
 
-Description and examples: See `??? <#command-network6-get>`__
+Description and examples: see :ref:`command-network4-get`
 
 Command syntax:
 
@@ -2651,14 +2637,13 @@ omitted here for clarity.
 network6-list reference
 =======================
 
-``network6-list`` - The network6-list command is used to retrieve full
-list of currently configured shared networks.
+``network6-list`` - retrieves the full list of currently configured shared networks.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.3.0 (`subnet_cmds <#commands-subnet_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
 
-Description and examples: See `??? <#command-network6-list>`__
+Description and examples: see :ref:`command-network4-list`
 
 Command syntax:
 
@@ -2668,8 +2653,8 @@ Command syntax:
        "command": "network4-list"
    }
 
-network6-list follows exactly the same syntax for both the query and the
-response.
+The ``network6-list`` command follows exactly the same syntax as ``network4-list`` for
+both the query and the response.
 
 Response syntax:
 
@@ -2686,7 +2671,7 @@ Response syntax:
        "text": "2 IPv4 network(s) found"
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -2695,7 +2680,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-network6-subnet-add:
@@ -2703,14 +2688,13 @@ statuses are:
 network6-subnet-add reference
 =============================
 
-``network6-subnet-add`` - The network6-subnet-add command is used to add
-existing subnets to existing shared networks.
+``network6-subnet-add`` - adds existing subnets to existing shared networks.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.3.0 (`subnet_cmds <#commands-subnet_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
 
-Description and examples: See `??? <#command-network6-subnet-add>`__
+Description and examples: see :ref:`command-network4-subnet-add`
 
 Command syntax:
 
@@ -2724,8 +2708,8 @@ Command syntax:
        }
    }
 
-The network6-subnet-add command uses exactly the same syntax for both
-the command and the response.
+The ``network6-subnet-add`` command uses exactly the same syntax as
+``network4-subnet-add`` for both the command and the response.
 
 Response syntax:
 
@@ -2736,7 +2720,7 @@ Response syntax:
        "text": "IPv4 subnet 10.0.0.0/8 (id 5) is now part of shared network 'floor1'"
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -2745,7 +2729,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-network6-subnet-del:
@@ -2753,15 +2737,14 @@ statuses are:
 network6-subnet-del reference
 =============================
 
-``network6-subnet-del`` - The network6-subnet-del command is used to
-remove a subnet that is part of existing shared network and demote it to
-a plain, stand-alone subnet.
+``network6-subnet-del`` - removes a subnet that is part of an existing shared
+network and demotes it to a plain, stand-alone subnet.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.3.0 (`subnet_cmds <#commands-subnet_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
 
-Description and examples: See `??? <#command-network6-subnet-del>`__
+Description and examples: see :ref:`command-network4-subnet-del`
 
 Command syntax:
 
@@ -2775,8 +2758,8 @@ Command syntax:
        }
     }
 
-The network6-subnet-del command uses exactly the same syntax for both
-the command and the response.
+The ``network6-subnet-del`` command uses exactly the same syntax as
+``network4-subnet-del`` for both the command and the response.
 
 Response syntax:
 
@@ -2787,7 +2770,7 @@ Response syntax:
        "text": "IPv4 subnet 10.0.0.0/8 (id 5) is now removed from shared network 'floor13'"
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -2796,7 +2779,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-remote-global-parameter4-del:
@@ -2804,7 +2787,7 @@ statuses are:
 remote-global-parameter4-del reference
 ======================================
 
-``remote-global-parameter4-del`` - This command is used to delete a
+``remote-global-parameter4-del`` - deletes a
 global DHCPv4 parameter from the configuration database. The server will
 use the value specified in the configuration file or a default value (if
 the parameter is not specified in the configuration file) after deleting
@@ -2812,10 +2795,9 @@ the parameter from the database.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-global-parameter4-del>`__
+Description and examples: see :ref:`command-remote-global-parameter4-del`
 
 Command syntax:
 
@@ -2846,7 +2828,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -2855,7 +2837,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-remote-global-parameter4-get:
@@ -2863,15 +2845,14 @@ statuses are:
 remote-global-parameter4-get reference
 ======================================
 
-``remote-global-parameter4-get`` - This command is used to fetch
+``remote-global-parameter4-get`` - fetches the
 selected global parameter for the server from the specified database.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-global-parameter4-get>`__
+Description and examples: see :ref:`command-remote-global-parameter4-get`
 
 Command syntax:
 
@@ -2909,8 +2890,8 @@ Response syntax:
    }
 
 The returned response contains a map with a global parameter name/value
-pair. The value may be a JSON string, integer, real or boolean. The
-metadata is included and it provides database specific information
+pair. The value may be a JSON string, integer, real, or boolean. The
+metadata is included and provides database-specific information
 associated with the returned object.
 
 .. _reference-remote-global-parameter4-get-all:
@@ -2918,15 +2899,14 @@ associated with the returned object.
 remote-global-parameter4-get-all reference
 ==========================================
 
-``remote-global-parameter4-get-all`` - This command is used to fetch all
+``remote-global-parameter4-get-all`` - fetches all
 global parameters for the server from the specified database.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-global-parameter4-get-all>`__
+Description and examples: see :ref:`command-remote-global-parameter4-get-all`
 
 Command syntax:
 
@@ -2971,8 +2951,8 @@ Response syntax:
 
 The returned response contains a list of maps. Each map contains a
 global parameter name/value pair. The value may be a JSON string,
-integer, real or boolean. The metadata is appended to each parameter and
-it provides database specific information associated with the returned
+integer, real, or boolean. The metadata is appended to each parameter and
+provides database-specific information associated with the returned
 objects.
 
 .. _reference-remote-global-parameter4-set:
@@ -2980,15 +2960,14 @@ objects.
 remote-global-parameter4-set reference
 ======================================
 
-``remote-global-parameter4-set`` - This command is used to create or
-update one more global parameters in the configuration database.
+``remote-global-parameter4-set`` - creates or
+updates one or more global parameters in the configuration database.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-global-parameter4-set>`__
+Description and examples: see :ref:`command-remote-global-parameter4-set`
 
 Command syntax:
 
@@ -3008,10 +2987,10 @@ Command syntax:
    }
 
 This command carries multiple global parameters with their values. Care
-should be taken when specifying more than one parameter because in some
+should be taken when specifying more than one parameter, because in some
 cases only a subset of the parameters may be successfully stored in the
 database and other parameters may fail to be stored. In such cases the
-``remote-global-parameter4-get-all`` may be useful to verify the
+``remote-global-parameter4-get-all`` command may be useful to verify the
 contents of the database after the update.
 
 Response syntax:
@@ -3023,7 +3002,7 @@ Response syntax:
        "text": "DHCPv4 global parameter(s) successfully set."
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -3032,7 +3011,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-remote-global-parameter6-del:
@@ -3040,7 +3019,7 @@ statuses are:
 remote-global-parameter6-del reference
 ======================================
 
-``remote-global-parameter6-del`` - This command is used to delete a
+``remote-global-parameter6-del`` - deletes a
 global DHCPv6 parameter from the configuration database. The server will
 use the value specified in the configuration file or a default value (if
 the parameter is not specified in the configuration file) after deleting
@@ -3048,10 +3027,9 @@ the parameter from the database.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-global-parameter6-del>`__
+Description and examples: see :ref:`command-remote-global-parameter4-del`
 
 Command syntax:
 
@@ -3081,7 +3059,7 @@ Response syntax:
            "count": 1
        }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -3090,7 +3068,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-remote-global-parameter6-get:
@@ -3098,15 +3076,14 @@ statuses are:
 remote-global-parameter6-get reference
 ======================================
 
-``remote-global-parameter6-get`` - This command is used to fetch
+``remote-global-parameter6-get`` - fetches the
 selected global parameter for the server from the specified database.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-global-parameter6-get>`__
+Description and examples: see :ref:`command-remote-global-parameter4-get`
 
 Command syntax:
 
@@ -3144,8 +3121,8 @@ Response syntax:
    }
 
 The returned response contains a map with a global parameter name/value
-pair. The value may be a JSON string, integer, real or boolean. The
-metadata is included and it provides database specific information
+pair. The value may be a JSON string, integer, real, or boolean. The
+metadata is included and provides database-specific information
 associated with the returned object.
 
 .. _reference-remote-global-parameter6-get-all:
@@ -3153,15 +3130,14 @@ associated with the returned object.
 remote-global-parameter6-get-all reference
 ==========================================
 
-``remote-global-parameter6-get-all`` - This command is used to fetch all
+``remote-global-parameter6-get-all`` - fetches all
 global parameters for the server from the specified database.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-global-parameter6-get-all>`__
+Description and examples: see :ref:`command-remote-global-parameter4-get-all`
 
 Command syntax:
 
@@ -3206,8 +3182,8 @@ Response syntax:
 
 The returned response contains a list of maps. Each map contains a
 global parameter name/value pair. The value may be a JSON string,
-integer, real or boolean. The metadata is appended to each parameter and
-it provides database specific information associated with the returned
+integer, real, or boolean. The metadata is appended to each parameter and
+provides database-specific information associated with the returned
 objects.
 
 .. _reference-remote-global-parameter6-set:
@@ -3215,15 +3191,14 @@ objects.
 remote-global-parameter6-set reference
 ======================================
 
-``remote-global-parameter6-set`` - This command is used to create or
-update one more global DHCP parameters in the configuration database.
+``remote-global-parameter6-set`` - creates or
+updates one or more global DHCP parameters in the configuration database.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-global-parameter6-set>`__
+Description and examples: see :ref:`command-remote-global-parameter4-set`
 
 Command syntax:
 
@@ -3243,10 +3218,10 @@ Command syntax:
    }
 
 This command carries multiple global parameters with their values. Care
-should be taken when specifying more than one parameter because in some
+should be taken when specifying more than one parameter, because in some
 cases only a subset of the parameters may be successfully stored in the
 database and other parameters may fail to be stored. In such cases the
-``remote-global-parameter6-get-all`` may be useful to verify the
+``remote-global-parameter6-get-all`` command may be useful to verify the
 contents of the database after the update.
 
 Response syntax:
@@ -3258,7 +3233,7 @@ Response syntax:
        "text": "DHCPv6 global parameter(s) successfully set."
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -3267,7 +3242,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-remote-network4-del:
@@ -3275,14 +3250,14 @@ statuses are:
 remote-network4-del reference
 =============================
 
-``remote-network4-del`` - This command is used to delete an IPv4 shared
+``remote-network4-del`` - deletes an IPv4 shared
 network from the configuration database.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See `??? <#command-remote-network4-del>`__
+Description and examples: see :ref:`command-remote-network4-del`
 
 Command syntax:
 
@@ -3304,7 +3279,7 @@ Command syntax:
    }
 
 This command includes a list with exactly one name of the shared network
-to be deleted. The ``subnets-action`` denotes whether the subnets in
+to be deleted. The ``subnets-action`` command denotes whether the subnets in
 this shared network should be deleted or not.
 
 Response syntax:
@@ -3319,7 +3294,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -3328,7 +3303,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-remote-network4-get:
@@ -3336,14 +3311,14 @@ statuses are:
 remote-network4-get reference
 =============================
 
-``remote-network4-get`` - This command is used to fetch selected IPv4
+``remote-network4-get`` - fetches the selected IPv4
 shared network for the server from the specified database.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See `??? <#command-remote-network4-get>`__
+Description and examples: see :ref:`command-remote-network4-get`
 
 Command syntax:
 
@@ -3365,8 +3340,8 @@ Command syntax:
    }
 
 This command includes a list with exactly one name of the shared network
-to be returned. The ``subnets-include`` optional parameter allows for
-specifying whether the subnets belonging to the shared network should
+to be returned. The ``subnets-include`` optional parameter
+specifies whether the subnets belonging to the shared network should
 also be returned.
 
 Response syntax:
@@ -3392,22 +3367,22 @@ Response syntax:
 
 If the subnets are returned with the shared network they are carried in
 the ``subnet4`` list within the shared network definition. The metadata
-is included in the returned shared network definition and it provides
-the database specific information associated with the returned object.
+is included in the returned shared network definition and provides
+the database-specific information associated with the returned object.
 
 .. _reference-remote-network4-list:
 
 remote-network4-list reference
 ==============================
 
-``remote-network4-list`` - This command is used to fetch a list of all
+``remote-network4-list`` - fetches a list of all
 IPv4 shared networks from the configuration database.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See `??? <#command-remote-network4-list>`__
+Description and examples: see :ref:`command-remote-network4-list`
 
 Command syntax:
 
@@ -3451,10 +3426,10 @@ Response syntax:
    }
 
 The returned response contains the list of maps. Each map contains the
-shared network name and the metadata which provides database specific
+shared network name and the metadata, which provides database-specific
 information associated with the shared network. The returned list does
-not contain full definitions of the shared networks. Use
-``remote-network4-get`` to fetch the full information about the selected
+not contain full definitions of the shared networks; use
+``remote-network4-get`` to fetch the complete information about the selected
 shared networks.
 
 .. _reference-remote-network4-set:
@@ -3462,14 +3437,14 @@ shared networks.
 remote-network4-set reference
 =============================
 
-``remote-network4-set`` - This command is used to create or replace an
+``remote-network4-set`` - creates or replaces an
 IPv4 shared network in the configuration database.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See `??? <#command-remote-network4-set>`__
+Description and examples: see :ref:`command-remote-network4-set`
 
 Command syntax:
 
@@ -3490,8 +3465,8 @@ Command syntax:
    }
 
 The provided list must contain exactly one shared network specification.
-It must not contain subnets ("subnet4" parameter). The subnets are added
-to the shared network using ``remote-subnet4-set`` command.
+It must not contain subnets ("subnet4" parameter); the subnets are added
+to the shared network using the ``remote-subnet4-set`` command.
 
 Response syntax:
 
@@ -3502,7 +3477,7 @@ Response syntax:
        "text": "IPv4 shared network successfully set."
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -3511,7 +3486,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-remote-network6-del:
@@ -3519,14 +3494,14 @@ statuses are:
 remote-network6-del reference
 =============================
 
-``remote-network6-del`` - This command is used to delete an IPv6 shared
+``remote-network6-del`` - deletes an IPv6 shared
 network from the configuration database.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See `??? <#command-remote-network6-del>`__
+Description and examples: see :ref:`command-remote-network4-del`
 
 Command syntax:
 
@@ -3548,7 +3523,7 @@ Command syntax:
    }
 
 This command includes a list with exactly one name of the shared network
-to be deleted. The ``subnets-action`` denotes whether the subnets in
+to be deleted. The ``subnets-action`` command denotes whether the subnets in
 this shared network should be deleted or not.
 
 Response syntax:
@@ -3563,7 +3538,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -3572,7 +3547,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-remote-network6-get:
@@ -3580,14 +3555,14 @@ statuses are:
 remote-network6-get reference
 =============================
 
-``remote-network6-get`` - This command is used to fetch selected IPv6
+``remote-network6-get`` - fetches the selected IPv6
 shared network for the server from the specified database.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See `??? <#command-remote-network6-get>`__
+Description and examples: see :ref:`command-remote-network4-get`
 
 Command syntax:
 
@@ -3609,8 +3584,8 @@ Command syntax:
    }
 
 This command includes a list with exactly one name of the shared network
-to be returned. The ``subnets-include`` optional parameter allows for
-specifying whether the subnets belonging to the shared network should
+to be returned. The ``subnets-include`` optional parameter
+specifies whether the subnets belonging to the shared network should
 also be returned.
 
 Response syntax:
@@ -3634,24 +3609,24 @@ Response syntax:
        }
    }
 
-If the subnets are returned with the shared network they are carried in
+If the subnets are returned with the shared network, they are carried in
 the ``subnet6`` list within the shared network definition. The metadata
-is included in the returned shared network definition and it provides
-the database specific information associated with the returned object.
+is included in the returned shared network definition and provides
+the database-specific information associated with the returned object.
 
 .. _reference-remote-network6-list:
 
 remote-network6-list reference
 ==============================
 
-``remote-network6-list`` - This command is used to fetch a list of all
+``remote-network6-list`` - fetches a list of all
 IPv6 shared networks from the configuration database.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See `??? <#command-remote-network6-list>`__
+Description and examples: see :ref:`command-remote-network4-list`
 
 Command syntax:
 
@@ -3695,10 +3670,10 @@ Response syntax:
    }
 
 The returned response contains the list of maps. Each map contains the
-shared network name and the metadata which provides database specific
+shared network name and the metadata, which provides database-specific
 information associated with the shared network. The returned list does
-not contain full definitions of the shared networks. Use
-``remote-network6-get`` to fetch the full information about the selected
+not contain full definitions of the shared networks; use
+``remote-network6-get`` to fetch the complete information about the selected
 shared networks.
 
 .. _reference-remote-network6-set:
@@ -3706,14 +3681,14 @@ shared networks.
 remote-network6-set reference
 =============================
 
-``remote-network6-set`` - This command is used to create or replace an
+``remote-network6-set`` - creates or replaces an
 IPv6 shared network in the configuration database.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See `??? <#command-remote-network6-set>`__
+Description and examples: see :ref:`command-remote-network4-set`
 
 Command syntax:
 
@@ -3734,8 +3709,8 @@ Command syntax:
    }
 
 The provided list must contain exactly one shared network specification.
-It must not contain subnets ("subnet6" parameter). The subnets are added
-to the shared network using ``remote-subnet6-set`` command.
+It must not contain subnets ("subnet6" parameter); the subnets are added
+to the shared network using the ``remote-subnet6-set`` command.
 
 Response syntax:
 
@@ -3746,7 +3721,7 @@ Response syntax:
        "text": "IPv6 shared network successfully set."
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -3755,7 +3730,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-remote-option-def4-del:
@@ -3763,14 +3738,14 @@ statuses are:
 remote-option-def4-del reference
 ================================
 
-``remote-option-def4-del`` - This command is used to delete a DHCPv4
+``remote-option-def4-del`` - deletes a DHCPv4
 option definition from the configuration database.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See `??? <#command-remote-option-def4-del>`__
+Description and examples: see :ref:`command-remote-option-def4-del`
 
 Command syntax:
 
@@ -3804,7 +3779,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -3813,7 +3788,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-remote-option-def4-get:
@@ -3821,14 +3796,14 @@ statuses are:
 remote-option-def4-get reference
 ================================
 
-``remote-option-def4-get`` - This command is used to fetch a DHCPv4
+``remote-option-def4-get`` - fetches a DHCPv4
 option definition from the configuration database.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See `??? <#command-remote-option-def4-get>`__
+Description and examples: see :ref:`command-remote-option-def4-get`
 
 Command syntax:
 
@@ -3849,7 +3824,7 @@ Command syntax:
        }
    }
 
-The desired option definition is identified by the pair of the option
+The desired option definition is identified by the pair of option
 code/space values.
 
 Response syntax:
@@ -3872,7 +3847,7 @@ Response syntax:
        }
    }
 
-The metadata is included and it provides database specific information
+The metadata is included and provides database-specific information
 associated with the returned object.
 
 .. _reference-remote-option-def4-get-all:
@@ -3880,15 +3855,14 @@ associated with the returned object.
 remote-option-def4-get-all reference
 ====================================
 
-``remote-option-def4-get-all`` - This command is used to fetch all
+``remote-option-def4-get-all`` - fetches all
 DHCPv4 option definitions from the configuration database.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-option-def4-get-all>`__
+Description and examples: see :ref:`command-remote-option-def4-get-all`
 
 Command syntax:
 
@@ -3932,22 +3906,22 @@ Response syntax:
    }
 
 The returned response contains a list of maps. Each map contains an
-option definition specification and the metadata including database
-specific information associated with the returned objects.
+option definition specification and the metadata, including
+database-specific information associated with the returned objects.
 
 .. _reference-remote-option-def4-set:
 
 remote-option-def4-set reference
 ================================
 
-``remote-option-def4-set`` - This command is used to create or replace
+``remote-option-def4-set`` - creates or replaces a
 DHCPv4 option definition in the configuration database.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See `??? <#command-remote-option-def4-set>`__
+Description and examples: see :ref:`command-remote-option-def4-set`
 
 Command syntax:
 
@@ -3979,7 +3953,7 @@ Response syntax:
        "text": "DHCPv4 option definition set."
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -3988,7 +3962,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-remote-option-def6-del:
@@ -3996,14 +3970,14 @@ statuses are:
 remote-option-def6-del reference
 ================================
 
-``remote-option-def6-del`` - This command is used to delete a DHCPv6
+``remote-option-def6-del`` - deletes a DHCPv6
 option definition from the configuration database.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See `??? <#command-remote-option-def6-del>`__
+Description and examples: see :ref:`command-remote-option-def4-del`
 
 Command syntax:
 
@@ -4015,7 +3989,7 @@ Command syntax:
            "option-defs": [
                {
                    "code": <option code>,
-                   "space": <option space
+                   "space": <option space>
                }
            ],
            "remote": {
@@ -4039,7 +4013,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -4048,7 +4022,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-remote-option-def6-get:
@@ -4056,14 +4030,14 @@ statuses are:
 remote-option-def6-get reference
 ================================
 
-``remote-option-def6-get`` - This command is used to fetch a DHCPv6
+``remote-option-def6-get`` - fetches a DHCPv6
 option definition from the configuration database.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See `??? <#command-remote-option-def6-get>`__
+Description and examples: see :ref:`command-remote-option-def4-get`
 
 Command syntax:
 
@@ -4107,7 +4081,7 @@ Response syntax:
        }
    }
 
-The metadata is included and it provides database specific information
+The metadata is included and provides database-specific information
 associated with the returned object.
 
 .. _reference-remote-option-def6-get-all:
@@ -4115,15 +4089,14 @@ associated with the returned object.
 remote-option-def6-get-all reference
 ====================================
 
-``remote-option-def6-get-all`` - This command is used to fetch all
+``remote-option-def6-get-all`` - fetches all
 DHCPv6 option definitions from the configuration database.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-option-def6-get-all>`__
+Description and examples: see :ref:`command-remote-option-def4-get-all`
 
 Command syntax:
 
@@ -4167,22 +4140,22 @@ Response syntax:
    }
 
 The returned response contains a list of maps. Each map contains an
-option definition specification and the metadata including database
-specific information associated with the returned objects.
+option definition specification and the metadata, including
+database-specific information associated with the returned objects.
 
 .. _reference-remote-option-def6-set:
 
 remote-option-def6-set reference
 ================================
 
-``remote-option-def6-set`` - This command is used to create or replace
+``remote-option-def6-set`` - creates or replaces a
 DHCPv6 option definition in the configuration database.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See `??? <#command-remote-option-def6-set>`__
+Description and examples: see :ref:`command-remote-option-def4-set`
 
 Command syntax:
 
@@ -4214,7 +4187,7 @@ Response syntax:
        "text": "DHCPv6 option definition set."
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -4223,7 +4196,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-remote-option4-global-del:
@@ -4231,15 +4204,14 @@ statuses are:
 remote-option4-global-del reference
 ===================================
 
-``remote-option4-global-del`` - This command is used to delete a DHCPv4
+``remote-option4-global-del`` - deletes a DHCPv4
 global option from the configuration database.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-option4-global-del>`__
+Description and examples: see :ref:`command-remote-option4-global-del`
 
 Command syntax:
 
@@ -4275,7 +4247,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -4284,7 +4256,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-remote-option4-global-get:
@@ -4292,15 +4264,14 @@ statuses are:
 remote-option4-global-get reference
 ===================================
 
-``remote-option4-global-get`` - This command is used to fetch a global
+``remote-option4-global-get`` - fetches a global
 DHCPv4 option for the server from the specified database.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-option4-global-get>`__
+Description and examples: see :ref:`command-remote-option4-global-get`
 
 Command syntax:
 
@@ -4341,7 +4312,7 @@ Response syntax:
        }
    }
 
-The metadata is included and it provides database specific information
+The metadata is included and provides database-specific information
 associated with the returned object.
 
 .. _reference-remote-option4-global-get-all:
@@ -4349,15 +4320,14 @@ associated with the returned object.
 remote-option4-global-get-all reference
 =======================================
 
-``remote-option4-global-get-all`` - This command is used to fetch all
+``remote-option4-global-get-all`` - fetches all
 DHCPv4 global options for the server from the configuration database.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-option4-global-get-all>`__
+Description and examples: see :ref:`command-remote-option4-global-get-all`
 
 Command syntax:
 
@@ -4401,7 +4371,7 @@ Response syntax:
    }
 
 The returned response contains a list of maps. Each map contains a
-global option specification and the metadata including database specific
+global option specification and the metadata, including database-specific
 information associated with the returned object.
 
 .. _reference-remote-option4-global-set:
@@ -4409,15 +4379,14 @@ information associated with the returned object.
 remote-option4-global-set reference
 ===================================
 
-``remote-option4-global-set`` - This command is used to create or
-replace a DHCPv4 global option in the configuration database.
+``remote-option4-global-set`` - creates or
+replaces a DHCPv4 global option in the configuration database.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-option4-global-set>`__
+Description and examples: see :ref:`command-remote-option4-global-set`
 
 Command syntax:
 
@@ -4437,7 +4406,7 @@ Command syntax:
        }
    }
 
-The provided list must cotain exactly one option specification.
+The provided list must contain exactly one option specification.
 
 Response syntax:
 
@@ -4456,7 +4425,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -4465,7 +4434,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-remote-option6-global-del:
@@ -4473,15 +4442,14 @@ statuses are:
 remote-option6-global-del reference
 ===================================
 
-``remote-option6-global-del`` - This command is used to delete a DHCPv6
+``remote-option6-global-del`` - deletes a DHCPv6
 global option from the configuration database.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-option6-global-del>`__
+Description and examples: see :ref:`command-remote-option4-global-del`
 
 Command syntax:
 
@@ -4517,7 +4485,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -4526,7 +4494,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-remote-option6-global-get:
@@ -4534,15 +4502,14 @@ statuses are:
 remote-option6-global-get reference
 ===================================
 
-``remote-option6-global-get`` - This command is used to delete a DHCPv6
+``remote-option6-global-get`` - deletes a DHCPv6
 global option from the configuration database.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-option6-global-get>`__
+Description and examples: see :ref:`command-remote-option4-global-get`
 
 Command syntax:
 
@@ -4583,7 +4550,7 @@ Response syntax:
        }
    }
 
-The metadata is included and it provides database specific information
+The metadata is included and provides database-specific information
 associated with the returned object.
 
 .. _reference-remote-option6-global-get-all:
@@ -4591,15 +4558,14 @@ associated with the returned object.
 remote-option6-global-get-all reference
 =======================================
 
-``remote-option6-global-get-all`` - This command is used to fetch all
+``remote-option6-global-get-all`` - fetches all
 DHCPv6 global options for the server from the configuration database.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-option6-global-get-all>`__
+Description and examples: see :ref:`command-remote-option4-global-get-all`
 
 Command syntax:
 
@@ -4643,7 +4609,7 @@ Response syntax:
    }
 
 The returned response contains a list of maps. Each map contains a
-global option specification and the metadata including database specific
+global option specification and the metadata, including database-specific
 information associated with the returned object.
 
 .. _reference-remote-option6-global-set:
@@ -4651,15 +4617,14 @@ information associated with the returned object.
 remote-option6-global-set reference
 ===================================
 
-``remote-option6-global-set`` - This command is used to create or
-replace a DHCPv6 global option in the configuration database.
+``remote-option6-global-set`` - creates or
+replaces a DHCPv6 global option in the configuration database.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-option6-global-set>`__
+Description and examples: see :ref:`command-remote-option4-global-set`
 
 Command syntax:
 
@@ -4679,7 +4644,7 @@ Command syntax:
        }
    }
 
-The provided list must cotain exactly one option specification.
+The provided list must contain exactly one option specification.
 
 Response syntax:
 
@@ -4698,7 +4663,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -4707,7 +4672,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-remote-subnet4-del-by-id:
@@ -4715,15 +4680,14 @@ statuses are:
 remote-subnet4-del-by-id reference
 ==================================
 
-``remote-subnet4-del-by-id`` - This command is used to delete an IPv4
+``remote-subnet4-del-by-id`` - deletes an IPv4
 subnet by ID from the configuration database.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-subnet4-del-by-id>`__
+Description and examples: see :ref:`command-remote-subnet4-del-by-id`
 
 Command syntax:
 
@@ -4743,7 +4707,7 @@ Command syntax:
        }
    }
 
-This command includes a list with exactly one id of the subnet to be
+This command includes a list with exactly one ID of the subnet to be
 deleted.
 
 Response syntax:
@@ -4758,7 +4722,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -4767,7 +4731,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-remote-subnet4-del-by-prefix:
@@ -4775,15 +4739,14 @@ statuses are:
 remote-subnet4-del-by-prefix reference
 ======================================
 
-``remote-subnet4-del-by-prefix`` - This command is used to delete an
+``remote-subnet4-del-by-prefix`` - deletes an
 IPv4 subnet by prefix from the configuration database.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-subnet4-del-by-prefix>`__
+Description and examples: see :ref:`command-remote-subnet4-del-by-prefix`
 
 Command syntax:
 
@@ -4818,7 +4781,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -4827,7 +4790,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-remote-subnet4-get-by-id:
@@ -4835,15 +4798,14 @@ statuses are:
 remote-subnet4-get-by-id reference
 ==================================
 
-``remote-subnet4-get-by-id`` - This command is used to fetch selected
+``remote-subnet4-get-by-id`` - fetches a selected
 IPv4 subnet by ID for the server from the configuration database.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-subnet4-get-by-id>`__
+Description and examples: see :ref:`command-remote-subnet4-get-by-id`
 
 Command syntax:
 
@@ -4861,7 +4823,7 @@ Command syntax:
        }
    }
 
-This command includes a list with exactly one id of the subnet to be
+This command includes a list with exactly one ID of the subnet to be
 returned.
 
 Response syntax:
@@ -4887,23 +4849,22 @@ Response syntax:
 
 If the shared network name is null, it means that the returned subnet
 does not belong to any shared network (global subnet). The metadata is
-included in the returned subnet definition and it provides database
-specific information associated with the returned object.
+included in the returned subnet definition and provides
+database-specific information associated with the returned object.
 
 .. _reference-remote-subnet4-get-by-prefix:
 
 remote-subnet4-get-by-prefix reference
 ======================================
 
-``remote-subnet4-get-by-prefix`` - This command is used to fetch
+``remote-subnet4-get-by-prefix`` - fetches a
 selected IPv4 subnet by prefix from the configuration database.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-subnet4-get-by-prefix>`__
+Description and examples: see :ref:`command-remote-subnet4-get-by-prefix`
 
 Command syntax:
 
@@ -4949,22 +4910,22 @@ Response syntax:
 
 If the shared network name is null, it means that the returned subnet
 does not belong to any shared network (global subnet). The metadata is
-included in the returned subnet definition and it provides database
-specific information associated with the returned object.
+included in the returned subnet definition and provides
+database-specific information associated with the returned object.
 
 .. _reference-remote-subnet4-list:
 
 remote-subnet4-list reference
 =============================
 
-``remote-subnet4-list`` - This command is used to fetch a list of all
+``remote-subnet4-list`` - fetches a list of all
 IPv4 subnets from the configuration database.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See `??? <#command-remote-subnet4-list>`__
+Description and examples: see :ref:`command-remote-subnet4-list`
 
 Command syntax:
 
@@ -5012,11 +4973,11 @@ Response syntax:
    }
 
 The returned response contains a list of maps. Each map contains a
-subnet identifier, prefix and shared network name to which the subnet
-belongs. If the subnet does not belong to a shared netork the name is
-null. The metadata includes database specific information associated
+subnet identifier, prefix, and shared network name to which the subnet
+belongs. If the subnet does not belong to a shared network, the name is
+null. The metadata includes database-specific information associated
 with the subnets. The returned list does not contain full subnet
-definitions. Use ``remote-subnet4-get`` to fetch the full information
+definitions; use ``remote-subnet4-get`` to fetch the complete information
 about the selected subnets.
 
 .. _reference-remote-subnet4-set:
@@ -5024,14 +4985,14 @@ about the selected subnets.
 remote-subnet4-set reference
 ============================
 
-``remote-subnet4-set`` - This command is used to create or replace an
-IPv4 subnet the configuration database.
+``remote-subnet4-set`` - creates or replaces an
+IPv4 subnet in the configuration database.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See `??? <#command-remote-subnet4-set>`__
+Description and examples: see :ref:`command-remote-subnet4-set`
 
 Command syntax:
 
@@ -5055,7 +5016,7 @@ Command syntax:
    }
 
 The provided list must contain exactly one subnet specification. The
-``shared-network-name`` parameter is required for these commands. It
+``shared-network-name`` parameter is required for these commands; it
 associates the subnet with the shared network by its name. If the subnet
 must not belong to any shared network (global subnet), the ``null``
 value must be specified for the shared network name.
@@ -5073,7 +5034,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -5082,7 +5043,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-remote-subnet6-del-by-id:
@@ -5090,15 +5051,14 @@ statuses are:
 remote-subnet6-del-by-id reference
 ==================================
 
-``remote-subnet6-del-by-id`` - This command is used to delete an IPv6
+``remote-subnet6-del-by-id`` - deletes an IPv6
 subnet by ID from the configuration database.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-subnet6-del-by-id>`__
+Description and examples: see :ref:`command-remote-subnet4-del-by-id`
 
 Command syntax:
 
@@ -5118,7 +5078,7 @@ Command syntax:
        }
    }
 
-This command includes a list with exactly one id of the subnet to be
+This command includes a list with exactly one ID of the subnet to be
 deleted.
 
 Response syntax:
@@ -5133,7 +5093,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -5142,7 +5102,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-remote-subnet6-del-by-prefix:
@@ -5150,15 +5110,14 @@ statuses are:
 remote-subnet6-del-by-prefix reference
 ======================================
 
-``remote-subnet6-del-by-prefix`` - This command is used to delete an
+``remote-subnet6-del-by-prefix`` - deletes an
 IPv6 subnet by prefix from the configuration database.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-subnet6-del-by-prefix>`__
+Description and examples: see :ref:`command-remote-subnet4-del-by-prefix`
 
 Command syntax:
 
@@ -5193,7 +5152,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -5202,7 +5161,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-remote-subnet6-get-by-id:
@@ -5210,15 +5169,14 @@ statuses are:
 remote-subnet6-get-by-id reference
 ==================================
 
-``remote-subnet6-get-by-id`` - This command is used to fetch selected
+``remote-subnet6-get-by-id`` - fetches a selected
 IPv6 subnet by ID for the server from the configuration database.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-subnet6-get-by-id>`__
+Description and examples: see :ref:`command-remote-subnet4-get-by-id`
 
 Command syntax:
 
@@ -5238,7 +5196,7 @@ Command syntax:
        }
    }
 
-This command includes a list with exactly one id of the subnet to be
+This command includes a list with exactly one ID of the subnet to be
 returned.
 
 Response syntax:
@@ -5266,23 +5224,22 @@ Response syntax:
 
 If the shared network name is null, it means that the returned subnet
 does not belong to any shared network (global subnet). The metadata is
-included in the returned subnet definition and it provides database
-specific information associated with the returned object.
+included in the returned subnet definition and provides
+database-specific information associated with the returned object.
 
 .. _reference-remote-subnet6-get-by-prefix:
 
 remote-subnet6-get-by-prefix reference
 ======================================
 
-``remote-subnet6-get-by-prefix`` - This command is used to fetch
+``remote-subnet6-get-by-prefix`` - fetches a
 selected IPv6 subnet by prefix from the configuration database.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See
-`??? <#command-remote-subnet6-get-by-prefix>`__
+Description and examples: see :ref:`command-remote-subnet4-get-by-prefix`
 
 Command syntax:
 
@@ -5328,22 +5285,22 @@ Response syntax:
 
 If the shared network name is null, it means that the returned subnet
 does not belong to any shared network (global subnet). The metadata is
-included in the returned subnet definition and it provides database
-specific information associated with the returned object.
+included in the returned subnet definition and provides
+database-specific information associated with the returned object.
 
 .. _reference-remote-subnet6-list:
 
 remote-subnet6-list reference
 =============================
 
-``remote-subnet6-list`` - This command is used to fetch a list of all
+``remote-subnet6-list`` - fetches a list of all
 IPv6 subnets from the configuration database.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See `??? <#command-remote-subnet6-list>`__
+Description and examples: see :ref:`command-remote-subnet4-list`
 
 Command syntax:
 
@@ -5391,11 +5348,11 @@ Response syntax:
    }
 
 The returned response contains a list of maps. Each map contains a
-subnet identifier, prefix and shared network name to which the subnet
-belongs. If the subnet does not belong to a shared netork the name is
-null. The metadata includes database specific information associated
+subnet identifier, prefix, and shared network name to which the subnet
+belongs. If the subnet does not belong to a shared network, the name is
+null. The metadata includes database-specific information associated
 with the subnets. The returned list does not contain full subnet
-definitions. Use ``remote-subnet6-get`` to fetch the full information
+definitions; use ``remote-subnet6-get`` to fetch the complete information
 about the selected subnets.
 
 .. _reference-remote-subnet6-set:
@@ -5403,14 +5360,14 @@ about the selected subnets.
 remote-subnet6-set reference
 ============================
 
-``remote-subnet6-set`` - This command is used to create or replace an
-IPv4 subnet the configuration database.
+``remote-subnet6-set`` - creates or replaces an
+IPv4 subnet in the configuration database.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.6.0 (`cb_cmds <#commands-cb_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
 
-Description and examples: See `??? <#command-remote-subnet6-set>`__
+Description and examples: see :ref:`command-remote-subnet4-set`
 
 Command syntax:
 
@@ -5434,7 +5391,7 @@ Command syntax:
    }
 
 The provided list must contain exactly one subnet specification. The
-``shared-network-name`` parameter is required for these commands. It
+``shared-network-name`` parameter is required for these commands; it
 associates the subnet with the shared network by its name. If the subnet
 must not belong to any shared network (global subnet), the ``null``
 value must be specified for the shared network name.
@@ -5452,7 +5409,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -5461,7 +5418,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-reservation-add:
@@ -5470,15 +5427,15 @@ reservation-add reference
 =========================
 
 ``reservation-add`` - adds a new host reservation. The reservation may
-include IPv4 address, IPv6 addresses, IPv6 prefixes, various
+include an IPv4 address, IPv6 addresses, IPv6 prefixes, various
 identifiers, a class the client will be assigned to, DHCPv4 and DHCPv6
-options and more.
+options, and more.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
-Availability: 1.2.0 (`host_cmds <#commands-host_cmds-lib>`__ hook)
+Availability: 1.2.0 (:ref:`The Host Commands hooks library<commands-host_cmds-lib>`)
 
-Description and examples: See `??? <#command-reservation-add>`__
+Description and examples: see :ref:`command-reservation-add`
 
 Command syntax:
 
@@ -5495,13 +5452,13 @@ Command syntax:
                "duid": <string>,
                "flex-id": <string>,
                "ip-address": <string (IPv4 address)>,
-               "ip-addresses": [ <comma separated strings> ],
+               "ip-addresses": [ <comma-separated strings> ],
                "hw-address": <string>,
                "hostname": <string>,
                "next-server": <string (IPv4 address)>,
-               "option-data-list": [ <comma separated structures defining options> ],
-               "prefixes": [ <comma separated IPv6 prefixes> ],
-               "reservation-client-classes": [ <comma separated strings> ],
+               "option-data-list": [ <comma-separated structures defining options> ],
+               "prefixes": [ <comma-separated IPv6 prefixes> ],
+               "reservation-client-classes": [ <comma-separated strings> ],
                "server-hostname": <string>,
                "subnet-id": <integer>,
                "user-context": <any valid JSON>,
@@ -5509,9 +5466,9 @@ Command syntax:
        }
    }
 
-Note the ip-address, client-id, next-server, server-hostname and
-boot-file-name are IPv4 specific. duid, ip-addresses and prefixes are
-IPv6 specific.
+Note that ip-address, client-id, next-server, server-hostname, and
+boot-file-name are IPv4-specific. duid, ip-addresses, and prefixes are
+IPv6-specific.
 
 Response syntax:
 
@@ -5522,7 +5479,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -5531,7 +5488,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-reservation-del:
@@ -5539,13 +5496,13 @@ statuses are:
 reservation-del reference
 =========================
 
-``reservation-del`` - Deletes an existing host reservation.
+``reservation-del`` - deletes an existing host reservation.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
-Availability: 1.2.0 (`host_cmds <#commands-host_cmds-lib>`__ hook)
+Availability: 1.2.0 (:ref:`The Host Commands hooks library<commands-host_cmds-lib>`)
 
-Description and examples: See `??? <#command-reservation-del>`__
+Description and examples: see :ref:`command-reservation-del`
 
 Command syntax:
 
@@ -5561,7 +5518,7 @@ Command syntax:
        }
    }
 
-The host reservation can be identified by either (subnet-id, ip-address)
+The host reservation can be identified by either the (subnet-id, ip-address)
 pair or a triplet of (subnet-id, identifier-type, identifier).
 
 Response syntax:
@@ -5573,7 +5530,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -5582,7 +5539,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-reservation-get:
@@ -5590,13 +5547,13 @@ statuses are:
 reservation-get reference
 =========================
 
-``reservation-get`` - Attempts to retrieve an existing host reservation
+``reservation-get`` - attempts to retrieve an existing host reservation.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
-Availability: 1.2.0 (`host_cmds <#commands-host_cmds-lib>`__ hook)
+Availability: 1.2.0 (:ref:`The Host Commands hooks library<commands-host_cmds-lib>`)
 
-Description and examples: See `??? <#command-reservation-get>`__
+Description and examples: see :ref:`command-reservation-get`
 
 Command syntax:
 
@@ -5611,7 +5568,7 @@ Command syntax:
        }
    }
 
-The host reservation can be identified by either (subnet-id, ip-address)
+The host reservation can be identified by either (subnet-id, ip-address)
 pair or a triplet of (subnet-id, identifier-type, identifier).
 
 Response syntax:
@@ -5629,35 +5586,35 @@ Response syntax:
            "duid": <string>,
            "flex-id": <string>,
            "ip-address": <string (IPv4 address)>,
-           "ip-addresses": [ <comma separated strings> ],
+           "ip-addresses": [ <comma-separated strings> ],
            "hw-address": <string>,
            "hostname": <string>,
            "next-server": <string (IPv4 address)>,
-           "option-data-list": [ <comma separated structures defining options> ],
-           "prefixes": [ <comma separated IPv6 prefixes> ],
-           "reservation-client-classes": [ <comma separated strings> ],
+           "option-data-list": [ <comma-separated structures defining options> ],
+           "prefixes": [ <comma-separated IPv6 prefixes> ],
+           "reservation-client-classes": [ <comma-separated strings> ],
            "server-hostname": <string>,
            "subnet-id": <integer>,
            "user-context": <any valid JSON>,
        }
    }
 
-Arguments object appear only if a host is found. Many fields in the
-arguments object appear only if specific field is set.
+The arguments object appears only if a host is found. Many fields in the
+arguments object appear only if specific field is set.
 
 .. _reference-reservation-get-all:
 
 reservation-get-all reference
 =============================
 
-``reservation-get-all`` - Retrieve all host reservations for a specified
+``reservation-get-all`` - retrieves all host reservations for a specified
 subnet.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
-Availability: 1.6.0 (`host_cmds <#commands-host_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Host Commands hooks library<commands-host_cmds-lib>`)
 
-Description and examples: See `??? <#command-reservation-get-all>`__
+Description and examples: see :ref:`command-reservation-get-all`
 
 Command syntax:
 
@@ -5678,21 +5635,21 @@ Response syntax:
        "text": <string>
    }
 
-reservation-get-all command may result in very large responses.
+The ``reservation-get-all`` command may result in very large responses.
 
 .. _reference-reservation-get-page:
 
 reservation-get-page reference
 ==============================
 
-``reservation-get-page`` - Retrieve host reservations for a specified
+``reservation-get-page`` - retrieves host reservations for a specified
 subnet by page.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
-Availability: 1.6.0 (`host_cmds <#commands-host_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Host Commands hooks library<commands-host_cmds-lib>`)
 
-Description and examples: See `??? <#command-reservation-get-page>`__
+Description and examples: see :ref:`command-reservation-get-page`
 
 Command syntax:
 
@@ -5708,9 +5665,12 @@ Command syntax:
        }
    }
 
-the subnet id and the page size limit are mandatory. The source index
-and from host id are optional and default to 0. Values to use to next
-the next page are returned in responses in a next map.
+The "subnet-id" and the "limit" arguments are mandatory. The "limit"
+specifies the maximum number of host reservations to be returned, and
+the "source-index" and "from" arguments should be set to 0 when retrieving
+the first page of host reservations (if they are not specified, they will
+default to 0). To fetch subsequent pages of host reservations, the returned
+values of "source-index" and "from" must be copied from the previous response.
 
 Response syntax:
 
@@ -5721,7 +5681,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -5730,7 +5690,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-shutdown:
@@ -5738,7 +5698,7 @@ statuses are:
 shutdown reference
 ==================
 
-``shutdown`` - The shutdown command instructs the server to initiate its
+``shutdown`` - instructs the server to initiate its
 shutdown procedure.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``, ``kea-dhcp-ddns``,
@@ -5746,7 +5706,7 @@ Supported by: ``kea-dhcp4``, ``kea-dhcp6``, ``kea-dhcp-ddns``,
 
 Availability: 1.0.0 (built-in)
 
-Description and examples: See `??? <#command-shutdown>`__
+Description and examples: see :ref:`command-shutdown`
 
 Command syntax:
 
@@ -5768,7 +5728,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -5777,7 +5737,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-stat-lease4-get:
@@ -5785,14 +5745,14 @@ statuses are:
 stat-lease4-get reference
 =========================
 
-``stat-lease4-get`` - The stat-lease4-get command fetches lease
+``stat-lease4-get`` - fetches lease
 statistics for a range of known IPv4 subnets.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.4.0 (`stat_cmds <#commands-stat_cmds-lib>`__ hook)
+Availability: 1.4.0 (:ref:`The Supplemental Statistics Commands hooks library<commands-stat_cmds-lib>`)
 
-Description and examples: See `??? <#command-stat-lease4-get>`__
+Description and examples: see :ref:`command-stat-lease4-get`
 
 Command syntax:
 
@@ -5824,7 +5784,7 @@ Response syntax:
        }
      }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -5833,7 +5793,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-stat-lease6-get:
@@ -5841,14 +5801,14 @@ statuses are:
 stat-lease6-get reference
 =========================
 
-``stat-lease6-get`` - The stat-lease6-get command fetches lease
+``stat-lease6-get`` - fetches lease
 statistics for a range of known IPv6 subnets.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.4.0 (`stat_cmds <#commands-stat_cmds-lib>`__ hook)
+Availability: 1.4.0 (:ref:`The Supplemental Statistics Commands hooks library<commands-stat_cmds-lib>`)
 
-Description and examples: See `??? <#command-stat-lease6-get>`__
+Description and examples: see :ref:`command-stat-lease4-get`
 
 Command syntax:
 
@@ -5881,7 +5841,7 @@ Response syntax:
        }
      }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -5890,7 +5850,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-statistic-get:
@@ -5898,15 +5858,15 @@ statuses are:
 statistic-get reference
 =======================
 
-``statistic-get`` - The statistic-get command retrieves a single
-statistic. It takes a single string parameter called name that specifies
+``statistic-get`` - retrieves a single
+statistic. It takes a single string parameter, called "name", that specifies
 the statistic name.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
 Availability: 1.0.0 (built-in)
 
-Description and examples: See `??? <#command-statistic-get>`__
+Description and examples: see :ref:`command-statistic-get`
 
 Command syntax:
 
@@ -5932,7 +5892,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -5941,7 +5901,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-statistic-get-all:
@@ -5949,14 +5909,13 @@ statuses are:
 statistic-get-all reference
 ===========================
 
-``statistic-get-all`` - The statistic-get-all command retrieves all
-statistics recorded.
+``statistic-get-all`` - retrieves all statistics recorded.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
 Availability: 1.0.0 (built-in)
 
-Description and examples: See `??? <#command-statistic-get-all>`__
+Description and examples: see :ref:`command-statistic-get-all`
 
 Command syntax:
 
@@ -5967,8 +5926,8 @@ Command syntax:
        "arguments": { }
    }
 
-The server will respond with details of all recorded statistics, with
-result set to 0 indicating that it iterated over all statistics (even
+The server will respond with details of all recorded statistics, with a
+result of 0 indicating that it iterated over all statistics (even
 when the total number of statistics is zero).
 
 Response syntax:
@@ -5980,7 +5939,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -5989,7 +5948,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-statistic-remove:
@@ -5997,15 +5956,15 @@ statuses are:
 statistic-remove reference
 ==========================
 
-``statistic-remove`` - The statistic-remove command attempts to delete a
-single statistic. It takes a single string parameter called name that
+``statistic-remove`` - attempts to delete a
+single statistic. It takes a single string parameter, called "name", that
 specifies the statistic name.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
 Availability: 1.0.0 (built-in)
 
-Description and examples: See `??? <#command-statistic-remove>`__
+Description and examples: see :ref:`command-statistic-remove`
 
 Command syntax:
 
@@ -6019,8 +5978,8 @@ Command syntax:
    }
 
 If the specific statistic is found and its removal was successful, the
-server will respond with a status of 0, indicating success and an empty
-parameters field. If an error is encountered (e.g. requested statistic
+server will respond with a status of 0, indicating success, and an empty
+parameters field. If an error is encountered (e.g. the requested statistic
 was not found), the server will return a status code of 1 (error) and
 the text field will contain the error description.
 
@@ -6033,7 +5992,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -6042,7 +6001,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-statistic-remove-all:
@@ -6050,14 +6009,14 @@ statuses are:
 statistic-remove-all reference
 ==============================
 
-``statistic-remove-all`` - The statistic-remove-all command attempts to
+``statistic-remove-all`` - attempts to
 delete all statistics.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
 Availability: 1.0.0 (built-in)
 
-Description and examples: See `??? <#command-statistic-remove-all>`__
+Description and examples: see :ref:`command-statistic-remove-all`
 
 Command syntax:
 
@@ -6069,7 +6028,7 @@ Command syntax:
    }
 
 If the removal of all statistics was successful, the server will respond
-with a status of 0, indicating success and an empty parameters field. If
+with a status of 0, indicating success, and an empty parameters field. If
 an error is encountered, the server will return a status code of 1
 (error) and the text field will contain the error description.
 
@@ -6082,7 +6041,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -6091,7 +6050,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-statistic-reset:
@@ -6099,16 +6058,16 @@ statuses are:
 statistic-reset reference
 =========================
 
-``statistic-reset`` - The statistic-reset command sets the specified
+``statistic-reset`` - sets the specified
 statistic to its neutral value: 0 for integer, 0.0 for float, 0h0m0s0us
-for time duration and "" for string type. It takes a single string
-parameter called name that specifies the statistic name.
+for time duration, and "" for string type. It takes a single string
+parameter, called "name", that specifies the statistic name.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
 Availability: 1.0.0 (built-in)
 
-Description and examples: See `??? <#command-statistic-reset>`__
+Description and examples: see :ref:`command-statistic-reset`
 
 Command syntax:
 
@@ -6121,9 +6080,9 @@ Command syntax:
        }
    }
 
-If the specific statistic is found and reset was successful, the server
-will respond with a status of 0, indicating success and an empty
-parameters field. If an error is encountered (e.g. requested statistic
+If the specific statistic is found and the reset was successful, the server
+will respond with a status of 0, indicating success, and an empty
+parameters field. If an error is encountered (e.g. the requested statistic
 was not found), the server will return a status code of 1 (error) and
 the text field will contain the error description.
 
@@ -6136,7 +6095,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -6145,7 +6104,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-statistic-reset-all:
@@ -6153,15 +6112,15 @@ statuses are:
 statistic-reset-all reference
 =============================
 
-``statistic-reset-all`` - The statistic-reset command sets all
+``statistic-reset-all`` - sets all
 statistics to their neutral values: 0 for integer, 0.0 for float,
-0h0m0s0us for time duration and "" for string type.
+0h0m0s0us for time duration, and "" for string type.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``
 
 Availability: 1.0.0 (built-in)
 
-Description and examples: See `??? <#command-statistic-reset-all>`__
+Description and examples: see :ref:`command-statistic-reset-all`
 
 Command syntax:
 
@@ -6173,7 +6132,7 @@ Command syntax:
    }
 
 If the operation is successful, the server will respond with a status of
-0, indicating success and an empty parameters field. If an error is
+0, indicating success, and an empty parameters field. If an error is
 encountered, the server will return a status code of 1 (error) and the
 text field will contain the error description.
 
@@ -6186,7 +6145,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -6195,7 +6154,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-subnet4-add:
@@ -6203,14 +6162,14 @@ statuses are:
 subnet4-add reference
 =====================
 
-``subnet4-add`` - This command is used to create and add a new subnet to
+``subnet4-add`` - creates and adds a new subnet to
 the existing server configuration.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.3.0 (`subnet_cmds <#commands-subnet_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
 
-Description and examples: See `??? <#command-subnet4-add>`__
+Description and examples: see :ref:`command-subnet4-add`
 
 Command syntax:
 
@@ -6244,7 +6203,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -6253,7 +6212,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-subnet4-del:
@@ -6261,16 +6220,16 @@ statuses are:
 subnet4-del reference
 =====================
 
-``subnet4-del`` - This command is used to remove a subnet from the
+``subnet4-del`` - removes a subnet from the
 server's configuration. This command has no effect on other configured
-subnets but removing a subnet has certain implications which the
-server's administrator should be aware of.
+subnets, but administrators should exercise caution when
+using this command as removing a subnet may have unintended consequences.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.3.0 (`subnet_cmds <#commands-subnet_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
 
-Description and examples: See `??? <#command-subnet4-del>`__
+Description and examples: see :ref:`command-subnet4-del`
 
 Command syntax:
 
@@ -6300,7 +6259,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -6309,7 +6268,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-subnet4-get:
@@ -6317,16 +6276,16 @@ statuses are:
 subnet4-get reference
 =====================
 
-``subnet4-get`` - This command is used to retrieve detailed information
+``subnet4-get`` - retrieves detailed information
 about the specified subnet. This command usually follows the
-subnet4-list, which is used to discover available subnets with their
+``subnet4-list`` command, which is used to discover available subnets with their
 respective subnet identifiers and prefixes.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.3.0 (`subnet_cmds <#commands-subnet_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
 
-Description and examples: See `??? <#command-subnet4-get>`__
+Description and examples: see :ref:`command-subnet4-get`
 
 Command syntax:
 
@@ -6360,7 +6319,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -6369,7 +6328,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-subnet4-list:
@@ -6377,15 +6336,15 @@ statuses are:
 subnet4-list reference
 ======================
 
-``subnet4-list`` - This command is used to list all currently configured
+``subnet4-list`` - lists all currently configured
 subnets. The subnets are returned in a brief form, i.e. a subnet
-identifier and subnet prefix is included for each subnet.
+identifier and subnet prefix are included for each subnet.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.3.0 (`subnet_cmds <#commands-subnet_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
 
-Description and examples: See `??? <#command-subnet4-list>`__
+Description and examples: see :ref:`command-subnet4-list`
 
 Command syntax:
 
@@ -6423,14 +6382,14 @@ error description.
 subnet4-update reference
 ========================
 
-``subnet4-update`` - This command is used to update a subnet in the
+``subnet4-update`` - updates a subnet in the
 existing server configuration.
 
 Supported by: ``kea-dhcp4``
 
-Availability: 1.6.0 (`subnet_cmds <#commands-subnet_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
 
-Description and examples: See `??? <#command-subnet4-update>`__
+Description and examples: see :ref:`command-subnet4-update`
 
 Command syntax:
 
@@ -6464,7 +6423,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -6473,7 +6432,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-subnet6-add:
@@ -6481,15 +6440,15 @@ statuses are:
 subnet6-add reference
 =====================
 
-``subnet6-add`` - This command is used to create and add new subnet to
+``subnet6-add`` - creates and adds a new subnet to
 the existing server configuration. This operation has no impact on other
 subnets.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.3.0 (`subnet_cmds <#commands-subnet_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
 
-Description and examples: See `??? <#command-subnet6-add>`__
+Description and examples: see :ref:`command-subnet6-add`
 
 Command syntax:
 
@@ -6523,7 +6482,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -6532,7 +6491,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-subnet6-del:
@@ -6540,16 +6499,16 @@ statuses are:
 subnet6-del reference
 =====================
 
-``subnet6-del`` - This command is used to remove a subnet from the
+``subnet6-del`` - removes a subnet from the
 server's configuration. This command has no effect on other configured
-subnets but removing a subnet has certain implications which the
-server's administrator should be aware of.
+subnets, but administrators should exercise caution when
+using this command as removing a subnet may have unintended consequences.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.3.0 (`subnet_cmds <#commands-subnet_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
 
-Description and examples: See `??? <#command-subnet6-del>`__
+Description and examples: see :ref:`command-subnet6-del`
 
 Command syntax:
 
@@ -6577,7 +6536,7 @@ Response syntax:
        ]
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -6586,7 +6545,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-subnet6-get:
@@ -6594,16 +6553,16 @@ statuses are:
 subnet6-get reference
 =====================
 
-``subnet6-get`` - This command is used to retrieve detailed information
+``subnet6-get`` - retrieves detailed information
 about the specified subnet. This command usually follows the
-subnet6-list, which is used to discover available subnets with their
+``subnet6-list`` command, which is used to discover available subnets with their
 respective subnet identifiers and prefixes.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.3.0 (`subnet_cmds <#commands-subnet_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
 
-Description and examples: See `??? <#command-subnet6-get>`__
+Description and examples: see :ref:`command-subnet6-get`
 
 Command syntax:
 
@@ -6637,7 +6596,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -6646,7 +6605,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-subnet6-list:
@@ -6654,15 +6613,15 @@ statuses are:
 subnet6-list reference
 ======================
 
-``subnet6-list`` - This command is used to list all currently configured
+``subnet6-list`` - lists all currently configured
 subnets. The subnets are returned in a brief form, i.e. a subnet
-identifier and subnet prefix is included for each subnet.
+identifier and subnet prefix are included for each subnet.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.3.0 (`subnet_cmds <#commands-subnet_cmds-lib>`__ hook)
+Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
 
-Description and examples: See `??? <#command-subnet6-list>`__
+Description and examples: see :ref:`command-subnet6-list`
 
 Command syntax:
 
@@ -6700,15 +6659,15 @@ error description.
 subnet6-update reference
 ========================
 
-``subnet6-update`` - This command is used to update a subnet in the
+``subnet6-update`` - updates a subnet in the
 existing server configuration. This operation has no impact on other
 subnets.
 
 Supported by: ``kea-dhcp6``
 
-Availability: 1.6.0 (`subnet_cmds <#commands-subnet_cmds-lib>`__ hook)
+Availability: 1.6.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
 
-Description and examples: See `??? <#command-subnet6-update>`__
+Description and examples: see :ref:`command-subnet6-update`
 
 Command syntax:
 
@@ -6742,7 +6701,7 @@ Response syntax:
        }
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -6751,7 +6710,7 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
 
 .. _reference-version-get:
@@ -6759,16 +6718,16 @@ statuses are:
 version-get reference
 =====================
 
-``version-get`` - The version-get command returns extended information
-about Kea version. The returned string is the same as if Kea would be
-run with -V command line option.
+``version-get`` - returns extended information
+about the Kea version in operation. The returned string is the same as if Kea were
+run with the -V command-line option.
 
 Supported by: ``kea-dhcp4``, ``kea-dhcp6``, ``kea-dhcp-ddns``,
 ``kea-ctrl-agent``
 
 Availability: 1.2.0 (built-in)
 
-Description and examples: See `??? <#command-version-get>`__
+Description and examples: see :ref:`command-version-get`
 
 Command syntax:
 
@@ -6787,7 +6746,7 @@ Response syntax:
        "text": <string>
    }
 
-Result is an integer representation of the status. Currently supported
+The result is an integer representation of the status. Currently supported
 statuses are:
 
 -  0 - success
@@ -6796,5 +6755,5 @@ statuses are:
 
 -  2 - unsupported
 
--  3 - empty (command was completed successfully, but no data was
+-  3 - empty (command was completed successfully, but no data were
    affected or returned)
index 71f355e0293d8c2600a5be451921a4f9b7ed8779..ffa3fc1612a49b82199be5182808e89a6c1a2d6c 100644 (file)
@@ -129,20 +129,20 @@ value is obtained is unspecified.
 .. _classification-using-vendor:
 
 Built-in Client Classes
-======================
+=======================
 
 Some classes are built-in, so they do not need to be defined. The main
 example uses Vendor Class information: the server checks whether an
 incoming DHCPv4 packet includes the vendor class identifier option (60)
 or an incoming DHCPv6 packet includes the vendor class option (16). If
-it does, the content of that option is prepended with "VENDOR_CLASS_"
+it does, the content of that option is prepended with "VENDOR_CLASS\_"
 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 hooks library to
+The "HA\_" prefix is used by the High Availability hooks library to
 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
 server uses an appropriate pool or subnet to allocate IP addresses
 (and/or prefixes), based on the assigned client classes. The details can
@@ -154,7 +154,7 @@ particular client. By convention, built-in classes' names begin with all
 capital letters.
 
 Currently recognized built-in class names are ALL, KNOWN and UNKNOWN, and the
-prefixes VENDOR_CLASS_, HA_, AFTER_, and EXTERNAL_. Although the AFTER\_
+prefixes VENDOR_CLASS\_, HA\_, AFTER\_, and EXTERNAL\_. Although the AFTER\_
 prefix is a provision for an as-yet-unwritten hook, the EXTERNAL\_
 prefix can be freely used; built-in classes are implicitly defined so
 they never raise warnings if they do not appear in the configuration.
@@ -339,8 +339,8 @@ Notes:
 -  "member('foobar')" checks whether the packet belongs to the client
    class "foobar". To avoid dependency loops, the configuration file
    parser verifies whether client classes were already defined or are
-   built-in, i.e., beginning by "VENDOR_CLASS_", "AFTER__" (for the
-   to-come "after" hook) and "EXTERNAL_" or equal to "ALL", "KNOWN",
+   built-in, i.e., beginning by "VENDOR_CLASS\_", "AFTER\_" (for the
+   to-come "after" hook) and "EXTERNAL\_" or equal to "ALL", "KNOWN",
    "UNKNOWN", etc.
 
    "known" and "unknown" are shorthand for "member('KNOWN')" and "not
@@ -523,7 +523,7 @@ digits separated by the separator, e.g ':', '-', '' (empty separator).
    the expressions are overly complex, the time taken to execute them
    may impact the performance of the server. Administrators who need complex or
    time-consuming expressions should consider writing a
-   `hook <#hooks-libraries>`__ to perform the necessary work.
+   :ref:`hook <hooks-libraries>` to perform the necessary work.
 
 .. _classification-configuring:
 
@@ -816,7 +816,7 @@ expression would be complex or time-consuming to write, and could be
 better or more easily written as code. Once the hook has added the proper class name
 to the packet, the rest of the classification system will work as expected
 in choosing a subnet and selecting options. For a description of hooks,
-see :ref:`hooks-libraries>`__; for information on configuring classes,
+see :ref:`hooks-libraries`; for information on configuring classes,
 see :ref:`classification-configuring` and :ref:`classification-subnets`.
 
 Debugging Expressions
@@ -833,7 +833,7 @@ The specific loggers are "kea-dhcp4.eval" and "kea-dhcp6.eval".
 To understand the logging statements, it is essential to understand a bit
 about how expressions are evaluated; for a more complete description,
 refer to the design document at
-https://gitlab.isc.org/isc-projects/kea/wikis/design%20documents. In
+https://gitlab.isc.org/isc-projects/kea/wikis/designs/Design-documents. In
 brief, there are two structures used during the evaluation of an
 expression: a list of tokens which represent the expressions, and a value
 stack which represents the values being manipulated.
index f76b4776d92ed4640af405486714d103bb2dae6c..375d9d2a50d1e9edb82dd0d7b82ec66a2ca50ecc 100644 (file)
@@ -28,7 +28,7 @@ JSON Syntax
 -----------
 
 Configuration files for the DHCPv4, DHCPv6, DDNS, Control Agent, and
-Netconf modules are defined in an extended JSON format. Basic JSON is
+NETCONF modules are defined in an extended JSON format. Basic JSON is
 defined in `RFC 7159 <https://tools.ietf.org/html/rfc7159>`__ and `ECMA
 404 <https://www.ecma-international.org/publications/standards/Ecma-404.htm>`__.
 In particular, the only boolean values allowed are true or false (all
index 272e986b35aa50c0606a8222f56c18e21881ff62..722318194d556a37594755b981603ef2025d17da 100644 (file)
@@ -12,28 +12,28 @@ traffic is not handled. Another risk is that if the new configuration is
 invalid for any reason, the server may refuse to start, which will
 further extend the downtime period until the issue is resolved.
 
-To avoid such problems, the DHCPv4, DHCPv6 and D2 servers in Kea include
+To avoid such problems, the DHCPv4, DHCPv6, and D2 servers in Kea include
 support for a mechanism that allows online reconfiguration without
 requiring server shutdown. Both servers can be instructed to open
 control sockets, which is a communications channel. The server is able
 to receive commands on that channel, act on them, and report back
 status.
 
-The DHCPv4, DHCPv6 and D2 servers receive commands over the UNIX domain
-sockets. The details how to configure these sockets, see
-`??? <#dhcp4-ctrl-channel>`__ and `??? <#dhcp6-ctrl-channel>`__. While
-it is possible to control the servers directly using unix domain sockets
-it requires that the controlling client be running on the same machine
+The DHCPv4, DHCPv6, and D2 servers receive commands over the UNIX domain
+sockets. For details on how to configure these sockets, see
+:ref:`dhcp4-ctrl-channel` and :ref:`dhcp6-ctrl-channel`. While
+it is possible to control the servers directly using UNIX domain sockets,
+that requires that the controlling client be running on the same machine
 as the server. SSH is usually used to connect remotely to the controlled
 machine.
 
 Network administrators usually prefer using some form of a RESTful API
 to control the servers, rather than using UNIX domain sockets directly.
-Therefore, Kea includes a component called Control Agent (or CA), which
+Therefore, Kea includes a component called the Control Agent (or CA), which
 exposes a RESTful API to the controlling clients and can forward
 commands to the respective Kea services over the UNIX domain sockets.
-The CA configuration has been described in
-`??? <#agent-configuration>`__.
+The CA configuration is described in
+:ref:`agent-configuration`.
 
 The HTTP requests received by the CA contain the control commands
 encapsulated within HTTP requests. Simply speaking, the CA is
@@ -48,7 +48,7 @@ will assume that the control command is targeted at the CA itself and
 will try to handle it on its own.
 
 Control connections over both HTTP and UNIX domain sockets are guarded
-with timeouts. The default timeout value is set to 10s and is not
+with timeouts. The default timeout value is set to 10 seconds and is not
 configurable.
 
 .. _ctrl-channel-syntax:
@@ -92,8 +92,8 @@ following structure:
        }
 
 ``command`` is the name of the command to execute and is mandatory.
-``arguments`` is a map of parameters required to carry out the given
-command. The exact content and format of the map is command-specific.
+``arguments`` is a map of the parameters required to carry out the given
+command. The exact content and format of the map are command-specific.
 
 ``service`` is a list of the servers at which the control command is
 targeted. In the example above, the control command is targeted at the
@@ -118,7 +118,7 @@ If the command received by the CA does not include a ``service``
 parameter or this list is empty, the CA simply processes this message on
 its own. For example, a ``config-get`` command which includes no service
 parameter returns the Control Agent's own configuration. The
-``config-get`` with a service value "dhcp4" is forwarded to the DHCPv4
+``config-get`` command with a service value "dhcp4" is forwarded to the DHCPv4
 server and returns the DHCPv4 server's configuration.
 
 The following list shows the mapping of the values carried within the
@@ -167,7 +167,7 @@ that depends on the specific command.
 
    **Note**
 
-   When sending commands via Control Agent, it is possible to specify
+   When sending commands via the Control Agent, it is possible to specify
    multiple services at which the command is targeted. CA forwards this
    command to each service individually. Thus, the CA response to the
    controlling client contains an array of individual responses.
@@ -180,7 +180,7 @@ Using the Control Channel
 The easiest way to start interacting with the control API is to use
 common UNIX/Linux tools such as ``socat`` and ``curl``.
 
-In order to control the given Kea service via UNIX domain socket, use
+In order to control the given Kea service via UNIX domain socket, use
 ``socat`` in interactive mode as follows:
 
 ::
@@ -188,7 +188,7 @@ In order to control the given Kea service via UNIX domain socket, use
    $ socat UNIX:/path/to/the/kea/socket -
 
 or in batch mode, include the "ignoreeof" option as shown below to
-ensure socat waits long enough for the server to respond:
+ensure ``socat`` waits long enough for the server to respond:
 
 ::
 
@@ -202,10 +202,11 @@ the specific server directly and bypasses the Control Agent.
 
 It is also easy to open a UNIX socket programmatically. An example of a
 simple client written in C is available in the Kea Developer's Guide, in
-the Control Channel Overview chapter, in the Using Control Channel
+the Control Channel Overview chapter, in the
+`Using Control Channel <https://jenkins.isc.org/job/Kea_doc/doxygen/d2/d96/ctrlSocket.html#ctrlSocketClient>`__
 section.
 
-To use Kea's RESTful API with ``curl``, you may use the following:
+To use Kea's RESTful API with ``curl``, use the following:
 
 ::
 
@@ -221,10 +222,10 @@ Commands Supported by Both the DHCPv4 and DHCPv6 Servers
 
 .. _command-build-report:
 
-build-report
-------------
+The build-report Command
+------------------------
 
-The *build-report* command returns on the control channel what the
+The ``build-report`` command returns on the control channel what the
 command line ``-W`` argument displays, i.e. the embedded content of the
 ``config.report`` file. This command does not take any parameters.
 
@@ -236,14 +237,14 @@ command line ``-W`` argument displays, i.e. the embedded content of the
 
 .. _command-config-get:
 
-config-get
-----------
+The config-get Command
+----------------------
 
-The *config-get* command retrieves the current configuration used by the
+The ``config-get`` command retrieves the current configuration used by the
 server. This command does not take any parameters. The configuration
 returned is roughly equal to the configuration that was loaded using the
--c command line option during server start-up or later set using
-config-set command. However, there may be certain differences, as
+-c command line option during server start-up or later set using the
+``config-set`` command. However, there may be certain differences, as
 comments are not retained. If the original configuration used file
 inclusion, the returned configuration will include all parameters from
 all the included files.
@@ -263,23 +264,23 @@ An example command invocation looks like this:
 
 .. _command-config-reload:
 
-config-reload
--------------
+The config-reload Command
+-------------------------
 
-The *config-reload* command instructs Kea to load again the
+The ``config-reload`` command instructs Kea to load again the
 configuration file that was used previously. This operation is useful if
 the configuration file has been changed by some external source; for
 example, a sysadmin can tweak the configuration file and use this
 command to force Kea pick up the changes.
 
-Caution should be taken when mixing this with config-set commands. Kea
+Caution should be taken when mixing this with ``config-set`` commands. Kea
 remembers the location of the configuration file it was started with,
-and this configuration can be significantly changed using config-set
-command. When config-reload is issued after config-set, Kea will attempt
+and this configuration can be significantly changed using the ``config-set``
+command. When ``config-reload`` is issued after ``config-set``, Kea will attempt
 to reload its original configuration from the file, possibly losing all
-changes introduced using config-set or other commands.
+changes introduced using ``config-set`` or other commands.
 
-*config-reload* does not take any parameters. An example command
+``config-reload`` does not take any parameters. An example command
 invocation looks like this:
 
 ::
@@ -290,14 +291,14 @@ invocation looks like this:
 
 .. _command-config-test:
 
-config-test
------------
+The config-test Command
+-----------------------
 
-The *config-test* command instructs the server to check whether the new
+The ``config-test`` command instructs the server to check whether the new
 configuration supplied in the command's arguments can be loaded. The
 supplied configuration is expected to be the full configuration for the
 target server, along with an optional Logger configuration. As for the
-``-t`` command, some sanity checks are not performed so it is possible a
+``-t`` command, some sanity checks are not performed, so it is possible a
 configuration which successfully passes this command will still fail in
 the ``config-set`` command or at launch time. The structure of the
 command is as follows:
@@ -340,12 +341,12 @@ outcome:
 
 .. _command-config-write:
 
-config-write
-------------
+The config-write Command
+------------------------
 
-The *config-write* command instructs the Kea server to write its current
-configuration to a file on disk. It takes one optional argument called
-*filename* that specifies the name of the file to write the
+The ``config-write`` command instructs the Kea server to write its current
+configuration to a file on disk. It takes one optional argument, called
+"filename", that specifies the name of the file to write the
 configuration to. If not specified, the name used when starting Kea
 (passed as a -c argument) will be used. If a relative path is specified,
 Kea will write its files only in the directory it is running.
@@ -363,10 +364,10 @@ An example command invocation looks like this:
 
 .. _command-leases-reclaim:
 
-leases-reclaim
---------------
+The leases-reclaim Command
+--------------------------
 
-The *leases-reclaim* command instructs the server to reclaim all expired
+The ``leases-reclaim`` command instructs the server to reclaim all expired
 leases immediately. The command has the following JSON syntax:
 
 ::
@@ -378,23 +379,23 @@ leases immediately. The command has the following JSON syntax:
        }
    }
 
-The *remove* boolean parameter is mandatory and indicates whether the
+The ``remove`` boolean parameter is mandatory and indicates whether the
 reclaimed leases should be removed from the lease database (if true), or
-left in the *expired-reclaimed* state (if false). The latter facilitates
+left in the "expired-reclaimed" state (if false). The latter facilitates
 lease affinity, i.e. the ability to re-assign an expired lease to the
-same client which used this lease before. See `??? <#lease-affinity>`__
-for the details. Also, see `??? <#lease-reclamation>`__ for general
-information about the processing of expired leases (leases reclamation).
+same client that used this lease before. See :ref:`lease-affinity`
+for the details. Also, see :ref:`lease-reclamation` for general
+information about the processing of expired leases (lease reclamation).
 
 .. _command-libreload:
 
-libreload
----------
+The libreload Command
+---------------------
 
-The *libreload* command first unloads and then loads all currently
-loaded hook libraries. This is primarily intended to allow one or more
-hook libraries to be replaced with newer versions without requiring Kea
-servers to be reconfigured or restarted. Note that the hook libraries
+The ``libreload`` command first unloads and then loads all currently
+loaded hooks libraries. This is primarily intended to allow one or more
+hooks libraries to be replaced with newer versions without requiring Kea
+servers to be reconfigured or restarted. Note that the hooks libraries
 are passed the same parameter values (if any) that were passed when they
 originally loaded.
 
@@ -410,10 +411,10 @@ or 1, indicating failure.
 
 .. _command-list-commands:
 
-list-commands
--------------
+The list-commands Command
+-------------------------
 
-The *list-commands* command retrieves a list of all commands supported
+The ``list-commands`` command retrieves a list of all commands supported
 by the server. It does not take any arguments. An example command may
 look like this:
 
@@ -430,10 +431,10 @@ command.
 
 .. _command-config-set:
 
-config-set
-----------
+The config-set Command
+----------------------
 
-The *config-set* command instructs the server to replace its current
+The ``config-set`` command instructs the server to replace its current
 configuration with the new configuration supplied in the command's
 arguments. The supplied configuration is expected to be the full
 configuration for the target server, along with an optional Logger
@@ -483,10 +484,10 @@ string, "text", describing the outcome:
 
 .. _command-shutdown:
 
-shutdown
---------
+The shutdown Command
+--------------------
 
-The *shutdown* command instructs the server to initiate its shutdown
+The ``shutdown`` command instructs the server to initiate its shutdown
 procedure. It is the equivalent of sending a SIGTERM signal to the
 process. This command does not take any arguments. An example command
 may look like this:
@@ -502,18 +503,18 @@ been initiated.
 
 .. _command-dhcp-disable:
 
-dhcp-disable
-------------
+The dhcp-disable Command
+------------------------
 
-The *dhcp-disable* command globally disables the DHCP service. The
+The ``dhcp-disable`` command globally disables the DHCP service. The
 server continues to operate, but it drops all received DHCP messages.
 This command is useful when the server's maintenance requires that the
 server temporarily stop allocating new leases and renew existing leases.
 It is also useful in failover-like configurations during a
 synchronization of the lease databases at startup, or recovery after a
-failure. The optional parameter *max-period* specifies the time in
+failure. The optional parameter "max-period" specifies the time in
 seconds after which the DHCP service should be automatically re-enabled,
-if the *dhcp-enable* command is not sent before this time elapses.
+if the ``dhcp-enable`` command is not sent before this time elapses.
 
 ::
 
@@ -526,10 +527,10 @@ if the *dhcp-enable* command is not sent before this time elapses.
 
 .. _command-dhcp-enable:
 
-dhcp-enable
------------
+The dhcp-enable Command
+-----------------------
 
-The *dhcp-enable* command globally enables the DHCP service.
+The ``dhcp-enable`` command globally enables the DHCP service.
 
 ::
 
@@ -539,10 +540,10 @@ The *dhcp-enable* command globally enables the DHCP service.
 
 .. _command-version-get:
 
-version-get
------------
+The version-get Command
+-----------------------
 
-The *version-get* command returns extended information about the Kea
+The ``version-get`` command returns extended information about the Kea
 version. It is the same information available via the ``-V``
 command-line argument. This command does not take any parameters.
 
@@ -552,8 +553,8 @@ command-line argument. This command does not take any parameters.
        "command": "version-get"
    }
 
-Commands Supported by D2 Server
-===============================
+Commands Supported by the D2 Server
+===================================
 
 The D2 server supports only a subset of DHCPv4 / DHCPv6 server commands:
 
@@ -577,11 +578,10 @@ The D2 server supports only a subset of DHCPv4 / DHCPv6 server commands:
 
 .. _agent-commands:
 
-Commands Supported by Control Agent
-===================================
+Commands Supported by the Control Agent
+=======================================
 
-The following commands listed in `Commands Supported by Both the DHCPv4
-and DHCPv6 Servers <#commands-common>`__ are also supported by the
+The following commands listed in :ref:`commands-common` are also supported by the
 Control Agent, i.e. when the ``service`` parameter is blank, the
 commands are handled by the CA and they relate to the CA process itself:
 
index e7e1f0cd008b846e366d150c024ae2dea0e92822..e5cd4ea865a1850d3bd0e5a37a96d7cf1b6745fb 100644 (file)
@@ -717,8 +717,8 @@ For additional Cassandra-specific parameters, see
 
 .. _read-only-database-configuration4:
 
-Using Read-Only Databases for Host Reservations
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Using Read-Only Databases for Host Reservations with DHCPv4
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 In some deployments the database user whose name is specified in the
 database backend configuration may not have write privileges to the
@@ -2062,7 +2062,7 @@ The definition used to decode a VSI option is:
 
 2. If none, the global definition;
 
-3. If none, the last-resort definition described in the next section
+3. If none, the last-resort definition described in the next section,
    :ref:`dhcp4-vendor-opts` (backward-compatible with previous Kea versions).
 
 ..
index f04b89371fdc00d0e527ebb6777dcd2f61dc2533..da9c82ee31b62624f314ea8dc52cb1b5201e5b6c 100644 (file)
@@ -663,8 +663,8 @@ For additional Cassandra-specific parameters, see
 
 .. _read-only-database-configuration6:
 
-Using Read-Only Databases for Host Reservations
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Using Read-Only Databases for Host Reservations with DHCPv6
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 In some deployments the database user whose name is specified in the
 database backend configuration may not have write privileges to the
@@ -2378,7 +2378,7 @@ servers set to 2001:db8:0::1 and 2001:db8:2::1.
    }
 
 This example shows a configuration using an automatically generated
-"VENDOR_CLASS_" class. The administrator of the network has decided that
+"VENDOR_CLASS\_" class. The administrator of the network has decided that
 addresses in the range 2001:db8:1::1 to 2001:db8:1::ffff are to be
 managed by the DHCP6 server and that only clients belonging to the
 eRouter1.0 client class are allowed to use that pool.
index 67fb0c887e473feb8643ee509be1bb8c731c1adb..f4b2c10c2d27f5112de3aed9e3e5750425197c9e 100644 (file)
@@ -52,7 +52,7 @@ or in VirtualBox. To list of supported systems, use the
    freebsd:
      - 11.2: virtualbox
      - 12.0: virtualbox
-       
+
 
 It is also possible to run the build locally, in the current system (if the OS
 is supported).
@@ -108,7 +108,7 @@ using SSH, invoke:
    ./hammer.py ssh -p virtualbox -s freebsd -r 12.0
 
 It is possible to speed up subsequent Hammer builds. To achieve this
-Hammer employs :ref:`ccache <https://ccache.samba.org/>`. During
+Hammer employs `ccache <https://ccache.samba.org/>`__. During
 compilation, ccache stores objects in a shared folder. In subsequent runs,
 instead of doing an actual compilation, ccache returns the stored earlier
 objects. The cache with these objects for reuse needs to be stored outside of VM
@@ -119,7 +119,7 @@ operating system.
 ::
 
          ./hammer.py build -p lxc -s ubuntu -r 18.04 --ccache-dir ~/kea-ccache
-       
+
 
 ..
 
index 24372b9c6e8e12a57cd8a4ab76f15c397da80721..8b01901bf16b0c6eda22222ba7a10791b753de3c 100644 (file)
@@ -957,7 +957,7 @@ the Kea source at: ``src/lib/config/timeouts.h``.
 Pausing HA State Machine
 ------------------------
 
-The high-availability state machine includes many different states
+The high availability state machine includes many different states
 described in detail in :ref:`ha-server-states`. The server
 enters each state when certain conditions are met, most often taking
 into account the partner server's state. In some states the server
index 03d76f36843072fa8c275d1afdbfe3a0c80fc0d8..f6bb4337a240288539267bb63bab219852bc6b05 100644 (file)
@@ -4,8 +4,8 @@ host_cache: Caching Host Reservations
 =====================================
 
 Some database backends, such as RADIUS, are considered slow and may take
-a long time to respond. Since Kea in general is synchronous, the backend
-performance directly affects the DHCP performance. To minimize the
+a long time to respond. Since Kea in general is synchronous, backend
+performance directly affects DHCP performance. To minimize the
 impact and improve performance, the Host Cache library provides a way to
 cache information from the database locally. This includes negative
 caching, i.e. the ability to remember that there is no client
@@ -13,19 +13,19 @@ information in the database.
 
    **Note**
 
-   This library may only be loaded by the ``kea-dhcp4`` or the
+   This library may only be loaded by the ``kea-dhcp4`` or
    ``kea-dhcp6`` process.
 
-In principle, this hook library can be used with any backend that may
-introduce performance degradation (MySQL, PostgreSQL, Cassandra,
+In principle, this hooks library can be used with any backend that may
+introduce performance degradation (MySQL, PostgreSQL, Cassandra, or
 RADIUS). Host Cache must be loaded for the RADIUS accounting mechanism
 to work.
 
-The Host Cache hook library is currently very simple. It takes only one
-optional parameter ("maximum") that defines the maximum number of hosts
+The Host Cache hooks library is currently very simple. It takes only one
+optional parameter ("maximum"), which defines the maximum number of hosts
 to be cached. If not specified, the default value of 0 is used, which
-means there is no limit. The hook library can be loaded the same way as
-any other hook library; for example, this configuration could be used:
+means there is no limit. This hooks library can be loaded the same way as
+any other hooks library; for example, this configuration could be used:
 
 ::
 
@@ -46,15 +46,15 @@ any other hook library; for example, this configuration could be used:
 
 Once loaded, the Host Cache hook library provides a number of new
 commands which can be used either over the control channel (see
-`??? <#ctrl-channel-client>`__) or the REST API (see
-`??? <#agent-overview>`__). An example REST API client is described in
-`??? <#shell-overview>`__. The following sections describe the commands
+:ref:`ctrl-channel-client`) or the RESTful API (see
+:ref:`agent-overview`). An example RESTful API client is described in
+:ref:`shell-overview`. The following sections describe the commands
 available.
 
 .. _command-cache-flush:
 
-cache-flush Command
--------------------
+The cache-flush Command
+-----------------------
 
 This command allows removal of a specified number of cached host
 entries. It takes one parameter, which defines the number of hosts to be
@@ -67,14 +67,14 @@ removed. An example usage looks as follows:
        "arguments": 1000
    }
 
-This command will remove 1000 hosts. If you want to delete all cached
+This command will remove 1000 hosts. To delete all cached
 hosts, please use cache-clear instead. The hosts are stored in FIFO
 order, so the oldest entries are always removed.
 
 .. _command-cache-clear:
 
-cache-clear Command
--------------------
+The cache-clear Command
+-----------------------
 
 This command allows removal of all cached host entries. An example usage
 looks as follows:
@@ -85,13 +85,13 @@ looks as follows:
        "command": "cache-clear"
    }
 
-This command will remove all hosts. If you want to delete only a certain
+This command will remove all hosts. To delete only a certain
 number of cached hosts, please use cache-flush instead.
 
 .. _command-cache-size:
 
-cache-size Command
-------------------
+The cache-size Command
+----------------------
 
 This command returns the number of host entries. An example usage looks
 as follows:
@@ -104,8 +104,8 @@ as follows:
 
 .. _command-cache-write:
 
-cache-write Command
--------------------
+The cache-write Command
+-----------------------
 
 In general, the cache content is considered a runtime state and the
 server can be shut down or restarted as usual; the cache will then be
@@ -114,8 +114,8 @@ useful to store the contents of the cache. One such case is RADIUS,
 where the cached hosts also retain additional cached RADIUS attributes;
 there is no easy way to obtain this information again, because renewing
 clients send their packet to the DHCP server directly. Another use case
-is when you want to restart the server and for performance reasons you
-want it to start with a hot (populated) cache.
+is when an administrator wants to restart the server and, for performance reasons,
+wants it to start with a hot (populated) cache.
 
 This command allows writing the contents of the in-memory cache to a
 file on disk. It takes one parameter, which defines the filename. An
@@ -134,8 +134,8 @@ processed by any other tool that is able to understand JSON format.
 
 .. _command-cache-load:
 
-cache-load Command
-------------------
+The cache-load Command
+----------------------
 
 See the previous section for a discussion of use cases where it may be
 useful to write and load contents of the host cache to disk.
@@ -157,8 +157,8 @@ processed by any other tool that is able to understand JSON format.
 
 .. _command-cache-get:
 
-cache-get Command
------------------
+The cache-get Command
+---------------------
 
 This command is similar to cache-write, but instead of writing the cache
 contents to disk, it returns the contents to whoever sent the command.
@@ -178,8 +178,8 @@ may be large.
 
 .. _command-cache-get-by-id:
 
-cache-get-by-id Command
------------------------
+The cache-get-by-id Command
+---------------------------
 
 This command is similar to cache-get, but instead of returning the whole
 content it returns only the entries matching the given identifier.
@@ -201,14 +201,14 @@ address.
 
 .. _command-cache-insert:
 
-cache-insert Command
---------------------
+The cache-insert Command
+------------------------
 
 This command may be used to manually insert a host into the cache; there
-are very few use cases when this command could be useful. This command
+are very few use cases when this command might be useful. This command
 expects its arguments to follow the usual syntax for specifying host
-reservations (see `??? <#host-reservation-v4>`__ or
-`??? <#host-reservation-v6>`__), with one difference: the subnet-id
+reservations (see :ref:`host-reservation-v4` or
+:ref:`host-reservation-v6`), with one difference: the subnet-id
 value must be specified explicitly.
 
 An example command that will insert an IPv4 host into the host cache
@@ -262,15 +262,15 @@ looks as follows:
 
 .. _command-cache-remove:
 
-cache-remove Command
---------------------
+The cache-remove Command
+------------------------
 
 Sometimes it is useful to remove a single entry from the host cache. A
 good use case is a situation where the device is up, Kea has already
 provided configuration, and the host entry is in cache. As a result of
-administrative action (e.g. customer hasn't paid their bills or has
+administrative action (e.g. the customer hasn't paid their bills or has
 perhaps been upgraded to better service), the information in the backend
-(e.g. MySQL or RADIUS) is being updated. However, since cache is in use,
+(e.g. MySQL or RADIUS) is being updated. However, since the cache is in use,
 Kea does not notice the change as the cached values are used. The
 cache-remove command can solve this problem by removing a cached entry
 after administrative changes.
index 3a90056166144fbeeca56beb95f925a221e55bf9..a26fd2635a3d3fdfcb9e0427f78cb817c9adccf4 100644 (file)
@@ -20,7 +20,7 @@ intends to fulfill.
    This library may only be loaded by the ``kea-dhcp4`` or the
    ``kea-dhcp6`` process.
 
-The major feature of the hook library is the ability to use RADIUS
+The major feature of this hooks library is the ability to use RADIUS
 authorization. When a DHCP packet is received, the Kea server sends an
 Access-Request to the RADIUS server and waits for a response. The server
 then sends back either an Access-Accept with specific client attributes,
@@ -32,10 +32,10 @@ effectively means RADIUS can act as an address-reservation database.
 
 The second case supported is the ability to assign clients to specific
 pools based on a RADIUS response. In this case, the RADIUS server sends
-back an Access-Accept with Framed-Pool (IPv4) or Framed-IPv6-Pool
+back an Access-Accept with Framed-Pool (IPv4) or Framed-IPv6-Pool
 (IPv6). In both cases, Kea interprets those attributes as client
 classes. With the addition of the ability to limit access to pools to
-specific classes (see `??? <#classification-pools>`__), RADIUS can be
+specific classes (see :ref:`classification-pools`), RADIUS can be
 used to force the client to be assigned a dynamic address from a
 specific pool. Furthermore, the same mechanism can be used to control
 what kind of options the client will get if there are DHCP options
@@ -51,7 +51,7 @@ on CentOS 7.0. Other systems may differ slightly.
 
 STEP 1: Install dependencies
 
-Several tools are needed to build dependencies and Kea itself. The
+Several tools are needed to build the dependencies and Kea itself. The
 following commands should install them:
 
 ::
@@ -59,11 +59,11 @@ following commands should install them:
    $ sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    $ sudo yum install gcc-g++ openssl-devel log4cplus-devel wget git
 
-STEP 2: FreeRADIUS installation
+STEP 2: Install FreeRADIUS
 
-The Kea RADIUS hook library uses the FreeRADIUS client library to
+The Kea RADIUS hooks library uses the FreeRADIUS client library to
 conduct RADIUS communication. Unfortunately, the standard 1.1.7 release
-available from the project website http://freeradius.org/sub_projects/
+available from the project website https://freeradius.org/sub_projects/
 has several serious deficiencies; ISC engineers observed a segmentation
 fault during testing. Also, the base version of the library does not
 offer asynchronous transmissions, which are essential for effective
@@ -83,11 +83,11 @@ version, please use the following steps:
    $ make
    $ sudo make install
 
-You may pass additional parameters to the configure script, if you need
-to. Once installed, the FreeRADIUS client will be installed in
+Additional parameters may be passed to the configure script, if needed.
+Once installed, the FreeRADIUS client will be installed in
 /usr/local. This is the default path where Kea will be looking for it.
-You may install it in a different directory; if you choose to do so,
-make sure you add that path to the configure script when compiling Kea.
+It can be installed in a different directory; if so,
+make sure to add that path to the configure script when compiling Kea.
 
 STEP 3: Install recent BOOST version
 
@@ -159,10 +159,10 @@ Once this is done, verify that the Kea sources look similar to this:
    drwxr-xr-x  10 thomson  staff     340 Apr 26 19:04 src
    drwxr-xr-x  14 thomson  staff     476 Apr 26 19:04 tools
 
-The makefiles must be regenerated using autoreconf.
+The makefiles must be regenerated using ``autoreconf``.
 
 The next step is to configure Kea, and there are several essential steps
-necessary here. Running autoreconf -if is necessary to compile the
+necessary here. Running ``autoreconf -if`` is necessary to compile the
 premium package that contains RADIUS. Also, the --with-freeradius option
 is necessary to tell Kea where the FreeRADIUS client sources can be
 found. Also, since the non-standard Boost is used, the path to it must
@@ -268,7 +268,7 @@ the following:
      Kea-shell:              no
      Perfdhcp:               no
 
-Please make sure that your compilation has the following:
+Please make sure that the compilation includes the following:
 
 -  RADIUS listed in Included Hooks;
 -  FreeRADIUS client directories printed and pointing to the right
@@ -276,9 +276,9 @@ Please make sure that your compilation has the following:
 -  Boost version at least 1.65.1. The versions available in CentOS 7
    (1.48 and and 1.53) are too old.
 
-Once your configuration is complete, compile Kea using make. If your
-system has more than one core, it is recommended that you use the "-j N"
-option to speed up the build.
+Once the configuration is complete, compile Kea using make. If the
+system has more than one core, using the "-j N"
+option is recommended to speed up the build.
 
 ::
 
@@ -291,7 +291,7 @@ RADIUS Hook Configuration
 -------------------------
 
 The RADIUS hook is a library that has to be loaded by either DHCPv4 or
-DHCPv6 Kea servers. Unlike some other available hook libraries, this one
+DHCPv6 Kea servers. Unlike some other available hooks libraries, this one
 takes many parameters. For example, this configuration could be used:
 
 ::
@@ -320,28 +320,28 @@ takes many parameters. For example, this configuration could be used:
          }
      } ]
 
-RADIUS is a complicated environment. As such, it's not really possible
-to provide a default configuration that would work out of the box.
+RADIUS is a complicated environment. As such, it is not feasible
+to provide a default configuration that works for everyone.
 However, we do have one example that showcases some of the more common
-features. Please see doc/examples/kea4/hooks-radius.json in your Kea
+features. Please see doc/examples/kea4/hooks-radius.json in the Kea
 sources.
 
 The RADIUS hook library supports the following global configuration
 flags, which correspond to FreeRADIUS client library options:
 
--  ``bindaddr`` (default "*") specifies the address to be used by the
-   hook library in communication with RADIUS servers. The "*" special
+-  ``bindaddr`` (default "*") specifies the address to be used by the
+   hooks library in communication with RADIUS servers. The "*" special
    value tells the kernel to choose the address.
 
--  ``canonical-mac-address`` (default false) specifies whether MAC
+-  ``canonical-mac-address`` (default false) specifies whether MAC
    addresses in attributes follow the canonical RADIUS format (lowercase
    pairs of hexadecimal digits separated by '-').
 
--  ``client-id-pop0`` (default false), used with flex-id, removes the
+-  ``client-id-pop0`` (default false) - used with flex-id, removes the
    leading zero (or pair of zeroes in DHCPv6) type in client-id (aka
    duid in DHCPv6). Implied by client-id-printable.
 
--  ``client-id-printable`` (default false) checks whether the
+-  ``client-id-printable`` (default false) checks whether the
    client-id/duid content is printable and uses it as is instead of in
    hexadecimal. Implies client-id-pop0 and extract-duid as 0 and 255 are
    not printable.
@@ -353,42 +353,42 @@ flags, which correspond to FreeRADIUS client library options:
    use locks or atomics, it is recommended that you do not use this
    feature when running in this mode.
 
--  ``dictionary`` (default set by configure at build time) is the
+-  ``dictionary`` (default set by configure at build time) is the
    attribute and value dictionary. Note that it is a critical parameter.
 
--  ``extract-duid`` (default true) extracts the embedded duid from an
+-  ``extract-duid`` (default true) extracts the embedded duid from an
    RFC 4361-compliant DHCPv4 client-id. Implied by client-id-printable.
 
--  ``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
    host identifier, and when the flex-id hook library is used the
    replace-client-id must be set to true; client-id will be used with
    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
    identifier, and when the flex-id hook library is used the
    replace-client-id must be set to true; duid will be used with
    client-id-pop0.
 
--  ``realm`` (default "") is the default realm.
+-  ``realm`` (default "") is the default realm.
 
--  ``reselect-subnet-address`` (default false) uses the Kea reserved
+-  ``reselect-subnet-address`` (default false) uses the Kea reserved
    address/RADIUS Framed-IP-Address or Framed-IPv6-Address to reselect
    subnets where the address is not in the subnet range.
 
--  ``reselect-subnet-pool`` (default false) uses the Kea
+-  ``reselect-subnet-pool`` (default false) uses the Kea
    client-class/RADIUS Frame-Pool to reselect subnets where no available
    pool can be found.
 
--  ``retries`` (default 3) is the number of retries before trying the
+-  ``retries`` (default 3) is the number of retries before trying the
    next server. Note that it is not supported for asynchronous
    communication.
 
--  ``session-history`` (default "") is the name of the file providing
+-  ``session-history`` (default "") is the name of the file providing
    persistent storage for accounting session history.
 
--  ``timeout`` (default 10) is the number of seconds during which a
+-  ``timeout`` (default 10) is the number of seconds during which a
    response is awaited.
 
 When ``reselect-subnet-pool`` or ``reselect-subnet-address`` is set to
@@ -398,54 +398,54 @@ does not match, another subnet is selected among matching subnets.
 
 Two services are supported:
 
--  ``access`` - the authentication service
+-  ``access`` - the authentication service.
 
--  ``accounting`` - the accounting service
+-  ``accounting`` - the accounting service.
 
 Configuration of services is divided into two parts:
 
--  servers that define RADIUS servers the library is expected to
+-  Servers that define RADIUS servers that the library is expected to
    contact. Each server may have the following items specified:
 
-   -  ``name``, which specifies the IP address of the server (it is
+   -  ``name`` - specifies the IP address of the server (it is
       possible to use a name which will be resolved, but it is not
       recommended).
 
-   -  ``port`` (default RADIUS authentication or accounting service),
-      which specifies the UDP port of the server. Note that the
+   -  ``port`` (default RADIUS authentication or accounting service) -
+      specifies the UDP port of the server. Note that the
       FreeRADIUS client library by default uses ports 1812
       (authorization) and 1813 (accounting). Some server implementations
-      use 1645 (authorization) and 1646 (accounting). You may use the
-      "port" parameter to adjust as needed.
+      use 1645 (authorization) and 1646 (accounting). The
+      "port" parameter may be used to adjust as needed.
 
-   -  ``secret``, which authenticates messages.
+   -  ``secret`` - authenticates messages.
 
    There may be up to eight servers. Note that when no server is
    specified, the service is disabled.
 
--  attributes which define additional information that the Kea server
+-  Attributes which define additional information that the Kea server
    will send to a RADIUS server. The parameter must be identified either
    by a name or type. Its value can be specified in one of three
    possible ways: data (which defines a plain text value), raw (which
    defines the value in hex), or expr (which defines an expression,
    which will be evaluated for each incoming packet independently).
 
-   -  ``name`` of the attribute.
+   -  ``name`` - the name of the attribute.
 
-   -  ``type`` of the attribute. Either the type or the name must be
+   -  ``type`` - the type of the attribute. Either the type or the name must be
       provided, and the attribute must be defined in the dictionary.
 
-   -  ``data`` is the first of three ways to specify the attribute
+   -  ``data`` - the first of three ways to specify the attribute
       content. The data entry is parsed by the FreeRADIUS library, so
       values defined in the dictionary of the attribute may be used.
 
-   -  ``raw`` is the second of three ways to specify the attribute
+   -  ``raw`` - the second of three ways to specify the attribute
       content; it specifies the content in hexadecimal. Note that it
       does not work with integer-content attributes (date, integer, and
       IPv4 address); a string-content attribute (string, IPv6 address,
       and IPv6 prefix) is required.
 
-   -  ``expr`` is the last way to specify the attribute content. It
+   -  ``expr`` - the last way to specify the attribute content. It
       specifies an evaluation expression which must return a not-empty
       string when evaluated with the DHCP query packet. Currently this
       is restricted to the access service.
@@ -485,7 +485,7 @@ following snippet could be used:
                "data": "mysecretpassword"
            },
            {
-               // It's also possible to specify an attribute using its type,
+               // It is also possible to specify an attribute using its type,
                // rather than a name. 77 is Connect-Info. The value is specified
                // using hex. Again, this is a static value. It will be sent the
                // same for every packet and to every server.
@@ -519,8 +519,8 @@ following snippet could be used:
 
    }
 
-For the RADIUS hook library to operate properly in DHCPv4, it is
-necessary to also load the Host Cache hook library. The reason for this
+For the RADIUS hooks library to operate properly in DHCPv4,
+the Host Cache hooks library must also be loaded. The reason for this
 is somewhat complex. In a typical deployment, the DHCP clients send
 their packets via DHCP relay which inserts certain Relay Agent
 Information options, such as circuit-id or remote-id. The values of
@@ -528,16 +528,16 @@ those options are then used by the Kea DHCP server to formulate the
 necessary attributes in the Access-Request message sent to the RADIUS
 server. However, once the DHCP client gets its address, it then renews
 by sending packets directly to the DHCP server. As a result, the relays
-are not able to insert their RAI options and the DHCP server can't send
+are not able to insert their RAI options, and the DHCP server cannot send
 the Access-Request queries to the RADIUS server by using just the
 information from incoming packets. Kea needs to keep the information
 received during the initial Discover/Offer exchanges and use it again
 later when sending accounting messages.
 
 This mechanism is implemented based on user context in host
-reservations. (See `??? <#user-context>`__ for details about user
+reservations. (See :ref:`user-context` for details about user
 context). The host cache mechanism allows the information retrieved by
 RADIUS to be stored and later used for sending accounting and access
 queries to the RADIUS server. In other words, the host-cache mechanism
-is mandatory, unless you do not want RADIUS communication for messages
+is mandatory, unless administrators do not want RADIUS communication for messages
 other than Discover and the first Request from each client.
index 8f1e0b474e69b321ec05b75c05799f79c3b6d535..b8d76db4011c8e130c87c8e40aa463438ae62de5 100644 (file)
@@ -19,68 +19,68 @@ for retrieving these statistics.
 
    **Note**
 
-   This library may only be loaded by the ``kea-dhcp4`` or the
+   This library may only be loaded by the ``kea-dhcp4`` or
    ``kea-dhcp6`` process.
 
 The commands currently provided by this library are:
 
--  ``stat-lease4-get`` - fetches DHCPv4 lease statistics
+-  ``stat-lease4-get`` - fetches DHCPv4 lease statistics.
 
--  ``stat-lease6-get`` - fetches DHCPv6 lease statistics
+-  ``stat-lease6-get`` - fetches DHCPv6 lease statistics.
 
-The Stat commands library is part of the open source code and is
+The stat commands library is part of the open source code and is
 available to every Kea user.
 
 All commands use JSON syntax and can be issued directly to the servers
-via either the control channel (see `??? <#ctrl-channel>`__) or the
-Control Agent (see `??? <#kea-ctrl-agent>`__).
+via either the control channel (see :ref:`ctrl-channel`) or the
+Control Agent (see :ref:`kea-ctrl-agent`).
 
-This library may be loaded by both kea-dhcp4 and kea-dhcp6 servers. It
+This library may be loaded by both the kea-dhcp4 and kea-dhcp6 servers. It
 is loaded in the same way as other libraries and currently has no
 parameters:
 
 ::
 
-   "Dhcp6": { 
+   "Dhcp6": {
        "hooks-libraries": [
            {
                "library": "/path/libdhcp_stat_cmds.so"
            }
            ...
-       ] 
+       ]
    }
 
 In a deployment with multiple Kea DHCP servers sharing a common lease
-storage, it may be loaded by any or all of the servers. However, one
+storage, this hooks library may be loaded by any or all of the servers. However, one
 thing to keep in mind is that a server's response to a
-stat-lease{4/6}-get command will only contain data for subnets known to
+stat-lease[46]-get command will only contain data for subnets known to
 that server. In other words, if a subnet does not appear in a server's
 configuration, Kea will not retrieve statistics for it.
 
 .. _command-stat-lease4-get:
 
-stat-lease4-get, stat-lease6-get Commands
------------------------------------------
+The stat-lease4-get, stat-lease6-get Commands
+---------------------------------------------
 
 The ``stat-lease4-get`` and ``stat-lease6-get`` commands fetch lease
 statistics for a range of known subnets. The range of subnets is
 determined through the use of optional command input parameters:
 
--  ``subnet-id`` - The ID of the subnet for which lease statistics
+-  ``subnet-id`` - the ID of the subnet for which lease statistics
    should be fetched. Use this to get statistics for a single subnet. If
    the subnet does not exist, the command result code is 3 (i.e.
    CONTROL_RESULT_EMPTY).
 
--  ``subnet-range`` - A pair of subnet IDs which describe an inclusive
+-  ``subnet-range`` - a pair of subnet IDs which describe an inclusive
    range of subnets for which statistics should be retrieved. The range
-   may include one or more IDs that correspond to no subnet: in this
+   may include one or more IDs that correspond to no subnet; in this
    case, the command will only output lease statistics for those that
    exist. However, if the range does not include any known subnets, the
    command result code is 3 (i.e. CONTROL_RESULT_EMPTY).
 
-   -  ``first-subnet-id`` - The ID of the first subnet in the range.
+   -  ``first-subnet-id`` - the ID of the first subnet in the range.
 
-   -  ``last-subnet-id`` - The ID of the last subnet in the range.
+   -  ``last-subnet-id`` - the ID of the last subnet in the range.
 
 The use of subnet-id and subnet-range are mutually exclusive. If no
 parameters are given, the result will contain data for all known
@@ -130,10 +130,10 @@ The response to either command will contain three elements:
 
    -  ``0`` - the command was successful;
 
-   -  ``1`` - an error occurred, an explanation will be the "text"
-      element;
+   -  ``1`` - an error occurred, and an explanation will be the "text"
+      element; or
 
-   -  ``2`` - the fetch found no matching data
+   -  ``2`` - the fetch found no matching data.
 
 -  ``text`` - an explanation of the command outcome. When the command
    succeeds it will contain the command name along with the number of
@@ -143,48 +143,48 @@ The response to either command will contain three elements:
    the element "result-set", which is patterned after SQL statement
    responses:
 
-   -  ``columns`` - a list of text column labels The columns returned
+   -  ``columns`` - a list of text column labels. The columns returned
       for DHCPv4 are:
 
-      -  ``subnet-id`` - ID of the subnet.
+      -  ``subnet-id`` - the ID of the subnet.
 
-      -  ``total-addresses`` - total number of addresses available for
+      -  ``total-addresses`` - the total number of addresses available for
          DHCPv4 management in the subnet. In other words, this is the
          sum of all addresses in all the configured pools in the subnet.
 
-      -  ``assigned-addresses`` - number of addresses in the subnet that
+      -  ``assigned-addresses`` - the number of addresses in the subnet that
          are currently assigned to a client.
 
-      -  ``declined-addresses`` - number of addresses in the subnet that
+      -  ``declined-addresses`` - the number of addresses in the subnet that
          are currently declined and are thus unavailable for assignment.
 
    -  The columns returned for DHCPv6 are:
 
-      -  ``subnet-id`` - ID of the subnet.
+      -  ``subnet-id`` - the ID of the subnet.
 
-      -  ``total-nas`` - number of NA addresses available for DHCPv6
+      -  ``total-nas`` - the number of NA addresses available for DHCPv6
          management in the subnet. In other words, this is the sum of
-         all the NA addresses in the all configured NA pools in the
+         all the NA addresses in all the configured NA pools in the
          subnet.
 
-      -  ``assigned-nas`` - number of NA addresses in a the subnet that
+      -  ``assigned-nas`` - the number of NA addresses in the subnet that
          are currently assigned to a client.
 
-      -  ``declined-nas`` - number of NA addresses that are currently
+      -  ``declined-nas`` - the number of NA addresses that are currently
          declined and are thus unavailable for assignment.
 
-      -  ``total-pds`` - total number of prefixes available of DHCPv6
+      -  ``total-pds`` - the total number of prefixes available of DHCPv6
          management in the subnet. In other words, this is the sum of
          all prefixes in all the configured prefix pools in the subnet.
 
-      -  ``assigned-pds`` - number of prefixes in the subnet that are
+      -  ``assigned-pds`` - the number of prefixes in the subnet that are
          currently assigned to a client.
 
    -  ``rows`` - a list of rows, one per subnet ID. Each row contains a
       data value corresponding to and in the same order as each column
       listed in "columns" for a given subnet.
 
-   -  ``timestamp`` - textual date and time the data was fetched,
+   -  ``timestamp`` - the textual date and time the data were fetched,
       expressed as GMT.
 
 The response to a DHCPv4 command might look as follows:
index 0beb3bc8a7f26626d9a748c2c46922d854f6bce4..51b7f18dd57a23e7350950f17c255a9602fa54b2 100644 (file)
@@ -61,7 +61,7 @@ refer to :ref:`installation` for a general overview of the installation process.
 
 ISC provides several additional premium hooks in the form of packages, which
 follow a similar installation procedure but with several additional steps.
-For your convenience, the premium hooks installation procedure is described in this section.
+For our users' convenience, the premium hooks installation procedure is described in this section.
 
 1. Download the package; detailed instructions are provided separately on how
 to get it. The package will be a file with a name similar to
@@ -80,7 +80,7 @@ Unpack this tarball:
    $ tar zxvf kea-KEAVERSION.tar.gz
 
 This will unpack the tarball into the kea-KEAVERSION subdirectory of
-your current working directory.
+the current working directory.
 
 3. Unpack the Kea premium tarball into the directory into which Kea was
 unpacked. Once Kea KEAVERSION has been unpacked into a kea-KEAVERSION
@@ -97,9 +97,9 @@ directory named "premium". Regardless of the name of the package, the
 directory will always be called "premium", although its contents will vary
 depending on the premium package.
 
-4. Run autoreconf tools. This step is necessary to update Kea's build
+4. Run ``autoreconf`` tools. This step is necessary to update Kea's build
 script to include the additional directory. If this tool is not already
-available on the system, install the automake and autoconf
+available on the system, install the ``automake`` and ``autoconf``
 tools. To generate the configure script, please use:
 
 ::
@@ -920,17 +920,15 @@ can be achieved by using the following configuration:
        ]
    }
 
-  **Note**
+Note that care should be taken when adjusting the expression. If the expression
+changes, then all the ``flex-id`` values may change, possibly rendering
+all reservations based on ``flex-id`` unusable until they are manually updated.
+It is strongly recommended that administrators start with the expression and a
+handful of reservations, and then adjust the expression as needed. Once
+the expression is confirmed to do what is desired of it, host reservations
+can be deployed on a broader scale.
 
-  Care should be taken when adjusting the expression. If the expression
-  changes, then all the ``flex-id`` values may change, possibly rendering
-  all reservations based on ``flex-id`` unusable until they are manually updated.
-  It is strongly recommended that administrators start with the expression and a
-  handful of reservations, and then adjust the expression as needed. Once
-  the expression is confirmed to do what is desired of it, host reservations
-  can be deployed on a broader scale.
-
-flex-id values in host reservations can be specified in two ways. First,
+``flex-id`` values in host reservations can be specified in two ways. First,
 they can be expressed as a hex string, e.g. bar string can be represented
 as 626174. Alternatively, it can be expressed as a quoted value (using
 double and single quotes), e.g. "'bar'". The former is more convenient
@@ -1235,8 +1233,8 @@ Example failure:
 As ``reservation-add`` is expected to store the host, the hosts-databases
 parameter must be specified in the configuration and databases must not
 run in read-only mode. In future versions of Kea, it will be possible to
-modify the reservations read from a configuration file. Please contact
-ISC if you are interested in this functionality.
+modify the reservations read from a configuration file. Interested parties are
+encouraged to contact ISC for more information on developing this functionality.
 
 .. _command-reservation-get:
 
@@ -1388,12 +1386,12 @@ may be disruptive. Use with caution. For larger deployments, please
 consider using ``reservation-get-page`` instead (see
 :ref:`command-reservation-get-page`).
 
-For a reference, see :ref:`ref-reservation-get-all`.
+For a reference, see :ref:`command-reservation-get-all`.
 
 .. _command-reservation-get-page:
 
-reservation-get-page command
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The reservation-get-page command
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 ``reservation-get-page`` can be used to query the host database and
 retrieve all reservations in a specified subnet by pages. This command
@@ -1517,8 +1515,6 @@ users retrieve larger host reservations lists in smaller chunks. For
 small deployments with few reservations, it is easier to use
 ``reservation-get-all`` (see :ref:`command-reservation-get-all`.
 
-For a reference, see :ref:`ref-reservation-get-page`.
-
    **Note**
 
    Currently ``reservation-get-page`` is not supported by the Cassandra
@@ -2519,35 +2515,35 @@ both the command and the response.
 
 .. _user-context:
 
-User contexts
+User Contexts
 =============
 
-Hook libraries can have their own configuration parameters. That is
+Hooks libraries can have their own configuration parameters, which is
 convenient if the parameter applies to the whole library. However,
-sometimes it is very useful if certain configuration entities are
-extended with additional configuration data. This is where the concept
-of user contexts comes in. A sysadmin can define an arbitrary set of
-data and attach it to Kea structures, as long as the data is specified
-as JSON map. In particular, it is possible to define fields that are
-integers, strings, boolean, lists and maps. It is possible to define
+sometimes it is very useful to extend certain configuration entities
+with additional configuration data. This is where the concept
+of user contexts comes in. A system administrator can define an arbitrary set of
+data and attach it to Kea structures, as long as the data are specified
+as JSON map. In particular, it is possible to define fields that are
+integers, strings, boolean, lists, or maps. It is possible to define
 nested structures of arbitrary complexity. Kea does not use that data on
-its own, simply stores and makes it available for the hook libraries.
+its own; it simply stores it and makes it available for the hooks libraries.
 
 Another use case for user contexts may be storing comments and other
 information that will be retained by Kea. Regular comments are discarded
-when configuration is loaded, but user contexts are retained. This is
-useful if you want your comments to survive config-set, config-get
-operations for example.
+when the configuration is loaded, but user contexts are retained. This is
+useful if administrators want their comments to survive config-set or config-get
+operations, for example.
 
 If user context is supported in a given context, the parser translates
 "comment" entries into user context with a "comment" entry. The pretty
 print of a configuration does the opposite operation and puts "comment"
-entries at the beginning of maps as it seems to be the common usage.
+entries at the beginning of maps, as that seems to be the common usage.
 
 As of Kea 1.3, the structures that allow user contexts are pools of all
 types (addresses and prefixes) and subnets. Kea 1.4 extended user
 context support to the global scope, interfaces config, shared networks,
 subnets, client classes, option datas and definitions, host
 reservations, control socket, dhcp ddns, loggers and server id. These
-are supported in both DHCPv4 and DHCPv6 at the exception of server id
+are supported in both DHCPv4 and DHCPv6, with the exception of server id
 which is DHCPv6 only.
index 35aaa5d557d66000e678dfa96becc16abb143fdb..54af333c15d2f8b574d0f50c9cbb0964cc1d60af 100644 (file)
@@ -74,7 +74,7 @@ software separately. (For the build requirements, also see :ref:`build-requireme
    kea-netconf agent. This Kea module is built optionally and requires
    Sysrepo software when used. Building Kea with NETCONF support
    requires many dependencies to be installed, which are described in
-   more detail in :ref: `netconf-install`.
+   more detail in :ref:`netconf-install`.
 
 .. _kea_software:
 
@@ -110,7 +110,7 @@ The following software is included with Kea:
 -  ``kea-ctrl-agent`` — Kea Control Agent (CA) is a daemon that exposes
    a RESTful control interface for managing Kea servers.
 
--  ``kea-netconf`` - Kea-netconf is an agent that provides a
+-  ``kea-netconf`` - kea-netconf is an agent that provides a
    YANG/NETCONF interface for the Kea environment.
 
 -  ``kea-shell`` — This simple text client uses the REST interface to
index 49a0e494918912775a97abb7c4e86e5af8a1a9ec..2794950e9400f1f1af08d2a699d39ef2b9cdb9fb 100644 (file)
@@ -248,8 +248,8 @@ take effect. This limitation will be removed in a future release.
    NETCONF is an optional feature that is disabled by default and can be
    enabled during compilation. If Kea was compiled without NETCONF
    support, keactrl will do its best to not bother the user with
-   information about it. The netconf entries will still be present in
-   the keactrl.conf file, but netconf status will not be shown and other
+   information about it. The NETCONF entries will still be present in
+   the keactrl.conf file, but NETCONF status will not be shown and other
    commands will ignore it.
 
    **Note**
index ae22a2385d3f34c0201ce22be556a698572015b8..09b0e261293d9990303ea1b200b0f0be2c8f1f61 100644 (file)
@@ -39,6 +39,8 @@ Although all configuration examples in this section are provided for the
 DHCPv4 server, the same parameters may be used for DHCPv6 server
 configuration.
 
+.. _lease-reclamation:
+
 Lease Reclamation
 =================
 
index bb828c223c93e1c801cebe35470e48131067219f..e9606c02e7ea326bb0d67d946880b12da94d0c7c 100644 (file)
@@ -9,15 +9,15 @@ Logging Configuration
 
 During its operation Kea may produce many messages. They differ in
 severity (some are more important than others) and source (different
-components (e.g. hooks) produce different messages). It is useful to
-understand which log messages are critical and which are not, and
-configure your logging appropriately. For example, debug-level messages
+components, like hooks, produce different messages). It is useful to
+understand which log messages are critical and which are not, and to
+configure logging appropriately. For example, debug-level messages
 can be safely ignored in a typical deployment. They are, however, very
 useful when debugging a problem.
 
 The logging system in Kea is configured through the loggers entry in the
 server section of your configuration file. In previous Kea releases this
-entry was in an independent Logging section, this is still supported for
+entry was in an independent Logging section; this is still supported for
 backward compatibility.
 
 Loggers
@@ -31,7 +31,7 @@ messages pertaining to different logical functions of the component. For
 example, the DHCPv4 server uses one logger for messages about packet
 reception and transmission, another logger for messages related to lease
 allocation, and so on. Some of the libraries used by the Kea server,
-e.g. libdhcpsrv, use their own loggers.
+such as libdhcpsrv, use their own loggers.
 
 Users implementing hooks libraries (code attached to the server at
 runtime) are responsible for creating the loggers used by those
@@ -43,15 +43,14 @@ loggers used by Kea. Whenever it makes sense, a hooks library can use
 multiple loggers to log messages pertaining to different logical parts
 of the library.
 
-In the server section of a configuration file you can specify the
+In the server section of a configuration file the
 configuration for zero or more loggers (including loggers used by the
-proprietary hooks libraries). If there are no loggers specified, the
+proprietary hooks libraries) can be specified. If there are no loggers specified, the
 code will use default values; these cause Kea to log messages of INFO
 severity or greater to standard output. There is a small time window
 after Kea has been started but before it has read its configuration;
 logging in this short period can be controlled using environment
-variables. For details, see `Logging During Kea
-Startup <#logging-during-startup>`__.
+variables. For details, see :ref:`logging-during-startup`.
 
 The three main elements of a logger configuration are: ``name`` (the
 component that is generating the messages), ``severity`` (what to log),
@@ -59,16 +58,16 @@ and ``output_commands`` (where to log). There is also a ``debuglevel``
 element, which is only relevant if debug-level logging has been
 selected.
 
-name (string)
-~~~~~~~~~~~~~
+The name (string) Logger
+~~~~~~~~~~~~~~~~~~~~~~~~
 
 Each logger in the system has a name: that of the component binary file
-using it to log messages. For instance, if you want to configure logging
-for the DHCPv4 server, you add an entry for a logger named “kea-dhcp4”.
+using it to log messages. For instance, to configure logging
+for the DHCPv4 server, add an entry for a logger named “kea-dhcp4”.
 This configuration will then be used by the loggers in the DHCPv4
-server, and all the libraries used by it (unless a library defines its
+server and all the libraries used by it, unless a library defines its
 own logger and there is a specific logger configuration that applies to
-that logger).
+that logger.
 
 When tracking down an issue with the server's operation, use of DEBUG
 logging is required to obtain the verbose output needed for problem
@@ -85,10 +84,10 @@ required minimum.
 The loggers are associated with a particular library or binary of Kea.
 However, each library or binary may (and usually does) include multiple
 loggers. For example, the DHCPv4 server binary contains separate loggers
-for packet parsing, for dropped packets, for callouts, etc.
+for packet parsing, dropped packets, callouts, etc.
 
 The loggers form a hierarchy. For each program in Kea, there is a "root"
-logger, named after the program (e.g. the root logger for kea-dhcp (the
+logger, named after the program (e.g. the root logger for kea-dhcpthe
 DHCPv4 server) is named kea-dhcp4. All other loggers are children of
 this logger and are named accordingly, e.g. the allocation engine in the
 DHCPv4 server logs messages using a logger called
@@ -101,9 +100,9 @@ configuration file and so applies to all loggers. If an entry is made
 for a given logger, any attributes specified override those of the root
 logger, whereas any not specified are inherited from it.
 
-To illustrate this, suppose you are using the DHCPv4 server with the
+To illustrate this, suppose we are using the DHCPv4 server with the
 root logger “kea-dhcp4” logging at the INFO level. In order to enable
-DEBUG verbosity for DHCPv4 packet drops, you must create a configuration
+DEBUG verbosity for DHCPv4 packet drops, we must create a configuration
 entry for the logger called “kea-dhcp4.bad-packets” and specify severity
 DEBUG for this logger. All other configuration parameters may be omitted
 for this logger if the logger should use the default values specified in
@@ -121,348 +120,347 @@ will be logged according to the configuration set by the second entry.
 Currently defined loggers are defined in the following table. The
 "Software Package" column of this table specifies whether the particular
 loggers belong to the core Kea code (open source Kea binaries and
-libraries), or hook libraries (open source or premium).
-
-.. table:: List of loggers supported by Kea servers and hooks libraries
-shipped with Kea and premium packages
-
-   +-----------------------+-----------------------+-----------------------+
-   | Logger Name           | Software Package      | Description           |
-   +=======================+=======================+=======================+
-   | ``kea-ctrl-agent``    | core                  | The root logger for   |
-   |                       |                       | the Control Agent     |
-   |                       |                       | exposing the RESTful  |
-   |                       |                       | control API. All      |
-   |                       |                       | components used by    |
-   |                       |                       | the Control Agent     |
-   |                       |                       | inherit the settings  |
-   |                       |                       | from this logger.     |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-ctrl-agent.http | core                  | A logger which        |
-   | ``                    |                       | outputs log messages  |
-   |                       |                       | related to receiving, |
-   |                       |                       | parsing, and sending  |
-   |                       |                       | HTTP messages.        |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4``         | core                  | The root logger for   |
-   |                       |                       | the DHCPv4 server.    |
-   |                       |                       | All components used   |
-   |                       |                       | by the DHCPv4 server  |
-   |                       |                       | inherit the settings  |
-   |                       |                       | from this logger.     |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp6``         | core                  | The root logger for   |
-   |                       |                       | the DHCPv6 server.    |
-   |                       |                       | All components used   |
-   |                       |                       | by the DHCPv6 server  |
-   |                       |                       | inherit the settings  |
-   |                       |                       | from this logger.     |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.alloc-eng | core                  | Used by the lease     |
-   | ine``,                |                       | allocation engine,    |
-   | ``kea-dhcp6.alloc-eng |                       | which is responsible  |
-   | ine``                 |                       | for managing leases   |
-   |                       |                       | in the lease          |
-   |                       |                       | database, i.e.        |
-   |                       |                       | creating, modifying,  |
-   |                       |                       | and removing DHCP     |
-   |                       |                       | leases as a result of |
-   |                       |                       | processing messages   |
-   |                       |                       | from the clients.     |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.bad-packe | core                  | Used by the DHCP      |
-   | ts``,                 |                       | servers for logging   |
-   | ``kea-dhcp6.bad-packe |                       | inbound client        |
-   | ts``                  |                       | packets that were     |
-   |                       |                       | dropped or to which   |
-   |                       |                       | the server responded  |
-   |                       |                       | with a DHCPNAK. It    |
-   |                       |                       | allows administrators |
-   |                       |                       | to configure a        |
-   |                       |                       | separate log output   |
-   |                       |                       | that contains only    |
-   |                       |                       | packet drop and       |
-   |                       |                       | reject entries.       |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.callouts` | core                  | Used to log messages  |
-   | `,                    |                       | pertaining to the     |
-   | ``kea-dhcp6.callouts` |                       | callouts registration |
-   | `                     |                       | and execution for the |
-   |                       |                       | particular hook       |
-   |                       |                       | point.                |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.commands` | core                  | Used to log messages  |
-   | `,                    |                       | relating to the       |
-   | ``kea-dhcp6.commands` |                       | handling of commands  |
-   | `                     |                       | received by the DHCP  |
-   |                       |                       | server over the       |
-   |                       |                       | command channel.      |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.database` | core                  | Used to log messages  |
-   | `,                    |                       | relating to general   |
-   | ``kea-dhcp6.database` |                       | operations on the     |
-   | `                     |                       | relational databases  |
-   |                       |                       | and Cassandra.        |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.ddns``,   | core                  | Used by the DHCP      |
-   | ``kea-dhcp6.ddns``    |                       | server to log         |
-   |                       |                       | messages related to   |
-   |                       |                       | the Client FQDN and   |
-   |                       |                       | Hostname option       |
-   |                       |                       | processing. It also   |
-   |                       |                       | includes log messages |
-   |                       |                       | related to the        |
-   |                       |                       | relevant DNS updates. |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.dhcp4``   | core                  | Used by the DHCPv4    |
-   |                       |                       | server daemon to log  |
-   |                       |                       | basic operations.     |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.dhcpsrv`` | core                  | The base loggers for  |
-   | ,                     |                       | the libkea-dhcpsrv    |
-   | ``kea-dhcp6.dhcpsrv`` |                       | library.              |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.eval``,   | core                  | Used to log messages  |
-   | ``kea-dhcp6.eval``    |                       | relating to the       |
-   |                       |                       | client classification |
-   |                       |                       | expression evaluation |
-   |                       |                       | code.                 |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.host-cach | libdhcp_host_cache    | This logger is used   |
-   | e-hooks``,            | premium hook library  | to log messages       |
-   | ``kea-dhcp6.host-cach |                       | related to the        |
-   | e-hooks``             |                       | operation of the Host |
-   |                       |                       | Cache Hook Library.   |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.flex-id-h | libdhcp_flex_id       | This logger is used   |
-   | ooks``,               | premium hook library  | to log messages       |
-   | ``kea-dhcp6.flex-id-h |                       | related to the        |
-   | ooks``                |                       | operation of the      |
-   |                       |                       | Flexible Identifiers  |
-   |                       |                       | Hook Library.         |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.ha-hooks` | libdhcp_ha hook       | This logger is used   |
-   | `,                    | library               | to log messages       |
-   | ``kea-dhcp6.ha-hooks` |                       | related to the        |
-   | `                     |                       | operation of the High |
-   |                       |                       | Availability Hook     |
-   |                       |                       | Library.              |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.hooks``,  | core                  | Used to log messages  |
-   | ``kea-dhcp6.hooks``   |                       | related to the        |
-   |                       |                       | management of hooks   |
-   |                       |                       | libraries, e.g.       |
-   |                       |                       | registration and      |
-   |                       |                       | deregistration of the |
-   |                       |                       | libraries, and to the |
-   |                       |                       | initialization of the |
-   |                       |                       | callouts execution    |
-   |                       |                       | for various hook      |
-   |                       |                       | points within the     |
-   |                       |                       | DHCP server.          |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.host-cmds | libdhcp_host_cmds     | This logger is used   |
-   | -hooks``,             | premium hook library  | to log messages       |
-   | ``kea-dhcp6.host-cmds |                       | related to the        |
-   | -hooks``              |                       | operation of the Host |
-   |                       |                       | Cmds hooks library.   |
-   |                       |                       | In general, these     |
-   |                       |                       | will pertain to the   |
-   |                       |                       | loading and unloading |
-   |                       |                       | of the library and    |
-   |                       |                       | the execution of      |
-   |                       |                       | commands by the       |
-   |                       |                       | library.              |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.hosts``,  | core                  | Used within the       |
-   | ``kea-dhcp6.hosts``   |                       | libdhcpsrv, it logs   |
-   |                       |                       | messages related to   |
-   |                       |                       | the management of the |
-   |                       |                       | DHCP host             |
-   |                       |                       | reservations, i.e.    |
-   |                       |                       | retrieval of the      |
-   |                       |                       | reservations and      |
-   |                       |                       | adding new            |
-   |                       |                       | reservations.         |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.lease-cmd | libdhcp_lease_cmds    | This logger is used   |
-   | s-hooks``,            | hook library          | to log messages       |
-   | ``kea-dhcp6.lease-cmd |                       | related to the        |
-   | s-hooks``             |                       | operation of the      |
-   |                       |                       | Lease Cmds hooks      |
-   |                       |                       | library. In general,  |
-   |                       |                       | these will pertain to |
-   |                       |                       | the loading and       |
-   |                       |                       | unloading of the      |
-   |                       |                       | library and the       |
-   |                       |                       | execution of commands |
-   |                       |                       | by the library.       |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.leases``, | core                  | Used by the DHCP      |
-   | ``kea-dhcp6.leases``  |                       | server to log         |
-   |                       |                       | messages related to   |
-   |                       |                       | lease allocation. The |
-   |                       |                       | messages include      |
-   |                       |                       | detailed information  |
-   |                       |                       | about the allocated   |
-   |                       |                       | or offered leases,    |
-   |                       |                       | errors during the     |
-   |                       |                       | lease allocation,     |
-   |                       |                       | etc.                  |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.legal-log | libdhcp_legal_log     | This logger is used   |
-   | -hooks``,             | premium hook library  | to log messages       |
-   | ``kea-dhcp6.legal-log |                       | related to the        |
-   | -hooks``              |                       | operation of the      |
-   |                       |                       | Forensic Logging      |
-   |                       |                       | Hooks Library.        |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.options`` | core                  | Used by the DHCP      |
-   | ,                     |                       | server to log         |
-   | ``kea-dhcp4.options`` |                       | messages related to   |
-   |                       |                       | the processing of     |
-   |                       |                       | options in the DHCP   |
-   |                       |                       | messages, i.e.        |
-   |                       |                       | parsing options,      |
-   |                       |                       | encoding options into |
-   |                       |                       | on-wire format, and   |
-   |                       |                       | packet classification |
-   |                       |                       | using options         |
-   |                       |                       | contained in the      |
-   |                       |                       | received packets.     |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.packets`` | core                  | This logger is mostly |
-   | ,                     |                       | used to log messages  |
-   | ``kea-dhcp6.packets`` |                       | related to            |
-   |                       |                       | transmission of the   |
-   |                       |                       | DHCP packets, i.e.    |
-   |                       |                       | packet reception and  |
-   |                       |                       | the sending of a      |
-   |                       |                       | response. Such        |
-   |                       |                       | messages include      |
-   |                       |                       | information about the |
-   |                       |                       | source and            |
-   |                       |                       | destination IP        |
-   |                       |                       | addresses and         |
-   |                       |                       | interfaces used to    |
-   |                       |                       | transmit packets. The |
-   |                       |                       | logger is also used   |
-   |                       |                       | to log messages       |
-   |                       |                       | related to subnet     |
-   |                       |                       | selection, as this    |
-   |                       |                       | selection is usually  |
-   |                       |                       | based on the IP       |
-   |                       |                       | addresses, relay      |
-   |                       |                       | addresses, and/or     |
-   |                       |                       | interface names,      |
-   |                       |                       | which can be          |
-   |                       |                       | retrieved from the    |
-   |                       |                       | received packet even  |
-   |                       |                       | before the DHCP       |
-   |                       |                       | message carried in    |
-   |                       |                       | the packet is parsed. |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.radius-ho | libdhcp_radius        | This logger is used   |
-   | oks``,                | premium hook library  | to log messages       |
-   | ``kea-dhcp6.radius-ho |                       | related to the        |
-   | oks``                 |                       | operation of the      |
-   |                       |                       | Radius Hook Library.  |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.stat-cmds | libdhcp_stat_cmds     | This logger is used   |
-   | -hooks``,             | hook library          | to log messages       |
-   | ``kea-dhcp6.stat-cmds |                       | related to the        |
-   | -hooks``              |                       | operation of the      |
-   |                       |                       | Statistics Commands   |
-   |                       |                       | hooks library. In     |
-   |                       |                       | general, these will   |
-   |                       |                       | pertain to loading    |
-   |                       |                       | and unloading the     |
-   |                       |                       | library and the       |
-   |                       |                       | execution of commands |
-   |                       |                       | by the library.       |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.subnet-cm | libdhcp_subnet_cmds   | This logger is used   |
-   | ds-hooks``,           | hook library          | to log messages       |
-   | ``kea-dhcp6.subnet-cm |                       | related to the        |
-   | ds-hooks``            |                       | operation of the      |
-   |                       |                       | Subnet Commands hooks |
-   |                       |                       | library. In general,  |
-   |                       |                       | these will pertain to |
-   |                       |                       | loading and unloading |
-   |                       |                       | the library and the   |
-   |                       |                       | execution of commands |
-   |                       |                       | by the library.       |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp4.mysql-cb- | libdhcp_mysql_cb_hook | This logger is used   |
-   | hooks``,              | s                     | to log messages       |
-   | ``kea-dhcp6.mysql-cb- | hook library          | related to the        |
-   | hooks``               |                       | operation of the      |
-   |                       |                       | MySQL Configuration   |
-   |                       |                       | Backend hooks         |
-   |                       |                       | library.              |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp-ddns``     | core                  | The root logger for   |
-   |                       |                       | the kea-dhcp-ddns     |
-   |                       |                       | daemon. All           |
-   |                       |                       | components used by    |
-   |                       |                       | this daemon inherit   |
-   |                       |                       | the settings from     |
-   |                       |                       | this logger unless    |
-   |                       |                       | there are             |
-   |                       |                       | configurations for    |
-   |                       |                       | more specialized      |
-   |                       |                       | loggers..             |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp-ddns.dctl` | core                  | The logger used by    |
-   | `                     |                       | the kea-dhcp-ddns     |
-   |                       |                       | daemon for logging    |
-   |                       |                       | basic information     |
-   |                       |                       | about the process,    |
-   |                       |                       | received signals, and |
-   |                       |                       | triggered             |
-   |                       |                       | reconfigurations.     |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp-ddns.dhcpd | core                  | The logger used by    |
-   | dns``                 |                       | the kea-dhcp-ddns     |
-   |                       |                       | daemon for logging    |
-   |                       |                       | events related to     |
-   |                       |                       | DDNS operations.      |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp-ddns.dhcp- | core                  | Used by the           |
-   | to-d2``               |                       | kea-dhcp-ddns daemon  |
-   |                       |                       | for logging           |
-   |                       |                       | information about     |
-   |                       |                       | events dealing with   |
-   |                       |                       | receiving messages    |
-   |                       |                       | from the DHCP servers |
-   |                       |                       | and adding them to    |
-   |                       |                       | the queue for         |
-   |                       |                       | processing.           |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-dhcp-ddns.d2-to | core                  | Used by the           |
-   | -dns``                |                       | kea-dhcp-ddns daemon  |
-   |                       |                       | for logging           |
-   |                       |                       | information about     |
-   |                       |                       | events dealing with   |
-   |                       |                       | sending and receiving |
-   |                       |                       | messages with the DNS |
-   |                       |                       | servers.              |
-   +-----------------------+-----------------------+-----------------------+
-   | ``kea-netconf``       | core                  | The root logger for   |
-   |                       |                       | the Netconf agent.    |
-   |                       |                       | All components used   |
-   |                       |                       | by Netconf inherit    |
-   |                       |                       | the settings from     |
-   |                       |                       | this logger if there  |
-   |                       |                       | is no specialized     |
-   |                       |                       | logger provided.      |
-   +-----------------------+-----------------------+-----------------------+
+libraries), or hooks libraries (open source or premium).
+
+.. table:: List of Loggers Supported by Kea Servers and Hooks Libraries Shipped With Kea and Premium Packages
+
+   +----------------------------------+------------------------+-----------------------+
+   | Logger Name                      | Software Package       | Description           |
+   +==================================+========================+=======================+
+   | ``kea-ctrl-agent``               | core                   | The root logger for   |
+   |                                  |                        | the Control Agent     |
+   |                                  |                        | exposing the RESTful  |
+   |                                  |                        | control API. All      |
+   |                                  |                        | components used by    |
+   |                                  |                        | the Control Agent     |
+   |                                  |                        | inherit the settings  |
+   |                                  |                        | from this logger.     |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-ctrl-agent.http``          | core                   | A logger which        |
+   |                                  |                        | outputs log messages  |
+   |                                  |                        | related to receiving, |
+   |                                  |                        | parsing, and sending  |
+   |                                  |                        | HTTP messages.        |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4``                    | core                   | The root logger for   |
+   |                                  |                        | the DHCPv4 server.    |
+   |                                  |                        | All components used   |
+   |                                  |                        | by the DHCPv4 server  |
+   |                                  |                        | inherit the settings  |
+   |                                  |                        | from this logger.     |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp6``                    | core                   | The root logger for   |
+   |                                  |                        | the DHCPv6 server.    |
+   |                                  |                        | All components used   |
+   |                                  |                        | by the DHCPv6 server  |
+   |                                  |                        | inherit the settings  |
+   |                                  |                        | from this logger.     |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.alloc-engine``,      | core                   | Used by the lease     |
+   | ``kea-dhcp6.alloc-engine``       |                        | allocation engine,    |
+   |                                  |                        | which is responsible  |
+   |                                  |                        | for managing leases   |
+   |                                  |                        | in the lease          |
+   |                                  |                        | database, i.e.        |
+   |                                  |                        | creating, modifying,  |
+   |                                  |                        | and removing DHCP     |
+   |                                  |                        | leases as a result of |
+   |                                  |                        | processing messages   |
+   |                                  |                        | from clients.         |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.bad-packets``,       | core                   | Used by the DHCP      |
+   | ``kea-dhcp6.bad-packets``        |                        | servers for logging   |
+   |                                  |                        | inbound client        |
+   |                                  |                        | packets that were     |
+   |                                  |                        | dropped or to which   |
+   |                                  |                        | the server responded  |
+   |                                  |                        | with a DHCPNAK. It    |
+   |                                  |                        | allows administrators |
+   |                                  |                        | to configure a        |
+   |                                  |                        | separate log output   |
+   |                                  |                        | that contains only    |
+   |                                  |                        | packet drop and       |
+   |                                  |                        | reject entries.       |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.callouts``,          | core                   | Used to log messages  |
+   | ``kea-dhcp6.callouts``           |                        | pertaining to the     |
+   |                                  |                        | callouts registration |
+   |                                  |                        | and execution for the |
+   |                                  |                        | particular hook       |
+   |                                  |                        | point.                |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.commands``,          | core                   | Used to log messages  |
+   | ``kea-dhcp6.commands``           |                        | relating to the       |
+   |                                  |                        | handling of commands  |
+   |                                  |                        | received by the DHCP  |
+   |                                  |                        | server over the       |
+   |                                  |                        | command channel.      |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.database``,          | core                   | Used to log messages  |
+   | ``kea-dhcp6.database``           |                        | relating to general   |
+   |                                  |                        | operations on the     |
+   |                                  |                        | relational databases  |
+   |                                  |                        | and Cassandra.        |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.ddns``,              | core                   | Used by the DHCP      |
+   | ``kea-dhcp6.ddns``               |                        | server to log         |
+   |                                  |                        | messages related to   |
+   |                                  |                        | Client FQDN and       |
+   |                                  |                        | Hostname option       |
+   |                                  |                        | processing. It also   |
+   |                                  |                        | includes log messages |
+   |                                  |                        | related to the        |
+   |                                  |                        | relevant DNS updates. |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.dhcp4``              | core                   | Used by the DHCPv4    |
+   |                                  |                        | server daemon to log  |
+   |                                  |                        | basic operations.     |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.dhcpsrv``,           | core                   | The base loggers for  |
+   | ``kea-dhcp6.dhcpsrv``            |                        | the libkea-dhcpsrv    |
+   |                                  |                        | library.              |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.eval``,              | core                   | Used to log messages  |
+   | ``kea-dhcp6.eval``               |                        | relating to the       |
+   |                                  |                        | client classification |
+   |                                  |                        | expression evaluation |
+   |                                  |                        | code.                 |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.host-cache-hooks``,  | libdhcp_host_cache     | This logger is used   |
+   | ``kea-dhcp6.host-cache-hooks``   | premium hook library   | to log messages       |
+   |                                  |                        | related to the        |
+   |                                  |                        | operation of the Host |
+   |                                  |                        | Cache hooks library.  |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.flex-id-hooks``,     | libdhcp_flex_id        | This logger is used   |
+   | ``kea-dhcp6.flex-id-hooks``      | premium hook library   | to log messages       |
+   |                                  |                        | related to the        |
+   |                                  |                        | operation of the      |
+   |                                  |                        | Flexible Identifiers  |
+   |                                  |                        | hooks library.        |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.ha-hooks``,          | libdhcp_ha hook        | This logger is used   |
+   | ``kea-dhcp6.ha-hooks``           | library                | to log messages       |
+   |                                  |                        | related to the        |
+   |                                  |                        | operation of the High |
+   |                                  |                        | Availability hooks    |
+   |                                  |                        | library.              |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.hooks``,             | core                   | Used to log messages  |
+   | ``kea-dhcp6.hooks``              |                        | related to the        |
+   |                                  |                        | management of hooks   |
+   |                                  |                        | libraries, e.g.       |
+   |                                  |                        | registration and      |
+   |                                  |                        | deregistration of the |
+   |                                  |                        | libraries, and to the |
+   |                                  |                        | initialization of the |
+   |                                  |                        | callouts execution    |
+   |                                  |                        | for various hook      |
+   |                                  |                        | points within the     |
+   |                                  |                        | DHCP server.          |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.host-cmds-hooks``,   | libdhcp_host_cmds      | This logger is used   |
+   | ``kea-dhcp6.host-cmds-hooks``    | premium hook library   | to log messages       |
+   |                                  |                        | related to the        |
+   |                                  |                        | operation of the Host |
+   |                                  |                        | Commands hooks        |
+   |                                  |                        | library. In general,  |
+   |                                  |                        | these will pertain to |
+   |                                  |                        | the loading and       |
+   |                                  |                        | unloading of the      |
+   |                                  |                        | library and the       |
+   |                                  |                        | execution of commands |
+   |                                  |                        | by the library.       |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.hosts``,             | core                   | Used within the       |
+   | ``kea-dhcp6.hosts``              |                        | libdhcpsrv, it logs   |
+   |                                  |                        | messages related to   |
+   |                                  |                        | the management of     |
+   |                                  |                        | DHCP host             |
+   |                                  |                        | reservations, i.e.    |
+   |                                  |                        | retrieving            |
+   |                                  |                        | reservations and      |
+   |                                  |                        | adding new            |
+   |                                  |                        | reservations.         |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.lease-cmds-hooks``,  | libdhcp_lease_cmds     | This logger is used   |
+   | ``kea-dhcp6.lease-cmds-hooks``   | hook library           | to log messages       |
+   |                                  |                        | related to the        |
+   |                                  |                        | operation of the      |
+   |                                  |                        | Lease Commands hooks  |
+   |                                  |                        | library. In general,  |
+   |                                  |                        | these will pertain to |
+   |                                  |                        | the loading and       |
+   |                                  |                        | unloading of the      |
+   |                                  |                        | library and the       |
+   |                                  |                        | execution of commands |
+   |                                  |                        | by the library.       |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.leases``,            | core                   | Used by the DHCP      |
+   | ``kea-dhcp6.leases``             |                        | server to log         |
+   |                                  |                        | messages related to   |
+   |                                  |                        | lease allocation. The |
+   |                                  |                        | messages include      |
+   |                                  |                        | detailed information  |
+   |                                  |                        | about the allocated   |
+   |                                  |                        | or offered leases,    |
+   |                                  |                        | errors during the     |
+   |                                  |                        | lease allocation,     |
+   |                                  |                        | etc.                  |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.legal-log-hooks``,   | libdhcp_legal_log      | This logger is used   |
+   | ``kea-dhcp6.legal-log-hooks``    | premium hook library   | to log messages       |
+   |                                  |                        | related to the        |
+   |                                  |                        | operation of the      |
+   |                                  |                        | Forensic Logging      |
+   |                                  |                        | hooks library.        |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.options``,           | core                   | Used by the DHCP      |
+   | ``kea-dhcp4.options``            |                        | server to log         |
+   |                                  |                        | messages related to   |
+   |                                  |                        | the processing of     |
+   |                                  |                        | options in the DHCP   |
+   |                                  |                        | messages, i.e.        |
+   |                                  |                        | parsing options,      |
+   |                                  |                        | encoding options into |
+   |                                  |                        | on-wire format, and   |
+   |                                  |                        | packet classification |
+   |                                  |                        | using options         |
+   |                                  |                        | contained in the      |
+   |                                  |                        | received packets.     |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.packets``,           | core                   | This logger is mostly |
+   | ``kea-dhcp6.packets``            |                        | used to log messages  |
+   |                                  |                        | related to            |
+   |                                  |                        | transmission of the   |
+   |                                  |                        | DHCP packets, i.e.    |
+   |                                  |                        | packet reception and  |
+   |                                  |                        | the sending of a      |
+   |                                  |                        | response. Such        |
+   |                                  |                        | messages include      |
+   |                                  |                        | information about the |
+   |                                  |                        | source and            |
+   |                                  |                        | destination IP        |
+   |                                  |                        | addresses and         |
+   |                                  |                        | interfaces used to    |
+   |                                  |                        | transmit packets. The |
+   |                                  |                        | logger is also used   |
+   |                                  |                        | to log messages       |
+   |                                  |                        | related to subnet     |
+   |                                  |                        | selection, as this    |
+   |                                  |                        | selection is usually  |
+   |                                  |                        | based on the IP       |
+   |                                  |                        | addresses, relay      |
+   |                                  |                        | addresses, and/or     |
+   |                                  |                        | interface names,      |
+   |                                  |                        | which can be          |
+   |                                  |                        | retrieved from the    |
+   |                                  |                        | received packet even  |
+   |                                  |                        | before the DHCP       |
+   |                                  |                        | message carried in    |
+   |                                  |                        | the packet is parsed. |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.radius-hooks``,      | libdhcp_radius         | This logger is used   |
+   | ``kea-dhcp6.radius-hooks``       | premium hook library   | to log messages       |
+   |                                  |                        | related to the        |
+   |                                  |                        | operation of the      |
+   |                                  |                        | RADIUS hooks library. |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.stat-cmds-hooks``,   | libdhcp_stat_cmds      | This logger is used   |
+   | ``kea-dhcp6.stat-cmds-hooks``    | hook library           | to log messages       |
+   |                                  |                        | related to the        |
+   |                                  |                        | operation of the      |
+   |                                  |                        | Statistics Commands   |
+   |                                  |                        | hooks library. In     |
+   |                                  |                        | general, these will   |
+   |                                  |                        | pertain to loading    |
+   |                                  |                        | and unloading the     |
+   |                                  |                        | library and the       |
+   |                                  |                        | execution of commands |
+   |                                  |                        | by the library.       |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.subnet-cmds-hooks``, | libdhcp_subnet_cmds    | This logger is used   |
+   | ``kea-dhcp6.subnet-cmds-hooks``  | hook library           | to log messages       |
+   |                                  |                        | related to the        |
+   |                                  |                        | operation of the      |
+   |                                  |                        | Subnet Commands hooks |
+   |                                  |                        | library. In general,  |
+   |                                  |                        | these will pertain to |
+   |                                  |                        | loading and unloading |
+   |                                  |                        | the library and the   |
+   |                                  |                        | execution of commands |
+   |                                  |                        | by the library.       |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp4.mysql-cb-hooks``,    | libdhcp_mysql_cb_hooks | This logger is used   |
+   | ``kea-dhcp6.mysql-cb-hooks``     | hook library           | to log messages       |
+   |                                  |                        | related to the        |
+   |                                  |                        | operation of the      |
+   |                                  |                        | MySQL Configuration   |
+   |                                  |                        | Backend hooks         |
+   |                                  |                        | library.              |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp-ddns``                | core                   | The root logger for   |
+   |                                  |                        | the kea-dhcp-ddns     |
+   |                                  |                        | daemon. All           |
+   |                                  |                        | components used by    |
+   |                                  |                        | this daemon inherit   |
+   |                                  |                        | the settings from     |
+   |                                  |                        | this logger unless    |
+   |                                  |                        | there are             |
+   |                                  |                        | configurations for    |
+   |                                  |                        | more specialized      |
+   |                                  |                        | loggers.              |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp-ddns.dctl``           | core                   | The logger used by    |
+   |                                  |                        | the kea-dhcp-ddns     |
+   |                                  |                        | daemon for logging    |
+   |                                  |                        | basic information     |
+   |                                  |                        | about the process,    |
+   |                                  |                        | received signals, and |
+   |                                  |                        | triggered             |
+   |                                  |                        | reconfigurations.     |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp-ddns.dhcpddns``       | core                   | The logger used by    |
+   |                                  |                        | the kea-dhcp-ddns     |
+   |                                  |                        | daemon for logging    |
+   |                                  |                        | events related to     |
+   |                                  |                        | DDNS operations.      |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp-ddns.dhcp-to-d2``     | core                   | Used by the           |
+   |                                  |                        | kea-dhcp-ddns daemon  |
+   |                                  |                        | for logging           |
+   |                                  |                        | information about     |
+   |                                  |                        | events dealing with   |
+   |                                  |                        | receiving messages    |
+   |                                  |                        | from the DHCP servers |
+   |                                  |                        | and adding them to    |
+   |                                  |                        | the queue for         |
+   |                                  |                        | processing.           |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-dhcp-ddns.d2-to-dns``      | core                   | Used by the           |
+   |                                  |                        | kea-dhcp-ddns daemon  |
+   |                                  |                        | for logging           |
+   |                                  |                        | information about     |
+   |                                  |                        | events dealing with   |
+   |                                  |                        | sending and receiving |
+   |                                  |                        | messages to and from  |
+   |                                  |                        | the DNS servers.      |
+   +----------------------------------+------------------------+-----------------------+
+   | ``kea-netconf``                  | core                   | The root logger for   |
+   |                                  |                        | the NETCONF agent.    |
+   |                                  |                        | All components used   |
+   |                                  |                        | by NETCONF inherit    |
+   |                                  |                        | the settings from     |
+   |                                  |                        | this logger if there  |
+   |                                  |                        | is no specialized     |
+   |                                  |                        | logger provided.      |
+   +----------------------------------+------------------------+-----------------------+
 
 Note that user-defined hook libraries should not use any of the loggers
 mentioned above, but should instead define new loggers with names that
-correspond to the libraries using them. Suppose that the user created
-the library called “libdhcp-packet-capture” to dump packets received and
-transmitted by the server to the file. An appropriate name for the
+correspond to the libraries using them. Suppose that a user created
+a library called “libdhcp-packet-capture” to dump packets received and
+transmitted by the server to a file. An appropriate name for the
 logger could be ``kea-dhcp4.packet-capture-hooks``. (Note that the hook
 library implementer only specifies the second part of this name, i.e.
 “packet-capture”. The first part is a root-logger name and is prepended
@@ -472,11 +470,11 @@ from the root logger, something that can be overridden by an entry in
 the configuration file.
 
 The easiest way to find a logger name is to configure all logging to go
-to a single destination and look for specific logger names. See `Logging
-Message Format <#logging-message-format>`__ for details.
+to a single destination and look there for specific logger names. See
+:ref:`logging-message-format` for details.
 
-severity (string)
-~~~~~~~~~~~~~~~~~
+The severity (string) Logger
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 This specifies the category of messages logged. Each message is logged
 with an associated severity, which may be one of the following (in
@@ -504,56 +502,56 @@ logger are inhibited.
 
    **Note**
 
-   The keactrl tool, described in `??? <#keactrl>`__, can be configured
+   The ``keactrl`` tool, described in :ref:`keactrl`, can be configured
    to start the servers in verbose mode. If this is the case, the
    settings of the logging severity in the configuration file will have
-   no effect, i.e. the servers will use a logging severity of DEBUG
+   no effect; the servers will use a logging severity of DEBUG
    regardless of the logging settings specified in the configuration
-   file. If you need to control severity via the configuration file,
+   file. To control severity via the configuration file,
    please make sure that the ``kea_verbose`` value is set to "no" within
-   the keactrl configuration.
+   the ``keactrl`` configuration.
 
-debuglevel (integer)
-~~~~~~~~~~~~~~~~~~~~
+The debuglevel (integer) Logger
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 When a logger's severity is set to DEBUG, this value specifies what
 level of debug messages should be printed. It ranges from 0 (least
 verbose) to 99 (most verbose). If severity for the logger is not DEBUG,
 this value is ignored.
 
-output_options (list)
-~~~~~~~~~~~~~~~~~~~~~
+The output_options (list) Logger
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Each logger can have zero or more ``output_options``. These specify
 where log messages are sent and are explained in detail below.
 
-output (string)
-^^^^^^^^^^^^^^^
+The output (string) Option
+^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 This value determines the type of output. There are several special
 values allowed here: ``stdout`` (messages are printed on standard
 output), ``stderr`` (messages are printed on stderr), ``syslog``
-(messages are logged to syslog using default name), ``syslog:name``
-(messages are logged to syslog using specified name). Any other value is
+(messages are logged to syslog using the default name), ``syslog:name``
+(messages are logged to syslog using specified name). Any other value is
 interpreted as a filename to which messages should be written.
 
-flush (true of false)
-^^^^^^^^^^^^^^^^^^^^^
+The flush (true of false) Option
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 Flush buffers after each log message. Doing this will reduce performance
 but will ensure that if the program terminates abnormally, all messages
 up to the point of termination are output. The default is "true".
 
-maxsize (integer)
-^^^^^^^^^^^^^^^^^
+The maxsize (integer) Option
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-Only relevant when the destination is a file. This is the maximum size
+This option is only relevant when the destination is a file; this is the maximum size
 in bytes that a log file may reach. When the maximum size is reached,
 the file is renamed and a new file opened. For example, a ".1" is
-appended to the name — if a ".1" file exists, it is renamed ".2", etc.
+appended to the name; if a ".1" file exists, it is renamed ".2", etc.
 This is referred to as rotation.
 
-The default value is 10240000 (10MB). The smallest value that may be
+The default value is 10240000 (10MB). The smallest value that can be
 specified without disabling rotation is 204800. Any value less than
 this, including 0, disables rotation.
 
@@ -561,18 +559,18 @@ this, including 0, disables rotation.
 
    Due to a limitation of the underlying logging library (log4cplus),
    rolling over the log files (from ".1" to ".2", etc) may show odd
-   results; there can be multiple small files at the timing of roll
-   over. This can happen when multiple processes try to roll over the
+   results; there can be multiple small files at the timing of rollover.
+   This can happen when multiple processes try to roll over the
    files simultaneously. Version 1.1.0 of log4cplus solved this problem,
    so if this version or later of log4cplus is used to build Kea, the
    issue should not occur. Even for older versions, it is normally
    expected to happen rarely unless the log messages are produced very
    frequently by multiple different processes.
 
-maxver (integer)
-^^^^^^^^^^^^^^^^
+The maxver (integer) Option
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-Only relevant when the destination is a file and rotation is enabled
+This option is only relevant when the destination is a file and rotation is enabled
 (i.e. maxsize is large enough). This is the maximum number of rotated
 versions that will be kept. Once that number of files has been reached,
 the oldest file, "log-name.maxver", will be discarded each time the log
@@ -582,7 +580,7 @@ maxver rotated files. The minimum and default value is 1.
 Example Logger Configurations
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-In this example we want to set the Server logging to write to the
+In this example we want to set the server logging to write to the
 console using standard output.
 
 ::
@@ -602,7 +600,7 @@ console using standard output.
    }
 
 In this second example, we want to store debug log messages in a file
-that is at most 2MB and keep up to 8 copies of old logfiles. Once the
+that is at most 2MB and keep up to eight copies of old logfiles. Once the
 logfile grows to 2MB, it will be renamed and a new file will be created.
 
 ::
@@ -625,6 +623,8 @@ logfile grows to 2MB, it will be renamed and a new file will be created.
       ]
    }
 
+.. _logging-message-format:
+
 Logging Message Format
 ----------------------
 
@@ -658,15 +658,14 @@ INFO
    process generating the message (in this case, ``kea-dhcp4``) and the
    component within the program from which the message originated
    (``dhcpsrv``, which is the name of the common library used by DHCP
-   server implementations). The number after the slash is a process id
-   (pid).
+   server implementations). The number after the slash is a process ID
+   (PID).
 
 DHCPSRV_MEMFILE_DB
    The message identification. Every message in Kea has a unique
-   identification, which can be used as an index into the `Kea Messages
-   Manual <kea-messages.html>`__
-   (https://jenkins.isc.org/job/Kea_doc/messages/kea-messages.html) from
-   which more information can be obtained.
+   identification, which can be used as an index to the `Kea Messages
+   Manual <https://jenkins.isc.org/job/Kea_doc/messages/kea-messages.html>`__,
+   where more information can be obtained.
 
 opening memory file lease database: type=memfile universe=4
    A brief description. Within this text, information relating to the
@@ -680,7 +679,7 @@ Logging During Kea Startup
 --------------------------
 
 The logging configuration is specified in the configuration file.
-However, when Kea starts, the file is not read until partway into the
+However, when Kea starts, the configuration file is not read until partway into the
 initialization process. Prior to that, the logging settings are set to
 default values, although it is possible to modify some aspects of the
 settings by means of environment variables. Note that in the absence of
@@ -693,14 +692,14 @@ of logging during startup:
 
 KEA_LOCKFILE_DIR
    Specifies a directory where the logging system should create its lock
-   file. If not specified, it is prefix/var/run/kea, where prefix
+   file. If not specified, it is prefix/var/run/kea, where "prefix"
    defaults to /usr/local. This variable must not end with a slash.
-   There is one special value: "none", which instructs Kea to not create
+   There is one special value: "none", which instructs Kea not to create
    a lock file at all. This may cause issues if several processes log to
    the same file.
 
 KEA_LOGGER_DESTINATION
-   Specifies logging output. There are several special values.
+   Specifies logging output. There are several special values:
 
    stdout
       Log to standard output.
index 572159a3faa69817d70fd7119f53022b36de4861..4f1f5b6e34154bdd5ad8e3bf1555379ca88c0bd9 100644 (file)
@@ -38,20 +38,16 @@ packages, the installation procedure is much simpler on Ubuntu.
 Installing NETCONF on Ubuntu 18.04
 ----------------------------------
 
-For detailed installation instructions see the `
-        Ubuntu installation notes page <
-        Ubuntu installation notes page>`__.
+For detailed installation instructions, see the `Ubuntu installation notes page <https://gitlab.isc.org/isc-projects/kea/wikis/docs/ubuntu-installation-notes>`__.
 
 .. _netconf-centos-install:
 
 Installing NETCONF on CentOS 7.5
 --------------------------------
 
-For detailed installation instructions see the `
-        CentOS installation notes page <
-        CentOS installation notes page>`__.
+For detailed installation instructions, see the `CentOS installation notes page <https://gitlab.isc.org/isc-projects/kea/wikis/docs/centos-installation-notes>`__.
 
-CentOS 7.5's gcc compiler (version 4.8.5) is very old. Some sysrepo
+CentOS 7.5's gcc compiler (version 4.8.5) is very old. Some Sysrepo
 dependencies require at least version 4.9, which unfortunately means
 that a new compiler has to be installed. Also, many of the Sysrepo
 dependencies are not avalable in CentOS as packages, so for the time
@@ -61,10 +57,8 @@ Quick Sysrepo Overview
 ======================
 
 This section offers a rather brief overview of a subset of available
-functions in Sysrepo. For more complete information, see the Sysrepo
-homepage. You may also want to take a look at the `
-    notes made during a series of IETF Hackathons <
-    notes made during a series of IETF Hackathons>`__.
+functions in Sysrepo. For more complete information, see the `Sysrepo
+homepage <https://www.sysrepo.org>`__.
 
 In YANG, configurations and state data are described in the YANG syntax
 in module files named: ``"module-name"``\ ``[@"revision"]``.yang
@@ -73,7 +67,7 @@ The revision part is optional and has YYYY-MM-DD format. An alternate
 XML syntax YIN is defined but less user-friendly. Top-level modules are
 named in Kea models (a short version of schema models).
 
-List currently installed YANG modules:
+To list the currently installed YANG modules:
 
 ::
 
@@ -106,7 +100,7 @@ model, a similar initiative in the past for DHCPv4 failed. Therefore,
 Kea uses its own dedicated models for DHCPv4 and DHCPv6 but partially
 supports the IETF model for DHCPv6. Those three models have extra
 modules as dependencies. The dependency modules are also provided in
-``src/share/yang/modules`` in sources and ``share/kea/yang/modules``
+``src/share/yang/modules`` in sources and in ``share/kea/yang/modules``
 after installation.
 
 To install modules from sources, do the following:
@@ -120,7 +114,7 @@ To install modules from sources, do the following:
    ...
 
 Note that the first -s parameter specifies the location of the YANG
-schema repository; you can check it with sysrepoctl -l. This is a
+schema repository; it can be verified with sysrepoctl -l. This is a
 parameter that is configured during Sysrepo compilation and is detected
 by the Kea configuration under the SYSREPO_REPO name.
 
@@ -151,8 +145,8 @@ The installation should look similar to the following:
    Notifying sysrepo about the change...
    Install operation completed successfully.
 
-You can confirm whether the models are imported correctly by using
-sysrepoctl -l
+It is possible to confirm whether the models are imported correctly by using
+sysrepoctl -l:
 
 ::
 
@@ -188,7 +182,7 @@ by:
 If the module is used (i.e. imported) by other modules, it can be
 uninstalled only after those modules have finished using it.
 Installation and uninstallation must be done in dependency order and
-reverse dependency order accordingly.
+reverse-dependency order accordingly.
 
 .. _netconf-models:
 
@@ -197,7 +191,7 @@ Supported YANG Models
 
 The only currently supported models are ``kea-dhcp4-server`` and
 ``kea-dhcp6-server``. There is partial support for
-``ietf-dhcpv6-server``, but the primary focus of testing was on Kea DHCP
+``ietf-dhcpv6-server``, but the primary focus of testing has been on Kea DHCP
 servers. Several other models (``kea-dhcp-ddns`` and ``kea-ctrl-agent``)
 are currently not supported.
 
@@ -215,9 +209,9 @@ The NETCONF agent follows this algorithm:
    sessions with the startup and running datastores.
 
 -  Check that used (not essential) and required (essential) modules are
-   installed in the sysrepo repository at the right revision. If an
-   essential module, i.e. a module where the configuration schema for a
-   managed server is defined, is not installed, raise a fatal error.
+   installed in the Sysrepo repository at the right revision. If an
+   essential module - that is, a module where the configuration schema for a
+   managed server is defined - is not installed, raise a fatal error.
 
 -  For each managed server, get the YANG configuration from the startup
    datastore, translate it to JSON, and load it onto the server being
@@ -234,27 +228,27 @@ The NETCONF agent follows this algorithm:
 Configuration
 =============
 
-The behavior described in `Using the NETCONF Agent <#using-netconf>`__
+The behavior described in :ref:`using-netconf`
 is controlled by a few configuration flags, which can be set in the
 global scope or in a specific managed-server scope. In the second case,
 the value defined in the managed-server scope takes precedence. These
 flags are:
 
--  The ``boot-update`` controls the initial configuration phase; when
+-  ``boot-update`` - controls the initial configuration phase; when
    true (the default), the initial configuration retrieved from the
    classic Kea server JSON configuration file is loaded first, and then
    the startup YANG model is loaded. This setting lets administrators
    define a control socket in the local JSON file and then download the
    configuration from YANG. When set to false, this phase is skipped.
 
--  The ``subscribe-changes`` command controls the module change
+-  ``subscribe-changes`` - controls the module change
    subscription; when true (the default), a module change callback is
    subscribed, but when false the phase is skipped and running
    configuration updates are disabled. When set to true, the running
    datastore is used to subscribe for changes.
 
--  The ``validate-changes`` command controls how Kea monitors changes in
-   the Sysrepo configuration. Sysrepo offers two stages where Kea could
+-  ``validate-changes`` - controls how Kea monitors changes in
+   the Sysrepo configuration. Sysrepo offers two stages where Kea can
    interact: validation and application. At the validation (or
    SR_EV_VERIFY event, in the Sysrepo naming convention) stage, Kea
    retrieves the newly committed configuration and verifies it. If the
@@ -284,14 +278,14 @@ making them manageable. For instance, for the DHCPv4 server:
 Note the alternative to boot with full configurations does not allow
 easy tracking of changes or synchronization between the JSON and YANG
 configuration sources; therefore, that setup is not really compatible
-with the YANG / NETCONF configuration management paradigm, where
+with the YANG/NETCONF configuration management paradigm, where
 everything should be performed in YANG.
 
 With module change subscriptions enabled, the kea-netconf daemon will
 monitor any configuration changes as they appear in the Sysrepo. Such
 changes can be done using the ``sysrepocfg`` tool or remotely using any
 NETCONF client. For details, please see the Sysrepo documentation or
-`Step-by-Step NETCONF Agent Operation Example <#operation-example>`__.
+:ref:`operation-example`.
 Those tools can be used to modify YANG configurations in the running
 datastore. Note that committed configurations are only updated in the
 running datastore; to keep them between server reboots they must be
@@ -302,7 +296,7 @@ true) and the running configuration has changed (e.g. using
 ``sysrepocfg`` or any NETCONF client), the callback validates the
 modified configuration (if ``validate-changes`` was not set to false)
 and runs a second time to apply the new configuration. If the validation
-fails, the callback is still called again but with an ABORT (vs APPLY)
+fails, the callback is still called again but with an ABORT (vs. APPLY)
 event with rollback changes.
 
 The returned code of the callback on an APPLY event is ignored, as it is
@@ -311,18 +305,18 @@ too late to refuse a bad configuration.
 There are four ways in which a modified YANG configuration could
 possibly be incorrect:
 
-1. It can be non-compliant with the schema, e.g. unknown entry, missing
-   mandatory entry, value with a bad type, or not matching a constraint.
+1. It can be non-compliant with the schema, e.g. an unknown entry, missing a
+   mandatory entry, value with a bad type, or not matching a constraint.
 
-2. It can fail to be translated from YANG to JSON, e.g. invalid user
+2. It can fail to be translated from YANG to JSON, e.g. an invalid user
    context.
 
-3. It can fail Kea server sanity checks, e.g. out-of-subnet-pool range
-   or unsupported database type.
+3. It can fail Kea server sanity checks, e.g. an out-of-subnet-pool range
+   or an unsupported database type.
 
-4. The syntax is correct and passes server sanity checks but the
+4. The syntax may be correct and pass server sanity checks but the
    configuration fails to run, e.g. the configuration specifies database
-   credentials, but the database refuses connection.
+   credentials but the database refuses the connection.
 
 The first case is handled by Sysrepo. The second and third cases are
 handled by kea-netconf in the validation phase (if not disabled by
@@ -337,29 +331,30 @@ agent).
 
 Each managed server entry contains optionally:
 
--  ``boot-update``, ``subscribe-changes``, and ``validate-changes``
+-  ``boot-update``, ``subscribe-changes``, and ``validate-changes`` -
    control flags.
 
--  ``model`` specifies the YANG model / module name. For each service,
+-  ``model`` specifies the YANG model / module name. For each service,
    the default is the corresponding Kea YANG model, e.g. for ``"dhcp4"``
    it is ``"kea-dhcp4-server"``.
 
--  ``control-socket`` specifies the control socket for managing the
+-  ``control-socket`` specifies the control socket for managing the
    service configuration.
 
 A control socket is specified by:
 
--  ``socket-type``: the socket type is either ``stdout`` (the default;
+-  ``socket-type`` - the socket type is either ``stdout``, ``unix``, or ``http``.
+   ``stdout`` is the default;
    it is not really a socket, but it allows ``kea-netconf`` to run in
-   debugging mode where everything is printed on stdout. Can be also
-   useful to redirect commands easily.), ``unix`` (standard direct
-   server control channel, which uses UNIX sockets), and ``http`` (using
-   a control agent, which accepts HTTP connections).
+   debugging mode where everything is printed on stdout, and it can also be
+   used to redirect commands easily. ``unix`` is the standard direct
+   server control channel, which uses UNIX sockets, and ``http`` uses
+   a control agent, which accepts HTTP connections.
 
--  ``socket-name``: the local socket name for the ``unix`` socket type
+-  ``socket-name`` - the local socket name for the ``unix`` socket type
    (default empty string).
 
--  ``socket-url``: the HTTP URL for the ``http`` socket type (default
+-  ``socket-url`` - the HTTP URL for the ``http`` socket type (default
    ``http://127.0.0.1:8000/``).
 
 User contexts can store arbitrary data as long as they are in valid JSON
@@ -374,14 +369,14 @@ servers or agents; however, currently no hook points are defined. The
 should be loaded by kea-netconf, along with their configuration
 information specified with ``parameters``.
 
-Please consult `??? <#logging>`__ for the details on how to configure
+Please consult :ref:`logging` for details on how to configure
 logging. The NETCONF agent's root logger's name is ``kea-netconf``, as
 given in the example above.
 
 .. _netconf-example:
 
-kea-netconf Configuration Example
-=================================
+kea-netconf Configuration Example
+===================================
 
 The following example demonstrates the basic NETCONF configuration. More
 examples are available in the ``doc/examples/netconf`` directory in the
@@ -395,7 +390,7 @@ Kea sources.
        "Netconf":
        {
            // Control flags can be defined in the global scope or
-           // in a managed server scope. Precedence are:
+           // in a managed server scope. Precedences are:
            // - use the default value (true)
            // - use the global value
            // - use the local value.
@@ -409,7 +404,7 @@ Kea sources.
            // "stdout" which outputs the configuration on the standard output,
            // "unix" which uses the local control channel supported by the
            // "dhcp4" and "dhcp6" servers ("d2" support is not yet available),
-           // and "http" which uses the Control agent "ca" to manage itself or
+           // and "http" which uses the Control Agent "ca" to manage itself or
            // to forward commands to "dhcp4" or "dhcp6".
            "managed-servers":
            {
@@ -448,7 +443,7 @@ Kea sources.
                    }
                },
 
-               // Of course the Control Agent (nicknamed CA) supports HTTP.
+               // Of course the Control Agent (CA) supports HTTP.
                "ca":
                {
                    "model": "kea-ctrl-agent",
@@ -478,7 +473,7 @@ Kea sources.
                }
            ],
 
-           // Similar to other Kea components, Netconf also uses logging.
+           // Similar to other Kea components, NETCONF also uses logging.
            "loggers": [
                {
                    "name": "kea-netconf",
@@ -540,8 +535,8 @@ kea-netconf accepts the following command-line switches:
 
 .. _operation-example:
 
-Step-by-Step NETCONF Agent Operation Example
-============================================
+Step-by-Step NETCONF Agent Operation Example
+==============================================
 
    **Note**
 
@@ -639,7 +634,7 @@ The following is the example ``netconf.json`` configuration for
        }
    }
 
-Note that in production you should not need to log at the DEBUG level.
+Note that in production there should not be a need to log at the DEBUG level.
 
 The Kea NETCONF agent is launched by:
 
@@ -730,7 +725,7 @@ configuration file:
      </control-socket>
    </config>
 
-is directly rejected by ``sysrepocfg``:
+It is directly rejected by ``sysrepocfg``:
 
 ::
 
@@ -788,7 +783,7 @@ server and fails to validate as in this ``BAD-config.xml`` file:
 In the last case, the misconfiguration is detected too late and the
 change must be reverted in Sysrepo, e.g. using the startup datastore as
 a backup. For this reason, please use the ``sysrepocfg`` ``--permanent``
-/ ``-p`` option (or a similar feature of NETCONF clients) with care.
+/ ``-p`` option (or any similar feature of NETCONF clients) with care.
 
 .. _operation-example-2pools:
 
@@ -956,6 +951,5 @@ Finally, any of the previous examples can be replayed using
 
     # sysrepocfg -d running -f xml -e vi kea-dhcp6-server
 
-or, of course, using a NETCONF client like ``netopeer2-cli`` from the `
-        Netopeer2 <
-        Netopeer2>`__ NETCONF Toolset.
+or, of course, using a NETCONF client like ``netopeer2-cli`` from the
+`Netopeer2 <https://github.com/CESNET/Netopeer2>`__ NETCONF Toolset.
index 9906a05b914afa7ec05c00c7efed2c26fd8730be..447ad478502c3f20b4d1b289b4b0854ad66f8662 100644 (file)
@@ -6,7 +6,7 @@ Quick Start
 
 This section describes the basic steps needed to get Kea up and running.
 For further details, full customizations, and troubleshooting, see the
-respective chapters in the Kea Administrator Reference Manual (ARM).
+respective chapters elsewhere in this Kea Administrator Reference Manual (ARM).
 
 .. _quick-start:
 
@@ -98,7 +98,7 @@ Quick Start Guide for DHCPv4 and DHCPv6 Services
 
 For instructions specific to your system, please read the
 `system-specific notes <https://kb.isc.org/docs/installing-kea>`__,
-available in the `Kea section of ISC's
+available in the Kea section of `ISC's
 Knowledgebase <https://kb.isc.org/docs>`__.
 
 The details of ``keactrl`` script usage can be found in
index e2403dd040e5d1be68d769c8ea1edbc6bb7a7457..b44ab8ae1608786bea1f5ac26173a988edb3a603 100644 (file)
@@ -6,20 +6,20 @@ The Kea Shell
 
 .. _shell-overview:
 
-Overview
-========
+Overview of the Kea Shell
+=========================
 
 Kea 1.2.0 introduced the Control Agent (CA, see
-`??? <#kea-ctrl-agent>`__), which provides a RESTful control interface
+:ref:`kea-ctrl-agent`), which provides a RESTful control interface
 over HTTP. That API is typically expected to be used by various IPAMs
 and similar management systems. Nevertheless, there may be cases when an
-administrator wants to send a command to the CA directly. The Kea shell
+administrator wants to send a command to the CA directly, and the Kea shell
 provides a way to do this. It is a simple command-line,
 scripting-friendly, text client that is able to connect to the CA, send
 it commands with parameters, retrieve the responses, and display them.
 
 As the primary purpose of the Kea shell is as a tool in a scripting
-environment, it is not interactive. However, with simple tricks it can
+environment, it is not interactive. However, following simple guidelines it can
 be run manually.
 
 Shell Usage
@@ -55,9 +55,9 @@ where:
 
 Other switches are:
 
--  ``-h`` prints a help message.
+-  ``-h`` prints a help message.
 
--  ``-v`` prints the software version.
+-  ``-v`` prints the software version.
 
 Once started, the shell reads parameters for the command from standard
 input, which are expected to be in JSON format. When all have been read,
@@ -65,10 +65,9 @@ the shell establishes a connection with the CA using HTTP, sends the
 command, and awaits a response. Once that is received, it is displayed
 on standard output.
 
-For a list of available commands, see `??? <#ctrl-channel>`__;
-additional commands may be provided by hook libraries. If you are unsure
-which commands are supported, use the ``list-commands`` command. It will
-instruct the CA to return a list of all supported commands.
+For a list of available commands, see :ref:`ctrl-channel`;
+additional commands may be provided by hooks libraries. For a list of
+all supported commands from the CA, use the ``list-commands`` command.
 
 The following shows a simple example of usage:
 
@@ -86,7 +85,7 @@ returned for the service named ``dhcp4``.
 
 It is envisaged that the Kea shell will be most frequently used in
 scripts; the next example shows a simple scripted execution. It sends
-the command "config-write" to the CA (the ``--service`` parameter hasn't
+the command "config-write" to the CA (the ``--service`` parameter has not
 been used), along with the parameters specified in param.json. The
 result will be stored in result.json.
 
@@ -105,7 +104,7 @@ servers, the default empty path in the URL is not enough, so the
 
    $ kea-shell --host 192.0.2.1 --port 8001 --path kea ...
 
-Kea shell requires Python to to be installed on the system. It has been
+The Kea shell requires Python to to be installed on the system. It has been
 tested with Python 2.7 and various versions of Python 3, up to 3.5.
 Since not every Kea deployment uses this feature and there are
 deployments that do not have Python, the Kea shell is not enabled by
@@ -115,6 +114,6 @@ during the installation of Kea.
 The Kea shell is intended to serve more as a demonstration of the
 RESTful interface's capabilities (and, perhaps, an illustration for
 people interested in integrating their management environments with Kea)
-than as a serious management client. Do not expect it to be
-significantly expanded in the future. It is, and will remain, a simple
+than as a serious management client. It is not likely to be
+significantly expanded in the future; it is, and will remain, a simple
 tool.
index 1e65e7f416aaf6a275c500c1ac9bb5bbdd26b2c3..614f3b39e528c3136c2ad2b083052b2b72c149a1 100644 (file)
@@ -10,10 +10,10 @@ Statistics Overview
 Both Kea DHCP servers support statistics gathering. A working DHCP
 server encounters various events that can cause certain statistics to be
 collected. For example, a DHCPv4 server may receive a packet
-(pkt4-received statistic increases by one) that after parsing is
+(the pkt4-received statistic increases by one) that after parsing is
 identified as a DHCPDISCOVER (pkt4-discover-received). The server
 processes it and decides to send a DHCPOFFER representing its answer
-(pkt4-offer-sent and pkt4-sent statistics increase by one). Such events
+(the pkt4-offer-sent and pkt4-sent statistics increase by one). Such events
 happen frequently, so it is not uncommon for the statistics to have
 values in the high thousands. They can serve as an easy and powerful
 tool for observing a server's and a network's health. For example, if
@@ -24,7 +24,7 @@ There are four types of statistics:
 
 -  *integer* - this is the most common type. It is implemented as a
    64-bit integer (int64_t in C++), so it can hold any value between
-   -2^63 to 2^63 -1.
+   -2^63 to 2^63-1.
 
 -  *floating point* - this type is intended to store floating-point
    precision. It is implemented as a C++ double type.
@@ -38,15 +38,14 @@ There are four types of statistics:
 
 During normal operation, the DHCPv4 and DHCPv6 servers gather
 statistics. For a list of DHCPv4 and DHCPv6 statistics, see
-`??? <#dhcp4-stats>`__ and `??? <#dhcp6-stats>`__, respectively.
+:ref:`dhcp4-stats` and :ref:`dhcp6-stats`, respectively.
 
 To extract data from the statistics module, the control channel can be
-used. See `??? <#ctrl-channel>`__ for details. It is possible to
+used. See :ref:`ctrl-channel` for details. It is possible to
 retrieve a single statistic or all statistics, reset statistics (i.e.
-set to neutral value, typically zero), or even remove completely a
-single statistic or all statistics. See section `Commands for
-Manipulating Statistics <#command-stats>`__ for a list of
-statistics-oriented commands.
+set to a neutral value, typically zero), or even completely remove a
+single statistic or all statistics. See the section :ref:`command-stats`
+for a list of statistics-oriented commands.
 
 .. _stats-lifecycle:
 
@@ -55,7 +54,7 @@ Statistics Lifecycle
 
 It is useful to understand how the Statistics Manager module works. When
 the server starts operation, the manager is empty and contains no
-statistics. When ``statistic-get-all`` is executed, an empty list is
+statistics. If the ``statistic-get-all`` command is executed at that point, an empty list is
 returned. Once the server performs an operation that causes a statistic
 to change, the related statistic will be created. In general, once a
 statistic is recorded even once, it is kept in the manager until
@@ -74,8 +73,8 @@ the near future. For example, a misconfigured device in a network may
 cause clients to report duplicate addresses, so the server will report
 increasing values of pkt4-decline-received. Once the problem is found
 and the device is removed, the system administrator may want to remove
-the pkt4-decline-received statistic, so it won't be reported anymore. If
-a duplicate address is detected ever again, the server will add this
+the pkt4-decline-received statistic, so it will not be reported anymore. If
+a duplicate address is ever detected again, the server will add this
 statistic back.
 
 .. _command-stats:
@@ -84,14 +83,14 @@ Commands for Manipulating Statistics
 ====================================
 
 There are several commands defined that can be used for accessing
-(-get), resetting to zero or neutral value (-reset), or even removing a
+(-get), resetting to zero or a neutral value (-reset), or removing a
 statistic completely (-remove). The difference between reset and remove
 is somewhat subtle. The reset command sets the value of the statistic to
 zero or a neutral value, so after this operation, the statistic will
 have a value of 0 (integer), 0.0 (float), 0h0m0s0us (duration), or ""
 (string). When requested, a statistic with the values mentioned will be
 returned. ``Remove`` removes a statistic completely, so the statistic
-will not be reported anymore. Please note that the server code may add
+will no longer be reported. Please note that the server code may add
 it back if there is a reason to record it.
 
    **Note**
@@ -99,14 +98,14 @@ it back if there is a reason to record it.
    The following sections describe commands that can be sent to the
    server; the examples are not fragments of a configuration file. For
    more information on sending commands to Kea, see
-   `??? <#ctrl-channel>`__.
+   :ref:`ctrl-channel`.
 
 .. _command-statistic-get:
 
-statistic-get Command
----------------------
+The statistic-get Command
+-------------------------
 
-The *statistic-get* command retrieves a single statistic. It takes a
+The ``statistic-get`` command retrieves a single statistic. It takes a
 single-string parameter called ``name``, which specifies the statistic
 name. An example command may look like this:
 
@@ -127,10 +126,10 @@ the status code will still indicate success (0).
 
 .. _command-statistic-reset:
 
-statistic-reset Command
------------------------
+The statistic-reset Command
+---------------------------
 
-The *statistic-reset* command sets the specified statistic to its
+The ``statistic-reset`` command sets the specified statistic to its
 neutral value: 0 for integer, 0.0 for float, 0h0m0s0us for time
 duration, and "" for string type. It takes a single-string parameter
 called ``name``, which specifies the statistic name. An example command
@@ -153,10 +152,10 @@ and the text field contains the error description.
 
 .. _command-statistic-remove:
 
-statistic-remove Command
-------------------------
+The statistic-remove Command
+----------------------------
 
-The *statistic-remove* command attempts to delete a single statistic. It
+The ``statistic-remove`` command attempts to delete a single statistic. It
 takes a single-string parameter called ``name``, which specifies the
 statistic name. An example command may look like this:
 
@@ -177,10 +176,10 @@ and the text field contains the error description.
 
 .. _command-statistic-get-all:
 
-statistic-get-all Command
--------------------------
+The statistic-get-all Command
+-----------------------------
 
-The *statistic-get-all* command retrieves all statistics recorded. An
+The ``statistic-get-all`` command retrieves all statistics recorded. An
 example command may look like this:
 
 ::
@@ -196,10 +195,10 @@ when the total number of statistics is zero).
 
 .. _command-statistic-reset-all:
 
-statistic-reset-all Command
----------------------------
+The statistic-reset-all Command
+-------------------------------
 
-The *statistic-reset* command sets all statistics to their neutral
+The ``statistic-reset`` command sets all statistics to their neutral
 values: 0 for integer, 0.0 for float, 0h0m0s0us for time duration, and
 "" for string type. An example command may look like this:
 
@@ -217,10 +216,10 @@ field contains the error description.
 
 .. _command-statistic-remove-all:
 
-statistic-remove-all Command
-----------------------------
+The statistic-remove-all Command
+--------------------------------
 
-The *statistic-remove-all* command attempts to delete all statistics. An
+The ``statistic-remove-all`` command attempts to delete all statistics. An
 example command may look like this:
 
 ::
@@ -233,4 +232,4 @@ example command may look like this:
 If the removal of all statistics is successful, the server responds with
 a status of 0, indicating success, and an empty parameters field. If an
 error is encountered, the server returns a status code of 1 (error) and
-the text field will contain the error description.
+the text field contains the error description.