2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-22 09:57:41 +00:00
kea/doc/guide/api.xml

6319 lines
263 KiB
XML

<!--
- Copyright (C) 2018-2019 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/.
-->
<!-- autogenerated using cmd_docgen. Do not edit by hand! -->
<appendix xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="api">
<title>API Reference</title>
<para>Kea currently supports 131 commands:
<command><link linkend="ref-build-report">build-report</link></command>
, <command><link linkend="ref-cache-clear">cache-clear</link></command>
, <command><link linkend="ref-cache-get">cache-get</link></command>
, <command><link linkend="ref-cache-get-by-id">cache-get-by-id</link></command>
, <command><link linkend="ref-cache-insert">cache-insert</link></command>
, <command><link linkend="ref-cache-load">cache-load</link></command>
, <command><link linkend="ref-cache-remove">cache-remove</link></command>
, <command><link linkend="ref-cache-size">cache-size</link></command>
, <command><link linkend="ref-cache-write">cache-write</link></command>
, <command><link linkend="ref-class-add">class-add</link></command>
, <command><link linkend="ref-class-del">class-del</link></command>
, <command><link linkend="ref-class-get">class-get</link></command>
, <command><link linkend="ref-class-list">class-list</link></command>
, <command><link linkend="ref-class-update">class-update</link></command>
, <command><link linkend="ref-config-get">config-get</link></command>
, <command><link linkend="ref-config-reload">config-reload</link></command>
, <command><link linkend="ref-config-set">config-set</link></command>
, <command><link linkend="ref-config-test">config-test</link></command>
, <command><link linkend="ref-config-write">config-write</link></command>
, <command><link linkend="ref-dhcp-disable">dhcp-disable</link></command>
, <command><link linkend="ref-dhcp-enable">dhcp-enable</link></command>
, <command><link linkend="ref-ha-continue">ha-continue</link></command>
, <command><link linkend="ref-ha-heartbeat">ha-heartbeat</link></command>
, <command><link linkend="ref-ha-scopes">ha-scopes</link></command>
, <command><link linkend="ref-ha-sync">ha-sync</link></command>
, <command><link linkend="ref-lease4-add">lease4-add</link></command>
, <command><link linkend="ref-lease4-del">lease4-del</link></command>
, <command><link linkend="ref-lease4-get">lease4-get</link></command>
, <command><link linkend="ref-lease4-get-all">lease4-get-all</link></command>
, <command><link linkend="ref-lease4-update">lease4-update</link></command>
, <command><link linkend="ref-lease4-wipe">lease4-wipe</link></command>
, <command><link linkend="ref-lease6-add">lease6-add</link></command>
, <command><link linkend="ref-lease6-bulk-apply">lease6-bulk-apply</link></command>
, <command><link linkend="ref-lease6-del">lease6-del</link></command>
, <command><link linkend="ref-lease6-get">lease6-get</link></command>
, <command><link linkend="ref-lease6-get-all">lease6-get-all</link></command>
, <command><link linkend="ref-lease6-update">lease6-update</link></command>
, <command><link linkend="ref-lease6-wipe">lease6-wipe</link></command>
, <command><link linkend="ref-leases-reclaim">leases-reclaim</link></command>
, <command><link linkend="ref-libreload">libreload</link></command>
, <command><link linkend="ref-list-commands">list-commands</link></command>
, <command><link linkend="ref-network4-add">network4-add</link></command>
, <command><link linkend="ref-network4-del">network4-del</link></command>
, <command><link linkend="ref-network4-get">network4-get</link></command>
, <command><link linkend="ref-network4-list">network4-list</link></command>
, <command><link linkend="ref-network4-subnet-add">network4-subnet-add</link></command>
, <command><link linkend="ref-network4-subnet-del">network4-subnet-del</link></command>
, <command><link linkend="ref-network6-add">network6-add</link></command>
, <command><link linkend="ref-network6-del">network6-del</link></command>
, <command><link linkend="ref-network6-get">network6-get</link></command>
, <command><link linkend="ref-network6-list">network6-list</link></command>
, <command><link linkend="ref-network6-subnet-add">network6-subnet-add</link></command>
, <command><link linkend="ref-network6-subnet-del">network6-subnet-del</link></command>
, <command><link linkend="ref-remote-global-parameter4-del">remote-global-parameter4-del</link></command>
, <command><link linkend="ref-remote-global-parameter4-get">remote-global-parameter4-get</link></command>
, <command><link linkend="ref-remote-global-parameter4-get-all">remote-global-parameter4-get-all</link></command>
, <command><link linkend="ref-remote-global-parameter4-set">remote-global-parameter4-set</link></command>
, <command><link linkend="ref-remote-global-parameter6-del">remote-global-parameter6-del</link></command>
, <command><link linkend="ref-remote-global-parameter6-get">remote-global-parameter6-get</link></command>
, <command><link linkend="ref-remote-global-parameter6-get-all">remote-global-parameter6-get-all</link></command>
, <command><link linkend="ref-remote-global-parameter6-set">remote-global-parameter6-set</link></command>
, <command><link linkend="ref-remote-network4-del">remote-network4-del</link></command>
, <command><link linkend="ref-remote-network4-get">remote-network4-get</link></command>
, <command><link linkend="ref-remote-network4-list">remote-network4-list</link></command>
, <command><link linkend="ref-remote-network4-set">remote-network4-set</link></command>
, <command><link linkend="ref-remote-network6-del">remote-network6-del</link></command>
, <command><link linkend="ref-remote-network6-get">remote-network6-get</link></command>
, <command><link linkend="ref-remote-network6-list">remote-network6-list</link></command>
, <command><link linkend="ref-remote-network6-set">remote-network6-set</link></command>
, <command><link linkend="ref-remote-option-def4-del">remote-option-def4-del</link></command>
, <command><link linkend="ref-remote-option-def4-get">remote-option-def4-get</link></command>
, <command><link linkend="ref-remote-option-def4-get-all">remote-option-def4-get-all</link></command>
, <command><link linkend="ref-remote-option-def4-set">remote-option-def4-set</link></command>
, <command><link linkend="ref-remote-option-def6-del">remote-option-def6-del</link></command>
, <command><link linkend="ref-remote-option-def6-get">remote-option-def6-get</link></command>
, <command><link linkend="ref-remote-option-def6-get-all">remote-option-def6-get-all</link></command>
, <command><link linkend="ref-remote-option-def6-set">remote-option-def6-set</link></command>
, <command><link linkend="ref-remote-option4-global-del">remote-option4-global-del</link></command>
, <command><link linkend="ref-remote-option4-global-get">remote-option4-global-get</link></command>
, <command><link linkend="ref-remote-option4-global-get-all">remote-option4-global-get-all</link></command>
, <command><link linkend="ref-remote-option4-global-set">remote-option4-global-set</link></command>
, <command><link linkend="ref-remote-option6-global-del">remote-option6-global-del</link></command>
, <command><link linkend="ref-remote-option6-global-get">remote-option6-global-get</link></command>
, <command><link linkend="ref-remote-option6-global-get-all">remote-option6-global-get-all</link></command>
, <command><link linkend="ref-remote-option6-global-set">remote-option6-global-set</link></command>
, <command><link linkend="ref-remote-server4-del">remote-server4-del</link></command>
, <command><link linkend="ref-remote-server4-get">remote-server4-get</link></command>
, <command><link linkend="ref-remote-server4-get-all">remote-server4-get-all</link></command>
, <command><link linkend="ref-remote-server4-set">remote-server4-set</link></command>
, <command><link linkend="ref-remote-server6-del">remote-server6-del</link></command>
, <command><link linkend="ref-remote-server6-get">remote-server6-get</link></command>
, <command><link linkend="ref-remote-server6-get-all">remote-server6-get-all</link></command>
, <command><link linkend="ref-remote-server6-set">remote-server6-set</link></command>
, <command><link linkend="ref-remote-subnet4-del-by-id">remote-subnet4-del-by-id</link></command>
, <command><link linkend="ref-remote-subnet4-del-by-prefix">remote-subnet4-del-by-prefix</link></command>
, <command><link linkend="ref-remote-subnet4-get-by-id">remote-subnet4-get-by-id</link></command>
, <command><link linkend="ref-remote-subnet4-get-by-prefix">remote-subnet4-get-by-prefix</link></command>
, <command><link linkend="ref-remote-subnet4-list">remote-subnet4-list</link></command>
, <command><link linkend="ref-remote-subnet4-set">remote-subnet4-set</link></command>
, <command><link linkend="ref-remote-subnet6-del-by-id">remote-subnet6-del-by-id</link></command>
, <command><link linkend="ref-remote-subnet6-del-by-prefix">remote-subnet6-del-by-prefix</link></command>
, <command><link linkend="ref-remote-subnet6-get-by-id">remote-subnet6-get-by-id</link></command>
, <command><link linkend="ref-remote-subnet6-get-by-prefix">remote-subnet6-get-by-prefix</link></command>
, <command><link linkend="ref-remote-subnet6-list">remote-subnet6-list</link></command>
, <command><link linkend="ref-remote-subnet6-set">remote-subnet6-set</link></command>
, <command><link linkend="ref-reservation-add">reservation-add</link></command>
, <command><link linkend="ref-reservation-del">reservation-del</link></command>
, <command><link linkend="ref-reservation-get">reservation-get</link></command>
, <command><link linkend="ref-reservation-get-all">reservation-get-all</link></command>
, <command><link linkend="ref-reservation-get-page">reservation-get-page</link></command>
, <command><link linkend="ref-server-tag-get">server-tag-get</link></command>
, <command><link linkend="ref-shutdown">shutdown</link></command>
, <command><link linkend="ref-stat-lease4-get">stat-lease4-get</link></command>
, <command><link linkend="ref-stat-lease6-get">stat-lease6-get</link></command>
, <command><link linkend="ref-statistic-get">statistic-get</link></command>
, <command><link linkend="ref-statistic-get-all">statistic-get-all</link></command>
, <command><link linkend="ref-statistic-remove">statistic-remove</link></command>
, <command><link linkend="ref-statistic-remove-all">statistic-remove-all</link></command>
, <command><link linkend="ref-statistic-reset">statistic-reset</link></command>
, <command><link linkend="ref-statistic-reset-all">statistic-reset-all</link></command>
, <command><link linkend="ref-subnet4-add">subnet4-add</link></command>
, <command><link linkend="ref-subnet4-del">subnet4-del</link></command>
, <command><link linkend="ref-subnet4-get">subnet4-get</link></command>
, <command><link linkend="ref-subnet4-list">subnet4-list</link></command>
, <command><link linkend="ref-subnet4-update">subnet4-update</link></command>
, <command><link linkend="ref-subnet6-add">subnet6-add</link></command>
, <command><link linkend="ref-subnet6-del">subnet6-del</link></command>
, <command><link linkend="ref-subnet6-get">subnet6-get</link></command>
, <command><link linkend="ref-subnet6-list">subnet6-list</link></command>
, <command><link linkend="ref-subnet6-update">subnet6-update</link></command>
, <command><link linkend="ref-version-get">version-get</link></command>
.</para>
<para xml:id="commands-kea-ctrl-agent">Commands supported by kea-ctrl-agent daemon: <command><link linkend="ref-build-report">build-report</link></command>
, <command><link linkend="ref-config-get">config-get</link></command>
, <command><link linkend="ref-config-reload">config-reload</link></command>
, <command><link linkend="ref-config-set">config-set</link></command>
, <command><link linkend="ref-config-test">config-test</link></command>
, <command><link linkend="ref-config-write">config-write</link></command>
, <command><link linkend="ref-list-commands">list-commands</link></command>
, <command><link linkend="ref-shutdown">shutdown</link></command>
, <command><link linkend="ref-version-get">version-get</link></command>
.</para>
<para xml:id="commands-kea-dhcp-ddns">Commands supported by kea-dhcp-ddns daemon: <command><link linkend="ref-build-report">build-report</link></command>
, <command><link linkend="ref-config-get">config-get</link></command>
, <command><link linkend="ref-config-reload">config-reload</link></command>
, <command><link linkend="ref-config-set">config-set</link></command>
, <command><link linkend="ref-config-test">config-test</link></command>
, <command><link linkend="ref-config-write">config-write</link></command>
, <command><link linkend="ref-list-commands">list-commands</link></command>
, <command><link linkend="ref-shutdown">shutdown</link></command>
, <command><link linkend="ref-version-get">version-get</link></command>
.</para>
<para xml:id="commands-kea-dhcp4">Commands supported by kea-dhcp4 daemon: <command><link linkend="ref-build-report">build-report</link></command>
, <command><link linkend="ref-cache-clear">cache-clear</link></command>
, <command><link linkend="ref-cache-get">cache-get</link></command>
, <command><link linkend="ref-cache-get-by-id">cache-get-by-id</link></command>
, <command><link linkend="ref-cache-insert">cache-insert</link></command>
, <command><link linkend="ref-cache-load">cache-load</link></command>
, <command><link linkend="ref-cache-remove">cache-remove</link></command>
, <command><link linkend="ref-cache-size">cache-size</link></command>
, <command><link linkend="ref-cache-write">cache-write</link></command>
, <command><link linkend="ref-class-add">class-add</link></command>
, <command><link linkend="ref-class-del">class-del</link></command>
, <command><link linkend="ref-class-get">class-get</link></command>
, <command><link linkend="ref-class-list">class-list</link></command>
, <command><link linkend="ref-class-update">class-update</link></command>
, <command><link linkend="ref-config-get">config-get</link></command>
, <command><link linkend="ref-config-reload">config-reload</link></command>
, <command><link linkend="ref-config-set">config-set</link></command>
, <command><link linkend="ref-config-test">config-test</link></command>
, <command><link linkend="ref-config-write">config-write</link></command>
, <command><link linkend="ref-dhcp-disable">dhcp-disable</link></command>
, <command><link linkend="ref-dhcp-enable">dhcp-enable</link></command>
, <command><link linkend="ref-ha-continue">ha-continue</link></command>
, <command><link linkend="ref-ha-heartbeat">ha-heartbeat</link></command>
, <command><link linkend="ref-ha-scopes">ha-scopes</link></command>
, <command><link linkend="ref-ha-sync">ha-sync</link></command>
, <command><link linkend="ref-lease4-add">lease4-add</link></command>
, <command><link linkend="ref-lease4-del">lease4-del</link></command>
, <command><link linkend="ref-lease4-get">lease4-get</link></command>
, <command><link linkend="ref-lease4-get-all">lease4-get-all</link></command>
, <command><link linkend="ref-lease4-update">lease4-update</link></command>
, <command><link linkend="ref-lease4-wipe">lease4-wipe</link></command>
, <command><link linkend="ref-leases-reclaim">leases-reclaim</link></command>
, <command><link linkend="ref-libreload">libreload</link></command>
, <command><link linkend="ref-list-commands">list-commands</link></command>
, <command><link linkend="ref-network4-add">network4-add</link></command>
, <command><link linkend="ref-network4-del">network4-del</link></command>
, <command><link linkend="ref-network4-get">network4-get</link></command>
, <command><link linkend="ref-network4-list">network4-list</link></command>
, <command><link linkend="ref-network4-subnet-add">network4-subnet-add</link></command>
, <command><link linkend="ref-network4-subnet-del">network4-subnet-del</link></command>
, <command><link linkend="ref-remote-global-parameter4-del">remote-global-parameter4-del</link></command>
, <command><link linkend="ref-remote-global-parameter4-get">remote-global-parameter4-get</link></command>
, <command><link linkend="ref-remote-global-parameter4-get-all">remote-global-parameter4-get-all</link></command>
, <command><link linkend="ref-remote-global-parameter4-set">remote-global-parameter4-set</link></command>
, <command><link linkend="ref-remote-network4-del">remote-network4-del</link></command>
, <command><link linkend="ref-remote-network4-get">remote-network4-get</link></command>
, <command><link linkend="ref-remote-network4-list">remote-network4-list</link></command>
, <command><link linkend="ref-remote-network4-set">remote-network4-set</link></command>
, <command><link linkend="ref-remote-option-def4-del">remote-option-def4-del</link></command>
, <command><link linkend="ref-remote-option-def4-get">remote-option-def4-get</link></command>
, <command><link linkend="ref-remote-option-def4-get-all">remote-option-def4-get-all</link></command>
, <command><link linkend="ref-remote-option-def4-set">remote-option-def4-set</link></command>
, <command><link linkend="ref-remote-option4-global-del">remote-option4-global-del</link></command>
, <command><link linkend="ref-remote-option4-global-get">remote-option4-global-get</link></command>
, <command><link linkend="ref-remote-option4-global-get-all">remote-option4-global-get-all</link></command>
, <command><link linkend="ref-remote-option4-global-set">remote-option4-global-set</link></command>
, <command><link linkend="ref-remote-server4-del">remote-server4-del</link></command>
, <command><link linkend="ref-remote-server4-get">remote-server4-get</link></command>
, <command><link linkend="ref-remote-server4-get-all">remote-server4-get-all</link></command>
, <command><link linkend="ref-remote-server4-set">remote-server4-set</link></command>
, <command><link linkend="ref-remote-subnet4-del-by-id">remote-subnet4-del-by-id</link></command>
, <command><link linkend="ref-remote-subnet4-del-by-prefix">remote-subnet4-del-by-prefix</link></command>
, <command><link linkend="ref-remote-subnet4-get-by-id">remote-subnet4-get-by-id</link></command>
, <command><link linkend="ref-remote-subnet4-get-by-prefix">remote-subnet4-get-by-prefix</link></command>
, <command><link linkend="ref-remote-subnet4-list">remote-subnet4-list</link></command>
, <command><link linkend="ref-remote-subnet4-set">remote-subnet4-set</link></command>
, <command><link linkend="ref-reservation-add">reservation-add</link></command>
, <command><link linkend="ref-reservation-del">reservation-del</link></command>
, <command><link linkend="ref-reservation-get">reservation-get</link></command>
, <command><link linkend="ref-reservation-get-all">reservation-get-all</link></command>
, <command><link linkend="ref-reservation-get-page">reservation-get-page</link></command>
, <command><link linkend="ref-server-tag-get">server-tag-get</link></command>
, <command><link linkend="ref-shutdown">shutdown</link></command>
, <command><link linkend="ref-stat-lease4-get">stat-lease4-get</link></command>
, <command><link linkend="ref-statistic-get">statistic-get</link></command>
, <command><link linkend="ref-statistic-get-all">statistic-get-all</link></command>
, <command><link linkend="ref-statistic-remove">statistic-remove</link></command>
, <command><link linkend="ref-statistic-remove-all">statistic-remove-all</link></command>
, <command><link linkend="ref-statistic-reset">statistic-reset</link></command>
, <command><link linkend="ref-statistic-reset-all">statistic-reset-all</link></command>
, <command><link linkend="ref-subnet4-add">subnet4-add</link></command>
, <command><link linkend="ref-subnet4-del">subnet4-del</link></command>
, <command><link linkend="ref-subnet4-get">subnet4-get</link></command>
, <command><link linkend="ref-subnet4-list">subnet4-list</link></command>
, <command><link linkend="ref-subnet4-update">subnet4-update</link></command>
, <command><link linkend="ref-version-get">version-get</link></command>
.</para>
<para xml:id="commands-kea-dhcp6">Commands supported by kea-dhcp6 daemon: <command><link linkend="ref-build-report">build-report</link></command>
, <command><link linkend="ref-cache-clear">cache-clear</link></command>
, <command><link linkend="ref-cache-get">cache-get</link></command>
, <command><link linkend="ref-cache-get-by-id">cache-get-by-id</link></command>
, <command><link linkend="ref-cache-insert">cache-insert</link></command>
, <command><link linkend="ref-cache-load">cache-load</link></command>
, <command><link linkend="ref-cache-remove">cache-remove</link></command>
, <command><link linkend="ref-cache-size">cache-size</link></command>
, <command><link linkend="ref-cache-write">cache-write</link></command>
, <command><link linkend="ref-class-add">class-add</link></command>
, <command><link linkend="ref-class-del">class-del</link></command>
, <command><link linkend="ref-class-get">class-get</link></command>
, <command><link linkend="ref-class-list">class-list</link></command>
, <command><link linkend="ref-class-update">class-update</link></command>
, <command><link linkend="ref-config-get">config-get</link></command>
, <command><link linkend="ref-config-reload">config-reload</link></command>
, <command><link linkend="ref-config-set">config-set</link></command>
, <command><link linkend="ref-config-test">config-test</link></command>
, <command><link linkend="ref-config-write">config-write</link></command>
, <command><link linkend="ref-dhcp-disable">dhcp-disable</link></command>
, <command><link linkend="ref-dhcp-enable">dhcp-enable</link></command>
, <command><link linkend="ref-ha-continue">ha-continue</link></command>
, <command><link linkend="ref-ha-heartbeat">ha-heartbeat</link></command>
, <command><link linkend="ref-ha-scopes">ha-scopes</link></command>
, <command><link linkend="ref-ha-sync">ha-sync</link></command>
, <command><link linkend="ref-lease6-add">lease6-add</link></command>
, <command><link linkend="ref-lease6-bulk-apply">lease6-bulk-apply</link></command>
, <command><link linkend="ref-lease6-del">lease6-del</link></command>
, <command><link linkend="ref-lease6-get">lease6-get</link></command>
, <command><link linkend="ref-lease6-get-all">lease6-get-all</link></command>
, <command><link linkend="ref-lease6-update">lease6-update</link></command>
, <command><link linkend="ref-lease6-wipe">lease6-wipe</link></command>
, <command><link linkend="ref-leases-reclaim">leases-reclaim</link></command>
, <command><link linkend="ref-libreload">libreload</link></command>
, <command><link linkend="ref-list-commands">list-commands</link></command>
, <command><link linkend="ref-network6-add">network6-add</link></command>
, <command><link linkend="ref-network6-del">network6-del</link></command>
, <command><link linkend="ref-network6-get">network6-get</link></command>
, <command><link linkend="ref-network6-list">network6-list</link></command>
, <command><link linkend="ref-network6-subnet-add">network6-subnet-add</link></command>
, <command><link linkend="ref-network6-subnet-del">network6-subnet-del</link></command>
, <command><link linkend="ref-remote-global-parameter6-del">remote-global-parameter6-del</link></command>
, <command><link linkend="ref-remote-global-parameter6-get">remote-global-parameter6-get</link></command>
, <command><link linkend="ref-remote-global-parameter6-get-all">remote-global-parameter6-get-all</link></command>
, <command><link linkend="ref-remote-global-parameter6-set">remote-global-parameter6-set</link></command>
, <command><link linkend="ref-remote-network6-del">remote-network6-del</link></command>
, <command><link linkend="ref-remote-network6-get">remote-network6-get</link></command>
, <command><link linkend="ref-remote-network6-list">remote-network6-list</link></command>
, <command><link linkend="ref-remote-network6-set">remote-network6-set</link></command>
, <command><link linkend="ref-remote-option-def6-del">remote-option-def6-del</link></command>
, <command><link linkend="ref-remote-option-def6-get">remote-option-def6-get</link></command>
, <command><link linkend="ref-remote-option-def6-get-all">remote-option-def6-get-all</link></command>
, <command><link linkend="ref-remote-option-def6-set">remote-option-def6-set</link></command>
, <command><link linkend="ref-remote-option6-global-del">remote-option6-global-del</link></command>
, <command><link linkend="ref-remote-option6-global-get">remote-option6-global-get</link></command>
, <command><link linkend="ref-remote-option6-global-get-all">remote-option6-global-get-all</link></command>
, <command><link linkend="ref-remote-option6-global-set">remote-option6-global-set</link></command>
, <command><link linkend="ref-remote-server6-del">remote-server6-del</link></command>
, <command><link linkend="ref-remote-server6-get">remote-server6-get</link></command>
, <command><link linkend="ref-remote-server6-get-all">remote-server6-get-all</link></command>
, <command><link linkend="ref-remote-server6-set">remote-server6-set</link></command>
, <command><link linkend="ref-remote-subnet6-del-by-id">remote-subnet6-del-by-id</link></command>
, <command><link linkend="ref-remote-subnet6-del-by-prefix">remote-subnet6-del-by-prefix</link></command>
, <command><link linkend="ref-remote-subnet6-get-by-id">remote-subnet6-get-by-id</link></command>
, <command><link linkend="ref-remote-subnet6-get-by-prefix">remote-subnet6-get-by-prefix</link></command>
, <command><link linkend="ref-remote-subnet6-list">remote-subnet6-list</link></command>
, <command><link linkend="ref-remote-subnet6-set">remote-subnet6-set</link></command>
, <command><link linkend="ref-reservation-add">reservation-add</link></command>
, <command><link linkend="ref-reservation-del">reservation-del</link></command>
, <command><link linkend="ref-reservation-get">reservation-get</link></command>
, <command><link linkend="ref-reservation-get-all">reservation-get-all</link></command>
, <command><link linkend="ref-reservation-get-page">reservation-get-page</link></command>
, <command><link linkend="ref-server-tag-get">server-tag-get</link></command>
, <command><link linkend="ref-shutdown">shutdown</link></command>
, <command><link linkend="ref-stat-lease6-get">stat-lease6-get</link></command>
, <command><link linkend="ref-statistic-get">statistic-get</link></command>
, <command><link linkend="ref-statistic-get-all">statistic-get-all</link></command>
, <command><link linkend="ref-statistic-remove">statistic-remove</link></command>
, <command><link linkend="ref-statistic-remove-all">statistic-remove-all</link></command>
, <command><link linkend="ref-statistic-reset">statistic-reset</link></command>
, <command><link linkend="ref-statistic-reset-all">statistic-reset-all</link></command>
, <command><link linkend="ref-subnet6-add">subnet6-add</link></command>
, <command><link linkend="ref-subnet6-del">subnet6-del</link></command>
, <command><link linkend="ref-subnet6-get">subnet6-get</link></command>
, <command><link linkend="ref-subnet6-list">subnet6-list</link></command>
, <command><link linkend="ref-subnet6-update">subnet6-update</link></command>
, <command><link linkend="ref-version-get">version-get</link></command>
.</para>
<para xml:id="commands-cb_cmds-lib">Commands supported by cb_cmds hook library: <command><link linkend="ref-remote-global-parameter4-del">remote-global-parameter4-del</link></command>
, <command><link linkend="ref-remote-global-parameter4-get">remote-global-parameter4-get</link></command>
, <command><link linkend="ref-remote-global-parameter4-get-all">remote-global-parameter4-get-all</link></command>
, <command><link linkend="ref-remote-global-parameter4-set">remote-global-parameter4-set</link></command>
, <command><link linkend="ref-remote-global-parameter6-del">remote-global-parameter6-del</link></command>
, <command><link linkend="ref-remote-global-parameter6-get">remote-global-parameter6-get</link></command>
, <command><link linkend="ref-remote-global-parameter6-get-all">remote-global-parameter6-get-all</link></command>
, <command><link linkend="ref-remote-global-parameter6-set">remote-global-parameter6-set</link></command>
, <command><link linkend="ref-remote-network4-del">remote-network4-del</link></command>
, <command><link linkend="ref-remote-network4-get">remote-network4-get</link></command>
, <command><link linkend="ref-remote-network4-list">remote-network4-list</link></command>
, <command><link linkend="ref-remote-network4-set">remote-network4-set</link></command>
, <command><link linkend="ref-remote-network6-del">remote-network6-del</link></command>
, <command><link linkend="ref-remote-network6-get">remote-network6-get</link></command>
, <command><link linkend="ref-remote-network6-list">remote-network6-list</link></command>
, <command><link linkend="ref-remote-network6-set">remote-network6-set</link></command>
, <command><link linkend="ref-remote-option-def4-del">remote-option-def4-del</link></command>
, <command><link linkend="ref-remote-option-def4-get">remote-option-def4-get</link></command>
, <command><link linkend="ref-remote-option-def4-get-all">remote-option-def4-get-all</link></command>
, <command><link linkend="ref-remote-option-def4-set">remote-option-def4-set</link></command>
, <command><link linkend="ref-remote-option-def6-del">remote-option-def6-del</link></command>
, <command><link linkend="ref-remote-option-def6-get">remote-option-def6-get</link></command>
, <command><link linkend="ref-remote-option-def6-get-all">remote-option-def6-get-all</link></command>
, <command><link linkend="ref-remote-option-def6-set">remote-option-def6-set</link></command>
, <command><link linkend="ref-remote-option4-global-del">remote-option4-global-del</link></command>
, <command><link linkend="ref-remote-option4-global-get">remote-option4-global-get</link></command>
, <command><link linkend="ref-remote-option4-global-get-all">remote-option4-global-get-all</link></command>
, <command><link linkend="ref-remote-option4-global-set">remote-option4-global-set</link></command>
, <command><link linkend="ref-remote-option6-global-del">remote-option6-global-del</link></command>
, <command><link linkend="ref-remote-option6-global-get">remote-option6-global-get</link></command>
, <command><link linkend="ref-remote-option6-global-get-all">remote-option6-global-get-all</link></command>
, <command><link linkend="ref-remote-option6-global-set">remote-option6-global-set</link></command>
, <command><link linkend="ref-remote-server4-del">remote-server4-del</link></command>
, <command><link linkend="ref-remote-server4-get">remote-server4-get</link></command>
, <command><link linkend="ref-remote-server4-get-all">remote-server4-get-all</link></command>
, <command><link linkend="ref-remote-server4-set">remote-server4-set</link></command>
, <command><link linkend="ref-remote-server6-del">remote-server6-del</link></command>
, <command><link linkend="ref-remote-server6-get">remote-server6-get</link></command>
, <command><link linkend="ref-remote-server6-get-all">remote-server6-get-all</link></command>
, <command><link linkend="ref-remote-server6-set">remote-server6-set</link></command>
, <command><link linkend="ref-remote-subnet4-del-by-id">remote-subnet4-del-by-id</link></command>
, <command><link linkend="ref-remote-subnet4-del-by-prefix">remote-subnet4-del-by-prefix</link></command>
, <command><link linkend="ref-remote-subnet4-get-by-id">remote-subnet4-get-by-id</link></command>
, <command><link linkend="ref-remote-subnet4-get-by-prefix">remote-subnet4-get-by-prefix</link></command>
, <command><link linkend="ref-remote-subnet4-list">remote-subnet4-list</link></command>
, <command><link linkend="ref-remote-subnet4-set">remote-subnet4-set</link></command>
, <command><link linkend="ref-remote-subnet6-del-by-id">remote-subnet6-del-by-id</link></command>
, <command><link linkend="ref-remote-subnet6-del-by-prefix">remote-subnet6-del-by-prefix</link></command>
, <command><link linkend="ref-remote-subnet6-get-by-id">remote-subnet6-get-by-id</link></command>
, <command><link linkend="ref-remote-subnet6-get-by-prefix">remote-subnet6-get-by-prefix</link></command>
, <command><link linkend="ref-remote-subnet6-list">remote-subnet6-list</link></command>
, <command><link linkend="ref-remote-subnet6-set">remote-subnet6-set</link></command>
.</para>
<para xml:id="commands-class_cmds-lib">Commands supported by class_cmds hook library: <command><link linkend="ref-class-add">class-add</link></command>
, <command><link linkend="ref-class-del">class-del</link></command>
, <command><link linkend="ref-class-get">class-get</link></command>
, <command><link linkend="ref-class-list">class-list</link></command>
, <command><link linkend="ref-class-update">class-update</link></command>
.</para>
<para xml:id="commands-high_availability-lib">Commands supported by high_availability hook library: <command><link linkend="ref-ha-continue">ha-continue</link></command>
, <command><link linkend="ref-ha-heartbeat">ha-heartbeat</link></command>
, <command><link linkend="ref-ha-scopes">ha-scopes</link></command>
, <command><link linkend="ref-ha-sync">ha-sync</link></command>
.</para>
<para xml:id="commands-host_cache-lib">Commands supported by host_cache hook library: <command><link linkend="ref-cache-clear">cache-clear</link></command>
, <command><link linkend="ref-cache-get">cache-get</link></command>
, <command><link linkend="ref-cache-get-by-id">cache-get-by-id</link></command>
, <command><link linkend="ref-cache-insert">cache-insert</link></command>
, <command><link linkend="ref-cache-load">cache-load</link></command>
, <command><link linkend="ref-cache-remove">cache-remove</link></command>
, <command><link linkend="ref-cache-size">cache-size</link></command>
, <command><link linkend="ref-cache-write">cache-write</link></command>
.</para>
<para xml:id="commands-host_cmds-lib">Commands supported by host_cmds hook library: <command><link linkend="ref-reservation-add">reservation-add</link></command>
, <command><link linkend="ref-reservation-del">reservation-del</link></command>
, <command><link linkend="ref-reservation-get">reservation-get</link></command>
, <command><link linkend="ref-reservation-get-all">reservation-get-all</link></command>
, <command><link linkend="ref-reservation-get-page">reservation-get-page</link></command>
.</para>
<para xml:id="commands-lease_cmds-lib">Commands supported by lease_cmds hook library: <command><link linkend="ref-lease4-add">lease4-add</link></command>
, <command><link linkend="ref-lease4-del">lease4-del</link></command>
, <command><link linkend="ref-lease4-get">lease4-get</link></command>
, <command><link linkend="ref-lease4-get-all">lease4-get-all</link></command>
, <command><link linkend="ref-lease4-update">lease4-update</link></command>
, <command><link linkend="ref-lease4-wipe">lease4-wipe</link></command>
, <command><link linkend="ref-lease6-add">lease6-add</link></command>
, <command><link linkend="ref-lease6-bulk-apply">lease6-bulk-apply</link></command>
, <command><link linkend="ref-lease6-del">lease6-del</link></command>
, <command><link linkend="ref-lease6-get">lease6-get</link></command>
, <command><link linkend="ref-lease6-get-all">lease6-get-all</link></command>
, <command><link linkend="ref-lease6-update">lease6-update</link></command>
, <command><link linkend="ref-lease6-wipe">lease6-wipe</link></command>
.</para>
<para xml:id="commands-stat_cmds-lib">Commands supported by stat_cmds hook library: <command><link linkend="ref-stat-lease4-get">stat-lease4-get</link></command>
, <command><link linkend="ref-stat-lease6-get">stat-lease6-get</link></command>
.</para>
<para xml:id="commands-subnet_cmds-lib">Commands supported by subnet_cmds hook library: <command><link linkend="ref-network4-add">network4-add</link></command>
, <command><link linkend="ref-network4-del">network4-del</link></command>
, <command><link linkend="ref-network4-get">network4-get</link></command>
, <command><link linkend="ref-network4-list">network4-list</link></command>
, <command><link linkend="ref-network4-subnet-add">network4-subnet-add</link></command>
, <command><link linkend="ref-network4-subnet-del">network4-subnet-del</link></command>
, <command><link linkend="ref-network6-add">network6-add</link></command>
, <command><link linkend="ref-network6-del">network6-del</link></command>
, <command><link linkend="ref-network6-get">network6-get</link></command>
, <command><link linkend="ref-network6-list">network6-list</link></command>
, <command><link linkend="ref-network6-subnet-add">network6-subnet-add</link></command>
, <command><link linkend="ref-network6-subnet-del">network6-subnet-del</link></command>
, <command><link linkend="ref-subnet4-add">subnet4-add</link></command>
, <command><link linkend="ref-subnet4-del">subnet4-del</link></command>
, <command><link linkend="ref-subnet4-get">subnet4-get</link></command>
, <command><link linkend="ref-subnet4-list">subnet4-list</link></command>
, <command><link linkend="ref-subnet4-update">subnet4-update</link></command>
, <command><link linkend="ref-subnet6-add">subnet6-add</link></command>
, <command><link linkend="ref-subnet6-del">subnet6-del</link></command>
, <command><link linkend="ref-subnet6-get">subnet6-get</link></command>
, <command><link linkend="ref-subnet6-list">subnet6-list</link></command>
, <command><link linkend="ref-subnet6-update">subnet6-update</link></command>
.</para>
<!-- start of build-report -->
<section xml:id="reference-build-report">
<title>build-report reference</title>
<para xml:id="ref-build-report"><command>build-report</command> - Returns a list of compilation options that this particular binary was built with</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command>, <command><link linkend="commands-kea-dhcp-ddns">kea-dhcp-ddns</link></command>, <command><link linkend="commands-kea-ctrl-agent">kea-ctrl-agent</link></command></para>
<para>Availability: 1.2.0 (built-in)</para>
<para>Description and examples: See <xref linkend="command-build-report"/></para>
<para>Command syntax:
<screen>{
"command": "build-report"
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": &lt;string with build details&gt;
}</screen>
</para>
</section>
<!-- end of build-report -->
<!-- start of cache-clear -->
<section xml:id="reference-cache-clear">
<title>cache-clear reference</title>
<para xml:id="ref-cache-clear"><command>cache-clear</command> - This command removes all cached host reservations.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.4.0 (<link linkend="commands-host_cache-lib">host_cache</link> hook)</para>
<para>Description and examples: See <xref linkend="command-cache-clear"/></para>
<para>Command syntax:
<screen>{
"command": "cache-clear"
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of cache-clear -->
<!-- start of cache-get -->
<section xml:id="reference-cache-get">
<title>cache-get reference</title>
<para xml:id="ref-cache-get"><command>cache-get</command> - Returns full content of the host cache.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.4.0 (<link linkend="commands-host_cache-lib">host_cache</link> hook)</para>
<para>Description and examples: See <xref linkend="command-cache-get"/></para>
<para>Command syntax:
<screen>{
"command": "cache-get"
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0
"text": "123 entries returned."
"arguments": &lt;list of host reservations&gt;
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of cache-get -->
<!-- start of cache-get-by-id -->
<section xml:id="reference-cache-get-by-id">
<title>cache-get-by-id reference</title>
<para xml:id="ref-cache-get-by-id"><command>cache-get-by-id</command> - Returns entries matching the given identifier from the host cache.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-host_cache-lib">host_cache</link> hook)</para>
<para>Description and examples: See <xref linkend="command-cache-get-by-id"/></para>
<para>Command syntax:
<screen>{
"command": "cache-get-by-id",
"arguments": {
"hw-address": "01:02:03:04:05:06"
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0
"text": "2 entries returned."
"arguments": &lt;list of host reservations&gt;
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of cache-get-by-id -->
<!-- start of cache-insert -->
<section xml:id="reference-cache-insert">
<title>cache-insert reference</title>
<para xml:id="ref-cache-insert"><command>cache-insert</command> - This command may be used to manually insert a host into the cache.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.4.0 (<link linkend="commands-host_cache-lib">host_cache</link> hook)</para>
<para>Description and examples: See <xref linkend="command-cache-insert"/></para>
<para>Command syntax:
<screen>{
"command": "cache-insert",
"arguments": {
"hw-address": "01:02:03:04:05:06",
"subnet-id4": 4,
"subnet-id6": 0,
"ip-address": "192.0.2.100",
"hostname": "somehost.example.org",
"client-classes4": [ ],
"client-classes6": [ ],
"option-data4": [ ],
"option-data6": [ ],
"next-server": "192.0.0.2",
"server-hostname": "server-hostname.example.org",
"boot-file-name": "bootfile.efi",
"host-id": 0
}
},
{
"command": "cache-insert",
"arguments": {
"hw-address": "01:02:03:04:05:06",
"subnet-id4": 0,
"subnet-id6": 6,
"ip-addresses": [ "2001:db8::cafe:babe" ],
"prefixes": [ "2001:db8:dead:beef::/64" ],
"hostname": "",
"client-classes4": [ ],
"client-classes6": [ ],
"option-data4": [ ],
"option-data6": [ ],
"next-server": "0.0.0.0",
"server-hostname": "",
"boot-file-name": "",
"host-id": 0
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of cache-insert -->
<!-- start of cache-load -->
<section xml:id="reference-cache-load">
<title>cache-load reference</title>
<para xml:id="ref-cache-load"><command>cache-load</command> - This command allows load the contents of a file on disk into an in-memory cache.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.4.0 (<link linkend="commands-host_cache-lib">host_cache</link> hook)</para>
<para>Description and examples: See <xref linkend="command-cache-load"/></para>
<para>Command syntax:
<screen>{
"command": "cache-load",
"arguments": "/tmp/kea-host-cache.json"
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of cache-load -->
<!-- start of cache-remove -->
<section xml:id="reference-cache-remove">
<title>cache-remove reference</title>
<para xml:id="ref-cache-remove"><command>cache-remove</command> - The cache-remove command works similarly to reservation-get command.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.4.0 (<link linkend="commands-host_cache-lib">host_cache</link> hook)</para>
<para>Description and examples: See <xref linkend="command-cache-remove"/></para>
<para>Command syntax:
<screen>{
"command": "cache-remove",
"arguments": {
"ip-address": "192.0.2.1",
"subnet-id": 123
}
}
Another example that removes IPv6 host identifier by DUID and specific subnet-id is:
{
"command": "cache-remove",
"arguments": {
"duid": "00:01:ab:cd:f0:a1:c2:d3:e4",
"subnet-id": 123
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of cache-remove -->
<!-- start of cache-size -->
<section xml:id="reference-cache-size">
<title>cache-size reference</title>
<para xml:id="ref-cache-size"><command>cache-size</command> - Returns number of entries of the host cache.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-host_cache-lib">host_cache</link> hook)</para>
<para>Description and examples: See <xref linkend="command-cache-size"/></para>
<para>Command syntax:
<screen>{
"command": "cache-size"
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0
"text": "123 entries."
"arguments": { "size": 123 }
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of cache-size -->
<!-- start of cache-write -->
<section xml:id="reference-cache-write">
<title>cache-write reference</title>
<para xml:id="ref-cache-write"><command>cache-write</command> - Instructs Kea to write its host cache content to disk.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.4.0 (<link linkend="commands-host_cache-lib">host_cache</link> hook)</para>
<para>Description and examples: See <xref linkend="command-cache-write"/></para>
<para>Command syntax:
<screen>{
"command": "cache-write",
"arguments": "/path/to/the/file.json"
}</screen>
The command takes one mandatory argument that specifies a filename path of a file to be written.</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of cache-write -->
<!-- start of class-add -->
<section xml:id="reference-class-add">
<title>class-add reference</title>
<para xml:id="ref-class-add"><command>class-add</command> - This command is used to create and add a new class to the existing
server configuration.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.5.0 (<link linkend="commands-class_cmds-lib">class_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-class-add"/></para>
<para>Command syntax:
<screen>{
"command": "class-add",
"arguments": {
"client-classes": [ {
"name": &lt;name of the class&gt;,
"test": &lt;test expression to be evaluated on incoming packets&gt;,
"option-data": [ &lt;option values here&gt; ],
"option-def": [ &lt;option defintions here&gt; ],
"next-server": &lt;ipv4 address&gt;,
"server-hostname": &lt;string&gt;,
"boot-file-name": &lt;name of the boot file&gt;
} ]
}
}</screen>
The <command>next-server</command>,
<command>server-hostname</command> and
<command>boot-file-name</command> are DHCPv4 specific. Only
one client class can be added with a single command. </para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "Class '&lt;class-name&gt;' added.",
}</screen>
The command will be successful (result 0), unless the
class name is a duplicate or another error occurs (result 1).</para>
</section>
<!-- end of class-add -->
<!-- start of class-del -->
<section xml:id="reference-class-del">
<title>class-del reference</title>
<para xml:id="ref-class-del"><command>class-del</command> - This command is used to remove a client class from the server configuration.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.5.0 (<link linkend="commands-class_cmds-lib">class_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-class-del"/></para>
<para>Command syntax:
<screen>{
"command": "class-del",
"arguments": {
"name": &lt;name of the class&gt;
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "Class '&lt;class-name&gt;' deleted."
}</screen>
The command will return a result of 3 (empty) if the client
class doesn't exist. If the client class exists, the retured
result is 0 if the deletion was successful and the result is 1
if the deletion is unsuccessful.</para>
</section>
<!-- end of class-del -->
<!-- start of class-get -->
<section xml:id="reference-class-get">
<title>class-get reference</title>
<para xml:id="ref-class-get"><command>class-get</command> - This command is used to return detailed information about an
existing client class.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.5.0 (<link linkend="commands-class_cmds-lib">class_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-class-get"/></para>
<para>Command syntax:
<screen>{
"command": "class-get",
"arguments": {
"name": &lt;name of the class&gt;
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "Class '&lt;class-name&gt;' definition returned",
"arguments": {
"client-classes": [
{
"name": &lt;name of the class&gt;,
"only-if-required": &lt;only if required boolean value&gt;,
"test": &lt;test expression to be evaluated on incoming packets&gt;,
"option-data": [ &lt;option values here&gt; ],
"option-def": [ &lt;option defintions here&gt; ],
"next-server": &lt;ipv4 address&gt;,
"server-hostname": &lt;string&gt;,
"boot-file-name": &lt;name of the boot file&gt;
}
]
}
}</screen>
The returned information depends on the DHCP server type,
i.e. some parameters are specific to DHCPv4 server. Also,
some parameters may not be returned if they are not set for
the client class. If the class with specified name doesn't
exist a result of 3 (empty) is returned. If the client class
is found, the result of 0 is returned. If there is an error
while processing the command, the result of 1 is returned.</para>
</section>
<!-- end of class-get -->
<!-- start of class-list -->
<section xml:id="reference-class-list">
<title>class-list reference</title>
<para xml:id="ref-class-list"><command>class-list</command> - This command is used to retrieve a list of all client
classes from the server configuration.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.5.0 (<link linkend="commands-class_cmds-lib">class_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-class-list"/></para>
<para>Command syntax:
<screen>{
"command": "class-list"
}</screen>
This command includes no arguments.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "&lt;number of&gt; classes found",
"arguments": {
"client-classes": [
{
"name": &lt;first class name&gt;
},
{
"name": &lt;second class name&gt;
}
]
}
}</screen>
The returned list of classes merely contains their names.
In order to retrieve full information about one of these
classes use <xref linkend="command-class-get"/>.
The returned result is 3 (empty) if no classes are found.
If the command is processed successfully and the list of
client classes is not empty, the result of 0 is returned.
If there is an error while processing the command, the
result of 1 is returned.</para>
</section>
<!-- end of class-list -->
<!-- start of class-update -->
<section xml:id="reference-class-update">
<title>class-update reference</title>
<para xml:id="ref-class-update"><command>class-update</command> - This command is used to update an existing client class in
the server configuration.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.5.0 (<link linkend="commands-class_cmds-lib">class_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-class-update"/></para>
<para>Command syntax:
<screen>{
"command": "class-update",
"arguments": {
"client-classes": [ {
"name": &lt;name of the class&gt;,
"test": &lt;test expression to be evaluated on incoming packets&gt;,
"option-data": [ &lt;option values here&gt; ],
"option-def": [ &lt;option defintions here&gt; ],
"next-server": &lt;ipv4 address&gt;,
"server-hostname": &lt;string&gt;,
"boot-file-name": &lt;name of the boot file&gt;
} ]
}
}</screen>
The <command>next-server</command>,
<command>server-hostname</command> and
<command>boot-file-name</command> are DHCPv4 specific. Only
one client class can be updated with a single command. </para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "Class '&lt;class-name&gt;' updated.",
}</screen>
The command will return the result of 3 (empty) if the client
class doesn't exist. If the client class exists, the retured
result is 0 if the update was successful and the result is 1
if the update is unsuccessful.</para>
</section>
<!-- end of class-update -->
<!-- start of config-get -->
<section xml:id="reference-config-get">
<title>config-get reference</title>
<para xml:id="ref-config-get"><command>config-get</command> - Retrieves the current configuration used by the server. The configuration
is roughtly equal to the configuration file, but includes additional
changes made by other commands and due to parameters inheritance.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command>, <command><link linkend="commands-kea-dhcp-ddns">kea-dhcp-ddns</link></command>, <command><link linkend="commands-kea-ctrl-agent">kea-ctrl-agent</link></command></para>
<para>Availability: 1.2.0 (built-in)</para>
<para>Description and examples: See <xref linkend="command-config-get"/></para>
<para>Command syntax:
<screen>{
"command": "config-get"
}</screen>
This command takes no parameters.</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"arguments": {
&lt;JSON configuration here, starting with Dhcp4, Dhcp6, or Control-agent object&gt;
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of config-get -->
<!-- start of config-reload -->
<section xml:id="reference-config-reload">
<title>config-reload reference</title>
<para xml:id="ref-config-reload"><command>config-reload</command> - The config-reload command instructs Kea to load again the configuration file that was used previously.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command>, <command><link linkend="commands-kea-dhcp-ddns">kea-dhcp-ddns</link></command>, <command><link linkend="commands-kea-ctrl-agent">kea-ctrl-agent</link></command></para>
<para>Availability: 1.2.0 (built-in)</para>
<para>Description and examples: See <xref linkend="command-config-reload"/></para>
<para>Command syntax:
<screen>{
"command": "config-reload"
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of config-reload -->
<!-- start of config-set -->
<section xml:id="reference-config-set">
<title>config-set reference</title>
<para xml:id="ref-config-set"><command>config-set</command> - The config-set command instructs the server to replace its current configuration with the new configuration supplied in the command's arguments.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command>, <command><link linkend="commands-kea-dhcp-ddns">kea-dhcp-ddns</link></command>, <command><link linkend="commands-kea-ctrl-agent">kea-ctrl-agent</link></command></para>
<para>Availability: 1.2.0 (built-in)</para>
<para>Description and examples: See <xref linkend="command-config-set"/></para>
<para>Command syntax:
<screen>{
"command": "config-set",
"arguments": {
"&lt;server&gt;": {
}
}
}</screen>
where &lt;server&gt; is the configuration element name for a given server such as "Dhcp4" or "Dhcp6"</para>
<para>Response syntax:
<screen> {"result": 0, "text": "Configuration successful." }
or
{"result": 1, "text": "unsupported parameter: BOGUS (&lt;string&gt;:16:26)" }</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of config-set -->
<!-- start of config-test -->
<section xml:id="reference-config-test">
<title>config-test reference</title>
<para xml:id="ref-config-test"><command>config-test</command> - The config-test command instructs the server to check whether the new configuration supplied in the command's arguments can be loaded.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command>, <command><link linkend="commands-kea-dhcp-ddns">kea-dhcp-ddns</link></command>, <command><link linkend="commands-kea-ctrl-agent">kea-ctrl-agent</link></command></para>
<para>Availability: 1.2.0 (built-in)</para>
<para>Description and examples: See <xref linkend="command-config-test"/></para>
<para>Command syntax:
<screen>{
"command": "config-test",
"arguments": {
"&lt;server&gt;": {
}
}
}</screen>
where &gt;server&lt; is the configuration element name for a given server such as "Dhcp4" or "Dhcp6"</para>
<para>Response syntax:
<screen>{"result": 0, "text": "Configuration seems sane..." }
or
{"result": 1, "text": "unsupported parameter: BOGUS (&lt;string&gt;:16:26)" }</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of config-test -->
<!-- start of config-write -->
<section xml:id="reference-config-write">
<title>config-write reference</title>
<para xml:id="ref-config-write"><command>config-write</command> - The config-write command instructs the Kea server to write its
current configuration to a file on disk.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command>, <command><link linkend="commands-kea-dhcp-ddns">kea-dhcp-ddns</link></command>, <command><link linkend="commands-kea-ctrl-agent">kea-ctrl-agent</link></command></para>
<para>Availability: 1.2.0 (built-in)</para>
<para>Description and examples: See <xref linkend="command-config-write"/></para>
<para>Command syntax:
<screen>{
"command": "config-write",
"arguments": {
"filename": "config-modified-2017-03-15.json"
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of config-write -->
<!-- start of dhcp-disable -->
<section xml:id="reference-dhcp-disable">
<title>dhcp-disable reference</title>
<para xml:id="ref-dhcp-disable"><command>dhcp-disable</command> - The dhcp-disable command globally disables the DHCP service.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.4.0 (built-in)</para>
<para>Description and examples: See <xref linkend="command-dhcp-disable"/></para>
<para>Command syntax:
<screen>{
"command": "dhcp-disable",
"arguments": {
"max-period": 20
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of dhcp-disable -->
<!-- start of dhcp-enable -->
<section xml:id="reference-dhcp-enable">
<title>dhcp-enable reference</title>
<para xml:id="ref-dhcp-enable"><command>dhcp-enable</command> - The dhcp-enable command globally enables the DHCP service.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.4.0 (built-in)</para>
<para>Description and examples: See <xref linkend="command-dhcp-enable"/></para>
<para>Command syntax:
<screen>{
"command": "dhcp-enable"
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of dhcp-enable -->
<!-- start of ha-continue -->
<section xml:id="reference-ha-continue">
<title>ha-continue reference</title>
<para xml:id="ref-ha-continue"><command>ha-continue</command> - This command is used to resume the operation of the paused HA state machine.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.4.0 (<link linkend="commands-high_availability-lib">high_availability</link> hook)</para>
<para>Description and examples: See <xref linkend="command-ha-continue"/></para>
<para>Command syntax:
<screen>{
"command": "ha-continue"
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of ha-continue -->
<!-- start of ha-heartbeat -->
<section xml:id="reference-ha-heartbeat">
<title>ha-heartbeat reference</title>
<para xml:id="ref-ha-heartbeat"><command>ha-heartbeat</command> - This command is sent internally by Kea partner when operating
in High Availability (HA) mode. It will retrieve the server HA state and clock value.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.4.0 (<link linkend="commands-high_availability-lib">high_availability</link> hook)</para>
<para>Description and examples: See <xref linkend="command-ha-heartbeat"/></para>
<para>Command syntax:
<screen>{
"command": "ha-heartbeat",
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
The response to this command is different from the typical command response. The response will include server state (see <xref linkend="ha-server-states"/> plus the current clock value.</para>
</section>
<!-- end of ha-heartbeat -->
<!-- start of ha-scopes -->
<section xml:id="reference-ha-scopes">
<title>ha-scopes reference</title>
<para xml:id="ref-ha-scopes"><command>ha-scopes</command> - This command modifies the scope that the server is responsible for serving when operating in High Availability (HA) mode.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.4.0 (<link linkend="commands-high_availability-lib">high_availability</link> hook)</para>
<para>Description and examples: See <xref linkend="command-ha-scopes"/></para>
<para>Command syntax:
<screen>{
"command": "ha-scopes",
"service": [ &lt;service, typically "dhcp4" or "dhcp6"&gt; ],
"arguments": {
"scopes": [ "HA_server1", "HA_server2" ]
}</screen>
In the example given, the arguments configure the server to handle traffic from both HA_server1 and HA_server2 scopes.</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of ha-scopes -->
<!-- start of ha-sync -->
<section xml:id="reference-ha-sync">
<title>ha-sync reference</title>
<para xml:id="ref-ha-sync"><command>ha-sync</command> - The command is issued to instruct the server running in HA mode to
synchronize its local lease database with the selected peer.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.4.0 (<link linkend="commands-high_availability-lib">high_availability</link> hook)</para>
<para>Description and examples: See <xref linkend="command-ha-sync"/></para>
<para>Command syntax:
<screen>{
"command": "ha-sync",
"service": [ &lt;service affected: "dhcp4" or "dhcp6" ],
"arguments": {
"server-name": &lt;name of the partner server&gt;,
"max-period": &lt;integer, in seconds&gt;
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of ha-sync -->
<!-- start of lease4-add -->
<section xml:id="reference-lease4-add">
<title>lease4-add reference</title>
<para xml:id="ref-lease4-add"><command>lease4-add</command> - The lease4-add command adds a new IPv4 lease administratively.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-lease_cmds-lib">lease_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-lease4-add"/></para>
<para>Command syntax:
<screen>{
"command": "lease4-add",
"arguments": {
"ip-address": "192.0.2.202",
"hw-address": "1a:1b:1c:1d:1e:1f"
}
}</screen>
Note that Kea 1.4 requires an additional argument, subnet-ID, which is optional as of Kea 1.5. A number of other more detailed optional arguments are also supported.</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of lease4-add -->
<!-- start of lease4-del -->
<section xml:id="reference-lease4-del">
<title>lease4-del reference</title>
<para xml:id="ref-lease4-del"><command>lease4-del</command> - lease4-del can be used to delete a lease from the lease database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-lease_cmds-lib">lease_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-lease4-del"/></para>
<para>Command syntax:
<screen>{
"command": "lease4-del",
"arguments": {
"ip-address": "192.0.2.202"
}
}</screen>
Specify the lease to be deleted either by IP address, or by identifier-type and identifier value. Currently supported identifiers are "hw-address" and "client-id".</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of lease4-del -->
<!-- start of lease4-get -->
<section xml:id="reference-lease4-get">
<title>lease4-get reference</title>
<para xml:id="ref-lease4-get"><command>lease4-get</command> - lease4-get can be used to query the lease database and retrieve existing leases.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-lease_cmds-lib">lease_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-lease4-get"/></para>
<para>Command syntax:
<screen>{
"command": "lease4-get",
"arguments": {
"ip-address": "192.0.2.1"
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"arguments": {
"client-id": "42:42:42:42:42:42:42:42",
"cltt": 12345678,
"fqdn-fwd": false,
"fqdn-rev": true,
"hostname": "myhost.example.com.",
"hw-address": "08:08:08:08:08:08",
"ip-address": "192.0.2.1",
"state": 0,
"subnet-id": 44,
"valid-lft": 3600
},
"result": 0,
"text": "IPv4 lease found."
}</screen>
lease4-get returns a result that indicates a result of the operation and lease details, if found. It has one of the following values: 0 (success), 1 (error) or 2 (empty).</para>
</section>
<!-- end of lease4-get -->
<!-- start of lease4-get-all -->
<section xml:id="reference-lease4-get-all">
<title>lease4-get-all reference</title>
<para xml:id="ref-lease4-get-all"><command>lease4-get-all</command> - lease4-get-all is used to retrieve all IPv4 leases or all leases for the specified set of subnets.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.4.0 (<link linkend="commands-lease_cmds-lib">lease_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-lease4-get-all"/></para>
<para>Command syntax:
<screen>{
"command": "lease4-get-all"
"arguments": "subnets"
}</screen>
The lease4-get-all command may result in very large responses.</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of lease4-get-all -->
<!-- start of lease4-update -->
<section xml:id="reference-lease4-update">
<title>lease4-update reference</title>
<para xml:id="ref-lease4-update"><command>lease4-update</command> - The lease4-update command can be used to update existing leases.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-lease_cmds-lib">lease_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-lease4-update"/></para>
<para>Command syntax:
<screen>{
"command": "lease4-update",
"arguments": {
"ip-address": "192.0.2.1",
"hostname": "newhostname.example.org",
"hw-address": "1a:1b:1c:1d:1e:1f",
"subnet-id": 44,
"force-create": true
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of lease4-update -->
<!-- start of lease4-wipe -->
<section xml:id="reference-lease4-wipe">
<title>lease4-wipe reference</title>
<para xml:id="ref-lease4-wipe"><command>lease4-wipe</command> - lease4-wipe is designed to remove all leases associated with a given subnet.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-lease_cmds-lib">lease_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-lease4-wipe"/></para>
<para>Command syntax:
<screen>{
"command": "lease4-wipe",
"arguments": {
"subnet-id": 44
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of lease4-wipe -->
<!-- start of lease6-add -->
<section xml:id="reference-lease6-add">
<title>lease6-add reference</title>
<para xml:id="ref-lease6-add"><command>lease6-add</command> - The lease6-add command creates a new lease administratively.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-lease_cmds-lib">lease_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-lease6-add"/></para>
<para>Command syntax:
<screen>{
"command": "lease6-add",
"arguments": {
"subnet-id": 66,
"ip-address": "2001:db8::3",
"duid": "1a:1b:1c:1d:1e:1f:20:21:22:23:24",
"iaid": 1234
}
}</screen>
lease6-add can be also used to add leases for IPv6 prefixes..</para>
<para>Response syntax:
<screen>{ "result": 0, "text": "Lease added." }
{ "result": 1, "text": "missing parameter 'ip-address' (&lt;string&gt;:3:19)" }</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of lease6-add -->
<!-- start of lease6-bulk-apply -->
<section xml:id="reference-lease6-bulk-apply">
<title>lease6-bulk-apply reference</title>
<para xml:id="ref-lease6-bulk-apply"><command>lease6-bulk-apply</command> - The lease6-bulk-apply command can be used to create, update and delete multiple IPv6 leases in a single transaction. This is used to communicate lease changes between the HA peers but may be used in all cases when it is desired to apply multiple lease updates in a single transaction.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-lease_cmds-lib">lease_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-lease6-bulk-apply"/></para>
<para>Command syntax:
<screen>{
"command": "lease6-bulk-apply",
"arguments": {
"deleted-leases": [
{
"ip-address": "2001:db8:abcd::",
"type": "IA_PD",
...
},
{
"ip-address": "2001:db8:abcd::234",
"type": "IA_NA",
...
}
],
"leases": [
{
"subnet-id": 66,
"ip-address": "2001:db8:cafe::",
"type": "IA_PD",
...
},
{
"subnet-id": 66,
"ip-address": "2001:db8:abcd::333",
"type": "IA_NA",
...
}
]
}
}</screen>
If any of the leases is malformed, all changes are rolled back. If the leases are well formed but the operation fails for one or more leases, the these leases are listed in the response but the changes are preserved for all leases for which the operation was successful. The "deleted-leases" and "leases" are optional parameters but one of them must be specified.</para>
<para>Response syntax:
<screen> {
{
"result": 0,
"text": IPv6 leases bulk apply completed.
"arguments": {
"failed-deleted-leases": [
{
"ip-address": "2001:db8:abcd::",
"type": "IA_PD",
"result": &lt;control result&gt;,
"error-message": &lt;error message&gt;
}
],
"failed-leases": [
{
"ip-address": "2001:db8:cafe::",
"type": "IA_PD",
"result" &lt;control result&gt;,
"error-message": &lt;error message&gt;
}
]
}
}
}</screen>
The "failed-deleted-leases" holds the list of leases which failed to delete. This includes leases which were not found in the database. The "failed-leases" includes the list of leases which failed to create or update. For each lease for which there was an error while processing the lease, inserting it into the database etc. the result is set to 1. For each lease which was not deleted because the server didn't find it in the database the result of 3 is returned.</para>
</section>
<!-- end of lease6-bulk-apply -->
<!-- start of lease6-del -->
<section xml:id="reference-lease6-del">
<title>lease6-del reference</title>
<para xml:id="ref-lease6-del"><command>lease6-del</command> - lease6-del can be used to delete a lease from the lease database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-lease_cmds-lib">lease_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-lease6-del"/></para>
<para>Command syntax:
<screen>{
"command": "lease6-del",
"arguments": {
"ip-address": "192.0.2.202"
}
}</screen>
lease6-del returns a result that indicates a outcome of the operation. It has one of the following values: 0 (success), 1 (error) or 3 (empty).</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of lease6-del -->
<!-- start of lease6-get -->
<section xml:id="reference-lease6-get">
<title>lease6-get reference</title>
<para xml:id="ref-lease6-get"><command>lease6-get</command> - lease6-get can be used to query the lease database and retrieve existing leases.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-lease_cmds-lib">lease_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-lease6-get"/></para>
<para>Command syntax:
<screen>{
"command": "lease6-get",
"arguments": {
"ip-address": "2001:db8:1234:ab::",
"type": "IA_PD"
}
}</screen>
lease6-get returns a result that indicates a result of the operation and lease details, if found. It has one of the following values: 0 (success), 1 (error) or 2 (empty).</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of lease6-get -->
<!-- start of lease6-get-all -->
<section xml:id="reference-lease6-get-all">
<title>lease6-get-all reference</title>
<para xml:id="ref-lease6-get-all"><command>lease6-get-all</command> - lease6-get-all is used to retrieve all IPv6 leases or all leases for the specified set of subnets.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-lease_cmds-lib">lease_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-lease6-get-all"/></para>
<para>Command syntax:
<screen>{
"command": "lease6-get-all",
"arguments": {
"subnets": [ 1, 2, 3, 4 ]
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"arguments": {
"leases": [
{
"cltt": 12345678,
"duid": "42:42:42:42:42:42:42:42",
"fqdn-fwd": false,
"fqdn-rev": true,
"hostname": "myhost.example.com.",
"hw-address": "08:08:08:08:08:08",
"iaid": 1,
"ip-address": "2001:db8:2::1",
"preferred-lft": 500,
"state": 0,
"subnet-id": 44,
"type": "IA_NA",
"valid-lft": 3600
},
{
"cltt": 12345678,
"duid": "21:21:21:21:21:21:21:21",
"fqdn-fwd": false,
"fqdn-rev": true,
"hostname": "",
"iaid": 1,
"ip-address": "2001:db8:0:0:2::",
"preferred-lft": 500,
"prefix-len": 80,
"state": 0,
"subnet-id": 44,
"type": "IA_PD",
"valid-lft": 3600
}
]
},
"result": 0,
"text": "2 IPv6 lease(s) found."
}</screen>
The lease6-get-all command may result in very large responses.</para>
</section>
<!-- end of lease6-get-all -->
<!-- start of lease6-update -->
<section xml:id="reference-lease6-update">
<title>lease6-update reference</title>
<para xml:id="ref-lease6-update"><command>lease6-update</command> - The lease6-update command can be used to update existing leases.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-lease_cmds-lib">lease_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-lease6-update"/></para>
<para>Command syntax:
<screen>{
"command": "lease6-update",
"arguments": {
"ip-address": "2001:db8::1",
"duid": "88:88:88:88:88:88:88:88",
"iaid": 7654321,
"hostname": "newhostname.example.org",
"subnet-id": 66,
"force-create": false
}
}
</screen>
</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of lease6-update -->
<!-- start of lease6-wipe -->
<section xml:id="reference-lease6-wipe">
<title>lease6-wipe reference</title>
<para xml:id="ref-lease6-wipe"><command>lease6-wipe</command> - lease6-wipe is designed to remove all leases associated with a given subnet.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-lease_cmds-lib">lease_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-lease6-wipe"/></para>
<para>Command syntax:
<screen>{
"command": "lease6-wipe",
"arguments": {
"subnet-id": 66
}
}</screen>
Note: not all backends support this command.</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of lease6-wipe -->
<!-- start of leases-reclaim -->
<section xml:id="reference-leases-reclaim">
<title>leases-reclaim reference</title>
<para xml:id="ref-leases-reclaim"><command>leases-reclaim</command> - The leases-reclaim command instructs the server to reclaim all expired leases immediately.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.0.0 (built-in)</para>
<para>Description and examples: See <xref linkend="command-leases-reclaim"/></para>
<para>Command syntax:
<screen>{
"command": "leases-reclaim",
"arguments": {
"remove": true
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of leases-reclaim -->
<!-- start of libreload -->
<section xml:id="reference-libreload">
<title>libreload reference</title>
<para xml:id="ref-libreload"><command>libreload</command> - The libreload command will first unload and then load all currently loaded hook libraries.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.2.0 (built-in)</para>
<para>Description and examples: See <xref linkend="command-libreload"/></para>
<para>Command syntax:
<screen>{
"command": "libreload",
"arguments": { }
}</screen>
The server will respond with a result of 0 indicating success, or 1 indicating a failure.</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of libreload -->
<!-- start of list-commands -->
<section xml:id="reference-list-commands">
<title>list-commands reference</title>
<para xml:id="ref-list-commands"><command>list-commands</command> - The list-commands command retrieves a list of all commands supported by the server.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command>, <command><link linkend="commands-kea-dhcp-ddns">kea-dhcp-ddns</link></command>, <command><link linkend="commands-kea-ctrl-agent">kea-ctrl-agent</link></command></para>
<para>Availability: 1.0.0 (built-in)</para>
<para>Description and examples: See <xref linkend="command-list-commands"/></para>
<para>Command syntax:
<screen>{
"command": "list-commands",
"arguments": { }
}</screen>
The server will respond with a list of all supported commands.</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of list-commands -->
<!-- start of network4-add -->
<section xml:id="reference-network4-add">
<title>network4-add reference</title>
<para xml:id="ref-network4-add"><command>network4-add</command> - The network4-add command is used to add a new shared network.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-network4-add"/></para>
<para>Command syntax:
<screen>{
"command": "network4-add",
"arguments": {
"shared-networks": [ {
"name": "floor13",
"subnet4": [
{
"id": 100,
"pools": [ { "pool": "192.0.2.2-192.0.2.99" } ],
"subnet": "192.0.2.0/24",
"option-data": [
{
"name": "routers",
"data": "192.0.2.1"
}
]
},
{
"id": 101,
"pools": [ { "pool": "192.0.3.2-192.0.3.99" } ],
"subnet": "192.0.3.0/24",
"option-data": [
{
"name": "routers",
"data": "192.0.3.1"
}
]
} ]
} ]
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"arguments": {
"shared-networks": [ { "name": "floor13" } ]
},
"result": 0,
"text": "A new IPv4 shared network 'floor13' added"
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of network4-add -->
<!-- start of network4-del -->
<section xml:id="reference-network4-del">
<title>network4-del reference</title>
<para xml:id="ref-network4-del"><command>network4-del</command> - The network4-del command is used to delete existing shared networks.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-network4-del"/></para>
<para>Command syntax:
<screen>{
"command": "network4-del",
"arguments": {
"name": "floor13"
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"arguments": {
"shared-networks": [
{
"name": "floor13"
}
]
},
"result": 0,
"text": "IPv4 shared network 'floor13' deleted"
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of network4-del -->
<!-- start of network4-get -->
<section xml:id="reference-network4-get">
<title>network4-get reference</title>
<para xml:id="ref-network4-get"><command>network4-get</command> - The network4-get command is used to retrieve detailed information about shared networks, including subnets currently being part of a given network.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-network4-get"/></para>
<para>Command syntax:
<screen>{
"command": "network4-get",
"arguments": {
"name": "floor13"
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "Info about IPv4 shared network 'floor13' returned",
"arguments": {
"shared-networks": [
{
"match-client-id": true,
"name": "floor13",
"option-data": [ ],
"rebind-timer": 90,
"relay": {
"ip-address": "0.0.0.0"
},
"renew-timer": 60,
"reservation-mode": "all",
"subnet4": [
{
"subnet": "192.0.2.0/24",
"id": 5,
// many other subnet specific details here
},
{
"id": 6,
"subnet": "192.0.3.0/31",
// many other subnet specific details here
}
],
"valid-lifetime": 120
}
]
}
}</screen>
Note that the actual response contains many additional fields that are omitted here for clarity.</para>
</section>
<!-- end of network4-get -->
<!-- start of network4-list -->
<section xml:id="reference-network4-list">
<title>network4-list reference</title>
<para xml:id="ref-network4-list"><command>network4-list</command> - The network4-list command is used to retrieve full list of currently configured shared networks.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-network4-list"/></para>
<para>Command syntax:
<screen>{
"command": "network4-list"
}</screen>
</para>
<para>Response syntax:
<screen>{
"arguments": {
"shared-networks": [
{ "name": "floor1" },
{ "name": "office" }
]
},
"result": 0,
"text": "2 IPv4 network(s) found"
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of network4-list -->
<!-- start of network4-subnet-add -->
<section xml:id="reference-network4-subnet-add">
<title>network4-subnet-add reference</title>
<para xml:id="ref-network4-subnet-add"><command>network4-subnet-add</command> - The network4-subnet-add command is used to add existing subnets to existing shared networks.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-network4-subnet-add"/></para>
<para>Command syntax:
<screen>{
"command": "network4-subnet-add",
"arguments": {
"name": "floor13",
"id": 5
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv4 subnet 10.0.0.0/8 (id 5) is now part of shared network 'floor1'"
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of network4-subnet-add -->
<!-- start of network4-subnet-del -->
<section xml:id="reference-network4-subnet-del">
<title>network4-subnet-del reference</title>
<para xml:id="ref-network4-subnet-del"><command>network4-subnet-del</command> - The network4-subnet-del command is used to remove a subnet that is part of an existing shared network and demote it to a plain, stand-alone subnet.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-network4-subnet-del"/></para>
<para>Command syntax:
<screen>{
"command": "network4-subnet-del",
"arguments": {
"name": "floor13",
"id": 5
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv4 subnet 10.0.0.0/8 (id 5) is now removed from shared network 'floor13'"
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of network4-subnet-del -->
<!-- start of network6-add -->
<section xml:id="reference-network6-add">
<title>network6-add reference</title>
<para xml:id="ref-network6-add"><command>network6-add</command> - The network6-add command is used to add a new shared network.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-network6-add"/></para>
<para>Command syntax:
<screen>{
"command": "network4-add",
"arguments": {
"shared-networks": [ {
"name": "floor13",
"subnet4": [
{
"id": 100,
"pools": [ { "pool": "192.0.2.2-192.0.2.99" } ],
"subnet": "192.0.2.0/24",
"option-data": [
{
"name": "routers",
"data": "192.0.2.1"
}
]
},
{
"id": 101,
"pools": [ { "pool": "192.0.3.2-192.0.3.99" } ],
"subnet": "192.0.3.0/24",
"option-data": [
{
"name": "routers",
"data": "192.0.3.1"
}
]
} ]
} ]
}
}</screen>
The network6-add uses the same syntax for both the query and the response. However, there are some parameters that are IPv4-only (e.g. match-client-id) and some are IPv6-only (e.g. interface-id).</para>
<para>Response syntax:
<screen>{
"arguments": {
"shared-networks": [ { "name": "floor13" } ]
},
"result": 0,
"text": "A new IPv4 shared network 'floor13' added"
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of network6-add -->
<!-- start of network6-del -->
<section xml:id="reference-network6-del">
<title>network6-del reference</title>
<para xml:id="ref-network6-del"><command>network6-del</command> - The network6-del command is used to delete existing shared networks.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-network6-del"/></para>
<para>Command syntax:
<screen>{
"command": "network4-del",
"arguments": {
"name": "floor13"
}
}</screen>
The network6-del command uses exactly the same syntax for
both the command and the response.</para>
<para>Response syntax:
<screen>{
"command": "network4-del",
"arguments": {
"name": "floor13",
"subnets-action": "delete"
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of network6-del -->
<!-- start of network6-get -->
<section xml:id="reference-network6-get">
<title>network6-get reference</title>
<para xml:id="ref-network6-get"><command>network6-get</command> - The network6-get command is used to retrieve detailed information about shared networks, including subnets currently being part of a given network.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-network6-get"/></para>
<para>Command syntax:
<screen>{
"command": "network4-get",
"arguments": {
"name": "floor13"
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "Info about IPv4 shared network 'floor13' returned",
"arguments": {
"shared-networks": [
{
"match-client-id": true,
"name": "floor13",
"option-data": [ ],
"rebind-timer": 90,
"relay": {
"ip-address": "0.0.0.0"
},
"renew-timer": 60,
"reservation-mode": "all",
"subnet4": [
{
"subnet": "192.0.2.0/24",
"id": 5,
// many other subnet specific details here
},
{
"id": 6,
"subnet": "192.0.3.0/31",
// many other subnet specific details here
}
],
"valid-lifetime": 120
}
]
}
}</screen>
Note that the actual response contains many additional fields that are omitted here for clarity.</para>
</section>
<!-- end of network6-get -->
<!-- start of network6-list -->
<section xml:id="reference-network6-list">
<title>network6-list reference</title>
<para xml:id="ref-network6-list"><command>network6-list</command> - The network6-list command is used to retrieve full list of currently configured shared networks.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-network6-list"/></para>
<para>Command syntax:
<screen>{
"command": "network4-list"
}</screen>
network6-list follows exactly the same syntax for both the query and the response.</para>
<para>Response syntax:
<screen>{
"arguments": {
"shared-networks": [
{ "name": "floor1" },
{ "name": "office" }
]
},
"result": 0,
"text": "2 IPv4 network(s) found"
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of network6-list -->
<!-- start of network6-subnet-add -->
<section xml:id="reference-network6-subnet-add">
<title>network6-subnet-add reference</title>
<para xml:id="ref-network6-subnet-add"><command>network6-subnet-add</command> - The network6-subnet-add command is used to add existing subnets to existing shared networks.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-network6-subnet-add"/></para>
<para>Command syntax:
<screen>{
"command": "network4-subnet-add",
"arguments": {
"name": "floor13",
"id": 5
}
}</screen>
The network6-subnet-add command uses exactly the same syntax for both the command and the response.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv4 subnet 10.0.0.0/8 (id 5) is now part of shared network 'floor1'"
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of network6-subnet-add -->
<!-- start of network6-subnet-del -->
<section xml:id="reference-network6-subnet-del">
<title>network6-subnet-del reference</title>
<para xml:id="ref-network6-subnet-del"><command>network6-subnet-del</command> - The network6-subnet-del command is used to remove a subnet that is part of existing shared network and demote it to a plain, stand-alone subnet.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-network6-subnet-del"/></para>
<para>Command syntax:
<screen>{
"command": "network4-subnet-del",
"arguments": {
"name": "floor13",
"id": 5
}
}</screen>
The network6-subnet-del command uses exactly the same syntax for both the command and the response.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv4 subnet 10.0.0.0/8 (id 5) is now removed from shared network 'floor13'"
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of network6-subnet-del -->
<!-- start of remote-global-parameter4-del -->
<section xml:id="reference-remote-global-parameter4-del">
<title>remote-global-parameter4-del reference</title>
<para xml:id="ref-remote-global-parameter4-del"><command>remote-global-parameter4-del</command> - This command is used to delete a global DHCPv4 parameter from the configuration database. The server will use the value specified in the configuration file or a default value (if the parameter is not specified in the configuration file) after deleting the parameter from the database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-global-parameter4-del"/></para>
<para>Command syntax:
<screen>{
"command": "remote-global-parameter4-del",
"arguments": {
"parameters": [ &lt;parameter name as string&gt; ],
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}
}</screen>
This command carries the list including exactly one name of the parameter to be deleted. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCPv4 global parameter(s) deleted.",
"arguments": {
"count": 1
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-global-parameter4-del -->
<!-- start of remote-global-parameter4-get -->
<section xml:id="reference-remote-global-parameter4-get">
<title>remote-global-parameter4-get reference</title>
<para xml:id="ref-remote-global-parameter4-get"><command>remote-global-parameter4-get</command> - This command is used to fetch selected global parameter for the server from the specified database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-global-parameter4-get"/></para>
<para>Command syntax:
<screen>{
"command": "remote-global-parameter4-get",
"arguments": {
"parameters": [ &lt;parameter name as string&gt; ],
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}
}</screen>
This command carries a list including exactly one name of the parameter to be fetched. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed to fetch the global parameter value shared by all servers.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCPv4 global parameter found.",
"arguments": {
"parameters": {
&lt;parameter name&gt;: &lt;parameter value&gt;,
"metadata": {
"server-tags": [ &lt;server tag&gt; ]
}
},
"count": 1
}
}</screen>
The returned response contains a map with a global parameter name/value pair. The value may be a JSON string, integer, real or boolean. The metadata is included and it provides database specific information associated with the returned object. If the "all" server tag was specified, the command attempts to fetch the global parameter value associated with all servers. If the explicit server tag is specified, the command will fetch the value associated with the given server. If the server specific value doesn't exist, it will try to fetch the value associated with all servers.</para>
</section>
<!-- end of remote-global-parameter4-get -->
<!-- start of remote-global-parameter4-get-all -->
<section xml:id="reference-remote-global-parameter4-get-all">
<title>remote-global-parameter4-get-all reference</title>
<para xml:id="ref-remote-global-parameter4-get-all"><command>remote-global-parameter4-get-all</command> - This command is used to fetch all global parameters for the server from the specified database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-global-parameter4-get-all"/></para>
<para>Command syntax:
<screen>{
"command": "remote-global-parameter4-get-all",
"arguments": {
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}
}</screen>
The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The special server tag "all" is allowed to fetch the global parameters shared by all servers.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCPv4 global parameters found.",
"arguments": {
"parameters": [
{
&lt;first parameter name&gt;: &lt;first parameter value&gt;,
"metadata": {
"server-tags": [ &lt;server tag&gt; ]
}
},
{
&lt;second parameter name&gt;: &lt;second parameter value&gt;,
"metadata": {
"server-tags": [ &lt;server tag&gt; ]
}
}
],
"count": 2
}
}</screen>
The returned response contains a list of maps. Each map contains a global parameter name/value pair. The value may be a JSON string, integer, real or boolean. The metadata is appended to each parameter and it provides database specific information associated with the returned objects. If the server tag "all" is included in the command, the response contains the global parameters shared between all servers. It excludes server specific global parameters. If an explicit server tag is included in the command, the response contains all global parameters directly associated with the given server and the global parameters associated with all servers when server specific values are not present.</para>
</section>
<!-- end of remote-global-parameter4-get-all -->
<!-- start of remote-global-parameter4-set -->
<section xml:id="reference-remote-global-parameter4-set">
<title>remote-global-parameter4-set reference</title>
<para xml:id="ref-remote-global-parameter4-set"><command>remote-global-parameter4-set</command> - This command is used to create or update one more global parameters in the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-global-parameter4-set"/></para>
<para>Command syntax:
<screen>{
"command": "remote-global-parameter4-set"
"arguments": {
"parameters": {
&lt;first parameter name&gt;: &lt;first parameter value&gt;,
&lt;second parameter name&gt;: &lt;second parameter value&gt;
},
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}
}</screen>
This command carries multiple global parameters with their values. Care should be taken when specifying more than one parameter because in some cases only a subset of the parameters may be successfully stored in the database and other parameters may fail to be stored. In such cases the <command>remote-global-parameter4-get-all</command> may be useful to verify the contents of the database after the update. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed and it associates the specified parameters with all servers.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCPv4 global parameter(s) successfully set.",
"arguments": {
"parameters": {
&lt;first parameter name&gt;: &lt;first parameter value&gt;,
&lt;second parameter name&gt;: &lt;second parameter value&gt;
},
"count": 2
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-global-parameter4-set -->
<!-- start of remote-global-parameter6-del -->
<section xml:id="reference-remote-global-parameter6-del">
<title>remote-global-parameter6-del reference</title>
<para xml:id="ref-remote-global-parameter6-del"><command>remote-global-parameter6-del</command> - This command is used to delete a global DHCPv6 parameter from the configuration database. The server will use the value specified in the configuration file or a default value (if the parameter is not specified in the configuration file) after deleting the parameter from the database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-global-parameter6-del"/></para>
<para>Command syntax:
<screen>{
"command": "remote-global-parameter6-del",
"arguments": {
"parameters": [ &lt;parameter name as string&gt; ],
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}
}</screen>
This command carries the list including exactly one name of the parameter to be deleted. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCPv6 global parameter(s) deleted.",
"arguments": {
"count": 1
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-global-parameter6-del -->
<!-- start of remote-global-parameter6-get -->
<section xml:id="reference-remote-global-parameter6-get">
<title>remote-global-parameter6-get reference</title>
<para xml:id="ref-remote-global-parameter6-get"><command>remote-global-parameter6-get</command> - This command is used to fetch selected global parameter for the server from the specified database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-global-parameter6-get"/></para>
<para>Command syntax:
<screen>{
"command": "remote-global-parameter6-get",
"arguments": {
"parameters": [ &lt;parameter name as string&gt; ],
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}
}</screen>
This command carries a list including exactly one name of the parameter to be fetched. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed to fetch the global parameter value shared by all servers.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCPv6 global parameter found.",
"arguments": {
"parameters": {
&lt;parameter name&gt;: &lt;parameter value&gt;,
"metadata": {
"server-tags": [ &lt;server tag&gt; ]
}
},
"count": 1
}
}</screen>
The returned response contains a map with a global parameter name/value pair. The value may be a JSON string, integer, real or boolean. The metadata is included and it provides database specific information associated with the returned object. If the "all" server tag was specified, the command attempts to fetch the global parameter value associated with all servers. If the explicit server tag is specified, the command will fetch the value associated with the given server. If the server specific value doesn't exist, it will try to fetch the value associated with all servers.</para>
</section>
<!-- end of remote-global-parameter6-get -->
<!-- start of remote-global-parameter6-get-all -->
<section xml:id="reference-remote-global-parameter6-get-all">
<title>remote-global-parameter6-get-all reference</title>
<para xml:id="ref-remote-global-parameter6-get-all"><command>remote-global-parameter6-get-all</command> - This command is used to fetch all global parameters for the server from the specified database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-global-parameter6-get-all"/></para>
<para>Command syntax:
<screen>{
"command": "remote-global-parameter6-get-all",
"arguments": {
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}
}</screen>
The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The special server tag "all" is allowed to fetch the global parameters shared by all servers.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCPv6 global parameters found.",
"arguments": {
"parameters": [
{
&lt;first parameter name&gt;: &lt;first parameter value&gt;,
"metadata": {
"server-tags": [ &lt;server tag&gt; ]
}
},
{
&lt;second parameter name&gt;: &lt;second parameter value&gt;,
"metadata": {
"server-tags": [ &lt;server tag&gt; ]
}
}
],
"count": 2
}
}</screen>
The returned response contains a list of maps. Each map contains a global parameter name/value pair. The value may be a JSON string, integer, real or boolean. The metadata is appended to each parameter and it provides database specific information associated with the returned objects. If the server tag "all" is included in the command, the response contains the global parameters shared between all servers. It excludes server specific global parameters. If an explicit server tag is included in the command, the response contains all global parameters directly associated with the given server and the global parameters associated with all servers when server specific values are not present.</para>
</section>
<!-- end of remote-global-parameter6-get-all -->
<!-- start of remote-global-parameter6-set -->
<section xml:id="reference-remote-global-parameter6-set">
<title>remote-global-parameter6-set reference</title>
<para xml:id="ref-remote-global-parameter6-set"><command>remote-global-parameter6-set</command> - This command is used to create or update one more global parameters in the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-global-parameter6-set"/></para>
<para>Command syntax:
<screen>{
"command": "remote-global-parameter6-set"
"arguments": {
"parameters": {
&lt;first parameter name&gt;: &lt;first parameter value&gt;,
&lt;second parameter name&gt;: &lt;second parameter value&gt;
},
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}
}</screen>
This command carries multiple global parameters with their values. Care should be taken when specifying more than one parameter because in some cases only a subset of the parameters may be successfully stored in the database and other parameters may fail to be stored. In such cases the <command>remote-global-parameter6-get-all</command> may be useful to verify the contents of the database after the update. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed and it associates the specified parameters with all servers.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCPv6 global parameter(s) successfully set.",
"arguments": {
"parameters": {
&lt;first parameter name&gt;: &lt;first parameter value&gt;,
&lt;second parameter name&gt;: &lt;second parameter value&gt;
},
"count": 2
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-global-parameter6-set -->
<!-- start of remote-network4-del -->
<section xml:id="reference-remote-network4-del">
<title>remote-network4-del reference</title>
<para xml:id="ref-remote-network4-del"><command>remote-network4-del</command> - This command is used to delete an IPv4 shared network from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-network4-del"/></para>
<para>Command syntax:
<screen>{
"command": "remote-network4-del",
"arguments": {
"shared-networks": [
{
"name": &lt;shared network name&gt;
}
],
"subnets-action": "keep" | "delete",
"remote": {
&lt;specification of the database to connect to&gt;
}
}
}</screen>
This command includes a list with exactly one name of the shared network to be deleted. The <command>subnets-action</command> denotes whether the subnets in this shared network should be deleted or not. The <command>server-tags</command> parameter must not be specified for this command.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "1 IPv4 shared network(s) deleted.",
"arguments": {
"count": 1
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-network4-del -->
<!-- start of remote-network4-get -->
<section xml:id="reference-remote-network4-get">
<title>remote-network4-get reference</title>
<para xml:id="ref-remote-network4-get"><command>remote-network4-get</command> - This command is used to fetch selected IPv4 shared network for the server from the specified database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-network4-get"/></para>
<para>Command syntax:
<screen>{
"command": "remote-network4-get"
"arguments": {
"shared-networks": [
{
"name": &lt;shared network name&gt;
}
],
"subnets-include": "full" | "no",
"remote": {
&lt;specification of the database to connect to&gt;
}
}
}</screen>
This command includes a list with exactly one name of the shared network to be returned. The <command>subnets-include</command> optional parameter allows for specifying whether the subnets belonging to the shared network should also be returned. The <command>server-tags</command> parameter must not be specified for this command.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv4 shared network found.",
"arguments": {
"shared-networks": [
{
"name": &lt;shared network name&gt;,
"metadata": {
"server-tags": [ &lt;first server tag&gt;, &lt;second server tag&gt;, ... ]
},
&lt;the rest of the shared network information, potentially including subnets&gt;
}
],
"count": 1
}
}</screen>
If the subnets are returned with the shared network they are carried in the <command>subnet4</command> list within the shared network definition. The metadata is included in the returned shared network definition and it provides the database specific information associated with the returned object.</para>
</section>
<!-- end of remote-network4-get -->
<!-- start of remote-network4-list -->
<section xml:id="reference-remote-network4-list">
<title>remote-network4-list reference</title>
<para xml:id="ref-remote-network4-list"><command>remote-network4-list</command> - This command is used to fetch a list of all IPv4 shared networks from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-network4-list"/></para>
<para>Command syntax:
<screen>{
"command": "remote-network4-list"
"arguments": {
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;first server tag&gt;, &lt;second server tag&gt;, ... ]
}
}</screen>
The <command>server-tags</command> list is required for this command. This list must not be empty. It may either contain one or multiple server tags as strings or a single <command>null</command> value.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "2 IPv4 shared network(s) found.",
"arguments": {
"shared-networks": [
{
"name": &lt;first shared network name&gt;,
"metadata": {
"server-tags": [ &lt;first server tag&gt;, &lt;second server tag&gt;, ... ]
}
},
{
"name": &lt;second shared network name&gt;,
"metadata": {
"server-tags": [ &lt;first server tag&gt;, ... ]
}
}
],
"count": 2
}
}</screen>
The returned response contains the list of maps. Each map contains the shared network name and the metadata which provides database specific information associated with the shared network. The returned list does not contain full definitions of the shared networks. Use <command>remote-network4-get</command> to fetch the full information about the selected shared networks. If the command includes explicit server tags as strings (including the special server tag "all"), the list contains all shared networks which are associated with any of the specified tags. A network is returned even if it is associated with multiple servers and only one of the specified tags matches. If the command includes the <command>null</command> value in the <command>server-tags</command> list, the response contains all shared networks which are assigned to no servers (unassigned).</para>
</section>
<!-- end of remote-network4-list -->
<!-- start of remote-network4-set -->
<section xml:id="reference-remote-network4-set">
<title>remote-network4-set reference</title>
<para xml:id="ref-remote-network4-set"><command>remote-network4-set</command> - This command is used to create or replace an IPv4 shared network in the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-network4-set"/></para>
<para>Command syntax:
<screen>{
"command": "remote-network4-set",
"arguments": {
"shared-networks": [
{
&lt;shared network specification excluding subnets list&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;first server tag&gt;, &lt;second server tag&gt;, ... ]
}
}</screen>
The provided list must contain exactly one shared network specification. It must not contain subnets ("subnet4" parameter). The subnets are added to the shared network using <command>remote-subnet4-set</command> command. The <command>server-tags</command> list is mandatory and it must contain one or more server tags as strings to explicitly associate the shared network with one or more user defined servers. It may include the special server tag "all" to associate the network with all servers.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv4 shared network successfully set."
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-network4-set -->
<!-- start of remote-network6-del -->
<section xml:id="reference-remote-network6-del">
<title>remote-network6-del reference</title>
<para xml:id="ref-remote-network6-del"><command>remote-network6-del</command> - This command is used to delete an IPv6 shared network from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-network6-del"/></para>
<para>Command syntax:
<screen>{
"command": "remote-network6-del",
"arguments": {
"shared-networks": [
{
"name": &lt;shared network name&gt;
}
],
"subnets-action": "keep" | "delete",
"remote": {
&lt;specification of the database to connect to&gt;
}
}
}</screen>
This command includes a list with exactly one name of the shared network to be deleted. The <command>subnets-action</command> denotes whether the subnets in this shared network should be deleted or not. The <command>server-tags</command> parameter must not be specified for this command.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "1 IPv6 shared network(s) deleted.",
"arguments": {
"count": 1
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-network6-del -->
<!-- start of remote-network6-get -->
<section xml:id="reference-remote-network6-get">
<title>remote-network6-get reference</title>
<para xml:id="ref-remote-network6-get"><command>remote-network6-get</command> - This command is used to fetch selected IPv6 shared network for the server from the specified database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-network6-get"/></para>
<para>Command syntax:
<screen>{
"command": "remote-network6-get"
"arguments": {
"shared-networks": [
{
"name": &lt;shared network name&gt;
}
],
"subnets-include": "full" | "no",
"remote": {
&lt;specification of the database to connect to&gt;
}
}
}</screen>
This command includes a list with exactly one name of the shared network to be returned. The <command>subnets-include</command> optional parameter allows for specifying whether the subnets belonging to the shared network should also be returned. The <command>server-tags</command> parameter must not be specified for this command.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv6 shared network found.",
"arguments": {
"shared-networks": [
{
"name": &lt;shared network name&gt;,
"metadata": {
"server-tags": [ &lt;first server tag&gt;, &lt;second server tag&gt;, ... ]
},
&lt;the rest of the shared network information, potentially including subnets&gt;
}
],
"count": 1
}
}</screen>
If the subnets are returned with the shared network they are carried in the <command>subnet6</command> list within the shared network definition. The metadata is included in the returned shared network definition and it provides the database specific information associated with the returned object.</para>
</section>
<!-- end of remote-network6-get -->
<!-- start of remote-network6-list -->
<section xml:id="reference-remote-network6-list">
<title>remote-network6-list reference</title>
<para xml:id="ref-remote-network6-list"><command>remote-network6-list</command> - This command is used to fetch a list of all IPv6 shared networks from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-network6-list"/></para>
<para>Command syntax:
<screen>{
"command": "remote-network6-list"
"arguments": {
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;first server tag&gt;, &lt;second server tag&gt;, ... ]
}
}</screen>
The <command>server-tags</command> list is required for this command. This list must not be empty. It may either contain one or multiple server tags as strings or a single <command>null</command> value.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "2 IPv6 shared network(s) found.",
"arguments": {
"shared-networks": [
{
"name": &lt;first shared network name&gt;,
"metadata": {
"server-tags": [ &lt;first server tag&gt;, &lt;second server tag&gt;, ... ]
}
},
{
"name": &lt;second shared network name&gt;,
"metadata": {
"server-tags": [ &lt;first server tag&gt;, ... ]
}
}
],
"count": 2
}
}</screen>
The returned response contains the list of maps. Each map contains the shared network name and the metadata which provides database specific information associated with the shared network. The returned list does not contain full definitions of the shared networks. Use <command>remote-network6-get</command> to fetch the full information about the selected shared networks. If the command includes explicit server tags as strings (including the special server tag "all"), the list contains all shared networks which are associated with any of the specified tags. A network is returned even if it is associated with multiple servers and only one of the specified tags matches. If the command includes the <command>null</command> value in the <command>server-tags</command> list, the response contains all shared networks which are assigned to no servers (unassigned).</para>
</section>
<!-- end of remote-network6-list -->
<!-- start of remote-network6-set -->
<section xml:id="reference-remote-network6-set">
<title>remote-network6-set reference</title>
<para xml:id="ref-remote-network6-set"><command>remote-network6-set</command> - This command is used to create or replace an IPv6 shared network in the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-network6-set"/></para>
<para>Command syntax:
<screen>{
"command": "remote-network6-set",
"arguments": {
"shared-networks": [
{
&lt;shared network specification excluding subnets list&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;first server tag&gt;, &lt;second server tag&gt;, ... ]
}
}</screen>
The provided list must contain exactly one shared network specification. It must not contain subnets ("subnet6" parameter). The subnets are added to the shared network using <command>remote-subnet6-set</command> command. The <command>server-tags</command> list is mandatory and it must contain one or more server tags as strings to explicitly associate the shared network with one or more user defined servers. It may include the special server tag "all" to associate the network with all servers.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv6 shared network successfully set."
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-network6-set -->
<!-- start of remote-option-def4-del -->
<section xml:id="reference-remote-option-def4-del">
<title>remote-option-def4-del reference</title>
<para xml:id="ref-remote-option-def4-del"><command>remote-option-def4-del</command> - This command is used to delete a DHCPv4 option definition from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-option-def4-del"/></para>
<para>Command syntax:
<screen>{
"command": "remote-option-def4-del",
"arguments": {
"option-defs": [ {
"code": &lt;option code&gt;,
"space": &lt;option space
} ],
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}
}</screen>
This command includes a list with exactly one option definition specification comprising an option name and code. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "1 DHCPv4 option definition(s) deleted.",
"arguments": {
"count": 1
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-option-def4-del -->
<!-- start of remote-option-def4-get -->
<section xml:id="reference-remote-option-def4-get">
<title>remote-option-def4-get reference</title>
<para xml:id="ref-remote-option-def4-get"><command>remote-option-def4-get</command> - This command is used to fetch a DHCPv4 option definition from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-option-def4-get"/></para>
<para>Command syntax:
<screen>{
"command": "remote-option-def4-get",
"arguments": {
"option-defs": [
{
"code": &lt;option code&gt;,
"space": &lt;option space&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}
}</screen>
The desired option definition is identified by the pair of the option code/space values. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed to fetch the option definition instance shared by all servers.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCPv4 option definition found.",
"arguments": {
"option-defs": [
{
&lt;option definition&gt;,
"metadata": {
"server-tags": [ &lt;server tag&gt; ]
}
}
],
"count": 1
}
}</screen>
The metadata is included and it provides database specific information associated with the returned object. If the "all" server tag was specified, the command attempts to fetch the option definition associated with all servers. If the explicit server tag is specified, the command will fetch the option definition associated with the given server. If the server specific option definition doesn't exist, it will try to fetch the option definition associated with all servers.</para>
</section>
<!-- end of remote-option-def4-get -->
<!-- start of remote-option-def4-get-all -->
<section xml:id="reference-remote-option-def4-get-all">
<title>remote-option-def4-get-all reference</title>
<para xml:id="ref-remote-option-def4-get-all"><command>remote-option-def4-get-all</command> - This command is used to fetch all DHCPv4 option definitions from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-option-def4-get-all"/></para>
<para>Command syntax:
<screen>{
"command": "remote-option-def4-get-all"
"arguments": {
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}
}</screen>
The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The special server tag "all" is allowed to fetch the option definitions shared by all servers.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "2 DHCPv4 option definition(s) found.",
"arguments": {
"option-defs": [
{
&lt;first option definition&gt;,
"metadata": {
"server-tags": [ &lt;server tag&gt; ]
}
},
{
&lt;second option definition&gt;,
"metadata": {
"server-tags": [ &lt;server tag&gt; ]
}
}
],
"count": 2
}
}</screen>
The returned response contains a list of maps. Each map contains an option definition specification and the metadata including database specific information associated with the returned objects. If the server tag "all" is included in the command, the response contains the option definitions shared between all servers. It excludes server specific option definitions. If an explicit server tag is included in the command, the response contains all option definitions directly associated with the given server and the option definitions associated with all servers when server specific option definitions are not present.</para>
</section>
<!-- end of remote-option-def4-get-all -->
<!-- start of remote-option-def4-set -->
<section xml:id="reference-remote-option-def4-set">
<title>remote-option-def4-set reference</title>
<para xml:id="ref-remote-option-def4-set"><command>remote-option-def4-set</command> - This command is used to create or replace DHCPv4 option definition in the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-option-def4-set"/></para>
<para>Command syntax:
<screen>{
"command": "remote-option-def4-set",
"arguments": {
"option-defs": [
{
&lt;option definition specification&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}
}</screen>
The provided list must contain exactly one option definition specification. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed and it associates the specified option definition with all servers.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCPv4 option definition set."
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-option-def4-set -->
<!-- start of remote-option-def6-del -->
<section xml:id="reference-remote-option-def6-del">
<title>remote-option-def6-del reference</title>
<para xml:id="ref-remote-option-def6-del"><command>remote-option-def6-del</command> - This command is used to delete a DHCPv6 option definition from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-option-def6-del"/></para>
<para>Command syntax:
<screen>{
"command": "remote-option-def6-del",
"arguments": {
"option-defs": [ {
"code": &lt;option code&gt;,
"space": &lt;option space
} ],
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}
}</screen>
This command includes a list with exactly one option definition specification comprising an option name and code. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "1 DHCPv6 option definition(s) deleted.",
"arguments": {
"count": 1
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-option-def6-del -->
<!-- start of remote-option-def6-get -->
<section xml:id="reference-remote-option-def6-get">
<title>remote-option-def6-get reference</title>
<para xml:id="ref-remote-option-def6-get"><command>remote-option-def6-get</command> - This command is used to fetch a DHCPv6 option definition from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-option-def6-get"/></para>
<para>Command syntax:
<screen>{
"command": "remote-option-def6-get",
"arguments": {
"option-defs": [
{
"code": &lt;option code&gt;,
"space": &lt;option space&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}
}</screen>
The desired option definition is identified by the pair of the option code/space values. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed to fetch the option definition instance shared by all servers.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCPv6 option definition found.",
"arguments": {
"option-defs": [
{
&lt;option definition&gt;,
"metadata": {
"server-tags": [ &lt;server tag&gt; ]
}
}
],
"count": 1
}
}</screen>
The metadata is included and it provides database specific information associated with the returned object. If the "all" server tag was specified, the command attempts to fetch the option definition associated with all servers. If the explicit server tag is specified, the command will fetch the option definition associated with the given server. If the server specific option definition doesn't exist, it will try to fetch the option definition associated with all servers.</para>
</section>
<!-- end of remote-option-def6-get -->
<!-- start of remote-option-def6-get-all -->
<section xml:id="reference-remote-option-def6-get-all">
<title>remote-option-def6-get-all reference</title>
<para xml:id="ref-remote-option-def6-get-all"><command>remote-option-def6-get-all</command> - This command is used to fetch all DHCPv6 option definitions from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-option-def6-get-all"/></para>
<para>Command syntax:
<screen>{
"command": "remote-option-def6-get-all"
"arguments": {
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}
}</screen>
The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The special server tag "all" is allowed to fetch the option definitions shared by all servers.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "2 DHCPv6 option definition(s) found.",
"arguments": {
"option-defs": [
{
&lt;first option definition&gt;,
"metadata": {
"server-tags": [ &lt;server tag&gt; ]
}
},
{
&lt;second option definition&gt;,
"metadata": {
"server-tags": [ &lt;server tag&gt; ]
}
}
],
"count": 2
}
}</screen>
The returned response contains a list of maps. Each map contains an option definition specification and the metadata including database specific information associated with the returned objects. If the server tag "all" is included in the command, the response contains the option definitions shared between all servers. It excludes server specific option definitions. If an explicit server tag is included in the command, the response contains all option definitions directly associated with the given server and the option definitions associated with all servers when server specific option definitions are not present.</para>
</section>
<!-- end of remote-option-def6-get-all -->
<!-- start of remote-option-def6-set -->
<section xml:id="reference-remote-option-def6-set">
<title>remote-option-def6-set reference</title>
<para xml:id="ref-remote-option-def6-set"><command>remote-option-def6-set</command> - This command is used to create or replace DHCPv6 option definition in the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-option-def6-set"/></para>
<para>Command syntax:
<screen>{
"command": "remote-option-def6-set",
"arguments": {
"option-defs": [
{
&lt;option definition specification&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}
}</screen>
The provided list must contain exactly one option definition specification. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed and it associates the specified option definition with all servers.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCPv6 option definition set."
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-option-def6-set -->
<!-- start of remote-option4-global-del -->
<section xml:id="reference-remote-option4-global-del">
<title>remote-option4-global-del reference</title>
<para xml:id="ref-remote-option4-global-del"><command>remote-option4-global-del</command> - This command is used to delete a DHCPv4 global option from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-option4-global-del"/></para>
<para>Command syntax:
<screen>{
"command": "remote-option4-global-del",
"arguments": {
"options": [
{
"code": &lt;option code&gt;
"space": &lt;option space&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}
}</screen>
This command includes a list with exactly one option specification comprising an option name and code. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "1 DHCPv4 option(s) deleted.",
"arguments": {
"count": 1
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-option4-global-del -->
<!-- start of remote-option4-global-get -->
<section xml:id="reference-remote-option4-global-get">
<title>remote-option4-global-get reference</title>
<para xml:id="ref-remote-option4-global-get"><command>remote-option4-global-get</command> - This command is used to fetch a global DHCPv4 option for the server from the specified database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-option4-global-get"/></para>
<para>Command syntax:
<screen>{
"command": "remote-option4-global-get",
"arguments": {
"options": [
{
"code": &lt;option code&gt;,
"space": &lt;option space&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}</screen>
The option is identified by the pair of option code/space values. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed to fetch the global option instance shared by all servers.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCPv4 option in found.",
"arguments": {
"options": [
{
&lt;option information&gt;,
"metadata": {
"server-tags": [ &lt;server tag&gt; ]
}
}
]
}
}</screen>
The metadata is included and it provides database specific information associated with the returned object. If the "all" server tag was specified, the command attempts to fetch the global option associated with all servers. If the explicit server tag is specified, the command will fetch the global option associated with the given server. If the server specific option doesn't exist, it will try to fetch the option associated with all servers.</para>
</section>
<!-- end of remote-option4-global-get -->
<!-- start of remote-option4-global-get-all -->
<section xml:id="reference-remote-option4-global-get-all">
<title>remote-option4-global-get-all reference</title>
<para xml:id="ref-remote-option4-global-get-all"><command>remote-option4-global-get-all</command> - This command is used to fetch all DHCPv4 global options for the server from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-option4-global-get-all"/></para>
<para>Command syntax:
<screen>{
"command": "remote-option4-global-get-all",
"arguments": {
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}
}</screen>
The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The special server tag "all" is allowed to fetch the global options shared by all servers.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "2 DHCPv4 option(s) found.",
"arguments": {
"options": [
{
&lt;first option specification&gt;,
"metadata": {
"server-tags": [ &lt;server tag&gt; ]
}
},
{
&lt;second option specification&gt;,
"metadata": {
"server-tags": [ &lt;server tag&gt; ]
}
}
],
"count": 2
}
}</screen>
The returned response contains a list of maps. Each map contains a global option specification and the metadata including database specific information associated with the returned object. If the server tag "all" is included in the command, the response contains the global options shared between all servers. It excludes server specific global options. If an explicit server tag is included in the command, the response contains all global options directly associated with the given server and the options associated with all servers when server specific options are not present.</para>
</section>
<!-- end of remote-option4-global-get-all -->
<!-- start of remote-option4-global-set -->
<section xml:id="reference-remote-option4-global-set">
<title>remote-option4-global-set reference</title>
<para xml:id="ref-remote-option4-global-set"><command>remote-option4-global-set</command> - This command is used to create or replace a DHCPv4 global option in the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-option4-global-set"/></para>
<para>Command syntax:
<screen>{
"command": "remote-option4-global-set",
"arguments": {
"options": [
{
&lt;global option specification&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}
}</screen>
The provided list must cotain exactly one option specification. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed and it associates the specified option with all servers.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCPv4 option set.",
"arguments": {
"options": [
{
"code": &lt;option code&gt;,
"space": &lt;option space&gt;
}
]
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-option4-global-set -->
<!-- start of remote-option6-global-del -->
<section xml:id="reference-remote-option6-global-del">
<title>remote-option6-global-del reference</title>
<para xml:id="ref-remote-option6-global-del"><command>remote-option6-global-del</command> - This command is used to delete a DHCPv6 global option from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-option6-global-del"/></para>
<para>Command syntax:
<screen>{
"command": "remote-option6-global-del",
"arguments": {
"options": [
{
"code": &lt;option code&gt;
"space": &lt;option space&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}
}</screen>
This command includes a list with exactly one option specification comprising an option name and code. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "1 DHCPv6 option(s) deleted.",
"arguments": {
"count": 1
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-option6-global-del -->
<!-- start of remote-option6-global-get -->
<section xml:id="reference-remote-option6-global-get">
<title>remote-option6-global-get reference</title>
<para xml:id="ref-remote-option6-global-get"><command>remote-option6-global-get</command> - This command is used to fetch a global DHCPv6 option for the server from the specified database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-option6-global-get"/></para>
<para>Command syntax:
<screen>{
"command": "remote-option6-global-get",
"arguments": {
"options": [
{
"code": &lt;option code&gt;,
"space": &lt;option space&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}</screen>
The option is identified by the pair of option code/space values. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed to fetch the global option instance shared by all servers.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCPv6 option in found.",
"arguments": {
"options": [
{
&lt;option information&gt;,
"metadata": {
"server-tags": [ &lt;server tag&gt; ]
}
}
]
}
}</screen>
The metadata is included and it provides database specific information associated with the returned object. If the "all" server tag was specified, the command attempts to fetch the global option associated with all servers. If the explicit server tag is specified, the command will fetch the global option associated with the given server. If the server specific option doesn't exist, it will try to fetch the option associated with all servers.</para>
</section>
<!-- end of remote-option6-global-get -->
<!-- start of remote-option6-global-get-all -->
<section xml:id="reference-remote-option6-global-get-all">
<title>remote-option6-global-get-all reference</title>
<para xml:id="ref-remote-option6-global-get-all"><command>remote-option6-global-get-all</command> - This command is used to fetch all DHCPv6 global options for the server from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-option6-global-get-all"/></para>
<para>Command syntax:
<screen>{
"command": "remote-option6-global-get-all",
"arguments": {
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}
}</screen>
The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The special server tag "all" is allowed to fetch the global options shared by all servers.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "2 DHCPv6 option(s) found.",
"arguments": {
"options": [
{
&lt;first option specification&gt;,
"metadata": {
"server-tags": [ &lt;server tag&gt; ]
}
},
{
&lt;second option specification&gt;,
"metadata": {
"server-tags": [ &lt;server tag&gt; ]
}
}
],
"count": 2
}
}</screen>
The returned response contains a list of maps. Each map contains a global option specification and the metadata including database specific information associated with the returned object. If the server tag "all" is included in the command, the response contains the global options shared between all servers. It excludes server specific global options. If an explicit server tag is included in the command, the response contains all global options directly associated with the given server and the options associated with all servers when server specific options are not present.</para>
</section>
<!-- end of remote-option6-global-get-all -->
<!-- start of remote-option6-global-set -->
<section xml:id="reference-remote-option6-global-set">
<title>remote-option6-global-set reference</title>
<para xml:id="ref-remote-option6-global-set"><command>remote-option6-global-set</command> - This command is used to create or replace a DHCPv6 global option in the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-option6-global-set"/></para>
<para>Command syntax:
<screen>{
"command": "remote-option6-global-set",
"arguments": {
"options": [
{
&lt;global option specification&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;single server tag as string&gt; ]
}
}</screen>
The provided list must cotain exactly one option specification. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed and it associates the specified option with all servers.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCPv6 option set.",
"arguments": {
"options": [
{
"code": &lt;option code&gt;,
"space": &lt;option space&gt;
}
]
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-option6-global-set -->
<!-- start of remote-server4-del -->
<section xml:id="reference-remote-server4-del">
<title>remote-server4-del reference</title>
<para xml:id="ref-remote-server4-del"><command>remote-server4-del</command> - This command is used to delete information about a DHCPv4 server from the configuration database. Any configuration explicitly associated with the deleted server is automatically disassociated. In addition, configuration elements not shareable with other servers (e.g. global DHCP parameters) are deleted. The shareable configuration (e.g. subnets, shared networks) is not deleted as it may be used by other servers.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-server4-del"/></para>
<para>Command syntax:
<screen>{
"command": "remote-server4-del",
"arguments": {
"servers": [
{
"server-tag": &lt;server name&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
}
}
}</screen>
This command carries the list including exactly one map with the tag of the server to be deleted.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "1 DHCPv4 server(s) deleted."
"arguments": {
"count": 1
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-server4-del -->
<!-- start of remote-server4-get -->
<section xml:id="reference-remote-server4-get">
<title>remote-server4-get reference</title>
<para xml:id="ref-remote-server4-get"><command>remote-server4-get</command> - This command is used to fetch the information about the DHCPv4 server, such as server tag and description.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-server4-get"/></para>
<para>Command syntax:
<screen>{
"command": "remote-server4-get",
"arguments": {
"servers": [
{
"server-tag": &lt;server tag&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
}
}
}</screen>
This command carries the list including exactly one map with the tag of the server to be fetched.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCP server &lt;server tag&gt; found.",
"arguments": {
"servers": [
{
"server-tag": &lt;server tag&gt;,
"description": &lt;server description&gt;
}
],
"count": 1
}
}</screen>
The server tag is the unique identifier of the server, used to associate the configuration elements in the database with the particular server instance. The returned server description is specified by the user when setting the server information.</para>
</section>
<!-- end of remote-server4-get -->
<!-- start of remote-server4-get-all -->
<section xml:id="reference-remote-server4-get-all">
<title>remote-server4-get-all reference</title>
<para xml:id="ref-remote-server4-get-all"><command>remote-server4-get-all</command> - This command is used to fetch information about all DHCPv4 servers specified by the user.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-server4-get-all"/></para>
<para>Command syntax:
<screen>{
"command": "remote-server4-get-all",
"arguments": {
"remote": {
&lt;specification of the database to connect to&gt;
}
}
}</screen>
This command contains no arguments besides the optional <command>remote</command>.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCPv4 servers found.",
"arguments": {
"servers": [
{
"server-tag": &lt;first server tag&gt;,
"description": &lt;first server description&gt;
},
{
"server-tag": &lt;second server tag&gt;,
"description": &lt;second server description&gt;
}
],
"count": 2
}
}</screen>
The returned response contain a list of maps. Each map contains a server tag uniquely identifying a server and the user defined description of the server. The Kea Configuration Backend uses the keyword <command>all</command> to associate parts of the configuration with all servers. Internally, it creates the logical server <command>all</command> for this purpose. However, this logical server is not returned as a result of the <command>remote-server4-get-all</command>. Only the user defined servers are returned.</para>
</section>
<!-- end of remote-server4-get-all -->
<!-- start of remote-server4-set -->
<section xml:id="reference-remote-server4-set">
<title>remote-server4-set reference</title>
<para xml:id="ref-remote-server4-set"><command>remote-server4-set</command> - This command is used to create or replace information about the DHCPv4 server in the database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-server4-set"/></para>
<para>Command syntax:
<screen>{
"command": "remote-server4-set",
"arguments": {
"servers": [
{
"server-tag": &lt;server tag&gt;,
"description": &lt;server description&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
}
}
}</screen>
The provided list must contain exactly one server specification. The <command>server-tag</command> must be unique accross all servers within the configuration database. The <command>description</command> is the arbitrary text describing the server, its location within the network etc.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCPv4 server successfully set.",
"arguments": {
"servers": [
{
"server-tag": &lt;server tag&gt;,
"description": &lt;server description&gt;
}
]
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-server4-set -->
<!-- start of remote-server6-del -->
<section xml:id="reference-remote-server6-del">
<title>remote-server6-del reference</title>
<para xml:id="ref-remote-server6-del"><command>remote-server6-del</command> - This command is used to delete information about a DHCPv6 server from the configuration database. Any configuration explicitly associated with the deleted server is automatically disassociated. In addition, configuration elements not shareable with other servers (e.g. global DHCP parameters) are deleted. The shareable configuration (e.g. subnets, shared networks) is not deleted as it may be used by other servers.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-server6-del"/></para>
<para>Command syntax:
<screen>{
"command": "remote-server6-del",
"arguments": {
"servers": [
{
"server-tag": &lt;server name&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
}
}
}</screen>
This command carries the list including exactly one map with the tag of the server to be deleted.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "1 DHCPv6 server(s) deleted."
"arguments": {
"count": 1
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-server6-del -->
<!-- start of remote-server6-get -->
<section xml:id="reference-remote-server6-get">
<title>remote-server6-get reference</title>
<para xml:id="ref-remote-server6-get"><command>remote-server6-get</command> - This command is used to fetch the information about the DHCPv6 server, such as server tag and description.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-server6-get"/></para>
<para>Command syntax:
<screen>{
"command": "remote-server6-get",
"arguments": {
"servers": [
{
"server-tag": &lt;server tag&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
}
}
}</screen>
This command carries the list including exactly one map with the tag of the server to be fetched.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCP server &lt;server tag&gt; found.",
"arguments": {
"servers": [
{
"server-tag": &lt;server tag&gt;,
"description": &lt;server description&gt;
}
],
"count": 1
}
}</screen>
The server tag is the unique identifier of the server, used to associate the configuration elements in the database with the particular server instance. The returned server description is specified by the user when setting the server information.</para>
</section>
<!-- end of remote-server6-get -->
<!-- start of remote-server6-get-all -->
<section xml:id="reference-remote-server6-get-all">
<title>remote-server6-get-all reference</title>
<para xml:id="ref-remote-server6-get-all"><command>remote-server6-get-all</command> - This command is used to fetch information about all DHCPv6 servers specified by the user.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-server6-get-all"/></para>
<para>Command syntax:
<screen>{
"command": "remote-server6-get-all",
"arguments": {
"remote": {
&lt;specification of the database to connect to&gt;
}
}
}</screen>
This command contains no arguments besides the optional <command>remote</command>.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCPv6 servers found.",
"arguments": {
"servers": [
{
"server-tag": &lt;first server tag&gt;,
"description": &lt;first server description&gt;
},
{
"server-tag": &lt;second server tag&gt;,
"description": &lt;second server description&gt;
}
],
"count": 2
}
}</screen>
The returned response contain a list of maps. Each map contains a server tag uniquely identifying a server and the user defined description of the server. The Kea Configuration Backend uses the keyword <command>all</command> to associate parts of the configuration with all servers. Internally, it creates the logical server <command>all</command> for this purpose. However, this logical server is not returned as a result of the <command>remote-server6-get-all</command>. Only the user defined servers are returned.</para>
</section>
<!-- end of remote-server6-get-all -->
<!-- start of remote-server6-set -->
<section xml:id="reference-remote-server6-set">
<title>remote-server6-set reference</title>
<para xml:id="ref-remote-server6-set"><command>remote-server6-set</command> - This command is used to create or replace information about the DHCPv6 server in the database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-server6-set"/></para>
<para>Command syntax:
<screen>{
"command": "remote-server6-set",
"arguments": {
"servers": [
{
"server-tag": &lt;server tag&gt;,
"description": &lt;server description&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
}
}
}</screen>
The provided list must contain exactly one server specification. The <command>server-tag</command> must be unique accross all servers within the configuration database. The <command>description</command> is the arbitrary text describing the server, its location within the network etc.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCPv6 server successfully set.",
"arguments": {
"servers": [
{
"server-tag": &lt;server tag&gt;,
"description": &lt;server description&gt;
}
]
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-server6-set -->
<!-- start of remote-subnet4-del-by-id -->
<section xml:id="reference-remote-subnet4-del-by-id">
<title>remote-subnet4-del-by-id reference</title>
<para xml:id="ref-remote-subnet4-del-by-id"><command>remote-subnet4-del-by-id</command> - This command is used to delete an IPv4 subnet by ID from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-subnet4-del-by-id"/></para>
<para>Command syntax:
<screen>{
"command": "remote-subnet4-del-by-id",
"arguments": {
"subnets": [
{
"id": &lt;subnet identifier&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
}
}
}</screen>
This command includes a list with exactly one id of the subnet to be deleted. The <command>server-tags</command> parameter must not be specified for this command.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "1 IPv4 subnet(s) deleted.",
"arguments": {
"count": 1
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-subnet4-del-by-id -->
<!-- start of remote-subnet4-del-by-prefix -->
<section xml:id="reference-remote-subnet4-del-by-prefix">
<title>remote-subnet4-del-by-prefix reference</title>
<para xml:id="ref-remote-subnet4-del-by-prefix"><command>remote-subnet4-del-by-prefix</command> - This command is used to delete an IPv4 subnet by prefix from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-subnet4-del-by-prefix"/></para>
<para>Command syntax:
<screen>{
"command": "remote-subnet4-del-by-prefix",
"arguments": {
"subnets": [
{
"subnet": &lt;subnet prefix&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
}
}
}</screen>
This command includes a list with exactly one prefix of the subnet to be deleted. The <command>server-tags</command> parameter must not be specified for this command.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "1 IPv4 subnet(s) deleted.",
"arguments": {
"count": 1
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-subnet4-del-by-prefix -->
<!-- start of remote-subnet4-get-by-id -->
<section xml:id="reference-remote-subnet4-get-by-id">
<title>remote-subnet4-get-by-id reference</title>
<para xml:id="ref-remote-subnet4-get-by-id"><command>remote-subnet4-get-by-id</command> - This command is used to fetch selected IPv4 subnet by ID for the server from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-subnet4-get-by-id"/></para>
<para>Command syntax:
<screen>{
"command": "remote-subnet4-get-by-id"
"arguments": {
"subnets": [ {
"id": &lt;subnet identifier&gt;
} ],
"remote": {
&lt;specification of the database to connect to&gt;
}
}
}</screen>
This command includes a list with exactly one id of the subnet to be returned. The <command>server-tags</command> parameter must not be specified for this command.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv4 subnet found.",
"arguments": {
"subnets": [ {
"id": &lt;subnet identifier&gt;,
"subnet": &lt;subnet prefix&gt;,
"shared-network-name": &lt;shared network name&gt; | null,
"metadata": {
"server-tags": [ &lt;first server tag&gt;, &lt;second server tag&gt;, ... ]
},
&lt;the rest of the subnet specification here&gt;
} ],
"count": 1
}
}</screen>
If the shared network name is null, it means that the returned subnet does not belong to any shared network (global subnet). The metadata is included in the returned subnet definition and it provides database specific information associated with the returned object.</para>
</section>
<!-- end of remote-subnet4-get-by-id -->
<!-- start of remote-subnet4-get-by-prefix -->
<section xml:id="reference-remote-subnet4-get-by-prefix">
<title>remote-subnet4-get-by-prefix reference</title>
<para xml:id="ref-remote-subnet4-get-by-prefix"><command>remote-subnet4-get-by-prefix</command> - This command is used to fetch selected IPv4 subnet by prefix from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-subnet4-get-by-prefix"/></para>
<para>Command syntax:
<screen>{
"command": "remote-subnet4-get-by-prefix"
"arguments": {
"subnets": [ {
"subnet": &lt;subnet prefix&gt;
} ],
"remote": {
&lt;specification of the database to connect to&gt;
}
}
}</screen>
This command includes a list with exactly one prefix of the subnet to be returned. The <command>server-tags</command> parameter must not be specified for this command.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv4 subnet found.",
"arguments": {
"subnets": [
{
"id": &lt;subnet identifier&gt;,
"subnet": &lt;subnet prefix&gt;,
"shared-network-name": &lt;shared network name&gt; | null,
"metadata": {
"server-tags": [ &lt;first server tag&gt;, &lt;second server tag&gt;, ... ]
},
&lt;the rest of the subnet specification here&gt;
}
],
"count": 1
}
}</screen>
If the shared network name is null, it means that the returned subnet does not belong to any shared network (global subnet). The metadata is included in the returned subnet definition and it provides database specific information associated with the returned object.</para>
</section>
<!-- end of remote-subnet4-get-by-prefix -->
<!-- start of remote-subnet4-list -->
<section xml:id="reference-remote-subnet4-list">
<title>remote-subnet4-list reference</title>
<para xml:id="ref-remote-subnet4-list"><command>remote-subnet4-list</command> - This command is used to fetch a list of all IPv4 subnets from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-subnet4-list"/></para>
<para>Command syntax:
<screen>{
"command": "remote-subnet4-list"
"arguments": {
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;first server tag&gt;, &lt;second server tag&gt;, ... ]
}
}</screen>
The <command>server-tags</command> list is required for this command. This list must not be empty. It may either contain one or multiple server tags as strings or a single <command>null</command> value.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "2 IPv4 subnets found.",
"arguments": {
"subnets": [
{
"id": &lt;first subnet identifier&gt;,
"subnet": &lt;first subnet prefix&gt;,
"shared-network-name": &lt;shared network name&gt; | null,
"metadata": {
"server-tags": [ &lt;first server tag&gt;, &lt;second server tag&gt;, ... ]
}
},
{
"id": &lt;second subnet identifier&gt;,
"subnet": &lt;second subnet prefix&gt;,
"shared-network-name": &lt;shared network name&gt; | null,
"metadata": {
"server-tags": [ &lt;first server tag&gt;, ... ]
}
}
],
"count": 2
}
}</screen>
The returned response contains a list of maps. Each map contains a subnet identifier, prefix and shared network name to which the subnet belongs. If the subnet does not belong to a shared netork the name is null. The metadata includes database specific information associated with the subnets. The returned list does not contain full subnet definitions. Use <command>remote-subnet4-get</command> to fetch the full information about the selected subnets. If the command includes explicit server tags as strings (including the special server tag "all"), the list contains all subnets which are associated with any of the specified tags. A subnet is returned even if it is associated with multiple servers and only one of the specified tags matches. If the command includes the <command>null</command> value in the <command>server-tags</command> list, the response contains all subnets which are assigned to no servers (unassigned).</para>
</section>
<!-- end of remote-subnet4-list -->
<!-- start of remote-subnet4-set -->
<section xml:id="reference-remote-subnet4-set">
<title>remote-subnet4-set reference</title>
<para xml:id="ref-remote-subnet4-set"><command>remote-subnet4-set</command> - This command is used to create or replace an IPv4 subnet the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-subnet4-set"/></para>
<para>Command syntax:
<screen>{
"command": "remote-subnet4-set",
"arguments": {
"subnets": [
{
"id": &lt;subnet identifier&gt;,
"subnet": &lt;subnet prefix&gt;,
"shared-network-name": &lt;shared network name&gt; | null,
&lt;the rest of the subnet specification here&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;first server tag&gt;, &lt;second server tag&gt;, ... ]
}
}</screen>
The provided list must contain exactly one subnet specification. The <command>shared-network-name</command> parameter is required for these commands. It associates the subnet with the shared network by its name. If the subnet must not belong to any shared network (global subnet), the <command>null</command> value must be specified for the shared network name. The <command>server-tags</command> list is mandatory and it must contain one or more server tags as strings to explicitly associate the subnet with one or more user defined servers. It may include the special server tag "all" to associate the subnet with all servers.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv4 subnet successfully set.",
"arguments": {
"id": &lt;subnet identifier&gt;,
"subnet": &lt;subnet prefix&gt;
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-subnet4-set -->
<!-- start of remote-subnet6-del-by-id -->
<section xml:id="reference-remote-subnet6-del-by-id">
<title>remote-subnet6-del-by-id reference</title>
<para xml:id="ref-remote-subnet6-del-by-id"><command>remote-subnet6-del-by-id</command> - This command is used to delete an IPv6 subnet by ID from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-subnet6-del-by-id"/></para>
<para>Command syntax:
<screen>{
"command": "remote-subnet6-del-by-id",
"arguments": {
"subnets": [
{
"id": &lt;subnet identifier&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
}
}
}</screen>
This command includes a list with exactly one id of the subnet to be deleted. The <command>server-tags</command> parameter must not be specified for this command.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "1 IPv6 subnet(s) deleted.",
"arguments": {
"count": 1
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-subnet6-del-by-id -->
<!-- start of remote-subnet6-del-by-prefix -->
<section xml:id="reference-remote-subnet6-del-by-prefix">
<title>remote-subnet6-del-by-prefix reference</title>
<para xml:id="ref-remote-subnet6-del-by-prefix"><command>remote-subnet6-del-by-prefix</command> - This command is used to delete an IPv6 subnet by prefix from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-subnet6-del-by-prefix"/></para>
<para>Command syntax:
<screen>{
"command": "remote-subnet6-del-by-prefix",
"arguments": {
"subnets": [
{
"subnet": &lt;subnet prefix&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
}
}
}</screen>
This command includes a list with exactly one prefix of the subnet to be deleted. The <command>server-tags</command> parameter must not be specified for this command.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "1 IPv6 subnet(s) deleted.",
"arguments": {
"count": 1
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-subnet6-del-by-prefix -->
<!-- start of remote-subnet6-get-by-id -->
<section xml:id="reference-remote-subnet6-get-by-id">
<title>remote-subnet6-get-by-id reference</title>
<para xml:id="ref-remote-subnet6-get-by-id"><command>remote-subnet6-get-by-id</command> - This command is used to fetch selected IPv6 subnet by ID for the server from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-subnet6-get-by-id"/></para>
<para>Command syntax:
<screen>{
"command": "remote-subnet6-get-by-id"
"arguments": {
"subnets": [
{
"id": &lt;subnet identifier&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
}
}
}</screen>
This command includes a list with exactly one id of the subnet to be returned. The <command>server-tags</command> parameter must not be specified for this command.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv6 subnet found.",
"arguments": {
"subnets": [
{
"id": &lt;subnet identifier&gt;,
"subnet": &lt;subnet prefix&gt;,
"shared-network-name": &lt;shared network name&gt; | null,
"metadata": {
"server-tags": [ &lt;first server tag&gt;, &lt;second server tag&gt;, ... ]
},
&lt;the rest of the subnet specification here&gt;
}
],
"count": 1
}
}</screen>
If the shared network name is null, it means that the returned subnet does not belong to any shared network (global subnet). The metadata is included in the returned subnet definition and it provides database specific information associated with the returned object.</para>
</section>
<!-- end of remote-subnet6-get-by-id -->
<!-- start of remote-subnet6-get-by-prefix -->
<section xml:id="reference-remote-subnet6-get-by-prefix">
<title>remote-subnet6-get-by-prefix reference</title>
<para xml:id="ref-remote-subnet6-get-by-prefix"><command>remote-subnet6-get-by-prefix</command> - This command is used to fetch selected IPv6 subnet by prefix from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-subnet6-get-by-prefix"/></para>
<para>Command syntax:
<screen>{
"command": "remote-subnet4-get-by-prefix"
"arguments": {
"subnets": [
{
"subnet": &lt;subnet prefix&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
}
}
}</screen>
This command includes a list with exactly one prefix of the subnet to be returned. The <command>server-tags</command> parameter must not be specified for this command.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv6 subnet found.",
"arguments": {
"subnets": [ {
"id": &lt;subnet identifier&gt;,
"subnet": &lt;subnet prefix&gt;,
"shared-network-name": &lt;shared network name&gt; | null,
"metadata": {
"server-tags": [ &lt;first server tag&gt;, &lt;second server tag&gt;, ... ]
},
&lt;the rest of the subnet specification here&gt;
} ],
"count": 1
}
}</screen>
If the shared network name is null, it means that the returned subnet does not belong to any shared network (global subnet). The metadata is included in the returned subnet definition and it provides database specific information associated with the returned object.</para>
</section>
<!-- end of remote-subnet6-get-by-prefix -->
<!-- start of remote-subnet6-list -->
<section xml:id="reference-remote-subnet6-list">
<title>remote-subnet6-list reference</title>
<para xml:id="ref-remote-subnet6-list"><command>remote-subnet6-list</command> - This command is used to fetch a list of all IPv6 subnets from the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-subnet6-list"/></para>
<para>Command syntax:
<screen>{
"command": "remote-subnet6-list"
"arguments": {
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;first server tag&gt;, &lt;second server tag&gt;, ... ]
}
}</screen>
The <command>server-tags</command> list is required for this command. This list must not be empty. It may either contain one or multiple server tags as strings or a single <command>null</command> value.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "2 IPv6 subnets found.",
"arguments": {
"subnets": [
{
"id": &lt;first subnet identifier&gt;,
"subnet": &lt;first subnet prefix&gt;,
"shared-network-name": &lt;shared network name&gt; | null,
"metadata": {
"server-tags": [ &lt;first server tag&gt;, &lt;second server tag&gt;, ... ]
}
},
{
"id": &lt;second subnet identifier&gt;,
"subnet": &lt;second subnet prefix&gt;,
"shared-network-name": &lt;shared network name&gt; | null,
"metadata": {
"server-tags": [ &lt;first server tag&gt;, ... ]
}
}
],
"count": 2
}
}</screen>
The returned response contains a list of maps. Each map contains a subnet identifier, prefix and shared network name to which the subnet belongs. If the subnet does not belong to a shared netork the name is null. The metadata includes database specific information associated with the subnets. The returned list does not contain full subnet definitions. Use <command>remote-subnet6-get</command> to fetch the full information about the selected subnets. If the command includes explicit server tags as strings (including the special server tag "all"), the list contains all subnets which are associated with any of the specified tags. A subnet is returned even if it is associated with multiple servers and only one of the specified tags matches. If the command includes the <command>null</command> value in the <command>server-tags</command> list, the response contains all subnets which are assigned to no servers (unassigned).</para>
</section>
<!-- end of remote-subnet6-list -->
<!-- start of remote-subnet6-set -->
<section xml:id="reference-remote-subnet6-set">
<title>remote-subnet6-set reference</title>
<para xml:id="ref-remote-subnet6-set"><command>remote-subnet6-set</command> - This command is used to create or replace an IPv6 subnet the configuration database.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-remote-subnet6-set"/></para>
<para>Command syntax:
<screen>{
"command": "remote-subnet6-set",
"arguments": {
"subnets": [
{
"id": &lt;subnet identifier&gt;,
"subnet": &lt;subnet prefix&gt;,
"shared-network-name": &lt;shared network name&gt; | null,
&lt;the rest of the subnet specification here&gt;
}
],
"remote": {
&lt;specification of the database to connect to&gt;
},
"server-tags": [ &lt;first server tag&gt;, &lt;second server tag&gt;, ... ]
}
}</screen>
The provided list must contain exactly one subnet specification. The <command>shared-network-name</command> parameter is required for these commands. It associates the subnet with the shared network by its name. If the subnet must not belong to any shared network (global subnet), the <command>null</command> value must be specified for the shared network name. The <command>server-tags</command> list is mandatory and it must contain one or more server tags as strings to explicitly associate the subnet with one or more user defined servers. It may include the special server tag "all" to associate the subnet with all servers.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv6 subnet successfully set.",
"arguments": {
"id": &lt;subnet identifier&gt;,
"subnet": &lt;subnet prefix&gt;
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-subnet6-set -->
<!-- start of reservation-add -->
<section xml:id="reference-reservation-add">
<title>reservation-add reference</title>
<para xml:id="ref-reservation-add"><command>reservation-add</command> - adds a new host reservation. The reservation may include IPv4 address,
IPv6 addresses, IPv6 prefixes, various identifiers, a class
the client will be assigned to, DHCPv4 and DHCPv6 options and
more.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.2.0 (<link linkend="commands-host_cmds-lib">host_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-reservation-add"/></para>
<para>Command syntax:
<screen>{
"command": "reservation-add",
"arguments": {
"reservation": {
"boot-file-name": &lt;string&gt;,
"comment": &lt;string&gt;
"client-id": &lt;string&gt;,
"circuit-id": &lt;string&gt;,
"duid": &lt;string&gt;,
"flex-id": &lt;string&gt;,
"ip-address": &lt;string (IPv4 address)&gt;,
"ip-addresses": [ &lt;comma separated strings&gt; ],
"hw-address": &lt;string&gt;,
"hostname": &lt;string&gt;,
"next-server": &lt;string (IPv4 address)&gt;,
"option-data-list": [ &lt;comma separated structures defining options&gt; ],
"prefixes": [ &lt;comma separated IPv6 prefixes&gt; ],
"reservation-client-classes": [ &lt;comma separated strings&gt; ],
"server-hostname": &lt;string&gt;,
"subnet-id": &lt;integer&gt;,
"user-context": &lt;any valid JSON&gt;,
}
}
}</screen>
Note the ip-address, client-id, next-server, server-hostname and
boot-file-name are IPv4 specific. duid, ip-addresses and prefixes are
IPv6 specific.</para>
<para>Response syntax:
<screen>
{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)
</para></listitem>
</itemizedlist></para>
</section>
<!-- end of reservation-add -->
<!-- start of reservation-del -->
<section xml:id="reference-reservation-del">
<title>reservation-del reference</title>
<para xml:id="ref-reservation-del"><command>reservation-del</command> - Deletes an existing host reservation.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.2.0 (<link linkend="commands-host_cmds-lib">host_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-reservation-del"/></para>
<para>Command syntax:
<screen>{
"command": "reservation-del",
"arguments": {
"subnet-id": &lt;integer&gt;,
"ip-address": &lt;string&gt;,
"identifier-type": &lt;one of "hw-address", "duid", "circuit-id", "client-id" and "flex-id"&gt;,
"identifier": &lt;string&gt;
}
}</screen>
The host reservation can be identified by either (subnet-id, ip-address) pair or a triplet of (subnet-id, identifier-type, identifier).</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of reservation-del -->
<!-- start of reservation-get -->
<section xml:id="reference-reservation-get">
<title>reservation-get reference</title>
<para xml:id="ref-reservation-get"><command>reservation-get</command> - Attempts to retrieve an existing host reservation</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.2.0 (<link linkend="commands-host_cmds-lib">host_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-reservation-get"/></para>
<para>Command syntax:
<screen>{
"command": "reservation-get",
"arguments": {
"subnet-id": &lt;integer&gt;,
"identifier-type": &lt;string with one value out of: hw-address|duid|circuit-id|client-id|flex-id&gt;,
"identifier": &lt;string&gt;;
}
}</screen>
The host reservation can be identified by either (subnet-id, ip-address) pair or a triplet of (subnet-id, identifier-type, identifier).</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;,
"arguments": {
"boot-file-name": &lt;string&gt;,
"comment": &lt;string&gt;
"client-id": &lt;string&gt;,
"circuit-id": &lt;string&gt;,
"duid": &lt;string&gt;,
"flex-id": &lt;string&gt;,
"ip-address": &lt;string (IPv4 address)&gt;,
"ip-addresses": [ &lt;comma separated strings&gt; ],
"hw-address": &lt;string&gt;,
"hostname": &lt;string&gt;,
"next-server": &lt;string (IPv4 address)&gt;,
"option-data-list": [ &lt;comma separated structures defining options&gt; ],
"prefixes": [ &lt;comma separated IPv6 prefixes&gt; ],
"reservation-client-classes": [ &lt;comma separated strings&gt; ],
"server-hostname": &lt;string&gt;,
"subnet-id": &lt;integer&gt;,
"user-context": &lt;any valid JSON&gt;,
}
}</screen>
Arguments object appear only if a host is found. Many fields in the arguments
object appear only if specific field is set.</para>
</section>
<!-- end of reservation-get -->
<!-- start of reservation-get-all -->
<section xml:id="reference-reservation-get-all">
<title>reservation-get-all reference</title>
<para xml:id="ref-reservation-get-all"><command>reservation-get-all</command> - Retrieve all host reservations for a specified subnet.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-host_cmds-lib">host_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-reservation-get-all"/></para>
<para>Command syntax:
<screen>{
"command": "reservation-get-all",
"arguments": {
"subnet-id": &lt;integer&gt;
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
reservation-get-all command may result in very large responses.</para>
</section>
<!-- end of reservation-get-all -->
<!-- start of reservation-get-page -->
<section xml:id="reference-reservation-get-page">
<title>reservation-get-page reference</title>
<para xml:id="ref-reservation-get-page"><command>reservation-get-page</command> - Retrieve host reservations for a specified subnet by page.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-host_cmds-lib">host_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-reservation-get-page"/></para>
<para>Command syntax:
<screen>{
"command": "reservation-get-page",
"arguments": {
"subnet-id": &lt;integer&gt;,
"limit": &lt;integer&gt;,
"source-index": &lt;integer&gt;,
"from": &lt;integer&gt;
}
}</screen>
the subnet id and the page size limit are mandatory. The source index and from host id are optional and default to 0. Values to use to next the next page are returned in responses in a next map.</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of reservation-get-page -->
<!-- start of server-tag-get -->
<section xml:id="reference-server-tag-get">
<title>server-tag-get reference</title>
<para xml:id="ref-server-tag-get"><command>server-tag-get</command> - The server-tag-get command returns the server tag.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (built-in)</para>
<para>Description and examples: See <xref linkend="command-server-tag-get"/></para>
<para>Command syntax:
<screen>{
"command": "server-tag-get"
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of server-tag-get -->
<!-- start of shutdown -->
<section xml:id="reference-shutdown">
<title>shutdown reference</title>
<para xml:id="ref-shutdown"><command>shutdown</command> - The shutdown command instructs the server to initiate its shutdown procedure.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command>, <command><link linkend="commands-kea-dhcp-ddns">kea-dhcp-ddns</link></command>, <command><link linkend="commands-kea-ctrl-agent">kea-ctrl-agent</link></command></para>
<para>Availability: 1.0.0 (built-in)</para>
<para>Description and examples: See <xref linkend="command-shutdown"/></para>
<para>Command syntax:
<screen>{
"command": "shutdown"
}</screen>
The server will respond with a confirmation that the shutdown
procedure has been initiated.</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of shutdown -->
<!-- start of stat-lease4-get -->
<section xml:id="reference-stat-lease4-get">
<title>stat-lease4-get reference</title>
<para xml:id="ref-stat-lease4-get"><command>stat-lease4-get</command> - The stat-lease4-get command fetches lease statistics for a range
of known IPv4 subnets.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.4.0 (<link linkend="commands-stat_cmds-lib">stat_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-stat-lease4-get"/></para>
<para>Command syntax:
<screen>{
"command": "stat-lease4-get"
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "stat-lease4-get: 2 rows found",
"arguments": {
"result-set": {
"columns": [ "subnet-id",
"total-addresses",
"assigned-addresses",
"declined-addresses" ]
"rows": [
[ 10, 256, 111, 0 ],
[ 20, 4098, 2034, 4 ]
],
"timestamp": "2018-05-04 15:03:37.000000"
}
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of stat-lease4-get -->
<!-- start of stat-lease6-get -->
<section xml:id="reference-stat-lease6-get">
<title>stat-lease6-get reference</title>
<para xml:id="ref-stat-lease6-get"><command>stat-lease6-get</command> - The stat-lease6-get command fetches lease statistics for a range
of known IPv6 subnets.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.4.0 (<link linkend="commands-stat_cmds-lib">stat_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-stat-lease6-get"/></para>
<para>Command syntax:
<screen>{
"command": "stat-lease6-get",
"arguments": {
"subnet-id" : 10
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "stat-lease6-get: 2 rows found",
"arguments": {
"result-set": {
"columns": [ "subnet-id", "total-nas", "assigned-nas", "declined-nas", "total-pds", "assigned-pds" ]
"rows": [
[ 10, 4096, 2400, 3, 0, 0],
[ 20, 0, 0, 0, 1048, 233 ]
[ 30, 256, 60, 0, 1048, 15 ]
],
"timestamp": "2018-05-04 15:03:37.000000"
}
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of stat-lease6-get -->
<!-- start of statistic-get -->
<section xml:id="reference-statistic-get">
<title>statistic-get reference</title>
<para xml:id="ref-statistic-get"><command>statistic-get</command> - The statistic-get command retrieves a single statistic. It takes a single string parameter called name that specifies the statistic name.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.0.0 (built-in)</para>
<para>Description and examples: See <xref linkend="command-statistic-get"/></para>
<para>Command syntax:
<screen>{
"command": "statistic-get",
"arguments": {
"name": "pkt4-received"
}
}</screen>
The server will respond with details of the requested statistic, with a result set to 0 indicating success and the specified statistic as the value of the "arguments" parameter.</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of statistic-get -->
<!-- start of statistic-get-all -->
<section xml:id="reference-statistic-get-all">
<title>statistic-get-all reference</title>
<para xml:id="ref-statistic-get-all"><command>statistic-get-all</command> - The statistic-get-all command retrieves all statistics recorded.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.0.0 (built-in)</para>
<para>Description and examples: See <xref linkend="command-statistic-get-all"/></para>
<para>Command syntax:
<screen>{
"command": "statistic-get-all",
"arguments": { }
}</screen>
The server will respond with details of all recorded statistics, with result set to 0 indicating that it iterated over all statistics (even when the total number of statistics is zero).</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of statistic-get-all -->
<!-- start of statistic-remove -->
<section xml:id="reference-statistic-remove">
<title>statistic-remove reference</title>
<para xml:id="ref-statistic-remove"><command>statistic-remove</command> - The statistic-remove command attempts to delete a single statistic. It takes a single string parameter called name that specifies the statistic name.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.0.0 (built-in)</para>
<para>Description and examples: See <xref linkend="command-statistic-remove"/></para>
<para>Command syntax:
<screen>{
"command": "statistic-remove",
"arguments": {
"name": "pkt4-received"
}
}</screen>
If the specific statistic is found and its removal was successful, the server will respond with a status of 0, indicating success and an empty parameters field. If an error is encountered (e.g. requested statistic was not found), the server will return a status code of 1 (error) and the text field will contain the error description.</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of statistic-remove -->
<!-- start of statistic-remove-all -->
<section xml:id="reference-statistic-remove-all">
<title>statistic-remove-all reference</title>
<para xml:id="ref-statistic-remove-all"><command>statistic-remove-all</command> - The statistic-remove-all command attempts to delete all statistics.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.0.0 (built-in)</para>
<para>Description and examples: See <xref linkend="command-statistic-remove-all"/></para>
<para>Command syntax:
<screen>{
"command": "statistic-remove-all",
"arguments": { }
}</screen>
If the removal of all statistics was successful, the server will respond with a status of 0, indicating success and an empty parameters field. If an error is encountered, the server will return a status code of 1 (error) and the text field will contain the error description.</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of statistic-remove-all -->
<!-- start of statistic-reset -->
<section xml:id="reference-statistic-reset">
<title>statistic-reset reference</title>
<para xml:id="ref-statistic-reset"><command>statistic-reset</command> - The statistic-reset command sets the specified statistic to its neutral value: 0 for integer, 0.0 for float, 0h0m0s0us for time duration and "" for string type. It takes a single string parameter called name that specifies the statistic name.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.0.0 (built-in)</para>
<para>Description and examples: See <xref linkend="command-statistic-reset"/></para>
<para>Command syntax:
<screen>{
"command": "statistic-reset",
"arguments": {
"name": "pkt4-received"
}
}</screen>
If the specific statistic is found and reset was successful, the server will respond with a status of 0, indicating success and an empty parameters field. If an error is encountered (e.g. requested statistic was not found), the server will return a status code of 1 (error) and the text field will contain the error description.</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of statistic-reset -->
<!-- start of statistic-reset-all -->
<section xml:id="reference-statistic-reset-all">
<title>statistic-reset-all reference</title>
<para xml:id="ref-statistic-reset-all"><command>statistic-reset-all</command> - The statistic-reset command sets all statistics to their neutral values: 0 for integer, 0.0 for float, 0h0m0s0us for time duration and "" for string type.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.0.0 (built-in)</para>
<para>Description and examples: See <xref linkend="command-statistic-reset-all"/></para>
<para>Command syntax:
<screen>{
"command": "statistic-reset-all",
"arguments": { }
}</screen>
If the operation is successful, the server will respond with a status of 0, indicating success and an empty parameters field. If an error is encountered, the server will return a status code of 1 (error) and the text field will contain the error description.</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of statistic-reset-all -->
<!-- start of subnet4-add -->
<section xml:id="reference-subnet4-add">
<title>subnet4-add reference</title>
<para xml:id="ref-subnet4-add"><command>subnet4-add</command> - This command is used to create and add a new subnet to the existing server configuration.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-subnet4-add"/></para>
<para>Command syntax:
<screen>{
"command": "subnet4-add",
"arguments": {
"subnets": [ {
"id": 123,
"subnet": "10.20.30.0/24",
...
} ]
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv4 subnet added",
"arguments": {
"subnets": [
{
"id": 123,
"subnet": "10.20.30.0/24"
}
]
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of subnet4-add -->
<!-- start of subnet4-del -->
<section xml:id="reference-subnet4-del">
<title>subnet4-del reference</title>
<para xml:id="ref-subnet4-del"><command>subnet4-del</command> - This command is used to remove a subnet from the server's configuration. This command has no effect on other configured subnets but removing a subnet has certain implications which the server's administrator should be aware of.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-subnet4-del"/></para>
<para>Command syntax:
<screen>{
"command": "subnet4-del",
"arguments": {
"id": 123
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv4 subnet 192.0.2.0/24 (id 123) deleted",
"arguments": {
"subnets": [
{
"id": 123,
"subnet": "192.0.2.0/24"
}
]
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of subnet4-del -->
<!-- start of subnet4-get -->
<section xml:id="reference-subnet4-get">
<title>subnet4-get reference</title>
<para xml:id="ref-subnet4-get"><command>subnet4-get</command> - This command is used to retrieve detailed information about the specified subnet. This command usually follows the subnet4-list, which is used to discover available subnets with their respective subnet identifiers and prefixes.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-subnet4-get"/></para>
<para>Command syntax:
<screen>{
"command": "subnet4-get",
"arguments": {
"id": 10
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "Info about IPv4 subnet 10.0.0.0/8 (id 10) returned",
"arguments": {
"subnets": [
{
"subnet": "10.0.0.0/8",
"id": 1,
"option-data": [
....
]
...
}
]
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of subnet4-get -->
<!-- start of subnet4-list -->
<section xml:id="reference-subnet4-list">
<title>subnet4-list reference</title>
<para xml:id="ref-subnet4-list"><command>subnet4-list</command> - This command is used to list all currently configured subnets. The subnets are returned in a brief form, i.e. a subnet identifier and subnet prefix is included for each subnet.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-subnet4-list"/></para>
<para>Command syntax:
<screen>{
"command": "subnet4-list"
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "2 IPv4 subnets found",
"arguments": {
"subnets": [
{
"id": 10,
"subnet": "10.0.0.0/8"
},
{
"id": 100,
"subnet": "192.0.2.0/24"
}
]
}</screen>
If no IPv4 subnets are found, an error code is returned along with the error description.</para>
</section>
<!-- end of subnet4-list -->
<!-- start of subnet4-update -->
<section xml:id="reference-subnet4-update">
<title>subnet4-update reference</title>
<para xml:id="ref-subnet4-update"><command>subnet4-update</command> - This command is used to update a subnet in the existing server configuration.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-subnet4-update"/></para>
<para>Command syntax:
<screen>{
"command": "subnet4-update",
"arguments": {
"subnets": [ {
"id": 123,
"subnet": "10.20.30.0/24",
...
} ]
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv4 subnet updated",
"arguments": {
"subnets": [
{
"id": 123,
"subnet": "10.20.30.0/24"
}
]
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of subnet4-update -->
<!-- start of subnet6-add -->
<section xml:id="reference-subnet6-add">
<title>subnet6-add reference</title>
<para xml:id="ref-subnet6-add"><command>subnet6-add</command> - This command is used to create and add new subnet to the existing server configuration. This operation has no impact on other subnets.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-subnet6-add"/></para>
<para>Command syntax:
<screen>{
"command": "subnet6-add",
"arguments": {
"subnet6": [ {
"id": 234,
"subnet": "2001:db8:1::/64",
...
} ]
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv6 subnet added",
"arguments": {
"subnet6": [
{
"id": 234,
"subnet": "2001:db8:1::/64"
}
]
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of subnet6-add -->
<!-- start of subnet6-del -->
<section xml:id="reference-subnet6-del">
<title>subnet6-del reference</title>
<para xml:id="ref-subnet6-del"><command>subnet6-del</command> - This command is used to remove a subnet from the server's configuration. This command has no effect on other configured subnets but removing a subnet has certain implications which the server's administrator should be aware of.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-subnet6-del"/></para>
<para>Command syntax:
<screen>{
"command": "subnet6-del",
"arguments": {
"id": 234
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv6 subnet 2001:db8:1::/64 (id 234) deleted",
"subnets": [
{
"id": 234,
"subnet": "2001:db8:1::/64"
}
]
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of subnet6-del -->
<!-- start of subnet6-get -->
<section xml:id="reference-subnet6-get">
<title>subnet6-get reference</title>
<para xml:id="ref-subnet6-get"><command>subnet6-get</command> - This command is used to retrieve detailed information about the specified subnet. This command usually follows the subnet6-list, which is used to discover available subnets with their respective subnet identifiers and prefixes.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-subnet6-get"/></para>
<para>Command syntax:
<screen>{
"command": "subnet6-get",
"arguments": {
"id": 11
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "Info about IPv6 subnet 2001:db8:1::/64 (id 11) returned",
"arguments": {
"subnets": [
{
"subnet": "2001:db8:1::/64",
"id": 1,
"option-data": [
...
]
....
}
]
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of subnet6-get -->
<!-- start of subnet6-list -->
<section xml:id="reference-subnet6-list">
<title>subnet6-list reference</title>
<para xml:id="ref-subnet6-list"><command>subnet6-list</command> - This command is used to list all currently configured subnets. The subnets are returned in a brief form, i.e. a subnet identifier and subnet prefix is included for each subnet.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-subnet6-list"/></para>
<para>Command syntax:
<screen>{
"command": "subnet6-list"
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "2 IPv6 subnets found",
"arguments": {
"subnets": [
{
"id": 11,
"subnet": "2001:db8:1::/64"
},
{
"id": 233,
"subnet": "3000::/16"
}
]
}</screen>
If no IPv6 subnets are found, an error code is returned along with the error description.</para>
</section>
<!-- end of subnet6-list -->
<!-- start of subnet6-update -->
<section xml:id="reference-subnet6-update">
<title>subnet6-update reference</title>
<para xml:id="ref-subnet6-update"><command>subnet6-update</command> - This command is used to update a subnet in the existing server configuration. This operation has no impact on other subnets.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
<para>Availability: 1.6.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link> hook)</para>
<para>Description and examples: See <xref linkend="command-subnet6-update"/></para>
<para>Command syntax:
<screen>{
"command": "subnet6-update",
"arguments": {
"subnet6": [ {
"id": 234,
"subnet": "2001:db8:1::/64",
...
} ]
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv6 subnet updated",
"arguments": {
"subnet6": [
{
"id": 234,
"subnet": "2001:db8:1::/64"
}
]
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of subnet6-update -->
<!-- start of version-get -->
<section xml:id="reference-version-get">
<title>version-get reference</title>
<para xml:id="ref-version-get"><command>version-get</command> - The version-get command returns extended information about
Kea version. The returned string is the same as if Kea would
be run with -V command line option.</para>
<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command>, <command><link linkend="commands-kea-dhcp-ddns">kea-dhcp-ddns</link></command>, <command><link linkend="commands-kea-ctrl-agent">kea-ctrl-agent</link></command></para>
<para>Availability: 1.2.0 (built-in)</para>
<para>Description and examples: See <xref linkend="command-version-get"/></para>
<para>Command syntax:
<screen>{
"command": "version-get"
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": &lt;integer&gt;,
"text": &lt;string&gt;
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of version-get -->
</appendix>