From: Andrei Pavel Date: Fri, 8 Oct 2021 13:59:30 +0000 (+0300) Subject: [#1745] document vivso options X-Git-Tag: Kea-2.1.0~59 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=03c86b0096b7cf6d45fa4d7ab25fc9236382c09b;p=thirdparty%2Fkea.git [#1745] document vivso options --- diff --git a/doc/sphinx/arm/dhcp4-srv.rst b/doc/sphinx/arm/dhcp4-srv.rst index c4c20c2161..d4322cc5a6 100644 --- a/doc/sphinx/arm/dhcp4-srv.rst +++ b/doc/sphinx/arm/dhcp4-srv.rst @@ -2432,12 +2432,24 @@ Alternatively, the option can be specified using its code. Another popular option that is often somewhat imprecisely called the "vendor option" is option 125. Its proper name is the "vendor-independent -vendor-specific information option" or "vivso". The idea behind vivso -options is that each vendor has its own unique set of options with their -own custom formats. The vendor is identified by a 32-bit unsigned integer -called `enterprise-id` or `vendor-id`. For example, vivso with vendor-id -4491 represents DOCSIS options, and they are often seen -when dealing with cable modems. +vendor-specific information option" or "vivso". The idea behind vivso options +is that each vendor has its own unique set of options with their own custom +formats. The vendor is identified by a 32-bit unsigned integer called +`enterprise-number` or `vendor-id`. + + +The standard spaces defined in Kea and their options are: + +- ``vendor-4491``: Cable Television Laboratories, Inc. for DOCSIS3 options: + ++-------------+--------------+------------------------------------------------------------------------+ +| option code | option name | option description | ++=============+==============+========================================================================+ +| 1 | oro | ORO (or Option Request Option) is used by clients to request a list of | +| | | options they are interested in. | ++-------------+--------------+------------------------------------------------------------------------+ +| 2 | tftp-servers | a list of IPv4 addresses of TFTP servers to be used by the cable modem | ++-------------+--------------+------------------------------------------------------------------------+ In Kea each vendor is represented by its own vendor space. Since there are hundreds of vendors and sometimes they use different option diff --git a/doc/sphinx/arm/dhcp6-srv.rst b/doc/sphinx/arm/dhcp6-srv.rst index 01821ebd79..9cc9749c00 100644 --- a/doc/sphinx/arm/dhcp6-srv.rst +++ b/doc/sphinx/arm/dhcp6-srv.rst @@ -1975,7 +1975,37 @@ DHCPv6 Vendor-Specific Options ------------------------------ Vendor options in DHCPv6 are carried in the Vendor-Specific -Information option (code 17). The following examples show how to +Information option (code 17). The idea behind option 17 +is that each vendor has its own unique set of options with their own custom +formats. The vendor is identified by a 32-bit unsigned integer called +`enterprise-number` or `vendor-id`. + +The standard spaces defined in Kea and their options are: + +- ``vendor-2495``: Internet Systems Consortium, Inc. for 4o6 options: + ++-------------+--------------------+------------------------------------------------------------------------+ +| option code | option name | option description | ++=============+====================+========================================================================+ +| 60000 | 4o6-interface | the name of the 4o6 server's client-facing interface | ++-------------+--------------------+------------------------------------------------------------------------+ +| 60001 | 4o6-source-address | the address that the 4o6 server uses to send packets to the client | ++-------------+--------------------+------------------------------------------------------------------------+ +| 60002 | 4o6-source-port | the port that the 4o6 server opens to send packets to the client | ++-------------+--------------------+------------------------------------------------------------------------+ + +- ``vendor-4491``: Cable Television Laboratories, Inc. for DOCSIS3 options: + ++-------------+--------------------+------------------------------------------------------------------------+ +| option code | option name | option description | ++=============+====================+========================================================================+ +| 1 | oro | ORO (or Option Request Option) is used by clients to request a list of | +| | | options they are interested in. | ++-------------+--------------------+------------------------------------------------------------------------+ +| 2 | tftp-servers | a list of IPv4 addresses of TFTP servers to be used by the cable modem | ++-------------+--------------------+------------------------------------------------------------------------+ + +The following examples show how to define an option "foo" with code 1 that consists of an IPv6 address, an unsigned 16-bit integer, and a string. The "foo" option is conveyed in a Vendor-Specific Information option, which comprises a diff --git a/src/lib/dhcp/dhcp6.h b/src/lib/dhcp/dhcp6.h index fbe4067ca3..0e53aff353 100644 --- a/src/lib/dhcp/dhcp6.h +++ b/src/lib/dhcp/dhcp6.h @@ -263,7 +263,7 @@ static const uint16_t HWTYPE_INFINIBAND = 0x0020; #define SHA_512 2 #define RSASSA_PKCS1v1_5 1 -// Taken from http://www.iana.org/assignments/enterprise-numbers +// Taken from https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers static const uint32_t ENTERPRISE_ID_ISC = 2495; /* DHCPv4-over-DHCPv6 (RFC 7341) inter-process communication. These are option