summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancis Dupont <fdupont@isc.org>2024-09-26 17:44:23 +0200
committerTomek Mrugalski <tomek@isc.org>2024-10-28 12:26:17 +0100
commit6a25dd726e77bfe2af5bb5dc6619659adc6ca251 (patch)
tree915722f100be09fb22f37d66f5ba478ea9729da3
parent[#3404] Checkpoint: added definitions (diff)
downloadkea-6a25dd726e77bfe2af5bb5dc6619659adc6ca251.tar.xz
kea-6a25dd726e77bfe2af5bb5dc6619659adc6ca251.zip
[#3404] Added doc
-rw-r--r--changelog_unreleased/3404-option1226
-rw-r--r--doc/sphinx/arm/dhcp4-srv.rst51
-rw-r--r--doc/sphinx/arm/dhcp6-srv.rst2
3 files changed, 58 insertions, 1 deletions
diff --git a/changelog_unreleased/3404-option122 b/changelog_unreleased/3404-option122
new file mode 100644
index 0000000000..99bec808e8
--- /dev/null
+++ b/changelog_unreleased/3404-option122
@@ -0,0 +1,6 @@
+[func] fdupont
+ Added support of DHCPv4 "cablelab-client-conf" (122) option
+ and its associated suboptions specified by RFC 3495, 3594
+ and 3634 in the "cablelabs-client-conf" space at the
+ exception of the suboption 3.
+ (Gitlab #3404)
diff --git a/doc/sphinx/arm/dhcp4-srv.rst b/doc/sphinx/arm/dhcp4-srv.rst
index 5d78fe6865..67f2db5b93 100644
--- a/doc/sphinx/arm/dhcp4-srv.rst
+++ b/doc/sphinx/arm/dhcp4-srv.rst
@@ -2051,6 +2051,8 @@ types are given in :ref:`dhcp-types`.
+----------------------------------------+------+---------------------------+-------------+-------------+
| classless-static-route | 121 | internal | false | false |
+----------------------------------------+------+---------------------------+-------------+-------------+
+ | cablelabs-client-conf | 122 | empty | false | false |
+ +----------------------------------------+------+---------------------------+-------------+-------------+
| vivco-suboptions | 124 | record (uint32, binary) | false | false |
+----------------------------------------+------+---------------------------+-------------+-------------+
| vivso-suboptions | 125 | uint32 | false | false |
@@ -2276,6 +2278,55 @@ Classes may be used to segregate traffic into a relatively small number of group
can be used to select specific subnets, pools and extra options, and more. If per-host behavior
is necessary, using host reservations with flexible identifiers is strongly recommended.
+.. _cablelabs-client-conf-suboptions:
+
+CableLabs Client Conf Suboptions
+--------------------------------
+
+CableLabs client conf option ("cablelabs-client-conf" code 122) is a
+container of suboptions in the "cablelabs-client-conf" space listed in
+the table below.
+
+.. table:: List of CableLabs Client Conf sub-options that Kea can understand
+
+ +------------------------+------+-----------------------------+
+ | Name | Code | Format |
+ +========================+======+=============================+
+ | tsp-primary-server | 1 | IPv4 address |
+ +------------------------+------+-----------------------------+
+ | tsp-secondary-server | 2 | IPv4 address |
+ +------------------------+------+-----------------------------+
+ | tsp-as-parameters | 4 | record of 3 uint32 |
+ +------------------------+------+-----------------------------+
+ | tsp-ap-parameters | 5 | record of 3 uint32 |
+ +------------------------+------+-----------------------------+
+ | tsp-realm | 6 | Fully Qualified Domain Name |
+ +------------------------+------+-----------------------------+
+ | tsp-use-tgt | 7 | boolean |
+ +------------------------+------+-----------------------------+
+ | tsp-provisioning-timer | 8 | uint8 |
+ +------------------------+------+-----------------------------+
+ | tsp-sct | 9 | uint16 |
+ +------------------------+------+-----------------------------+
+ | kdc-server | 10 | array of IPv4 address |
+ +------------------------+------+-----------------------------+
+
+These suboptions are defined in
+`RFC 3495 <https://tools.ietf.org/html/rfc3495>`_ including its errata
+which clarifies the realm format,
+`RFC 3594 <https://tools.ietf.org/html/rfc3594>`_ and
+`RFC 3634 <https://tools.ietf.org/html/rfc3634>`_.
+
+.. note::
+
+ The suboption 3 carries the TSP provisioning server address as an
+ IPv4 address or a FQDN. This can't be defined in Kea so no standatd
+ suboption is defined for the code 3 leaving the choice to configure
+ its content as a binary value, or if it is used only as an IPv4
+ address or a FQDN to define it as a record of an ``uint8`` (set
+ to 0) and ``ipv4-address`, or a record of an ``uint8`` (set to 1)
+ and a ``fqdn``, allowing the use of CSV data.
+
.. _dhcp4-custom-options:
Custom DHCPv4 Options
diff --git a/doc/sphinx/arm/dhcp6-srv.rst b/doc/sphinx/arm/dhcp6-srv.rst
index 83072070c0..54827cfd09 100644
--- a/doc/sphinx/arm/dhcp6-srv.rst
+++ b/doc/sphinx/arm/dhcp6-srv.rst
@@ -2250,7 +2250,7 @@ in :ref:`dnr4-options`.
NTP Server Suboptions
---------------------
-NTP server option is a contaier of suboptions: ntp-server-address (1), ntp-server-multicast (2)
+NTP server option is a container of suboptions: ntp-server-address (1), ntp-server-multicast (2)
carrying an IPv6 address, and ntp-server-fqdn (3) carrying a FQDN in wire format defined
in the "v6-ntp-server-suboptions" option space. Each option instance carries one and only one
suboption as required by `RFC 5908 <https://tools.ietf.org/html/rfc5908>`__.