2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-09-01 22:45:18 +00:00

Additional edits, Sphinx formatting

This commit is contained in:
Suzanne Goldlust
2019-07-16 14:35:04 -04:00
committed by Michal Nowikowski
parent 8c15d974bc
commit 2c8cfbfc7c
11 changed files with 80 additions and 76 deletions

View File

@@ -413,7 +413,7 @@ Notes:
than one appear. For the vendor.enterprise and vendor-class.enterprise than one appear. For the vendor.enterprise and vendor-class.enterprise
expressions, the value from the first instance is returned. Please expressions, the value from the first instance is returned. Please
submit a feature request on the submit a feature request on the
`Kea GitLab site <https://gitlab.isc.org/isc-projects/kea>`__ if you need `Kea GitLab site <https://gitlab.isc.org/isc-projects/kea>`__ to request
support for multiple instances. support for multiple instances.
.. table:: List of Classification Expressions .. table:: List of Classification Expressions
@@ -543,7 +543,7 @@ The option data is a list which defines any options that should be
assigned to members of this class. assigned to members of this class.
The option definition is for DHCPv4 option 43 The option definition is for DHCPv4 option 43
(:ref:`dhcp4-vendor-opts` and DHCPv4 private options (:ref:`dhcp4-vendor-opts`) and DHCPv4 private options
(:ref:`dhcp4-private-opts`). (:ref:`dhcp4-private-opts`).
Usually the test expression is evaluated before subnet selection, but in Usually the test expression is evaluated before subnet selection, but in

View File

@@ -4,7 +4,7 @@
Congestion Handling in DHCPv4 and DHCPv6 Congestion Handling in DHCPv4 and DHCPv6
**************************************** ****************************************
.. _congeston-handling-background: .. _congestion-handling-background:
What is Congestion? What is Congestion?
=================== ===================
@@ -39,7 +39,7 @@ that were no longer relevant, or worse, were redundant. In other words,
the packets waiting in the FIFO socket buffers became increasingly the packets waiting in the FIFO socket buffers became increasingly
stale. stale.
.. _congeston-handling-solution: .. _congestion-handling-solution:
Configuring Congestion Handling Configuring Congestion Handling
=============================== ===============================
@@ -70,7 +70,8 @@ queue is implemented as a plug-in, which can replaced by a custom queue
implementation via a hook library. This should make it straightforward implementation via a hook library. This should make it straightforward
for interested parties to experiment with their own solutions. for interested parties to experiment with their own solutions.
(Developers can refer to isc::dhcp::PacketQueue and (Developers can refer to isc::dhcp::PacketQueue and
isc::dhcp::PacketQueueMgr, described in the Kea Developer's Guide). isc::dhcp::PacketQueueMgr, described in the
`Kea Developer's Guide <https://jenkins.isc.org/job/Kea_doc/doxygen/index.html>`__.)
Packet queue behavior is configured in both kea-dhcp4 and kea-dhcp6 Packet queue behavior is configured in both kea-dhcp4 and kea-dhcp6
servers through an optional, top-level, configuration element, servers through an optional, top-level, configuration element,

View File

@@ -141,7 +141,7 @@ Upon startup, the module will load its configuration and begin listening
for NCRs based on that configuration. for NCRs based on that configuration.
During startup, the server will attempt to create a PID file of the form: During startup, the server will attempt to create a PID file of the form:
[localstatedir]/[conf name].kea-dhcp-ddns.pid where: [**localstatedir**]/[**conf name**].kea-dhcp-ddns.pid where:
- ``localstatedir`` - is the value as passed into the build configure - ``localstatedir`` - is the value as passed into the build configure
script; it defaults to "/usr/local/var". Note that this value may be script; it defaults to "/usr/local/var". Note that this value may be
@@ -560,7 +560,7 @@ This section describes how to add Reverse DDNS Domains; repeat these
steps for each Reverse DDNS Domain desired. Each Reverse DDNS Domain has steps for each Reverse DDNS Domain desired. Each Reverse DDNS Domain has
the following parameters: the following parameters:
- ``name`` - the fully qualified reverse zone that this DDNS Domain can - ``name`` - the fully qualified reverse zone that this DDNS domain can
update. This is the value used during reverse matching, which will update. This is the value used during reverse matching, which will
compare it with a reversed version of the request's lease address. compare it with a reversed version of the request's lease address.
The zone name should follow the appropriate standards; for example, The zone name should follow the appropriate standards; for example,

View File

@@ -58,7 +58,7 @@ configuration file. Since the DHCPv6 server opens privileged ports, it
requires root access. This daemon must be run as root. requires root access. This daemon must be run as root.
During startup, the server will attempt to create a PID file of the During startup, the server will attempt to create a PID file of the
form: localstatedir]/[conf name].kea-dhcp6.pid where: form: [**localstatedir**]/[**conf name**].kea-dhcp6.pid where:
- ``localstatedir``: The value as passed into the build configure - ``localstatedir``: The value as passed into the build configure
script; it defaults to "/usr/local/var". Note that this value may be script; it defaults to "/usr/local/var". Note that this value may be
@@ -571,7 +571,7 @@ be set to "mysql" or "postgresql".
Next, the name of the database to hold the reservations must be set; Next, the name of the database to hold the reservations must be set;
this is the name used when the lease database was created (see this is the name used when the lease database was created (see
`:ref:`supported-databases` for instructions on how to set up the :ref:`supported-databases` for instructions on how to set up the
desired database type): desired database type):
:: ::
@@ -1782,8 +1782,8 @@ last field is an array, i.e. it can contain more than one value, as in:
... ...
} }
The new option content is one IPv6 address followed by one or more 16- The new option content is one IPv6 address followed by one or more 16-bit
bit unsigned integers. unsigned integers.
.. note:: .. note::
@@ -2808,25 +2808,25 @@ are enabled. To set its value simply set it to the desired string:
When qualifying a partial name, kea-dhcp6 will construct the name in the When qualifying a partial name, kea-dhcp6 will construct the name in the
format: format:
[candidate-name].[qualifying-suffix]. [**candidate-name**].[**qualifying-suffix**].
where candidate-name is the partial name supplied in the DHCPREQUEST. where **candidate-name** is the partial name supplied in the DHCPREQUEST.
For example, if the FQDN domain name value is "some-computer" and the For example, if the FQDN domain name value is "some-computer" and the
qualifying-suffix "example.com", the generated FQDN is: qualifying-suffix "example.com", the generated FQDN is:
some-computer.example.com. **some-computer.example.com.**
When generating the entire name, kea-dhcp6 will construct the name in When generating the entire name, kea-dhcp6 will construct the name in
the format: the format:
[generated-prefix]-[address-text].[qualifying-suffix]. [**generated-prefix**]-[**address-text**].[**qualifying-suffix**].
where address-text is simply the lease IP address converted to a where **address-text** is simply the lease IP address converted to a
hyphenated string. For example, if the lease address is 3001:1::70E, the hyphenated string. For example, if the lease address is 3001:1::70E, the
qualifying suffix "example.com", and the default value is used for qualifying suffix "example.com", and the default value is used for
``generated-prefix``, the generated FQDN is: ``generated-prefix``, the generated FQDN is:
myhost-3001-1--70E.example.com. **myhost-3001-1--70E.example.com.**
.. _host-name-sanitization: .. _host-name-sanitization:
@@ -3198,7 +3198,7 @@ another.
.. note:: .. note::
Global reservations, while useful in certain circumstances, have aspects Global reservations, while useful in certain circumstances, have aspects
that must be given due consideration when using them, please see that must be given due consideration. Please see
:ref:`reservation6-conflict` for more details. :ref:`reservation6-conflict` for more details.
.. _reservation6-conflict: .. _reservation6-conflict:
@@ -5499,7 +5499,7 @@ The following standards are currently supported:
- *Dynamic Host Configuration Protocol for IPv6 (DHCPv6)*, `RFC - *Dynamic Host Configuration Protocol for IPv6 (DHCPv6)*, `RFC
8415 <https://tools.ietf.org/html/rfc8415>`__: New DHCPv6 protocol 8415 <https://tools.ietf.org/html/rfc8415>`__: New DHCPv6 protocol
specification which obsoletes RFC 3315, RFC 3633, RFC 3736, RFC 4242, specification which obsoletes RFC 3315, RFC 3633, RFC 3736, RFC 4242,
RFC 7083, RFC 7283, and RFC 7550 RFC 7083, RFC 7283, and RFC 7550.
.. _dhcp6-limit: .. _dhcp6-limit:

View File

@@ -141,7 +141,7 @@ the specified client class has been found:
"text": "Class 'ipxe_efi_x64' deleted." "text": "Class 'ipxe_efi_x64' deleted."
} }
If the class doesn't exist, the result of 3 is returned. If the class does not exist, the result of 3 is returned.
.. _command-class-list: .. _command-class-list:

View File

@@ -295,7 +295,8 @@ in normal operation serves no scopes.
The scope names can be used to associate pools, subnets, and networks The scope names can be used to associate pools, subnets, and networks
with certain servers, so only these servers can allocate addresses or with certain servers, so only these servers can allocate addresses or
prefixes from those pools, subnets, or networks. This is done via the prefixes from those pools, subnets, or networks. This is done via the
client classification mechanism (see below). client classification mechanism (see :ref:`ha-load-balancing-advanced-config`
for more details).
.. _ha-scope-transition: .. _ha-scope-transition:
@@ -394,13 +395,13 @@ with the only difference that ``this-server-name`` should be set to
}] }]
} }
Two hook libraries must be loaded to enable HA: Two hooks libraries must be loaded to enable HA:
``libdhcp_lease_cmds.so`` and ``libdhcp_ha.so``. The latter implements ``libdhcp_lease_cmds.so`` and ``libdhcp_ha.so``. The latter implements
the HA feature, while the former enables control commands required by HA the HA feature, while the former enables control commands required by HA
to fetch and manipulate leases on the remote servers. In the example to fetch and manipulate leases on the remote servers. In the example
provided above, it is assumed that Kea libraries are installed in the provided above, it is assumed that Kea libraries are installed in the
``/usr/lib`` directory. If Kea is not installed in the /usr directory, ``/usr/lib`` directory. If Kea is not installed in the /usr directory,
the hook libraries locations must be updated accordingly. the hooks libraries locations must be updated accordingly.
The HA configuration is specified within the scope of ``libdhcp_ha.so``. The HA configuration is specified within the scope of ``libdhcp_ha.so``.
Note that the top-level parameter ``high-availability`` is a list, even Note that the top-level parameter ``high-availability`` is a list, even
@@ -803,8 +804,8 @@ less than 10000 lines.
.. _ha-syncing-timeouts: .. _ha-syncing-timeouts:
Discussion About Timeouts Timeouts
------------------------- --------
In deployments with a large number of clients connected to the network, In deployments with a large number of clients connected to the network,
lease-database synchronization after a server failure may be a lease-database synchronization after a server failure may be a
@@ -881,10 +882,10 @@ the Kea source at: ``src/lib/config/timeouts.h``.
.. _ha-pause-state-machine: .. _ha-pause-state-machine:
Pausing HA State Machine Pausing the 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 described in detail in :ref:`ha-server-states`. The server
enters each state when certain conditions are met, most often taking enters each state when certain conditions are met, most often taking
into account the partner server's state. In some states the server into account the partner server's state. In some states the server

View File

@@ -44,7 +44,7 @@ any other hooks library; for example, this configuration could be used:
} }
} ] } ]
Once loaded, the Host Cache hook library provides a number of new Once loaded, the Host Cache hooks library provides a number of new
commands which can be used either over the control channel (see commands which can be used either over the control channel (see
:ref:`ctrl-channel-client`) or the RESTful API (see :ref:`ctrl-channel-client`) or the RESTful API (see
:ref:`agent-overview`). An example RESTful API client is described in :ref:`agent-overview`). An example RESTful API client is described in
@@ -69,7 +69,7 @@ removed. An example usage looks as follows:
This command will remove 1000 hosts. 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 hosts, please use cache-clear instead. The hosts are stored in FIFO
order, so the oldest entries are always removed. (first-in, first-out) order, so the oldest entries are always removed.
.. _command-cache-clear: .. _command-cache-clear:

View File

@@ -3,7 +3,7 @@
radius: RADIUS Server Support radius: RADIUS Server Support
============================= =============================
The RADIUS hook library allows Kea to interact with two types of RADIUS The RADIUS hooks library allows Kea to interact with two types of RADIUS
servers: access and accounting. Although the most common DHCP and RADIUS servers: access and accounting. Although the most common DHCP and RADIUS
integration is done on the DHCP relay-agent level (DHCP clients send integration is done on the DHCP relay-agent level (DHCP clients send
DHCP packets to DHCP relays; those relays contact the RADIUS server and DHCP packets to DHCP relays; those relays contact the RADIUS server and
@@ -538,8 +538,8 @@ received during the initial Discover/Offer exchanges and use it again
later when sending accounting messages. later when sending accounting messages.
This mechanism is implemented based on user context in host This mechanism is implemented based on user context in host
reservations. (See :ref:`user-context` for details about user reservations. (See :ref:`user-context` for details.)
context). The host cache mechanism allows the information retrieved by The host cache mechanism allows the information retrieved by
RADIUS to be stored and later used for sending accounting and access RADIUS to be stored and later used for sending accounting and access
queries to the RADIUS server. In other words, the host-cache mechanism queries to the RADIUS server. In other words, the host-cache mechanism
is mandatory, unless administrators do not want RADIUS communication for messages is mandatory, unless administrators do not want RADIUS communication for messages

View File

@@ -127,7 +127,7 @@ some hooks may require their own dedicated switches, e.g. the RADIUS hook
requires extra switches for FreeRADIUS. Please consult later sections of requires extra switches for FreeRADIUS. Please consult later sections of
this chapter for details. this chapter for details.
6. Rebuild Kea 6. Rebuild Kea.
:: ::
@@ -209,7 +209,9 @@ configuration would be:
parameter entry for comments, as is the case with many configuration parameter entry for comments, as is the case with many configuration
scopes. scopes.
.. note: ..
.. note::
In all versions of Kea since 1.1.0, libraries In all versions of Kea since 1.1.0, libraries
are reloaded even if their lists have not changed, are reloaded even if their lists have not changed,
@@ -1033,7 +1035,7 @@ client-id option) is ignored.
The :ref:`lease-cmds` section describes commands used to retrieve, The :ref:`lease-cmds` section describes commands used to retrieve,
update, and delete leases using various identifiers, such as "hw-address" and update, and delete leases using various identifiers, such as "hw-address" and
"client-id". The lease_cmds library doesn't natively support querying "client-id". The lease_cmds library does not natively support querying
for leases by flexible identifier. However, when ``replace-client-id`` is for leases by flexible identifier. However, when ``replace-client-id`` is
set to "true", it makes it possible to query for leases using a value set to "true", it makes it possible to query for leases using a value
derived from the flexible identifier. In the DHCPv4 case, the query will derived from the flexible identifier. In the DHCPv4 case, the query will
@@ -1528,7 +1530,7 @@ page is received. Its response will look like this:
This command is more complex than ``reservation-get-all``, but lets This command is more complex than ``reservation-get-all``, but lets
users retrieve larger host reservations lists in smaller chunks. For users retrieve larger host reservations lists in smaller chunks. For
small deployments with few reservations, it is easier to use small deployments with few reservations, it is easier to use
``reservation-get-all`` (see :ref:`command-reservation-get-all`. ``reservation-get-all`` (see :ref:`command-reservation-get-all`).
.. note:: .. note::
@@ -2085,7 +2087,7 @@ belonging to the subnet. The server may also be configured with static
host reservations which are associated with this subnet. The current host reservations which are associated with this subnet. The current
implementation of the ``subnet4-del`` command removes neither the leases nor implementation of the ``subnet4-del`` command removes neither the leases nor
the host reservations associated with a subnet. This is the safest approach the host reservations associated with a subnet. This is the safest approach
because the server doesn't lose track of leases assigned to the clients because the server does not lose track of leases assigned to the clients
from this subnet. However, removal of the subnet may still cause from this subnet. However, removal of the subnet may still cause
configuration errors and conflicts. For example: after removal of the configuration errors and conflicts. For example: after removal of the
subnet, the server administrator may update a new subnet with the ID subnet, the server administrator may update a new subnet with the ID
@@ -2141,7 +2143,7 @@ belonging to the subnet. The server may also be configured with static
host reservations which are associated with this subnet. The current host reservations which are associated with this subnet. The current
implementation of the ``subnet6-del`` command removes neither the leases nor implementation of the ``subnet6-del`` command removes neither the leases nor
the host reservations associated with a subnet. This is the safest approach the host reservations associated with a subnet. This is the safest approach
because the server doesn't lose track of leases assigned to the clients because the server does not lose track of leases assigned to the clients
from this subnet. However, removal of the subnet may still cause from this subnet. However, removal of the subnet may still cause
configuration errors and conflicts. For example: after removal of the configuration errors and conflicts. For example: after removal of the
subnet, the server administrator may add a new subnet with the ID used subnet, the server administrator may add a new subnet with the ID used

View File

@@ -155,8 +155,8 @@ by the following diagram:
| c1 | | c2 | |c3| | c4 | | c1 | | c2 | |c3| | c4 |
|<---->|<---------->|<-->|<---------->|<>|<---------->|<-->| |<---->|<---------->|<-->|<---------->|<>|<---------->|<-->|<--
----------------------------------------------------------------> ------------------------------------------------------------------>
| | 5s | | 5s | | 5s | | time | | 5s | | 5s | | 5s | | time
This diagram shows four lease-reclamation cycles (c1 through c4) of This diagram shows four lease-reclamation cycles (c1 through c4) of
@@ -322,9 +322,9 @@ should consider using host reservations or leases with very long lifetimes.
.. _leases-reclamation-using-command: .. _leases-reclamation-using-command:
Reclaiming Expired Leases with Command Reclaiming Expired Leases via Command
====================================== =====================================
The *leases-reclaim* command can be used to trigger lease reclamation at The ``leases-reclaim`` command can be used to trigger lease reclamation at
any time. Please consult the :ref:`command-leases-reclaim` section any time. Please consult the :ref:`command-leases-reclaim` section
for details about using this command. for details about using this command.