Browse Source

[5241] Changed "persistent" into "always-send"

Francis Dupont 7 years ago
parent
commit
44792ac441

+ 2 - 2
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
          }
        ],
 

+ 2 - 2
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": [

+ 2 - 2
doc/guide/dhcp4-srv.xml

@@ -994,14 +994,14 @@ temporarily override a list of interface names and listen on all interfaces.
         </screen>
         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:
         <screen>
 "Dhcp4": {
     "option-data": [
         {
            <userinput>"name": "domain-name-servers",
            "data": "192.0.2.1, 192.0.2.2",
-           "persistent": true</userinput>
+           "always-send": true</userinput>
         },
         ...
     ]

+ 2 - 2
doc/guide/dhcp6-srv.xml

@@ -1022,14 +1022,14 @@ temporarily override a list of interface names and listen on all interfaces.
         </screen>
         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:
         <screen>
 "Dhcp6": {
     "option-data": [
         {
            <userinput>"name": "dns-servers",
            "data": "2001:db8::cafe, 2001:db8::babe",
-           "persistent": true</userinput>
+           "always-send": true</userinput>
         },
         ...
     ]

+ 3 - 3
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_);
     }
 }
 

+ 4 - 4
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 ------------------------------------

+ 1 - 1
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

+ 3 - 3
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;

+ 35 - 35
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"

+ 3 - 3
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_);
     }
 }
 

+ 4 - 4
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 ------------------------------------

+ 1 - 1
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

+ 2 - 2
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

+ 1 - 1
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\" } ],"

+ 27 - 27
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"

+ 2 - 2
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);
         }

+ 1 - 1
src/lib/dhcpsrv/parsers/dhcp_parsers.cc

@@ -307,7 +307,7 @@ OptionalValue<bool>
 OptionDataParser::extractPersistent(ConstElementPtr parent) const {
     bool persist = false;
     try {
-        persist = getBoolean(parent, "persistent");
+        persist = getBoolean(parent, "always-send");
 
     } catch (...) {
         return (OptionalValue<bool>(persist));

+ 1 - 1
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<bool> extractPersistent(data::ConstElementPtr parent) const;

+ 4 - 4
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<CfgOption>(expected, cfg);
 }

+ 3 - 3
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"
         " } ]"
         "}";
 

+ 6 - 6
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);