mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-08-29 04:57:52 +00:00
101 lines
4.4 KiB
XML
101 lines
4.4 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
|
|
<!ENTITY mdash "—" >
|
|
]>
|
|
|
|
<chapter id="kea-lfc">
|
|
<title>The LFC process</title>
|
|
|
|
<section id="kea-lfc-overview">
|
|
<title>Overview</title>
|
|
<para><command>kea-lfc</command> is a service process that removes
|
|
redundant information from the files used to provide persistent storage
|
|
for the memfile data base backend. This service is written to run as a
|
|
stand alone process.
|
|
</para>
|
|
<para>While <command>kea-lfc</command> can be started externally, there is
|
|
usually no need to do this. <command>kea-lfc</command> is run on a periodic
|
|
basis by the Kea DHCP servers.
|
|
</para>
|
|
<para>The process operates on a set of files, using them for input and output
|
|
of the lease entries and to indicate where it is in the process in case of an
|
|
interruption. Currently the caller must supply names for all of the files, in
|
|
the future this requirement may be relaxed with the process getting the names
|
|
from either the configuration file or from defaults.
|
|
</para>
|
|
</section>
|
|
|
|
<section id="kea-lfc-usage">
|
|
<title>Command Line Options</title>
|
|
<para><command>kea-lfc</command> is run as follows:
|
|
<screen>
|
|
kea-lfc [-4 | -6] -c config-file -p pid-file -x previous-file -i copy-file -o output-file -f finish-file
|
|
</screen>
|
|
</para>
|
|
|
|
<para>The argument <command>-4</command> or <command>-6</command> selects the protocol
|
|
version of the lease files.
|
|
</para>
|
|
|
|
<para>The <command>-c</command> argument specifies the configuration file. This is
|
|
required, but not currently used by the process.
|
|
</para>
|
|
|
|
<para>The <command>-p</command> argument specifies the PID file. When the
|
|
<command>kea-lfc</command> process starts it attempts to determine if another
|
|
instance of the process is already running by examining the pid file. If one
|
|
is already running the new process is terminated. If one isn't running it writes
|
|
its pid into the pid file.
|
|
</para>
|
|
|
|
<para>The other filenames specify where the <command>kea-lfc</command> process
|
|
should look for input, write its output and use for bookkeeping.
|
|
|
|
<itemizedlist>
|
|
<listitem><simpara>
|
|
<command>previous</command> —
|
|
When <command>kea-lfc</command> starts this
|
|
is the result of any previous run of <command>kea-lfc</command>.
|
|
When <command>kea-lfc</command> finishes it is the result of this run.
|
|
If <command>kea-lfc</command> is interrupted before completing,
|
|
this file may not exist.
|
|
</simpara></listitem>
|
|
|
|
<listitem><simpara>
|
|
<command>input</command> —
|
|
Before the DHCP server invokes <command>kea-lfc</command> it will
|
|
move the current lease file here and then call <command>kea-lfc</command>
|
|
with this file.
|
|
</simpara></listitem>
|
|
|
|
<listitem><simpara>
|
|
<command>output</command> —
|
|
The temporary file <command>kea-lfc</command> should use to write the leases.
|
|
Upon completion of writing this file, it will be moved to the finish file
|
|
(see below).
|
|
</simpara></listitem>
|
|
|
|
<listitem><simpara>
|
|
<command>finish</command> —
|
|
Another temporary file <command>kea-lfc</command> uses for bookkeeping. When
|
|
<command>kea-lfc</command> completes writing the outputfile it moves it to this
|
|
file name. After <command>kea-lfc</command> finishes deleting the other files
|
|
(previous and input) it moves this file to previous lease file. By moving the
|
|
files in this fashion the <command>kea-lfc</command> and the DHCP server
|
|
processes can determine the correct file to use even if one of the
|
|
processes was interrupted before completing its task.
|
|
</simpara></listitem>
|
|
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<para>There are several additional arguments mostly for debugging purposes.
|
|
<command>-d</command> Sets the logging level to debug. <command>-v</command> and
|
|
<command>-V</command> print out version stamps with <command>-V</command> providing
|
|
a longer form. <command>-h</command> prints out the usage string.
|
|
</para>
|
|
|
|
</section>
|
|
</chapter>
|