]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
Update hooks-host-cache.xml
authorSuzanne Goldlust <sgoldlust@isc.org>
Fri, 28 Dec 2018 23:11:53 +0000 (18:11 -0500)
committerTomek Mrugalski <tomasz@isc.org>
Thu, 28 Feb 2019 14:52:12 +0000 (15:52 +0100)
doc/guide/hooks-host-cache.xml

index a71905db0b768cc28c3334c6545289e7a1c9d0fc..2a1017e8d6a14f449ffcfadd463b4a36cf511ede 100644 (file)
@@ -1,6 +1,6 @@
 <section xml:id="hooks-host-cache">
   <title>host_cache: Caching Host Reservations</title>
-  <para>Some of the database backends, such as RADIUS, are considered
+  <para>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 impact and improve performance, the
 
   <para>
     <note>
-      <para>This library may only be loaded by <command>kea-dhcp4</command>
-      or <command>kea-dhcp6</command> process.
+      <para>This library may only be loaded by the <command>kea-dhcp4</command>
+      or the <command>kea-dhcp6</command> process.
       </para>
     </note>
 
-    In principle it can be used with any backend that may introduce
+    In principle, this hook library can be used with any backend that may introduce
     performance degradation (MySQL, PostgreSQL, Cassandra, RADIUS).
-    Host Cache is required to be loaded for the RADIUS accounting
+    Host Cache must be loaded for the RADIUS accounting
     mechanism to work.
   </para>
 
   <para>
-    Host Cache hook library is currently very simple. It takes only
+    The Host Cache hook library is currently very simple. It takes only
     one optional parameter ("maximum") that defines the maximum number
-    of hosts to be cached. If not specified the default value of 0 is
+    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
+    loaded the same way as any other hook library; for example, this
     configuration could be used:
 
 <screen>
   </para>
 
   <para>
-    Once loaded, the Host Cache hook library makes available a number
-    of new commands. Those commands can be used either over control
-    channel (see <xref linkend="ctrl-channel-client"/>) or REST API
+    Once loaded, the Host Cache hook library provides a number
+    of new commands which can be used either over the control
+    channel (see <xref linkend="ctrl-channel-client"/>) or the REST API
     (see <xref linkend="agent-overview"/>). An example REST API client
     is described in <xref linkend="shell-overview"/>. The following
     sections describe the commands available.
   </para>
 
   <section id="command-cache-flush">
-    <title>cache-flush command</title>
-    <para>This command allows removal of specified number of cached
-    host entries. It takes one parameter which defines the number of
+    <title>cache-flush Command</title>
+    <para>This command allows removal of specified number of cached
+    host entries. It takes one parameter, which defines the number of
     hosts to be removed. An example usage looks as follows:
 <screen>
 {
 }</screen>
 This command will remove 1000 hosts. If you want to delete all
 cached hosts, please use cache-clear instead. The hosts are stored
-in FIFO order, so always the oldest entries are removed.
+in FIFO order, so the oldest entries are always removed.
     </para>
   </section>
 
   <section id="command-cache-clear">
-    <title>cache-clear command</title>
+    <title>cache-clear Command</title>
     <para>This command allows removal of all cached
     host entries. An example usage looks as follows:
 <screen>
 {
     "command": "cache-clear"
 }</screen>
-This command will remove all hosts. If you want to delete only
+This command will remove all hosts. If you want to delete only a
 certain number of cached hosts, please use cache-flush instead.
     </para>
   </section>
 
   <section id="command-cache-write">
-    <title>cache-write command</title>
-    <para>In general case the cache content is considered a run-time
-    state and the server can be shutdown or restarted as usual. The
+    <title>cache-write Command</title>
+    <para>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 repopulated after restart. However, there are
-    some cases when it is useful to store contents of the cache. One
-    such case is RADIUS (where the cached hosts also retain
-    additional cached RADIUS attributes and there is no easy way to
+    some cases when it is useful to store the contents of the cache. One
+    such case is RADIUSwhere 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. As a result, packets never go
-    through relay which doesn't insert relay options, which in turn
-    are in some deployment to query the RADIUS server). Another use
+    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.
     </para>
 
-    <para>This command allows writing the contents of in-memory cache
-    to a file on disk. It takes one parameter which defines the
+    <para>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 example usage looks as follows:
 <screen>
 {
     "command": "cache-write",
     "arguments": "/tmp/kea-host-cache.json"
 }</screen>
-This command will store the contents to /tmp/kea-host-cache.json file.
-That file can then be loaded with cache-load command or processed by
+This command will store the contents to the /tmp/kea-host-cache.json file.
+That file can then be loaded with the cache-load command or processed by
 any other tool that is able to understand JSON format.
     </para>
 
@@ -122,55 +120,55 @@ any other tool that is able to understand JSON format.
   </section>
 
   <section id="command-cache-load">
-    <title>cache-load command</title>
-    <para>See previous section for a discussion regarding use cases
+    <title>cache-load Command</title>
+    <para>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.</para>
 
-    <para>This command allows load the contents of a file on disk into
-    an in-memory cache. It takes one parameter which defines the
+    <para>This command allows the contents of a file on disk to be loaded into
+    an in-memory cache. It takes one parameter, which defines the
     filename. An example usage looks as follows:
 <screen>
 {
     "command": "cache-load",
     "arguments": "/tmp/kea-host-cache.json"
 }</screen>
-This command will store the contents to /tmp/kea-host-cache.json file.
-That file can then be loaded with cache-load command or processed by
+This command will store the contents to the /tmp/kea-host-cache.json file.
+That file can then be loaded with the cache-load command or processed by
 any other tool that is able to understand JSON format.
     </para>
 
   </section>
 
   <section id="command-cache-get">
-    <title>cache-get command</title>
+    <title>cache-get Command</title>
     <para>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.</para>
-    <para>This command allows load the contents of a file on disk into
-    an in-memory cache. It takes one parameter which defines the
+    <para>This command allows the contents of a file on disk to be loaded into
+    an in-memory cache. It takes one parameter, which defines the
     filename. An example usage looks as follows:
 <screen>
 {
     "command": "cache-get"
 }</screen>
-This command will return all the cached hosts. Note the response
+This command will return all the cached hosts. Note that the response
 may be large.
     </para>
   </section>
 
   <section id="command-cache-insert">
-    <title>cache-insert command</title>
+    <title>cache-insert Command</title>
     <para>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 expects the arguments to follow the usual
+    cache; there are very few use cases when this command could be
+    useful. This command expects its arguments to follow the usual
     syntax for specifying host reservations (see <xref
     linkend="host-reservation-v4"/> or <xref
-    linkend="host-reservation-v6"/>) with one difference: the
+    linkend="host-reservation-v6"/>), with one difference: the
     subnet-id value must be specified explicitly.</para>
 
     <para>
-      An example command that will insert a IPv4 host into the host
+      An example command that will insert an IPv4 host into the host
       cache looks as follows:
 <screen>
 {
@@ -195,7 +193,7 @@ may be large.
     </para>
 
     <para>
-      An example command that will insert IPv6 host into the host
+      An example command that will insert an IPv6 host into the host
       cache looks as follows:
 <screen>
 {
@@ -221,29 +219,29 @@ may be large.
   </section>
 
   <section id="command-cache-remove">
-    <title>cache-remove command</title>
+    <title>cache-remove Command</title>
     <para>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 already provided configuration and the host entry is in
+    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 perhaps been upgraded to better service), the
+    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, Kea does not notice the
-    change as the cached values are used. Cache-remove command can
-    solve this problem by removing cached entry after administrative
+    change as the cached values are used. The cache-remove command can
+    solve this problem by removing cached entry after administrative
     changes.</para>
 
     <para>
-      The cache-remove command works similarly to reservation-get
-      command. It allows querying by two parameters. One of them is
-      either subnet-id4 or subnet-id6 and the other one is one of:
-      ip-address (may be IPv4 or IPv6 address), hw-address (specifies
-      hardware/MAC address), duid, circuit-id, client-id or flex-id.
+      The cache-remove command works similarly to the reservation-get
+      command. It allows querying by two parameters:
+      either subnet-id4 or subnet-id6; or
+      ip-address (may be an IPv4 or IPv6 address), hw-address (specifies
+      hardware/MAC address), duid, circuit-id, client-id, or flex-id.
     </para>
 
     <para>
       An example command to remove an IPv4 host with reserved address
-      192.0.2.1 from subnet with a subnet-id 123 looks as follows:
+      192.0.2.1 from subnet with a subnet-id 123 looks as follows:
 <screen>
 {
     "command": "cache-remove",
@@ -254,7 +252,7 @@ may be large.
 }</screen>
     </para>
     <para>
-      Another example that removes IPv6 host identifier by DUID and
+      Another example that removes an IPv6 host identifier by DUID and
       specific subnet-id is:
 <screen>
 {