diff options
author | Tomek Mrugalski <tomek@isc.org> | 2023-06-28 12:55:50 +0200 |
---|---|---|
committer | Tomek Mrugalski <tomek@isc.org> | 2023-06-28 12:55:50 +0200 |
commit | de8e6fe76ca5587e7fca6f588c88cde2a7a613e2 (patch) | |
tree | 45221ca0008c967fcca9ba6ebc28e9c849cc1ae9 /doc/sphinx/arm/dhcp4-srv.rst | |
parent | [#2833] Add web archive link to Boost ticket (diff) | |
download | kea-de8e6fe76ca5587e7fca6f588c88cde2a7a613e2.tar.xz kea-de8e6fe76ca5587e7fca6f588c88cde2a7a613e2.zip |
[#2887] doc: RFC3046 support clarified
Diffstat (limited to 'doc/sphinx/arm/dhcp4-srv.rst')
-rw-r--r-- | doc/sphinx/arm/dhcp4-srv.rst | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/doc/sphinx/arm/dhcp4-srv.rst b/doc/sphinx/arm/dhcp4-srv.rst index 6532941ba6..ef84bc6210 100644 --- a/doc/sphinx/arm/dhcp4-srv.rst +++ b/doc/sphinx/arm/dhcp4-srv.rst @@ -2163,11 +2163,13 @@ what values are accepted for them. | | 2147483647. | +-----------------+-------------------------------------------------------+ -Kea also supports the Relay Agent Information (RAI) option, sometimes referred to as the relay option, agent +Kea also supports the Relay Agent Information (RAI, defined in +`RFC 3046 <https://tools.ietf.org/html/rfc3046>`_) option, sometimes referred to as the relay option, agent option, or simply option 82. The option itself is just a container and does not convey any information on its own. The following table contains a list of RAI sub-options that Kea can understand. The RAI and its sub-options are inserted by the relay agent and received by Kea; there is no need for Kea -to be configured with those options. +to be configured with those options. Kea's classification and flex-id in host reservations can be +used to process those and other options no listed in the table below. .. table:: List of RAI sub-options that Kea can understand @@ -2189,8 +2191,30 @@ to be configured with those options. | relay-port | 19 | If sent by the relay, Kea sends back its responses to this port. | +--------------------+------+----------------------------------------------------------------------+ -All other RAI sub-options can be used in client classification to classify incoming packets to specific classes -and/or by :ischooklib:`libdhcp_flex_id.so` to construct a unique device identifier. +All other RAI sub-options (including those not listed here) can be used in client classification to +classify incoming packets to specific classes and/or by :ischooklib:`libdhcp_flex_id.so` to +construct a unique device identifier. For more information about expressions used in client +classification, and flex-id, see :ref:`classify`. Recapping briefly, the RAI sub-options can be +referenced using ``relay4[option-code].hex``. For example, to classify packets based on the +``remote-id`` (sub-option code 2), one would use ``relay4[2].hex``. And example client class that +would include all packets with specific ``remote-id`` values would looks as follows: + +:: + + "Dhcp4": { + "client-classes": [ + { + "name": "remote-id-1020304", + "test": "relay4[2].hex == 0x01020304", + ... + } + ], + ... + } + +Classes should be used to segregate traffic into relatively small number of groups, which then +can be used to select specific subnets, pools and extra options and more. If per host behavior +is necessary, using host reservations with flex-id is strongly recommended. .. _dhcp4-custom-options: |