diff --git a/doc/guide/admin.xml b/doc/guide/admin.xml index 64b596645d24440729a428f5aceb3b1c77787807..a32e1c233956a73c095bb6a0b967c3ca15f82bbf 100644 --- a/doc/guide/admin.xml +++ b/doc/guide/admin.xml @@ -1,13 +1,16 @@ - - -]> - - + + + + Kea Database Administration -
+
Databases and Database Version Numbers @@ -52,7 +55,7 @@
-
+
The kea-admin Tool @@ -71,7 +74,7 @@ - lease-init — + lease-init — Initializes a new lease database. This is useful during a new Kea installation. The database is initialized to the latest version supported by the version of the software being @@ -81,7 +84,7 @@ - lease-version — + lease-version — Reports the lease database version number. This is not necessarily equal to the Kea version number as each backend has its own versioning scheme. @@ -90,7 +93,7 @@ - lease-upgrade — + lease-upgrade — Conducts a lease database upgrade. This is useful when upgrading Kea. @@ -98,7 +101,7 @@ - lease-dump — + lease-dump — Dumps the contents of the lease database (for MySQL, PostgreSQL or CQL backends) to a CSV (comma separated values) text file. The first line of the file contains the column names. This is meant to be @@ -114,28 +117,28 @@ - memfile — Lease information is + memfile — Lease information is stored on disk in a text file. - mysql — + mysql — Lease information is stored in a MySQL relational database. - pgsql — + pgsql — Lease information is stored in a PostgreSQL relational database. - cql — + cql — Lease information is stored in a CQL database. @@ -149,7 +152,7 @@
-
+
Supported Databases The following table presents the capabilities of available @@ -158,7 +161,7 @@ backend may be essential for success or failure of your deployment. - +
List of available backends @@ -240,7 +243,7 @@ present. Necessary disk write permission is required. -
+
Upgrading Memfile Lease Files from an Earlier Version of Kea There are no special steps required to upgrade memfile lease files @@ -273,7 +276,7 @@ if you chose to store the data in other backends. -
+
First Time Creation of the MySQL Database @@ -294,7 +297,7 @@ $ mysql -u root -p Enter password: -mysql> +mysql> @@ -303,7 +306,7 @@ mysql> Create the MySQL database: -mysql> CREATE DATABASE database-name; +mysql> CREATE DATABASE database-name; (database-name is the name you have chosen for the database.) @@ -316,8 +319,8 @@ mysql> CREATE DATABASE database-name; -mysql> CREATE USER 'user-name'@'localhost' IDENTIFIED BY 'password'; -mysql> GRANT ALL ON database-name.* TO 'user-name'@'localhost'; +mysql> CREATE USER 'user-name'@'localhost' IDENTIFIED BY 'password'; +mysql> GRANT ALL ON database-name.* TO 'user-name'@'localhost'; (user-name and password are the user ID @@ -334,8 +337,8 @@ mysql> GRANT ALL ON database-name.* TO 'kea-admin tool, as explained below.) To do this: -mysql> CONNECT database-name; -mysql> SOURCE path-to-kea/share/kea/scripts/mysql/dhcpdb_create.mysql +mysql> CONNECT database-name; +mysql> SOURCE path-to-kea/share/kea/scripts/mysql/dhcpdb_create.mysql (path-to-kea is the location where you installed Kea.) @@ -346,7 +349,7 @@ mysql> SOURCE path-to-kea/share/kea/script Exit MySQL: -mysql> quit +mysql> quit Bye $ @@ -371,7 +374,7 @@ $ kea-admin lease-init mysql -u database-user
-
+
Upgrading a MySQL Database from an Earlier Version of Kea @@ -416,7 +419,7 @@ $ kea-admin lease-upgrade mysql -u database-user -
+
First Time Creation of the PostgreSQL Database @@ -565,7 +568,7 @@ $ kea-admin lease-init pgsql -u database-userkea-admin.)
-
+
Upgrading a PostgreSQL Database from an Earlier Version of Kea The PostgreSQL database schema can be upgraded using the same tool and @@ -603,7 +606,7 @@ $ kea-admin lease-upgrade pgsql -u database-user -
+
First Time Creation of the Cassandra Database @@ -628,7 +631,7 @@ $ export CQLSH_HOST=localhost Log into CQL: $ cqlsh -cql> +cql> @@ -637,7 +640,7 @@ cql> Create the CQL keyspace: -cql> CREATE KEYSPACE keyspace-name WITH replication = {'class' : 'SimpleStrategy','replication_factor' : 1}; +cql> CREATE KEYSPACE keyspace-name WITH replication = {'class' : 'SimpleStrategy','replication_factor' : 1}; (keyspace-name is the name you have chosen for the keyspace) @@ -675,7 +678,7 @@ $ kea-admin lease-init cql -n database-name
-
+
Upgrading a CQL Database from an Earlier Version of Kea diff --git a/doc/guide/agent.xml b/doc/guide/agent.xml index 90dffee1c7508405300859d858f9792a319287ce..d8d5c5f470d74acec67e0f35f37f748c3ae18ac7 100644 --- a/doc/guide/agent.xml +++ b/doc/guide/agent.xml @@ -1,13 +1,16 @@ - - -]> - - + + + + Kea Control Agent -
+
Overview Kea Control Agent (CA) is a daemon, first included in Kea 1.2, which exposes a RESTful control interface for managing Kea servers. The daemon @@ -23,7 +26,7 @@ libraries must implement callouts for 'control_command_receive' hook point. Details about creating new hook libraries and supported hook points can be found in - Kea Developer's Guide. + Kea Developer's Guide. @@ -54,7 +57,7 @@
-
+
Configuration The following example demonstrates the basic CA configuration. @@ -162,7 +165,7 @@
-
+
Secure Connections Control Agent doesn't natively support secure HTTP connections like @@ -274,7 +277,7 @@ http {
-
+
Control Agent Limitations Control Agent is a new component, first released in Kea 1.2. In @@ -291,7 +294,7 @@ http {
-
+
Starting Control Agent The CA is started by running its binary and specifying the configuration file @@ -302,7 +305,7 @@ $ ./kea-ctrl-agent -c /usr/local/etc/kea/kea-ctrl-agent.conf
-
+
Connecting to the Control Agent For an example of tool that can take advantage of the RESTful API, see . diff --git a/doc/guide/classify.xml b/doc/guide/classify.xml index 23009e98f562461651b0b083e335aea58dcab22f..c9ff02116c219d03414712df07794a32f8e2f2cd 100644 --- a/doc/guide/classify.xml +++ b/doc/guide/classify.xml @@ -1,10 +1,13 @@ - - -]> + - + + Client Classification
@@ -102,7 +105,7 @@
-
+
Using Static Host Reservations In Classification Classes can be statically assigned to the clients using techniques described in and @@ -110,29 +113,29 @@
-
+
Using Vendor Class Information In Classification The server checks whether an incoming DHCPv4 packet includes the vendor class identifier option (60) or an incoming DHCPv6 packet includes the vendor class option (16). If it does, the content of that - option is prepended with "VENDOR_CLASS_" and the result is interpreted + option is prepended with "VENDOR_CLASS_" and the result is interpreted as a class. For example, modern cable modems will send this option with - value "docsis3.0" and so the packet will belong to - class "VENDOR_CLASS_docsis3.0". + value "docsis3.0" and so the packet will belong to + class "VENDOR_CLASS_docsis3.0".
-
+
Using Expressions In Classification The expression portion of classification contains operators and values. All values are currently strings and operators take a string or strings and return another string. When all the operations have completed - the result should be a value of "true" or "false". + the result should be a value of "true" or "false". The packet belongs to the class (and the class name is added to the list of classes) if the result - is "true". Expressions are written in standard format and can be nested. + is "true". Expressions are written in standard format and can be nested. @@ -159,12 +162,12 @@ -
+
List of Classification Values - - - - + + + + Name @@ -199,7 +202,7 @@ '123' A 32 bit unsigned integer value - + Binary content of the option option[123].hex @@ -437,9 +440,9 @@ - Hexadecimal strings are converted into a string as expected. The starting "0X" or - "0x" is removed and if the string is an odd number of characters a - "0" is prepended to it. + Hexadecimal strings are converted into a string as expected. The starting "0X" or + "0x" is removed and if the string is an odd number of characters a + "0" is prepended to it. @@ -520,14 +523,14 @@ Vendor option means Vendor-Identifying Vendor-specific Information option in DHCPv4 (code 125, see - Section 4 of RFC 3925) and + Section 4 of RFC 3925) and Vendor-specific Information Option in DHCPv6 (code 17, defined in - Section 22.17 of - RFC 3315). Vendor class option means Vendor-Identifying Vendor + Section 22.17 of + RFC 3315). Vendor class option means Vendor-Identifying Vendor Class Option in DHCPv4 (code 124, see - Section 3 of RFC 3925) in DHCPv4 and + Section 3 of RFC 3925) in DHCPv4 and Class Option in DHCPv6 (code 16, see - Section 22.16 of RFC 3315). + Section 22.16 of RFC 3315). Vendor options may have sub-options that are referenced by their codes. Vendor class options do not have sub-options, but rather data chunks, which are @@ -545,8 +548,8 @@ accessed using option[60] expression. - RFC3925 and - RFC3315 + RFC3925 and + RFC3315 allow for multiple instances of vendor options to appear in a single message. The client classification code currently examines the first instance if more than one appear. For vendor.enterprise @@ -558,12 +561,12 @@ -
+
List of Classification Expressions - - - - + + + + Name @@ -641,11 +644,10 @@ concatenation of the strings The expression for each class is executed on each packet received. If the expressions are overly complex, the time taken to execute them may impact the performance of the server. If you need - complex or time consuming expressions you should write a hook to perform the necessary work. + complex or time consuming expressions you should write a hook to perform the necessary work. -
+
Configuring Classes A class contains three items: a name, a test expression and option data. @@ -665,9 +667,9 @@ concatenation of the strings - In the following example the class named "Client_foo" is defined. + In the following example the class named "Client_foo" is defined. It is comprised of all clients whose client ids (option 61) start with the - string "foo". Members of this class will be given 192.0.2.1 and + string "foo". Members of this class will be given 192.0.2.1 and 192.0.2.2 as their domain name servers. @@ -694,7 +696,7 @@ concatenation of the strings This example shows a client class being defined for use by the DHCPv6 server. - In it the class named "Client_enterprise" is defined. It is comprised + In it the class named "Client_enterprise" is defined. It is comprised of all clients who's client identifiers start with the given hex string (which would indicate a DUID based on an enterprise id of 0xAABBCCDD). Members of this class will be given an 2001:db8:0::1 and 2001:db8:2::1 as their domain name servers. @@ -721,7 +723,7 @@ concatenation of the strings
-
+
Configuring Subnets With Class Information In certain cases it beneficial to restrict access to certain subnets @@ -901,7 +903,7 @@ concatenation of the strings When supplying options, options defined as part of the class definition - are considered "class globals". They will override any global options that + are considered "class globals". They will override any global options that may be defined and in turn will be overridden by any options defined for an individual subnet. @@ -938,7 +940,7 @@ concatenation of the strings In order to understand the logging statements one must understand a bit about how expressions are evaluated, for a more complete description - refer to the design document at . + refer to the design document at http://kea.isc.org/wiki/KeaDesigns. In brief there are two structures used during the evaluation of an expression: a list of tokens which represent the expressions and a value stack which represents the values being manipulated. diff --git a/doc/guide/config.xml b/doc/guide/config.xml index 645ee9c9e5f017e704b5f08e38d11bfb76c62ea9..ac8965fa41af474021cfdf56f5979034d4e49424 100644 --- a/doc/guide/config.xml +++ b/doc/guide/config.xml @@ -1,16 +1,20 @@ - - -]> - + + + + Kea Configuration Kea is using JSON structures to handle configuration. Previously we there was a concept of other configuration backends, but that never was implemented and the idea was abandoned. -
+
JSON Configuration JSON is notation used throughout the Kea project. The most obvious usage is for configuration file, but it is also used for sending commands @@ -22,11 +26,10 @@ The JSON backend uses certain signals to influence Kea. The configuration file is specified upon startup using the -c parameter. -
+
JSON Syntax Configuration files for DHCPv4, DHCPv6 and DDNS modules are defined - in an extended JSON format. Basic JSON is defined in RFC 7159. Note that Kea + in an extended JSON format. Basic JSON is defined in RFC 7159. Note that Kea 1.2 introduces a new parser that is better at following the JSON spec. In particular, the only values allowed for boolean are true or false (all lowercase). The capitalized versions (True or False) are not accepted. diff --git a/doc/guide/ctrl-channel.xml b/doc/guide/ctrl-channel.xml index 2b37e9660cc3e427ee9431beef62bb97b8a177c0..02c593fb5d632c9c9fd91c6c76c775ef7c907714 100644 --- a/doc/guide/ctrl-channel.xml +++ b/doc/guide/ctrl-channel.xml @@ -1,12 +1,13 @@ - - - -%version; -]> - - + + + + Management API A classic approach to daemon configuration assumes that @@ -29,8 +30,7 @@ The DHCPv4 and DHCPv6 servers receive commands over the unix domain sockets. The details how to configure these sockets, - see and . While it is possible control + see and . While it is possible control the servers directly using unix domain sockets it requires that the controlling client be running on the same machine as the server. In order to connect remotely SSH is usually used to @@ -74,7 +74,7 @@ -
+
Data Syntax Communication over the control channel is conducted using JSON structures. If configured, Kea will open a socket and listen @@ -217,7 +217,7 @@
-
+
Using the Control Channel Kea development team is actively working on providing client applications @@ -254,10 +254,10 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get"
-
+
Commands Supported by Both the DHCPv4 and DHCPv6 Servers -
+
build-report The build-report command returns @@ -273,7 +273,7 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get"
-
+
config-get The config-get command retrieves the current @@ -300,7 +300,7 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get"
-
+
config-reload The config-reload command instructs @@ -329,7 +329,7 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get"
-
+
config-test @@ -347,7 +347,7 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get" { "command": "config-test", "arguments": { - "<server>": { + "<server>": { }, "Logging": { } @@ -355,7 +355,7 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get" } - where <server> is the configuration element name for a given server + where <server> is the configuration element name for a given server such as "Dhcp4" or "Dhcp6". For example: @@ -379,12 +379,12 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get" or - {"result": 1, "text": "unsupported parameter: BOGUS (<string>:16:26)" } + {"result": 1, "text": "unsupported parameter: BOGUS (<string>:16:26)" }
-
+
config-write The config-write command instructs Kea server @@ -407,7 +407,7 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get"
-
+
leases-reclaim The leases-reclaim command instructs the server to @@ -434,7 +434,7 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get" about the processing of expired leases (leases reclamation).
-
+
libreload @@ -457,7 +457,7 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get"
-
+
list-commands @@ -478,7 +478,7 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get"
-
+
config-set @@ -494,7 +494,7 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get" { "command": "config-set", "arguments": { - "<server>": { + "<server>": { }, "Logging": { } @@ -502,7 +502,7 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get" } - where <server> is the configuration element name for a given server + where <server> is the configuration element name for a given server such as "Dhcp4" or "Dhcp6". For example: @@ -532,12 +532,12 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get" or - {"result": 1, "text": "unsupported parameter: BOGUS (<string>:16:26)" } + {"result": 1, "text": "unsupported parameter: BOGUS (<string>:16:26)" }
-
+
shutdown @@ -593,7 +593,7 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get"
-
+
version-get The version-get command returns on the control @@ -611,7 +611,7 @@ $ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get"
-
+
Commands Supported by Control Agent The following commands listed in are also supported by the Control Agent, i.e. when the diff --git a/doc/guide/ddns.xml b/doc/guide/ddns.xml index 64b90f6f31e26a4fd5860049a934d2c7586f32d9..dd99fd02904c27eea42cb5cd663e72359f9f0e70 100644 --- a/doc/guide/ddns.xml +++ b/doc/guide/ddns.xml @@ -1,17 +1,21 @@ - - -]> - - + + + + The DHCP-DDNS Server +
Overview The DHCP-DDNS Server (kea-dhcp-ddns, known informally as D2) conducts - the client side of the DDNS protocol (defined in - RFC 2136) + the client side of the DDNS protocol (defined in RFC 2136) on behalf of the DHCPv4 and DHCPv6 servers (kea-dhcp4 and kea-dhcp6 respectively). The DHCP servers construct DDNS update requests, known as NameChangeRequests (NCRs), based upon DHCP lease change events and @@ -55,7 +59,7 @@ simply disregard the reverse update portion of requests.
-
+
Conflict Resolution D2 implements the conflict resolution strategy prescribed by @@ -201,7 +205,7 @@ strings path/kea-dhcp-ddns | sed -n 's/;;;; //p'
-
+
Configuring the DHCP-DDNS Server Before starting kea-dhcp-ddns module for the @@ -250,7 +254,7 @@ strings path/kea-dhcp-ddns | sed -n 's/;;;; //p' -
+
Global Server Parameters @@ -316,12 +320,12 @@ corresponding values in the DHCP servers' "dhcp-ddns" configuration section.
-
+
TSIG Key List A DDNS protocol exchange can be conducted with or without TSIG - (defined in RFC - 2845). This configuration section allows the administrator + (defined in RFC + 2845). This configuration section allows the administrator to define the set of TSIG keys that may be used in such exchanges. @@ -443,7 +447,7 @@ corresponding values in the DHCP servers' "dhcp-ddns" configuration section.
-
+
Forward DDNS The Forward DDNS section is used to configure D2's forward update @@ -461,7 +465,7 @@ corresponding values in the DHCP servers' "dhcp-ddns" configuration section. By default, this list is empty, which will cause the server to ignore the forward update portions of requests. -
+
Adding Forward DDNS Domains A forward DDNS Domain maps a forward DNS zone to a set of @@ -532,7 +536,7 @@ corresponding values in the DHCP servers' "dhcp-ddns" configuration section. server to it. -
+
Adding Forward DNS Servers This section describes how to add DNS servers to a Forward DDNS Domain. @@ -601,7 +605,7 @@ corresponding values in the DHCP servers' "dhcp-ddns" configuration section.
-
+
Reverse DDNS The Reverse DDNS section is used to configure D2's reverse update @@ -619,7 +623,7 @@ corresponding values in the DHCP servers' "dhcp-ddns" configuration section. By default, this list is empty, which will cause the server to ignore the reverse update portions of requests. -
+
Adding Reverse DDNS Domains A reverse DDNS Domain maps a reverse DNS zone to a set of DNS @@ -698,7 +702,7 @@ corresponding values in the DHCP servers' "dhcp-ddns" configuration section. server to it. -
+
Adding Reverse DNS Servers This section describes how to add DNS servers to a Reverse DDNS Domain. @@ -768,7 +772,7 @@ corresponding values in the DHCP servers' "dhcp-ddns" configuration section.
-
+
Example DHCP-DDNS Server Configuration This section provides an example DHCP-DDNS server configuration based @@ -777,11 +781,11 @@ corresponding values in the DHCP servers' "dhcp-ddns" configuration section.
Our example network - - - - - + + + + + Domain @@ -817,10 +821,10 @@ corresponding values in the DHCP servers' "dhcp-ddns" configuration section. We need to construct three forward DDNS Domains:
Forward DDNS Domains Needed - - - - + + + + # @@ -893,10 +897,10 @@ corresponding values in the DHCP servers' "dhcp-ddns" configuration section. Similarly, we need to construct the three reverse DDNS Domains:
Reverse DDNS Domains Needed - - - - + + + + # @@ -977,4 +981,4 @@ corresponding values in the DHCP servers' "dhcp-ddns" configuration section. - + diff --git a/doc/guide/dhcp4-srv.xml b/doc/guide/dhcp4-srv.xml index 95453e18a80ad862a70c1d6e4147b3e309156b4a..83de4dadb9edb33f9ed011dfdb1d3169c55cb251 100644 --- a/doc/guide/dhcp4-srv.xml +++ b/doc/guide/dhcp4-srv.xml @@ -1,13 +1,15 @@ - - -]> - - + + + The DHCPv4 Server -
+
Starting and Stopping the DHCPv4 Server @@ -132,7 +134,7 @@ strings path/kea-dhcp4 | sed -n 's/;;;; //p'
-
+
DHCPv4 Server Configuration
Introduction @@ -207,8 +209,8 @@ the configuration file must be well formed JSON. That means that the parameters for any given scope must be separated by a comma and there must not be a comma after the last parameter. When reordering a configuration file, keep in mind that moving a parameter to or from the last position in a given scope may also require -moving the comma. The second caveat is that it is uncommon — although -legal JSON — to +moving the comma. The second caveat is that it is uncommon — although +legal JSON — to repeat the same parameter multiple times. If that happens, the last occurrence of a given parameter in a given scope is used while all previous instances are ignored. This is unlikely to cause any confusion as there are no real life @@ -226,7 +228,7 @@ define T1 and T2 timers that govern when the client will begin the renewal and rebind procedures. Note that renew-timer and rebind-timer are optional. If they are not specified the client will select values for T1 and T2 timers according to the -RFC 2131. +RFC 2131. The interfaces-config map specifies the server configuration concerning the network interfaces, on which the server should @@ -308,8 +310,7 @@ be followed by a comma and another object definition. Memfile - Basic Storage for Leases The server is able to store lease data in different repositories. Larger - deployments may elect to store leases in a database. describes this option. In typical + deployments may elect to store leases in a database. describes this option. In typical smaller deployments though, the server will store lease information in a CSV file rather than a database. As well as requiring less administration, an advantage of using a file for storage is that it @@ -420,12 +421,12 @@ be followed by a comma and another object definition. file used by the server to record lease updates. There are also other files being created as a side effect of the lease file cleanup. The detailed description of the LFC is located on the Kea wiki: - . + http://kea.isc.org/wiki/LFCDesign.
-
+
Lease Database Configuration @@ -509,7 +510,7 @@ If a timeout is given though, it should be an integer greater than zero.
-
+
Hosts Storage Kea is also able to store information about host reservations in the database. The hosts database configuration uses the same syntax as the lease @@ -528,7 +529,7 @@ If a timeout is given though, it should be an integer greater than zero. from the configuration file are checked first and external storage is checked later, if necessary. -
+
DHCPv4 Hosts Database Configuration Hosts database configuration is controlled through the Dhcp4/hosts-database @@ -573,7 +574,7 @@ If a timeout is given though, it should be an integer greater than zero. "". (This is also the default.)
-
+
Using Read-Only Databases for Host Reservations In some deployments the database user whose name is specified in the database backend @@ -606,7 +607,7 @@ for MySQL and PostgreSQL databases.
-
+
Interface Configuration The DHCPv4 server has to be configured to listen on specific network interfaces. The simplest network interface configuration tells the server to @@ -774,7 +775,7 @@ temporarily override a list of interface names and listen on all interfaces.
-
+
Issues with Unicast Responses to DHCPINFORM The use of UDP sockets has certain benefits in deployments where the server receives only relayed traffic; these benefits are @@ -788,7 +789,7 @@ temporarily override a list of interface names and listen on all interfaces. In this section we are focusing on the case when the server receives the DHCPINFORM message from the client via a relay. According - to RFC 2131, + to RFC 2131, the server should unicast the DHCPACK response to the address carried in the "ciaddr" field. When the UDP socket is in use, the DHCP server relies on the low level functions of an operating system to build the @@ -826,7 +827,7 @@ temporarily override a list of interface names and listen on all interfaces.
-
+
IPv4 Subnet Identifier The subnet identifier is a unique number associated with a particular subnet. @@ -871,7 +872,7 @@ temporarily override a list of interface names and listen on all interfaces. id -->
-
+
Configuration of IPv4 Address Pools The main role of a DHCPv4 server is address assignment. For this, the server has to @@ -968,7 +969,7 @@ temporarily override a list of interface names and listen on all interfaces.
-
+
Standard DHCPv4 Options One of the major features of the DHCPv4 server is to provide configuration @@ -1079,13 +1080,11 @@ temporarily override a list of interface names and listen on all interfaces. The name parameter specifies the option name. For a - list of currently supported names, see below. The code + list of currently supported names, see below. The code parameter specifies the option code, which must match one of the values from that list. The next line specifies the option space, which must always be set to "dhcp4" as these are standard DHCPv4 options. For other - option spaces, including custom option spaces, see . The next line specifies the format in + option spaces, including custom option spaces, see . The next line specifies the format in which the data will be entered: use of CSV (comma separated values) is recommended. The sixth line gives the actual value to be sent to clients. Data is specified as normal text, with values separated by commas @@ -1220,7 +1219,7 @@ temporarily override a list of interface names and listen on all interfaces. character (\; U+005C). This double escape is required, because both the routine splitting CSV data into fields and JSON use the same escape character: a single escape (\,) would make the JSON invalid. - For example, the string "foo,bar" would be represented as: + For example, the string "foo,bar" would be represented as: "Dhcp4": { "subnet4": [ @@ -1268,14 +1267,14 @@ temporarily override a list of interface names and listen on all interfaces. -
+
List of standard DHCPv4 options - - - - - - + + + + + + Name @@ -1431,11 +1430,11 @@ It is merely echoed by the server -
+
List of standard DHCP option types - - - + + + NameMeaning @@ -1447,7 +1446,7 @@ It is merely echoed by the server ipv4-addressIPv4 address in the usual dotted-decimal notation (e.g. 192.0.2.1)ipv6-addressIPv6 address in the usual colon notation (e.g. 2001:db8::1)ipv6-prefixIPv6 prefix and prefix length specified using CIDR notation, e.g. 2001:db8:1::/64. This data type is used to represent an 8-bit field conveying a prefix length and the variable length prefix value - psidPSID and PSID length separated by a slash, e.g. 3/4 specifies PSID=3 and PSID length=4. In the wire format it is represented by an 8-bit field carrying PSID length (in this case equal to 4) and the 16-bits long PSID value field (in this case equal to "0011000000000000b" using binary notation). Allowed values for a PSID length are 0 to 16. See RFC 7597 for the details about the PSID wire representation + psidPSID and PSID length separated by a slash, e.g. 3/4 specifies PSID=3 and PSID length=4. In the wire format it is represented by an 8-bit field carrying PSID length (in this case equal to 4) and the 16-bits long PSID value field (in this case equal to "0011000000000000b" using binary notation). Allowed values for a PSID length are 0 to 16. See RFC 7597 for the details about the PSID wire representationrecordStructured data that may be comprised of any types (except "record" and "empty"). The array flag applies to the last field only.stringAny texttupleA length encoded as a 8 (16 for DHCPv6) bit unsigned integer followed by a string of this length @@ -1463,7 +1462,7 @@ It is merely echoed by the server -
+
Custom DHCPv4 options Kea supports custom (non-standard) DHCPv4 options. Assume that we want to define a new DHCPv4 option called "foo" which @@ -1755,7 +1754,7 @@ It is merely echoed by the server
-
+
DHCPv4 Vendor Specific Options Currently there are two option spaces defined for the DHCPv4 daemon: @@ -1832,7 +1831,7 @@ It is merely echoed by the server
-
+
Nested DHCPv4 Options (Custom Option Spaces) It is sometimes useful to define a completely new option @@ -1935,12 +1934,12 @@ It is merely echoed by the server value as well as the sub-options, the type value would have to be set to "uint16" in the option definition. (Such an option would then have the following data structure: DHCP header, uint16 value, sub-options.) The value specified - with the data parameter — which should be a valid integer enclosed in quotes, - e.g. "123" — would then be assigned to the uint16 field in the "container" option. + with the data parameter — which should be a valid integer enclosed in quotes, + e.g. "123" — would then be assigned to the uint16 field in the "container" option.
-
+
Unspecified Parameters for DHCPv4 Option Configuration In many cases it is not required to specify all parameters for an option configuration and the default values may be used. However, it is @@ -2000,7 +1999,7 @@ It is merely echoed by the server
-
+
Stateless Configuration of DHCPv4 Clients The DHCPv4 server supports the stateless client configuration whereby the client has an IP address configured (e.g. using manual configuration) and only @@ -2061,7 +2060,7 @@ It is merely echoed by the server
-
+
Client Classification in DHCPv4 The DHCPv4 server includes support for client classification. For a deeper @@ -2137,7 +2136,7 @@ It is merely echoed by the server make the distinction. The following example checks if the client identifies itself as PXE device with architecture EFI x86-64, and sets several fields if it does. See - Section 2.1 of RFC 4578) + Section 2.1 of RFC 4578) or the documentation of your client for specific values. @@ -2167,9 +2166,9 @@ It is merely echoed by the server The server checks whether an incoming packet includes the vendor class identifier option (60). If it does, the content of that option is prepended with - "VENDOR_CLASS_", it is interpreted as a class. For example, - modern cable modems will send this option with value "docsis3.0" - and as a result the packet will belong to class "VENDOR_CLASS_docsis3.0". + "VENDOR_CLASS_", it is interpreted as a class. For example, + modern cable modems will send this option with value "docsis3.0" + and as a result the packet will belong to class "VENDOR_CLASS_docsis3.0". @@ -2209,9 +2208,9 @@ It is merely echoed by the server The following example shows how to configure a class using an expression and a subnet that makes use of the class. This configuration defines the - class named "Client_foo". + class named "Client_foo". It is comprised of all clients who's client ids (option 61) start with the - string "foo". Members of this class will be given addresses from + string "foo". Members of this class will be given addresses from 192.0.2.10 to 192.0.2.20 and the addresses of their DNS servers set to 192.0.2.1 and 192.0.2.2. @@ -2247,7 +2246,7 @@ It is merely echoed by the server
-
+
DDNS for DHCPv4 As mentioned earlier, kea-dhcp4 can be configured to generate requests to the @@ -2331,7 +2330,7 @@ It is merely echoed by the server -
+
DHCP-DDNS Server Connectivity In order for NCRs to reach the D2 server, kea-dhcp4 must be able @@ -2399,10 +2398,10 @@ It is merely echoed by the server
-
+
When Does the kea-dhcp4 Server Generate DDNS Requests? kea-dhcp4 follows the behavior prescribed for DHCP servers in - RFC 4702. + RFC 4702. It is important to keep in mind that kea-dhcp4 provides the initial decision making of when and what to update and forwards that information to D2 in the form of NCRs. Carrying out the actual DNS updates and dealing with @@ -2439,13 +2438,13 @@ It is merely echoed by the server will respect the FQDN N and S flags specified by the client as shown in the following table: -
+
Default FQDN Flag Behavior - - - - - + + + + + Client Flags:N-S @@ -2492,7 +2491,7 @@ It is merely echoed by the server (Note that the flag combination N=1, S=1 is prohibited according to - RFC 4702. If such a + RFC 4702. If such a combination is received from the client, the packet will be dropped by kea-dhcp4.) @@ -2536,7 +2535,7 @@ It is merely echoed by the server -
+
kea-dhcp4 name generation for DDNS update requests Each NameChangeRequest must of course include the fully qualified domain name whose DNS entries are to be affected. kea-dhcp4 can be configured to @@ -2656,7 +2655,7 @@ It is merely echoed by the server
-
+
Next Server (siaddr) In some cases, clients want to obtain configuration from a TFTP server. Although there is a dedicated option for it, some devices may use the siaddr field @@ -2692,24 +2691,24 @@ It is merely echoed by the server
-
+
Echoing Client-ID (RFC 6842) The original DHCPv4 specification - (RFC 2131) + (RFC 2131) states that the DHCPv4 server must not send back client-id options when responding to clients. However, in some cases that confused clients that did not have MAC address or client-id; see - RFC 6842. + RFC 6842. for details. That behavior has changed with the publication of - RFC 6842 + RFC 6842 which updated - RFC 2131. + RFC 2131. That update states that the server must send client-id if the client sent it. That is Kea's default behavior. However, in some cases older devices that do not support - RFC 6842. + RFC 6842. may refuse to accept responses that include the client-id option. To enable backward compatibility, an optional configuration parameter has been introduced. To configure it, @@ -2723,7 +2722,7 @@ It is merely echoed by the server
-
+
Using Client Identifier and Hardware Address The DHCP server must be able to identify the client (and distinguish it from other clients) from which it receives the message. There are many reasons @@ -2755,10 +2754,10 @@ It is merely echoed by the server used by DHCP to carry the hardware address of the interface used to send the query to the server (MAC address for the Ethernet). The latter is carried in the Client-identifier option, introduced in - RFC 2132. + RFC 2132. - RFC 2131 + RFC 2131 indicates that the server may use both of these identifiers to identify the client but the "client identifier", if present, takes precedence over "chaddr". One of the reasons for this is that "client identifier" @@ -2767,9 +2766,9 @@ It is merely echoed by the server network card and then the network card is moved to another host, the server will wrongly identify this host is the one which has obtained the lease. Moreover, - RFC 4361 gives + RFC 4361 gives the recommendation to use a DUID - (see RFC 3315, + (see RFC 3315, the DHCPv6 specification) carried as "client identifier" when dual stack networks are in use to provide consistent identification information of the client, regardless @@ -2887,11 +2886,11 @@ It is merely echoed by the server
-
+
DHCPv4-over-DHCPv6: DHCPv4 Side The support of DHCPv4-over-DHCPv6 transport is described in - RFC 7341 + RFC 7341 and is implemented using cooperating DHCPv4 and DHCPv6 servers. This section is about the configuration of the DHCPv4 side (the DHCPv6 side is described in ). @@ -2983,12 +2982,12 @@ It is merely echoed by the server -
+
Host Reservation in DHCPv4 There are many cases where it is useful to provide a configuration on a per host basis. The most obvious one is to reserve a specific, static - address for exclusive use by a given client (host) ‐ the returning client will + address for exclusive use by a given client (host) ‐ the returning client will receive the same address from the server every time, and other clients will generally not receive that address. Another example when the host reservations are applicable is when a host @@ -3080,7 +3079,7 @@ It is merely echoed by the server could be used by someone else (i.e. there is a reservation for it). That additional check incurs additional overhead. -
+
Address Reservation Types In a typical scenario there is an IPv4 subnet defined, @@ -3099,7 +3098,7 @@ It is merely echoed by the server possible.
-
+
Conflicts in DHCPv4 Reservations As the reservations and lease information are stored separately, conflicts may arise. Consider the following series of events. The server @@ -3176,7 +3175,7 @@ It is merely echoed by the server
-
+
Reserving a Hostname When the reservation for a client includes the hostname, the server will return this hostname to the client in @@ -3244,14 +3243,12 @@ It is merely echoed by the server
-
+
Including Specific DHCPv4 Options in Reservations Kea 1.1.0 introduced the ability to specify options on a per host basis. The options follow the same rules as any other - options. These can be standard options (see ), custom options (see ) or vendor specific options - (see ). The following + options. These can be standard options (see ), custom options (see ) or vendor specific options + (see ). The following example demonstrates how standard options can be defined. @@ -3305,7 +3302,7 @@ It is merely echoed by the server
-
+
Reserving Next Server, Server Hostname and Boot File Name BOOTP/DHCPv4 messages include "siaddr", "sname" and "file" fields. Even though, DHCPv4 includes corresponding options, such as option 66 and @@ -3334,7 +3331,7 @@ It is merely echoed by the server them can be omitted.
-
+
Reserving Client Classes in DHCPv4 explains how to configure the server to assign classes to a client based on the content @@ -3397,14 +3394,17 @@ It is merely echoed by the server for information on how to configure Kea to use reservations stored in MySQL, PostgreSQL or Cassandra. Kea provides dedicated hook for managing reservations in a database, section provide - detailed information. + detailed information. http://kea.isc.org/wiki/HostReservationsHowTo + provides some examples how to conduct common host reservation operations. In Kea maximum length of an option specified per host is arbitrarily set to 4096 bytes.
-
+
Fine Tuning DHCPv4 Host Reservation The host reservation capability introduces additional restrictions for the @@ -3961,7 +3961,7 @@ autogenerated IDs are not stable across configuration changes.
-
+
Server Identifier in DHCPv4 The DHCPv4 protocol uses a "server identifier" to allow clients @@ -3998,7 +3998,7 @@ autogenerated IDs are not stable across configuration changes.
-
+
How the DHCPv4 Server Selects a Subnet for the Client The DHCPv4 server differentiates between the directly connected clients, @@ -4036,7 +4036,7 @@ autogenerated IDs are not stable across configuration changes. depending on the classes to which the client belongs. -
+
Using a Specific Relay Agent for a Subnet A relay has to have an interface connected to the link on which @@ -4047,8 +4047,8 @@ autogenerated IDs are not stable across configuration changes. field of the DHCPv4 packet) to select the appropriate subnet. - However, that is not always the case. In certain uncommon — - but valid — deployments, the relay address may not match the subnet. This + However, that is not always the case. In certain uncommon — + but valid — deployments, the relay address may not match the subnet. This usually means that there is more than one subnet allocated for a given link. The two most common examples where this is the case are long lasting network renumbering (where both old and new address space is still being @@ -4086,7 +4086,7 @@ autogenerated IDs are not stable across configuration changes.
-
+
Segregating IPv4 Clients in a Cable Network In certain cases, it is useful to mix relay address information, @@ -4130,7 +4130,7 @@ autogenerated IDs are not stable across configuration changes.
-
+
Duplicate Addresses (DHCPDECLINE Support) The DHCPv4 server is configured with a certain pool of addresses @@ -4199,22 +4199,22 @@ autogenerated IDs are not stable across configuration changes.
-
+
Statistics in the DHCPv4 Server This section describes DHCPv4-specific statistics. For a general - overview and usage of statistics, see . + overview and usage of statistics, see . The DHCPv4 server supports the following statistics: -
+
DHCPv4 Statistics - - - - + + + + Statistic @@ -4513,12 +4513,12 @@ autogenerated IDs are not stable across configuration changes.
-
+
Management API for the DHCPv4 Server The management API allows the issuing of specific management commands, such as statistics retrieval, reconfiguration or shutdown. - For more details, see . Currently the only + For more details, see . Currently the only supported communication channel type is UNIX stream socket. By default there are no sockets open. To instruct Kea to open a socket, the following entry in the configuration file can be used: @@ -4582,20 +4582,20 @@ autogenerated IDs are not stable across configuration changes.
-
+
Supported DHCP Standards The following standards are currently supported: Dynamic Host Configuration Protocol, - RFC 2131: + RFC 2131: Supported messages are DHCPDISCOVER (1), DHCPOFFER (2), DHCPREQUEST (3), DHCPRELEASE (7), DHCPINFORM (8), DHCPACK (5), and DHCPNAK(6). DHCP Options and BOOTP Vendor Extensions, - RFC 2132: + RFC 2132: Supported options are: PAD (0), END(255), Message Type(53), DHCP Server Identifier (54), Domain Name (15), DNS Servers (6), IP Address Lease Time @@ -4603,19 +4603,19 @@ autogenerated IDs are not stable across configuration changes. DHCP Relay Agent Information Option, - RFC 3046: + RFC 3046: Relay Agent Information option is supported. Vendor-Identifying Vendor Options for Dynamic Host Configuration Protocol version 4, - RFC 3925: + RFC 3925: Vendor-Identifying Vendor Class and Vendor-Identifying Vendor-Specific Information options are supported. Client Identifier Option in DHCP Server Replies, - RFC 6842: + RFC 6842: Server by default sends back client-id option. That capability may be disabled. See for details. @@ -4700,7 +4700,7 @@ autogenerated IDs are not stable across configuration changes.
-
+
DHCPv4 Server Limitations These are the current limitations of the DHCPv4 server software. Most of them are reflections of the current stage of @@ -4711,7 +4711,7 @@ autogenerated IDs are not stable across configuration changes. - BOOTP (RFC 951) + BOOTP (RFC 951) is not supported. This is a design choice: BOOTP support is not planned. @@ -4728,7 +4728,7 @@ autogenerated IDs are not stable across configuration changes. The DHCPv4 server does not verify that - assigned address is unused. According to RFC 2131, the + assigned address is unused. According to RFC 2131, the allocating server should verify that address is not used by sending ICMP echo request. diff --git a/doc/guide/dhcp6-srv.xml b/doc/guide/dhcp6-srv.xml index 492f384229fe5e47d61d9cce8cacebccbfbb1e4e..f5e1ae340eaf3aab3d7b513da3510ab09fa8b4ee 100644 --- a/doc/guide/dhcp6-srv.xml +++ b/doc/guide/dhcp6-srv.xml @@ -1,13 +1,15 @@ - - -]> - - + + + The DHCPv6 Server -
+
Starting and Stopping the DHCPv6 Server @@ -132,7 +134,7 @@ strings path/kea-dhcp6 | sed -n 's/;;;; //p'
-
+
DHCPv6 Server Configuration
Introduction @@ -208,8 +210,8 @@ the configuration file must be well formed JSON. That means that parameters for any given scope must be separated by a comma and there must not be a comma after the last parameter. When reordering a configuration file, keep in mind that moving a parameter to or from the last position in a given scope may also require -moving the comma. The second caveat is that it is uncommon — although -legal JSON — to +moving the comma. The second caveat is that it is uncommon — although +legal JSON — to repeat the same parameter multiple times. If that happens, the last occurrence of a given parameter in a given scope is used while all previous instances are ignored. This is unlikely to cause any confusion as there are no real life @@ -303,8 +305,7 @@ be followed by a comma and another object definition. Memfile - Basic Storage for Leases The server is able to store lease data in different repositories. Larger - deployments may elect to store leases in a database. describes this option. In typical + deployments may elect to store leases in a database. describes this option. In typical smaller deployments though, the server will store lease information in a CSV file rather than a database. As well as requiring less administration, an advantage of using a file for storage is that it @@ -415,12 +416,12 @@ be followed by a comma and another object definition. file used by the server to record lease updates. There are also other files being created as a side effect of the lease file cleanup. The detailed description of the LFC is located on the Kea wiki: - . + http://kea.isc.org/wiki/LFCDesign.
-
+
Lease Database Configuration @@ -504,7 +505,7 @@ If a timeout is given though, it should be an integer greater than zero.
-
+
Hosts Storage Kea is also able to store information about host reservations in the database. The hosts database configuration uses the same syntax as the lease @@ -524,7 +525,7 @@ If a timeout is given though, it should be an integer greater than zero. from the configuration file are checked first and external storage is checked later, if necessary. -
+
DHCPv6 Hosts Database Configuration Hosts database configuration is controlled through the Dhcp6/hosts-database @@ -566,7 +567,7 @@ If a timeout is given though, it should be an integer greater than zero. "". (This is also the default.)
-
+
Using Read-Only Databases for Host Reservations In some deployments the database user whose name is specified in the database backend @@ -599,7 +600,7 @@ for MySQL and PostgreSQL databases.
-
+
Interface Selection The DHCPv6 server has to be configured to listen on specific network interfaces. The simplest network interface configuration instructs the server to @@ -656,7 +657,7 @@ temporarily override a list of interface names and listen on all interfaces.
-
+
IPv6 Subnet Identifier The subnet identifier is a unique number associated with a particular subnet. @@ -701,7 +702,7 @@ temporarily override a list of interface names and listen on all interfaces. id -->
-
+
Unicast Traffic Support When the DHCPv6 server starts, by default it listens to the DHCP traffic @@ -757,7 +758,7 @@ temporarily override a list of interface names and listen on all interfaces.
-
+
Subnet and Address Pool The main role of a DHCPv6 server is address assignment. For this, @@ -862,7 +863,7 @@ temporarily override a list of interface names and listen on all interfaces. Subnet and Prefix Delegation Pools Subnets may also be configured to delegate prefixes, as defined in - RFC 3633. A + RFC 3633. A subnet may have one or more prefix delegation pools. Each pool has a prefixed address, which is specified as a prefix (prefix) and a prefix length @@ -895,12 +896,12 @@ temporarily override a list of interface names and listen on all interfaces.
-
+
Prefix Exclude Option For each delegated prefix the delegating router may choose to exclude a single prefix out of the delegated prefix as specified in the - RFC 6603. + RFC 6603. The requesting router must not assign the excluded prefix to any of its downstream interfaces and it is intended to be used on a link through which the delegating router exchanges DHCPv6 messages with @@ -930,7 +931,7 @@ temporarily override a list of interface names and listen on all interfaces.
-
+
Standard DHCPv6 Options One of the major features of a DHCPv6 server is to provide configuration @@ -963,13 +964,11 @@ temporarily override a list of interface names and listen on all interfaces. information on all global options that the server is supposed to configure in all subnets. The name line specifies the option name. (For a complete list - of currently supported names, see .) The next line specifies the option code, + of currently supported names, see .) The next line specifies the option code, which must match one of the values from that list. The line beginning with space specifies the option space, which must always be set to "dhcp6" as these are standard DHCPv6 options. For other name spaces, - including custom option spaces, see . The following line specifies the format in + including custom option spaces, see . The following line specifies the format in which the data will be entered: use of CSV (comma separated values) is recommended. Finally, the data line gives the actual value to be sent to clients. Data is specified as normal text, with values separated by @@ -1179,7 +1178,7 @@ temporarily override a list of interface names and listen on all interfaces. required, because both the routine splitting CSV data into fields and JSON use the same escape character: a single escape (\,) would make the JSON invalid. For example, the string - "EST5EDT4,M3.2.0/02:00,M11.1.0/02:00" would be + "EST5EDT4,M3.2.0/02:00,M11.1.0/02:00" would be represented as: "Dhcp6": { @@ -1229,13 +1228,13 @@ temporarily override a list of interface names and listen on all interfaces. - +
List of Standard DHCPv6 Options - - - - - + + + + + NameCodeTypeArray? @@ -1267,7 +1266,7 @@ temporarily override a list of interface names and listen on all interfaces. interface-id18hexfalsereconf-msg19uint8falsereconf-accept20emptyfalse --> ---> +--> sip-server-dns21fqdntruesip-server-addr22ipv6-addresstruedns-servers23ipv6-addresstrue @@ -1338,13 +1337,13 @@ temporarily override a list of interface names and listen on all interfaces. -
+
List of Experimental DHCPv6 Options - - - - - + + + + + NameCodeTypeArray? @@ -1540,7 +1539,7 @@ temporarily override a list of interface names and listen on all interfaces. -
+
Custom DHCPv6 Options It is possible to define options in addition to the standard ones. Assume that we want to define a new DHCPv6 option called "foo" which will have @@ -1689,7 +1688,7 @@ temporarily override a list of interface names and listen on all interfaces.
-
+
DHCPv6 Vendor-Specific Options Currently there are two option spaces defined for the DHCPv6 @@ -1760,7 +1759,7 @@ temporarily override a list of interface names and listen on all interfaces.
-
+
Nested DHCPv6 Options (Custom Option Spaces) It is sometimes useful to define completely new option spaces. This is useful if the user wants their new option to @@ -1864,13 +1863,13 @@ should include options from the isc option space: required to carry an uint16 value as well as the sub-options, the "type" value would have to be set to "uint16" in the option definition. (Such an option would then have the following data structure: DHCP header, uint16 - value, sub-options.) The value specified with the "data" parameter — which - should be a valid integer enclosed in quotes, e.g. "123" — would then be + value, sub-options.) The value specified with the "data" parameter — which + should be a valid integer enclosed in quotes, e.g. "123" — would then be assigned to the uint16 field in the "container" option.
-
+
Unspecified Parameters for DHCPv6 Option Configuration In many cases it is not required to specify all parameters for an option configuration and the default values can be used. However, it is @@ -1930,7 +1929,7 @@ should include options from the isc option space:
-
+
IPv6 Subnet Selection The DHCPv6 server may receive requests from local (connected to the @@ -1968,10 +1967,10 @@ should include options from the isc option space:
-
+
Rapid Commit The Rapid Commit option, described in - RFC 3315, is supported + RFC 3315, is supported by the Kea DHCPv6 server. However, support is disabled by default for all subnets. It can be enabled for a particular subnet using the rapid-commit parameter as shown below: @@ -2002,7 +2001,7 @@ should include options from the isc option space:
-
+
DHCPv6 Relays A DHCPv6 server with multiple subnets defined must select the @@ -2071,9 +2070,9 @@ should include options from the isc option space:
-
+
Relay-Supplied Options - RFC 6422 + RFC 6422 defines a mechanism called Relay-Supplied DHCP Options. In certain cases relay agents are the only entities that may have specific information. They can insert options when relaying messages from the client to the server. The @@ -2084,7 +2083,7 @@ should include options from the isc option space: included. First, the server must not provide the option itself. In other words, if both relay and server provide an option, the server always takes precedence. Second, the option must be RSOO-enabled. IANA maintains a - list of RSOO-enabled options here. + list of RSOO-enabled options here. However, there may be cases when system administrators want to echo other options. Kea can be instructed to treat other options as RSOO-enabled. For example, to mark options 110, 120 and 130 as RSOO-enabled, the following @@ -2101,14 +2100,14 @@ should include options from the isc option space: mark it. Also, when enabling standard options, it is possible to use their names, rather than option code, e.g. (e.g. use dns-servers instead of 23). See - for the names. In certain cases + for the names. In certain cases it could also work for custom options, but due to the nature of the parser code this may be unreliable and should be avoided.
-
+
Client Classification in DHCPv6 @@ -2180,7 +2179,7 @@ should include options from the isc option space: The following example shows how to configure a class using an expression and a subnet making use of that class. This configuration defines the - class named "Client_enterprise". It is comprised + class named "Client_enterprise". It is comprised of all clients whose client identifiers start with the given hex string (which would indicate a DUID based on an enterprise id of 0xAABBCCDD). They will be given an address from 2001:db8:1::0 to 2001:db8:1::FFFF and @@ -2242,7 +2241,7 @@ should include options from the isc option space:
-
+
DDNS for DHCPv6 As mentioned earlier, kea-dhcp6 can be configured to generate requests to @@ -2327,7 +2326,7 @@ should include options from the isc option space: -
+
DHCP-DDNS Server Connectivity In order for NCRs to reach the D2 server, kea-dhcp6 must be able @@ -2394,10 +2393,10 @@ should include options from the isc option space:
-
+
When Does kea-dhcp6 Generate a DDNS Request? kea-dhcp6 follows the behavior prescribed for DHCP servers in - RFC 4704. + RFC 4704. It is important to keep in mind that kea-dhcp6 provides the initial decision making of when and what to update and forwards that information to D2 in the form of NCRs. Carrying out the actual @@ -2442,13 +2441,13 @@ should include options from the isc option space: By default kea-dhcp6 will respect the FQDN N and S flags specified by the client as shown in the following table: -
+
Default FQDN Flag Behavior - - - - - + + + + + Client Flags:N-S @@ -2495,7 +2494,7 @@ should include options from the isc option space: (Note that the flag combination N=1, S=1 is prohibited according to - RFC 4702. If such a + RFC 4702. If such a combination is received from the client, the packet will be dropped by kea-dhcp6.) @@ -2531,7 +2530,7 @@ should include options from the isc option space: } -
+
kea-dhcp6 Name Generation for DDNS Update Requests Each NameChangeRequest must of course include the fully qualified domain name whose DNS entries are to be affected. kea-dhcp6 can be @@ -2665,11 +2664,11 @@ should include options from the isc option space:
-
+
DHCPv4-over-DHCPv6: DHCPv6 Side The support of DHCPv4-over-DHCPv6 transport is described in - RFC 7341 + RFC 7341 and is implemented using cooperating DHCPv4 and DHCPv6 servers. This section is about the configuration of the DHCPv6 side (the DHCPv4 side is described in ). @@ -2755,12 +2754,12 @@ should include options from the isc option space: -
+
Host Reservation in DHCPv6 There are many cases where it is useful to provide a configuration on a per host basis. The most obvious one is to reserve specific, static IPv6 - address or/and prefix for exclusive use by a given client (host) ‐ returning + address or/and prefix for exclusive use by a given client (host) ‐ returning client will get the same address or/and prefix every time and other clients will never get that address. Note that there may be cases when the new reservation has been made for the client for the address or prefix being @@ -2870,7 +2869,7 @@ should include options from the isc option space: could be used by someone else (i.e. if there is a reservation for it). That additional check incurs additional overhead. -
+
Address/Prefix Reservation Types In a typical scenario there is an IPv6 subnet defined with a certain @@ -2891,7 +2890,7 @@ should include options from the isc option space: possible.
-
+
Conflicts in DHCPv6 Reservations As reservations and lease information are stored separately, conflicts may arise. Consider the following series of events. The server @@ -2940,7 +2939,7 @@ should include options from the isc option space:
-
+
Reserving a Hostname When the reservation for the client includes the hostname, the server will assign this hostname to the client and send @@ -3001,14 +3000,12 @@ should include options from the isc option space:
-
+
Including Specific DHCPv6 Options in Reservations Kea 1.1.0 introduced the ability to specify options on a per host basis. The options follow the same rules as any other - options. These can be standard options (see ), custom options (see ) or vendor specific options - (see ). The following + options. These can be standard options (see ), custom options (see ) or vendor specific options + (see ). The following example demonstrates how standard options can be defined. @@ -3056,7 +3053,7 @@ should include options from the isc option space:
-
+
Reserving Client Classes in DHCPv6 The explains how to configure the server to assign classes to a client based on the content @@ -3116,14 +3113,18 @@ should include options from the isc option space: for information on how to configure Kea to use reservations stored in MySQL, PostgreSQL or Cassandra. Kea provides dedicated hook for managing reservations in a database, section provide - detailed information. + detailed information. The Kea wiki http://kea.isc.org/wiki/HostReservationsHowTo + provides some examples how to conduct some common operations + on host reservations. In Kea maximum length of an option specified per host is arbitrarily set to 4096 bytes.
-
+
Fine Tuning DHCPv6 Host Reservation The host reservation capability introduces additional restrictions for the @@ -3705,14 +3706,14 @@ autogenerated IDs are not stable across configuration changes. -
+
Server Identifier in DHCPv6 The DHCPv6 protocol uses a "server identifier" (also known as a DUID) for clients to be able to discriminate between several servers present on the same link. - RFC 3315 + RFC 3315 defines three DUID types: DUID-LLT, DUID-EN and DUID-LL. - RFC 6355 + RFC 6355 also defines DUID-UUID. Future specifications may introduce new DUID types. @@ -3721,7 +3722,7 @@ autogenerated IDs are not stable across configuration changes. modified across restarts of the server and so is a stable identifier. Kea follows recommendation from - RFC 3315 + RFC 3315 to use DUID-LLT as the default server identifier. However, we have received reports that some deployments require different DUID types, and there is a need to administratively select both DUID @@ -3939,7 +3940,7 @@ autogenerated IDs are not stable across configuration changes. identifier is explicitly specified in the configuration.
-
+
Stateless DHCPv6 (Information-Request Message) Typically DHCPv6 is used to assign both addresses and options. These assignments (leases) have state that changes over time, hence @@ -3984,9 +3985,9 @@ autogenerated IDs are not stable across configuration changes. even if it is not used.
-
+
Support for RFC 7550 - The RFC 7550 + The RFC 7550 introduced some changes to the DHCPv6 protocol to resolve a few issues with the coexistence of multiple stateful options in the messages sent between the clients and servers. @@ -4007,17 +4008,17 @@ autogenerated IDs are not stable across configuration changes. NoPrefixAvail status code. However, if the server can now allocate the prefixes it will do so, and send them in the IA_PD(s) to the client. Allocation of leases during the Renew/Rebind was not supported in the - RFC 3315 - and RFC 3633, + RFC 3315 + and RFC 3633, and has been introduced in - RFC 7550. + RFC 7550. Kea supports this new behavior and it doesn't provide any configuration mechanisms to disable it. The following are the other behaviors specified in the - RFC 7550 + RFC 7550 supported by the Kea DHCPv6 server: Set T1/T2 timers to the same value for all @@ -4031,7 +4032,7 @@ autogenerated IDs are not stable across configuration changes.
-
+
Using Specific Relay Agent for a Subnet The relay has to have an interface connected to the link on which @@ -4084,7 +4085,7 @@ autogenerated IDs are not stable across configuration changes.
-
+
Segregating IPv6 Clients in a Cable Network In certain cases, it is useful to mix relay address information, @@ -4133,7 +4134,7 @@ autogenerated IDs are not stable across configuration changes.
-
+
MAC/Hardware Addresses in DHCPv6 MAC/hardware addresses are available in DHCPv4 messages from the clients and administrators @@ -4194,7 +4195,7 @@ autogenerated IDs are not stable across configuration changes. duid - DHCPv6 uses DUID identifiers instead of MAC addresses. There are currently four DUID types defined, with two of them (DUID-LLT, which is the default one and DUID-LL) convey MAC address information. - Although RFC 3315 forbids + Although RFC 3315 forbids it, it is possible to parse those DUIDs and extract necessary information from them. This method is not completely reliable, as clients may use other DUID types, namely DUID-EN or DUID-UUID. @@ -4207,18 +4208,18 @@ autogenerated IDs are not stable across configuration changes. that those addresses are based on EUI-64, which contains MAC address. This method is not completely reliable, as clients may use other link-local address types. In particular, privacy extensions, defined in - RFC 4941, do not use + RFC 4941, do not use MAC addresses. Also note that successful extraction requires that the address's u-bit must be set to 1 and its g-bit set to 0, indicating that it is an interface identifier as per - - RFC 2373, section 2.5.1. + + RFC 2373, section 2.5.1. client-link-addr-option - One extension defined to alleviate missing MAC issues is client link-layer address option, defined - in RFC 6939. This is + in RFC 6939. This is an option that is inserted by a relay and contains information about client's MAC address. This method requires a relay agent that supports the option and is configured to insert it. This method is useless for directly connected @@ -4228,7 +4229,7 @@ autogenerated IDs are not stable across configuration changes. remote-id - - RFC 4649 + RFC 4649 defines a remote-id option that is inserted by a relay agent. Depending on the relay agent configuration, the inserted option may convey the client's MAC address information. This parameter can also be specified as @@ -4238,8 +4239,8 @@ autogenerated IDs are not stable across configuration changes. subscriber-id - Another option that is somewhat similar to the previous one is subscriber-id, - defined in RFC - 4580. It is, too, inserted by a relay agent that is + defined in RFC + 4580. It is, too, inserted by a relay agent that is configured to insert it. This parameter can also be specified as rfc4580, which is an alias for subscriber-id. This method is currently not @@ -4271,7 +4272,7 @@ autogenerated IDs are not stable across configuration changes. which is the default.
-
+
Duplicate Addresses (DECLINE Support) The DHCPv6 server is configured with a certain pool of @@ -4343,22 +4344,22 @@ autogenerated IDs are not stable across configuration changes. the available pool.
-
+
Statistics in the DHCPv6 Server This section describes DHCPv6-specific statistics. For a general - overview and usage of statistics, see . + overview and usage of statistics, see . The DHCPv6 server supports the following statistics: -
+
DHCPv6 Statistics - - - - + + + + Statistic @@ -4718,12 +4719,12 @@ autogenerated IDs are not stable across configuration changes.
-
+
Management API for the DHCPv6 Server The management API allows the issuing of specific management commands, such as statistics retrieval, reconfiguration or shutdown. - For more details, see . Currently the only + For more details, see . Currently the only supported communication channel type is UNIX stream socket. By default there are no sockets open. To instruct Kea to open a socket, the following entry in the configuration file can be used: @@ -4875,14 +4876,14 @@ autogenerated IDs are not stable across configuration changes.
-
+
Supported DHCPv6 Standards The following standards are currently supported: Dynamic Host Configuration Protocol for IPv6, - RFC 3315: + RFC 3315: Supported messages are SOLICIT, ADVERTISE, REQUEST, RELEASE, RENEW, REBIND, INFORMATION-REQUEST, CONFIRM and REPLY. @@ -4890,37 +4891,37 @@ autogenerated IDs are not stable across configuration changes. IPv6 Prefix Options for Dynamic Host Configuration Protocol (DHCP) version 6, - RFC 3633: + RFC 3633: Supported options are IA_PD and IA_PREFIX. Also supported is the status code NoPrefixAvail. DNS Configuration options for Dynamic Host Configuration Protocol for IPv6 (DHCPv6), - RFC 3646: + RFC 3646: Supported option is DNS_SERVERS. The Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Relay Agent Remote-ID Option, - RFC 4649: + RFC 4649: REMOTE-ID option is supported. The Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Client Fully Qualified Domain Name (FQDN) Option, - RFC 4704: + RFC 4704: Supported option is CLIENT_FQDN. Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Option for Dual-Stack Lite, - RFC 6334: + RFC 6334: the AFTR-Name DHCPv6 Option is supported. Relay-Supplied DHCP Options, - RFC 6422: + RFC 6422: Full functionality is supported: OPTION_RSOO, ability of the server to echo back the options, checks whether an option is RSOO-enabled, ability to mark additional options as RSOO-enabled. @@ -4928,21 +4929,21 @@ autogenerated IDs are not stable across configuration changes. Prefix Exclude Option for DHCPv6-based Prefix Delegation, - RFC - 6603: Prefix Exclude option is supported. + RFC + 6603: Prefix Exclude option is supported. Client Link-Layer Address Option in DHCPv6, - RFC - 6939: Supported option is client link-layer + RFC + 6939: Supported option is client link-layer address option. Issues and Recommendations with Multiple Stateful DHCPv6 Options, - RFC - 7550: All recommendations related to the DHCPv6 server + RFC + 7550: All recommendations related to the DHCPv6 server operation are supported. @@ -4955,7 +4956,7 @@ autogenerated IDs are not stable across configuration changes.
-
+
DHCPv6 Server Limitations These are the current limitations of the DHCPv6 server software. Most of them are reflections of the early stage of @@ -4966,8 +4967,8 @@ autogenerated IDs are not stable across configuration changes. The server will allocate, renew or rebind a maximum of one lease for a particular IA option (IA_NA or IA_PD) sent by a client. - RFC 3315 and - RFC 3633 allow + RFC 3315 and + RFC 3633 allow for multiple addresses or prefixes to be allocated for a single IA. diff --git a/doc/guide/faq.xml b/doc/guide/faq.xml index 66157bf292d22ae2c24fc1ffa94150b2a2e5633b..c58d35fd07808fb3450e57d324ac050898c34308 100644 --- a/doc/guide/faq.xml +++ b/doc/guide/faq.xml @@ -1,10 +1,13 @@ - - -]> - - + + + + Frequently Asked Questions This chapter contains a number of frequently asked questions and @@ -17,19 +20,19 @@ at least 2 years. If you have something short term, please consider putting it in the known issues list. --> -
+
General Frequently Asked Questions -
+
Where did the Kea name came from? Kea is the name of a high mountain parrot living in New Zealand. - See this + See this https://lists.isc.org/pipermail/kea-users/2014-October/000032.html for an extended answer.
-
+
Feature X is not supported yet. When/if will it be available? Kea is developed by a small team of engineers. Our resources are @@ -62,7 +65,7 @@ significant new features, like support for a new database type. Before considering writing and submitting a patch, make sure you read the Contributor's Guide in the - Kea Developer's Guide. + Kea Developer's Guide. Kea is developed by ISC, which is a non-profit organization. @@ -79,8 +82,8 @@ violates a RFC, we may have a problem with that. Nevertheless, please talk to us and we may be able to find a solution. - Finally, Kea has a public - roadmap, with releases happening several times each year. We tend + Finally, Kea has a public + roadmap, with releases happening several times each year. We tend to not modify plans for the current milestone, unless there are very good reasons to do so. Therefore "I'd like a feature X in 6 months" is much better received than "I'd like a feature X now". @@ -88,7 +91,7 @@
-
+
Frequently Asked Questions about DHCPv4
@@ -103,7 +106,7 @@ If you do not want the server to use raw sockets, it is possible to configure the Kea DHCPv4 server to use UDP sockets instead. See dhcp-socket-type - described in . However, + described in . However, using UDP sockets has certain limitations. In particular, they may not allow for sending responses directly to clients without IPv4 addresses assigned. That's ok, if all your traffic is coming through relay agents. @@ -111,7 +114,7 @@
-
+
Frequently Asked Questions about DHCPv6
diff --git a/doc/guide/hooks.xml b/doc/guide/hooks.xml index 69f81021c9342df5588be1519030a2f03da7974a..50115e310616c766b672b9ce5631651ed1057682 100644 --- a/doc/guide/hooks.xml +++ b/doc/guide/hooks.xml @@ -1,12 +1,14 @@ - - -]> - - + + + Hooks Libraries -
+
Introduction Although Kea offers a lot of flexibility, there may be cases where @@ -35,8 +37,8 @@ The next section describes how to configure hooks libraries. If you are interested in writing your own hooks library, information can be - found in the Kea - Developer's Guide. + found in the Kea + Developer's Guide.
@@ -110,7 +112,7 @@ Notes: - + The full path to each library should be given. @@ -164,12 +166,12 @@ Currently the following libraries are available or planned from ISC: - +
List of available hooks libraries - - - - + + + + Name @@ -286,8 +288,7 @@ ISC hopes to see more hooks libraries become available as time progresses, both developed internally and externally. Since this list may evolve dynamically, we decided to keep it on a - wiki page, available at this link: http://kea.isc.org/wiki/Hooks. + wiki page, available at this link: http://kea.isc.org/wiki/Hooks. If you are a developer or are aware of any hooks libraries not listed there, please send a note to the kea-users or kea-dev mailing lists and someone will update it. @@ -379,12 +380,10 @@ and may have the zero or more of the following entries: As with any other hooks libraries provided by ISC, internals of the - user_chk code are well documented. You can take a look at the Kea Developer's Guide section dedicated to the user_chk library + user_chk code are well documented. You can take a look at the Kea Developer's Guide section dedicated to the user_chk library that discusses how the code works internally. That, together with - our general entries in Hooks - Framework section should give you some pointers how to extend + our general entries in Hooks + Framework section should give you some pointers how to extend this library and perhaps even write your own from scratch. @@ -421,7 +420,7 @@ and may have the zero or more of the following entries: path/base-name.CCYYMMDD.txt - The "path" and "base-name" are supplied in the + The "path" and "base-name" are supplied in the configuration as described below see . The next part of the name is the date the log file was started, with four digits for year, two digits @@ -456,7 +455,7 @@ address duration device-id {client-info} {relay-info} duration - the lease lifetime expressed in days (if present), hours, minutes and seconds. A lease lifetime of 0xFFFFFFFF will be - denoted with the text "infinite duration". + denoted with the text "infinite duration". device-id - the client's hardware address shown as numerical type @@ -647,7 +646,7 @@ Administrator deleted a lease for a device identified by: duid of 1a:1b:1c:1d:1e -
+
Configuring the Forensic Log Hooks To use this functionality the hook library must be included in the @@ -655,7 +654,7 @@ Administrator deleted a lease for a device identified by: duid of 1a:1b:1c:1d:1e library is installed alongside the Kea libraries in [kea-install-dir]/lib where kea-install-dir is determined by the - "--prefix" option of the configure script. It defaults to + "--prefix" option of the configure script. It defaults to /usr/local. Assuming the default value then, configuring kea-dhcp4 to load the legal_log library could be done with the following Kea4 configuration: @@ -762,7 +761,7 @@ Administrator deleted a lease for a device identified by: duid of 1a:1b:1c:1d:1e
-
+
flex_id: Flexible Identifiers for Host Reservations This section describes a hook application dedicated to generate @@ -781,8 +780,7 @@ Administrator deleted a lease for a device identified by: duid of 1a:1b:1c:1d:1e support contract. The library allows for defining an expression, using notation - initially used for client classification only. See for detailed description + initially used for client classification only. See for detailed description of the syntax available. One notable difference is that for client classification the expression currently has to evaluate to either true or false, while the flexible identifier expression is expected to @@ -999,7 +997,7 @@ Administrator deleted a lease for a device identified by: duid of 1a:1b:1c:1d:1e
-
+
host_cmds: Host Commands This section describes a hook application that offers a number of new @@ -1028,8 +1026,7 @@ Administrator deleted a lease for a device identified by: duid of 1a:1b:1c:1d:1e (currently these are reservation-add and reservation-del, but this rule applies to other commands that may be implemented in the future), hosts database must be specified (see hosts-database description in - and ) and it must not operate in + and ) and it must not operate in read-only mode. If the hosts-database is not specified or is running in read-only mode, the host_cmds library will load, but any attempts to use reservation-add or reservation-del will fail. @@ -1038,8 +1035,8 @@ Administrator deleted a lease for a device identified by: duid of 1a:1b:1c:1d:1e Additional host reservation commands are planned in the future. For a description of envisaged commands, see -Control API -Requirements document. +Control API +Requirements document. All commands are using JSON syntax. They can be issued either using @@ -1070,8 +1067,7 @@ Requirements document. takes a set of arguments that vary depending on the nature of the host reservation. Any parameters allowed in the configuration file that pertain to host reservation are permitted here. For details regarding - IPv4 reservations, see and . There is one notable addition. A + IPv4 reservations, see and . There is one notable addition. A subnet-id must be specified. This parameter is mandatory, because reservations specified in the configuration file are always defined within a subnet, so the subnet they belong to is @@ -1303,7 +1299,7 @@ An example deletion by (subnet-id, identifier-type, identifier) looks as follows -
+
lease_cmds: Lease Commands This section describes the hook library that offers a number of new @@ -1438,7 +1434,7 @@ An example deletion by (subnet-id, identifier-type, identifier) looks as follows lease6-add can be also used to add leases for IPv6 prefixes. In this case there are two parameters that must be -specified: type (set to value of "IA_PD") and a prefix +specified: type (set to value of "IA_PD") and a prefix length. The actual prefix is set using ip-address field. For example, to configure a lease for prefix 2001:db8:abcd::/48, the following command can be used: @@ -1873,7 +1869,7 @@ An example IPv4 lease deletion by "hw-address" looks as follows:
-
+
subnet_cmds: Subnet Commands This section describes a hook application that offers a number of new @@ -1892,7 +1888,7 @@ An example IPv4 lease deletion by "hw-address" looks as follows: support contract. The following commands are currently supported: - + subnet4-list/subnet6-list: lists all configured subnets @@ -2697,7 +2693,7 @@ both the command and the response. -
+
User contexts Hook libraries can have their own configuration parameters. That is convenient if the parameter applies to the whole library. However, @@ -2736,4 +2732,4 @@ both the command and the response. - + diff --git a/doc/guide/install.xml b/doc/guide/install.xml index a3f8c33e9785c7258290ffbcf55bdb555a9028bd..27236656cb73ecbac1c5e8a7407efede8d126dc9 100644 --- a/doc/guide/install.xml +++ b/doc/guide/install.xml @@ -1,13 +1,16 @@ - - -]> + - + + Installation -
+
Packages @@ -25,7 +28,7 @@
-
+
Installation Hierarchy The following is the directory layout of the complete Kea installation. @@ -33,55 +36,55 @@ - bin/ — + bin/ — utility programs. - etc/kea/ — + etc/kea/ — configuration files. - include/ — + include/ — C++ development header files. - lib/ — + lib/ — libraries. - sbin/ — + sbin/ — server software and commands used by the system administrator. - share/kea/ — + share/kea/ — configuration specifications and examples. - share/doc/kea/ — + share/doc/kea/ — this guide, other supplementary documentation, and examples. - share/man/ — + share/man/ — manual pages (online documentation). - var/kea/ — + var/kea/ — server identification, lease databases, and log files. @@ -89,12 +92,11 @@
-
+
Building Requirements - In addition to the run-time requirements (listed in ), building Kea from source code requires + In addition to the run-time requirements (listed in ), building Kea from source code requires various development include headers and program development tools. @@ -113,7 +115,7 @@ Boost C++ Libraries - (). + (http://www.boost.org/). The oldest Boost version used for testing is 1.57 (it may work with older versions). Boost system library is required. Building boost header only is no longer recommended. @@ -194,15 +196,19 @@ Debian and Ubuntu: + + Visit the user-contributed wiki at + http://kea.isc.org/wiki/Install + for system-specific installation tips. +
-
+
Installation from Source Kea is open source software written in C++. It is freely available in source code form from ISC as a downloadable tar file. A copy of the Kea - source code repository is accessible from Github (). Kea may also be available + source code repository is accessible from Github (https://github.com/isc-projects/kea). Kea may also be available in pre-compiled ready-to-use packages from operating system vendors. @@ -211,7 +217,7 @@ Debian and Ubuntu: Download Tar File The Kea release tarballs may be downloaded from: - (using FTP or HTTP). + http://ftp.isc.org/isc/kea/ (using FTP or HTTP).
@@ -234,7 +240,7 @@ Debian and Ubuntu: The latest development code is available on Github (see - ). The Kea source + https://github.com/isc-projects/kea). The Kea source is public and development is done in the master branch. @@ -264,17 +270,17 @@ Debian and Ubuntu: are a developer planning to contribute to Kea, please fork our Github repository and use the "pull request" mechanism to request integration of your code. Please consult - for help on + https://help.github.com/articles/fork-a-repo/ for help on how to fork a Github repository. - The Kea - Developer's Guide contains more information about the process, as + The Kea + Developer's Guide contains more information about the process, as well as describing the requirements for contributed code to be accepted by ISC.
-
+
Configure Before the Build Kea uses the GNU Build System to discover build environment @@ -341,7 +347,7 @@ Debian and Ubuntu: Google Test framework. This option specifies the path to the gtest source. (If the framework is not installed on your system, it can be downloaded - from .) + from https://code.google.com/p/googletest.) @@ -372,7 +378,7 @@ Debian and Ubuntu: For instructions concerning the installation and configuration of database backends for Kea, see . For information concerning the configuration backends, see - . + . @@ -439,22 +445,22 @@ Debian and Ubuntu: The install step may require superuser privileges. - If required, run ldconfig as root with - /usr/local/lib (or with prefix/lib if - configured with --prefix) in - /etc/ld.so.conf (or the relevant linker - cache configuration file for your OS): - $ ldconfig + If required, run ldconfig as root with + /usr/local/lib (or with prefix/lib if + configured with --prefix) in + /etc/ld.so.conf (or the relevant linker + cache configuration file for your OS): + $ ldconfig - If you do not run ldconfig where it is - required, you may see errors like the following: + If you do not run ldconfig where it is + required, you may see errors like the following: - program: error while loading shared libraries: libkea-something.so.1: - cannot open shared object file: No such file or directory - - + program: error while loading shared libraries: libkea-something.so.1: + cannot open shared object file: No such file or directory + +
@@ -462,7 +468,7 @@ Debian and Ubuntu:
-
+
Selecting the Configuration Backend Kea 0.9 introduced configuration backends that are switchable during the compilation phase. Only one backend, JSON, @@ -474,10 +480,10 @@ Debian and Ubuntu: JSON - JSON is the default configuration backend - that allows Kea to read JSON configuration files from - disk. It does not require any framework and thus is - considered more lightweight. It allows dynamic on-line + JSON is the default configuration backend + that allows Kea to read JSON configuration files from + disk. It does not require any framework and thus is + considered more lightweight. It allows dynamic on-line reconfiguration using Kea API. @@ -485,7 +491,7 @@ Debian and Ubuntu:
-
+
DHCP Database Installation and Configuration Kea stores its leases in a lease database. The software has been @@ -504,8 +510,8 @@ Debian and Ubuntu: When unit tests are built with Kea (the --with-gtest configuration option is specified), the databases must be manually pre-configured for the unit tests to run. The details of this configuration can be found in the - Kea Developer's - Guide. + Kea Developer's + Guide. @@ -521,7 +527,7 @@ Debian and Ubuntu: "configure" step (see ), the --with-dhcp-mysql switch should be specified: ./configure [other-options] --with-dhcp-mysql - If MySQL was not installed in the default location, the location of the MySQL + If MySQL was not installed in the default location, the location of the MySQL configuration program "mysql_config" should be included with the switch, i.e. ./configure [other-options] --with-dhcp-mysql=path-to-mysql_config @@ -535,7 +541,7 @@ Debian and Ubuntu: Building with PostgreSQL support Install PostgreSQL according to the instructions for your system. The client development - libraries must be installed. Client development libraries are often packaged as "libpq". + libraries must be installed. Client development libraries are often packaged as "libpq". Build and install Kea as described in , with @@ -543,7 +549,7 @@ Debian and Ubuntu: "configure" step (see ), the --with-dhcp-pgsql switch should be specified: ./configure [other-options] --with-dhcp-pgsql - If PostgreSQL was not installed in the default location, the location of the PostgreSQL + If PostgreSQL was not installed in the default location, the location of the PostgreSQL configuration program "pg_config" should be included with the switch, i.e. ./configure [other-options] --with-dhcp-pgsql=path-to-pg_config @@ -557,13 +563,12 @@ Debian and Ubuntu: Building with CQL (Cassandra) support Install Cassandra according to the instructions for your system. The - Cassandra project website contains useful pointers: . + Cassandra project website contains useful pointers: http://cassandra.apache.org. Download and compile cpp-driver from DataStax. For details regarding dependencies for building cpp-driver, see the project homepage - . In June + https://github.com/datastax/cpp-driver. In June 2016, the following commands were used: $ git clone https://github.com/datastax/cpp-driver diff --git a/doc/guide/intro.xml b/doc/guide/intro.xml index b2e433b155e9280037b2d004bdcd4218d124b240..b857c7284514d2cebe98db0b914f215d2949a9aa 100644 --- a/doc/guide/intro.xml +++ b/doc/guide/intro.xml @@ -1,12 +1,18 @@ - - - -%version; + + + + +%keaversion; ]> - + Introduction Kea is the next generation of DHCP software developed by ISC. @@ -22,7 +28,7 @@ - This guide covers Kea version &__VERSION__;. + This guide covers Kea version &keaversion;.
@@ -38,7 +44,7 @@ There are currently no plans to port Kea to Windows platforms.
-
+
Required Software at Run-time @@ -56,9 +62,9 @@ Kea supports two crypto libraries: Botan and OpenSSL. Only one of them is required to be installed during compilation. Kea uses the Botan - crypto library for C++ (), + crypto library for C++ (http://botan.randombit.net/), version 1.8 or later. As an alternative to Botan, Kea can use the - OpenSSL crypto library (), + OpenSSL crypto library (http://www.openssl.org/), version 1.0.1 or later. @@ -66,7 +72,7 @@ Kea uses the log4cplus C++ logging library - (). + (http://log4cplus.sourceforge.net/). It requires log4cplus version 1.0.3 or later. @@ -97,7 +103,7 @@
-
+
Kea Software Kea is modular. Part of this modularity is @@ -112,7 +118,7 @@ - keactrl — + keactrl — Tool to start, stop, reconfigure, and report status for the Kea servers. @@ -120,7 +126,7 @@ - kea-dhcp4 — + kea-dhcp4 — The DHCPv4 server process. This process responds to DHCPv4 queries from clients. @@ -128,7 +134,7 @@ - kea-dhcp6 — + kea-dhcp6 — The DHCPv6 server process. This process responds to DHCPv6 queries from clients. @@ -136,7 +142,7 @@ - kea-dhcp-ddns — + kea-dhcp-ddns — The DHCP Dynamic DNS process. This process acts as an intermediary between the DHCP servers and DNS servers. It receives name update requests from the DHCP @@ -146,7 +152,7 @@ - kea-admin — + kea-admin — A useful tool for database backend maintenance (creating a new database, checking versions, upgrading etc.) @@ -154,7 +160,7 @@ - kea-lfc — + kea-lfc — This process removes redundant information from the files used to provide persistent storage for the memfile data base backend. While it can be run standalone, it is normally run as and when @@ -164,7 +170,7 @@ - kea-ctrl-agent — + kea-ctrl-agent — Kea Control Agent (CA) is a daemon exposes a RESTful control interface for managing Kea servers. @@ -172,7 +178,7 @@ - perfdhcp — + perfdhcp — A DHCP benchmarking tool which simulates multiple clients to test both DHCPv4 and DHCPv6 server performance. diff --git a/doc/guide/kea-guide.xml b/doc/guide/kea-guide.xml index 9baa8d13a6b07bb75a17c6f28906e19a8edc2bb4..a8c02aaaf2988a8de49bda23390da7197d46a512 100644 --- a/doc/guide/kea-guide.xml +++ b/doc/guide/kea-guide.xml @@ -1,23 +1,23 @@ - - - -%version; -]> - + - + + +%keaversion; +]> + + + - + <inlinemediaobject> @@ -28,8 +28,7 @@ Kea Administrator Reference Manual - This is the reference guide for Kea version - &__VERSION__;. + This is the reference guide for Kea version &keaversion;. 2010-2017 @@ -45,55 +44,55 @@ - This is the reference guide for Kea version &__VERSION__;. + This is the reference guide for Kea version &keaversion;. The most up-to-date version of this document (in PDF, HTML, and plain text formats), along with other documents for - Kea, can be found at . + Kea, can be found at http://kea.isc.org/docs. - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + Acknowledgments Kea is an open source project designed, developed, and maintained by Internet Systems @@ -105,31 +104,32 @@ If you would like to contribute to ISC to assist us in continuing to make quality open source software, please visit our donations page at ​http://www.isc.org/donate/. - We thank all the organizations and individuals who have helped to make Kea - possible. Comcast and the Comcast Innovation Fund provided major support for the development + possible. Comcast + and the Comcast Innovation Fund provided major support for the development of Kea's DHCPv4, DHCPv6 and DDNS modules. Mozilla funded initial work on the REST API via a MOSS award. - Kea was initially implemented as a collection of applications within the BIND 10 framework. We thank the founding sponsors of the BIND10 project: - Afilias, - IIS.SE, - Nominet, and - SIDN; BIND10 patrons - JPRS and - CIRA; and additional sponsors - AFNIC, - CNNIC, - CZ.NIC, - DENIC eG, - Google, - RIPE NCC, - Registro.br, - .nz Registry Services, and - Technical Center of Internet. + Afilias, + IIS.SE, + Nominet, + SIDN, + JPRS, + CIRA; and additional sponsors + AFNIC, + CNNIC, + CZ.NIC, + DENIC eG, + Google, + RIPE NCC, + Registro.br, + .nz Registry Services, and + Technical Center of Internet + . diff --git a/doc/guide/keactrl.xml b/doc/guide/keactrl.xml index 7e0aa4aa8d8fcbbf5af7dc2b0581d0f7a23ca07b..503372685abe613428c80c68515088918ede58f2 100644 --- a/doc/guide/keactrl.xml +++ b/doc/guide/keactrl.xml @@ -1,13 +1,16 @@ - - -]> + - + + Managing Kea with keactrl -
+
Overview keactrl is a shell script which controls the startup, shutdown and reconfiguration of the Kea servers (kea-dhcp4, @@ -18,7 +21,7 @@
-
+
Command Line Options keactrl is run as follows: @@ -51,7 +54,7 @@ keactrl <command> [-c keactrl-config-file] [-s server[,server,..]]
-
+
The keactrl Configuration File Depending on requirements, not all of the available servers need @@ -147,7 +150,7 @@ kea_verbose=no
-
+
Commands The following commands are supported by keactrl: @@ -274,7 +277,7 @@ keactrl configuration file: /usr/local/etc/kea/keactrl.conf
-
+
Overriding the Server Selection The optional -s switch allows diff --git a/doc/guide/lease-expiration.xml b/doc/guide/lease-expiration.xml index abca79b0f3521be63c670126b83da467420d86d9..4b7c5c82485de55c586abf84123e4d88518d6191 100644 --- a/doc/guide/lease-expiration.xml +++ b/doc/guide/lease-expiration.xml @@ -1,9 +1,13 @@ - - -]> - + + + + Lease Expiration in DHCPv4 and DHCPv6 The primary role of the DHCP server is to assign addresses and/or @@ -47,7 +51,7 @@ DHCPv6 server configuration. -
+
Lease Reclamation Lease reclamation is the process through which an expired lease becomes available for assignment to the same or different client. @@ -81,7 +85,7 @@ hooks libraries.
-
+
Configuring Lease Reclamation Kea can be configured to periodically detect and reclaim expired leases. During this process the lease entries in the database are @@ -122,8 +126,8 @@ | c1 | | c2 | |c3| | c4 | -|<---->|<---------->|<-->|<---------->|<>|<---------->|<-->| -----------------------------------------------------------------> +|<---->|<---------->|<-->|<---------->|<>|<---------->|<-->| +----------------------------------------------------------------> | | 5s | | 5s | | 5s | | time @@ -187,8 +191,8 @@ | c1 | | c2 | | c3 | | c4 | -|<-->|<-------------->|<-->|<-------------->|<-->|<-------------->|<-->|<-- -------------------------------------------------------------------------------> +|<-->|<-------------->|<-->|<-------------->|<-->|<-------------->|<-->|<-- +------------------------------------------------------------------------------> |50ms| 3s |50ms| 3s |50ms| 3s |50ms| time @@ -225,7 +229,7 @@ periodic reclamation of the expired leases.
-
+
Configuring Lease Affinity Suppose that a laptop goes to a sleep mode after a period of user inactivity. While the laptop is in sleep mode, its DHCP client will not @@ -295,7 +299,7 @@ process may impact server responsiveness.
-
+
Default Configuration Values for Leases Reclamation The following list presents all configuration parameters pertaining to processing expired leases with their default values: @@ -329,7 +333,7 @@
-
+
Reclaiming Expired Leases with Command The leases-reclaim command can be used to trigger leases reclamation at any time. Please consult the diff --git a/doc/guide/lfc.xml b/doc/guide/lfc.xml index f6580e83fa6146ab86cd026ffcd6119f38b4e997..e689bde5aa65b4cbffadf7d24cf20e559dead40b 100644 --- a/doc/guide/lfc.xml +++ b/doc/guide/lfc.xml @@ -1,13 +1,16 @@ - - -]> + - + + The LFC process -
+
Overview kea-lfc is a service process that removes redundant information from the files used to provide persistent storage @@ -26,7 +29,7 @@
-
+
Command Line Options kea-lfc is run as follows: @@ -54,7 +57,7 @@ kea-lfc [-4 | -6] -c config-file -p pid-file -x previous-file -i copy-file -o ou - previous — + previous — When kea-lfc starts this is the result of any previous run of kea-lfc. When kea-lfc finishes it is the result of this run. @@ -63,21 +66,21 @@ kea-lfc [-4 | -6] -c config-file -p pid-file -x previous-file -i copy-file -o ou - input — + input — Before the DHCP server invokes kea-lfc it will move the current lease file here and then call kea-lfc with this file. - output — + output — The temporary file kea-lfc should use to write the leases. Upon completion of writing this file, it will be moved to the finish file (see below). - finish — + finish — Another temporary file kea-lfc uses for bookkeeping. When kea-lfc completes writing the outputfile it moves it to this file name. After kea-lfc finishes deleting the other files diff --git a/doc/guide/libdhcp.xml b/doc/guide/libdhcp.xml index 851c87469fcad67ebf0b35e9a0adffa880014a33..9e192eeb294abc98b70d56f90ba0a757b1267c9d 100644 --- a/doc/guide/libdhcp.xml +++ b/doc/guide/libdhcp.xml @@ -1,10 +1,13 @@ - - -]> + - + + The libdhcp++ Library libdhcp++ is a library written in C++ that handles @@ -32,7 +35,7 @@ -
+
Interface detection and Socket handling Both the DHCPv4 and DHCPv6 components share network interface detection routines. Interface detection is diff --git a/doc/guide/logging.xml b/doc/guide/logging.xml index 1806982a179d091e1945d963a7a9a8b35604c0d5..412b0f0c72b51f5ac27fbd5847b15f8f2e4138ce 100644 --- a/doc/guide/logging.xml +++ b/doc/guide/logging.xml @@ -1,22 +1,13 @@ - - -]> - - - - + + + + Logging
@@ -77,7 +68,7 @@ severity or greater to standard output. There is also a small time window after Kea has been started, but has not yet read its configuration. Logging in this short period can be controlled - using environment variables. For details, see . + using environment variables. For details, see . @@ -171,8 +162,8 @@ that might match a particular logger, the specification with the more specific logger name takes precedence. For example, if there are entries for both kea-dhcp4 and - kea-dhcp4.dhcpsrv, the DHCPv4 server — and all - libraries it uses that are not dhcpsrv — will log messages + kea-dhcp4.dhcpsrv, the DHCPv4 server — and all + libraries it uses that are not dhcpsrv — will log messages according to the configuration in the first entry (kea-dhcp4). @@ -631,7 +622,7 @@ Only relevant when the destination is a file. This is maximum size in bytes that a log file may reach. When the maximum size is reached, the file is renamed and a new file opened. For example, - a ".1" is appended to the name — if a ".1" file exists, it + a ".1" is appended to the name — if a ".1" file exists, it is renamed ".2", etc. This is referred to as rotation. @@ -717,7 +708,7 @@
-
+
Logging Message Format Each message written to the configured logging destinations comprises a @@ -784,9 +775,9 @@ The message identification. Every message in Kea has a unique identification, which can be used as an index into the - Kea Messages - Manual - () + Kea Messages + Manual + (http://kea.isc.org/docs/kea-messages.html) from which more information can be obtained. @@ -808,7 +799,7 @@
-
+
Logging During Kea Startup The logging configuration is specified in the configuration file. diff --git a/doc/guide/quickstart.xml b/doc/guide/quickstart.xml index c632dd0dd2136931cfff69c804b5856f2178e825..07e09b2cfaf15b6e71f57fb27a08b9acdfb51b40 100644 --- a/doc/guide/quickstart.xml +++ b/doc/guide/quickstart.xml @@ -1,12 +1,22 @@ - - - -%version; + + + + +%keaversion; ]> - + + + + Quick Start @@ -15,34 +25,33 @@ respective chapters in the Kea guide. -
+
Quick Start Guide for DHCPv4 and DHCPv6 Services - Install required run-time and build dependencies. See for details. + Install required run-time and build dependencies. See for details. - Download Kea source tarball from ISC.org downloads page or ISC ftp server. + Download Kea source tarball from ISC.org downloads page or ISC ftp server. Extract the tarball. For example: - $ tar xvzf kea-&__VERSION__;.tar.gz + $ tar xvzf kea-&keaversion;.tar.gz Go into the source directory and run the configure script: - $ cd kea-&__VERSION__; + $ cd kea-&keaversion; $ ./configure [your extra parameters] @@ -100,7 +109,7 @@ $ ./configure [your extra parameters] If the server has been started successfully, test that it is responding to DHCP queries and that the client receives a configuration from the server; for example, use - the ISC DHCP client. + the ISC DHCP client. @@ -113,15 +122,15 @@ $ ./configure [your extra parameters] For instructions specific to your system, please read the - system specific notes, - available on the Kea web site. + system specific notes, + available on the Kea web site. The details of keactrl script usage can be found in .
-
+
Running the Kea Servers Directly The Kea servers can be started directly, without the need to use the keactrl. To start the DHCPv4 server run the following diff --git a/doc/guide/shell.xml b/doc/guide/shell.xml index 1c470cada8c6d5203593c30331b0aaafb92d11df..9396130a0f45fa15578d3478a6c83694c91bfbd2 100644 --- a/doc/guide/shell.xml +++ b/doc/guide/shell.xml @@ -1,13 +1,15 @@ - - -]> - - + + + The Kea Shell -
+
Overview Kea 1.2.0 introduced the Control Agent (CA, see ) that provides a RESTful control interface over HTTP. That API is typically expected to be used by @@ -21,7 +23,7 @@
-
+
Shell Usage kea-shell is run as follows: @@ -124,7 +126,7 @@ $ kea-shell --host 192.0.2.1 --port 8001 --service dhcp4 list-command $ cat param.json "filename": "my-config-file.json" -$ cat param.json | kea-shell --host 192.0.2.1 config-write > result.json +$ cat param.json | kea-shell --host 192.0.2.1 config-write > result.json diff --git a/doc/guide/stats.xml b/doc/guide/stats.xml index 17164c4df60e0a3d7137bbb15ed74e4e2d5a7917..445cddf068c0661ae764a4860087613011f9bee7 100644 --- a/doc/guide/stats.xml +++ b/doc/guide/stats.xml @@ -1,10 +1,12 @@ - - -]> - - + + + Statistics
@@ -51,13 +53,12 @@ During normal operation, DHCPv4 and DHCPv6 servers gather statistics. - For a list of DHCPv4 and DHCPv6 statistics, see and , respectively. + For a list of DHCPv4 and DHCPv6 statistics, see and , respectively. To extract data from the statistics module, the control channel can be - used. See for details. It is possible to + used. See for details. It is possible to retrieve a single or all statistics, reset statistics (i.e. set to neutral value, typically zero) or even remove completely a single or all statistics. See section for a list of @@ -65,7 +66,7 @@
-
+
Statistics Lifecycle It is useful to understand how the Statistics Manager module works. When @@ -99,7 +100,7 @@
-
+
Commands for Manipulating Statistics There are several commands defined that can be used for accessing (-get), @@ -120,7 +121,7 @@ sending commands to Kea, see . -
+
statistic-get command @@ -146,7 +147,7 @@
-
+
statistic-reset command @@ -173,7 +174,7 @@
-
+
statistic-remove command @@ -199,7 +200,7 @@
-
+
statistic-get-all command @@ -219,7 +220,7 @@
-
+
statistic-reset-all command @@ -241,7 +242,7 @@
-
+
statistic-remove-all command diff --git a/src/bin/admin/kea-admin.xml b/src/bin/admin/kea-admin.xml index edd15c865b310dc8cdadf4a5a842f4c06773c65f..379014c9203a6270b64e4dbca4cd9566f1a74e3d 100644 --- a/src/bin/admin/kea-admin.xml +++ b/src/bin/admin/kea-admin.xml @@ -1,30 +1,25 @@ -]> - - + + + ISC Kea - Oct. 27, 2017 - 1.3.0 - - The Kea software has been written by a number of + Sep. 28, 2016 + 1.1.0 + The Kea software has been written by a number of engineers working for ISC: Tomek Mrugalski, Stephen Morris, Marcin Siodelski, Thomas Markwalder, Francis Dupont, Jeremy C. Reed, Wlodek Wencel and Shawn Routhier. That list is roughly in the chronological order in which the authors made their first contribution. For a complete list of authors and - contributors, see AUTHORS file. - Internet Systems Consortium, Inc. - - + contributors, see AUTHORS file.Internet Systems Consortium, Inc. + kea-admin @@ -45,16 +40,16 @@ - + kea-admin - command - backend - - - - - - + command + backend + + + + + + diff --git a/src/bin/agent/kea-ctrl-agent.xml b/src/bin/agent/kea-ctrl-agent.xml index 267f2c345abebc0b2d91373f1d822406c8f58024..cae562925df549bd69476afb6f99ef083a6e7425 100644 --- a/src/bin/agent/kea-ctrl-agent.xml +++ b/src/bin/agent/kea-ctrl-agent.xml @@ -1,17 +1,15 @@ -]> - + + - + ISC Kea Oct. 27, 2017 1.3.0 @@ -22,10 +20,8 @@ Wlodek Wencel and Shawn Routhier. That list is roughly in the chronological order in which the authors made their first contribution. For a complete list of authors and - contributors, see AUTHORS file. - Internet Systems Consortium, Inc. - - + contributors, see AUTHORS file.Internet Systems Consortium, Inc. + kea-ctrl-agent @@ -46,14 +42,14 @@ - + kea-ctrl-agent - - - - - - + + + + + + @@ -217,8 +213,4 @@ - + diff --git a/src/bin/d2/kea-dhcp-ddns.xml b/src/bin/d2/kea-dhcp-ddns.xml index 04e88487b03d256a65708f86e63963197a85d537..62fc10996014db773e6767583c879e45a9969556 100644 --- a/src/bin/d2/kea-dhcp-ddns.xml +++ b/src/bin/d2/kea-dhcp-ddns.xml @@ -1,17 +1,14 @@ -]> + + - - - + ISC Kea Oct. 27, 2017 1.3.0 @@ -22,10 +19,8 @@ Wlodek Wencel and Shawn Routhier. That list is roughly in the chronological order in which the authors made their first contribution. For a complete list of authors and - contributors, see AUTHORS file. - Internet Systems Consortium, Inc. - - + contributors, see AUTHORS file.Internet Systems Consortium, Inc. + kea-dhcp-ddns @@ -46,14 +41,14 @@ - + kea-dhcp-ddns - - - - - - + + + + + + @@ -219,8 +214,4 @@ - + diff --git a/src/bin/dhcp4/kea-dhcp4.xml b/src/bin/dhcp4/kea-dhcp4.xml index e2a3531e12b20923a65f88e92cd79c3ba0e541b8..73ef11ea77d48ace158f5e8b820c45f0bbbf2f2e 100644 --- a/src/bin/dhcp4/kea-dhcp4.xml +++ b/src/bin/dhcp4/kea-dhcp4.xml @@ -1,17 +1,14 @@ -]> + + - - - + ISC Kea Oct. 27, 2017 1.3.0 @@ -22,10 +19,8 @@ Wlodek Wencel and Shawn Routhier. That list is roughly in the chronological order in which the authors made their first contribution. For a complete list of authors and - contributors, see AUTHORS file. - Internet Systems Consortium, Inc. - - + contributors, see AUTHORS file.Internet Systems Consortium, Inc. + kea-dhcp4 @@ -46,15 +41,15 @@ - + kea-dhcp4 - - - - - - - + + + + + + + @@ -224,8 +219,4 @@ - + diff --git a/src/bin/dhcp6/kea-dhcp6.xml b/src/bin/dhcp6/kea-dhcp6.xml index 27b81377d0867ab98a2d9c658fb96fc7eb1a70c4..4291cbbbc1e86e269113c4994404bc66473009ad 100644 --- a/src/bin/dhcp6/kea-dhcp6.xml +++ b/src/bin/dhcp6/kea-dhcp6.xml @@ -1,17 +1,13 @@ -]> + - - - + ISC Kea Oct. 27, 2017 1.3.0 @@ -22,10 +18,8 @@ Wlodek Wencel and Shawn Routhier. That list is roughly in the chronological order in which the authors made their first contribution. For a complete list of authors and - contributors, see AUTHORS file. - Internet Systems Consortium, Inc. - - + contributors, see AUTHORS file.Internet Systems Consortium, Inc. + kea-dhcp6 @@ -46,15 +40,15 @@ - + kea-dhcp6 - - - - - - - + + + + + + + @@ -225,8 +219,4 @@ - + diff --git a/src/bin/keactrl/keactrl.xml b/src/bin/keactrl/keactrl.xml index 5937dfb79eb82af9fe0c55bfc871592b79b9f9e4..6b19be5b872710d0f7a381f29632ce7f53bc6b82 100644 --- a/src/bin/keactrl/keactrl.xml +++ b/src/bin/keactrl/keactrl.xml @@ -1,30 +1,26 @@ -]> - - + + ISC Kea Oct. 27, 2017 1.3.0 + The Kea software has been written by a number of engineers working for ISC: Tomek Mrugalski, Stephen Morris, Marcin Siodelski, Thomas Markwalder, Francis Dupont, Jeremy C. Reed, Wlodek Wencel and Shawn Routhier. That list is roughly in the chronological order in which the authors made their first contribution. For a complete list of authors and - contributors, see AUTHORS file. - Internet Systems Consortium, Inc. - - + contributors, see AUTHORS file.Internet Systems Consortium, Inc. + keactrl @@ -45,11 +41,11 @@ - + keactrl - command - - + command + + diff --git a/src/bin/lfc/kea-lfc.xml b/src/bin/lfc/kea-lfc.xml index 02e2843c70538020d55b166f65fad4c4ef61e7fb..3aa3cff9de100b6ed772055ad700bdb4569e88ac 100644 --- a/src/bin/lfc/kea-lfc.xml +++ b/src/bin/lfc/kea-lfc.xml @@ -1,31 +1,26 @@ -]> - + + - + ISC Kea Oct. 27, 2017 1.3.0 - - The Kea software has been written by a number of + The Kea software has been written by a number of engineers working for ISC: Tomek Mrugalski, Stephen Morris, Marcin Siodelski, Thomas Markwalder, Francis Dupont, Jeremy C. Reed, Wlodek Wencel and Shawn Routhier. That list is roughly in the chronological order in which the authors made their first contribution. For a complete list of authors and - contributors, see AUTHORS file. - Internet Systems Consortium, Inc. - - + contributors, see AUTHORS file.Internet Systems Consortium, Inc. + kea-lfc @@ -46,20 +41,20 @@ - + kea-lfc - - - - - - - - - - - - + + + + + + + + + + + + @@ -283,8 +278,4 @@ - + diff --git a/src/bin/perfdhcp/perfdhcp.xml b/src/bin/perfdhcp/perfdhcp.xml index 568a4cdb09fbd7bd12425f957a7215027ae25057..585be899449b4ce964f2b450e2c47b6eb3599256 100644 --- a/src/bin/perfdhcp/perfdhcp.xml +++ b/src/bin/perfdhcp/perfdhcp.xml @@ -1,31 +1,27 @@ -]> - + - + ISC Kea Oct. 27, 2017 1.3.0 + The Kea software has been written by a number of engineers working for ISC: Tomek Mrugalski, Stephen Morris, Marcin Siodelski, Thomas Markwalder, Francis Dupont, Jeremy C. Reed, Wlodek Wencel and Shawn Routhier. That list is roughly in the chronological order in which the authors made their first contribution. For a complete list of authors and - contributors, see AUTHORS file. - Internet Systems Consortium, Inc. - - + contributors, see AUTHORS file.Internet Systems Consortium, Inc. + perfdhcp @@ -46,42 +42,42 @@ - + perfdhcp - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - server + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + server @@ -267,8 +263,7 @@ The base MAC or DUID used to simulate - different clients. The basetype may be "mac" + different clients. The basetype may be "mac" or "duid". (The keyword "ether" may alternatively used for MAC.) The option can be specified multiple times. The MAC address must consist @@ -339,8 +334,7 @@ Rate at which DHCPv4 or DHCPv6 renew requests are sent to a server. This value is only valid when used in conjunction - with the exchange rate (given by ). + with the exchange rate (given by ). Furthermore the sum of this value and the release-rate (given by ) must be equal to or less than @@ -424,10 +418,8 @@ - Initiate preload - exchanges back to back at startup. preload must be 0 + Initiate preload + exchanges back to back at startup. preload must be 0 (the default) or a positive integer. @@ -437,8 +429,7 @@ - Initiate rate DORA/SARR (or + Initiate rate DORA/SARR (or if is given, DO/SA) exchanges per second. A periodic report is generated showing the number of exchanges which were not completed, @@ -455,8 +446,7 @@ Specify how many different clients are used. With a value of 1 (the default), all requests seem - to come from the same client. num-clients must be + to come from the same client. num-clients must be a positive number. @@ -467,8 +457,7 @@ Specify the seed for randomization, making runs of - perfdhcp repeatable. seed is 0 or a positive + perfdhcp repeatable. seed is 0 or a positive integer. The value 0 means that a seed is not used; this is the default. @@ -511,8 +500,7 @@ Include extended diagnostics - in the output. diagnostic-selector + in the output. diagnostic-selector is a string of single-keywords specifying the operations for which verbose output is desired. The selector key letters are: @@ -612,11 +600,9 @@ Rate at which IPv6 RELEASE requests are sent to a server. This value is only valid when used in conjunction with the exchange - rate (given by ). + rate (given by ). Furthermore the sum of this value and the - renew-rate (given by ) + renew-rate (given by ) must be equal to or less than the exchange rate. @@ -677,8 +663,7 @@ Offset of the last octet to - randomize in the template. random-offset must be + randomize in the template. random-offset must be an integer greater than 3. The switch must be given to use this option. @@ -690,8 +675,7 @@ Offset of the server-ID option in the - (second/request) template. srvid-offset must + (second/request) template. srvid-offset must be a positive integer, and the switch can only be used when the template option () is also given. @@ -727,12 +711,10 @@ - Abort the test if more than max-drop + Abort the test if more than max-drop requests have been dropped. Use to abort if even a single - request has been dropped. If max-drop includes + request has been dropped. If max-drop includes the suffix '%', it specifies a maximum percentage of requests that may be dropped before abort. In this case, testing of the threshold begins after @@ -745,8 +727,7 @@ - Initiate num-request + Initiate num-request transactions. No report is generated until all transactions have been initiated/waited-for, after which a report is generated and the @@ -759,8 +740,7 @@ - Send requests for test-period, + Send requests for test-period, which is specified in the same manner as . This can be used as an alternative to , or both diff --git a/src/bin/shell/kea-shell.xml b/src/bin/shell/kea-shell.xml index 101e6d3a50c4f6e0fe8ecc30357fff160419e611..24e8d0f0f142614341ac906f92fa9360dc0960b1 100644 --- a/src/bin/shell/kea-shell.xml +++ b/src/bin/shell/kea-shell.xml @@ -1,17 +1,14 @@ -]> - + - + ISC Kea Oct. 28, 2017 1.3.0 @@ -22,10 +19,8 @@ Wlodek Wencel and Shawn Routhier. That list is roughly in the chronological order in which the authors made their first contribution. For a complete list of authors and - contributors, see AUTHORS file. - Internet Systems Consortium, Inc. - - + contributors, see AUTHORS file.Internet Systems Consortium, Inc. + kea-shell @@ -46,16 +41,16 @@ - + kea-shell - - - - - - - - + + + + + + + + @@ -240,8 +235,4 @@ - + diff --git a/src/bin/sockcreator/kea-sockcreator.xml b/src/bin/sockcreator/kea-sockcreator.xml index 53dc13f39d38708ebb65bee8eef01699ad3e8c7d..591cd46761705a599d8d3bfec8f5dd718f0aa579 100644 --- a/src/bin/sockcreator/kea-sockcreator.xml +++ b/src/bin/sockcreator/kea-sockcreator.xml @@ -1,15 +1,12 @@ -]> - + ISC Kea @@ -27,6 +24,10 @@ + + 2014-07-01 + + kea-sockcreator 8 @@ -46,7 +47,7 @@ - + kea-sockcreator @@ -88,8 +89,4 @@ - +