2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-31 14:05:33 +00:00

[#1428] Added ip-reservations-unique parameter

Also regenerated parsers.
This commit is contained in:
Marcin Siodelski
2020-10-01 19:14:55 +02:00
committed by Francis Dupont
parent a8c3d73d33
commit 7ccddf643d
10 changed files with 184 additions and 6 deletions

View File

@@ -1868,6 +1868,15 @@ ControlCharacterFill [^"\\]|\\{JSONEscapeSequence}
}
}
\"ip-reservations-unique\" {
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
return isc::dhcp::Dhcp4Parser::make_IP_RESERVATIONS_UNIQUE(driver.loc_);
default:
return isc::dhcp::Dhcp4Parser::make_STRING("ip-reservations-unique", driver.loc_);
}
}
{JSONString} {
/* A string has been matched. It contains the actual string and single quotes.
We need to get those quotes out of the way and just use its content, e.g.

View File

@@ -225,6 +225,7 @@ using namespace std;
WHEN_NOT_PRESENT "when-not-present"
HOSTNAME_CHAR_SET "hostname-char-set"
HOSTNAME_CHAR_REPLACEMENT "hostname-char-replacement"
IP_RESERVATIONS_UNIQUE "ip-reservations-unique"
LOGGERS "loggers"
OUTPUT_OPTIONS "output_options"
@@ -498,6 +499,7 @@ global_param: valid_lifetime
| statistic_default_sample_count
| statistic_default_sample_age
| dhcp_multi_threading
| ip_reservations_unique
| unknown_map_entry
;
@@ -693,6 +695,12 @@ statistic_default_sample_age: STATISTIC_DEFAULT_SAMPLE_AGE COLON INTEGER {
ctx.stack_.back()->set("statistic-default-sample-age", age);
};
ip_reservations_unique: IP_RESERVATIONS_UNIQUE COLON BOOLEAN {
ctx.unique("ip-reservations-unique", ctx.loc2pos(@1));
ElementPtr unique(new BoolElement($3, ctx.loc2pos(@3)));
ctx.stack_.back()->set("ip-reservations-unique", unique);
};
interfaces_config: INTERFACES_CONFIG {
ctx.unique("interfaces-config", ctx.loc2pos(@1));
ElementPtr i(new MapElement(ctx.loc2pos(@1)));

View File

@@ -624,7 +624,8 @@ configureDhcp4Server(Dhcpv4Srv& server, isc::data::ConstElementPtr config_set,
(config_pair.first == "ddns-qualifying-suffix") ||
(config_pair.first == "store-extended-info") ||
(config_pair.first == "statistic-default-sample-count") ||
(config_pair.first == "statistic-default-sample-age")) {
(config_pair.first == "statistic-default-sample-age") ||
(config_pair.first == "ip-reservations-unique")) {
CfgMgr::instance().getStagingCfg()->addConfiguredGlobal(config_pair.first,
config_pair.second);
continue;

View File

@@ -2298,6 +2298,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -2372,6 +2373,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -2470,6 +2472,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -2568,6 +2571,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -2672,6 +2676,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -2847,6 +2852,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -3022,6 +3028,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -3122,6 +3129,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -3225,6 +3233,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -3328,6 +3337,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -3428,6 +3438,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -3528,6 +3539,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -3655,6 +3667,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -3781,6 +3794,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -3908,6 +3922,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -4034,6 +4049,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -4138,6 +4154,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -4271,6 +4288,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -4371,6 +4389,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -4453,6 +4472,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -4535,6 +4555,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -4626,6 +4647,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -4708,6 +4730,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -4790,6 +4813,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -4872,6 +4896,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -4954,6 +4979,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -5071,6 +5097,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -5188,6 +5215,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -5315,6 +5343,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -5425,6 +5454,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -5578,6 +5608,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -5704,6 +5735,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -5847,6 +5879,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -5964,6 +5997,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -6086,6 +6120,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -6203,6 +6238,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -6313,6 +6349,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -6457,6 +6494,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -6572,6 +6610,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -6691,6 +6730,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"eth0\", \"eth1\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -6765,6 +6805,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\", \"eth0\", \"eth1\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -6839,6 +6880,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -6939,6 +6981,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -7039,6 +7082,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -7139,6 +7183,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -7239,6 +7284,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -7339,6 +7385,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -7517,6 +7564,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -7632,6 +7680,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -7885,6 +7934,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -8015,6 +8065,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -8193,6 +8244,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -8319,6 +8371,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -8391,6 +8444,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -8463,6 +8517,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -8535,6 +8590,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -8607,6 +8663,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -8707,6 +8764,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -8807,6 +8865,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -8907,6 +8966,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -9007,6 +9067,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -9133,6 +9194,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -9233,6 +9295,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -9333,6 +9396,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -9434,6 +9498,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -9539,6 +9604,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -9658,6 +9724,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -9779,6 +9846,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"comment\": \"Use wildcard\"\n"
" }\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -9951,6 +10019,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -10131,6 +10200,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -10288,6 +10358,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -10413,6 +10484,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -10538,6 +10610,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -10612,6 +10685,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -10684,6 +10758,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"

View File

@@ -1929,6 +1929,15 @@ ControlCharacterFill [^"\\]|\\{JSONEscapeSequence}
}
}
\"ip-reservations-unique\" {
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
return isc::dhcp::Dhcp6Parser::make_IP_RESERVATIONS_UNIQUE(driver.loc_);
default:
return isc::dhcp::Dhcp6Parser::make_STRING("ip-reservations-unique", driver.loc_);
}
}
{JSONString} {
/* A string has been matched. It contains the actual string and single quotes.
We need to get those quotes out of the way and just use its content, e.g.

View File

@@ -231,6 +231,7 @@ using namespace std;
WHEN_NOT_PRESENT "when-not-present"
HOSTNAME_CHAR_SET "hostname-char-set"
HOSTNAME_CHAR_REPLACEMENT "hostname-char-replacement"
IP_RESERVATIONS_UNIQUE "ip-reservations-unique"
LOGGERS "loggers"
OUTPUT_OPTIONS "output_options"
@@ -506,6 +507,7 @@ global_param: data_directory
| statistic_default_sample_count
| statistic_default_sample_age
| dhcp_multi_threading
| ip_reservations_unique
| unknown_map_entry
;
@@ -710,6 +712,12 @@ server_tag: SERVER_TAG {
ctx.leave();
};
ip_reservations_unique: IP_RESERVATIONS_UNIQUE COLON BOOLEAN {
ctx.unique("ip-reservations-unique", ctx.loc2pos(@1));
ElementPtr unique(new BoolElement($3, ctx.loc2pos(@3)));
ctx.stack_.back()->set("ip-reservations-unique", unique);
};
interfaces_config: INTERFACES_CONFIG {
ctx.unique("interfaces-config", ctx.loc2pos(@1));
ElementPtr i(new MapElement(ctx.loc2pos(@1)));

View File

@@ -757,7 +757,8 @@ configureDhcp6Server(Dhcpv6Srv& server, isc::data::ConstElementPtr config_set,
(config_pair.first == "ddns-qualifying-suffix") ||
(config_pair.first == "store-extended-info") ||
(config_pair.first == "statistic-default-sample-count") ||
(config_pair.first == "statistic-default-sample-age")) {
(config_pair.first == "statistic-default-sample-age") ||
(config_pair.first == "ip-reservations-unique")) {
CfgMgr::instance().getStagingCfg()->addConfiguredGlobal(config_pair.first,
config_pair.second);
continue;

View File

@@ -2027,6 +2027,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -2106,6 +2107,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -2219,6 +2221,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -2399,6 +2402,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -2579,6 +2583,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -2759,6 +2764,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -2872,6 +2878,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -2978,6 +2985,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -3084,6 +3092,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -3222,6 +3231,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -3327,6 +3337,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -3434,6 +3445,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -3543,6 +3555,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -3667,6 +3680,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -3774,6 +3788,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -3861,6 +3876,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -3948,6 +3964,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -4044,6 +4061,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -4131,6 +4149,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -4218,6 +4237,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -4340,6 +4360,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -4462,6 +4483,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -4594,6 +4616,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -4709,6 +4732,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -4867,6 +4891,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -5015,6 +5040,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -5173,6 +5199,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -5293,6 +5320,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -5417,6 +5445,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"eth0\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -5496,6 +5525,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\", \"eth0\", \"eth1\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -5575,6 +5605,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -5680,6 +5711,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -5785,6 +5817,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -5968,6 +6001,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -6088,6 +6122,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -6216,6 +6251,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -6321,6 +6357,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -6426,6 +6463,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -6531,6 +6569,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -6761,6 +6800,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -6889,6 +6929,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -6968,6 +7009,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -7047,6 +7089,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -7256,6 +7299,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -7387,6 +7431,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -7466,6 +7511,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -7543,6 +7589,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -7620,6 +7667,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -7697,6 +7745,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -7788,6 +7837,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -7893,6 +7943,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -7998,6 +8049,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -8104,6 +8156,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -8215,6 +8268,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -8326,6 +8380,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -8433,6 +8488,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -8541,6 +8597,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -8668,6 +8725,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -8782,6 +8840,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"comment\": \"Use wildcard\"\n"
" }\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -8972,6 +9031,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -9169,6 +9229,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -9248,6 +9309,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
@@ -9325,6 +9387,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"ip-reservations-unique\": true,\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"

View File

@@ -88,7 +88,8 @@ const SimpleKeywords SimpleParser4::GLOBAL4_PARAMETERS = {
{ "statistic-default-sample-age", Element::integer },
{ "multi-threading", Element::map },
{ "cache-threshold", Element::real },
{ "cache-max-age", Element::integer }
{ "cache-max-age", Element::integer },
{ "ip-reservations-unique", Element::boolean }
};
/// @brief This table defines default global values for DHCPv4
@@ -121,7 +122,8 @@ const SimpleDefaults SimpleParser4::GLOBAL4_DEFAULTS = {
{ "hostname-char-replacement", Element::string, "" },
{ "store-extended-info", Element::boolean, "false" },
{ "statistic-default-sample-count", Element::integer, "20" },
{ "statistic-default-sample-age", Element::integer, "0" }
{ "statistic-default-sample-age", Element::integer, "0" },
{ "ip-reservations-unique", Element::boolean, "true" }
};
/// @brief This table defines all option definition parameters.

View File

@@ -89,7 +89,8 @@ const SimpleKeywords SimpleParser6::GLOBAL6_PARAMETERS = {
{ "statistic-default-sample-age", Element::integer },
{ "multi-threading", Element::map },
{ "cache-threshold", Element::real },
{ "cache-max-age", Element::integer }
{ "cache-max-age", Element::integer },
{ "ip-reservations-unique", Element::boolean }
};
/// @brief This table defines default global values for DHCPv6
@@ -117,7 +118,8 @@ const SimpleDefaults SimpleParser6::GLOBAL6_DEFAULTS = {
{ "hostname-char-replacement", Element::string, "" },
{ "store-extended-info", Element::boolean, "false" },
{ "statistic-default-sample-count", Element::integer, "20" },
{ "statistic-default-sample-age", Element::integer, "0" }
{ "statistic-default-sample-age", Element::integer, "0" },
{ "ip-reservations-unique", Element::boolean, "true" }
};
/// @brief This table defines all option definition parameters.