Commit 87220ab1 authored by Suzanne Goldlust's avatar Suzanne Goldlust Committed by Michal Nowikowski
Browse files

Converting from docbook to sphinx: fixing links, making content/grammar corrections as needed

parent 0228c239
......@@ -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:
......
......@@ -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 \
......
This diff is collapsed.
......@@ -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.
......
......@@ -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
......
This diff is collapsed.
......@@ -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).
..
......
......@@ -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.
......
......@@ -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
..
......
......@@ -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
......
......@@ -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