mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-08-29 21:18:02 +00:00
[#71,!314] Added CB section for the DHCPv6 server.
This commit is contained in:
parent
e6330c948e
commit
1c008c4aba
@ -5589,7 +5589,7 @@ autogenerated IDs are not stable across configuration changes.</para>
|
||||
section focuses on the usage of the CB with the DHCPv4 server. It lists
|
||||
the supported parameters, describes limitations and gives examples of the
|
||||
DHCPv4 server configuration to take advantage of the CB. Please also refer
|
||||
to the sibling section <xref linkend="dhcp6-config-backend"/> for the
|
||||
to the sibling section <xref linkend="dhcp6-cb"/> for the
|
||||
DHCPv6 specific usage of the CB.
|
||||
</para>
|
||||
|
||||
@ -5630,7 +5630,7 @@ autogenerated IDs are not stable across configuration changes.</para>
|
||||
|
||||
<para>
|
||||
<table frame="all" xml:id="dhcp4-cb-parameters">
|
||||
<title>List of DHCPv4 Options Supported by the Configuration Backend</title>
|
||||
<title>List of DHCPv4 Parameters Supported by the Configuration Backend</title>
|
||||
<tgroup cols="5">
|
||||
<colspec colname="parameter"/>
|
||||
<colspec colname="global" align="center"/>
|
||||
|
@ -5643,4 +5643,144 @@ autogenerated IDs are not stable across configuration changes.
|
||||
|
||||
</section>
|
||||
|
||||
<section id="dhcp6-cb">
|
||||
<title>Configuration Backend in DHCPv6</title>
|
||||
<para>
|
||||
In the <xref linkend="config-backend"/> section we have introduced the
|
||||
Configuration Backend feature, its applicability and limitations. This
|
||||
section focuses on the usage of the CB with the DHCPv6 server. It lists
|
||||
the supported parameters, describes limitations and gives examples of the
|
||||
DHCPv6 server configuration to take advantage of the CB. Please also refer
|
||||
to the sibling section <xref linkend="dhcp4-cb"/> for the
|
||||
DHCPv4 specific usage of the CB.
|
||||
</para>
|
||||
|
||||
<section id="dhcp6-cb-parameters">
|
||||
<title>Supported Parameters</title>
|
||||
<para>The ultimate goal for the CB is to serve as a central configuration
|
||||
repository for one or multiple Kea servers connected to the database.
|
||||
In the future it will be possible to store the most of the server configuration
|
||||
in the database and it will be possible to reduce the configuration file
|
||||
to a minimum, i.e. the only mandatory part of the configuration file will be
|
||||
the <command>config-control</command> parameter which specifies the
|
||||
neccessary information to connect to the database. In the Kea 1.6.0 release,
|
||||
however, only the subset of the DHCPv6 server parameters can be stored
|
||||
in the database. All other parameters must be specified in the JSON
|
||||
configuration file, if required.</para>
|
||||
|
||||
<para>The following table lists DHCPv6 specific parameters supported by
|
||||
the Configuration Backend with an indication on which level of the
|
||||
hierarchy it is currently supported. The "n/a" tag is used in cases
|
||||
when the particular parameter is not applicable on the particular
|
||||
level of the hierarchy on in cases when the parameter is not supported
|
||||
by the server on this level of hierarchy. The "no" tag is used when
|
||||
the parameter is supported by the server on the particular level of
|
||||
hierarchy but is not configurable via the Configuration Backend.
|
||||
</para>
|
||||
|
||||
<para>All supported parameters can be configured via <command>cb_cmds</command>
|
||||
hooks library described in the <xref linkend="cb-cmds-library"/>. The
|
||||
general rule is that the scalar global parameters are set using the
|
||||
<command>remote-global-parameter6-set</command>. The shared network
|
||||
specific parameters are set using the <command>remote-network6-set</command>.
|
||||
Finally, the subnet and pool level parameters are set using the
|
||||
<command>remote-subnet6-set</command>. Whenever there is an exception from
|
||||
this general rule, it is highlighted in the table. The non-scalar global
|
||||
parameters have dedicated commands, e.g. modifying the global DHCPv6 options
|
||||
(<command>option-data</command>) is performed using the
|
||||
<command>remote-option6-global-set</command>.</para>
|
||||
|
||||
|
||||
<para>
|
||||
<table frame="all" xml:id="dhcp6-cb-parameters">
|
||||
<title>List of DHCPv6 Parameters Supported by the Configuration Backend</title>
|
||||
<tgroup cols="6">
|
||||
<colspec colname="parameter"/>
|
||||
<colspec colname="global" align="center"/>
|
||||
<colspec colname="shared network" align="center"/>
|
||||
<colspec colname="subnet" align="center"/>
|
||||
<colspec colname="pool" align="center"/>
|
||||
<colspec colname="pd-pool" align="center"/>
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter</entry>
|
||||
<entry>Global</entry>
|
||||
<entry>Shared Network</entry>
|
||||
<entry>Subnet</entry>
|
||||
<entry>Pool</entry>
|
||||
<entry>Prefix Delegation Pool</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody
|
||||
> <row><entry>calculate-tee-times</entry><entry>yes</entry><entry>yes</entry><entry>yes</entry><entry>n/a</entry><entry>n/a</entry></row>
|
||||
<row><entry>client-class</entry><entry>n/a</entry><entry>yes</entry><entry>yes</entry><entry>no</entry><entry>no</entry></row>
|
||||
<row><entry>decline-probation-period</entry><entry>yes</entry><entry>n/a</entry><entry>n/a</entry><entry>n/a</entry><entry>n/a</entry></row>
|
||||
<row><entry>dhcp4o6-port</entry><entry>yes</entry><entry>n/a</entry><entry>n/a</entry><entry>n/a</entry><entry>n/a</entry></row>
|
||||
<row><entry>interface</entry><entry>n/a</entry><entry>yes</entry><entry>yes</entry><entry>n/a</entry><entry>n/a</entry></row>
|
||||
<row><entry>interface-id</entry><entry>n/a</entry><entry>yes</entry><entry>yes</entry><entry>n/a</entry><entry>n/a</entry></row>
|
||||
<row><entry>option-data</entry><entry>yes (via remote-option6-global-set)</entry><entry>yes</entry><entry>yes</entry><entry>yes</entry><entry>yes</entry></row>
|
||||
<row><entry>option-def</entry><entry>yes (via remote-option-def6-set)</entry><entry>n/a</entry><entry>n/a</entry><entry>n/a</entry><entry>n/a</entry></row>
|
||||
<row><entry>preferred-lifetime</entry><entry>yes</entry><entry>yes</entry><entry>yes</entry><entry>n/a</entry><entry>n/a</entry></row>
|
||||
<row><entry>rapid-commit</entry><entry>yes</entry><entry>yes</entry><entry>yes</entry><entry>n/a</entry><entry>n/a</entry></row>
|
||||
<row><entry>rebind-timer</entry><entry>yes</entry><entry>yes</entry><entry>yes</entry><entry>n/a</entry><entry>n/a</entry></row>
|
||||
<row><entry>relay</entry><entry>n/a</entry><entry>yes</entry><entry>yes</entry><entry>n/a</entry><entry>n/a</entry></row>
|
||||
<row><entry>renew-timer</entry><entry>yes</entry><entry>yes</entry><entry>yes</entry><entry>n/a</entry><entry>n/a</entry></row>
|
||||
<row><entry>require-client-classes</entry><entry>n/a</entry><entry>yes</entry><entry>yes</entry><entry>no</entry><entry>no</entry></row>
|
||||
<row><entry>reservation-mode</entry><entry>yes</entry><entry>yes</entry><entry>yes</entry><entry>n/a</entry><entry>n/a</entry></row>
|
||||
<row><entry>t1-percent</entry><entry>yes</entry><entry>yes</entry><entry>yes</entry><entry>n/a</entry><entry>n/a</entry></row>
|
||||
<row><entry>t2-percent</entry><entry>yes</entry><entry>yes</entry><entry>yes</entry><entry>n/a</entry><entry>n/a</entry></row>
|
||||
<row><entry>valid-lifetime</entry><entry>yes</entry><entry>yes</entry><entry>yes</entry><entry>n/a</entry><entry>n/a</entry></row>
|
||||
<row><entry></entry><entry></entry><entry></entry><entry></entry><entry></entry><entry></entry></row>
|
||||
<row><entry></entry><entry></entry><entry></entry><entry></entry><entry></entry><entry></entry></row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="dhcp6-cb-json">
|
||||
<title>Enabling Configuration Backend</title>
|
||||
<para>
|
||||
The following configuration snippet demonstrates how to enable the MySQL
|
||||
Configuration Backend for the DHCPv6 server:
|
||||
|
||||
<screen>
|
||||
{
|
||||
"Dhcp6": {
|
||||
"config-control": {
|
||||
"config-databases": [
|
||||
{
|
||||
"type": "mysql",
|
||||
"name": "kea",
|
||||
"user": "kea",
|
||||
"password": "kea",
|
||||
"host": "2001:db8:1::1",
|
||||
"port": 3302
|
||||
}
|
||||
],
|
||||
"config-fetch-wait-time": 30
|
||||
},
|
||||
"hooks-libraries": [
|
||||
{
|
||||
"library": "/usr/local/lib/kea/hooks/libdhcp_mysql_cb.so"
|
||||
},
|
||||
{
|
||||
"library": "/usr/local/lib/kea/hooks/libdhcp_cb_cmds.so"
|
||||
}
|
||||
],
|
||||
...
|
||||
}
|
||||
}
|
||||
</screen>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The configuration structure is almost identical as for the DHCPv4
|
||||
server (see <xref linkend="dhcp4-cb-json"/> for the detailed description).
|
||||
</para>
|
||||
|
||||
</section>
|
||||
|
||||
</section>
|
||||
|
||||
</chapter>
|
||||
|
Loading…
x
Reference in New Issue
Block a user