diff --git a/doc/examples/kea4/multiple-options.json b/doc/examples/kea4/multiple-options.json index 3256bf951c8aad8ff63612d37dc16bc84738e829..e02fe6957f0117e8bce92224192742bb6b82af05 100644 --- a/doc/examples/kea4/multiple-options.json +++ b/doc/examples/kea4/multiple-options.json @@ -127,12 +127,12 @@ "data": "0xf0" }, // At a few exceptions options are added to response only when - // the client requests them. The persistent flag should be used + // the client requests them. The always-send flag should be used // to enforce a particular option. { "name": "vendor-class-identifier", "data": "isc", - "persistent": true + "always-send": true } ], diff --git a/doc/examples/kea6/multiple-options.json b/doc/examples/kea6/multiple-options.json index 0cbfdd0679e3f0e499a76fd2df3ffa8e791cd61f..75694c4d24a2abf20fd83f0be48f18ee971369d9 100644 --- a/doc/examples/kea6/multiple-options.json +++ b/doc/examples/kea6/multiple-options.json @@ -114,12 +114,12 @@ }, // At a few exceptions options are added to response only when - // the client requests them. The persistent flag should be used + // the client requests them. The always-send flag should be used // to enforce a particular option. { "name": "pana-agent", "data": "2001:db8:2::123", - "persistent": true + "always-send": true } ], "pools": [ diff --git a/doc/guide/dhcp4-srv.xml b/doc/guide/dhcp4-srv.xml index 86ea9c7289ebb7509af767b2ce966b3a818f46b7..e8a58172cc08888db3a7def75ca893dae036056f 100644 --- a/doc/guide/dhcp4-srv.xml +++ b/doc/guide/dhcp4-srv.xml @@ -994,14 +994,14 @@ temporarily override a list of interface names and listen on all interfaces. Defined options are added to response when the client requests them at a few exceptions which are always added. To enforce the addition - of a particular option set the persistent flag to true as in: + of a particular option set the always-send flag to true as in: "Dhcp4": { "option-data": [ { "name": "domain-name-servers", "data": "192.0.2.1, 192.0.2.2", - "persistent": true + "always-send": true }, ... ] diff --git a/doc/guide/dhcp6-srv.xml b/doc/guide/dhcp6-srv.xml index 84de0bcb1d389e9cdda88e5f50b7ec2ff276ba06..e26f88d34852801b83c2c5fa90355f3f50b469d6 100644 --- a/doc/guide/dhcp6-srv.xml +++ b/doc/guide/dhcp6-srv.xml @@ -1022,14 +1022,14 @@ temporarily override a list of interface names and listen on all interfaces. Defined options are added to response when the client requests them at a few exceptions which are always added. To enforce the addition - of a particular option set the persistent flag to true as in: + of a particular option set the always-send flag to true as in: "Dhcp6": { "option-data": [ { "name": "dns-servers", "data": "2001:db8::cafe, 2001:db8::babe", - "persistent": true + "always-send": true }, ... ] diff --git a/src/bin/dhcp4/dhcp4_lexer.ll b/src/bin/dhcp4/dhcp4_lexer.ll index 689d0b51ff81aac0765ca5be49ffec32ea8655a1..b03a1f0a94c0ba42c458cf605e8662305c8efcda 100644 --- a/src/bin/dhcp4/dhcp4_lexer.ll +++ b/src/bin/dhcp4/dhcp4_lexer.ll @@ -496,12 +496,12 @@ ControlCharacterFill [^"\\]|\\{JSONEscapeSequence} } } -\"persistent\" { +\"always-send\" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DATA: - return isc::dhcp::Dhcp4Parser::make_PERSISTENT(driver.loc_); + return isc::dhcp::Dhcp4Parser::make_ALWAYS_SEND(driver.loc_); default: - return isc::dhcp::Dhcp4Parser::make_STRING("persistent", driver.loc_); + return isc::dhcp::Dhcp4Parser::make_STRING("always-send", driver.loc_); } } diff --git a/src/bin/dhcp4/dhcp4_parser.yy b/src/bin/dhcp4/dhcp4_parser.yy index 4eb767032a80401480b923e6962f101567658a1e..7ff6dbb13204dd3e73ede9ebf302c4fd22ccff5d 100644 --- a/src/bin/dhcp4/dhcp4_parser.yy +++ b/src/bin/dhcp4/dhcp4_parser.yy @@ -96,7 +96,7 @@ using namespace std; CODE "code" SPACE "space" CSV_FORMAT "csv-format" - PERSISTENT "persistent" + ALWAYS_SEND "always-send" RECORD_TYPES "record-types" ENCAPSULATE "encapsulate" ARRAY "array" @@ -1132,7 +1132,7 @@ option_data_param: option_data_name | option_data_code | option_data_space | option_data_csv_format - | option_data_persistent + | option_data_always_send | unknown_map_entry ; @@ -1155,9 +1155,9 @@ option_data_csv_format: CSV_FORMAT COLON BOOLEAN { ctx.stack_.back()->set("csv-format", space); }; -option_data_persistent: PERSISTENT COLON BOOLEAN { +option_data_always_send: ALWAYS_SEND COLON BOOLEAN { ElementPtr persist(new BoolElement($3, ctx.loc2pos(@3))); - ctx.stack_.back()->set("persistent", persist); + ctx.stack_.back()->set("always-send", persist); }; // ---- pools ------------------------------------ diff --git a/src/bin/dhcp4/simple_parser4.cc b/src/bin/dhcp4/simple_parser4.cc index 4db3c7b86a29f7c15b8362c97fd3ff5386d7ba82..c1ff6b68f7023de8d87bf55439d86156ac90945e 100644 --- a/src/bin/dhcp4/simple_parser4.cc +++ b/src/bin/dhcp4/simple_parser4.cc @@ -46,7 +46,7 @@ const SimpleDefaults SimpleParser4::OPTION4_DEF_DEFAULTS = { const SimpleDefaults SimpleParser4::OPTION4_DEFAULTS = { { "space", Element::string, "dhcp4"}, { "csv-format", Element::boolean, "true"}, - { "persistent", Element::boolean, "false"} + { "always-send", Element::boolean, "false"} }; /// @brief This table defines default global values for DHCPv4 diff --git a/src/bin/dhcp4/tests/dhcp4_srv_unittest.cc b/src/bin/dhcp4/tests/dhcp4_srv_unittest.cc index 16ddfa54ae0903ad9d22c39b734eb730e4b47488..f879175d2d1f5a8113cc55385e01c1d70c7ffa84 100644 --- a/src/bin/dhcp4/tests/dhcp4_srv_unittest.cc +++ b/src/bin/dhcp4/tests/dhcp4_srv_unittest.cc @@ -1471,7 +1471,7 @@ TEST_F(Dhcpv4SrvTest, vendorPersistentOptions) { " \"code\": 2," " \"data\": \"192.0.2.1, 192.0.2.2\"," " \"csv-format\": true," - " \"persistent\": true" + " \"always-send\": true" " }]," "\"subnet4\": [ { " " \"pools\": [ { \"pool\": \"192.0.2.0/25\" } ]," @@ -2058,13 +2058,13 @@ TEST_F(Dhcpv4SrvTest, classGlobalPersistency) { "\"option-data\": [" " { \"name\": \"ip-forwarding\", " " \"data\": \"false\", " - " \"persistent\": true } ], " + " \"always-send\": true } ], " "\"client-classes\": [ " "{ \"name\": \"router\"," " \"option-data\": [" " { \"name\": \"ip-forwarding\", " " \"data\": \"true\", " - " \"persistent\": false } ], " + " \"always-send\": false } ], " " \"test\": \"option[12].text == 'foo'\" } ] }"; ConstElementPtr json; diff --git a/src/bin/dhcp4/tests/get_config_unittest.cc b/src/bin/dhcp4/tests/get_config_unittest.cc index b09979e1db73e2fe60d36a7c64e0882cdea561e6..1d2b40369842841f3501078a60655937a49e44f3 100644 --- a/src/bin/dhcp4/tests/get_config_unittest.cc +++ b/src/bin/dhcp4/tests/get_config_unittest.cc @@ -3264,7 +3264,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"ABCDEF0105\",\n" " \"name\": \"dhcp-message\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp4\"\n" " },\n" " {\n" @@ -3272,7 +3272,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"01\",\n" " \"name\": \"default-ip-ttl\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp4\"\n" " }\n" " ],\n" @@ -3360,7 +3360,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"ABCDEF0105\",\n" " \"name\": \"dhcp-message\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp4\"\n" " },\n" " {\n" @@ -3368,7 +3368,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"01\",\n" " \"name\": \"default-ip-ttl\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp4\"\n" " }\n" " ],\n" @@ -3434,7 +3434,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"ABCDEF0105\",\n" " \"name\": \"dhcp-message\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp4\"\n" " },\n" " {\n" @@ -3442,7 +3442,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"1234\",\n" " \"name\": \"foo\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"isc\"\n" " }\n" " ],\n" @@ -3529,7 +3529,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"1234\",\n" " \"name\": \"foo\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"isc\"\n" " },\n" " {\n" @@ -3537,7 +3537,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"192.168.2.1\",\n" " \"name\": \"foo2\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"isc\"\n" " }\n" " ],\n" @@ -3607,7 +3607,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"11\",\n" " \"name\": \"base-option\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp4\"\n" " },\n" " {\n" @@ -3615,7 +3615,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"1234\",\n" " \"name\": \"foo\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"isc\"\n" " },\n" " {\n" @@ -3623,7 +3623,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"192.168.2.1\",\n" " \"name\": \"foo2\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"isc\"\n" " }\n" " ],\n" @@ -3728,7 +3728,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"AB\",\n" " \"name\": \"dhcp-message\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp4\"\n" " }\n" " ],\n" @@ -3748,7 +3748,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"ABCDEF0105\",\n" " \"name\": \"dhcp-message\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp4\"\n" " },\n" " {\n" @@ -3756,7 +3756,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"01\",\n" " \"name\": \"default-ip-ttl\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp4\"\n" " }\n" " ],\n" @@ -3833,7 +3833,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"0102030405060708090A\",\n" " \"name\": \"dhcp-message\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp4\"\n" " }\n" " ],\n" @@ -3867,7 +3867,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"FF\",\n" " \"name\": \"default-ip-ttl\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp4\"\n" " }\n" " ],\n" @@ -3947,7 +3947,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"ABCDEF0105\",\n" " \"name\": \"dhcp-message\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp4\"\n" " },\n" " {\n" @@ -3955,7 +3955,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"01\",\n" " \"name\": \"default-ip-ttl\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp4\"\n" " }\n" " ],\n" @@ -4032,7 +4032,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"ABCDEF0105\",\n" " \"name\": \"dhcp-message\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp4\"\n" " }\n" " ],\n" @@ -4045,7 +4045,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"01\",\n" " \"name\": \"default-ip-ttl\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp4\"\n" " }\n" " ],\n" @@ -4108,7 +4108,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"1234\",\n" " \"name\": \"foo\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"vendor-encapsulated-options-space\"\n" " },\n" " {\n" @@ -4116,7 +4116,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"192.168.2.1\",\n" " \"name\": \"foo2\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"vendor-encapsulated-options-space\"\n" " }\n" " ],\n" @@ -4186,7 +4186,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"0104000004D20204C0A80201\",\n" " \"name\": \"vendor-encapsulated-options\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp4\"\n" " },\n" " {\n" @@ -4194,7 +4194,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"1234\",\n" " \"name\": \"foo\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"vendor-encapsulated-options-space\"\n" " },\n" " {\n" @@ -4202,7 +4202,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"192.168.2.1\",\n" " \"name\": \"foo2\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"vendor-encapsulated-options-space\"\n" " }\n" " ],\n" @@ -4297,14 +4297,14 @@ const char* UNPARSED_CONFIGS[] = { " \"code\": 100,\n" " \"csv-format\": false,\n" " \"data\": \"1234\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"vendor-1234\"\n" " },\n" " {\n" " \"code\": 100,\n" " \"csv-format\": false,\n" " \"data\": \"ABCDEF0105\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"vendor-4491\"\n" " }\n" " ],\n" @@ -4381,7 +4381,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"this is a string vendor-opt\",\n" " \"name\": \"foo\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"vendor-4491\"\n" " }\n" " ],\n" @@ -4745,7 +4745,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"192.0.3.95\",\n" " \"name\": \"name-servers\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp4\"\n" " },\n" " {\n" @@ -4753,7 +4753,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"11\",\n" " \"name\": \"default-ip-ttl\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp4\"\n" " }\n" " ],\n" @@ -4772,7 +4772,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"192.0.3.15\",\n" " \"name\": \"name-servers\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp4\"\n" " },\n" " {\n" @@ -4780,7 +4780,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"32\",\n" " \"name\": \"default-ip-ttl\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp4\"\n" " }\n" " ],\n" @@ -4845,7 +4845,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"192.0.4.11\",\n" " \"name\": \"name-servers\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp4\"\n" " },\n" " {\n" @@ -4853,7 +4853,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"95\",\n" " \"name\": \"default-ip-ttl\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp4\"\n" " }\n" " ],\n" @@ -4951,7 +4951,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"123\",\n" " \"name\": \"foo\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"isc\"\n" " }\n" " ],\n" diff --git a/src/bin/dhcp6/dhcp6_lexer.ll b/src/bin/dhcp6/dhcp6_lexer.ll index 50b9fa9d42f79fbeeff1d2143655e10453191924..48531dca2344c49de87ef9f83131268758b7056d 100644 --- a/src/bin/dhcp6/dhcp6_lexer.ll +++ b/src/bin/dhcp6/dhcp6_lexer.ll @@ -699,12 +699,12 @@ ControlCharacterFill [^"\\]|\\{JSONEscapeSequence} } } -\"persistent\" { +\"always-send\" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DATA: - return isc::dhcp::Dhcp6Parser::make_PERSISTENT(driver.loc_); + return isc::dhcp::Dhcp6Parser::make_ALWAYS_SEND(driver.loc_); default: - return isc::dhcp::Dhcp6Parser::make_STRING("persistent", driver.loc_); + return isc::dhcp::Dhcp6Parser::make_STRING("always-send", driver.loc_); } } diff --git a/src/bin/dhcp6/dhcp6_parser.yy b/src/bin/dhcp6/dhcp6_parser.yy index 3600f05d7cb923124cf3a6c13e1a55a064bbf390..6c880a31df1d209ab96b8a8bdd9d9a13f0c6fd0e 100644 --- a/src/bin/dhcp6/dhcp6_parser.yy +++ b/src/bin/dhcp6/dhcp6_parser.yy @@ -85,7 +85,7 @@ using namespace std; CODE "code" SPACE "space" CSV_FORMAT "csv-format" - PERSISTENT "persistent" + ALWAYS_SEND "always-send" RECORD_TYPES "record-types" ENCAPSULATE "encapsulate" ARRAY "array" @@ -1120,7 +1120,7 @@ option_data_param: option_data_name | option_data_code | option_data_space | option_data_csv_format - | option_data_persistent + | option_data_always_send | unknown_map_entry ; @@ -1143,9 +1143,9 @@ option_data_csv_format: CSV_FORMAT COLON BOOLEAN { ctx.stack_.back()->set("csv-format", space); }; -option_data_persistent: PERSISTENT COLON BOOLEAN { +option_data_always_send: ALWAYS_SEND COLON BOOLEAN { ElementPtr persist(new BoolElement($3, ctx.loc2pos(@3))); - ctx.stack_.back()->set("persistent", persist); + ctx.stack_.back()->set("always-send", persist); }; // ---- pools ------------------------------------ diff --git a/src/bin/dhcp6/simple_parser6.cc b/src/bin/dhcp6/simple_parser6.cc index bc871510a314c94b004eb9e4cee0ba94cfd66480..c18d826a0f9d5c227b0b34ce2399b31906740ebf 100644 --- a/src/bin/dhcp6/simple_parser6.cc +++ b/src/bin/dhcp6/simple_parser6.cc @@ -46,7 +46,7 @@ const SimpleDefaults SimpleParser6::OPTION6_DEF_DEFAULTS = { const SimpleDefaults SimpleParser6::OPTION6_DEFAULTS = { { "space", Element::string, "dhcp6"}, { "csv-format", Element::boolean, "true"}, - { "persistent", Element::boolean, "false"} + { "always-send", Element::boolean, "false"} }; /// @brief This table defines default global values for DHCPv6 diff --git a/src/bin/dhcp6/tests/classify_unittests.cc b/src/bin/dhcp6/tests/classify_unittests.cc index 22b0953f212649ff6257d184057f09750564b47c..9b04d035c240e503e6bbfccc12829bd7f0032264 100644 --- a/src/bin/dhcp6/tests/classify_unittests.cc +++ b/src/bin/dhcp6/tests/classify_unittests.cc @@ -545,7 +545,7 @@ TEST_F(ClassifyTest, classGlobalPersistency) { "\"option-data\": [" " { \"name\": \"ipv6-forwarding\", " " \"data\": \"false\", " - " \"persistent\": true } ], " + " \"always-send\": true } ], " "\"subnet6\": [ " "{ \"pools\": [ { \"pool\": \"2001:db8:1::/64\" } ], " " \"subnet\": \"2001:db8:1::/48\", " @@ -553,7 +553,7 @@ TEST_F(ClassifyTest, classGlobalPersistency) { " \"option-data\": [" " { \"name\": \"ipv6-forwarding\", " " \"data\": \"false\", " - " \"persistent\": false } ] } ] }"; + " \"always-send\": false } ] } ] }"; ASSERT_NO_THROW(configure(config)); // Create a packet with enough to select the subnet and go through diff --git a/src/bin/dhcp6/tests/dhcp6_srv_unittest.cc b/src/bin/dhcp6/tests/dhcp6_srv_unittest.cc index da000934437d8b5acb6b598a3eedccff2295bc86..d8d99146f93b20f8a1d38cacf16c7b3d780fe13c 100644 --- a/src/bin/dhcp6/tests/dhcp6_srv_unittest.cc +++ b/src/bin/dhcp6/tests/dhcp6_srv_unittest.cc @@ -1688,7 +1688,7 @@ TEST_F(Dhcpv6SrvTest, vendorPersistentOptions) { " \"name\": \"config-file\"," " \"space\": \"vendor-4491\"," " \"data\": \"normal_erouter_v6.cm\"," - " \"persistent\": true" + " \"always-send\": true" " }]," "\"subnet6\": [ { " " \"pools\": [ { \"pool\": \"2001:db8:1::/64\" } ]," diff --git a/src/bin/dhcp6/tests/get_config_unittest.cc b/src/bin/dhcp6/tests/get_config_unittest.cc index b3fb621554caff1b02ad5168a2c9ecacafdf3a1a..637b7e1d82333ac65bb8b32ee0f88c67f8d0d1c0 100644 --- a/src/bin/dhcp6/tests/get_config_unittest.cc +++ b/src/bin/dhcp6/tests/get_config_unittest.cc @@ -3146,7 +3146,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"ABCDEF0105\",\n" " \"name\": \"subscriber-id\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp6\"\n" " },\n" " {\n" @@ -3154,7 +3154,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"01\",\n" " \"name\": \"preference\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp6\"\n" " }\n" " ],\n" @@ -3255,7 +3255,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"ABCDEF0105\",\n" " \"name\": \"subscriber-id\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp6\"\n" " },\n" " {\n" @@ -3263,7 +3263,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"01\",\n" " \"name\": \"preference\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp6\"\n" " }\n" " ],\n" @@ -3332,7 +3332,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"ABCDEF0105\",\n" " \"name\": \"subscriber-id\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp6\"\n" " },\n" " {\n" @@ -3340,7 +3340,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"1234\",\n" " \"name\": \"foo\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"isc\"\n" " }\n" " ],\n" @@ -3435,7 +3435,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"1234\",\n" " \"name\": \"foo\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"isc\"\n" " },\n" " {\n" @@ -3443,7 +3443,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"192.168.2.1\",\n" " \"name\": \"foo2\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"isc\"\n" " }\n" " ],\n" @@ -3522,7 +3522,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"11\",\n" " \"name\": \"base-option\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp6\"\n" " },\n" " {\n" @@ -3530,7 +3530,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"1234\",\n" " \"name\": \"foo\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"isc\"\n" " },\n" " {\n" @@ -3538,7 +3538,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"192.168.2.1\",\n" " \"name\": \"foo2\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"isc\"\n" " }\n" " ],\n" @@ -3667,7 +3667,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"0102030405060708090A\",\n" " \"name\": \"subscriber-id\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp6\"\n" " }\n" " ],\n" @@ -3700,7 +3700,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"FFFEFDFCFB\",\n" " \"name\": \"user-class\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp6\"\n" " }\n" " ],\n" @@ -3791,7 +3791,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"112233445566\",\n" " \"name\": \"subscriber-id\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp6\"\n" " }\n" " ],\n" @@ -3808,7 +3808,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"AABBCCDDEE\",\n" " \"name\": \"user-class\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp6\"\n" " }\n" " ],\n" @@ -3824,7 +3824,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"0102030405060708090A\",\n" " \"name\": \"subscriber-id\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp6\"\n" " }\n" " ],\n" @@ -3837,7 +3837,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": false,\n" " \"data\": \"FFFEFDFCFB\",\n" " \"name\": \"user-class\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp6\"\n" " }\n" " ],\n" @@ -3901,14 +3901,14 @@ const char* UNPARSED_CONFIGS[] = { " \"code\": 100,\n" " \"csv-format\": false,\n" " \"data\": \"1234\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"vendor-1234\"\n" " },\n" " {\n" " \"code\": 100,\n" " \"csv-format\": false,\n" " \"data\": \"ABCDEF0105\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"vendor-4491\"\n" " }\n" " ],\n" @@ -3993,7 +3993,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"this is a string vendor-opt\",\n" " \"name\": \"foo\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"vendor-4491\"\n" " }\n" " ],\n" @@ -4550,7 +4550,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"2001:db8:2::abbc\",\n" " \"name\": \"dns-servers\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp6\"\n" " },\n" " {\n" @@ -4558,7 +4558,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"25\",\n" " \"name\": \"preference\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp6\"\n" " }\n" " ],\n" @@ -4575,7 +4575,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"2001:db8:2::1111\",\n" " \"name\": \"dns-servers\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp6\"\n" " },\n" " {\n" @@ -4583,7 +4583,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"11\",\n" " \"name\": \"preference\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp6\"\n" " }\n" " ],\n" @@ -4628,7 +4628,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"2001:db8:3::3333\",\n" " \"name\": \"dns-servers\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp6\"\n" " },\n" " {\n" @@ -4636,7 +4636,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"33\",\n" " \"name\": \"preference\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"dhcp6\"\n" " }\n" " ],\n" @@ -4735,7 +4735,7 @@ const char* UNPARSED_CONFIGS[] = { " \"csv-format\": true,\n" " \"data\": \"11\",\n" " \"name\": \"foo\",\n" -" \"persistent\": false,\n" +" \"always-send\": false,\n" " \"space\": \"isc\"\n" " }\n" " ],\n" diff --git a/src/lib/dhcpsrv/cfg_option.cc b/src/lib/dhcpsrv/cfg_option.cc index 73ba680ff7c6c9a42525de3d748dd9c4cfbb4eae..5d6c153918fc9ed6cd17d4a68d31127728c19410 100644 --- a/src/lib/dhcpsrv/cfg_option.cc +++ b/src/lib/dhcpsrv/cfg_option.cc @@ -225,7 +225,7 @@ CfgOption::toElement() const { map->set("data", Element::create(repr)); } // Set the persistency flag - map->set("persistent", Element::create(opt->persistent_)); + map->set("always-send", Element::create(opt->persistent_)); // Push on the list result->add(map); } @@ -268,7 +268,7 @@ CfgOption::toElement() const { map->set("data", Element::create(repr)); } // Set the persistency flag - map->set("persistent", Element::create(opt->persistent_)); + map->set("always-send", Element::create(opt->persistent_)); // Push on the list result->add(map); } diff --git a/src/lib/dhcpsrv/parsers/dhcp_parsers.cc b/src/lib/dhcpsrv/parsers/dhcp_parsers.cc index 22a4e80dc8a1e1ca3fe0147e07d92a1909ef7cd2..12c566fe7900e53f1126f1a7f84b7f6baf9b5096 100644 --- a/src/lib/dhcpsrv/parsers/dhcp_parsers.cc +++ b/src/lib/dhcpsrv/parsers/dhcp_parsers.cc @@ -307,7 +307,7 @@ OptionalValue OptionDataParser::extractPersistent(ConstElementPtr parent) const { bool persist = false; try { - persist = getBoolean(parent, "persistent"); + persist = getBoolean(parent, "always-send"); } catch (...) { return (OptionalValue(persist)); diff --git a/src/lib/dhcpsrv/parsers/dhcp_parsers.h b/src/lib/dhcpsrv/parsers/dhcp_parsers.h index b4f927efea4a495c355e2f7d0031aee50422f88b..11d7a88960690908f2033acdc9e575dca9262db9 100644 --- a/src/lib/dhcpsrv/parsers/dhcp_parsers.h +++ b/src/lib/dhcpsrv/parsers/dhcp_parsers.h @@ -462,7 +462,7 @@ private: /// @return Option space name. std::string extractSpace(data::ConstElementPtr parent) const; - /// @brief Retrieves persistent parameter as an optional value. + /// @brief Retrieves persistent/always-send parameter as an optional value. /// /// @return Value of the persistent parameter, possibly unspecified. util::OptionalValue extractPersistent(data::ConstElementPtr parent) const; diff --git a/src/lib/dhcpsrv/tests/cfg_option_unittest.cc b/src/lib/dhcpsrv/tests/cfg_option_unittest.cc index 8f2f6dfd961a75970cb8e216ac341e7f37cd7ae8..99d0c7d6564837873b8d7fe7d99241b269e9b1c9 100644 --- a/src/lib/dhcpsrv/tests/cfg_option_unittest.cc +++ b/src/lib/dhcpsrv/tests/cfg_option_unittest.cc @@ -613,26 +613,26 @@ TEST_F(CfgOptionTest, unparse) { " \"space\": \"dns\",\n" " \"csv-format\": false,\n" " \"data\": \"12121212\",\n" - " \"persistent\": false\n" + " \"always-send\": false\n" "},{\n" " \"code\": 101,\n" " \"space\": \"dns\",\n" " \"csv-format\": true,\n" " \"data\": \"12, 12, 12, 12\",\n" - " \"persistent\": false\n" + " \"always-send\": false\n" "},{\n" " \"code\": 13,\n" " \"name\": \"status-code\",\n" " \"space\": \"dhcp6\",\n" " \"csv-format\": false,\n" " \"data\": \"0000\",\n" - " \"persistent\": false\n" + " \"always-send\": false\n" "},{\n" " \"code\": 100,\n" " \"space\": \"vendor-1234\",\n" " \"csv-format\": false,\n" " \"data\": \"21212121\",\n" - " \"persistent\": true\n" + " \"always-send\": true\n" "}]\n"; isc::test::runToElementTest(expected, cfg); } diff --git a/src/lib/dhcpsrv/tests/dhcp_parsers_unittest.cc b/src/lib/dhcpsrv/tests/dhcp_parsers_unittest.cc index 8e8da67534fec1beb4e7d432b46ed0da6ee93ecb..d0d624badbb27000874100b98fa532e2146e17c6 100644 --- a/src/lib/dhcpsrv/tests/dhcp_parsers_unittest.cc +++ b/src/lib/dhcpsrv/tests/dhcp_parsers_unittest.cc @@ -622,14 +622,14 @@ const SimpleDefaults ParseConfigTest::OPTION4_DEF_DEFAULTS = { const SimpleDefaults ParseConfigTest::OPTION6_DEFAULTS = { { "space", Element::string, "dhcp6"}, { "csv-format", Element::boolean, "true"}, - { "persistent", Element::boolean,"false"} + { "always-send", Element::boolean,"false"} }; /// This table defines default values for options in DHCPv4 const SimpleDefaults ParseConfigTest::OPTION4_DEFAULTS = { { "space", Element::string, "dhcp4"}, { "csv-format", Element::boolean, "true"}, - { "persistent", Element::boolean, "false"} + { "always-send", Element::boolean, "false"} }; /// This table defines default values for both DHCPv4 and DHCPv6 @@ -864,7 +864,7 @@ TEST_F(ParseConfigTest, basicOptionDataTest) { " \"code\": 100," " \"data\": \"192.0.2.0\"," " \"csv-format\": true," - " \"persistent\": false" + " \"always-send\": false" " } ]" "}"; diff --git a/src/lib/dhcpsrv/tests/host_reservation_parser_unittest.cc b/src/lib/dhcpsrv/tests/host_reservation_parser_unittest.cc index 384f1aa28923b253af5383c21f8b2456e3e6e557..6ddfa7a93fdc519c27360d40f515c753fe50ddbe 100644 --- a/src/lib/dhcpsrv/tests/host_reservation_parser_unittest.cc +++ b/src/lib/dhcpsrv/tests/host_reservation_parser_unittest.cc @@ -985,7 +985,7 @@ TEST_F(HostReservationParserTest, options4) { "\"csv-format\": true," "\"space\": \"dhcp4\"," "\"data\": \"172.16.15.23\"," - "\"persistent\": false" + "\"always-send\": false" "}," "{" "\"name\": \"default-ip-ttl\"," @@ -1035,13 +1035,13 @@ TEST_F(HostReservationParserTest, options4) { option->set("code", Element::create(DHO_NAME_SERVERS)); option->set("space", Element::create(std::string(DHCP4_OPTION_SPACE))); option->set("csv-format", Element::create(true)); - option->set("persistent", Element::create(false)); + option->set("always-send", Element::create(false)); option = config_element->get("option-data")->getNonConst(1); option = config_element->get("option-data")->getNonConst(2); option->set("code", Element::create(DHO_DEFAULT_IP_TTL)); option->set("space", Element::create(std::string(DHCP4_OPTION_SPACE))); option->set("csv-format", Element::create(true)); - option->set("persistent", Element::create(false)); + option->set("always-send", Element::create(false)); ElementPtr expected = Element::createList(); expected->add(config_element); @@ -1075,7 +1075,7 @@ TEST_F(HostReservationParserTest, options6) { "\"csv-format\": true," "\"space\": \"dhcp6\"," "\"data\": \"2001:db8:1::1204\"," - "\"persistent\": true" + "\"always-send\": true" "}," "{" "\"name\": \"preference\"," @@ -1126,13 +1126,13 @@ TEST_F(HostReservationParserTest, options6) { option->set("code", Element::create(D6O_NAME_SERVERS)); option->set("space", Element::create(std::string(DHCP6_OPTION_SPACE))); option->set("csv-format", Element::create(true)); - option->set("persistent", Element::create(false)); + option->set("always-send", Element::create(false)); option = config_element->get("option-data")->getNonConst(1); option = config_element->get("option-data")->getNonConst(2); option->set("code", Element::create(D6O_PREFERENCE)); option->set("space", Element::create(std::string(DHCP6_OPTION_SPACE))); option->set("csv-format", Element::create(true)); - option->set("persistent", Element::create(false)); + option->set("always-send", Element::create(false)); config = prettyPrint(config_element); boost::algorithm::to_lower(config);