]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
removed guide leftovers after merge
authorMichal Nowikowski <godfryd@isc.org>
Thu, 18 Jul 2019 06:19:10 +0000 (08:19 +0200)
committerMichal Nowikowski <godfryd@isc.org>
Tue, 30 Jul 2019 08:45:13 +0000 (10:45 +0200)
doc/guide/api.rst [deleted file]
doc/guide/logging.rst [deleted file]
doc/guide/netconf.rst [deleted file]

diff --git a/doc/guide/api.rst b/doc/guide/api.rst
deleted file mode 100644 (file)
index 70098d6..0000000
+++ /dev/null
@@ -1,6759 +0,0 @@
-.. _api:
-
-*************
-API Reference
-*************
-
-Kea currently supports 121 commands: ``build-report`` , ``cache-clear``
-, ``cache-get`` , ``cache-get-by-id`` , ``cache-insert`` ,
-``cache-load`` , ``cache-remove`` , ``cache-size`` , ``cache-write`` ,
-``class-add`` , ``class-del`` , ``class-get`` , ``class-list`` ,
-``class-update`` , ``config-get`` , ``config-reload`` , ``config-set`` ,
-``config-test`` , ``config-write`` , ``dhcp-disable`` , ``dhcp-enable``
-, ``ha-continue`` , ``ha-heartbeat`` , ``ha-scopes`` , ``ha-sync`` ,
-``lease4-add`` , ``lease4-del`` , ``lease4-get`` , ``lease4-get-all`` ,
-``lease4-update`` , ``lease4-wipe`` , ``lease6-add`` , ``lease6-del`` ,
-``lease6-get`` , ``lease6-get-all`` , ``lease6-update`` ,
-``lease6-wipe`` , ``leases-reclaim`` , ``libreload`` , ``list-commands``
-, ``network4-add`` , ``network4-del`` , ``network4-get`` ,
-``network4-list`` , ``network4-subnet-add`` , ``network4-subnet-del`` ,
-``network6-add`` , ``network6-del`` , ``network6-get`` ,
-``network6-list`` , ``network6-subnet-add`` , ``network6-subnet-del`` ,
-``remote-global-parameter4-del`` , ``remote-global-parameter4-get`` ,
-``remote-global-parameter4-get-all`` , ``remote-global-parameter4-set``
-, ``remote-global-parameter6-del`` , ``remote-global-parameter6-get`` ,
-``remote-global-parameter6-get-all`` , ``remote-global-parameter6-set``
-, ``remote-network4-del`` , ``remote-network4-get`` ,
-``remote-network4-list`` , ``remote-network4-set`` ,
-``remote-network6-del`` , ``remote-network6-get`` ,
-``remote-network6-list`` , ``remote-network6-set`` ,
-``remote-option-def4-del`` , ``remote-option-def4-get`` ,
-``remote-option-def4-get-all`` , ``remote-option-def4-set`` ,
-``remote-option-def6-del`` , ``remote-option-def6-get`` ,
-``remote-option-def6-get-all`` , ``remote-option-def6-set`` ,
-``remote-option4-global-del`` , ``remote-option4-global-get`` ,
-``remote-option4-global-get-all`` , ``remote-option4-global-set`` ,
-``remote-option6-global-del`` , ``remote-option6-global-get`` ,
-``remote-option6-global-get-all`` , ``remote-option6-global-set`` ,
-``remote-subnet4-del-by-id`` , ``remote-subnet4-del-by-prefix`` ,
-``remote-subnet4-get-by-id`` , ``remote-subnet4-get-by-prefix`` ,
-``remote-subnet4-list`` , ``remote-subnet4-set`` ,
-``remote-subnet6-del-by-id`` , ``remote-subnet6-del-by-prefix`` ,
-``remote-subnet6-get-by-id`` , ``remote-subnet6-get-by-prefix`` ,
-``remote-subnet6-list`` , ``remote-subnet6-set`` , ``reservation-add`` ,
-``reservation-del`` , ``reservation-get`` , ``reservation-get-all`` ,
-``reservation-get-page`` , ``shutdown`` , ``stat-lease4-get`` ,
-``stat-lease6-get`` , ``statistic-get`` , ``statistic-get-all`` ,
-``statistic-remove`` , ``statistic-remove-all`` , ``statistic-reset`` ,
-``statistic-reset-all`` , ``subnet4-add`` , ``subnet4-del`` ,
-``subnet4-get`` , ``subnet4-list`` , ``subnet4-update`` ,
-``subnet6-add`` , ``subnet6-del`` , ``subnet6-get`` , ``subnet6-list`` ,
-``subnet6-update`` , ``version-get`` .
-
-Commands supported by the kea-ctrl-agent daemon: ``build-report`` ,
-``config-get`` , ``config-reload`` , ``config-set`` , ``config-test`` ,
-``config-write`` , ``list-commands`` , ``shutdown`` , ``version-get`` .
-
-Commands supported by the kea-dhcp-ddns daemon: ``build-report`` ,
-``config-get`` , ``config-reload`` , ``config-set`` , ``config-test`` ,
-``config-write`` , ``list-commands`` , ``shutdown`` , ``version-get`` .
-
-Commands supported by the kea-dhcp4 daemon: ``build-report`` ,
-``cache-clear`` , ``cache-get`` , ``cache-get-by-id`` , ``cache-insert``
-, ``cache-load`` , ``cache-remove`` , ``cache-size`` , ``cache-write`` ,
-``class-add`` , ``class-del`` , ``class-get`` , ``class-list`` ,
-``class-update`` , ``config-get`` , ``config-reload`` , ``config-set`` ,
-``config-test`` , ``config-write`` , ``dhcp-disable`` , ``dhcp-enable``
-, ``ha-continue`` , ``ha-heartbeat`` , ``ha-scopes`` , ``ha-sync`` ,
-``lease4-add`` , ``lease4-del`` , ``lease4-get`` , ``lease4-get-all`` ,
-``lease4-update`` , ``lease4-wipe`` , ``leases-reclaim`` , ``libreload``
-, ``list-commands`` , ``network4-add`` , ``network4-del`` ,
-``network4-get`` , ``network4-list`` , ``network4-subnet-add`` ,
-``network4-subnet-del`` , ``remote-global-parameter4-del`` ,
-``remote-global-parameter4-get`` , ``remote-global-parameter4-get-all``
-, ``remote-global-parameter4-set`` , ``remote-network4-del`` ,
-``remote-network4-get`` , ``remote-network4-list`` ,
-``remote-network4-set`` , ``remote-option-def4-del`` ,
-``remote-option-def4-get`` , ``remote-option-def4-get-all`` ,
-``remote-option-def4-set`` , ``remote-option4-global-del`` ,
-``remote-option4-global-get`` , ``remote-option4-global-get-all`` ,
-``remote-option4-global-set`` , ``remote-subnet4-del-by-id`` ,
-``remote-subnet4-del-by-prefix`` , ``remote-subnet4-get-by-id`` ,
-``remote-subnet4-get-by-prefix`` , ``remote-subnet4-list`` ,
-``remote-subnet4-set`` , ``reservation-add`` , ``reservation-del`` ,
-``reservation-get`` , ``reservation-get-all`` , ``reservation-get-page``
-, ``shutdown`` , ``stat-lease4-get`` , ``statistic-get`` ,
-``statistic-get-all`` , ``statistic-remove`` , ``statistic-remove-all``
-, ``statistic-reset`` , ``statistic-reset-all`` , ``subnet4-add`` ,
-``subnet4-del`` , ``subnet4-get`` , ``subnet4-list`` ,
-``subnet4-update`` , ``version-get`` .
-
-Commands supported by the kea-dhcp6 daemon: ``build-report`` ,
-``cache-clear`` , ``cache-get`` , ``cache-get-by-id`` , ``cache-insert``
-, ``cache-load`` , ``cache-remove`` , ``cache-size`` , ``cache-write`` ,
-``class-add`` , ``class-del`` , ``class-get`` , ``class-list`` ,
-``class-update`` , ``config-get`` , ``config-reload`` , ``config-set`` ,
-``config-test`` , ``config-write`` , ``dhcp-disable`` , ``dhcp-enable``
-, ``ha-continue`` , ``ha-heartbeat`` , ``ha-scopes`` , ``ha-sync`` ,
-``lease6-add`` , ``lease6-del`` , ``lease6-get`` , ``lease6-get-all`` ,
-``lease6-update`` , ``lease6-wipe`` , ``leases-reclaim`` , ``libreload``
-, ``list-commands`` , ``network6-add`` , ``network6-del`` ,
-``network6-get`` , ``network6-list`` , ``network6-subnet-add`` ,
-``network6-subnet-del`` , ``remote-global-parameter6-del`` ,
-``remote-global-parameter6-get`` , ``remote-global-parameter6-get-all``
-, ``remote-global-parameter6-set`` , ``remote-network6-del`` ,
-``remote-network6-get`` , ``remote-network6-list`` ,
-``remote-network6-set`` , ``remote-option-def6-del`` ,
-``remote-option-def6-get`` , ``remote-option-def6-get-all`` ,
-``remote-option-def6-set`` , ``remote-option6-global-del`` ,
-``remote-option6-global-get`` , ``remote-option6-global-get-all`` ,
-``remote-option6-global-set`` , ``remote-subnet6-del-by-id`` ,
-``remote-subnet6-del-by-prefix`` , ``remote-subnet6-get-by-id`` ,
-``remote-subnet6-get-by-prefix`` , ``remote-subnet6-list`` ,
-``remote-subnet6-set`` , ``reservation-add`` , ``reservation-del`` ,
-``reservation-get`` , ``reservation-get-all`` , ``reservation-get-page``
-, ``shutdown`` , ``stat-lease6-get`` , ``statistic-get`` ,
-``statistic-get-all`` , ``statistic-remove`` , ``statistic-remove-all``
-, ``statistic-reset`` , ``statistic-reset-all`` , ``subnet6-add`` ,
-``subnet6-del`` , ``subnet6-get`` , ``subnet6-list`` ,
-``subnet6-update`` , ``version-get`` .
-
-.. _commands-cb_cmds-lib:
-
-Commands supported by the Configuration Backend Commands (cb_cmds) hooks library:
-``remote-global-parameter4-del`` , ``remote-global-parameter4-get`` ,
-``remote-global-parameter4-get-all`` , ``remote-global-parameter4-set``
-, ``remote-global-parameter6-del`` , ``remote-global-parameter6-get`` ,
-``remote-global-parameter6-get-all`` , ``remote-global-parameter6-set``
-, ``remote-network4-del`` , ``remote-network4-get`` ,
-``remote-network4-list`` , ``remote-network4-set`` ,
-``remote-network6-del`` , ``remote-network6-get`` ,
-``remote-network6-list`` , ``remote-network6-set`` ,
-``remote-option-def4-del`` , ``remote-option-def4-get`` ,
-``remote-option-def4-get-all`` , ``remote-option-def4-set`` ,
-``remote-option-def6-del`` , ``remote-option-def6-get`` ,
-``remote-option-def6-get-all`` , ``remote-option-def6-set`` ,
-``remote-option4-global-del`` , ``remote-option4-global-get`` ,
-``remote-option4-global-get-all`` , ``remote-option4-global-set`` ,
-``remote-option6-global-del`` , ``remote-option6-global-get`` ,
-``remote-option6-global-get-all`` , ``remote-option6-global-set`` ,
-``remote-subnet4-del-by-id`` , ``remote-subnet4-del-by-prefix`` ,
-``remote-subnet4-get-by-id`` , ``remote-subnet4-get-by-prefix`` ,
-``remote-subnet4-list`` , ``remote-subnet4-set`` ,
-``remote-subnet6-del-by-id`` , ``remote-subnet6-del-by-prefix`` ,
-``remote-subnet6-get-by-id`` , ``remote-subnet6-get-by-prefix`` ,
-``remote-subnet6-list`` , ``remote-subnet6-set`` .
-
-.. _commands-class_cmds-lib:
-
-Commands supported by the Class Commands (class_cmds) hooks library: ``class-add`` ,
-``class-del`` , ``class-get`` , ``class-list`` , ``class-update`` .
-
-.. _commands-high_availability-lib:
-
-Commands supported by the High Availability (high_availability) hooks library: ``ha-continue`` ,
-``ha-heartbeat`` , ``ha-scopes`` , ``ha-sync`` .
-
-.. _commands-host_cache-lib:
-
-Commands supported by the Host Cache (host_cache) hooks library: ``cache-clear`` ,
-``cache-get`` , ``cache-get-by-id`` , ``cache-insert`` , ``cache-load``
-, ``cache-remove`` , ``cache-size`` , ``cache-write`` .
-
-.. _commands-host_cmds-lib:
-
-Commands supported by the Host Commands (host_cmds) hooks library: ``reservation-add`` ,
-``reservation-del`` , ``reservation-get`` , ``reservation-get-all`` ,
-``reservation-get-page`` .
-
-.. _commands-lease_cmds-lib:
-
-Commands supported by the Lease Commands (lease_cmds) hooks library: ``lease4-add`` ,
-``lease4-del`` , ``lease4-get`` , ``lease4-get-all`` , ``lease4-update``
-, ``lease4-wipe`` , ``lease6-add`` , ``lease6-del`` , ``lease6-get`` ,
-``lease6-get-all`` , ``lease6-update`` , ``lease6-wipe`` .
-
-.. _commands-stat_cmds-lib:
-
-Commands supported by the Supplemental Statistics Commands (stat_cmds) hooks library: ``stat-lease4-get`` ,
-``stat-lease6-get`` .
-
-.. _commands-subnet_cmds-lib:
-
-Commands supported by the Subnet Commands (subnet_cmds) hooks library: ``network4-add`` ,
-``network4-del`` , ``network4-get`` , ``network4-list`` ,
-``network4-subnet-add`` , ``network4-subnet-del`` , ``network6-add`` ,
-``network6-del`` , ``network6-get`` , ``network6-list`` ,
-``network6-subnet-add`` , ``network6-subnet-del`` , ``subnet4-add`` ,
-``subnet4-del`` , ``subnet4-get`` , ``subnet4-list`` ,
-``subnet4-update`` , ``subnet6-add`` , ``subnet6-del`` , ``subnet6-get``
-, ``subnet6-list`` , ``subnet6-update`` .
-
-.. _reference-build-report:
-
-build-report reference
-======================
-
-``build-report`` - returns a list of compilation options that this
-particular binary was built with.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``, ``kea-dhcp-ddns``,
-``kea-ctrl-agent``
-
-Availability: 1.2.0 (built-in)
-
-Description and examples: see :ref:`command-build-report`
-
-Command syntax:
-
-::
-
-   {
-       "command": "build-report"
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": <string with build details>
-   }
-
-.. _reference-cache-clear:
-
-cache-clear reference
-=====================
-
-``cache-clear`` - removes all cached host reservations.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.4.0 (:ref:`The Host Cache hooks library<commands-host_cache-lib>`)
-
-Description and examples: see :ref:`command-cache-clear`
-
-Command syntax:
-
-::
-
-   {
-       "command": "cache-clear"
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-cache-get:
-
-cache-get reference
-===================
-
-``cache-get`` - returns full content of the host cache.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.4.0 (:ref:`The Host Cache hooks library<commands-host_cache-lib>`)
-
-Description and examples: see :ref:`command-cache-get`
-
-Command syntax:
-
-::
-
-   {
-       "command": "cache-get"
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": 0
-       "text": "123 entries returned."
-       "arguments": <list of host reservations>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-cache-get-by-id:
-
-cache-get-by-id reference
-=========================
-
-``cache-get-by-id`` - returns entries matching the given identifier from
-the host cache.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Host Cache hooks library<commands-host_cache-lib>`)
-
-Description and examples: see :ref:`command-cache-get-by-id`
-
-Command syntax:
-
-::
-
-   {
-       "command": "cache-get-by-id",
-       "arguments": {
-           "hw-address": "01:02:03:04:05:06"
-       }
-
-Response syntax:
-
-::
-
-   {
-       "result": 0
-       "text": "2 entries returned."
-       "arguments": <list of host reservations>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-cache-insert:
-
-cache-insert reference
-======================
-
-``cache-insert`` - manually inserts a host into the cache.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.4.0 (:ref:`The Host Cache hooks library<commands-host_cache-lib>`)
-
-Description and examples: see :ref:`command-cache-insert`
-
-Command syntax:
-
-::
-
-   {
-       "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
-       }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-cache-load:
-
-cache-load reference
-====================
-
-``cache-load`` - allows the contents of a file on disk to be loaded
-into an in-memory cache.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.4.0 (:ref:`The Host Cache hooks library<commands-host_cache-lib>`)
-
-Description and examples: see :ref:`command-cache-load`
-
-Command syntax:
-
-::
-
-   {
-       "command": "cache-load",
-       "arguments": "/tmp/kea-host-cache.json"
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-cache-remove:
-
-cache-remove reference
-======================
-
-``cache-remove`` - works similarly to the reservation-get command.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.4.0 (:ref:`The Host Cache hooks library<commands-host_cache-lib>`)
-
-Description and examples: see :ref:`command-cache-remove`
-
-Command syntax:
-
-::
-
-   {
-       "command": "cache-remove",
-       "arguments": {
-           "ip-address": "192.0.2.1",
-           "subnet-id": 123
-       }
-   }
-
-   Another example that removes the 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
-       }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-cache-size:
-
-cache-size reference
-====================
-
-``cache-size`` - returns the number of entries in the host cache.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Host Cache hooks library<commands-host_cache-lib>`)
-
-Description and examples: see :ref:`command-cache-size`
-
-Command syntax:
-
-::
-
-   {
-       "command": "cache-size"
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": 0
-       "text": "123 entries."
-       "arguments": { "size": 123 }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-cache-write:
-
-cache-write reference
-=====================
-
-``cache-write`` - instructs Kea to write its host cache content to disk.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.4.0 (:ref:`The Host Cache hooks library<commands-host_cache-lib>`)
-
-Description and examples: see :ref:`command-cache-write`
-
-Command syntax:
-
-::
-
-   {
-       "command": "cache-write",
-       "arguments": "/path/to/the/file.json"
-   }
-
-The command takes one mandatory argument that specifies a filename path
-of a file to be written.
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-class-add:
-
-class-add reference
-===================
-
-``class-add`` - creates and adds a new class to
-the existing server configuration.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.5.0 (:ref:`The Class Commands hooks library<commands-class_cmds-lib>`)
-
-Description and examples: see :ref:`command-class-add`
-
-Command syntax:
-
-::
-
-   {
-       "command": "class-add",
-       "arguments": {
-           "client-classes": [ {
-              "name": <name of the class>,
-              "test": <test expression to be evaluated on incoming packets>,
-              "option-data": [ <option values here> ],
-              "option-def": [ <option defintions here> ],
-              "next-server": <ipv4 address>,
-              "server-hostname": <string>,
-              "boot-file-name": <name of the boot file>
-           } ]
-       }
-   }
-
-The ``next-server``, ``server-hostname``, and ``boot-file-name`` commands are
-DHCPv4-specific. Only one client class can be added with a single
-command.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "Class '<class-name>' added.",
-   }
-
-The command will be successful (result 0), unless the class name is a
-duplicate or another error occurs (result 1).
-
-.. _reference-class-del:
-
-class-del reference
-===================
-
-``class-del`` - removes a client class from the server configuration.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.5.0 (:ref:`The Class Commands hooks library<commands-class_cmds-lib>`)
-
-Description and examples: see :ref:`command-class-del`
-
-Command syntax:
-
-::
-
-   {
-       "command": "class-del",
-       "arguments": {
-           "name": <name of the class>
-       }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "Class '<class-name>' deleted."
-   }
-
-The command will return a result of 3 (empty) if the client class
-does not exist. If the client class exists, the returned result is 0 if
-the deletion was successful and the result is 1 if the deletion is
-unsuccessful.
-
-.. _reference-class-get:
-
-class-get reference
-===================
-
-``class-get`` - returns detailed information about an existing client class.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.5.0 (:ref:`The Class Commands hooks library<commands-class_cmds-lib>`)
-
-Description and examples: see :ref:`command-class-get`
-
-Command syntax:
-
-::
-
-   {
-       "command": "class-get",
-       "arguments": {
-           "name": <name of the class>
-       }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "Class '<class-name>' definition returned",
-       "arguments": {
-           "client-classes": [
-               {
-                   "name": <name of the class>,
-                   "only-if-required": <only if required boolean value>,
-                   "test": <test expression to be evaluated on incoming packets>,
-                   "option-data": [ <option values here> ],
-                   "option-def": [ <option defintions here> ],
-                   "next-server": <ipv4 address>,
-                   "server-hostname": <string>,
-                   "boot-file-name": <name of the boot file>
-               }
-           ]
-       }
-   }
-
-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 a class with the
-specified name does not 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.
-
-.. _reference-class-list:
-
-class-list reference
-====================
-
-``class-list`` - retrieves a list of all client
-classes from the server configuration.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.5.0 (:ref:`The Class Commands hooks library<commands-class_cmds-lib>`)
-
-Description and examples: see :ref:`command-class-list`
-
-Command syntax:
-
-::
-
-   {
-       "command": "class-list"
-   }
-
-This command includes no arguments.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "<number of> classes found",
-       "arguments": {
-           "client-classes": [
-               {
-                   "name": <first class name>
-               },
-               {
-                   "name": <second class name>
-               }
-           ]
-       }
-   }
-
-The returned list of classes merely contains their names. To
-retrieve full information about one of these classes, use
-:ref:`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.
-
-.. _reference-class-update:
-
-class-update reference
-======================
-
-``class-update`` - updates an existing client
-class in the server configuration.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.5.0 (:ref:`The Class Commands hooks library<commands-class_cmds-lib>`)
-
-Description and examples: see :ref:`command-class-update`
-
-Command syntax:
-
-::
-
-   {
-       "command": "class-update",
-       "arguments": {
-           "client-classes": [ {
-              "name": <name of the class>,
-              "test": <test expression to be evaluated on incoming packets>,
-              "option-data": [ <option values here> ],
-              "option-def": [ <option defintions here> ],
-              "next-server": <ipv4 address>,
-              "server-hostname": <string>,
-              "boot-file-name": <name of the boot file>
-           } ]
-       }
-   }
-
-The ``next-server``, ``server-hostname``, and ``boot-file-name`` commands are
-DHCPv4-specific. Only one client class can be updated with a single
-command.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "Class '<class-name>' updated.",
-   }
-
-The command will return the result of 3 (empty) if the client class
-does not exist. If the client class exists, the returned result is 0 if
-the update was successful and 1 if the update is unsuccessful.
-
-.. _reference-config-get:
-
-config-get reference
-====================
-
-``config-get`` - retrieves the current configuration used by the server.
-The configuration is roughly equal to the configuration file, but
-includes additional changes made by other commands and due to parameters
-inheritance.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``, ``kea-dhcp-ddns``,
-``kea-ctrl-agent``
-
-Availability: 1.2.0 (built-in)
-
-Description and examples: see :ref:`command-config-get`
-
-Command syntax:
-
-::
-
-   {
-       "command": "config-get"
-   }
-
-This command takes no parameters.
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "arguments": {
-           <JSON configuration here, starting with Dhcp4, Dhcp6, or Control-agent object>
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-config-reload:
-
-config-reload reference
-=======================
-
-``config-reload`` - instructs Kea to load
-again the configuration file that was used previously.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``, ``kea-dhcp-ddns``,
-``kea-ctrl-agent``
-
-Availability: 1.2.0 (built-in)
-
-Description and examples: see :ref:`command-config-reload`
-
-Command syntax:
-
-::
-
-   {
-       "command": "config-reload"
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-config-set:
-
-config-set reference
-====================
-
-``config-set`` - instructs the server to replace
-its current configuration with the new configuration supplied in the
-command's arguments.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``, ``kea-dhcp-ddns``,
-``kea-ctrl-agent``
-
-Availability: 1.2.0 (built-in)
-
-Description and examples: see :ref:`command-config-set`
-
-Command syntax:
-
-::
-
-   {
-       "command": "config-set",
-       "arguments":  {
-           "<server>": {
-           }
-        }
-   }
-
-where <server> is the configuration element name for a given server, such
-as "Dhcp4" or "Dhcp6"
-
-Response syntax:
-
-::
-
-       {"result": 0, "text": "Configuration successful." }
-
-       or
-
-       {"result": 1, "text": "unsupported parameter: BOGUS (<string>:16:26)" }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-config-test:
-
-config-test reference
-=====================
-
-``config-test`` - instructs the server to check
-whether the new configuration supplied in the command's arguments can be
-loaded.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``, ``kea-dhcp-ddns``,
-``kea-ctrl-agent``
-
-Availability: 1.2.0 (built-in)
-
-Description and examples: see :ref:`command-config-test`
-
-Command syntax:
-
-::
-
-   {
-       "command": "config-test",
-       "arguments":  {
-           "<server>": {
-           }
-        }
-   }
-
-where <server> is the configuration element name for a given server, such
-as "Dhcp4" or "Dhcp6"
-
-Response syntax:
-
-::
-
-   {"result": 0, "text": "Configuration seems sane..." }
-
-       or
-
-       {"result": 1, "text": "unsupported parameter: BOGUS (<string>:16:26)" }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-config-write:
-
-config-write reference
-======================
-
-``config-write`` - instructs the Kea server to
-write its current configuration to a file on disk.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``, ``kea-dhcp-ddns``,
-``kea-ctrl-agent``
-
-Availability: 1.2.0 (built-in)
-
-Description and examples: see :ref:`command-config-write`
-
-Command syntax:
-
-::
-
-   {
-       "command": "config-write",
-       "arguments": {
-           "filename": "config-modified-2017-03-15.json"
-       }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-dhcp-disable:
-
-dhcp-disable reference
-======================
-
-``dhcp-disable`` - globally disables the DHCP service.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.4.0 (built-in)
-
-Description and examples: see :ref:`command-dhcp-disable`
-
-Command syntax:
-
-::
-
-   {
-       "command": "dhcp-disable",
-       "arguments": {
-           "max-period": 20
-       }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-dhcp-enable:
-
-dhcp-enable reference
-=====================
-
-``dhcp-enable`` - globally enables the DHCP service.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.4.0 (built-in)
-
-Description and examples: see :ref:`command-dhcp-enable`
-
-Command syntax:
-
-::
-
-   {
-       "command": "dhcp-enable"
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-ha-continue:
-
-ha-continue reference
-=====================
-
-``ha-continue`` - resumes the operation of the
-paused HA state machine.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.4.0 (:ref:`The High Availability hooks library<commands-high_availability-lib>`)
-
-Description and examples: see :ref:`command-ha-continue`
-
-Command syntax:
-
-::
-
-   {
-       "command": "ha-continue"
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-ha-heartbeat:
-
-ha-heartbeat reference
-======================
-
-``ha-heartbeat`` - is sent internally by a Kea partner when
-operating in High Availability (HA) mode; it retrieves the server HA
-state and clock value.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.4.0 (:ref:`The High Availability hooks library<commands-high_availability-lib>`)
-
-Description and examples: see :ref:`ha-server-states`
-
-Command syntax:
-
-::
-
-   {
-       "command": "ha-heartbeat",
-       }
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The response to this command is different from the typical command
-response. The response will include the server state (see
-:ref:`ha-server-states` plus the current clock value.
-
-.. _reference-ha-scopes:
-
-ha-scopes reference
-===================
-
-``ha-scopes`` - modifies the scope that the server is
-responsible for serving when operating in High Availability (HA) mode.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.4.0 (:ref:`The High Availability hooks library<commands-high_availability-lib>`)
-
-Description and examples: see :ref:`command-ha-scopes`
-
-Command syntax:
-
-::
-
-   {
-       "command": "ha-scopes",
-       "service": [ <service, typically "dhcp4" or "dhcp6"> ],
-       "arguments": {
-           "scopes": [ "HA_server1", "HA_server2" ]
-       }
-
-In the example given, the arguments configure the server to handle
-traffic from both HA_server1 and HA_server2 scopes.
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-ha-sync:
-
-ha-sync reference
-=================
-
-``ha-sync`` - instructs the server running in HA
-mode to synchronize its local lease database with the selected peer.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.4.0 (:ref:`The High Availability hooks library<commands-high_availability-lib>`)
-
-Description and examples: see :ref:`command-ha-sync`
-
-Command syntax:
-
-::
-
-   {
-       "command": "ha-sync",
-       "service": [ <service affected:> "dhcp4" or "dhcp6" ],
-       "arguments": {
-           "server-name": <name of the partner server>,
-           "max-period": <integer, in seconds>
-       }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-lease4-add:
-
-lease4-add reference
-====================
-
-``lease4-add`` - adds a new IPv4 lease administratively.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.3.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
-
-Description and examples: see :ref:`command-lease4-add`
-
-Command syntax:
-
-::
-
-   {
-       "command": "lease4-add",
-       "arguments": {
-           "ip-address": "192.0.2.202",
-           "hw-address": "1a:1b:1c:1d:1e:1f"
-       }
-   }
-
-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.
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-lease4-del:
-
-lease4-del reference
-====================
-
-``lease4-del`` - deletes a lease from the lease database.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.3.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
-
-Description and examples: see :ref:`command-lease4-del`
-
-Command syntax:
-
-::
-
-   {
-       "command": "lease4-del",
-       "arguments": {
-           "ip-address": "192.0.2.202"
-       }
-   }
-
-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".
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-lease4-get:
-
-lease4-get reference
-====================
-
-``lease4-get`` - queries the lease database and retrieves existing leases.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.3.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
-
-Description and examples: see :ref:`command-lease4-get`
-
-Command syntax:
-
-::
-
-   {
-       "command": "lease4-get",
-       "arguments": {
-           "ip-address": "192.0.2.1"
-       }
-   }
-
-Response syntax:
-
-::
-
-   {
-     "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."
-   }
-
-``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).
-
-.. _reference-lease4-get-all:
-
-lease4-get-all reference
-========================
-
-``lease4-get-all`` - retrieves all IPv4 leases
-or all leases for the specified set of subnets.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.4.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
-
-Description and examples: see :ref:`command-lease4-get-all`
-
-Command syntax:
-
-::
-
-   {
-       "command": "lease4-get-all"
-       "arguments": "subnets"
-   }
-
-The ``lease4-get-all`` command may result in very large responses.
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-lease4-update:
-
-lease4-update reference
-=======================
-
-``lease4-update`` - updates existing leases.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.3.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
-
-Description and examples: see :ref:`command-lease4-update`
-
-Command syntax:
-
-::
-
-   {
-     "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
-     }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-lease4-wipe:
-
-lease4-wipe reference
-=====================
-
-``lease4-wipe`` - removes all leases associated with a given subnet.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.3.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
-
-Description and examples: see :ref:`command-lease4-wipe`
-
-Command syntax:
-
-::
-
-   {
-     "command": "lease4-wipe",
-     "arguments": {
-       "subnet-id": 44
-     }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-lease6-add:
-
-lease6-add reference
-====================
-
-``lease6-add`` - creates a new lease administratively.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.3.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
-
-Description and examples: see :ref:`command-lease4-add`
-
-Command syntax:
-
-::
-
-   {
-       "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
-       }
-   }
-
-``lease6-add`` can be also used to add leases for IPv6 prefixes.
-
-Response syntax:
-
-::
-
-   { "result": 0, "text": "Lease added." }
-       { "result": 1, "text": "missing parameter 'ip-address' (<string>:3:19)" }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-lease6-del:
-
-lease6-del reference
-====================
-
-``lease6-del`` - deletes a lease from the lease database.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.3.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
-
-Description and examples: see :ref:`command-lease4-del`
-
-Command syntax:
-
-::
-
-   {
-       "command": "lease6-del",
-       "arguments": {
-           "ip-address": "192.0.2.202"
-       }
-   }
-
-``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).
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-lease6-get:
-
-lease6-get reference
-====================
-
-``lease6-get`` - queries the lease database and retrieves existing leases.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.3.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
-
-Description and examples: see :ref:`command-lease4-get`
-
-Command syntax:
-
-::
-
-   {
-     "command": "lease6-get",
-     "arguments": {
-       "ip-address": "2001:db8:1234:ab::",
-       "type": "IA_PD"
-     }
-   }
-
-``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).
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-lease6-get-all:
-
-lease6-get-all reference
-========================
-
-``lease6-get-all`` - retrieves all IPv6 leases
-or all leases for the specified set of subnets.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.3.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
-
-Description and examples: see :ref:`command-lease4-get-all`
-
-Command syntax:
-
-::
-
-   {
-       "command": "lease6-get-all",
-       "arguments": {
-           "subnets": [ 1, 2, 3, 4 ]
-       }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "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."
-   }
-
-The ``lease6-get-all`` command may result in very large responses.
-
-.. _reference-lease6-update:
-
-lease6-update reference
-=======================
-
-``lease6-update`` - updates existing leases.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.3.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
-
-Description and examples: see :ref:`command-lease4-update`
-
-Command syntax:
-
-::
-
-   {
-     "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
-     }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-lease6-wipe:
-
-lease6-wipe reference
-=====================
-
-``lease6-wipe`` - removes all leases associated with a given subnet.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.3.0 (:ref:`The Lease Commands hooks library<commands-lease_cmds-lib>`)
-
-Description and examples: see :ref:`command-lease4-wipe`
-
-Command syntax:
-
-::
-
-   {
-     "command": "lease6-wipe",
-     "arguments": {
-       "subnet-id": 66
-     }
-   }
-
-Note: not all backends support this command.
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-leases-reclaim:
-
-leases-reclaim reference
-========================
-
-``leases-reclaim`` - instructs the server to
-reclaim all expired leases immediately.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.0.0 (built-in)
-
-Description and examples: see :ref:`command-leases-reclaim`
-
-Command syntax:
-
-::
-
-   {
-       "command": "leases-reclaim",
-       "arguments": {
-           "remove": true
-       }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-libreload:
-
-libreload reference
-===================
-
-``libreload`` - unloads and then loads all currently loaded hook libraries.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.2.0 (built-in)
-
-Description and examples: see :ref:`command-libreload`
-
-Command syntax:
-
-::
-
-   {
-       "command": "libreload",
-       "arguments": { }
-   }
-
-The server will respond with a result of 0 indicating success, or 1
-indicating a failure.
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-list-commands:
-
-list-commands reference
-=======================
-
-``list-commands`` - retrieves a list of all commands supported by the server.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``, ``kea-dhcp-ddns``,
-``kea-ctrl-agent``
-
-Availability: 1.0.0 (built-in)
-
-Description and examples: see :ref:`command-list-commands`
-
-Command syntax:
-
-::
-
-   {
-       "command": "list-commands",
-       "arguments": { }
-   }
-
-The server will respond with a list of all supported commands.
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-network4-add:
-
-network4-add reference
-======================
-
-``network4-add`` - adds a new shared network.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
-
-Description and examples: see :ref:`command-network4-add`
-
-Command syntax:
-
-::
-
-   {
-       "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"
-                       }
-                   ]
-               } ]
-           } ]
-       }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "arguments": {
-           "shared-networks": [ { "name": "floor13" } ]
-       },
-       "result": 0,
-       "text": "A new IPv4 shared network 'floor13' added"
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-network4-del:
-
-network4-del reference
-======================
-
-``network4-del`` - deletes existing shared networks.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
-
-Description and examples: see :ref:`command-network4-del`
-
-Command syntax:
-
-::
-
-   {
-       "command": "network4-del",
-       "arguments": {
-           "name": "floor13"
-       }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "arguments": {
-           "shared-networks": [
-               {
-                   "name": "floor13"
-               }
-           ]
-       },
-       "result": 0,
-       "text": "IPv4 shared network 'floor13' deleted"
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-network4-get:
-
-network4-get reference
-======================
-
-``network4-get`` - retrieves detailed
-information about shared networks, including subnets currently being
-part of a given network.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
-
-Description and examples: see :ref:`command-network4-get`
-
-Command syntax:
-
-::
-
-   {
-       "command": "network4-get",
-       "arguments": {
-           "name": "floor13"
-       }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "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
-           }
-           ]
-       }
-   }
-
-Note that the actual response contains many additional fields that are
-omitted here for clarity.
-
-.. _reference-network4-list:
-
-network4-list reference
-=======================
-
-``network4-list`` - retrieves the full list of currently configured shared networks.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
-
-Description and examples: see :ref:`command-network4-list`
-
-Command syntax:
-
-::
-
-   {
-       "command": "network4-list"
-   }
-
-Response syntax:
-
-::
-
-   {
-       "arguments": {
-           "shared-networks": [
-               { "name": "floor1" },
-               { "name": "office" }
-           ]
-       },
-       "result": 0,
-       "text": "2 IPv4 network(s) found"
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-network4-subnet-add:
-
-network4-subnet-add reference
-=============================
-
-``network4-subnet-add`` - adds existing subnets to existing shared networks.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
-
-Description and examples: see :ref:`command-network4-subnet-add`
-
-Command syntax:
-
-::
-
-   {
-       "command": "network4-subnet-add",
-       "arguments": {
-           "name": "floor13",
-           "id": 5
-       }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "IPv4 subnet 10.0.0.0/8 (id 5) is now part of shared network 'floor1'"
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-network4-subnet-del:
-
-network4-subnet-del reference
-=============================
-
-``network4-subnet-del`` - removes a subnet that is part of an existing shared
-network and demotes it to a plain, stand-alone subnet.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
-
-Description and examples: see :ref:`command-network4-subnet-del`
-
-Command syntax:
-
-::
-
-   {
-       "command": "network4-subnet-del",
-       "arguments": {
-           "name": "floor13",
-           "id": 5
-       }
-    }
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "IPv4 subnet 10.0.0.0/8 (id 5) is now removed from shared network 'floor13'"
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-network6-add:
-
-network6-add reference
-======================
-
-``network6-add`` - adds a new shared network.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
-
-Description and examples: see :ref:`command-network4-add`
-
-Command syntax:
-
-::
-
-   {
-       "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"
-                       }
-                   ]
-               } ]
-           } ]
-       }
-   }
-
-The ``network6-add`` command 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 that are IPv6-only (e.g. interface-id).
-
-Response syntax:
-
-::
-
-   {
-       "arguments": {
-           "shared-networks": [ { "name": "floor13" } ]
-       },
-       "result": 0,
-       "text": "A new IPv4 shared network 'floor13' added"
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-network6-del:
-
-network6-del reference
-======================
-
-``network6-del`` - deletes existing shared networks.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
-
-Description and examples: see :ref:`command-network4-del`
-
-Command syntax:
-
-::
-
-   {
-       "command": "network4-del",
-       "arguments": {
-           "name": "floor13"
-       }
-   }
-
-The ``network6-del`` command uses exactly the same syntax as ``network4-del``
-for both the command and the response.
-
-Response syntax:
-
-::
-
-   {
-       "command": "network4-del",
-       "arguments": {
-           "name": "floor13",
-           "subnets-action": "delete"
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-network6-get:
-
-network6-get reference
-======================
-
-``network6-get`` - retrieves detailed
-information about shared networks, including subnets that are currently
-part of a given network.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
-
-Description and examples: see :ref:`command-network4-get`
-
-Command syntax:
-
-::
-
-   {
-       "command": "network4-get",
-       "arguments": {
-           "name": "floor13"
-       }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "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
-           }
-           ]
-       }
-   }
-
-Note that the actual response contains many additional fields that are
-omitted here for clarity.
-
-.. _reference-network6-list:
-
-network6-list reference
-=======================
-
-``network6-list`` - retrieves the full list of currently configured shared networks.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
-
-Description and examples: see :ref:`command-network4-list`
-
-Command syntax:
-
-::
-
-   {
-       "command": "network4-list"
-   }
-
-The ``network6-list`` command follows exactly the same syntax as ``network4-list`` for
-both the query and the response.
-
-Response syntax:
-
-::
-
-   {
-       "arguments": {
-           "shared-networks": [
-               { "name": "floor1" },
-               { "name": "office" }
-           ]
-       },
-       "result": 0,
-       "text": "2 IPv4 network(s) found"
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-network6-subnet-add:
-
-network6-subnet-add reference
-=============================
-
-``network6-subnet-add`` - adds existing subnets to existing shared networks.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
-
-Description and examples: see :ref:`command-network4-subnet-add`
-
-Command syntax:
-
-::
-
-   {
-       "command": "network4-subnet-add",
-       "arguments": {
-           "name": "floor13",
-           "id": 5
-       }
-   }
-
-The ``network6-subnet-add`` command uses exactly the same syntax as
-``network4-subnet-add`` for both the command and the response.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "IPv4 subnet 10.0.0.0/8 (id 5) is now part of shared network 'floor1'"
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-network6-subnet-del:
-
-network6-subnet-del reference
-=============================
-
-``network6-subnet-del`` - removes a subnet that is part of an existing shared
-network and demotes it to a plain, stand-alone subnet.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
-
-Description and examples: see :ref:`command-network4-subnet-del`
-
-Command syntax:
-
-::
-
-   {
-       "command": "network4-subnet-del",
-       "arguments": {
-           "name": "floor13",
-           "id": 5
-       }
-    }
-
-The ``network6-subnet-del`` command uses exactly the same syntax as
-``network4-subnet-del`` for both the command and the response.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "IPv4 subnet 10.0.0.0/8 (id 5) is now removed from shared network 'floor13'"
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-remote-global-parameter4-del:
-
-remote-global-parameter4-del reference
-======================================
-
-``remote-global-parameter4-del`` - deletes 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.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-global-parameter4-del`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-global-parameter4-del",
-       "arguments": {
-           "parameters": [ <parameter name> ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command carries the list including exactly one name of the
-parameter to be deleted.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "DHCPv4 global parameter(s) deleted.",
-       "arguments": {
-           "count": 1
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-remote-global-parameter4-get:
-
-remote-global-parameter4-get reference
-======================================
-
-``remote-global-parameter4-get`` - fetches the
-selected global parameter for the server from the specified database.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-global-parameter4-get`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-global-parameter4-get"
-       "arguments": {
-           "parameters": [ <parameter name> ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command carries a list including exactly one name of the parameter
-to be fetched.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "DHCPv4 global parameter found.",
-       "arguments": {
-           "parameters": {
-               <parameter name>: <parameter value>,
-               "metadata": {
-                   "server-tag": <server tag>
-               }
-           },
-           "count": 1
-       }
-   }
-
-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 provides database-specific information
-associated with the returned object.
-
-.. _reference-remote-global-parameter4-get-all:
-
-remote-global-parameter4-get-all reference
-==========================================
-
-``remote-global-parameter4-get-all`` - fetches all
-global parameters for the server from the specified database.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-global-parameter4-get-all`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-global-parameter4-get-all"
-       "arguments": {
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command contains no arguments besides the optional ``remote``.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "DHCPv4 global parameters found.",
-       "arguments": {
-           "parameters": [
-               {
-                   <first parameter name>: <first parameter value>,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               },
-               {
-                   <second parameter name>: <second parameter value>,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               }
-           ],
-           "count": 2
-       }
-   }
-
-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
-provides database-specific information associated with the returned
-objects.
-
-.. _reference-remote-global-parameter4-set:
-
-remote-global-parameter4-set reference
-======================================
-
-``remote-global-parameter4-set`` - creates or
-updates one or more global parameters in the configuration database.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-global-parameter4-set`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-global-parameter4-set"
-       "arguments": {
-           "parameters": {
-               <first parameter name>: <first parameter value>,
-               <second parameter name>: <second parameter value>
-           },
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-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
-``remote-global-parameter4-get-all`` command may be useful to verify the
-contents of the database after the update.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "DHCPv4 global parameter(s) successfully set."
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-remote-global-parameter6-del:
-
-remote-global-parameter6-del reference
-======================================
-
-``remote-global-parameter6-del`` - deletes 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.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-global-parameter4-del`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-global-parameter6-del",
-       "arguments": {
-           "parameters": [ <parameter name> ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command carries the list including exactly one name of the
-parameter to be deleted.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "DHCPv6 global parameter(s) deleted.",
-       "arguments": {
-           "count": 1
-       }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-remote-global-parameter6-get:
-
-remote-global-parameter6-get reference
-======================================
-
-``remote-global-parameter6-get`` - fetches the
-selected global parameter for the server from the specified database.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-global-parameter4-get`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-global-parameter6-get"
-       "arguments": {
-           "parameters": [ <parameter name> ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command carries a list including exactly one name of the parameter
-to be fetched.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "DHCPv6 global parameter found.",
-       "arguments": {
-           "parameters": {
-               <parameter name>: <parameter value>,
-               "metadata": {
-                   "server-tag": <server tag>
-               }
-           },
-           "count": 1
-       }
-   }
-
-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 provides database-specific information
-associated with the returned object.
-
-.. _reference-remote-global-parameter6-get-all:
-
-remote-global-parameter6-get-all reference
-==========================================
-
-``remote-global-parameter6-get-all`` - fetches all
-global parameters for the server from the specified database.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-global-parameter4-get-all`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-global-parameter6-get-all"
-       "arguments": {
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command contains no arguments besides the optional ``remote``.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "DHCPv6 global parameters found.",
-       "arguments": {
-           "parameters": [
-               {
-                   <first parameter name>: <first parameter value>,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               },
-               {
-                   <second parameter name>: <second parameter value>,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               }
-           ],
-           "count": 2
-       }
-   }
-
-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
-provides database-specific information associated with the returned
-objects.
-
-.. _reference-remote-global-parameter6-set:
-
-remote-global-parameter6-set reference
-======================================
-
-``remote-global-parameter6-set`` - creates or
-updates one or more global DHCP parameters in the configuration database.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-global-parameter4-set`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-global-parameter6-set"
-       "arguments": {
-           "parameters": {
-               <first parameter name>: <first parameter value>,
-               <second parameter name>: <second parameter value>
-           },
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-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
-``remote-global-parameter6-get-all`` command may be useful to verify the
-contents of the database after the update.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "DHCPv6 global parameter(s) successfully set."
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-remote-network4-del:
-
-remote-network4-del reference
-=============================
-
-``remote-network4-del`` - deletes an IPv4 shared
-network from the configuration database.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-network4-del`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-network4-del",
-       "arguments": {
-           "shared-networks": [
-               {
-                   "name": <shared network name>
-               }
-           ],
-           "subnets-action": "keep" | "delete",
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command includes a list with exactly one name of the shared network
-to be deleted. The ``subnets-action`` command denotes whether the subnets in
-this shared network should be deleted or not.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "1 IPv4 shared network(s) deleted.",
-       "arguments": {
-           "count": 1
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-remote-network4-get:
-
-remote-network4-get reference
-=============================
-
-``remote-network4-get`` - fetches the selected IPv4
-shared network for the server from the specified database.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-network4-get`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-network4-get"
-       "arguments": {
-           "shared-networks": [
-               {
-                   "name": <shared network name>
-               }
-           ],
-           "subnets-include": "full" | "no",
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command includes a list with exactly one name of the shared network
-to be returned. The ``subnets-include`` optional parameter
-specifies whether the subnets belonging to the shared network should
-also be returned.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "IPv4 shared network found.",
-       "arguments": {
-           "shared-networks": [
-               {
-                   "name": <shared network name>,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   },
-                   <the rest of the shared network information, potentially including subnets>
-               }
-           ],
-           "count": 1
-       }
-   }
-
-If the subnets are returned with the shared network they are carried in
-the ``subnet4`` list within the shared network definition. The metadata
-is included in the returned shared network definition and provides
-the database-specific information associated with the returned object.
-
-.. _reference-remote-network4-list:
-
-remote-network4-list reference
-==============================
-
-``remote-network4-list`` - fetches a list of all
-IPv4 shared networks from the configuration database.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-network4-list`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-network4-list"
-       "arguments": {
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command contains no arguments besides the optional ``remote``.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "2 IPv4 shared network(s) found.",
-       "arguments": {
-           "shared-networks": [
-               {
-                   "name": <first shared network name>,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               },
-               {
-                   "name": <second shared network name>,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               }
-           ],
-           "count": 2
-       }
-   }
-
-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
-``remote-network4-get`` to fetch the complete information about the selected
-shared networks.
-
-.. _reference-remote-network4-set:
-
-remote-network4-set reference
-=============================
-
-``remote-network4-set`` - creates or replaces an
-IPv4 shared network in the configuration database.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-network4-set`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-network4-set",
-       "arguments": {
-           "shared-networks": [
-               {
-                   <shared network specification excluding subnets list>
-               }
-           ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-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 the ``remote-subnet4-set`` command.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "IPv4 shared network successfully set."
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-remote-network6-del:
-
-remote-network6-del reference
-=============================
-
-``remote-network6-del`` - deletes an IPv6 shared
-network from the configuration database.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-network4-del`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-network6-del",
-       "arguments": {
-           "shared-networks": [
-               {
-                   "name": <shared network name>
-               }
-           ],
-           "subnets-action": "keep" | "delete",
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command includes a list with exactly one name of the shared network
-to be deleted. The ``subnets-action`` command denotes whether the subnets in
-this shared network should be deleted or not.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "1 IPv6 shared network(s) deleted.",
-       "arguments": {
-           "count": 1
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-remote-network6-get:
-
-remote-network6-get reference
-=============================
-
-``remote-network6-get`` - fetches the selected IPv6
-shared network for the server from the specified database.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-network4-get`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-network6-get"
-       "arguments": {
-           "shared-networks": [
-               {
-                   "name": <shared network name>
-               }
-           ],
-           "subnets-include": "full" | "no",
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command includes a list with exactly one name of the shared network
-to be returned. The ``subnets-include`` optional parameter
-specifies whether the subnets belonging to the shared network should
-also be returned.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "IPv6 shared network found.",
-       "arguments": {
-           "shared-networks": [
-               {
-                   "name": <shared network name>,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   },
-                   <the rest of the shared network information, potentially including subnets>
-               }
-           ],
-           "count": 1
-       }
-   }
-
-If the subnets are returned with the shared network, they are carried in
-the ``subnet6`` list within the shared network definition. The metadata
-is included in the returned shared network definition and provides
-the database-specific information associated with the returned object.
-
-.. _reference-remote-network6-list:
-
-remote-network6-list reference
-==============================
-
-``remote-network6-list`` - fetches a list of all
-IPv6 shared networks from the configuration database.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-network4-list`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-network6-list"
-       "arguments": {
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command contains no arguments besides the optional ``remote``.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "2 IPv6 shared network(s) found.",
-       "arguments": {
-           "shared-networks": [
-               {
-                   "name": <first shared network name>,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               },
-               {
-                   "name": <second shared network name>,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               }
-           ],
-           "count": 2
-       }
-   }
-
-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
-``remote-network6-get`` to fetch the complete information about the selected
-shared networks.
-
-.. _reference-remote-network6-set:
-
-remote-network6-set reference
-=============================
-
-``remote-network6-set`` - creates or replaces an
-IPv6 shared network in the configuration database.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-network4-set`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-network6-set",
-       "arguments": {
-           "shared-networks": [
-               {
-                   <shared network specification excluding subnets list>
-               }
-           ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-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 the ``remote-subnet6-set`` command.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "IPv6 shared network successfully set."
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-remote-option-def4-del:
-
-remote-option-def4-del reference
-================================
-
-``remote-option-def4-del`` - deletes a DHCPv4
-option definition from the configuration database.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-option-def4-del`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-option-def4-del",
-       "arguments": {
-           "option-defs": [ {
-               "code": <option code>,
-               "space": <option space
-           } ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command includes a list with exactly one option definition
-specification comprising an option name and code.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "1 DHCPv4 option definition(s) deleted.",
-       "arguments": {
-           "count": 1
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-remote-option-def4-get:
-
-remote-option-def4-get reference
-================================
-
-``remote-option-def4-get`` - fetches a DHCPv4
-option definition from the configuration database.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-option-def4-get`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-option-def4-get",
-       "arguments": {
-           "option-defs": [
-               {
-                   "code": <option code>,
-                   "space": <option space>
-               }
-           ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-The desired option definition is identified by the pair of option
-code/space values.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "DHCPv4 option definition found.",
-       "arguments": {
-           "option-defs": [
-               {
-                   <option definition>,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               }
-           ],
-           "count": 1
-       }
-   }
-
-The metadata is included and provides database-specific information
-associated with the returned object.
-
-.. _reference-remote-option-def4-get-all:
-
-remote-option-def4-get-all reference
-====================================
-
-``remote-option-def4-get-all`` - fetches all
-DHCPv4 option definitions from the configuration database.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-option-def4-get-all`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-option-def4-get-all"
-       "arguments": {
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command contains no arguments besides the optional ``remote``.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "2 DHCPv4 option definition(s) found.",
-       "arguments": {
-           "option-defs": [
-               {
-                   <first option definition>,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               },
-               {
-                   <second option definition>,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               }
-           ],
-           "count": 2
-       }
-   }
-
-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.
-
-.. _reference-remote-option-def4-set:
-
-remote-option-def4-set reference
-================================
-
-``remote-option-def4-set`` - creates or replaces a
-DHCPv4 option definition in the configuration database.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-option-def4-set`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-option-def4-set",
-       "arguments": {
-           "option-defs": [
-               {
-                   <option definition specification>
-               }
-           ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-The provided list must contain exactly one option definition
-specification.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "DHCPv4 option definition set."
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-remote-option-def6-del:
-
-remote-option-def6-del reference
-================================
-
-``remote-option-def6-del`` - deletes a DHCPv6
-option definition from the configuration database.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-option-def4-del`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-option-def6-del",
-       "arguments": {
-           "option-defs": [
-               {
-                   "code": <option code>,
-                   "space": <option space>
-               }
-           ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command includes a list with exactly one option definition
-specification comprising an option name and code.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "1 DHCPv6 option definition(s) deleted.",
-       "arguments": {
-           "count": 1
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-remote-option-def6-get:
-
-remote-option-def6-get reference
-================================
-
-``remote-option-def6-get`` - fetches a DHCPv6
-option definition from the configuration database.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-option-def4-get`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-option-def6-get",
-       "arguments": {
-           "option-defs": [
-               {
-                   "code": <option code>,
-                   "space": <option space>
-               }
-           ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-The desired option definition is identified by the pair of the option
-code/space values.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "DHCPv6 option definition found.",
-       "arguments": {
-           "option-defs": [
-               {
-                   <option definition>,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               }
-           ],
-           "count": 1
-       }
-   }
-
-The metadata is included and provides database-specific information
-associated with the returned object.
-
-.. _reference-remote-option-def6-get-all:
-
-remote-option-def6-get-all reference
-====================================
-
-``remote-option-def6-get-all`` - fetches all
-DHCPv6 option definitions from the configuration database.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-option-def4-get-all`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-option-def6-get-all"
-       "arguments": {
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command contains no arguments besides the optional ``remote``.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "2 DHCPv6 option definition(s) found.",
-       "arguments": {
-           "option-defs": [
-               {
-                   <first option definition>,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               },
-               {
-                   <second option definition>,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               }
-           ],
-           "count": 2
-       }
-   }
-
-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.
-
-.. _reference-remote-option-def6-set:
-
-remote-option-def6-set reference
-================================
-
-``remote-option-def6-set`` - creates or replaces a
-DHCPv6 option definition in the configuration database.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-option-def4-set`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-option-def6-set",
-       "arguments": {
-           "option-defs": [
-               {
-                   <option definition specification>
-               }
-           ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-The provided list must contain exactly one option definition
-specification.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "DHCPv6 option definition set."
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-remote-option4-global-del:
-
-remote-option4-global-del reference
-===================================
-
-``remote-option4-global-del`` - deletes a DHCPv4
-global option from the configuration database.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-option4-global-del`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-option4-global-del",
-       "arguments": {
-           "options": [
-               {
-                   "code": <option code>
-                   "space": <option space>
-               }
-           ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command includes a list with exactly one option specification
-comprising an option name and code.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "1 DHCPv4 option(s) deleted.",
-       "arguments": {
-           "count": 1
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-remote-option4-global-get:
-
-remote-option4-global-get reference
-===================================
-
-``remote-option4-global-get`` - fetches a global
-DHCPv4 option for the server from the specified database.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-option4-global-get`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-option4-global-get",
-       "arguments": {
-           "options": [
-               {
-                   "code": <option code>,
-                   "space": <option space>
-               }
-           ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-   }
-
-The option is identified by the pair of option code/space values.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "DHCPv4 option in found.",
-       "arguments": {
-           "options": [
-               {
-                   <option information>,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               }
-           ]
-       }
-   }
-
-The metadata is included and provides database-specific information
-associated with the returned object.
-
-.. _reference-remote-option4-global-get-all:
-
-remote-option4-global-get-all reference
-=======================================
-
-``remote-option4-global-get-all`` - fetches all
-DHCPv4 global options for the server from the configuration database.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-option4-global-get-all`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-option4-global-get-all",
-       "arguments": {
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command takes no arguments besides the optional ``remote`` map.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "2 DHCPv4 option(s) found.",
-       "arguments": {
-           "options": [
-               {
-                   <first option specification>,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               },
-               {
-                   <second option specification>,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               }
-           ],
-           "count": 2
-       }
-   }
-
-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.
-
-.. _reference-remote-option4-global-set:
-
-remote-option4-global-set reference
-===================================
-
-``remote-option4-global-set`` - creates or
-replaces a DHCPv4 global option in the configuration database.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-option4-global-set`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-option4-global-set",
-       "arguments": {
-           "options": [
-               {
-                   <global option specification>
-               }
-           ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-The provided list must contain exactly one option specification.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "DHCPv4 option set.",
-       "arguments": {
-           "options": [
-               {
-                   "code": <option code>,
-                   "space": <option space>
-               }
-           ]
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-remote-option6-global-del:
-
-remote-option6-global-del reference
-===================================
-
-``remote-option6-global-del`` - deletes a DHCPv6
-global option from the configuration database.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-option4-global-del`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-option6-global-del",
-       "arguments": {
-           "options": [
-               {
-                   "code": <option code>
-                   "space": <option space>
-               }
-           ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command includes a list with exactly one option specification
-comprising an option name and code.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "1 DHCPv6 option(s) deleted.",
-       "arguments": {
-           "count": 1
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-remote-option6-global-get:
-
-remote-option6-global-get reference
-===================================
-
-``remote-option6-global-get`` - deletes a DHCPv6
-global option from the configuration database.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-option4-global-get`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-option6-global-get",
-       "arguments": {
-           "options": [
-               {
-                   "code": <option code>,
-                   "space": <option space>
-               }
-           ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-   }
-
-The option is identified by the pair of option code/space values.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "DHCPv6 option found.",
-       "arguments": {
-           "options": [
-               {
-                   <option information>,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               }
-           ]
-       }
-   }
-
-The metadata is included and provides database-specific information
-associated with the returned object.
-
-.. _reference-remote-option6-global-get-all:
-
-remote-option6-global-get-all reference
-=======================================
-
-``remote-option6-global-get-all`` - fetches all
-DHCPv6 global options for the server from the configuration database.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-option4-global-get-all`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-option6-global-get-all",
-       "arguments": {
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command takes no arguments besides the optional ``remote`` map.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "2 DHCPv6 option(s) found.",
-       "arguments": {
-           "options": [
-               {
-                   <first option specification>,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               },
-               {
-                   <second option specification>,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               }
-           ],
-           "count": 2
-       }
-   }
-
-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.
-
-.. _reference-remote-option6-global-set:
-
-remote-option6-global-set reference
-===================================
-
-``remote-option6-global-set`` - creates or
-replaces a DHCPv6 global option in the configuration database.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-option4-global-set`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-option6-global-set",
-       "arguments": {
-           "options": [
-               {
-                   <global option specification>
-               }
-           ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-The provided list must contain exactly one option specification.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "DHCPv6 option set.",
-       "arguments": {
-           "options": [
-               {
-                   "code": <option code>,
-                   "space": <option space>
-               }
-           ]
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-remote-subnet4-del-by-id:
-
-remote-subnet4-del-by-id reference
-==================================
-
-``remote-subnet4-del-by-id`` - deletes an IPv4
-subnet by ID from the configuration database.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-subnet4-del-by-id`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-subnet4-del-by-id",
-       "arguments": {
-           "subnets": [
-               {
-                   "id": <subnet identifier>
-               }
-           ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command includes a list with exactly one ID of the subnet to be
-deleted.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "1 IPv4 subnet(s) deleted.",
-       "arguments": {
-           "count": 1
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-remote-subnet4-del-by-prefix:
-
-remote-subnet4-del-by-prefix reference
-======================================
-
-``remote-subnet4-del-by-prefix`` - deletes an
-IPv4 subnet by prefix from the configuration database.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-subnet4-del-by-prefix`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-subnet4-del-by-prefix",
-       "arguments": {
-           "subnets": [
-               {
-                   "subnet": <subnet prefix>
-               }
-           ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command includes a list with exactly one prefix of the subnet to be
-deleted.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "1 IPv4 subnet(s) deleted.",
-       "arguments": {
-           "count": 1
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-remote-subnet4-get-by-id:
-
-remote-subnet4-get-by-id reference
-==================================
-
-``remote-subnet4-get-by-id`` - fetches a selected
-IPv4 subnet by ID for the server from the configuration database.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-subnet4-get-by-id`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-subnet4-get-by-id"
-       "arguments": {
-           "subnets": [ {
-               "id": <subnet identifier>
-           } ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command includes a list with exactly one ID of the subnet to be
-returned.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "IPv4 subnet found.",
-       "arguments": {
-           "subnets": [ {
-               "id": <subnet identifier>
-               "subnet": <subnet prefix>,
-               "shared-network-name": <shared network name> | null,
-               "metadata": {
-                   "server-tag": <server tag>
-               },
-               <the rest of the subnet specification here>
-           } ],
-           "count": 1
-       }
-   }
-
-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 provides
-database-specific information associated with the returned object.
-
-.. _reference-remote-subnet4-get-by-prefix:
-
-remote-subnet4-get-by-prefix reference
-======================================
-
-``remote-subnet4-get-by-prefix`` - fetches a
-selected IPv4 subnet by prefix from the configuration database.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-subnet4-get-by-prefix`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-subnet4-get-by-prefix"
-       "arguments": {
-           "subnets": [ {
-               "subnet": <subnet prefix>
-           } ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command includes a list with exactly one prefix of the subnet to be
-returned.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "IPv4 subnet found.",
-       "arguments": {
-           "subnets": [
-               {
-                   "id": <subnet identifier>
-                   "subnet": <subnet prefix>,
-                   "shared-network-name": <shared network name> | null,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   },
-                   <the rest of the subnet specification here>
-               }
-           ],
-           "count": 1
-       }
-   }
-
-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 provides
-database-specific information associated with the returned object.
-
-.. _reference-remote-subnet4-list:
-
-remote-subnet4-list reference
-=============================
-
-``remote-subnet4-list`` - fetches a list of all
-IPv4 subnets from the configuration database.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-subnet4-list`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-subnet4-list"
-       "arguments": {
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command includes no arguments besides the optional ``remote`` map.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "2 IPv4 subnets found.",
-       "arguments": {
-           "subnets": [
-               {
-                   "id": <first subnet identifier>,
-                   "subnet": <first subnet prefix>,
-                   "shared-network-name": <shared network name> | null,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               },
-               {
-                   "id": <second subnet identifier>,
-                   "subnet": <second subnet prefix>,
-                   "shared-network-name": <shared network name> | null,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               }
-           ],
-           "count": 2
-       }
-   }
-
-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 network, the name is
-null. The metadata includes database-specific information associated
-with the subnets. The returned list does not contain full subnet
-definitions; use ``remote-subnet4-get`` to fetch the complete information
-about the selected subnets.
-
-.. _reference-remote-subnet4-set:
-
-remote-subnet4-set reference
-============================
-
-``remote-subnet4-set`` - creates or replaces an
-IPv4 subnet in the configuration database.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-subnet4-set`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-subnet4-set",
-       "arguments": {
-           "subnets": [
-               {
-                   "id": <subnet identifier>,
-                   "subnet": <subnet prefix>,
-                   "shared-network-name": <shared network name> | null,
-                   <the rest of the subnet specification here>
-               }
-           ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-The provided list must contain exactly one subnet specification. The
-``shared-network-name`` 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 ``null``
-value must be specified for the shared network name.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "IPv4 subnet successfully set.",
-       "arguments": {
-           "id": <subnet identifier>,
-           "subnet": <subnet prefix>
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-remote-subnet6-del-by-id:
-
-remote-subnet6-del-by-id reference
-==================================
-
-``remote-subnet6-del-by-id`` - deletes an IPv6
-subnet by ID from the configuration database.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-subnet4-del-by-id`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-subnet6-del-by-id",
-       "arguments": {
-           "subnets": [
-               {
-                   "id": <subnet identifier>
-               }
-           ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command includes a list with exactly one ID of the subnet to be
-deleted.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "1 IPv6 subnet(s) deleted.",
-       "arguments": {
-           "count": 1
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-remote-subnet6-del-by-prefix:
-
-remote-subnet6-del-by-prefix reference
-======================================
-
-``remote-subnet6-del-by-prefix`` - deletes an
-IPv6 subnet by prefix from the configuration database.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-subnet4-del-by-prefix`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-subnet6-del-by-prefix",
-       "arguments": {
-           "subnets": [
-               {
-                   "subnet": <subnet prefix>
-               }
-           ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command includes a list with exactly one prefix of the subnet to be
-deleted.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "1 IPv6 subnet(s) deleted.",
-       "arguments": {
-           "count": 1
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-remote-subnet6-get-by-id:
-
-remote-subnet6-get-by-id reference
-==================================
-
-``remote-subnet6-get-by-id`` - fetches a selected
-IPv6 subnet by ID for the server from the configuration database.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-subnet4-get-by-id`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-subnet6-get-by-id"
-       "arguments": {
-           "subnets": [
-               {
-                   "id": <subnet identifier>
-               }
-           ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command includes a list with exactly one ID of the subnet to be
-returned.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "IPv6 subnet found.",
-       "arguments": {
-           "subnets": [
-               {
-                   "id": <subnet identifier>
-                   "subnet": <subnet prefix>,
-                   "shared-network-name": <shared network name> | null,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   },
-                   <the rest of the subnet specification here>
-               }
-           ],
-           "count": 1
-       }
-   }
-
-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 provides
-database-specific information associated with the returned object.
-
-.. _reference-remote-subnet6-get-by-prefix:
-
-remote-subnet6-get-by-prefix reference
-======================================
-
-``remote-subnet6-get-by-prefix`` - fetches a
-selected IPv6 subnet by prefix from the configuration database.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-subnet4-get-by-prefix`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-subnet4-get-by-prefix"
-       "arguments": {
-           "subnets": [
-               {
-                   "subnet": <subnet prefix>
-               }
-           ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command includes a list with exactly one prefix of the subnet to be
-returned.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "IPv6 subnet found.",
-       "arguments": {
-           "subnets": [ {
-               "id": <subnet identifier>
-               "subnet": <subnet prefix>,
-               "shared-network-name": <shared network name> | null,
-               "metadata": {
-                   "server-tag": <server tag>
-               },
-               <the rest of the subnet specification here>
-           } ],
-           "count": 1
-       }
-   }
-
-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 provides
-database-specific information associated with the returned object.
-
-.. _reference-remote-subnet6-list:
-
-remote-subnet6-list reference
-=============================
-
-``remote-subnet6-list`` - fetches a list of all
-IPv6 subnets from the configuration database.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-subnet4-list`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-subnet6-list"
-       "arguments": {
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-This command includes no arguments besides the optional ``remote`` map.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "2 IPv6 subnets found.",
-       "arguments": {
-           "subnets": [
-               {
-                   "id": <first subnet identifier>,
-                   "subnet": <first subnet prefix>,
-                   "shared-network-name": <shared network name> | null,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               },
-               {
-                   "id": <second subnet identifier>,
-                   "subnet": <second subnet prefix>,
-                   "shared-network-name": <shared network name> | null,
-                   "metadata": {
-                       "server-tag": <server tag>
-                   }
-               }
-           ],
-           "count": 2
-       }
-   }
-
-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 network, the name is
-null. The metadata includes database-specific information associated
-with the subnets. The returned list does not contain full subnet
-definitions; use ``remote-subnet6-get`` to fetch the complete information
-about the selected subnets.
-
-.. _reference-remote-subnet6-set:
-
-remote-subnet6-set reference
-============================
-
-``remote-subnet6-set`` - creates or replaces an
-IPv4 subnet in the configuration database.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Configuration Backend Commands hooks library<commands-cb_cmds-lib>`)
-
-Description and examples: see :ref:`command-remote-subnet4-set`
-
-Command syntax:
-
-::
-
-   {
-       "command": "remote-subnet6-set",
-       "arguments": {
-           "subnets": [
-               {
-                   "id": <subnet identifier>,
-                   "subnet": <subnet prefix>,
-                   "shared-network-name": <shared network name> | null,
-                   <the rest of the subnet specification here>
-               }
-           ],
-           "remote": {
-               <specification of the database to connect to>
-           }
-       }
-   }
-
-The provided list must contain exactly one subnet specification. The
-``shared-network-name`` 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 ``null``
-value must be specified for the shared network name.
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "IPv6 subnet successfully set.",
-       "arguments": {
-           "id": <subnet identifier>,
-           "subnet": <subnet prefix>
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-reservation-add:
-
-reservation-add reference
-=========================
-
-``reservation-add`` - adds a new host reservation. The reservation may
-include an IPv4 address, IPv6 addresses, IPv6 prefixes, various
-identifiers, a class the client will be assigned to, DHCPv4 and DHCPv6
-options, and more.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.2.0 (:ref:`The Host Commands hooks library<commands-host_cmds-lib>`)
-
-Description and examples: see :ref:`command-reservation-add`
-
-Command syntax:
-
-::
-
-   {
-       "command": "reservation-add",
-       "arguments": {
-           "reservation": {
-               "boot-file-name": <string>,
-               "comment": <string>
-               "client-id": <string>,
-               "circuit-id": <string>,
-               "duid": <string>,
-               "flex-id": <string>,
-               "ip-address": <string (IPv4 address)>,
-               "ip-addresses": [ <comma-separated strings> ],
-               "hw-address": <string>,
-               "hostname": <string>,
-               "next-server": <string (IPv4 address)>,
-               "option-data-list": [ <comma-separated structures defining options> ],
-               "prefixes": [ <comma-separated IPv6 prefixes> ],
-               "reservation-client-classes": [ <comma-separated strings> ],
-               "server-hostname": <string>,
-               "subnet-id": <integer>,
-               "user-context": <any valid JSON>,
-           }
-       }
-   }
-
-Note that ip-address, client-id, next-server, server-hostname, and
-boot-file-name are IPv4-specific. duid, ip-addresses, and prefixes are
-IPv6-specific.
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-reservation-del:
-
-reservation-del reference
-=========================
-
-``reservation-del`` - deletes an existing host reservation.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.2.0 (:ref:`The Host Commands hooks library<commands-host_cmds-lib>`)
-
-Description and examples: see :ref:`command-reservation-del`
-
-Command syntax:
-
-::
-
-   {
-       "command": "reservation-del",
-       "arguments": {
-           "subnet-id": <integer>,
-           "ip-address": <string>,
-           "identifier-type": <one of "hw-address", "duid", "circuit-id", "client-id" and "flex-id">,
-           "identifier": <string>
-       }
-   }
-
-The host reservation can be identified by either the (subnet-id, ip-address)
-pair or a triplet of (subnet-id, identifier-type, identifier).
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-reservation-get:
-
-reservation-get reference
-=========================
-
-``reservation-get`` - attempts to retrieve an existing host reservation.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.2.0 (:ref:`The Host Commands hooks library<commands-host_cmds-lib>`)
-
-Description and examples: see :ref:`command-reservation-get`
-
-Command syntax:
-
-::
-
-   {
-       "command": "reservation-get",
-       "arguments": {
-           "subnet-id": <integer>,
-           "identifier-type": <string with one value out of: hw-address|duid|circuit-id|client-id|flex-id>,
-           "identifier": <string>;
-       }
-   }
-
-The host reservation can be identified by either a (subnet-id, ip-address)
-pair or a triplet of (subnet-id, identifier-type, identifier).
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>,
-       "arguments": {
-           "boot-file-name": <string>,
-           "comment": <string>
-           "client-id": <string>,
-           "circuit-id": <string>,
-           "duid": <string>,
-           "flex-id": <string>,
-           "ip-address": <string (IPv4 address)>,
-           "ip-addresses": [ <comma-separated strings> ],
-           "hw-address": <string>,
-           "hostname": <string>,
-           "next-server": <string (IPv4 address)>,
-           "option-data-list": [ <comma-separated structures defining options> ],
-           "prefixes": [ <comma-separated IPv6 prefixes> ],
-           "reservation-client-classes": [ <comma-separated strings> ],
-           "server-hostname": <string>,
-           "subnet-id": <integer>,
-           "user-context": <any valid JSON>,
-       }
-   }
-
-The arguments object appears only if a host is found. Many fields in the
-arguments object appear only if a specific field is set.
-
-.. _reference-reservation-get-all:
-
-reservation-get-all reference
-=============================
-
-``reservation-get-all`` - retrieves all host reservations for a specified
-subnet.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Host Commands hooks library<commands-host_cmds-lib>`)
-
-Description and examples: see :ref:`command-reservation-get-all`
-
-Command syntax:
-
-::
-
-   {
-       "command": "reservation-get-all",
-       "arguments": {
-           "subnet-id": <integer>
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The ``reservation-get-all`` command may result in very large responses.
-
-.. _reference-reservation-get-page:
-
-reservation-get-page reference
-==============================
-
-``reservation-get-page`` - retrieves host reservations for a specified
-subnet by page.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Host Commands hooks library<commands-host_cmds-lib>`)
-
-Description and examples: see :ref:`command-reservation-get-page`
-
-Command syntax:
-
-::
-
-   {
-       "command": "reservation-get-page",
-       "arguments": {
-           "subnet-id": <integer>,
-           "limit": <integer>,
-           "source-index": <integer>,
-           "from": <integer>
-       }
-   }
-
-The "subnet-id" and the "limit" arguments are mandatory. The "limit"
-specifies the maximum number of host reservations to be returned, and
-the "source-index" and "from" arguments should be set to 0 when retrieving
-the first page of host reservations (if they are not specified, they will
-default to 0). To fetch subsequent pages of host reservations, the returned
-values of "source-index" and "from" must be copied from the previous response.
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-shutdown:
-
-shutdown reference
-==================
-
-``shutdown`` - instructs the server to initiate its
-shutdown procedure.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``, ``kea-dhcp-ddns``,
-``kea-ctrl-agent``
-
-Availability: 1.0.0 (built-in)
-
-Description and examples: see :ref:`command-shutdown`
-
-Command syntax:
-
-::
-
-   {
-       "command": "shutdown"
-   }
-
-The server will respond with a confirmation that the shutdown procedure
-has been initiated.
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-stat-lease4-get:
-
-stat-lease4-get reference
-=========================
-
-``stat-lease4-get`` - fetches lease
-statistics for a range of known IPv4 subnets.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.4.0 (:ref:`The Supplemental Statistics Commands hooks library<commands-stat_cmds-lib>`)
-
-Description and examples: see :ref:`command-stat-lease4-get`
-
-Command syntax:
-
-::
-
-   {
-     "command": "stat-lease4-get"
-   }
-
-Response syntax:
-
-::
-
-   {
-       "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"
-         }
-       }
-     }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-stat-lease6-get:
-
-stat-lease6-get reference
-=========================
-
-``stat-lease6-get`` - fetches lease
-statistics for a range of known IPv6 subnets.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.4.0 (:ref:`The Supplemental Statistics Commands hooks library<commands-stat_cmds-lib>`)
-
-Description and examples: see :ref:`command-stat-lease4-get`
-
-Command syntax:
-
-::
-
-   {
-     "command": "stat-lease6-get",
-     "arguments": {
-       "subnet-id" : 10
-     }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "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"
-         }
-       }
-     }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-statistic-get:
-
-statistic-get reference
-=======================
-
-``statistic-get`` - retrieves a single
-statistic. It takes a single string parameter, called "name", that specifies
-the statistic name.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.0.0 (built-in)
-
-Description and examples: see :ref:`command-statistic-get`
-
-Command syntax:
-
-::
-
-   {
-       "command": "statistic-get",
-       "arguments": {
-           "name": "pkt4-received"
-       }
-   }
-
-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.
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-statistic-get-all:
-
-statistic-get-all reference
-===========================
-
-``statistic-get-all`` - retrieves all statistics recorded.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.0.0 (built-in)
-
-Description and examples: see :ref:`command-statistic-get-all`
-
-Command syntax:
-
-::
-
-   {
-       "command": "statistic-get-all",
-       "arguments": { }
-   }
-
-The server will respond with details of all recorded statistics, with a
-result of 0 indicating that it iterated over all statistics (even
-when the total number of statistics is zero).
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-statistic-remove:
-
-statistic-remove reference
-==========================
-
-``statistic-remove`` - attempts to delete a
-single statistic. It takes a single string parameter, called "name", that
-specifies the statistic name.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.0.0 (built-in)
-
-Description and examples: see :ref:`command-statistic-remove`
-
-Command syntax:
-
-::
-
-   {
-       "command": "statistic-remove",
-       "arguments": {
-           "name": "pkt4-received"
-       }
-   }
-
-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. the requested statistic
-was not found), the server will return a status code of 1 (error) and
-the text field will contain the error description.
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-statistic-remove-all:
-
-statistic-remove-all reference
-==============================
-
-``statistic-remove-all`` - attempts to
-delete all statistics.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.0.0 (built-in)
-
-Description and examples: see :ref:`command-statistic-remove-all`
-
-Command syntax:
-
-::
-
-   {
-       "command": "statistic-remove-all",
-       "arguments": { }
-   }
-
-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.
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-statistic-reset:
-
-statistic-reset reference
-=========================
-
-``statistic-reset`` - 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.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.0.0 (built-in)
-
-Description and examples: see :ref:`command-statistic-reset`
-
-Command syntax:
-
-::
-
-   {
-       "command": "statistic-reset",
-       "arguments": {
-           "name": "pkt4-received"
-       }
-   }
-
-If the specific statistic is found and the 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. the requested statistic
-was not found), the server will return a status code of 1 (error) and
-the text field will contain the error description.
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-statistic-reset-all:
-
-statistic-reset-all reference
-=============================
-
-``statistic-reset-all`` - sets all
-statistics to their neutral values: 0 for integer, 0.0 for float,
-0h0m0s0us for time duration, and "" for string type.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``
-
-Availability: 1.0.0 (built-in)
-
-Description and examples: see :ref:`command-statistic-reset-all`
-
-Command syntax:
-
-::
-
-   {
-       "command": "statistic-reset-all",
-       "arguments": { }
-   }
-
-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.
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-subnet4-add:
-
-subnet4-add reference
-=====================
-
-``subnet4-add`` - creates and adds a new subnet to
-the existing server configuration.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
-
-Description and examples: see :ref:`command-subnet4-add`
-
-Command syntax:
-
-::
-
-   {
-       "command": "subnet4-add",
-       "arguments": {
-           "subnets": [ {
-               "id": 123,
-               "subnet": "10.20.30.0/24",
-               ...
-           } ]
-       }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "IPv4 subnet added",
-       "arguments": {
-           "subnets": [
-               {
-                   "id": 123,
-                   "subnet": "10.20.30.0/24"
-               }
-           ]
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-subnet4-del:
-
-subnet4-del reference
-=====================
-
-``subnet4-del`` - removes a subnet from the
-server's configuration. This command has no effect on other configured
-subnets, but administrators should exercise caution when
-using this command as removing a subnet may have unintended consequences.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
-
-Description and examples: see :ref:`command-subnet4-del`
-
-Command syntax:
-
-::
-
-   {
-       "command": "subnet4-del",
-       "arguments": {
-           "id": 123
-       }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "IPv4 subnet 192.0.2.0/24 (id 123) deleted",
-       "arguments": {
-           "subnets": [
-               {
-                   "id": 123,
-                   "subnet": "192.0.2.0/24"
-               }
-           ]
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-subnet4-get:
-
-subnet4-get reference
-=====================
-
-``subnet4-get`` - retrieves detailed information
-about the specified subnet. This command usually follows the
-``subnet4-list`` command, which is used to discover available subnets with their
-respective subnet identifiers and prefixes.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
-
-Description and examples: see :ref:`command-subnet4-get`
-
-Command syntax:
-
-::
-
-   {
-       "command": "subnet4-get",
-       "arguments": {
-           "id": 10
-       }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "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": [
-                       ....
-                   ]
-                   ...
-               }
-           ]
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-subnet4-list:
-
-subnet4-list reference
-======================
-
-``subnet4-list`` - lists all currently configured
-subnets. The subnets are returned in a brief form, i.e. a subnet
-identifier and subnet prefix are included for each subnet.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
-
-Description and examples: see :ref:`command-subnet4-list`
-
-Command syntax:
-
-::
-
-   {
-       "command": "subnet4-list"
-   }
-
-Response syntax:
-
-::
-
-   {
-       "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"
-           }
-       ]
-   }
-
-If no IPv4 subnets are found, an error code is returned along with the
-error description.
-
-.. _reference-subnet4-update:
-
-subnet4-update reference
-========================
-
-``subnet4-update`` - updates a subnet in the
-existing server configuration.
-
-Supported by: ``kea-dhcp4``
-
-Availability: 1.6.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
-
-Description and examples: see :ref:`command-subnet4-update`
-
-Command syntax:
-
-::
-
-   {
-       "command": "subnet4-update",
-       "arguments": {
-           "subnets": [ {
-               "id": 123,
-               "subnet": "10.20.30.0/24",
-               ...
-           } ]
-       }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "IPv4 subnet updated",
-       "arguments": {
-           "subnets": [
-               {
-                   "id": 123,
-                   "subnet": "10.20.30.0/24"
-               }
-           ]
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-subnet6-add:
-
-subnet6-add reference
-=====================
-
-``subnet6-add`` - creates and adds a new subnet to
-the existing server configuration. This operation has no impact on other
-subnets.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
-
-Description and examples: see :ref:`command-subnet6-add`
-
-Command syntax:
-
-::
-
-   {
-       "command": "subnet6-add",
-       "arguments": {
-           "subnet6": [ {
-               "id": 234,
-               "subnet": "2001:db8:1::/64",
-               ...
-           } ]
-       }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "IPv6 subnet added",
-       "arguments": {
-           "subnet6": [
-               {
-                   "id": 234,
-                   "subnet": "2001:db8:1::/64"
-               }
-           ]
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-subnet6-del:
-
-subnet6-del reference
-=====================
-
-``subnet6-del`` - removes a subnet from the
-server's configuration. This command has no effect on other configured
-subnets, but administrators should exercise caution when
-using this command as removing a subnet may have unintended consequences.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
-
-Description and examples: see :ref:`command-subnet6-del`
-
-Command syntax:
-
-::
-
-   {
-       "command": "subnet6-del",
-       "arguments": {
-           "id": 234
-       }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "IPv6 subnet 2001:db8:1::/64 (id 234) deleted",
-       "subnets": [
-           {
-               "id": 234,
-               "subnet": "2001:db8:1::/64"
-           }
-       ]
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-subnet6-get:
-
-subnet6-get reference
-=====================
-
-``subnet6-get`` - retrieves detailed information
-about the specified subnet. This command usually follows the
-``subnet6-list`` command, which is used to discover available subnets with their
-respective subnet identifiers and prefixes.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
-
-Description and examples: see :ref:`command-subnet6-get`
-
-Command syntax:
-
-::
-
-   {
-       "command": "subnet6-get",
-       "arguments": {
-           "id": 11
-       }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "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": [
-                       ...
-                   ]
-                   ....
-               }
-           ]
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-subnet6-list:
-
-subnet6-list reference
-======================
-
-``subnet6-list`` - lists all currently configured
-subnets. The subnets are returned in a brief form, i.e. a subnet
-identifier and subnet prefix are included for each subnet.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.3.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
-
-Description and examples: see :ref:`command-subnet6-list`
-
-Command syntax:
-
-::
-
-   {
-       "command": "subnet6-list"
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "2 IPv6 subnets found",
-       "arguments": {
-       "subnets": [
-           {
-               "id": 11,
-               "subnet": "2001:db8:1::/64"
-           },
-           {
-               "id": 233,
-               "subnet": "3000::/16"
-           }
-       ]
-   }
-
-If no IPv6 subnets are found, an error code is returned along with the
-error description.
-
-.. _reference-subnet6-update:
-
-subnet6-update reference
-========================
-
-``subnet6-update`` - updates a subnet in the
-existing server configuration. This operation has no impact on other
-subnets.
-
-Supported by: ``kea-dhcp6``
-
-Availability: 1.6.0 (:ref:`The Subnet Commands hooks library<commands-subnet_cmds-lib>`)
-
-Description and examples: see :ref:`command-subnet6-update`
-
-Command syntax:
-
-::
-
-   {
-       "command": "subnet6-update",
-       "arguments": {
-           "subnet6": [ {
-               "id": 234,
-               "subnet": "2001:db8:1::/64",
-               ...
-           } ]
-       }
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": 0,
-       "text": "IPv6 subnet updated",
-       "arguments": {
-           "subnet6": [
-               {
-                   "id": 234,
-                   "subnet": "2001:db8:1::/64"
-               }
-           ]
-       }
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
-
-.. _reference-version-get:
-
-version-get reference
-=====================
-
-``version-get`` - returns extended information
-about the Kea version in operation. The returned string is the same as if Kea were
-run with the -V command-line option.
-
-Supported by: ``kea-dhcp4``, ``kea-dhcp6``, ``kea-dhcp-ddns``,
-``kea-ctrl-agent``
-
-Availability: 1.2.0 (built-in)
-
-Description and examples: see :ref:`command-version-get`
-
-Command syntax:
-
-::
-
-   {
-       "command": "version-get"
-   }
-
-Response syntax:
-
-::
-
-   {
-       "result": <integer>,
-       "text": <string>
-   }
-
-The result is an integer representation of the status. Currently supported
-statuses are:
-
--  0 - success
-
--  1 - error
-
--  2 - unsupported
-
--  3 - empty (command was completed successfully, but no data were
-   affected or returned)
diff --git a/doc/guide/logging.rst b/doc/guide/logging.rst
deleted file mode 100644 (file)
index 8f5a2b6..0000000
+++ /dev/null
@@ -1,717 +0,0 @@
-.. _logging:
-
-*******
-Logging
-*******
-
-Logging Configuration
-=====================
-
-During its operation Kea may produce many messages. They differ in
-severity (some are more important than others) and source (different
-components, like hooks, produce different messages). It is useful to
-understand which log messages are critical and which are not, and to
-configure logging appropriately. For example, debug-level messages
-can be safely ignored in a typical deployment. They are, however, very
-useful when debugging a problem.
-
-The logging system in Kea is configured through the loggers entry in the
-server section of your configuration file. In previous Kea releases this
-entry was in an independent Logging section; this is still supported for
-backward compatibility.
-
-Loggers
--------
-
-Within Kea, a message is logged through an entity called a "logger."
-Different components log messages through different loggers, and each
-logger can be configured independently of the others. Some components,
-in particular the DHCP server processes, may use multiple loggers to log
-messages pertaining to different logical functions of the component. For
-example, the DHCPv4 server uses one logger for messages about packet
-reception and transmission, another logger for messages related to lease
-allocation, and so on. Some of the libraries used by the Kea server,
-such as libdhcpsrv, use their own loggers.
-
-Users implementing hooks libraries (code attached to the server at
-runtime) are responsible for creating the loggers used by those
-libraries. Such loggers should have unique names, different from the
-logger names used by Kea. In this way the messages produced by the hooks
-library can be distinguished from messages issued by the core Kea code.
-Unique names also allow the loggers to be configured independently of
-loggers used by Kea. Whenever it makes sense, a hooks library can use
-multiple loggers to log messages pertaining to different logical parts
-of the library.
-
-In the server section of a configuration file the
-configuration for zero or more loggers (including loggers used by the
-proprietary hooks libraries) can be specified. If there are no loggers specified, the
-code will use default values; these cause Kea to log messages of INFO
-severity or greater to standard output. There is a small time window
-after Kea has been started but before it has read its configuration;
-logging in this short period can be controlled using environment
-variables. For details, see :ref:`logging-during-startup`.
-
-The three main elements of a logger configuration are: ``name`` (the
-component that is generating the messages), ``severity`` (what to log),
-and ``output_commands`` (where to log). There is also a ``debuglevel``
-element, which is only relevant if debug-level logging has been
-selected.
-
-The name (string) Logger
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-Each logger in the system has a name: that of the component binary file
-using it to log messages. For instance, to configure logging
-for the DHCPv4 server, add an entry for a logger named “kea-dhcp4”.
-This configuration will then be used by the loggers in the DHCPv4
-server and all the libraries used by it, unless a library defines its
-own logger and there is a specific logger configuration that applies to
-that logger.
-
-When tracking down an issue with the server's operation, use of DEBUG
-logging is required to obtain the verbose output needed for problem
-diagnosis. However, the high verbosity is likely to overwhelm the
-logging system in cases where the server is processing high-volume
-traffic. To mitigate this problem, Kea can use multiple loggers, for
-different functional parts of the server, that can each be configured
-independently. If the user is reasonably confident that a problem
-originates in a specific function of the server, or that the problem is
-related to a specific type of operation, they may enable high verbosity
-only for the relevant logger, thereby limiting the debug messages to the
-required minimum.
-
-The loggers are associated with a particular library or binary of Kea.
-However, each library or binary may (and usually does) include multiple
-loggers. For example, the DHCPv4 server binary contains separate loggers
-for packet parsing, dropped packets, callouts, etc.
-
-The loggers form a hierarchy. For each program in Kea, there is a "root"
-logger, named after the program (e.g. the root logger for kea-dhcp, the
-DHCPv4 server) is named kea-dhcp4. All other loggers are children of
-this logger and are named accordingly, e.g. the allocation engine in the
-DHCPv4 server logs messages using a logger called
-kea-dhcp4.alloc-engine.
-
-This relationship is important, as each child logger derives its default
-configuration from its parent root logger. In the typical case, the root
-logger configuration is the only logging configuration specified in the
-configuration file and so applies to all loggers. If an entry is made
-for a given logger, any attributes specified override those of the root
-logger, whereas any not specified are inherited from it.
-
-To illustrate this, suppose we are using the DHCPv4 server with the
-root logger “kea-dhcp4” logging at the INFO level. In order to enable
-DEBUG verbosity for DHCPv4 packet drops, we must create a configuration
-entry for the logger called “kea-dhcp4.bad-packets” and specify severity
-DEBUG for this logger. All other configuration parameters may be omitted
-for this logger if the logger should use the default values specified in
-the root logger's configuration.
-
-If there are multiple logger specifications in the configuration that
-might match a particular logger, the specification with the more
-specific logger name takes precedence. For example, if there are entries
-for both “kea-dhcp4” and “kea-dhcp4.dhcpsrv”, the main DHCPv4 server
-program — and all libraries it uses other than the dhcpsrv library
-(libdhcpsrv) — will log messages according to the configuration in the
-first entry (“kea-dhcp4”). Messages generated by the dhcpsrv library
-will be logged according to the configuration set by the second entry.
-
-Currently defined loggers are defined in the following table. The
-"Software Package" column of this table specifies whether the particular
-loggers belong to the core Kea code (open source Kea binaries and
-libraries), or hooks libraries (open source or premium).
-
-.. table:: List of Loggers Supported by Kea Servers and Hooks Libraries Shipped With Kea and Premium Packages
-
-   +----------------------------------+------------------------+--------------------------------+
-   | Logger Name                      | Software Package       | Description                    |
-   +==================================+========================+================================+
-   | ``kea-ctrl-agent``               | core                   | The root logger for            |
-   |                                  |                        | the Control Agent              |
-   |                                  |                        | exposing the RESTful           |
-   |                                  |                        | control API. All               |
-   |                                  |                        | components used by             |
-   |                                  |                        | the Control Agent              |
-   |                                  |                        | inherit the settings           |
-   |                                  |                        | from this logger.              |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-ctrl-agent.http``          | core                   | A logger which                 |
-   |                                  |                        | outputs log messages           |
-   |                                  |                        | related to receiving,          |
-   |                                  |                        | parsing, and sending           |
-   |                                  |                        | HTTP messages.                 |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4``                    | core                   | The root logger for            |
-   |                                  |                        | the DHCPv4 server.             |
-   |                                  |                        | All components used            |
-   |                                  |                        | by the DHCPv4 server           |
-   |                                  |                        | inherit the settings           |
-   |                                  |                        | from this logger.              |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp6``                    | core                   | The root logger for            |
-   |                                  |                        | the DHCPv6 server.             |
-   |                                  |                        | All components used            |
-   |                                  |                        | by the DHCPv6 server           |
-   |                                  |                        | inherit the settings           |
-   |                                  |                        | from this logger.              |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.alloc-engine``,      | core                   | Used by the lease              |
-   | ``kea-dhcp6.alloc-engine``       |                        | allocation engine,             |
-   |                                  |                        | which is responsible           |
-   |                                  |                        | for managing leases            |
-   |                                  |                        | in the lease                   |
-   |                                  |                        | database, i.e.                 |
-   |                                  |                        | creating, modifying,           |
-   |                                  |                        | and removing DHCP              |
-   |                                  |                        | leases as a result of          |
-   |                                  |                        | processing messages            |
-   |                                  |                        | from clients.                  |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.bad-packets``,       | core                   | Used by the DHCP               |
-   | ``kea-dhcp6.bad-packets``        |                        | servers for logging            |
-   |                                  |                        | inbound client                 |
-   |                                  |                        | packets that were              |
-   |                                  |                        | dropped or to which            |
-   |                                  |                        | the server responded           |
-   |                                  |                        | with a DHCPNAK. It             |
-   |                                  |                        | allows administrators          |
-   |                                  |                        | to configure a                 |
-   |                                  |                        | separate log output            |
-   |                                  |                        | that contains only             |
-   |                                  |                        | packet drop and                |
-   |                                  |                        | reject entries.                |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.callouts``,          | core                   | Used to log messages           |
-   | ``kea-dhcp6.callouts``           |                        | pertaining to the              |
-   |                                  |                        | callouts registration          |
-   |                                  |                        | and execution for the          |
-   |                                  |                        | particular hook                |
-   |                                  |                        | point.                         |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.commands``,          | core                   | Used to log messages           |
-   | ``kea-dhcp6.commands``           |                        | relating to the                |
-   |                                  |                        | handling of commands           |
-   |                                  |                        | received by the DHCP           |
-   |                                  |                        | server over the                |
-   |                                  |                        | command channel.               |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.database``,          | core                   | Used to log messages           |
-   | ``kea-dhcp6.database``           |                        | relating to general            |
-   |                                  |                        | operations on the              |
-   |                                  |                        | relational databases           |
-   |                                  |                        | and Cassandra.                 |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.ddns``,              | core                   | Used by the DHCP               |
-   | ``kea-dhcp6.ddns``               |                        | server to log                  |
-   |                                  |                        | messages related to            |
-   |                                  |                        | Client FQDN and                |
-   |                                  |                        | Hostname option                |
-   |                                  |                        | processing. It also            |
-   |                                  |                        | includes log messages          |
-   |                                  |                        | related to the                 |
-   |                                  |                        | relevant DNS updates.          |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.dhcp4``              | core                   | Used by the DHCPv4             |
-   |                                  |                        | server daemon to log           |
-   |                                  |                        | basic operations.              |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.dhcpsrv``,           | core                   | The base loggers for           |
-   | ``kea-dhcp6.dhcpsrv``            |                        | the libkea-dhcpsrv             |
-   |                                  |                        | library.                       |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.eval``,              | core                   | Used to log messages           |
-   | ``kea-dhcp6.eval``               |                        | relating to the                |
-   |                                  |                        | client classification          |
-   |                                  |                        | expression evaluation          |
-   |                                  |                        | code.                          |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.host-cache-hooks``,  | libdhcp_host_cache     | This logger is used            |
-   | ``kea-dhcp6.host-cache-hooks``   | premium hook library   | to log messages                |
-   |                                  |                        | related to the                 |
-   |                                  |                        | operation of the Host          |
-   |                                  |                        | Cache hooks library.           |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.flex-id-hooks``,     | libdhcp_flex_id        | This logger is used            |
-   | ``kea-dhcp6.flex-id-hooks``      | premium hook library   | to log messages                |
-   |                                  |                        | related to the                 |
-   |                                  |                        | operation of the               |
-   |                                  |                        | Flexible Identifiers           |
-   |                                  |                        | hooks library.                 |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.ha-hooks``,          | libdhcp_ha hook        | This logger is used            |
-   | ``kea-dhcp6.ha-hooks``           | library                | to log messages                |
-   |                                  |                        | related to the                 |
-   |                                  |                        | operation of the High          |
-   |                                  |                        | Availability hooks             |
-   |                                  |                        | library.                       |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.hooks``,             | core                   | Used to log messages           |
-   | ``kea-dhcp6.hooks``              |                        | related to the                 |
-   |                                  |                        | management of hooks            |
-   |                                  |                        | libraries, e.g.                |
-   |                                  |                        | registration and               |
-   |                                  |                        | deregistration of the          |
-   |                                  |                        | libraries, and to the          |
-   |                                  |                        | initialization of the          |
-   |                                  |                        | callouts execution             |
-   |                                  |                        | for various hook               |
-   |                                  |                        | points within the              |
-   |                                  |                        | DHCP server.                   |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.host-cmds-hooks``,   | libdhcp_host_cmds      | This logger is used            |
-   | ``kea-dhcp6.host-cmds-hooks``    | premium hook library   | to log messages                |
-   |                                  |                        | related to the                 |
-   |                                  |                        | operation of the Host          |
-   |                                  |                        | Commands hooks                 |
-   |                                  |                        | library. In general,           |
-   |                                  |                        | these will pertain to          |
-   |                                  |                        | the loading and                |
-   |                                  |                        | unloading of the               |
-   |                                  |                        | library and the                |
-   |                                  |                        | execution of commands          |
-   |                                  |                        | by the library.                |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.hosts``,             | core                   | Used within the                |
-   | ``kea-dhcp6.hosts``              |                        | libdhcpsrv, it logs            |
-   |                                  |                        | messages related to            |
-   |                                  |                        | the management of              |
-   |                                  |                        | DHCP host                      |
-   |                                  |                        | reservations, i.e.             |
-   |                                  |                        | retrieving                     |
-   |                                  |                        | reservations and               |
-   |                                  |                        | adding new                     |
-   |                                  |                        | reservations.                  |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.lease-cmds-hooks``,  | libdhcp_lease_cmds     | This logger is used            |
-   | ``kea-dhcp6.lease-cmds-hooks``   | hook library           | to log messages                |
-   |                                  |                        | related to the                 |
-   |                                  |                        | operation of the               |
-   |                                  |                        | Lease Commands hooks           |
-   |                                  |                        | library. In general,           |
-   |                                  |                        | these will pertain to          |
-   |                                  |                        | the loading and                |
-   |                                  |                        | unloading of the               |
-   |                                  |                        | library and the                |
-   |                                  |                        | execution of commands          |
-   |                                  |                        | by the library.                |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.leases``,            | core                   | Used by the DHCP               |
-   | ``kea-dhcp6.leases``             |                        | server to log                  |
-   |                                  |                        | messages related to            |
-   |                                  |                        | lease allocation. The          |
-   |                                  |                        | messages include               |
-   |                                  |                        | detailed information           |
-   |                                  |                        | about the allocated            |
-   |                                  |                        | or offered leases,             |
-   |                                  |                        | errors during the              |
-   |                                  |                        | lease allocation,              |
-   |                                  |                        | etc.                           |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.legal-log-hooks``,   | libdhcp_legal_log      | This logger is used            |
-   | ``kea-dhcp6.legal-log-hooks``    | premium hook library   | to log messages                |
-   |                                  |                        | related to the                 |
-   |                                  |                        | operation of the               |
-   |                                  |                        | Forensic Logging               |
-   |                                  |                        | hooks library.                 |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.options``,           | core                   | Used by the DHCP               |
-   | ``kea-dhcp4.options``            |                        | server to log                  |
-   |                                  |                        | messages related to            |
-   |                                  |                        | the processing of              |
-   |                                  |                        | options in the DHCP            |
-   |                                  |                        | messages, i.e.                 |
-   |                                  |                        | parsing options,               |
-   |                                  |                        | encoding options into          |
-   |                                  |                        | on-wire format, and            |
-   |                                  |                        | packet classification          |
-   |                                  |                        | using options                  |
-   |                                  |                        | contained in the               |
-   |                                  |                        | received packets.              |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.packets``,           | core                   | This logger is mostly          |
-   | ``kea-dhcp6.packets``            |                        | used to log messages           |
-   |                                  |                        | related to                     |
-   |                                  |                        | transmission of the            |
-   |                                  |                        | DHCP packets, i.e.             |
-   |                                  |                        | packet reception and           |
-   |                                  |                        | the sending of a               |
-   |                                  |                        | response. Such                 |
-   |                                  |                        | messages include               |
-   |                                  |                        | information about the          |
-   |                                  |                        | source and                     |
-   |                                  |                        | destination IP                 |
-   |                                  |                        | addresses and                  |
-   |                                  |                        | interfaces used to             |
-   |                                  |                        | transmit packets. The          |
-   |                                  |                        | logger is also used            |
-   |                                  |                        | to log messages                |
-   |                                  |                        | related to subnet              |
-   |                                  |                        | selection, as this             |
-   |                                  |                        | selection is usually           |
-   |                                  |                        | based on the IP                |
-   |                                  |                        | addresses, relay               |
-   |                                  |                        | addresses, and/or              |
-   |                                  |                        | interface names,               |
-   |                                  |                        | which can be                   |
-   |                                  |                        | retrieved from the             |
-   |                                  |                        | received packet even           |
-   |                                  |                        | before the DHCP                |
-   |                                  |                        | message carried in             |
-   |                                  |                        | the packet is parsed.          |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.radius-hooks``,      | libdhcp_radius         | This logger is used            |
-   | ``kea-dhcp6.radius-hooks``       | premium hook library   | to log messages                |
-   |                                  |                        | related to the                 |
-   |                                  |                        | operation of the               |
-   |                                  |                        | RADIUS hooks library.          |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.stat-cmds-hooks``,   | libdhcp_stat_cmds      | This logger is used            |
-   | ``kea-dhcp6.stat-cmds-hooks``    | hook library           | to log messages                |
-   |                                  |                        | related to the                 |
-   |                                  |                        | operation of the               |
-   |                                  |                        | Statistics Commands            |
-   |                                  |                        | hooks library. In              |
-   |                                  |                        | general, these will            |
-   |                                  |                        | pertain to loading             |
-   |                                  |                        | and unloading the              |
-   |                                  |                        | library and the                |
-   |                                  |                        | execution of commands          |
-   |                                  |                        | by the library.                |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.subnet-cmds-hooks``, | libdhcp_subnet_cmds    | This logger is used            |
-   | ``kea-dhcp6.subnet-cmds-hooks``  | hook library           | to log messages                |
-   |                                  |                        | related to the                 |
-   |                                  |                        | operation of the               |
-   |                                  |                        | Subnet Commands hooks          |
-   |                                  |                        | library. In general,           |
-   |                                  |                        | these will pertain to          |
-   |                                  |                        | loading and unloading          |
-   |                                  |                        | the library and the            |
-   |                                  |                        | execution of commands          |
-   |                                  |                        | by the library.                |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp4.mysql-cb-hooks``,    | libdhcp_mysql_cb_hooks | This logger is used            |
-   | ``kea-dhcp6.mysql-cb-hooks``     | hook library           | to log messages                |
-   |                                  |                        | related to the                 |
-   |                                  |                        | operation of the               |
-   |                                  |                        | MySQL Configuration            |
-   |                                  |                        | Backend hooks                  |
-   |                                  |                        | library.                       |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp-ddns``                | core                   | The root logger for            |
-   |                                  |                        | the kea-dhcp-ddns              |
-   |                                  |                        | daemon. All                    |
-   |                                  |                        | components used by             |
-   |                                  |                        | this daemon inherit            |
-   |                                  |                        | the settings from              |
-   |                                  |                        | this logger unless             |
-   |                                  |                        | there are                      |
-   |                                  |                        | configurations for             |
-   |                                  |                        | more specialized               |
-   |                                  |                        | loggers.                       |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp-ddns.dctl``           | core                   | The logger used by             |
-   |                                  |                        | the kea-dhcp-ddns              |
-   |                                  |                        | daemon for logging             |
-   |                                  |                        | basic information              |
-   |                                  |                        | about the process,             |
-   |                                  |                        | received signals, and          |
-   |                                  |                        | triggered                      |
-   |                                  |                        | reconfigurations.              |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp-ddns.dhcpddns``       | core                   | The logger used by             |
-   |                                  |                        | the kea-dhcp-ddns              |
-   |                                  |                        | daemon for logging             |
-   |                                  |                        | events related to              |
-   |                                  |                        | DDNS operations.               |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp-ddns.dhcp-to-d2``     | core                   | Used by the                    |
-   |                                  |                        | kea-dhcp-ddns daemon           |
-   |                                  |                        | for logging                    |
-   |                                  |                        | information about              |
-   |                                  |                        | events dealing with            |
-   |                                  |                        | receiving messages             |
-   |                                  |                        | from the DHCP servers          |
-   |                                  |                        | and adding them to             |
-   |                                  |                        | the queue for                  |
-   |                                  |                        | processing.                    |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-dhcp-ddns.d2-to-dns``      | core                   | Used by the                    |
-   |                                  |                        | kea-dhcp-ddns daemon           |
-   |                                  |                        | for logging                    |
-   |                                  |                        | information about              |
-   |                                  |                        | events dealing with            |
-   |                                  |                        | sending and receiving          |
-   |                                  |                        | messages to and from           |
-   |                                  |                        | the DNS servers.               |
-   +----------------------------------+------------------------+--------------------------------+
-   | ``kea-netconf``                  | core                   | The root logger for            |
-   |                                  |                        | the NETCONF agent.             |
-   |                                  |                        | All components used            |
-   |                                  |                        | by NETCONF inherit             |
-   |                                  |                        | the settings from              |
-   |                                  |                        | this logger if there           |
-   |                                  |                        | is no specialized              |
-   |                                  |                        | logger provided.               |
-   +----------------------------------+------------------------+--------------------------------+
-
-Note that user-defined hook libraries should not use any of the loggers
-mentioned above, but should instead define new loggers with names that
-correspond to the libraries using them. Suppose that a user created
-a library called “libdhcp-packet-capture” to dump packets received and
-transmitted by the server to a file. An appropriate name for the
-logger could be ``kea-dhcp4.packet-capture-hooks``. (Note that the hook
-library implementer only specifies the second part of this name, i.e.
-“packet-capture”. The first part is a root-logger name and is prepended
-by the Kea logging system.) It is also important to note that since this
-new logger is a child of a root logger, it inherits the configuration
-from the root logger, something that can be overridden by an entry in
-the configuration file.
-
-The easiest way to find a logger name is to configure all logging to go
-to a single destination and look there for specific logger names. See
-:ref:`logging-message-format` for details.
-
-The severity (string) Logger
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This specifies the category of messages logged. Each message is logged
-with an associated severity, which may be one of the following (in
-descending order of severity):
-
--  FATAL - associated with messages generated by a condition that is so
-   serious that the server cannot continue executing.
-
--  ERROR - associated with messages generated by an error condition. The
-   server will continue executing, but the results may not be as
-   expected.
-
--  WARN - indicates an out-of-the-ordinary condition. However, the
-   server will continue executing normally.
-
--  INFO - an informational message marking some event.
-
--  DEBUG - messages produced for debugging purposes.
-
-When the severity of a logger is set to one of these values, it will
-only log messages of that severity and above (e.g. setting the logging
-severity to INFO will log INFO, WARN, ERROR, and FATAL messages). The
-severity may also be set to NONE, in which case all messages from that
-logger are inhibited.
-
-.. note::
-
-   The ``keactrl`` tool, described in :ref:`keactrl`, can be configured
-   to start the servers in verbose mode. If this is the case, the
-   settings of the logging severity in the configuration file will have
-   no effect; the servers will use a logging severity of DEBUG
-   regardless of the logging settings specified in the configuration
-   file. To control severity via the configuration file,
-   please make sure that the ``kea_verbose`` value is set to "no" within
-   the ``keactrl`` configuration.
-
-The debuglevel (integer) Logger
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-When a logger's severity is set to DEBUG, this value specifies what
-level of debug messages should be printed. It ranges from 0 (least
-verbose) to 99 (most verbose). If severity for the logger is not DEBUG,
-this value is ignored.
-
-The output_options (list) Logger
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Each logger can have zero or more ``output_options``. These specify
-where log messages are sent and are explained in detail below.
-
-The output (string) Option
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This value determines the type of output. There are several special
-values allowed here: ``stdout`` (messages are printed on standard
-output), ``stderr`` (messages are printed on stderr), ``syslog``
-(messages are logged to syslog using the default name), ``syslog:name``
-(messages are logged to syslog using a specified name). Any other value is
-interpreted as a filename to which messages should be written.
-
-The flush (true of false) Option
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Flush buffers after each log message. Doing this will reduce performance
-but will ensure that if the program terminates abnormally, all messages
-up to the point of termination are output. The default is "true".
-
-The maxsize (integer) Option
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This option is only relevant when the destination is a file; this is the maximum size
-in bytes that a log file may reach. When the maximum size is reached,
-the file is renamed and a new file opened. For example, a ".1" is
-appended to the name; if a ".1" file exists, it is renamed ".2", etc.
-This is referred to as rotation.
-
-The default value is 10240000 (10MB). The smallest value that can be
-specified without disabling rotation is 204800. Any value less than
-this, including 0, disables rotation.
-
-.. note::
-
-   Due to a limitation of the underlying logging library (log4cplus),
-   rolling over the log files (from ".1" to ".2", etc) may show odd
-   results; there can be multiple small files at the timing of rollover.
-   This can happen when multiple processes try to roll over the
-   files simultaneously. Version 1.1.0 of log4cplus solved this problem,
-   so if this version or later of log4cplus is used to build Kea, the
-   issue should not occur. Even for older versions, it is normally
-   expected to happen rarely unless the log messages are produced very
-   frequently by multiple different processes.
-
-The maxver (integer) Option
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This option is only relevant when the destination is a file and rotation is enabled
-(i.e. maxsize is large enough). This is the maximum number of rotated
-versions that will be kept. Once that number of files has been reached,
-the oldest file, "log-name.maxver", will be discarded each time the log
-rotates. In other words, at most there will be the active log file plus
-maxver rotated files. The minimum and default value is 1.
-
-Example Logger Configurations
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-In this example we want to set the server logging to write to the
-console using standard output.
-
-::
-
-   "Server": {
-       "loggers": [
-           {
-               "name": "kea-dhcp4",
-               "output_options": [
-                   {
-                       "output": "stdout"
-                   }
-               ],
-               "severity": "WARN"
-           }
-       ]
-   }
-
-In this second example, we want to store debug log messages in a file
-that is at most 2MB and keep up to eight copies of old logfiles. Once the
-logfile grows to 2MB, it will be renamed and a new file will be created.
-
-::
-
-   "Server": {
-       "loggers": [
-           {
-               "name": "kea-dhcp6",
-               "output_options": [
-                   {
-                       "output": "/var/log/kea-debug.log",
-                       "maxver": 8,
-                       "maxsize": 204800,
-                       "flush": true
-                   }
-               ],
-               "severity": "DEBUG",
-               "debuglevel": 99
-           }
-      ]
-   }
-
-.. _logging-message-format:
-
-Logging Message Format
-----------------------
-
-Each message written to the configured logging destinations comprises a
-number of components that identify the origin of the message and, if the
-message indicates a problem, information about the problem that may be
-useful in fixing it.
-
-Consider the message below logged to a file:
-
-::
-
-   2014-04-11 12:58:01.005 INFO  [kea-dhcp4.dhcpsrv/27456]
-       DHCPSRV_MEMFILE_DB opening memory file lease database: type=memfile universe=4
-
-Note: the layout of messages written to the system logging file (syslog)
-may be slightly different. This message has been split across two lines
-here for display reasons; in the logging file, it will appear on one
-line.
-
-The log message comprises a number of components:
-
-2014-04-11 12:58:01.005
-   The date and time at which the message was generated.
-
-INFO
-   The severity of the message.
-
-[kea-dhcp4.dhcpsrv/27456]
-   The source of the message. This includes two elements: the Kea
-   process generating the message (in this case, ``kea-dhcp4``) and the
-   component within the program from which the message originated
-   (``dhcpsrv``, which is the name of the common library used by DHCP
-   server implementations). The number after the slash is a process ID
-   (PID).
-
-DHCPSRV_MEMFILE_DB
-   The message identification. Every message in Kea has a unique
-   identification, which can be used as an index to the `Kea Messages
-   Manual <https://jenkins.isc.org/job/Kea_doc/messages/kea-messages.html>`__,
-   where more information can be obtained.
-
-opening memory file lease database: type=memfile universe=4
-   A brief description. Within this text, information relating to the
-   condition that caused the message to be logged will be included. In
-   this example, the information is logged that the in-memory lease
-   database backend will be used to store DHCP leases.
-
-.. _logging-during-startup:
-
-Logging During Kea Startup
---------------------------
-
-The logging configuration is specified in the configuration file.
-However, when Kea starts, the configuration file is not read until partway into the
-initialization process. Prior to that, the logging settings are set to
-default values, although it is possible to modify some aspects of the
-settings by means of environment variables. Note that in the absence of
-any logging configuration in the configuration file, the settings of the
-(possibly modified) default configuration will persist while the program
-is running.
-
-The following environment variables can be used to control the behavior
-of logging during startup:
-
-KEA_LOCKFILE_DIR
-   Specifies a directory where the logging system should create its lock
-   file. If not specified, it is prefix/var/run/kea, where "prefix"
-   defaults to /usr/local. This variable must not end with a slash.
-   There is one special value: "none", which instructs Kea not to create
-   a lock file at all. This may cause issues if several processes log to
-   the same file.
-
-KEA_LOGGER_DESTINATION
-   Specifies logging output. There are several special values:
-
-   stdout
-      Log to standard output.
-
-   stderr
-      Log to standard error.
-
-   syslog[:fac]
-      Log via syslog. The optional fac (which is separated from the word
-      "syslog" by a colon) specifies the facility to be used for the log
-      messages. Unless specified, messages will be logged using the
-      facility "local0".
-
-   Any other value is treated as a name of the output file. If not
-   specified otherwise, Kea will log to standard output.
diff --git a/doc/guide/netconf.rst b/doc/guide/netconf.rst
deleted file mode 100644 (file)
index 972e2c8..0000000
+++ /dev/null
@@ -1,955 +0,0 @@
-.. _netconf:
-
-********************
-YANG/NETCONF Support
-********************
-
-.. _netconf-overview:
-
-Overview
-========
-
-Kea 1.5.0 introduced optional support for a YANG/NETCONF interface with
-the new ``kea-netconf`` NETCONF agent.
-
-This bare-bones documentation is a work in progress. Its current purpose
-is to let engineers joining the project or perhaps advanced early
-adopters to get up to speed quickly.
-
-.. _netconf-install:
-
-Installing NETCONF
-==================
-
-Note that to get its NETCONF capabilities, Kea uses Sysrepo, which has
-many dependencies. Unfortunately, some of them are not available as
-packages and need to be compiled manually.
-
-Please note that building libyang requires a minimum gcc version of at
-least 4.9, so on some environments - like CentOS 7.5 - the system
-compiler cannot be used.
-
-The following sections provide installation instructions for Ubuntu
-18.04 and CentOS 7.5. Due to a more modern compiler and many available
-packages, the installation procedure is much simpler on Ubuntu.
-
-.. _netconf-ubuntu-install:
-
-Installing NETCONF on Ubuntu 18.04
-----------------------------------
-
-For detailed installation instructions, see the `Ubuntu installation notes page <https://gitlab.isc.org/isc-projects/kea/wikis/docs/ubuntu-installation-notes>`__.
-
-.. _netconf-centos-install:
-
-Installing NETCONF on CentOS 7.5
---------------------------------
-
-For detailed installation instructions, see the `CentOS installation notes page <https://gitlab.isc.org/isc-projects/kea/wikis/docs/centos-installation-notes>`__.
-
-CentOS 7.5's gcc compiler (version 4.8.5) is very old. Some Sysrepo
-dependencies require at least version 4.9, which unfortunately means
-that a new compiler has to be installed. Also, many of the Sysrepo
-dependencies are not avalable in CentOS as packages, so for the time
-being they must be installed from sources.
-
-Quick Sysrepo Overview
-======================
-
-This section offers a rather brief overview of a subset of available
-functions in Sysrepo. For more complete information, see the `Sysrepo
-homepage <https://www.sysrepo.org>`__.
-
-In YANG, configurations and state data are described in the YANG syntax
-in module files named: ``"module-name"``\ ``[@"revision"]``.yang
-
-The revision part is optional and has YYYY-MM-DD format. An alternate
-XML syntax YIN is defined but less user-friendly. Top-level modules are
-named in Kea models (a short version of schema models).
-
-To list the currently installed YANG modules:
-
-.. code-block:: console
-
-     $ sysrepoctl -l
-
-After installation the result should be similar to this:
-
-::
-
-   Sysrepo schema directory: /home/thomson/devel/sysrepo-0.7.6/build/repository/yang/
-   Sysrepo data directory:   /home/thomson/devel/sysrepo-0.7.6/build/repository/data/
-   (Do not alter contents of these directories manually)
-
-   Module Name                | Revision   | Conformance | Data Owner          | Permissions | Submodules   | Enabled Features
-   ---------------------------------------------------------------------------------------------------------------------------
-   ietf-netconf-notifications | 2012-02-06 | Installed   | root:root           | 666         |              |
-   ietf-netconf               | 2011-06-01 | Imported    |                     |             |              |
-   ietf-netconf-acm           | 2012-02-22 | Imported    |                     |             |              |
-   nc-notifications           | 2008-07-14 | Installed   | root:root           | 666         |              |
-   notifications              | 2008-07-14 | Installed   | root:root           | 666         |              |
-   turing-machine             | 2013-12-27 | Installed   | root:root           | 666         |              |
-   iana-if-type               | 2014-05-08 | Installed   |                     |             |              |
-   ietf-interfaces            | 2014-05-08 | Installed   | root:root           | 666         |              |
-   ietf-ip                    | 2014-06-16 | Installed   |                     |             |              |
-
-There are two major modules that Kea is able to support:
-kea-dhcp4-server and kea-dhcp6-server. Note that while there is an
-active effort in the DHC working group at IETF to develop a DHCPv6 YANG
-model, a similar initiative in the past for DHCPv4 failed. Therefore,
-Kea uses its own dedicated models for DHCPv4 and DHCPv6 but partially
-supports the IETF model for DHCPv6. Those three models have extra
-modules as dependencies. The dependency modules are also provided in
-``src/share/yang/modules`` in sources and in ``share/kea/yang/modules``
-after installation.
-
-To install modules from sources, do the following:
-
-.. code-block:: console
-
-   $ cd src/share/yang/modules
-   $ sudo sysrepoctl -i -s /home/thomson/devel/sysrepo-0.7.6/build/repository/yang -s . -g ietf-dhcpv6-server*.yang
-   $ sudo sysrepoctl -i -s /home/thomson/devel/sysrepo-0.7.6/build/repository/yang -s . -g kea-dhcp4-server*.yang
-   $ sudo sysrepoctl -i -s /home/thomson/devel/sysrepo-0.7.6/build/repository/yang -s . -g kea-dhcp6-server*.yang
-   ...
-
-Note that the first -s parameter specifies the location of the YANG
-schema repository; it can be verified with sysrepoctl -l. This is a
-parameter that is configured during Sysrepo compilation and is detected
-by the Kea configuration under the SYSREPO_REPO name.
-
-The installation should look similar to the following:
-
-.. code-block:: console
-
-   $ sudo sysrepoctl -i -s /home/thomson/devel/sysrepo-0.7.6/build/repository/yang -s . -g ietf-dhcpv6-server*.yang
-   Installing a new module from file 'ietf-dhcpv6-server@2018-11-20.yang'...
-   Installing the YANG file to '/home/thomson/devel/sysrepo-0.7.6/build/repository/yang/ietf-dhcpv6-server@2018-07-14.yang'...
-   Resolving dependency: 'ietf-dhcpv6-server' imports 'ietf-dhcpv6-options'...
-   Installing the YANG file to '/home/thomson/devel/sysrepo-0.7.6/build/repository/yang/ietf-dhcpv6-options@2018-07-14.yang'...
-   Resolving dependency: 'ietf-dhcpv6-options' imports 'ietf-dhcpv6-types'...
-   Installing the YANG file to '/home/thomson/devel/sysrepo-0.7.6/build/repository/yang/ietf-dhcpv6-types@2018-07-14.yang'...
-   Resolving dependency: 'ietf-dhcpv6-server' imports 'ietf-dhcpv6-types'...
-   Installing the YANG file to '/home/thomson/devel/sysrepo-0.7.6/build/repository/yang/ietf-dhcpv6-types@2018-07-14.yang'...
-   Resolving dependency: 'ietf-dhcpv6-server' imports 'ietf-interfaces'...
-   Schema of the module ietf-interfaces is already installed, skipping...
-   Installing data files for module 'ietf-dhcpv6-server'...
-   Resolving dependency: 'ietf-dhcpv6-server' imports 'ietf-dhcpv6-options'...
-   Skipping installation of data files for module 'ietf-dhcpv6-options'...
-   Resolving dependency: 'ietf-dhcpv6-options' imports 'ietf-dhcpv6-types'...
-   Skipping installation of data files for module 'ietf-dhcpv6-types'...
-   Resolving dependency: 'ietf-dhcpv6-server' imports 'ietf-dhcpv6-types'...
-   Skipping installation of data files for module 'ietf-dhcpv6-types'...
-   Resolving dependency: 'ietf-dhcpv6-server' imports 'ietf-interfaces'...
-   Installing data files for module 'ietf-interfaces'...
-   Notifying sysrepo about the change...
-   Install operation completed successfully.
-
-It is possible to confirm whether the models are imported correctly by using
-sysrepoctl -l:
-
-.. code-block:: console
-
-   $ sysrepoctl -l
-   Sysrepo schema directory: /home/thomson/devel/sysrepo-0.7.6/build/repository/yang/
-   Sysrepo data directory:   /home/thomson/devel/sysrepo-0.7.6/build/repository/data/
-   (Do not alter contents of these directories manually)
-
-   Module Name                | Revision   | Conformance | Data Owner          | Permissions | Submodules   | Enabled Features
-   ---------------------------------------------------------------------------------------------------------------------------
-   ietf-netconf-notifications | 2012-02-06 | Installed   | root:root           | 666         |              |
-   ietf-netconf               | 2011-06-01 | Imported    |                     |             |              |
-   ietf-netconf-acm           | 2012-02-22 | Imported    |                     |             |              |
-   nc-notifications           | 2008-07-14 | Installed   | root:root           | 666         |              |
-   notifications              | 2008-07-14 | Installed   | root:root           | 666         |              |
-   turing-machine             | 2013-12-27 | Installed   | root:root           | 666         |              |
-   iana-if-type               | 2014-05-08 | Installed   |                     |             |              |
-   ietf-interfaces            | 2014-05-08 | Installed   | root:root           | 666         |              |
-   ietf-ip                    | 2014-06-16 | Installed   |                     |             |              |
-   kea-dhcp4-server           | 2018-11-20 | Installed   | root:root           | 666         |              |
-   kea-dhcp6-server           | 2018-11-20 | Installed   | root:root           | 666         |              |
-   ietf-dhcpv6-server         | 2018-09-04 | Installed   | root:root           | 666         |              |
-   ietf-dhcpv6-options        | 2018-09-04 | Imported    |                     |             |              |
-   ietf-dhcpv6-types          | 2018-01-30 | Imported    |                     |             |              |
-
-To install a new revision of a module it must first be uninstalled, e.g.
-by:
-
-.. code-block:: console
-
-   sudo sysrepoctl -u -m kea-dhcp4-server
-
-If the module is used (i.e. imported) by other modules, it can be
-uninstalled only after those modules have finished using it.
-Installation and uninstallation must be done in dependency order and
-reverse-dependency order accordingly.
-
-.. _netconf-models:
-
-Supported YANG Models
-=====================
-
-The only currently supported models are ``kea-dhcp4-server`` and
-``kea-dhcp6-server``. There is partial support for
-``ietf-dhcpv6-server``, but the primary focus of testing has been on Kea DHCP
-servers. Several other models (``kea-dhcp-ddns`` and ``kea-ctrl-agent``)
-are currently not supported.
-
-.. _using-netconf:
-
-Using the NETCONF Agent
-=======================
-
-The NETCONF agent follows this algorithm:
-
--  For each managed server, get the initial configuration from the
-   server through the control socket.
-
--  Open a connection with the Sysrepo environment and establish two
-   sessions with the startup and running datastores.
-
--  Check that used (not essential) and required (essential) modules are
-   installed in the Sysrepo repository at the right revision. If an
-   essential module - that is, a module where the configuration schema for a
-   managed server is defined - is not installed, raise a fatal error.
-
--  For each managed server, get the YANG configuration from the startup
-   datastore, translate it to JSON, and load it onto the server being
-   configured.
-
--  For each managed server, subscribe a module change callback using its
-   model name.
-
--  When a running configuration is changed, try to validate or load the
-   updated configuration via the callback to the managed server.
-
-.. _netconf-configuration:
-
-Configuration
-=============
-
-The behavior described in :ref:`using-netconf`
-is controlled by a few configuration flags, which can be set in the
-global scope or in a specific managed-server scope. In the second case,
-the value defined in the managed-server scope takes precedence. These
-flags are:
-
--  ``boot-update`` - controls the initial configuration phase; when
-   true (the default), the initial configuration retrieved from the
-   classic Kea server JSON configuration file is loaded first, and then
-   the startup YANG model is loaded. This setting lets administrators
-   define a control socket in the local JSON file and then download the
-   configuration from YANG. When set to false, this phase is skipped.
-
--  ``subscribe-changes`` - controls the module change
-   subscription; when true (the default), a module change callback is
-   subscribed, but when false the phase is skipped and running
-   configuration updates are disabled. When set to true, the running
-   datastore is used to subscribe for changes.
-
--  ``validate-changes`` - controls how Kea monitors changes in
-   the Sysrepo configuration. Sysrepo offers two stages where Kea can
-   interact: validation and application. At the validation (or
-   SR_EV_VERIFY event, in the Sysrepo naming convention) stage, Kea
-   retrieves the newly committed configuration and verifies it. If the
-   configuration is incorrect for any reason, the Kea servers reject it
-   and the error is propagated back to the Sysrepo, which then returns
-   an error. This step only takes place if validate-changes is set to
-   true. In the application (or SR_EV_APPLY event in the Sysrepo naming
-   convention) stage, the actual configuration is applied. At this stage
-   Kea can receive the configuration, but it is too late to signal back
-   any errors as the configuration has already been committed.
-
-The idea behind the initial configuration phase is to boot Kea servers
-with a minimal configuration which includes only a control socket,
-making them manageable. For instance, for the DHCPv4 server:
-
-::
-
-   {
-       "Dhcp4": {
-           "control-socket": {
-               "socket-type": "unix",
-               "socket-name": "/tmp/kea4-sock"
-           }
-       }
-   }
-
-Note the alternative to boot with full configurations does not allow
-easy tracking of changes or synchronization between the JSON and YANG
-configuration sources; therefore, that setup is not really compatible
-with the YANG/NETCONF configuration management paradigm, where
-everything should be performed in YANG.
-
-With module change subscriptions enabled, the kea-netconf daemon will
-monitor any configuration changes as they appear in the Sysrepo. Such
-changes can be done using the ``sysrepocfg`` tool or remotely using any
-NETCONF client. For details, please see the Sysrepo documentation or
-:ref:`operation-example`.
-Those tools can be used to modify YANG configurations in the running
-datastore. Note that committed configurations are only updated in the
-running datastore; to keep them between server reboots they must be
-copied to the startup datastore.
-
-When module changes are tracked (using ``subscribe-changes`` set to
-true) and the running configuration has changed (e.g. using
-``sysrepocfg`` or any NETCONF client), the callback validates the
-modified configuration (if ``validate-changes`` was not set to false)
-and runs a second time to apply the new configuration. If the validation
-fails, the callback is still called again but with an ABORT (vs. APPLY)
-event with rollback changes.
-
-The returned code of the callback on an APPLY event is ignored, as it is
-too late to refuse a bad configuration.
-
-There are four ways in which a modified YANG configuration could
-possibly be incorrect:
-
-1. It can be non-compliant with the schema, e.g. an unknown entry, missing a
-   mandatory entry, a value with a bad type, or not matching a constraint.
-
-2. It can fail to be translated from YANG to JSON, e.g. an invalid user
-   context.
-
-3. It can fail Kea server sanity checks, e.g. an out-of-subnet-pool range
-   or an unsupported database type.
-
-4. The syntax may be correct and pass server sanity checks but the
-   configuration fails to run, e.g. the configuration specifies database
-   credentials but the database refuses the connection.
-
-The first case is handled by Sysrepo. The second and third cases are
-handled by kea-netconf in the validation phase (if not disabled by
-setting ``validate-changes`` to true). The last case causes the
-application phase to fail without a sensible report to Sysrepo.
-
-The managed Kea servers or agents are described in the
-``managed-servers`` section. Each sub-section begins by the service
-name: ``dhcp4``, ``dhcp6``, ``d2`` (the DHCP-DDNS server does not
-support the control channel feature yet), and ``ca`` (the control
-agent).
-
-Each managed server entry contains optionally:
-
--  ``boot-update``, ``subscribe-changes``, and ``validate-changes`` -
-   control flags.
-
--  ``model`` - specifies the YANG model / module name. For each service,
-   the default is the corresponding Kea YANG model, e.g. for ``"dhcp4"``
-   it is ``"kea-dhcp4-server"``.
-
--  ``control-socket`` - specifies the control socket for managing the
-   service configuration.
-
-A control socket is specified by:
-
--  ``socket-type`` - the socket type is either ``stdout``, ``unix``, or ``http``.
-   ``stdout`` is the default;
-   it is not really a socket, but it allows ``kea-netconf`` to run in
-   debugging mode where everything is printed on stdout, and it can also be
-   used to redirect commands easily. ``unix`` is the standard direct
-   server control channel, which uses UNIX sockets, and ``http`` uses
-   a control agent, which accepts HTTP connections.
-
--  ``socket-name`` - the local socket name for the ``unix`` socket type
-   (default empty string).
-
--  ``socket-url`` - the HTTP URL for the ``http`` socket type (default
-   ``http://127.0.0.1:8000/``).
-
-User contexts can store arbitrary data as long as they are in valid JSON
-syntax and their top-level element is a map (i.e. the data must be
-enclosed in curly brackets). They are accepted at the NETCONF entry,
-i.e. below the top-level, managed-service entry, and control-socket
-entry scopes.
-
-Hooks libraries can be loaded by the NETCONF agent just as with other
-servers or agents; however, currently no hook points are defined. The
-``hooks-libraries`` list contains the list of hooks libraries that
-should be loaded by kea-netconf, along with their configuration
-information specified with ``parameters``.
-
-Please consult :ref:`logging` for details on how to configure
-logging. The NETCONF agent's root logger's name is ``kea-netconf``, as
-given in the example above.
-
-.. _netconf-example:
-
-A kea-netconf Configuration Example
-===================================
-
-The following example demonstrates the basic NETCONF configuration. More
-examples are available in the ``doc/examples/netconf`` directory in the
-Kea sources.
-
-::
-
-   # This is a simple example of a configuration for the NETCONF agent.
-   # This server provides a YANG interface for all Kea servers and the agent.
-   {
-       "Netconf":
-       {
-           # Control flags can be defined in the global scope or
-           # in a managed server scope. Precedences are:
-           # - use the default value (true)
-           # - use the global value
-           # - use the local value.
-           # So this overwrites the default value:
-           "boot-update": false,
-
-           # This map specifies how each server is managed. For each server there
-           # is a name of the YANG model to be used and the control channel.
-           //
-           # Currently three control channel types are supported:
-           # "stdout" which outputs the configuration on the standard output,
-           # "unix" which uses the local control channel supported by the
-           # "dhcp4" and "dhcp6" servers ("d2" support is not yet available),
-           # and "http" which uses the Control Agent "ca" to manage itself or
-           # to forward commands to "dhcp4" or "dhcp6".
-           "managed-servers":
-           {
-               # This is how kea-netconf can communicate with the DHCPv4 server.
-               "dhcp4":
-               {
-                   "comment": "DHCP4 server",
-                   "model": "kea-dhcp4-server",
-                   "control-socket":
-                   {
-                       "socket-type": "unix",
-                       "socket-name": "/tmp/kea4-ctrl-socket"
-                   }
-               },
-
-               # DHCPv6 parameters.
-               "dhcp6":
-               {
-                   "model": "kea-dhcp6-server",
-                   "control-socket":
-                   {
-                       "socket-type": "unix",
-                       "socket-name": "/tmp/kea6-ctrl-socket"
-                   }
-               },
-
-               # Currently the DHCP-DDNS (nicknamed D2) server does not support
-               # a command channel.
-               "d2":
-               {
-                   "model": "kea-dhcp-ddns",
-                   "control-socket":
-                   {
-                       "socket-type": "stdout",
-                       "user-context": { "in-use": false }
-                   }
-               },
-
-               # Of course the Control Agent (CA) supports HTTP.
-               "ca":
-               {
-                   "model": "kea-ctrl-agent",
-                   "control-socket":
-                   {
-                       "socket-type": "http",
-                       "socket-url": "http://127.0.0.1:8000/"
-                   }
-               }
-           },
-
-           # kea-netconf is able to load hooks libraries that augment its operation.
-           # Currently there are no hook points defined in kea-netconf
-           # processing.
-           "hooks-libraries": [
-               # The hooks libraries list may contain more than one library.
-               {
-                   # The only necessary parameter is the library filename.
-                   "library": "/opt/local/netconf-commands.so",
-
-                   # Some libraries may support parameters. Make sure you
-                   # type this section carefully, as kea-netconf does not
-                   # validate it (because the format is library-specific).
-                   "parameters": {
-                       "param1": "foo"
-                   }
-               }
-           ],
-
-           # Similar to other Kea components, NETCONF also uses logging.
-           "loggers": [
-               {
-                   "name": "kea-netconf",
-                   "output_options": [
-                       {
-                           "output": "/var/log/kea-netconf.log",
-                           # Several additional parameters are possible in
-                           # addition to the typical output.
-                           # Flush determines whether logger flushes output
-                           #  to a file.
-                           # Maxsize determines maximum filesize before
-                           # the file is being rotated.
-                           # Maxver specifies the maximum number of
-                           #  rotated files being kept.
-                           "flush": true,
-                           "maxsize": 204800,
-                           "maxver": 4
-                       }
-                   ],
-                   "severity": "INFO",
-                   "debuglevel": 0
-               }
-           ]
-       }
-   }
-
-.. _netconf-start-stop:
-
-Starting and Stopping the NETCONF Agent
-=======================================
-
-kea-netconf accepts the following command-line switches:
-
--  ``-c file`` - specifies the configuration file.
-
--  ``-d`` - specifies whether the agent logging should be switched to
-   debug/verbose mode. In verbose mode, the logging severity and
-   debuglevel specified in the configuration file are ignored and
-   "debug" severity and the maximum debuglevel (99) are assumed. The
-   flag is convenient for temporarily switching the server into maximum
-   verbosity, e.g. when debugging.
-
--  ``-t file`` - specifies the configuration file to be tested.
-   Kea-netconf attempts to load it and conducts sanity checks; note that
-   certain checks are possible only while running the actual server. The
-   actual status is reported with exit code (0 = configuration looks ok,
-   1 = error encountered). Kea will print out log messages to standard
-   output and error to standard error when testing configuration.
-
--  ``-v`` - displays the version of kea-netconf and exits.
-
--  ``-V`` - displays the extended version information for kea-netconf
-   and exits. The listing includes the versions of the libraries
-   dynamically linked to Kea.
-
--  ``-W`` - displays the Kea configuration report and exits. The report
-   is a copy of the ``config.report`` file produced by ``./configure``;
-   it is embedded in the executable binary.
-
-.. _operation-example:
-
-A Step-by-Step NETCONF Agent Operation Example
-==============================================
-
-.. note::
-
-   Copies of example configurations presented within this section can be
-   found in the Kea source code, under
-   ``doc/examples/netconf/kea-dhcp6-operations``.
-
-.. _operation-example-setup:
-
-Setup of NETCONF Agent Operation Example
-----------------------------------------
-
-The test box has an Ethernet interface named eth1. On some systems it is
-possible to rename interfaces, for instance on a Linux with an ens38
-interface:
-
-.. code-block:: console
-
-    # ip link set down dev ens38
-    # ip link set name eth1 dev ens38
-    # ip link set up dev eth1
-
-The interface must have an address in the test prefix:
-
-.. code-block:: console
-
-    # ip -6 addr add 2001:db8::1/64 dev eth1
-
-The Kea DHCPv6 server must be launched with the configuration specifying
-a control socket used to receive control commands. The ``kea-netconf``
-process uses this socket to communicate with the DHCPv6 server, i.e. it
-pushes translated configurations to that server using control commands.
-The following is the example control socket specification for the Kea
-DHCPv6 server:
-
-::
-
-   {
-       "Dhcp6": {
-           "control-socket": {
-               "socket-type": "unix",
-               "socket-name": "/tmp/kea6-sock"
-           }
-       }
-   }
-
-In order to launch the Kea DHCPv6 server using the configuration
-contained within the ``boot.json`` file, run:
-
-.. code-block:: console
-
-    # kea-dhcp6 -d -c boot.json
-
-The current configuration of the server can be fetched via control
-socket by running:
-
-.. code-block:: console
-
-    # echo '{ "command": "config-get" }' | socat UNIX:/tmp/kea6-sock '-,ignoreeof'
-
-The following is the example ``netconf.json`` configuration for
-``kea-netconf``, to manage the Kea DHCPv6 server:
-
-::
-
-   {
-       "Netconf":
-       {
-           "managed-servers":
-           {
-               "dhcp6":
-               {
-                   "control-socket":
-                   {
-                       "socket-type": "unix",
-                       "socket-name": "/tmp/kea6-sock"
-                   }
-               }
-           },
-
-           "loggers":
-           [
-               {
-                   "name": "kea-netconf",
-                   "output_options":
-                   [
-                       {
-                           "output": "stderr"
-                       }
-                   ],
-                   "severity": "DEBUG",
-                   "debuglevel": 99
-               }
-           ]
-       }
-   }
-
-Note that in production there should not be a need to log at the DEBUG level.
-
-The Kea NETCONF agent is launched by:
-
-.. code-block:: console
-
-    # kea-netconf -d -c netconf.json
-
-Now that both ``kea-netconf`` and ``kea-dhcp6`` are running, it is
-possible to populate updates to the configuration to the DHCPv6 server.
-The following is the configuration extracted from ``startup.xml``:
-
-.. code-block:: xml
-
-   <config xmlns="urn:ietf:params:xml:ns:yang:kea-dhcp6-server">
-     <subnet6>
-       <id>1</id>
-       <pool>
-         <start-address>2001:db8::1:0</start-address>
-         <end-address>2001:db8::1:ffff</end-address>
-         <prefix>2001:db8::1:0/112</prefix>
-       </pool>
-       <subnet>2001:db8::/64</subnet>
-     </subnet6>
-     <interfaces-config>
-       <interfaces>eth1</interfaces>
-     </interfaces-config>
-     <control-socket>
-       <socket-name>/tmp/kea6-sock</socket-name>
-       <socket-type>unix</socket-type>
-     </control-socket>
-   </config>
-
-To populate this new configuration:
-
-.. code-block:: console
-
-    # sysrepocfg -d startup -f xml -i startup.xml kea-dhcp6-server
-
-``kea-netconf`` pushes the configuration found in the Sysrepo startup
-datastore to all Kea servers during its initialization phase, after it
-subscribes to module changes in the Sysrepo running datastore. This
-action copies the configuration from the startup datastore to the
-running datastore and enables the running datastore, making it
-available.
-
-Changes to the running datastore are applied after validation to the Kea
-servers. Note that they are not by default copied back to the startup
-datastore, i.e. changes are not permanent.
-
-.. _operation-example-errors:
-
-Error Handling in NETCONF Operation Example
--------------------------------------------
-
-There are four classes of issues with the configurations applied via
-NETCONF:
-
-1. The configuration does not comply with the YANG schema.
-
-2. The configuration cannot be translated from YANG to the Kea JSON.
-
-3. The configuration is rejected by the Kea server.
-
-4. The configuration was validated by the Kea server but cannot be
-   applied.
-
-In the first case, consider the following ``BAD-schema.xml``
-configuration file:
-
-.. code-block:: xml
-
-   <config xmlns="urn:ietf:params:xml:ns:yang:kea-dhcp6-server">
-     <subnet4>
-       <id>1</id>
-       <pool>
-         <start-address>2001:db8::1:0</start-address>
-         <end-address>2001:db8::1:ffff</end-address>
-         <prefix>2001:db8::1:0/112</prefix>
-       </pool>
-       <subnet>2001:db8::/64</subnet>
-     </subnet6>
-     <interfaces-config>
-       <interfaces>eth1</interfaces>
-     </interfaces-config>
-     <control-socket>
-       <socket-name>/tmp/kea6-sock</socket-name>
-       <socket-type>unix</socket-type>
-     </control-socket>
-   </config>
-
-It is directly rejected by ``sysrepocfg``:
-
-.. code-block:: console
-
-    # sysrepocfg -d running -f xml -i BAD-schema.xml kea-dhcp6-server
-
-In the second case, the configuration is rejected by ``kea-netconf``.
-For example, consider this ``BAD-translator.xml`` file:
-
-.. code-block:: xml
-
-   <config xmlns="urn:ietf:params:xml:ns:yang:kea-dhcp6-server">
-     <subnet6>
-       <id>1</id>
-       <pool>
-         <start-address>2001:db8::1:0</start-address>
-         <end-address>2001:db8::1:ffff</end-address>
-         <prefix>2001:db8::1:0/112</prefix>
-       </pool>
-       <subnet>2001:db8::/64</subnet>
-     </subnet6>
-     <interfaces-config>
-       <interfaces>eth1</interfaces>
-     </interfaces-config>
-     <control-socket>
-       <socket-name>/tmp/kea6-sock</socket-name>
-       <socket-type>unix</socket-type>
-     </control-socket>
-     <user-context>bad</user-context>
-   </config>
-
-In the third case, the configuration is presented to the Kea DHCPv6
-server and fails to validate as in this ``BAD-config.xml`` file:
-
-.. code-block:: xml
-
-   <config xmlns="urn:ietf:params:xml:ns:yang:kea-dhcp6-server">
-     <subnet6>
-       <id>1</id>
-       <pool>
-         <start-address>2001:db8:1::0</start-address>
-         <end-address>2001:db8:1::ffff</end-address>
-         <prefix>2001:db8:1::0/112</prefix>
-       </pool>
-       <subnet>2001:db8::/64</subnet>
-     </subnet6>
-     <interfaces-config>
-       <interfaces>eth1</interfaces>
-     </interfaces-config>
-     <control-socket>
-       <socket-name>/tmp/kea6-sock</socket-name>
-       <socket-type>unix</socket-type>
-     </control-socket>
-   </config>
-
-In the last case, the misconfiguration is detected too late and the
-change must be reverted in Sysrepo, e.g. using the startup datastore as
-a backup. For this reason, please use the ``sysrepocfg`` ``--permanent``
-/ ``-p`` option (or any similar feature of NETCONF clients) with care.
-
-.. _operation-example-2pools:
-
-NETCONF Operation Example with Two Pools
-----------------------------------------
-
-This example adds a second pool to the initial (i.e. startup)
-configuration in the ``twopools.xml`` file:
-
-.. code-block:: xml
-
-   <config xmlns="urn:ietf:params:xml:ns:yang:kea-dhcp6-server">
-     <subnet6>
-       <id>1</id>
-       <pool>
-         <start-address>2001:db8::1:0</start-address>
-         <end-address>2001:db8::1:ffff</end-address>
-         <prefix>2001:db8::1:0/112</prefix>
-       </pool>
-       <pool>
-         <start-address>2001:db8::2:0</start-address>
-         <end-address>2001:db8::2:ffff</end-address>
-         <prefix>2001:db8::2:0/112</prefix>
-       </pool>
-       <subnet>2001:db8::/64</subnet>
-     </subnet6>
-     <interfaces-config>
-       <interfaces>eth1</interfaces>
-     </interfaces-config>
-     <control-socket>
-       <socket-name>/tmp/kea6-sock</socket-name>
-       <socket-type>unix</socket-type>
-     </control-socket>
-   </config>
-
-This configuration is installed by:
-
-.. code-block:: console
-
-    # sysrepocfg -d running -f xml -i twopools.xml kea-dhcp6-server
-
-.. _operation-example-2subnets:
-
-NETCONF Operation Example with Two Subnets
-------------------------------------------
-
-This example specifies two subnets in the ``twosubnets.xml`` file:
-
-.. code-block:: xml
-
-   <config xmlns="urn:ietf:params:xml:ns:yang:kea-dhcp6-server">
-     <subnet6>
-       <id>1</id>
-       <pool>
-         <start-address>2001:db8:1::</start-address>
-         <end-address>2001:db8:1::ffff</end-address>
-         <prefix>2001:db8:1::/112</prefix>
-       </pool>
-       <subnet>2001:db8:1::/64</subnet>
-     </subnet6>
-     <subnet6>
-       <id>2</id>
-       <pool>
-         <start-address>2001:db8:2::</start-address>
-         <end-address>2001:db8:2::ffff</end-address>
-         <prefix>2001:db8:2::/112</prefix>
-       </pool>
-       <subnet>2001:db8:2::/64</subnet>
-     </subnet6>
-     <interfaces-config>
-       <interfaces>eth1</interfaces>
-     </interfaces-config>
-     <control-socket>
-       <socket-name>/tmp/kea6-sock</socket-name>
-       <socket-type>unix</socket-type>
-     </control-socket>
-   </config>
-
-This configuration is installed by:
-
-.. code-block:: console
-
-    # sysrepocfg -d running -f xml -i twosubnets.xml kea-dhcp6-server
-
-.. _operation-example-logging:
-
-NETCONF Operation Example with Logging
---------------------------------------
-
-This example adds a logger entry to the initial (i.e. startup)
-configuration in the ``logging.xml`` file:
-
-.. code-block:: xml
-
-   <config xmlns="urn:ietf:params:xml:ns:yang:kea-dhcp6-server">
-     <interfaces-config>
-       <interfaces>eth1</interfaces>
-     </interfaces-config>
-     <subnet6>
-       <id>1</id>
-       <pool>
-         <start-address>2001:db8::1:0</start-address>
-         <end-address>2001:db8::1:ffff</end-address>
-         <prefix>2001:db8::1:0/112</prefix>
-       </pool>
-       <subnet>2001:db8::/64</subnet>
-     </subnet6>
-     <control-socket>
-       <socket-name>/tmp/kea6-sock</socket-name>
-       <socket-type>unix</socket-type>
-     </control-socket>
-     <logger>
-       <name>kea-dhcp6</name>
-       <output-option>
-         <output>stderr</output>
-       </output-option>
-       <debuglevel>99</debuglevel>
-       <severity>DEBUG</severity>
-     </logger>
-   </config>
-
-The corresponding Kea configuration in JSON is:
-
-::
-
-   {
-     "Dhcp6": {
-       "control-socket": {
-         "socket-name": "/tmp/kea6-sock",
-         "socket-type": "unix"
-       },
-       "interfaces-config": {
-         "interfaces": [ "eth1" ]
-       },
-       "subnet6": [
-         {
-           "id": 1,
-           "pools": [
-             {
-               "pool": "2001:db8::1:0/112"
-             }
-           ],
-           "subnet": "2001:db8::/64"
-         }
-       ],
-       "loggers": [
-         {
-           "name": "kea-dhcp6",
-           "output_options": [
-             {
-               "output": "stderr"
-             }
-           ],
-           "severity": "DEBUG",
-           "debuglevel": 99
-         }
-      ]
-    }
-   }
-
-Finally, any of the previous examples can be replayed using
-``sysrepocfg`` in edit mode as follows:
-
-.. code-block:: console
-
-    # sysrepocfg -d running -f xml -e vi kea-dhcp6-server
-
-or, of course, using a NETCONF client like ``netopeer2-cli`` from the
-`Netopeer2 <https://github.com/CESNET/Netopeer2>`__ NETCONF Toolset.