Commit 44c78206 authored by Tomek Mrugalski's avatar Tomek Mrugalski 🛰

[github39] Merge branch 'docbook-upgrade' of https://github.com/andreipavelQ/kea into github39

 - improvements required (__VERSION__ macro omitted)
 - the patch tried to reverse some texts back to 1.1.0 (we're now at 1.3.0)
 - there were many conflicts...

# Conflicts:
#	doc/guide/admin.xml
#	doc/guide/ctrl-channel.xml
#	doc/guide/ddns.xml
#	doc/guide/dhcp4-srv.xml
#	doc/guide/dhcp6-srv.xml
#	doc/guide/install.xml
#	doc/guide/intro.xml
#	doc/guide/kea-guide.xml
#	src/bin/admin/kea-admin.xml
#	src/bin/agent/kea-ctrl-agent.xml
#	src/bin/d2/kea-dhcp-ddns.xml
#	src/bin/dhcp4/kea-dhcp4.xml
#	src/bin/dhcp6/kea-dhcp6.xml
#	src/bin/keactrl/keactrl.xml
#	src/bin/lfc/kea-lfc.xml
#	src/bin/perfdhcp/perfdhcp.xml
#	src/bin/shell/kea-shell.xml
#	src/bin/sockcreator/kea-sockcreator.xml
parents ecf3ea4b 00f4b5b0
<?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 "&#x2014;" >
]>
<chapter id="admin">
<!--
- Copyright (C) 2015-2018 Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-->
<!-- Converted by db4-upgrade version 1.1 -->
<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="admin">
<title>Kea Database Administration</title>
<section id="kea-database-version">
<section xml:id="kea-database-version">
<title>Databases and Database Version Numbers</title>
<para>
......@@ -52,7 +55,7 @@
</para>
</section>
<section id="kea-admin">
<section xml:id="kea-admin">
<title>The kea-admin Tool</title>
<para>
......@@ -71,7 +74,7 @@
<itemizedlist>
<listitem>
<simpara>
<command>lease-init</command> &mdash;
<command>lease-init</command>
Initializes a new lease database. This is useful during a new
Kea installation. The database is initialized to the
latest version supported by the version of the software being
......@@ -81,7 +84,7 @@
<listitem>
<simpara>
<command>lease-version</command> &mdash;
<command>lease-version</command>
Reports the lease database version number. This is
not necessarily equal to the Kea version number as
each backend has its own versioning scheme.
......@@ -90,7 +93,7 @@
<listitem>
<simpara>
<command>lease-upgrade</command> &mdash;
<command>lease-upgrade</command>
Conducts a lease database upgrade. This is useful when
upgrading Kea.
</simpara>
......@@ -98,7 +101,7 @@
<listitem>
<simpara>
<command>lease-dump</command> &mdash;
<command>lease-dump</command>
Dumps the contents of the lease database (for MySQL, PostgreSQL or
CQL backends) to a CSV (comma separated values) text file. The first
line of the file contains the column names. This is meant to be
......@@ -114,28 +117,28 @@
<itemizedlist>
<listitem>
<simpara>
<command>memfile</command> &mdash; Lease information is
<command>memfile</command> Lease information is
stored on disk in a text file.
</simpara>
</listitem>
<listitem>
<simpara>
<command>mysql</command> &mdash;
<command>mysql</command>
Lease information is stored in a MySQL relational database.
</simpara>
</listitem>
<listitem>
<simpara>
<command>pgsql</command> &mdash;
<command>pgsql</command>
Lease information is stored in a PostgreSQL relational database.
</simpara>
</listitem>
<listitem>
<simpara>
<command>cql</command> &mdash;
<command>cql</command>
Lease information is stored in a CQL database.
</simpara>
</listitem>
......@@ -149,7 +152,7 @@
</para>
</section>
<section id="supported-databases">
<section xml:id="supported-databases">
<title>Supported Databases</title>
<para>The following table presents the capabilities of available
......@@ -158,7 +161,7 @@
backend may be essential for success or failure of your deployment.</para>
<para>
<table frame="all" id="backends">
<table frame="all" xml:id="backends">
<title>List of available backends</title>
<tgroup cols='5'>
<colspec colname='feature'/>
......@@ -240,7 +243,7 @@
present. Necessary disk write permission is required.
</para>
<section id="memfile-upgrade">
<section xml:id="memfile-upgrade">
<title>Upgrading Memfile Lease Files from an Earlier Version of Kea</title>
<para>
There are no special steps required to upgrade memfile lease files
......@@ -273,7 +276,7 @@
if you chose to store the data in other backends.
</para>
<section id="mysql-database-create">
<section xml:id="mysql-database-create">
<title>First Time Creation of the MySQL Database</title>
<para>
......@@ -294,7 +297,7 @@
<screen>
$ <userinput>mysql -u root -p</userinput>
Enter password:
mysql>
mysql&gt;
</screen>
</para>
</listitem>
......@@ -303,7 +306,7 @@ mysql>
<para>
Create the MySQL database:
<screen>
mysql> <userinput>CREATE DATABASE <replaceable>database-name</replaceable>;</userinput>
mysql&gt; <userinput>CREATE DATABASE <replaceable>database-name</replaceable>;</userinput>
</screen>
(<replaceable>database-name</replaceable> is the name
you have chosen for the database.)
......@@ -316,8 +319,8 @@ mysql> <userinput>CREATE DATABASE <replaceable>database-name</replaceable>;</use
(and give it a password), then grant it access to the
database tables:
<screen>
mysql> <userinput>CREATE USER '<replaceable>user-name</replaceable>'@'localhost' IDENTIFIED BY '<replaceable>password</replaceable>';</userinput>
mysql> <userinput>GRANT ALL ON <replaceable>database-name</replaceable>.* TO '<replaceable>user-name</replaceable>'@'localhost';</userinput>
mysql&gt; <userinput>CREATE USER '<replaceable>user-name</replaceable>'@'localhost' IDENTIFIED BY '<replaceable>password</replaceable>';</userinput>
mysql&gt; <userinput>GRANT ALL ON <replaceable>database-name</replaceable>.* TO '<replaceable>user-name</replaceable>'@'localhost';</userinput>
</screen>
(<replaceable>user-name</replaceable> and
<replaceable>password</replaceable> are the user ID
......@@ -334,8 +337,8 @@ mysql> <userinput>GRANT ALL ON <replaceable>database-name</replaceable>.* TO '<r
the tables using the <command>kea-admin</command> tool,
as explained below.) To do this:
<screen>
mysql> <userinput>CONNECT <replaceable>database-name</replaceable>;</userinput>
mysql> <userinput>SOURCE <replaceable>path-to-kea</replaceable>/share/kea/scripts/mysql/dhcpdb_create.mysql</userinput>
mysql&gt; <userinput>CONNECT <replaceable>database-name</replaceable>;</userinput>
mysql&gt; <userinput>SOURCE <replaceable>path-to-kea</replaceable>/share/kea/scripts/mysql/dhcpdb_create.mysql</userinput>
</screen>
(<replaceable>path-to-kea</replaceable> is the
location where you installed Kea.)
......@@ -346,7 +349,7 @@ mysql> <userinput>SOURCE <replaceable>path-to-kea</replaceable>/share/kea/script
<para>
Exit MySQL:
<screen>
mysql> <userinput>quit</userinput>
mysql&gt; <userinput>quit</userinput>
Bye
$
</screen>
......@@ -371,7 +374,7 @@ $ <userinput>kea-admin lease-init mysql -u <replaceable>database-user</replaceab
</para>
</section>
<section id="mysql-upgrade">
<section xml:id="mysql-upgrade">
<title>Upgrading a MySQL Database from an Earlier Version of Kea</title>
<para>
......@@ -416,7 +419,7 @@ $ <userinput>kea-admin lease-upgrade mysql -u <replaceable>database-user</replac
safely ignored if you are using other database backends.
</para>
<section id="pgsql-database-create">
<section xml:id="pgsql-database-create">
<title>First Time Creation of the PostgreSQL Database</title>
<para>
......@@ -565,7 +568,7 @@ $ <userinput>kea-admin lease-init pgsql -u <replaceable>database-user</replaceab
by <command>kea-admin</command>.)
</para>
</section>
<section id="pgsql-upgrade">
<section xml:id="pgsql-upgrade">
<title>Upgrading a PostgreSQL Database from an Earlier Version of Kea</title>
<para>
The PostgreSQL database schema can be upgraded using the same tool and
......@@ -603,7 +606,7 @@ $ <userinput>kea-admin lease-upgrade pgsql -u <replaceable>database-user</replac
store the data in other backends.
</para>
<section id="cql-database-create">
<section xml:id="cql-database-create">
<title>First Time Creation of the Cassandra Database</title>
<para>
......@@ -628,7 +631,7 @@ $ <userinput>export CQLSH_HOST=localhost</userinput>
Log into CQL:
<screen>
$ <userinput>cqlsh</userinput>
cql>
cql&gt;
</screen>
</para>
</listitem>
......@@ -637,7 +640,7 @@ cql>
<para>
Create the CQL keyspace:
<screen>
cql> <userinput>CREATE KEYSPACE keyspace-name WITH replication = {'class' : 'SimpleStrategy','replication_factor' : 1};</userinput>
cql&gt; <userinput>CREATE KEYSPACE keyspace-name WITH replication = {'class' : 'SimpleStrategy','replication_factor' : 1};</userinput>
</screen>
(<replaceable>keyspace-name</replaceable> is the name you have
chosen for the keyspace)
......@@ -675,7 +678,7 @@ $ <userinput>kea-admin lease-init cql -n <replaceable>database-name</replaceable
</para>
</section>
<section id="cql-upgrade">
<section xml:id="cql-upgrade">
<title>Upgrading a CQL Database from an Earlier Version of Kea</title>
<para>
......
<?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 "&#x2017;" >
]>
<chapter id="kea-ctrl-agent">
<!--
- Copyright (C) 2017-2018 Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-->
<!-- Converted by db4-upgrade version 1.1 -->
<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="kea-ctrl-agent">
<title>Kea Control Agent</title>
<section id="agent-overview">
<section xml:id="agent-overview">
<title>Overview</title>
<para>Kea Control Agent (CA) is a daemon, first included in Kea 1.2, which
exposes a RESTful control interface for managing Kea servers. The daemon
......@@ -23,7 +26,7 @@
libraries must implement callouts for 'control_command_receive' hook point.
Details about creating new hook libraries and supported hook points can be
found in
<ulink url="https://jenkins.isc.org/job/Kea_doc/doxygen/">Kea Developer's Guide</ulink>.
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://jenkins.isc.org/job/Kea_doc/doxygen/">Kea Developer's Guide</link>.
</para>
<para>
......@@ -54,7 +57,7 @@
</para>
</section>
<section id="agent-configuration">
<section xml:id="agent-configuration">
<title>Configuration</title>
<para>The following example demonstrates the basic CA configuration.</para>
<para>
......@@ -162,7 +165,7 @@
</para>
</section>
<section id="agent-secure-connection">
<section xml:id="agent-secure-connection">
<title>Secure Connections</title>
<para>
Control Agent doesn't natively support secure HTTP connections like
......@@ -274,7 +277,7 @@ http {
</section>
<section id="agent-limitations">
<section xml:id="agent-limitations">
<title>Control Agent Limitations</title>
<para>
Control Agent is a new component, first released in Kea 1.2. In
......@@ -291,7 +294,7 @@ http {
</para>
</section>
<section id="agent-launch">
<section xml:id="agent-launch">
<title>Starting Control Agent</title>
<para>
The CA is started by running its binary and specifying the configuration file
......@@ -302,7 +305,7 @@ $ ./kea-ctrl-agent -c /usr/local/etc/kea/kea-ctrl-agent.conf
</para>
</section>
<section id="agent-clients">
<section xml:id="agent-clients">
<title>Connecting to the Control Agent</title>
<para>For an example of tool that can take advantage of the
RESTful API, see <xref linkend="kea-shell"/>.</para>
......
<?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 "&#x2014;" >
]>
<!--
- Copyright (C) 2015-2018 Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-->
<chapter id="classify">
<!-- Converted by db4-upgrade version 1.1 -->
<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="classify">
<title>Client Classification</title>
<section>
......@@ -102,7 +105,7 @@
</note>
</section>
<section id="classification-using-host-reservations">
<section xml:id="classification-using-host-reservations">
<title>Using Static Host Reservations In Classification</title>
<para>Classes can be statically assigned to the clients using techniques described
in <xref linkend="reservation4-client-classes"/> and
......@@ -110,29 +113,29 @@
</para>
</section>
<section id="classification-using-vendor">
<section xml:id="classification-using-vendor">
<title>Using Vendor Class Information In Classification</title>
<para>
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 &quot;VENDOR_CLASS_&quot; and the result is interpreted
option is prepended with "VENDOR_CLASS_" and the result is interpreted
as a class. For example, modern cable modems will send this option with
value &quot;docsis3.0&quot; and so the packet will belong to
class &quot;VENDOR_CLASS_docsis3.0&quot;.
value "docsis3.0" and so the packet will belong to
class "VENDOR_CLASS_docsis3.0".
</para>
</section>
<section id="classification-using-expressions">
<section xml:id="classification-using-expressions">
<title>Using Expressions In Classification</title>
<para>
The expression portion of classification contains operators and values.
All values are currently strings and operators take a string or strings and
return another string. When all the operations have completed
the result should be a value of &quot;true&quot; or &quot;false&quot;.
the result should be a value of "true" or "false".
The packet belongs to
the class (and the class name is added to the list of classes) if the result
is &quot;true&quot;. Expressions are written in standard format and can be nested.
is "true". Expressions are written in standard format and can be nested.
</para>
<para>
......@@ -159,12 +162,12 @@
</para>
<para>
<table frame="all" id="classification-values-list">
<table frame="all" xml:id="classification-values-list">
<title>List of Classification Values</title>
<tgroup cols='3'>
<colspec colname='name' />
<colspec colname='example' />
<colspec colname='description' />
<tgroup cols="3">
<colspec colname="name"/>
<colspec colname="example"/>
<colspec colname="description"/>
<thead>
<row>
<entry>Name</entry>
......@@ -199,7 +202,7 @@
<entry>'123'</entry>
<entry>A 32 bit unsigned integer value</entry>
</row>
<row></row>
<row/>
<row>
<entry>Binary content of the option</entry>
<entry>option[123].hex</entry>
......@@ -437,9 +440,9 @@
<itemizedlist>
<listitem><para>
Hexadecimal strings are converted into a string as expected. The starting &quot;0X&quot; or
&quot;0x&quot; is removed and if the string is an odd number of characters a
&quot;0&quot; is prepended to it.
Hexadecimal strings are converted into a string as expected. The starting "0X" or
"0x" is removed and if the string is an odd number of characters a
"0" is prepended to it.
</para></listitem>
<listitem><para>
......@@ -520,14 +523,14 @@
<listitem><para>
Vendor option means Vendor-Identifying Vendor-specific Information
option in DHCPv4 (code 125, see
<ulink url="http://tools.ietf.org/html/rfc3925#section-4">Section 4 of RFC 3925</ulink>) and
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://tools.ietf.org/html/rfc3925#section-4">Section 4 of RFC 3925</link>) and
Vendor-specific Information Option in DHCPv6 (code 17, defined in
<ulink url="https://tools.ietf.org/html/rfc3315#section-22.17">Section 22.17 of
RFC 3315</ulink>). Vendor class option means Vendor-Identifying Vendor
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://tools.ietf.org/html/rfc3315#section-22.17">Section 22.17 of
RFC 3315</link>). Vendor class option means Vendor-Identifying Vendor
Class Option in DHCPv4 (code 124, see
<ulink url="http://tools.ietf.org/html/rfc3925#section-3">Section 3 of RFC 3925</ulink>) in DHCPv4 and
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://tools.ietf.org/html/rfc3925#section-3">Section 3 of RFC 3925</link>) in DHCPv4 and
Class Option in DHCPv6 (code 16, see
<ulink url="https://tools.ietf.org/html/rfc3315#section-22.16">Section 22.16 of RFC 3315</ulink>).
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://tools.ietf.org/html/rfc3315#section-22.16">Section 22.16 of RFC 3315</link>).
Vendor options may
have sub-options that are referenced by their codes. Vendor class
options do not have sub-options, but rather data chunks, which are
......@@ -545,8 +548,8 @@
accessed using option[60] expression.</para></listitem>
<listitem><para>
<ulink url="http://tools.ietf.org/html/rfc3925">RFC3925</ulink> and
<ulink url="http://tools.ietf.org/html/rfc3315">RFC3315</ulink>
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://tools.ietf.org/html/rfc3925">RFC3925</link> and
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://tools.ietf.org/html/rfc3315">RFC3315</link>
allow for multiple instances of vendor options
to appear in a single message. The client classification code currently
examines the first instance if more than one appear. For vendor.enterprise
......@@ -558,12 +561,12 @@
</itemizedlist>
<para>
<table frame="all" id="classification-expressions-list">
<table frame="all" xml:id="classification-expressions-list">
<title>List of Classification Expressions</title>
<tgroup cols='3'>
<colspec colname='name' />
<colspec colname='example' />
<colspec colname='description' />
<tgroup cols="3">
<colspec colname="name"/>
<colspec colname="example"/>
<colspec colname="description"/>
<thead>
<row>
<entry>Name</entry>
......@@ -641,11 +644,10 @@ concatenation of the strings</entry></row>
The expression for each class is executed on each packet received.
If the expressions are overly complex, the time taken to execute
them may impact the performance of the server. If you need
complex or time consuming expressions you should write a <link
linkend='hooks-libraries'>hook</link> to perform the necessary work.
complex or time consuming expressions you should write a <link linkend="hooks-libraries">hook</link> to perform the necessary work.
</para> </note>
<section id="classification-configuring">
<section xml:id="classification-configuring">
<title>Configuring Classes</title>
<para>
A class contains three items: a name, a test expression and option data.
......@@ -665,9 +667,9 @@ concatenation of the strings</entry></row>
</para>
<para>
In the following example the class named &quot;Client_foo&quot; is defined.
In the following example the class named "Client_foo" is defined.
It is comprised of all clients whose client ids (option 61) start with the
string &quot;foo&quot;. Members of this class will be given 192.0.2.1 and
string "foo". Members of this class will be given 192.0.2.1 and
192.0.2.2 as their domain name servers.
<screen>
......@@ -694,7 +696,7 @@ concatenation of the strings</entry></row>
<para>
This example shows a client class being defined for use by the DHCPv6 server.
In it the class named &quot;Client_enterprise&quot; is defined. It is comprised
In it the class named "Client_enterprise" is defined. It is comprised
of all clients who's client identifiers start with the given hex string (which
would indicate a DUID based on an enterprise id of 0xAABBCCDD). Members of this
class will be given an 2001:db8:0::1 and 2001:db8:2::1 as their domain name servers.
......@@ -721,7 +723,7 @@ concatenation of the strings</entry></row>
</para>
</section>
<section id="classification-subnets">
<section xml:id="classification-subnets">
<title>Configuring Subnets With Class Information</title>
<para>
In certain cases it beneficial to restrict access to certain subnets
......@@ -901,7 +903,7 @@ concatenation of the strings</entry></row>
<para>
When supplying options, options defined as part of the class definition
are considered &quot;class globals&quot;. They will override any global options that
are considered "class globals". They will override any global options that
may be defined and in turn will be overridden by any options defined for an
individual subnet.
</para>
......@@ -938,7 +940,7 @@ concatenation of the strings</entry></row>
<para>
In order to understand the logging statements one must understand a
bit about how expressions are evaluated, for a more complete description
refer to the design document at <ulink url="http://kea.isc.org/wiki/KeaDesigns"/>.
refer to the design document at <uri xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://kea.isc.org/wiki/KeaDesigns">http://kea.isc.org/wiki/KeaDesigns</uri>.
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.
......
<?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 "&#x2014;" >
]>
<chapter id="kea-config">
<!--
- Copyright (C) 2014-2018 Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-->
<!-- Converted by db4-upgrade version 1.1 -->
<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="kea-config">
<title>Kea Configuration</title>
<para>Kea is using JSON structures to handle configuration. Previously
we there was a concept of other configuration backends, but that never was
implemented and the idea was abandoned.</para>
<section id="json">
<section xml:id="json">
<title>JSON Configuration</title>
<para>JSON is notation used throughout the Kea project. The most obvious
usage is for configuration file, but it is also used for sending commands
......@@ -22,11 +26,10 @@
The JSON backend uses certain signals to influence Kea. The
configuration file is specified upon startup using the -c parameter.</para>
<section id="json-format">
<section xml:id="json-format">
<title>JSON Syntax</title>
<para>Configuration files for DHCPv4, DHCPv6 and DDNS modules are defined
in an extended JSON format. Basic JSON is defined in <ulink
url="http://tools.ietf.org/html/rfc7159">RFC 7159</ulink>. Note that Kea
in an extended JSON format. Basic JSON is defined in <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://tools.ietf.org/html/rfc7159">RFC 7159</link>. Note that Kea
1.2 introduces a new parser that is better at following the JSON spec. In
particular, the only values allowed for boolean are true or false (all
lowercase). The capitalized versions (True or False) are not accepted.
......
<?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 "&#x2014;" >
<!ENTITY % version SYSTEM "version.ent">
%version;
]>
<chapter id="ctrl-channel">
<!--
- Copyright (C) 2015-2018 Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-->
<!-- Converted by db4-upgrade version 1.1 -->
<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="ctrl-channel">
<title>Management API</title>
<para>A classic approach to daemon configuration assumes that
......@@ -29,8 +30,7 @@
<para>The DHCPv4 and DHCPv6 servers receive commands over the
unix domain sockets. The details how to configure these sockets,
see <xref linkend="dhcp4-ctrl-channel" /> and <xref
linkend="dhcp6-ctrl-channel" />. While it is possible control
see <xref linkend="dhcp4-ctrl-channel"/> and <xref linkend="dhcp6-ctrl-channel"/>. While it is possible control
the servers directly using unix domain sockets it requires that
the controlling client be running on the same machine as
the server. In order to connect remotely SSH is usually used to
......@@ -74,7 +74,7 @@
</simpara>
</note>
<section id="ctrl-channel-syntax">
<section xml:id="ctrl-channel-syntax">
<title>Data Syntax</title>
<para>Communication over the control channel is conducted using JSON
structures. If configured, Kea will open a socket and listen
......@@ -217,7 +217,7 @@
</section>
<section id="ctrl-channel-client">
<section xml:id="ctrl-channel-client">
<title>Using the Control Channel</title>
<para>Kea development team is actively working on providing client applications
......@@ -254,10 +254,10 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get"
</section>
<section id="commands-common">
<section xml:id="commands-common">
<title>Commands Supported by Both the DHCPv4 and DHCPv6 Servers</title>
<section id="command-build-report">
<section xml:id="command-build-report">
<title>build-report</title>
<para>
The <emphasis>build-report</emphasis> command returns
......@@ -273,7 +273,7 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get"
</screen>
</section> <!-- end of command-build-report -->
<section id="command-config-get">
<section xml:id="command-config-get">
<title>config-get</title>
<para>The <emphasis>config-get</emphasis> command retrieves the current
......@@ -300,7 +300,7 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get"
</para>
</section> <!-- end of command-config-get -->
<section id="command-config-reload">
<section xml:id="command-config-reload">
<title>config-reload</title>
<para>The <emphasis>config-reload</emphasis> command instructs
......@@ -329,7 +329,7 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get"
</section> <!-- end of command-config-reload -->
<section id="command-config-test">
<section xml:id="command-config-test">
<title>config-test</title>
<para>
......@@ -347,7 +347,7 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get"
{
"command": "config-test",
"arguments": {
"&#60;server&#62;": {
"&lt;server&gt;": {
},
"Logging": {
}
......@@ -355,7 +355,7 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get"
}
</screen>
<para>
where &#60;server&#62; is the configuration element name for a given server
where &lt;server&gt; is the configuration element name for a given server
such as "Dhcp4" or "Dhcp6". For example:
</para>
<screen>
......@@ -379,12 +379,12 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get"
or
{"result": 1, "text": "unsupported parameter: BOGUS (&#60;string&#62;:16:26)" }
{"result": 1, "text": "unsupported parameter: BOGUS (&lt;string&gt;:16:26)" }
</screen>
</para>
</section> <!-- end of command-config-test -->
<section id="command-config-write">
<section xml:id="command-config-write">
<title>config-write</title>
<para>The <emphasis>config-write</emphasis> command instructs Kea server
......@@ -407,7 +407,7 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get"
</para>
</section> <!-- end of command-config-write -->
<section id="command-leases-reclaim">
<section xml:id="command-leases-reclaim">
<title>leases-reclaim</title>
<para>
The <emphasis>leases-reclaim</emphasis> command instructs the server to
......@@ -434,7 +434,7 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get"
about the processing of expired leases (leases reclamation).</para>
</section>
<section id="command-libreload">
<section xml:id="command-libreload">
<title>libreload</title>
<para>
......@@ -457,7 +457,7 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get"
</para>
</section> <!-- end of command-libreload -->
<section id="command-list-commands">
<section xml:id="command-list-commands">
<title>list-commands</title>
<para>
......@@ -478,7 +478,7 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get"
</para>