From: Francis Dupont Date: Wed, 5 Jul 2017 12:52:54 +0000 (+0200) Subject: [master] Finishing merge of trac3389a (re-detect interfaces) X-Git-Tag: trac5227_base~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dd1945591131df12b6bbaee4f701a204717411d2;p=thirdparty%2Fkea.git [master] Finishing merge of trac3389a (re-detect interfaces) --- dd1945591131df12b6bbaee4f701a204717411d2 diff --cc ChangeLog index 4d205a94ca,efdcae8e65..59bdb8798f --- a/ChangeLog +++ b/ChangeLog @@@ -1,235 -1,3 +1,241 @@@ ++1268. [func] fdupont ++ Kea now re-detects network interfaces every time configuration is ++ changed. 're-detect' parameter added to restore old behavior, if ++ needed. ++ (Trac #3389, git xxx) ++ +1267. [bug] fdupont + Unit-tests for libdhcp now ignore ENOPROTOPT when setting + SO_REUSEPORT to improve compatibility with older RedHat versions. + (Trac #5243, git a7b478e1d1f7f0b38055086fe9ac053e4fab2850) + +1266. [func] fdupont + It is now possible to define options in DHCPv4 pools. + (Trac #5288, git aa2839caab8d885e5bceca6f506162debd239b3f) + +1265. [func] fdupont + Extended classification relay6[nest] syntax to allows counting + relays from the DHCPv6 client side by using negative number, + e.g. relay6[-1] represents the first relay (closest to the + client). + (Trac #5287, git 7d0f7a8372dcf256fea8ac13330f0e3e7ed2e8ef) + +1264. [func] marcin + Kea's command manager has been re-implemented to use ASIO. + Simultaneous connections over the control channel are now + possible. + (Trac #5317, git 4139a2f41bb3736615bdfa278746962a16384d0d) + +1263. [doc] marcin + Added example configurations of the nginx and Apache2 HTTPS + servers running as reverse proxy for Kea RESTful API. + (Trac #5302, git 48113aba218603afac4d457075458d4988e4082b) + (Trac #5303, git b3113da16eb5c6fa323068f0a57dfa30f42893d2) + +1262. [func]* marcin + Renamed "dhcp4-server", "dhcp6-server" and "d2-server" parameters + of the Control Agent configuration to "dhcp4", "dhcp6" and "d2" + respectively. + (Trac #5190, git fc67885022115df76425c6901959cedee63a93b9) + +1261. [bug] marcin + Eliminated valgrind errors in libkea-http. + (Trac #5261, git 34addef4a654665c6022f0269d51970c72431ac2) + +1260. [bug] fdupont + Corrected logic in prefix delegation that was causing multiple + entries to be written to the lease file when renewing or rebinding + a prefix. + (Trac #5104, git b9ab6ebe7a491c062bc8b0b42afc53f4d6cee011) + +1259. [func] marcin + Implemented timeout for the control commands forwarded between + the Control Agent and Kea servers. The enhanced forwarding + mechanism uses asynchronous calls over the unix domain sockets. + It also detects the JSON structure boundaries when receiving it + over the stream sockets. + (Trac #5189, git e48d9399c215406f2dab1601d22d6c932b4af271) + +1258. [bug] fdupont + Fixed wrong python package path when kea-shell was configured + without a prefix. + (Trac #5214, git 44908c5fa56bfa7e1113078f43c458687a97388a) + +Kea 1.2.0 released on April 28, 2017 + +1257. [bug] marcin + Improved logging in the hosts manager. + (Trac #5264, git 2fb9fd78e63f5d09810702847ad3e3b3020ea92b) + +1256. [bug] tomek + Control Agent now writes proper configuration when using + config-write command. + (Trac #5253, git a1b5da4db6ebfa9635bbe411ec363cdcc4fd1d28) + +1255. [bug] marcin + Fixed failing unit tests in libkea-http. + (Trac #5260, git 43394f76efb1634155c04b205dec7361fc21f4f9) + +1254. [func] tomek + Various improvements needed for upcoming host commands library: + host data source is now able to delete hosts, hosts can be exported + to JSON format, C++11 code for configure script moved to separate + file, several compilation warnings removed. + (Trac #5208, git 88555d8f23745f3d615448e906796920cc7f44d0) + +1253. [func,doc] tomek + Default configuration file has been overhauled significantly. It + now covers many additional options and features. Command channel + is now enabled by default. Thanks to Dan Mahoney for his review. + (Trac #5198, git 280de81cfe957ccab8a28074bdb0a4bc0e45104e) + +1252. [bug] tmark + kea-dhcp6 now correctly resets lease state and increments the + assigned statistic when it reissues an expired-reclaimed lease + to the lease's original client, in response to a REQUEST from + said client. + (Trac #5252, git 85bde7adbe6a78238bd5e17fecabfa918755f16c) + +1251. [func] tomek + New type of host identifier (flex-id) used in reservations has + by added to MySQL and PostgreSQL schemas. + (Trac #5195, git 37c26cc30b717019fbd6b7349279541edb351382) + +1250. [bug] fdupont + Do not unregister timers when running the config-test command. + (Trac #5186, git e891b06940e41b4cfaa324c2ace8fdd761ee6662) + +1249. [bug] tmark + The assigned lease statistics were not being probably adjusted + by either kea-dhcp4 or kea-dhcp6 when reclaimed expired leases + were reissued. + (Trac #5247, git 4e5193fb32b14325ccf5824614e58bcceb3e6388) + +1248. [bug] marcin + Improved socket connection handling code, corrected numerous + failing and crashing tests for libkea-asiolink, libkea-http + and kea-ctrl-agent on Debian, Fedora and Ubuntu. + (Trac #5217, git 4bcb45f0c88aba3d0f70ca48d9fff6f1d4616bc2) + +1247. [bug] marcin + Resolved issues with DHCPv4 host reservations by 'client-id' + when MySQL or PostgreSQL host database backend is in use. + Also, the 'client-id' is used together with other host + identifier types when 'host-reservation-identifiers' parameter + is not specified. + (Trac #5102, git 390d687d0f61635f5562d13860ff6362eee67853) + +1246. [func,bug] tomek + Restrictions in filename argument in config-write command have + been removed. It is now possible to use absolute paths. + DHCPv4, DHCPv6, D2 and Agent parsers did not handle flush, + maxsize or maxver parameters in logger configuration correctly. + This is now fixed. + (Trac #5187, git a30ffcc67cfb7370c586d3c85147792e27aab4c7) + +1245. [func] fdupont + DHCPv4 domain-search option can now be defined using + comma separated values. + (Trac #5087, git eca0b8c6425bc922587675100f100b1aae54aee2) + +1244. [doc] tomek + User's Guide section about Kea shell added. + (Trac #5171, git 3dc4908fe02e86c57ccd5ad2d2f8330655f438be) + +1243. [func] tomek + config-reload command implemented. It allows Kea DHCPv4 and DHCPv6 + servers to reload its original configuration file. Also, + set-config command was renamed to config-set. + (Trac #5213, git b209c2b577a2f9da71cc918d7a551f8efdc1c4cb) + +1242. [func] fdupont + Integer fields in options can now be specified in either + decimal or hexadecimal format. + (Trac #4540, git 4cbf341f4169cf1e1eae0721644797a726d89702) + +1241. [func] fdupont + Support for tuple-based options added. DHCPv6 option + bootfile-param (code 60) can now be set in a more convenient + manner. + (Trac #4070, git 30102cacee95b91e6c4666f0c11f06232f19eeb9) + +1240. [bug] marcin + Corrected IOFetch unit test failures on Debian. + (Trac #5216, git a7c2946678c43aedfb2e3c37b9730a10067528f3) + +1239. [func] marcin + Implemented additional sanity checks when adding host + reservations into the configuration file. + (Trac #5207, git ea42c6f479918235ae4a67a60d08720e2664720c) + +Kea 1.2.0-beta released on April 7, 2017 + +1238. [build] tmark,tomek + Library version numbers bumped for release. + (Trac #5201 git 58c9c5b705d72031c1589c30c542384a9d43e0f3) + +1237. [bug] marcin + Fixed hanging Control Agent unit tests. + (Trac #5200, git 65daafd135965f9eb0bd4c3a22085d4bd3c6ffbe) + +1236. [build] zeitounator + Improvements in tools/tests_in_valgrind.sh script. + (Github #49, git 272e7babf9ebeab5f78850394d72c9431041e2e9) + +1235. [func] MrMarvin + kea-admin now supports -h (and --host) parameter that can specify + MySQL or PostgreSQL database locations other than the default + localhost. + (Github #14, git 4038157a3499ad90956c98a2172c57b173f2b985) + +1234. [build] fdupont + Improved installation procedure for kea-shell. + (Trac #5170, git 68a902fb723965ee6f5b7a8272224395917525cc) + +1233. [doc] marcin + Documented new component Kea Control Agent in the Administrator's + Manual and the Developer's Guide. + (Trac #5175, git abf7887ad65eb4b221a1fe61ea0c9773b4feaddb) + +1232. [func] tomek + host4_identifier and host6_identifier hook points have been added. + Premium: Flexible Identifier (flex-id) hook point has been developed. + It allows users to specify a custom expression that takes any + option, field, characteristic or property of the packet to be + used as identifier and then do reservations based on the evaluated + expression for each incoming packet. + (Trac #5132, git cd497526d5bff7ae55bb41c9264fb33943a0cf62) + +1231. [func] marcin + Control agent forwards commands to be handled by other Kea + servers. + (Trac #5078, git 19a50ed1ccafae19ef10d84cba73992cadf49753) + +1230. [bug] fdupont + kea-dhcp-ddns now correctly populates the original ID in the TSIG rdata + when doing signed updates. Prior to this the value was set to zero + causing PowerDNS to reject then requests with a bad key error. + (Trac #5071, git cafa3d5c24f0112b0b9384a9c1083fe8a3eeb2bf) + +1229. [func] fdupont + A new command: config-test has been implemented in DHCPv4, DHCPv6 + and control agent servers. It allows checking whether new + configuration looks correct. + (Trac #5150, git 5f6cf226e848baef8d9af64e16c1dbf617a0a798) + +1228. [bug] fdupont + Logging on syslog now uses correctly the given facility. If none + is given the default facility is local0, and with an unrecognized + value user (log4cplus default). The syslog openlog() ident + parameter is the program name. + (Trac #5053, git 532d9f0e459ab1450a83a5015a2dd54745794383) + +1227. [func] fdupont, tomek + Additional commands: version-get, build-report have been + implemented for DHCPv4, DHCPv6 and Control Agent + components. Control Agent also now supports shutdown command. + (Trac #102, git 9d2b8326fc032876d74c1768c61c630987c25cc5) + 1226. [func] fdupont Command line option -t support added to libprocess and implemented for kea-dhcp-ddns and kea-ctrl-agent. It allows configuration sanity diff --cc src/bin/dhcp4/tests/get_config_unittest.cc index d0d93a1ed1,26893d2ce1..9ec7502bd3 --- a/src/bin/dhcp4/tests/get_config_unittest.cc +++ b/src/bin/dhcp4/tests/get_config_unittest.cc @@@ -1582,9 -1515,10 +1582,10 @@@ const char* UNPARSED_CONFIGS[] = " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -1623,9 -1557,10 +1624,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -1690,9 -1624,10 +1692,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -1757,9 -1691,10 +1760,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -1824,9 -1758,10 +1828,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -1966,9 -1897,10 +1971,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -2108,9 -2036,10 +2114,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -2175,9 -2103,10 +2182,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -2242,9 -2170,10 +2250,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -2309,9 -2237,10 +2318,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -2376,9 -2304,10 +2386,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -2443,9 -2371,10 +2454,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -2535,9 -2462,10 +2547,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -2627,9 -2553,10 +2640,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -2694,9 -2620,10 +2708,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -2794,9 -2717,10 +2809,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -2861,9 -2784,10 +2877,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ ]\n" + " \"interfaces\": [ ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -2912,9 -2836,10 +2929,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ ]\n" + " \"interfaces\": [ ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -2963,9 -2888,10 +2981,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ ]\n" + " \"interfaces\": [ ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -3023,9 -2949,10 +3042,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ ]\n" + " \"interfaces\": [ ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -3074,9 -3001,10 +3094,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ ]\n" + " \"interfaces\": [ ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -3125,9 -3053,10 +3146,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ ]\n" + " \"interfaces\": [ ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -3176,9 -3105,10 +3198,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ ]\n" + " \"interfaces\": [ ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -3227,9 -3157,10 +3250,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -3309,9 -3239,10 +3333,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -3391,9 -3321,10 +3416,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -3483,9 -3413,10 +3509,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -3558,9 -3489,10 +3585,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -3675,9 -3606,10 +3703,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -3765,9 -3696,10 +3794,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -3873,178 -3803,10 +3903,179 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" +" \"interfaces-config\": {\n" +" \"interfaces\": [ \"*\" ]\n" +" },\n" +" \"lease-database\": {\n" +" \"type\": \"memfile\"\n" +" },\n" +" \"option-data\": [ ],\n" +" \"option-def\": [ ],\n" +" \"subnet4\": [\n" +" {\n" +" \"4o6-interface\": \"\",\n" +" \"4o6-interface-id\": \"\",\n" +" \"4o6-subnet\": \"\",\n" +" \"id\": 1,\n" +" \"interface\": \"\",\n" +" \"match-client-id\": true,\n" +" \"next-server\": \"0.0.0.0\",\n" +" \"option-data\": [ ],\n" +" \"pools\": [\n" +" {\n" +" \"option-data\": [\n" +" {\n" +" \"code\": 56,\n" +" \"csv-format\": false,\n" +" \"data\": \"ABCDEF0105\",\n" +" \"name\": \"dhcp-message\",\n" +" \"space\": \"dhcp4\"\n" +" },\n" +" {\n" +" \"code\": 23,\n" +" \"csv-format\": false,\n" +" \"data\": \"01\",\n" +" \"name\": \"default-ip-ttl\",\n" +" \"space\": \"dhcp4\"\n" +" }\n" +" ],\n" +" \"pool\": \"192.0.2.1-192.0.2.100\"\n" +" }\n" +" ],\n" +" \"rebind-timer\": 2000,\n" +" \"relay\": {\n" +" \"ip-address\": \"0.0.0.0\"\n" +" },\n" +" \"renew-timer\": 1000,\n" +" \"reservation-mode\": \"all\",\n" +" \"reservations\": [ ],\n" +" \"subnet\": \"192.0.2.0/24\",\n" +" \"valid-lifetime\": 4000\n" +" }\n" +" ]\n" +" }\n", + // CONFIGURATION 31 +"{\n" +" \"decline-probation-period\": 86400,\n" +" \"dhcp-ddns\": {\n" +" \"always-include-fqdn\": false,\n" +" \"enable-updates\": false,\n" +" \"generated-prefix\": \"myhost\",\n" +" \"max-queue-size\": 1024,\n" +" \"ncr-format\": \"JSON\",\n" +" \"ncr-protocol\": \"UDP\",\n" +" \"override-client-update\": false,\n" +" \"override-no-update\": false,\n" +" \"qualifying-suffix\": \"\",\n" +" \"replace-client-name\": \"never\",\n" +" \"sender-ip\": \"0.0.0.0\",\n" +" \"sender-port\": 0,\n" +" \"server-ip\": \"127.0.0.1\",\n" +" \"server-port\": 53001\n" +" },\n" +" \"dhcp4o6-port\": 0,\n" +" \"echo-client-id\": true,\n" +" \"expired-leases-processing\": {\n" +" \"flush-reclaimed-timer-wait-time\": 25,\n" +" \"hold-reclaimed-time\": 3600,\n" +" \"max-reclaim-leases\": 100,\n" +" \"max-reclaim-time\": 250,\n" +" \"reclaim-timer-wait-time\": 10,\n" +" \"unwarned-reclaim-cycles\": 5\n" +" },\n" +" \"hooks-libraries\": [ ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" +" \"interfaces-config\": {\n" +" \"interfaces\": [ \"*\" ]\n" +" },\n" +" \"lease-database\": {\n" +" \"type\": \"memfile\"\n" +" },\n" +" \"option-data\": [ ],\n" +" \"option-def\": [ ],\n" +" \"subnet4\": [\n" +" {\n" +" \"4o6-interface\": \"\",\n" +" \"4o6-interface-id\": \"\",\n" +" \"4o6-subnet\": \"\",\n" +" \"id\": 1,\n" +" \"interface\": \"\",\n" +" \"match-client-id\": true,\n" +" \"next-server\": \"0.0.0.0\",\n" +" \"option-data\": [ ],\n" +" \"pools\": [\n" +" {\n" +" \"option-data\": [\n" +" {\n" +" \"code\": 56,\n" +" \"csv-format\": false,\n" +" \"data\": \"ABCDEF0105\",\n" +" \"name\": \"dhcp-message\",\n" +" \"space\": \"dhcp4\"\n" +" }\n" +" ],\n" +" \"pool\": \"192.0.2.1-192.0.2.100\"\n" +" },\n" +" {\n" +" \"option-data\": [\n" +" {\n" +" \"code\": 23,\n" +" \"csv-format\": false,\n" +" \"data\": \"01\",\n" +" \"name\": \"default-ip-ttl\",\n" +" \"space\": \"dhcp4\"\n" +" }\n" +" ],\n" +" \"pool\": \"192.0.2.200-192.0.2.250\"\n" +" }\n" +" ],\n" +" \"rebind-timer\": 2000,\n" +" \"relay\": {\n" +" \"ip-address\": \"0.0.0.0\"\n" +" },\n" +" \"renew-timer\": 1000,\n" +" \"reservation-mode\": \"all\",\n" +" \"reservations\": [ ],\n" +" \"subnet\": \"192.0.2.0/24\",\n" +" \"valid-lifetime\": 4000\n" +" }\n" +" ]\n" +" }\n", + // CONFIGURATION 32 +"{\n" +" \"decline-probation-period\": 86400,\n" +" \"dhcp-ddns\": {\n" +" \"always-include-fqdn\": false,\n" +" \"enable-updates\": false,\n" +" \"generated-prefix\": \"myhost\",\n" +" \"max-queue-size\": 1024,\n" +" \"ncr-format\": \"JSON\",\n" +" \"ncr-protocol\": \"UDP\",\n" +" \"override-client-update\": false,\n" +" \"override-no-update\": false,\n" +" \"qualifying-suffix\": \"\",\n" +" \"replace-client-name\": \"never\",\n" +" \"sender-ip\": \"0.0.0.0\",\n" +" \"sender-port\": 0,\n" +" \"server-ip\": \"127.0.0.1\",\n" +" \"server-port\": 53001\n" +" },\n" +" \"dhcp4o6-port\": 0,\n" +" \"echo-client-id\": true,\n" +" \"expired-leases-processing\": {\n" +" \"flush-reclaimed-timer-wait-time\": 25,\n" +" \"hold-reclaimed-time\": 3600,\n" +" \"max-reclaim-leases\": 100,\n" +" \"max-reclaim-time\": 250,\n" +" \"reclaim-timer-wait-time\": 10,\n" +" \"unwarned-reclaim-cycles\": 5\n" +" },\n" +" \"hooks-libraries\": [ ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -4117,9 -3879,10 +4148,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -4225,9 -3987,10 +4257,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -4305,9 -4067,10 +4338,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -4390,9 -4152,10 +4424,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"eth0\", \"eth1\" ]\n" + " \"interfaces\": [ \"eth0\", \"eth1\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -4431,9 -4194,10 +4466,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\", \"eth0\", \"eth1\" ]\n" + " \"interfaces\": [ \"*\", \"eth0\", \"eth1\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -4472,9 -4236,10 +4508,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -4539,9 -4303,10 +4576,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -4606,9 -4370,10 +4644,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -4820,9 -4582,10 +4859,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -4916,9 -4678,10 +4956,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ ]\n" + " \"interfaces\": [ ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -5058,9 -4817,10 +5099,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -5099,9 -4859,10 +5141,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -5140,9 -4901,10 +5183,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -5181,9 -4943,10 +5225,10 @@@ " \"unwarned-reclaim-cycles\": 10\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -5222,9 -4985,10 +5267,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -5289,9 -5052,10 +5335,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -5356,9 -5119,10 +5403,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -5423,9 -5186,10 +5471,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -5490,9 -5253,10 +5539,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -5580,9 -5343,10 +5630,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -5647,9 -5410,10 +5698,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -5714,9 -5477,10 +5766,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -5782,9 -5545,10 +5835,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" @@@ -5854,9 -5617,10 +5908,10 @@@ " \"unwarned-reclaim-cycles\": 5\n" " },\n" " \"hooks-libraries\": [ ],\n" -" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\" ],\n" +" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n" " \"interfaces-config\": {\n" - " \"interfaces\": [ \"*\" ]\n" + " \"interfaces\": [ \"*\" ],\n" + " \"re-detect\": false\n" " },\n" " \"lease-database\": {\n" " \"type\": \"memfile\"\n" diff --cc src/bin/dhcp6/tests/ctrl_dhcp6_srv_unittest.cc index a477fdefdb,d1b91aab8b..b16ae7826e --- a/src/bin/dhcp6/tests/ctrl_dhcp6_srv_unittest.cc +++ b/src/bin/dhcp6/tests/ctrl_dhcp6_srv_unittest.cc @@@ -672,9 -574,10 +673,9 @@@ TEST_F(CtrlChannelDhcpv6SrvTest, config CfgMgr::instance().clear(); } - typedef std::map ElementMap; - // This test checks which commands are registered by the DHCPv4 server. + // This test checks which commands are registered by the DHCPv6 server. TEST_F(CtrlDhcpv6SrvTest, commandsRegistration) { ConstElementPtr list_cmds = createCommand("list-commands");