diff --git a/doc/guide/dhcp4-srv.xml b/doc/guide/dhcp4-srv.xml
index f44d98ddee..efcb8ef3c0 100644
--- a/doc/guide/dhcp4-srv.xml
+++ b/doc/guide/dhcp4-srv.xml
@@ -129,7 +129,7 @@ strings path/kea-dhcp4 | sed -n 's/;;;; //p'
If the file already exists and contains the PID of a live process,
the server will issue a DHCP4_ALREADY_RUNNING log message and exit. It
is possible, though unlikely, that the file is a remnant of a system crash
- and the process to which the PID belongs is unrelated to Kea. In such a
+ and the process to which the PID belongs is unrelated to Kea. In such a
case it would be necessary to manually delete the PID file.
@@ -1777,7 +1777,7 @@ It is merely echoed by the server
- Configuring DHCPv4 for DDNS
+ DDNS for DHCPv4
As mentioned earlier, kea-dhcp4 can be configured to generate requests to the
DHCP-DDNS server (referred to here as "D2" ) to update DNS entries. These requests are known as
@@ -1852,7 +1852,7 @@ It is merely echoed by the server
"override-client-update": false
- "replace-client-name": false
+ "replace-client-name": "never"
"generated-prefix": "myhost"
@@ -2078,38 +2078,62 @@ It is merely echoed by the server
supply a portion or all of that name based upon what it receives from
the client in the DHCP REQUEST.
- The rules for determining the FQDN option are as follows:
+ The basic rules for constructing the FQDN that will be used for DNS
+ entries are:
- If configured to do, so ignore the DHCPREQUEST contents and generate a
- FQDN using a configurable prefix and suffix.
+ If the DHCPREQUEST contains the client FQDN option, the candidate name
+ is taken from there, otherwise it is taken from the Host Name option.
- If the DHCPREQUEST contains the client FQDN option, the candidate
- name is taken from there, otherwise it is taken from the Host Name option.
- The candidate name may then be modified:
-
-
- If the candidate name is a fully qualified domain name, use it.
+ If the candidate name is a partial (i.e. unqualified) name then add a
+ configurable suffix to the name and use the result as the FQDN.
- If the candidate name is a partial (i.e. unqualified) name then
- add a configurable suffix to the name and use the result as the FQDN.
+ If the candidate name provided is empty, generate a FQDN using a
+ configurable prefix and suffix.
- If the candidate name is a empty, generate a FQDN using a
- configurable prefix and suffix.
+ If the client provided neither option, then no DNS action will be taken.
+ These rules can amended by setting the
+ replace-client-name parameter which provides the
+ following modes of behavior:
+
+
+ never - Use the name the client sent. If the client
+ sent no name, do not generate one. This is the default mode.
-
- To instruct kea-dhcp4 to always generate the FQDN for a client, set the
- parameter replace-client-name to true as follows:
+
+ always - Replace the name the client sent. If the
+ client sent no name, generate one for them.
+
+
+ when_present - Replace the name the client sent.
+ If the client sent no name, do not generate one.
+
+
+ when_not_present - Use the name the client sent.
+ If the client sent no name, generate one for them.
+
+
+
+ Note that formerly, this parameter was a boolean and permitted only values
+ of true and false. Boolean values
+ will still be accepted but may eventually be deprecated. A value of
+ true equates to when_present,
+ false equates to never.
+
+
+ For example, To instruct kea-dhcp4 to always generate the FQDN for a
+ client, set the parameter replace-client-name to
+ always as follows:
"Dhcp4": {
"dhcp-ddns": {
- "replace-client-name": true,
+ "replace-client-name": "always",
...
},
...
diff --git a/doc/guide/dhcp6-srv.xml b/doc/guide/dhcp6-srv.xml
index 5486d36882..8d83cef601 100644
--- a/doc/guide/dhcp6-srv.xml
+++ b/doc/guide/dhcp6-srv.xml
@@ -1744,7 +1744,7 @@ should include options from the isc option space:
- Configuring DHCPv6 for DDNS
+ DDNS for DHCPv6
As mentioned earlier, kea-dhcp6 can be configured to generate requests to
the DHCP-DDNS server (referred to here as "D2") to update
@@ -1820,7 +1820,7 @@ should include options from the isc option space:
"override-client-update": false
- "replace-client-name": false
+ "replace-client-name": "never"
"generated-prefix": "myhost"
@@ -2041,42 +2041,67 @@ 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 configured to
- supply a portion or all of that name based upon what it receives from
- the client in the DHCP REQUEST.
+ Each NameChangeRequest must of course include the fully qualified
+ domain name whose DNS entries are to be affected. kea-dhcp6 can be
+ configured to supply a portion or all of that name based upon what it
+ receives from the client in the DHCP REQUEST.
+
+ The basic rules for constructing the FQDN that will be used for DNS
+ entries are:
+
+
+ If the DHCPREQUEST contains the client FQDN option, the candidate name
+ is taken from there.
+
+
+ If the candidate name is a partial (i.e. unqualified) name then add a
+ configurable suffix to the name and use the result as the FQDN.
+
+
+ If the candidate name provided is empty, generate a FQDN using a
+ configurable prefix and suffix.
+
+
+ If the client provided neither option, then no DNS action will be taken.
+
+
+ These rules can amended by setting the
+ replace-client-name parameter which provides the
+ following modes of behavior:
+
+
+ never - Use the name the client sent. If the client
+ sent no name, do not generate one. This is the default mode.
+
+
+ always - Replace the name the client sent. If the
+ client sent no name, generate one for them.
+
+
+ when_present - Replace the name the client sent.
+ If the client sent no name, do not generate one.
+
+
+ when_not_present - Use the name the client sent.
+ Supply the name if the client did not.
+
+
+
+ Note that formerly, this parameter was a boolean and permitted only values
+ of true and false. Boolean values
+ will still be accepted but may eventually be deprecated. A value of
+ true equates to when_present,
+ false equates to never.
+
- The rules for determining the FQDN option are as follows:
-
-
- If configured to do so ignore the REQUEST contents and generate a
- FQDN using a configurable prefix and suffix.
-
-
- Otherwise, using the domain name value from the client FQDN option as
- the candidate name:
-
-
- If the candidate name is a fully qualified domain name then use it.
-
-
- If the candidate name is a partial (i.e. unqualified) name then
- add a configurable suffix to the name and use the result as the FQDN.
-
-
- If the candidate name is a empty then generate a FQDN using a
- configurable prefix and suffix.
-
-
-
-
- To instruct kea-dhcp6 to always generate a FQDN, set the parameter
- "replace-client-name" to true:
+ For example, To instruct kea-dhcp6 to always generate the FQDN for a
+ client, set the parameter replace-client-name to
+ always as follows:
"Dhcp6": {
"dhcp-ddns": {
- "replace-client-name": true,
+ "replace-client-name": "always",
...
},
...
diff --git a/src/bin/dhcp4/dhcp4.spec b/src/bin/dhcp4/dhcp4.spec
index b5c9b2aca9..8e24e6992e 100644
--- a/src/bin/dhcp4/dhcp4.spec
+++ b/src/bin/dhcp4/dhcp4.spec
@@ -607,9 +607,9 @@
},
{
"item_name": "replace-client-name",
- "item_type": "boolean",
+ "item_type": "string",
"item_optional": true,
- "item_default": false,
+ "item_default": "never",
"item_description": "Should server replace the domain-name supplied by the client"
},
{
diff --git a/src/bin/dhcp6/dhcp6.spec b/src/bin/dhcp6/dhcp6.spec
index 14e4026593..3571b8e2ac 100644
--- a/src/bin/dhcp6/dhcp6.spec
+++ b/src/bin/dhcp6/dhcp6.spec
@@ -711,9 +711,9 @@
},
{
"item_name": "replace-client-name",
- "item_type": "boolean",
+ "item_type": "string",
"item_optional": true,
- "item_default": false,
+ "item_default": "never",
"item_description": "Should server replace the domain-name supplied by the client"
},
{
diff --git a/src/bin/dhcp6/dhcp6_messages.mes b/src/bin/dhcp6/dhcp6_messages.mes
index 4d9f2b019c..f3540ed440 100644
--- a/src/bin/dhcp6/dhcp6_messages.mes
+++ b/src/bin/dhcp6/dhcp6_messages.mes
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2015 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2012-2016 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this