diff --git a/RELNOTES b/RELNOTES index 5c5835dd..edfd705d 100644 --- a/RELNOTES +++ b/RELNOTES @@ -256,6 +256,14 @@ dhcp-users@lists.isc.org. FQDN option unfortunately broke its ability send back dhcp6.vendor-opts. [ISC-Bugs #46427] +- The default value for server (-6) parameter, prefix-length-mode, has been + changed from "exact" to "prefer". In "prefer" mode the server will offer + the first available prefix with the same length as that requested by the + client. If none are found then it will offer the first available prefix of + any length. This is more in line with with RFC 8168 and should improve + the out-of-the-box user experience. + [ISC-Bugs #45615] + Changes since 4.3.0 (bug fixes) - Tidy up several small tickets. diff --git a/server/dhcpd.c b/server/dhcpd.c index 66944717..fbbb37c0 100644 --- a/server/dhcpd.c +++ b/server/dhcpd.c @@ -77,7 +77,7 @@ option server.ddns-rev-domainname = \"in-addr.arpa.\";"; int ddns_update_style; int dont_use_fsync = 0; /* 0 = default, use fsync, 1 = don't use fsync */ int server_id_check = 0; /* 0 = default, don't check server id, 1 = do check */ -int prefix_length_mode = PLM_EXACT; +int prefix_length_mode = PLM_PREFER; int authoring_byte_order = 0; /* 0 = not set */ int lease_id_format = TOKEN_OCTAL; /* octal by default */ diff --git a/server/dhcpd.conf.5 b/server/dhcpd.conf.5 index 8251574b..a0d88a83 100644 --- a/server/dhcpd.conf.5 +++ b/server/dhcpd.conf.5 @@ -2922,11 +2922,11 @@ available prefix. .PP 2. prefer - The server will offer the first available prefix with the same length as the requested length. If none are found then it will offer the -first available prefix of any length. +first available prefix of any length. This is the default behavior. .PP 3. exact - The server will offer the first available prefix with the same length as the requested length. If none are found, it will return a status -indicating no prefixes available. This is the default behavior. +indicating no prefixes available. .PP 4. minimum - The server will offer the first available prefix with the same length as the requested length. If none are found, it will return the first