From: Michal Nowikowski Date: Thu, 18 Jul 2019 16:08:14 +0000 (+0200) Subject: fixed several tables X-Git-Tag: Kea-1.6.1~10^2~59 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e5f3acdef49e5acce7cc7ee32627c72858b78288;p=thirdparty%2Fkea.git fixed several tables --- diff --git a/doc/sphinx/arm/dhcp4-srv.rst b/doc/sphinx/arm/dhcp4-srv.rst index fbbbbbba9a..d776b5dca4 100644 --- a/doc/sphinx/arm/dhcp4-srv.rst +++ b/doc/sphinx/arm/dhcp4-srv.rst @@ -1508,211 +1508,217 @@ currently has no means to validate it. .. table:: List of Standard DHCPv4 Options - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | Name | Code | Type | Array? | Returned if | - | | | | | not | - | | | | | requested? | - +========================================+=============+===================================================+=============+=============+ - | time-offset | 2 | int32 | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | routers | 3 | ipv4-address | true | true | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | time-servers | 4 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | name-servers | 5 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | domain-name-servers | 6 | ipv4-address | true | true | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | log-servers | 7 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | cookie-servers | 8 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | lpr-servers | 9 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | impress-servers | 10 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | resource-location-servers | 11 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | boot-size | 13 | uint16 | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | merit-dump | 14 | string | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | domain-name | 15 | fqdn | false | true | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | swap-server | 16 | ipv4-address | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | root-path | 17 | string | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | extensions-path | 18 | string | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | ip-forwarding | 19 | boolean | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | non-local-source-routing | 20 | boolean | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | policy-filter | 21 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | max-dgram-reassembly | 22 | uint16 | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | default-ip-ttl | 23 | uint8 | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | path-mtu-aging-timeout | 24 | uint32 | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | path-mtu-plateau-table | 25 | uint16 | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | interface-mtu | 26 | uint16 | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | all-subnets-local | 27 | boolean | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | broadcast-address | 28 | ipv4-address | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | perform-mask-discovery | 29 | boolean | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | mask-supplier | 30 | boolean | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | router-discovery | 31 | boolean | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | router-solicitation-address | 32 | ipv4-address | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | static-routes | 33 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | trailer-encapsulation | 34 | boolean | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | arp-cache-timeout | 35 | uint32 | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | ieee802-3-encapsulation | 36 | boolean | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | default-tcp-ttl | 37 | uint8 | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | tcp-keepalive-interval | 38 | uint32 | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | tcp-keepalive-garbage | 39 | boolean | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | nis-domain | 40 | string | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | nis-servers | 41 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | ntp-servers | 42 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | vendor-encapsulated-options | 43 | empty | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | netbios-name-servers | 44 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | netbios-dd-server | 45 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | netbios-node-type | 46 | uint8 | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | netbios-scope | 47 | string | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | font-servers | 48 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | x-display-manager | 49 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | dhcp-option-overload | 52 | uint8 | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | dhcp-server-identifier | 54 | ipv4-address | false | true | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | dhcp-message | 56 | string | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | dhcp-max-message-size | 57 | uint16 | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | vendor-class-identifier | 60 | string | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | nwip-domain-name | 62 | string | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | nwip-suboptions | 63 | binary | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | nisplus-domain-name | 64 | string | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | nisplus-servers | 65 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | tftp-server-name | 66 | string | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | boot-file-name | 67 | string | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | mobile-ip-home-agent | 68 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | smtp-server | 69 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | pop-server | 70 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | nntp-server | 71 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | www-server | 72 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | finger-server | 73 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | irc-server | 74 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | streettalk-server | 75 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | streettalk-directory-assistance-server | 76 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | user-class | 77 | binary | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | slp-directory-agent | 78 | record (boolean, ipv4-address) | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | slp-service-scope | 79 | record (boolean, string) | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | nds-server | 85 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | nds-tree-name | 86 | string | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | nds-context | 87 | string | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | bcms-controller-names | 88 | fqdn | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | bcms-controller-address | 89 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | client-system | 93 | uint16 | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | client-ndi | 94 | record (uint8, uint8, uint8) | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | uuid-guid | 97 | record (uint8, binary) | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | uap-servers | 98 | string | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | geoconf-civic | 99 | binary | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | pcode | 100 | string | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | tcode | 101 | string | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | netinfo-server-address | 112 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | netinfo-server-tag | 113 | string | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | default-url | 114 | string | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | auto-config | 116 | uint8 | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | name-service-search | 117 | uint16 | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | subnet-selection | 118 | ipv4-address | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | domain-search | 119 | fqdn | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | vivco-suboptions | 124 | binary | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | vivso-suboptions | 125 | binary | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | pana-agent | 136 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | v4-lost | 137 | fqdn | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | capwap-ac-v4 | 138 | ipv4-address | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | sip-ua-cs-domains | 141 | fqdn | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | rdnss-selection | 146 | record (uint8, ipv4-address, ipv4-address, fqdn) | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | v4-portparams | 159 | record (uint8, psid) | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | v4-captive-portal | 160 | string | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | option-6rd | 212 | record (uint8, uint8, ipv6-address, ipv4-address) | true | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ - | v4-access-domain | 213 | fqdn | false | false | - +----------------------------------------+-------------+---------------------------------------------------+-------------+-------------+ + +----------------------------------------+------+---------------------------+-------------+-------------+ + | Name | Code | Type | Array? | Returned if | + | | | | | not | + | | | | | requested? | + +========================================+======+===========================+=============+=============+ + | time-offset | 2 | int32 | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | routers | 3 | ipv4-address | true | true | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | time-servers | 4 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | name-servers | 5 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | domain-name-servers | 6 | ipv4-address | true | true | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | log-servers | 7 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | cookie-servers | 8 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | lpr-servers | 9 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | impress-servers | 10 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | resource-location-servers | 11 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | boot-size | 13 | uint16 | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | merit-dump | 14 | string | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | domain-name | 15 | fqdn | false | true | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | swap-server | 16 | ipv4-address | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | root-path | 17 | string | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | extensions-path | 18 | string | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | ip-forwarding | 19 | boolean | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | non-local-source-routing | 20 | boolean | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | policy-filter | 21 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | max-dgram-reassembly | 22 | uint16 | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | default-ip-ttl | 23 | uint8 | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | path-mtu-aging-timeout | 24 | uint32 | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | path-mtu-plateau-table | 25 | uint16 | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | interface-mtu | 26 | uint16 | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | all-subnets-local | 27 | boolean | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | broadcast-address | 28 | ipv4-address | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | perform-mask-discovery | 29 | boolean | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | mask-supplier | 30 | boolean | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | router-discovery | 31 | boolean | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | router-solicitation-address | 32 | ipv4-address | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | static-routes | 33 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | trailer-encapsulation | 34 | boolean | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | arp-cache-timeout | 35 | uint32 | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | ieee802-3-encapsulation | 36 | boolean | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | default-tcp-ttl | 37 | uint8 | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | tcp-keepalive-interval | 38 | uint32 | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | tcp-keepalive-garbage | 39 | boolean | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | nis-domain | 40 | string | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | nis-servers | 41 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | ntp-servers | 42 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | vendor-encapsulated-options | 43 | empty | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | netbios-name-servers | 44 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | netbios-dd-server | 45 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | netbios-node-type | 46 | uint8 | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | netbios-scope | 47 | string | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | font-servers | 48 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | x-display-manager | 49 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | dhcp-option-overload | 52 | uint8 | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | dhcp-server-identifier | 54 | ipv4-address | false | true | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | dhcp-message | 56 | string | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | dhcp-max-message-size | 57 | uint16 | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | vendor-class-identifier | 60 | string | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | nwip-domain-name | 62 | string | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | nwip-suboptions | 63 | binary | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | nisplus-domain-name | 64 | string | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | nisplus-servers | 65 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | tftp-server-name | 66 | string | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | boot-file-name | 67 | string | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | mobile-ip-home-agent | 68 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | smtp-server | 69 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | pop-server | 70 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | nntp-server | 71 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | www-server | 72 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | finger-server | 73 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | irc-server | 74 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | streettalk-server | 75 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | streettalk-directory-assistance-server | 76 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | user-class | 77 | binary | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | slp-directory-agent | 78 | record (boolean, | true | false | + | | |ipv4-address) | | | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | slp-service-scope | 79 | record (boolean, string) | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | nds-server | 85 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | nds-tree-name | 86 | string | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | nds-context | 87 | string | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | bcms-controller-names | 88 | fqdn | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | bcms-controller-address | 89 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | client-system | 93 | uint16 | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | client-ndi | 94 | record (uint8, uint8, | false | false | + | | |uint8) | | | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | uuid-guid | 97 | record (uint8, binary) | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | uap-servers | 98 | string | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | geoconf-civic | 99 | binary | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | pcode | 100 | string | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | tcode | 101 | string | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | netinfo-server-address | 112 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | netinfo-server-tag | 113 | string | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | default-url | 114 | string | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | auto-config | 116 | uint8 | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | name-service-search | 117 | uint16 | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | subnet-selection | 118 | ipv4-address | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | domain-search | 119 | fqdn | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | vivco-suboptions | 124 | binary | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | vivso-suboptions | 125 | binary | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | pana-agent | 136 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | v4-lost | 137 | fqdn | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | capwap-ac-v4 | 138 | ipv4-address | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | sip-ua-cs-domains | 141 | fqdn | true | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | rdnss-selection | 146 | record (uint8, | true | false | + | | | ipv4-address, | | | + | | | ipv4-address, fqdn) | | | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | v4-portparams | 159 | record (uint8, psid) | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | v4-captive-portal | 160 | string | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | option-6rd | 212 | record (uint8, uint8, | true | false | + | | | ipv6-address, | | | + | | | ipv4-address) | | | + +----------------------------------------+------+---------------------------+-------------+-------------+ + | v4-access-domain | 213 | fqdn | false | false | + +----------------------------------------+------+---------------------------+-------------+-------------+ .. _dhcp-types: @@ -4897,416 +4903,418 @@ Statistics in the DHCPv4 Server The DHCPv4 server supports the following statistics: -.. table:: DHCPv4 Statistics +.. tabularcolumns:: |p{0.2\linewidth}|p{0.1\linewidth}|p{0.7\linewidth}| - +-----------------------------------------+-----------------------+-------------------------+ - | Statistic | Data Type | Description | - +=========================================+=======================+=========================+ - | pkt4-received | integer | Number of DHCPv4 | - | | | packets received. | - | | | This includes all | - | | | packets: valid, | - | | | bogus, corrupted, | - | | | rejected, etc. This | - | | | statistic is expected | - | | | to grow rapidly. | - +-----------------------------------------+-----------------------+-------------------------+ - | pkt4-discover-received | integer | Number of | - | | | DHCPDISCOVER packets | - | | | received. This | - | | | statistic is expected | - | | | to grow; its increase | - | | | means that clients | - | | | that just booted | - | | | started their | - | | | configuration process | - | | | and their initial | - | | | packets reached the | - | | | Kea server. | - +-----------------------------------------+-----------------------+-------------------------+ - | pkt4-offer-received | integer | Number of DHCPOFFER | - | | | packets received. | - | | | This statistic is | - | | | expected to remain | - | | | zero at all times, as | - | | | DHCPOFFER packets are | - | | | sent by the server | - | | | and the server is | - | | | never expected to | - | | | receive them. A | - | | | non-zero value | - | | | indicates an error. | - | | | One likely cause | - | | | would be a | - | | | misbehaving relay | - | | | agent that | - | | | incorrectly forwards | - | | | DHCPOFFER messages | - | | | towards the server, | - | | | rather than back to | - | | | the clients. | - +-----------------------------------------+-----------------------+-------------------------+ - | pkt4-request-received | integer | Number of DHCPREQUEST | - | | | packets received. | - | | | This statistic is | - | | | expected to grow. Its | - | | | increase means that | - | | | clients that just | - | | | booted received the | - | | | server's response | - | | | (DHCPOFFER) and | - | | | accepted it, and are | - | | | now requesting an | - | | | address | - | | | (DHCPREQUEST). | - +-----------------------------------------+-----------------------+-------------------------+ - | pkt4-ack-received | integer | Number of DHCPACK | - | | | packets received. | - | | | This statistic is | - | | | expected to remain | - | | | zero at all times, as | - | | | DHCPACK packets are | - | | | sent by the server | - | | | and the server is | - | | | never expected to | - | | | receive them. A | - | | | non-zero value | - | | | indicates an error. | - | | | One likely cause | - | | | would be a | - | | | misbehaving relay | - | | | agent that | - | | | incorrectly forwards | - | | | DHCPACK messages | - | | | towards the server, | - | | | rather than back to | - | | | the clients. | - +-----------------------------------------+-----------------------+-------------------------+ - | pkt4-nak-received | integer | Number of DHCPNAK | - | | | packets received. | - | | | This statistic is | - | | | expected to remain | - | | | zero at all times, as | - | | | DHCPNAK packets are | - | | | sent by the server | - | | | and the server is | - | | | never expected to | - | | | receive them. A | - | | | non-zero value | - | | | indicates an error. | - | | | One likely cause | - | | | would be a | - | | | misbehaving relay | - | | | agent that | - | | | incorrectly forwards | - | | | DHCPNAK messages | - | | | towards the server, | - | | | rather than back to | - | | | the clients. | - +-----------------------------------------+-----------------------+-------------------------+ - | pkt4-release-received | integer | Number of DHCPRELEASE | - | | | packets received. | - | | | This statistic is | - | | | expected to grow. Its | - | | | increase means that | - | | | clients that had an | - | | | address are shutting | - | | | down or ceasing to | - | | | use their addresses. | - +-----------------------------------------+-----------------------+-------------------------+ - | pkt4-decline-received | integer | Number of DHCPDECLINE | - | | | packets received. | - | | | This statistic is | - | | | expected to remain | - | | | close to zero. Its | - | | | increase means that a | - | | | client leased an | - | | | address, but | - | | | discovered that the | - | | | address is currently | - | | | used by an unknown | - | | | device in the | - | | | network. | - +-----------------------------------------+-----------------------+-------------------------+ - | pkt4-inform-received | integer | Number of DHCPINFORM | - | | | packets received. | - | | | This statistic is | - | | | expected to grow. Its | - | | | increase means that | - | | | there are clients | - | | | that either do not | - | | | need an address or | - | | | already have an | - | | | address and are | - | | | interested only in | - | | | getting additional | - | | | configuration | - | | | parameters. | - +-----------------------------------------+-----------------------+-------------------------+ - | pkt4-unknown-received | integer | Number of packets | - | | | received of an | - | | | unknown type. A | - | | | non-zero value of | - | | | this statistic | - | | | indicates that the | - | | | server received a | - | | | packet that it wasn't | - | | | able to recognize, | - | | | either with an | - | | | unsupported type or | - | | | possibly malformed | - | | | (without message type | - | | | option). | - +-----------------------------------------+-----------------------+-------------------------+ - | pkt4-sent | integer | Number of DHCPv4 | - | | | packets sent. This | - | | | statistic is expected | - | | | to grow every time | - | | | the server transmits | - | | | a packet. In general, | - | | | it should roughly | - | | | match pkt4-received, | - | | | as most incoming | - | | | packets cause the | - | | | server to respond. | - | | | There are exceptions | - | | | (e.g. DHCPRELEASE), | - | | | so do not worry if it | - | | | is less than | - | | | pkt4-received. | - +-----------------------------------------+-----------------------+-------------------------+ - | pkt4-offer-sent | integer | Number of DHCPOFFER | - | | | packets sent. This | - | | | statistic is expected | - | | | to grow in most cases | - | | | after a DHCPDISCOVER | - | | | is processed. There | - | | | are certain uncommon, | - | | | but valid, cases | - | | | where incoming | - | | | DHCPDISCOVER packets | - | | | are dropped, but in | - | | | general this | - | | | statistic is expected | - | | | to be close to | - | | | pkt4-discover-received. | - +-----------------------------------------+-----------------------+-------------------------+ - | pkt4-ack-sent | integer | Number of DHCPACK | - | | | packets sent. This | - | | | statistic is expected | - | | | to grow in most cases | - | | | after a DHCPREQUEST | - | | | is processed. There | - | | | are certain cases | - | | | where DHCPNAK is sent | - | | | instead. In general, | - | | | the sum of | - | | | pkt4-ack-sent and | - | | | pkt4-nak-sent should | - | | | be close to | - | | | pkt4-request-received. | - +-----------------------------------------+-----------------------+-------------------------+ - | pkt4-nak-sent | integer | Number of DHCPNAK | - | | | packets sent. This | - | | | statistic is expected | - | | | to grow when the | - | | | server chooses not to | - | | | honor the address | - | | | requested by a | - | | | client. In general, | - | | | the sum of | - | | | pkt4-ack-sent and | - | | | pkt4-nak-sent should | - | | | be close to | - | | | pkt4-request-received. | - +-----------------------------------------+-----------------------+-------------------------+ - | pkt4-parse-failed | integer | Number of incoming | - | | | packets that could | - | | | not be parsed. A | - | | | non-zero value of | - | | | this statistic | - | | | indicates that the | - | | | server received a | - | | | malformed or | - | | | truncated packet. | - | | | This may indicate | - | | | problems in the | - | | | network, faulty | - | | | clients, or a bug in | - | | | the server. | - +-----------------------------------------+-----------------------+-------------------------+ - | pkt4-receive-drop | integer | Number of incoming | - | | | packets that were | - | | | dropped. The exact | - | | | reason for dropping | - | | | packets is logged, | - | | | but the most common | - | | | reasons may be: an | - | | | unacceptable packet | - | | | type, direct | - | | | responses are | - | | | forbidden, or the | - | | | server-id sent by the | - | | | client does not match | - | | | the server's | - | | | server-id. | - +-----------------------------------------+-----------------------+-------------------------+ - | subnet[id].total-addresses | integer | Total number of | - | | | addresses available | - | | | for DHCPv4 | - | | | management; in other | - | | | words, this is the | - | | | sum of all addresses | - | | | in all configured | - | | | pools. This statistic | - | | | changes only during | - | | | configuration | - | | | changes. Note it does | - | | | not take into account | - | | | any addresses that | - | | | may be reserved due | - | | | to host reservation. | - | | | The *id* is the | - | | | subnet-id of a given | - | | | subnet. This | - | | | statistic is exposed | - | | | for each subnet | - | | | separately, and is | - | | | reset during a | - | | | reconfiguration | - | | | event. | - +-----------------------------------------+-----------------------+-------------------------+ - | subnet[id].assigned-addresses | integer | Number of assigned | - | | | addresses in a given | - | | | subnet. It increases | - | | | every time a new | - | | | lease is allocated | - | | | (as a result of | - | | | receiving a | - | | | DHCPREQUEST message) | - | | | and is decreased | - | | | every time a lease is | - | | | released (a | - | | | DHCPRELEASE message | - | | | is received) or | - | | | expires. The *id* is | - | | | the subnet-id of the | - | | | subnet. This | - | | | statistic is exposed | - | | | for each subnet | - | | | separately, and is | - | | | reset during a | - | | | reconfiguration | - | | | event. | - +-----------------------------------------+-----------------------+-------------------------+ - | reclaimed-leases | integer | Number of expired | - | | | leases that have been | - | | | reclaimed since | - | | | server startup. It is | - | | | incremented each time | - | | | an expired lease is | - | | | reclaimed and is | - | | | reset when the server | - | | | is reconfigured. | - +-----------------------------------------+-----------------------+-------------------------+ - | subnet[id].reclaimed-leases | integer | Number of expired | - | | | leases associated | - | | | with a given subnet | - | | | (*id* is the | - | | | subnet-id) that have | - | | | been reclaimed since | - | | | server startup. It is | - | | | incremented each time | - | | | an expired lease is | - | | | reclaimed and is | - | | | reset when the server | - | | | is reconfigured. | - +-----------------------------------------+-----------------------+-------------------------+ - | declined-addresses | integer | Number of IPv4 | - | | | addresses that are | - | | | currently declined; a | - | | | count of the number | - | | | of leases currently | - | | | unavailable. Once a | - | | | lease is recovered, | - | | | this statistic will | - | | | be decreased; | - | | | ideally, this | - | | | statistic should be | - | | | zero. If this | - | | | statistic is non-zero | - | | | or increasing, a | - | | | network administrator | - | | | should investigate | - | | | whether there is a | - | | | misbehaving device in | - | | | the network. This is | - | | | a global statistic | - | | | that covers all | - | | | subnets. | - +-----------------------------------------+-----------------------+-------------------------+ - | subnet[id].declined-addresses | integer | Number of IPv4 | - | | | addresses that are | - | | | currently declined in | - | | | a given subnet; a | - | | | count of the number | - | | | of leases currently | - | | | unavailable. Once a | - | | | lease is recovered, | - | | | this statistic will | - | | | be decreased; | - | | | ideally, this | - | | | statistic should be | - | | | zero. If this | - | | | statistic is non-zero | - | | | or increasing, a | - | | | network administrator | - | | | should investigate | - | | | whether there is a | - | | | misbehaving device in | - | | | the network. The *id* | - | | | is the subnet-id of a | - | | | given subnet. This | - | | | statistic is exposed | - | | | for each subnet | - | | | separately. | - +-----------------------------------------+-----------------------+-------------------------+ - | reclaimed-declined-addresses | integer | Number of IPv4 | - | | | addresses that were | - | | | declined, but have | - | | | now been recovered. | - | | | Unlike | - | | | declined-addresses, | - | | | this statistic never | - | | | decreases. It can be | - | | | used as a long-term | - | | | indicator of how many | - | | | actual valid Declines | - | | | were processed and | - | | | recovered from. This | - | | | is a global statistic | - | | | that covers all | - | | | subnets. | - +-----------------------------------------+-----------------------+-------------------------+ - | subnet[id].reclaimed-declined-addresses | integer | Number of IPv4 | - | | | addresses that were | - | | | declined, but have | - | | | now been recovered. | - | | | Unlike | - | | | declined-addresses, | - | | | this statistic never | - | | | decreases. It can be | - | | | used as a long-term | - | | | indicator of how many | - | | | actual valid Declines | - | | | were processed and | - | | | recovered from. The | - | | | *id* is the subnet-id | - | | | of a given subnet. | - | | | This statistic is | - | | | exposed for each | - | | | subnet separately. | - +-----------------------------------------+-----------------------+-------------------------+ +.. table:: DHCPv4 Statistics + :class: longtable + :widths: 20 10 70 + + +--------------------------------+----------------+-----------------------------------+ + | Statistic | Data Type | Description | + +================================+================+===================================+ + | pkt4-received | integer | Number of DHCPv4 packets | + | | | received. This includes all | + | | | packets: valid, bogus, | + | | | corrupted, rejected, etc. This | + | | | statistic is expected to grow | + | | | rapidly. | + +--------------------------------+----------------+-----------------------------------+ + | pkt4-discover-received | integer | Number of | + | | | DHCPDISCOVER packets | + | | | received. This | + | | | statistic is expected | + | | | to grow; its increase | + | | | means that clients | + | | | that just booted | + | | | started their | + | | | configuration process | + | | | and their initial | + | | | packets reached the | + | | | Kea server. | + +--------------------------------+----------------+-----------------------------------+ + | pkt4-offer-received | integer | Number of DHCPOFFER | + | | | packets received. | + | | | This statistic is | + | | | expected to remain | + | | | zero at all times, as | + | | | DHCPOFFER packets are | + | | | sent by the server | + | | | and the server is | + | | | never expected to | + | | | receive them. A | + | | | non-zero value | + | | | indicates an error. | + | | | One likely cause | + | | | would be a | + | | | misbehaving relay | + | | | agent that | + | | | incorrectly forwards | + | | | DHCPOFFER messages | + | | | towards the server, | + | | | rather than back to | + | | | the clients. | + +--------------------------------+----------------+-----------------------------------+ + | pkt4-request-received | integer | Number of DHCPREQUEST | + | | | packets received. | + | | | This statistic is | + | | | expected to grow. Its | + | | | increase means that | + | | | clients that just | + | | | booted received the | + | | | server's response | + | | | (DHCPOFFER) and | + | | | accepted it, and are | + | | | now requesting an | + | | | address | + | | | (DHCPREQUEST). | + +--------------------------------+----------------+-----------------------------------+ + | pkt4-ack-received | integer | Number of DHCPACK | + | | | packets received. | + | | | This statistic is | + | | | expected to remain | + | | | zero at all times, as | + | | | DHCPACK packets are | + | | | sent by the server | + | | | and the server is | + | | | never expected to | + | | | receive them. A | + | | | non-zero value | + | | | indicates an error. | + | | | One likely cause | + | | | would be a | + | | | misbehaving relay | + | | | agent that | + | | | incorrectly forwards | + | | | DHCPACK messages | + | | | towards the server, | + | | | rather than back to | + | | | the clients. | + +--------------------------------+----------------+-----------------------------------+ + | pkt4-nak-received | integer | Number of DHCPNAK | + | | | packets received. | + | | | This statistic is | + | | | expected to remain | + | | | zero at all times, as | + | | | DHCPNAK packets are | + | | | sent by the server | + | | | and the server is | + | | | never expected to | + | | | receive them. A | + | | | non-zero value | + | | | indicates an error. | + | | | One likely cause | + | | | would be a | + | | | misbehaving relay | + | | | agent that | + | | | incorrectly forwards | + | | | DHCPNAK messages | + | | | towards the server, | + | | | rather than back to | + | | | the clients. | + +--------------------------------+----------------+-----------------------------------+ + | pkt4-release-received | integer | Number of DHCPRELEASE | + | | | packets received. | + | | | This statistic is | + | | | expected to grow. Its | + | | | increase means that | + | | | clients that had an | + | | | address are shutting | + | | | down or ceasing to | + | | | use their addresses. | + +--------------------------------+----------------+-----------------------------------+ + | pkt4-decline-received | integer | Number of DHCPDECLINE | + | | | packets received. | + | | | This statistic is | + | | | expected to remain | + | | | close to zero. Its | + | | | increase means that a | + | | | client leased an | + | | | address, but | + | | | discovered that the | + | | | address is currently | + | | | used by an unknown | + | | | device in the | + | | | network. | + +--------------------------------+----------------+-----------------------------------+ + | pkt4-inform-received | integer | Number of DHCPINFORM | + | | | packets received. | + | | | This statistic is | + | | | expected to grow. Its | + | | | increase means that | + | | | there are clients | + | | | that either do not | + | | | need an address or | + | | | already have an | + | | | address and are | + | | | interested only in | + | | | getting additional | + | | | configuration | + | | | parameters. | + +--------------------------------+----------------+-----------------------------------+ + | pkt4-unknown-received | integer | Number of packets | + | | | received of an | + | | | unknown type. A | + | | | non-zero value of | + | | | this statistic | + | | | indicates that the | + | | | server received a | + | | | packet that it wasn't | + | | | able to recognize, | + | | | either with an | + | | | unsupported type or | + | | | possibly malformed | + | | | (without message type | + | | | option). | + +--------------------------------+----------------+-----------------------------------+ + | pkt4-sent | integer | Number of DHCPv4 | + | | | packets sent. This | + | | | statistic is expected | + | | | to grow every time | + | | | the server transmits | + | | | a packet. In general, | + | | | it should roughly | + | | | match pkt4-received, | + | | | as most incoming | + | | | packets cause the | + | | | server to respond. | + | | | There are exceptions | + | | | (e.g. DHCPRELEASE), | + | | | so do not worry if it | + | | | is less than | + | | | pkt4-received. | + +--------------------------------+----------------+-----------------------------------+ + | pkt4-offer-sent | integer | Number of DHCPOFFER | + | | | packets sent. This | + | | | statistic is expected | + | | | to grow in most cases | + | | | after a DHCPDISCOVER | + | | | is processed. There | + | | | are certain uncommon, | + | | | but valid, cases | + | | | where incoming | + | | | DHCPDISCOVER packets | + | | | are dropped, but in | + | | | general this | + | | | statistic is expected | + | | | to be close to | + | | | pkt4-discover-received. | + +--------------------------------+----------------+-----------------------------------+ + | pkt4-ack-sent | integer | Number of DHCPACK | + | | | packets sent. This | + | | | statistic is expected | + | | | to grow in most cases | + | | | after a DHCPREQUEST | + | | | is processed. There | + | | | are certain cases | + | | | where DHCPNAK is sent | + | | | instead. In general, | + | | | the sum of | + | | | pkt4-ack-sent and | + | | | pkt4-nak-sent should | + | | | be close to | + | | | pkt4-request-received. | + +--------------------------------+----------------+-----------------------------------+ + | pkt4-nak-sent | integer | Number of DHCPNAK | + | | | packets sent. This | + | | | statistic is expected | + | | | to grow when the | + | | | server chooses not to | + | | | honor the address | + | | | requested by a | + | | | client. In general, | + | | | the sum of | + | | | pkt4-ack-sent and | + | | | pkt4-nak-sent should | + | | | be close to | + | | | pkt4-request-received. | + +--------------------------------+----------------+-----------------------------------+ + | pkt4-parse-failed | integer | Number of incoming | + | | | packets that could | + | | | not be parsed. A | + | | | non-zero value of | + | | | this statistic | + | | | indicates that the | + | | | server received a | + | | | malformed or | + | | | truncated packet. | + | | | This may indicate | + | | | problems in the | + | | | network, faulty | + | | | clients, or a bug in | + | | | the server. | + +--------------------------------+----------------+-----------------------------------+ + | pkt4-receive-drop | integer | Number of incoming | + | | | packets that were | + | | | dropped. The exact | + | | | reason for dropping | + | | | packets is logged, | + | | | but the most common | + | | | reasons may be: an | + | | | unacceptable packet | + | | | type, direct | + | | | responses are | + | | | forbidden, or the | + | | | server-id sent by the | + | | | client does not match | + | | | the server's | + | | | server-id. | + +--------------------------------+----------------+-----------------------------------+ + | subnet[id].total-addresses | integer | Total number of | + | | | addresses available | + | | | for DHCPv4 | + | | | management; in other | + | | | words, this is the | + | | | sum of all addresses | + | | | in all configured | + | | | pools. This statistic | + | | | changes only during | + | | | configuration | + | | | changes. Note it does | + | | | not take into account | + | | | any addresses that | + | | | may be reserved due | + | | | to host reservation. | + | | | The *id* is the | + | | | subnet-id of a given | + | | | subnet. This | + | | | statistic is exposed | + | | | for each subnet | + | | | separately, and is | + | | | reset during a | + | | | reconfiguration | + | | | event. | + +--------------------------------+----------------+-----------------------------------+ + | subnet[id].assigned-addresses | integer | Number of assigned | + | | | addresses in a given | + | | | subnet. It increases | + | | | every time a new | + | | | lease is allocated | + | | | (as a result of | + | | | receiving a | + | | | DHCPREQUEST message) | + | | | and is decreased | + | | | every time a lease is | + | | | released (a | + | | | DHCPRELEASE message | + | | | is received) or | + | | | expires. The *id* is | + | | | the subnet-id of the | + | | | subnet. This | + | | | statistic is exposed | + | | | for each subnet | + | | | separately, and is | + | | | reset during a | + | | | reconfiguration | + | | | event. | + +--------------------------------+----------------+-----------------------------------+ + | reclaimed-leases | integer | Number of expired | + | | | leases that have been | + | | | reclaimed since | + | | | server startup. It is | + | | | incremented each time | + | | | an expired lease is | + | | | reclaimed and is | + | | | reset when the server | + | | | is reconfigured. | + +--------------------------------+----------------+-----------------------------------+ + | subnet[id].reclaimed-leases | integer | Number of expired | + | | | leases associated | + | | | with a given subnet | + | | | (*id* is the | + | | | subnet-id) that have | + | | | been reclaimed since | + | | | server startup. It is | + | | | incremented each time | + | | | an expired lease is | + | | | reclaimed and is | + | | | reset when the server | + | | | is reconfigured. | + +--------------------------------+----------------+-----------------------------------+ + | declined-addresses | integer | Number of IPv4 | + | | | addresses that are | + | | | currently declined; a | + | | | count of the number | + | | | of leases currently | + | | | unavailable. Once a | + | | | lease is recovered, | + | | | this statistic will | + | | | be decreased; | + | | | ideally, this | + | | | statistic should be | + | | | zero. If this | + | | | statistic is non-zero | + | | | or increasing, a | + | | | network administrator | + | | | should investigate | + | | | whether there is a | + | | | misbehaving device in | + | | | the network. This is | + | | | a global statistic | + | | | that covers all | + | | | subnets. | + +--------------------------------+----------------+-----------------------------------+ + | subnet[id].declined-addresses | integer | Number of IPv4 | + | | | addresses that are | + | | | currently declined in | + | | | a given subnet; a | + | | | count of the number | + | | | of leases currently | + | | | unavailable. Once a | + | | | lease is recovered, | + | | | this statistic will | + | | | be decreased; | + | | | ideally, this | + | | | statistic should be | + | | | zero. If this | + | | | statistic is non-zero | + | | | or increasing, a | + | | | network administrator | + | | | should investigate | + | | | whether there is a | + | | | misbehaving device in | + | | | the network. The *id* | + | | | is the subnet-id of a | + | | | given subnet. This | + | | | statistic is exposed | + | | | for each subnet | + | | | separately. | + +--------------------------------+----------------+-----------------------------------+ + | reclaimed-declined-addresses | integer | Number of IPv4 | + | | | addresses that were | + | | | declined, but have | + | | | now been recovered. | + | | | Unlike | + | | | declined-addresses, | + | | | this statistic never | + | | | decreases. It can be | + | | | used as a long-term | + | | | indicator of how many | + | | | actual valid Declines | + | | | were processed and | + | | | recovered from. This | + | | | is a global statistic | + | | | that covers all | + | | | subnets. | + +--------------------------------+----------------+-----------------------------------+ + | subnet[id].reclaimed | integer | Number of IPv4 | + | -declined-addresses | | addresses that were | + | | | declined, but have | + | | | now been recovered. | + | | | Unlike | + | | | declined-addresses, | + | | | this statistic never | + | | | decreases. It can be | + | | | used as a long-term | + | | | indicator of how many | + | | | actual valid Declines | + | | | were processed and | + | | | recovered from. The | + | | | *id* is the subnet-id | + | | | of a given subnet. | + | | | This statistic is | + | | | exposed for each | + | | | subnet separately. | + +--------------------------------+----------------+-----------------------------------+ .. _dhcp4-ctrl-channel: diff --git a/doc/sphinx/arm/dhcp6-srv.rst b/doc/sphinx/arm/dhcp6-srv.rst index 98bad43317..ce2adc7e5b 100644 --- a/doc/sphinx/arm/dhcp6-srv.rst +++ b/doc/sphinx/arm/dhcp6-srv.rst @@ -4796,7 +4796,12 @@ Statistics in the DHCPv6 Server The DHCPv6 server supports the following statistics: +.. tabularcolumns:: |p{0.2\linewidth}|p{0.1\linewidth}|p{0.7\linewidth}| + .. table:: DHCPv6 Statistics + :class: longtable + :widths: 20 10 70 + +-----------------------------------------+-----------------------+------------------------+ | Statistic | Data Type | Description | diff --git a/doc/sphinx/arm/hooks.rst b/doc/sphinx/arm/hooks.rst index 15ec046685..29350fbfe0 100644 --- a/doc/sphinx/arm/hooks.rst +++ b/doc/sphinx/arm/hooks.rst @@ -285,65 +285,155 @@ loaded by the correct process per the table below. hooks libraries can be loaded by this process), none of ISC's current hooks libraries should be loaded by the Control Agent. -.. table:: List of Available Hooks Libraries +.. tabularcolumns:: |p{0.1\linewidth}|p{0.1\linewidth}|p{0.8\linewidth}| - +-----------------+-----------------+-----------------+-----------------+------------------------------------------------------+ - | Name | Availability | Since | Load by process | Description | - +=================+=================+=================+=================+======================================================+ - | user_chk | Kea sources | Kea 0.8 | kea-dhcp4, | Reads known users list from a file. Unknown users | - | | | | kea-dhcp6 | will be | - | | | | | assigned a lease | - | | | | | from the last subnet defined in the configuration | - | | | | | file, | - | | | | | e.g. to redirect | - | | | | | them a captive portal. This demonstrates how an | - | | | | | external | - | | | | | source of | - | | | | | information can be used to influence the Kea | - | | | | | allocation | - | | | | | engine. This hook | - | | | | | is part of the Kea source code and is available in | - | | | | | the | - | | | | | src/hooks/dhcp/user_chk directory. | - +-----------------+-----------------+-----------------+-----------------+------------------------------------------------------+ - | Forensic | Support | Kea 1.1.0 | kea-dhcp4, | | - | Logging | customers | | kea-dhcp6 | | - +-----------------+-----------------+-----------------+-----------------+------------------------------------------------------+ - | Flexible | Support | Kea 1.2.0 | kea-dhcp4, | | - | Identifier | customers | | kea-dhcp6 | | - +-----------------+-----------------+-----------------+-----------------+------------------------------------------------------+ - | Host Commands | Support | Kea 1.2.0 | kea-dhcp4, | | - | | customers | | kea-dhcp6 | | - +-----------------+-----------------+-----------------+-----------------+------------------------------------------------------+ - | Subnet Commands | Support | Kea 1.3.0 | kea-dhcp4, | | - | | customers | | kea-dhcp6 | | - +-----------------+-----------------+-----------------+-----------------+------------------------------------------------------+ - | Lease Commands | Kea sources | Kea 1.3.0 | kea-dhcp4, | | - | | | | kea-dhcp6 | | - +-----------------+-----------------+-----------------+-----------------+------------------------------------------------------+ - | High | Kea sources | Kea 1.4.0 | kea-dhcp4, | | - | Availability | | | kea-dhcp6 | | - +-----------------+-----------------+-----------------+-----------------+------------------------------------------------------+ - | Statistics | Kea sources | Kea 1.4.0 | kea-dhcp4, | | - | Commands | | | kea-dhcp6 | | - +-----------------+-----------------+-----------------+-----------------+------------------------------------------------------+ - | RADIUS | Support | Kea 1.4.0 | kea-dhcp4, | | - | | customers | | kea-dhcp6 | | - +-----------------+-----------------+-----------------+-----------------+------------------------------------------------------+ - | Host Cache | Support | Kea 1.4.0 | kea-dhcp4, | | - | | customers | | kea-dhcp6 | | - +-----------------+-----------------+-----------------+-----------------+------------------------------------------------------+ - | Class Commands | Support | Kea 1.5.0 | kea-dhcp4, | | - | | customers | | kea-dhcp6 | | - +-----------------+-----------------+-----------------+-----------------+------------------------------------------------------+ - | MySQL | Kea sources | Kea 1.6.0 | kea-dhcp4, | | - | Configuration | | | kea-dhcp6 | | - | Backend | | | | | - +-----------------+-----------------+-----------------+-----------------+------------------------------------------------------+ - | Configuration | Support | Kea 1.6.0 | kea-dhcp4, | | - | Backend | customers | | kea-dhcp6 | | - | Commands | | | | | - +-----------------+-----------------+-----------------+-----------------+------------------------------------------------------+ +.. table:: List of Available Hooks Libraries + :class: longtable + :widths: 10 10 80 + + +-----------------+---------------+------------------------------------------------------------+ + | Name | Availability | Description | + +=================+===============+============================================================+ + | user_chk | Kea sources |Reads known users list from a file. Unknown users will be | + | | (since 0.8) |assigned a lease from the last subnet defined in the | + | | |configuration file, e.g. to redirect them a captive | + | | |portal. This demonstrates how an external source of | + | | |information can be used to influence the Kea allocation | + | | |engine. This hook is part of the Kea source code and is | + | | |available in the src/hooks/dhcp/user_chk directory. | + +-----------------+---------------+------------------------------------------------------------+ + | Forensic | Support |This library provides hooks that record a detailed log of | + | Logging | customers |lease assignments and renewals into a set of log files. In | + | | (since 1.1) |many legal jurisdictions companies, especially ISPs, must | + | | |record information about the addresses they have leased to | + | | |DHCP clients. This library is designed to help with that | + | | |requirement. If the information that it records is | + | | |sufficient it may be used directly. If your jurisdiction | + | | |requires that you save a different set of information, you | + | | |may use it as a template or example and create your own | + | | |custom logging hooks. | + +-----------------+---------------+------------------------------------------------------------+ + | Flexible | Support |Kea software provides a way to handle host reservations that| + | Identifier | customers |include addresses, prefixes, options, client classes and | + | | (since 1.2) |other features. The reservation can be based on hardware | + | | |address, DUID, circuit-id or client-id in DHCPv4 and using | + | | |hardware address or DUID in DHCPv6. However, there are | + | | |sometimes scenarios where the reservation is more complex, | + | | |e.g. uses other options that mentioned above, uses part of | + | | |specific options or perhaps even a combination of several | + | | |options and fields to uniquely identify a client. Those | + | | |scenarios are addressed by the Flexible Identifiers hook | + | | |application. It allows defining an expression, similar to | + | | |the one used in client classification, | + | | |e.g. substring(relay6[0].option[37],0,6). Each incoming | + | | |packet is evaluated against that expression and its value is| + | | |then searched in the reservations database. | + +-----------------+---------------+------------------------------------------------------------+ + | Host Commands | Support |Kea provides a way to store host reservations in a | + | | customers |database. In many larger deployments it is useful to be able| + | | (since 1.2) |to manage that information while the server is running. This| + | | |library provides management commands for adding, querying | + | | |and deleting host reservations in a safe way without | + | | |restarting the server. In particular, it validates the | + | | |parameters, so an attempt to insert incorrect data, e.g. add| + | | |a host with conflicting identifier in the same subnet will | + | | |be rejected. Those commands are exposed via command channel | + | | |(JSON over unix sockets) and Control Agent (JSON over | + | | |RESTful interface). Additional commands and capabilities | + | | |related to host reservations will be added in the future. | + +-----------------+---------------+------------------------------------------------------------+ + | Subnet Commands | Support |In deployments in which subnet configuration needs to be | + | | customers |frequently updated, it is a hard requirement that such | + | | (since 1.3) |updates be performed without the need for a full DHCP server| + | | |reconfiguration or restart. This hooks library allows for | + | | |incremental changes to the subnet configuration such as: | + | | |adding a subnet, removing a subnet. It also allows for | + | | |listing all available subnets and fetching detailed | + | | |information about a selected subnet. The commands exposed by| + | | |this library do not affect other subnets or configuration | + | | |parameters currently used by the server. | + +-----------------+---------------+------------------------------------------------------------+ + | Lease Commands | Kea sources |The lease commands hook library offers a number of new | + | | (since 1.3) |commands used to manage leases. Kea provides a way to store | + | | |lease information in various backends: memfile, MySQL, | + | | |PostgreSQL and Cassandra. This library provides a unified | + | | |interface that can manipulate leases in an unified, safe | + | | |way. In particular, it allows: manipulate leases in memfile | + | | |while Kea is running, sanity check changes, check lease | + | | |existence and remove all leases belonging to specific | + | | |subnet. It can also catch more obscure errors, like adding a| + | | |lease with subnet-id that does not exist in the | + | | |configuration or configuring a lease to use an address that | + | | |is outside of the subnet to which it is supposed to belong. | + | | |It provides a way to manage user contexts associated with | + | | |leases. | + +-----------------+---------------+------------------------------------------------------------+ + | High | Kea sources |Minimizing a risk of DHCP service unavailability is achieved| + | Availability | (since 1.4) |by setting up a pair of the DHCP servers in a network. Two | + | | |modes of operation are supported. The first one is called | + | | |load balancing and is sometimes referred to as | + | | |active-active. Each server can handle selected group of | + | | |clients in this network or all clients, if it detects that | + | | |its partner has became unavailable. It is also possible to | + | | |designate one server to serve all DHCP clients, and leave | + | | |another server as "standby". This mode is called hot standby| + | | |and is sometimes referenced to as active-passive. This | + | | |server will activate its DHCP function when it detects that | + | | |its partner is not available. Such cooperation between the | + | | |DHCP servers requires that these servers constantly | + | | |communicate with each other to send updates about allocated | + | | |leases and to periodically test whether their partners are | + | | |still operational. The hook library also provides an ability| + | | |to send lease updates to external backup server, making it | + | | |much easier to have a replacement that is almost up to | + | | |date. The "libdhcp_ha" library provides such functionality | + | | |for Kea DHCP servers. | + +-----------------+---------------+------------------------------------------------------------+ + | Statistics | Kea sources |The Statistics Commands library provides additional | + | Commands | (since 1.4) |commmands for retrieving accurate DHCP lease statistics for | + | | |Kea DHCP servers that share the same lease database. This | + | | |setup is common in deployments where DHCP service redundancy| + | | |is required and a shared lease database is used to avoid | + | | |lease data replication between the DHCP servers. A feature | + | | |was introduced in Kea 1.4.0 that allows tracking lease | + | | |allocations within the lease database, thus making the | + | | |statistics accessible to all connected DHCP servers. The | + | | |Statistics Commands hooks library utilizes this feature and | + | | |returns lease statistics for all subnets respectively. | + +-----------------+---------------+------------------------------------------------------------+ + | RADIUS | Support |The RADIUS Hook library allows Kea to interact with the | + | | customers |RADIUS servers using access and accounting mechanisms. The | + | | (since 1.4) |access mechanism may be used for access control, assigning | + | | |specific IPv4 or IPv6 addresses reserved by RADIUS, | + | | |dynamically assigning addresses from designated pools chosen| + | | |by RADIUS or rejecting the client's messages altogether. The| + | | |accounting mechanism allows RADIUS server to keep track of | + | | |device activity over time. | + +-----------------+---------------+------------------------------------------------------------+ + | Host Cache | Support |Some of the database backends, such as RADIUS, are | + | | customers |considered slow and may take a long time to respond. Since | + | | (since 1.4) |Kea in general is synchronous, the backend performance | + | | |directly affects the DHCP performance. To minimize the | + | | |impact and improve performance, the Host Cache library | + | | |provides a way to cache responses from other hosts. This | + | | |includes negative caching, i.e. the ability to remember that| + | | |there is no client information in the database. | + +-----------------+---------------+------------------------------------------------------------+ + | Class Commands | Support |This Class Cmds hooks library allows for adding, updating | + | | customers |deleting and fetching configured DHCP client classes without| + | | (since 1.5) |the need to restart the DHCP server. | + +-----------------+---------------+------------------------------------------------------------+ + | MySQL | Kea sources |The MySQL CB hooks library is an implementation of the Kea | + | Configuration | (since 1.6) |Configuration Backend for MySQL. It uses MySQL database as a| + | Backend | |repository for the Kea configuration information. The Kea | + | | |servers use this library to fetch their configurations. | + +-----------------+---------------+------------------------------------------------------------+ + | Configuration | Support |The Configuration Backend Commands (CB Commands) hooks | + | Backend | customers |library implements a collection of commands to manage the | + | Commands | (since 1.6) |configuration information of the Kea servers in the | + | | |database. This library may only be used in conjuction with | + | | |one of the supported configuration backend implementations. | + +-----------------+---------------+------------------------------------------------------------+ ISC hopes to see more hooks libraries become available as time progresses, developed both internally and externally. Since this list