]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#275, !130] Regen flex/bison
authorFrancis Dupont <fdupont@isc.org>
Mon, 26 Nov 2018 15:33:39 +0000 (15:33 +0000)
committerFrancis Dupont <fdupont@isc.org>
Tue, 27 Nov 2018 13:39:22 +0000 (08:39 -0500)
12 files changed:
src/bin/dhcp4/dhcp4_lexer.cc
src/bin/dhcp4/dhcp4_parser.cc
src/bin/dhcp4/dhcp4_parser.h
src/bin/dhcp4/location.hh
src/bin/dhcp4/position.hh
src/bin/dhcp4/stack.hh
src/bin/dhcp6/dhcp6_lexer.cc
src/bin/dhcp6/dhcp6_parser.cc
src/bin/dhcp6/dhcp6_parser.h
src/bin/dhcp6/location.hh
src/bin/dhcp6/position.hh
src/bin/dhcp6/stack.hh

index ccd6b950ae17a491598aae56d59ace1dd36c8b11..994640bbfd3c68da9bda39bdace3ff969b0a97f9 100644 (file)
@@ -1677,25 +1677,25 @@ int yy_flex_debug = 1;
 
 static const flex_int16_t yy_rule_linenum[175] =
     {   0,
-      145,  147,  149,  154,  155,  160,  161,  162,  174,  177,
-      182,  189,  198,  207,  216,  225,  234,  243,  253,  262,
-      271,  280,  289,  298,  307,  316,  325,  334,  343,  352,
-      364,  373,  382,  391,  400,  411,  422,  433,  444,  454,
-      464,  475,  486,  497,  508,  519,  530,  541,  552,  563,
-      574,  585,  594,  603,  613,  622,  632,  646,  662,  671,
-      680,  689,  698,  719,  740,  749,  759,  768,  779,  788,
-      797,  806,  815,  824,  834,  843,  852,  861,  870,  879,
-      888,  897,  906,  915,  924,  934,  945,  957,  966,  975,
-      985,  995, 1005, 1015, 1025, 1035, 1044, 1054, 1063, 1072,
-
-     1081, 1090, 1100, 1110, 1119, 1129, 1138, 1147, 1156, 1165,
-     1174, 1183, 1192, 1201, 1210, 1219, 1228, 1237, 1246, 1255,
-     1264, 1273, 1282, 1291, 1300, 1309, 1318, 1327, 1336, 1345,
-     1354, 1363, 1372, 1381, 1390, 1399, 1409, 1419, 1429, 1439,
-     1449, 1459, 1469, 1479, 1489, 1498, 1507, 1516, 1525, 1534,
-     1543, 1552, 1563, 1574, 1587, 1600, 1615, 1714, 1719, 1724,
-     1729, 1730, 1731, 1732, 1733, 1734, 1736, 1754, 1767, 1772,
-     1776, 1778, 1780, 1782
+      147,  149,  151,  156,  157,  162,  163,  164,  176,  179,
+      184,  191,  200,  209,  218,  227,  236,  245,  255,  264,
+      273,  282,  291,  300,  309,  318,  327,  336,  345,  354,
+      366,  375,  384,  393,  402,  413,  424,  435,  446,  456,
+      466,  477,  488,  499,  510,  521,  532,  543,  554,  565,
+      576,  587,  596,  605,  615,  624,  634,  648,  664,  673,
+      682,  691,  700,  721,  742,  751,  761,  770,  781,  790,
+      799,  808,  817,  826,  836,  845,  854,  863,  872,  881,
+      890,  899,  908,  917,  926,  936,  947,  959,  968,  977,
+      987,  997, 1007, 1017, 1027, 1037, 1046, 1056, 1065, 1074,
+
+     1083, 1092, 1102, 1112, 1121, 1131, 1140, 1149, 1158, 1167,
+     1176, 1185, 1194, 1203, 1212, 1221, 1230, 1239, 1248, 1257,
+     1266, 1275, 1284, 1293, 1302, 1311, 1320, 1329, 1338, 1347,
+     1356, 1365, 1374, 1383, 1392, 1401, 1411, 1421, 1431, 1441,
+     1451, 1461, 1471, 1481, 1491, 1500, 1509, 1518, 1527, 1536,
+     1545, 1554, 1565, 1576, 1589, 1602, 1617, 1716, 1721, 1726,
+     1731, 1732, 1733, 1734, 1735, 1736, 1738, 1756, 1769, 1774,
+     1778, 1780, 1782, 1784
     } ;
 
 /* The intent behind this definition is that it'll catch
@@ -2097,13 +2097,15 @@ YY_DECL
             return isc::dhcp::Dhcp4Parser::make_SUB_HOOKS_LIBRARY(driver.loc_);
         case Parser4Context::PARSER_DHCP_DDNS:
             return isc::dhcp::Dhcp4Parser::make_SUB_DHCP_DDNS(driver.loc_);
+        case Parser4Context::PARSER_CONFIG_CONTROL:
+            return isc::dhcp::Dhcp4Parser::make_SUB_CONFIG_CONTROL(driver.loc_);
         case Parser4Context::PARSER_LOGGING:
             return isc::dhcp::Dhcp4Parser::make_SUB_LOGGING(driver.loc_);
         }
     }
 
 
-#line 2106 "dhcp4_lexer.cc"
+#line 2108 "dhcp4_lexer.cc"
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
@@ -2181,17 +2183,17 @@ do_action:      /* This label is used only to access EOF actions. */
 
 case 1:
 YY_RULE_SETUP
-#line 145 "dhcp4_lexer.ll"
+#line 147 "dhcp4_lexer.ll"
 ;
        YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 147 "dhcp4_lexer.ll"
+#line 149 "dhcp4_lexer.ll"
 ;
        YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 149 "dhcp4_lexer.ll"
+#line 151 "dhcp4_lexer.ll"
 {
   BEGIN(COMMENT);
   comment_start_line = driver.loc_.end.line;;
@@ -2199,33 +2201,33 @@ YY_RULE_SETUP
        YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 154 "dhcp4_lexer.ll"
+#line 156 "dhcp4_lexer.ll"
 BEGIN(INITIAL);
        YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 155 "dhcp4_lexer.ll"
+#line 157 "dhcp4_lexer.ll"
 ;
        YY_BREAK
 case YY_STATE_EOF(COMMENT):
-#line 156 "dhcp4_lexer.ll"
+#line 158 "dhcp4_lexer.ll"
 {
     isc_throw(Dhcp4ParseError, "Comment not closed. (/* in line " << comment_start_line);
 }
        YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 160 "dhcp4_lexer.ll"
+#line 162 "dhcp4_lexer.ll"
 BEGIN(DIR_ENTER);
        YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 161 "dhcp4_lexer.ll"
+#line 163 "dhcp4_lexer.ll"
 BEGIN(DIR_INCLUDE);
        YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 162 "dhcp4_lexer.ll"
+#line 164 "dhcp4_lexer.ll"
 {
     /* Include directive. */
 
@@ -2239,19 +2241,19 @@ YY_RULE_SETUP
 case YY_STATE_EOF(DIR_ENTER):
 case YY_STATE_EOF(DIR_INCLUDE):
 case YY_STATE_EOF(DIR_EXIT):
-#line 171 "dhcp4_lexer.ll"
+#line 173 "dhcp4_lexer.ll"
 {
     isc_throw(Dhcp4ParseError, "Directive not closed.");
 }
        YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 174 "dhcp4_lexer.ll"
+#line 176 "dhcp4_lexer.ll"
 BEGIN(INITIAL);
        YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 177 "dhcp4_lexer.ll"
+#line 179 "dhcp4_lexer.ll"
 {
     /* Ok, we found a with space. Let's ignore it and update loc variable. */
     driver.loc_.step();
@@ -2260,7 +2262,7 @@ YY_RULE_SETUP
 case 11:
 /* rule 11 can match eol */
 YY_RULE_SETUP
-#line 182 "dhcp4_lexer.ll"
+#line 184 "dhcp4_lexer.ll"
 {
     /* Newline found. Let's update the location and continue. */
     driver.loc_.lines(yyleng);
@@ -2269,7 +2271,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 189 "dhcp4_lexer.ll"
+#line 191 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONFIG:
@@ -2281,7 +2283,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 198 "dhcp4_lexer.ll"
+#line 200 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -2293,7 +2295,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 207 "dhcp4_lexer.ll"
+#line 209 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -2305,7 +2307,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 216 "dhcp4_lexer.ll"
+#line 218 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SANITY_CHECKS:
@@ -2317,7 +2319,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 225 "dhcp4_lexer.ll"
+#line 227 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::INTERFACES_CONFIG:
@@ -2329,7 +2331,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 234 "dhcp4_lexer.ll"
+#line 236 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_SOCKET_TYPE:
@@ -2341,7 +2343,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 243 "dhcp4_lexer.ll"
+#line 245 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_SOCKET_TYPE:
@@ -2354,7 +2356,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 253 "dhcp4_lexer.ll"
+#line 255 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case Parser4Context::INTERFACES_CONFIG:
@@ -2366,7 +2368,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 262 "dhcp4_lexer.ll"
+#line 264 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case Parser4Context::OUTBOUND_INTERFACE:
@@ -2378,7 +2380,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 271 "dhcp4_lexer.ll"
+#line 273 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case Parser4Context::OUTBOUND_INTERFACE:
@@ -2390,7 +2392,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 280 "dhcp4_lexer.ll"
+#line 282 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::INTERFACES_CONFIG:
@@ -2402,7 +2404,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 289 "dhcp4_lexer.ll"
+#line 291 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::INTERFACES_CONFIG:
@@ -2414,7 +2416,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 298 "dhcp4_lexer.ll"
+#line 300 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -2426,7 +2428,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 307 "dhcp4_lexer.ll"
+#line 309 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -2438,7 +2440,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 316 "dhcp4_lexer.ll"
+#line 318 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -2450,7 +2452,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 325 "dhcp4_lexer.ll"
+#line 327 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -2462,7 +2464,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 334 "dhcp4_lexer.ll"
+#line 336 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONFIG_CONTROL:
@@ -2474,7 +2476,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 343 "dhcp4_lexer.ll"
+#line 345 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOSTS_DATABASE:
@@ -2486,7 +2488,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 352 "dhcp4_lexer.ll"
+#line 354 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LEASE_DATABASE:
@@ -2501,7 +2503,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 364 "dhcp4_lexer.ll"
+#line 366 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DATABASE_TYPE:
@@ -2513,7 +2515,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 373 "dhcp4_lexer.ll"
+#line 375 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DATABASE_TYPE:
@@ -2525,7 +2527,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 382 "dhcp4_lexer.ll"
+#line 384 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DATABASE_TYPE:
@@ -2537,7 +2539,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 391 "dhcp4_lexer.ll"
+#line 393 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DATABASE_TYPE:
@@ -2549,7 +2551,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 400 "dhcp4_lexer.ll"
+#line 402 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LEASE_DATABASE:
@@ -2563,7 +2565,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 411 "dhcp4_lexer.ll"
+#line 413 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LEASE_DATABASE:
@@ -2577,7 +2579,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 422 "dhcp4_lexer.ll"
+#line 424 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LEASE_DATABASE:
@@ -2591,7 +2593,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 433 "dhcp4_lexer.ll"
+#line 435 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LEASE_DATABASE:
@@ -2605,7 +2607,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 444 "dhcp4_lexer.ll"
+#line 446 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LEASE_DATABASE:
@@ -2618,7 +2620,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 454 "dhcp4_lexer.ll"
+#line 456 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LEASE_DATABASE:
@@ -2631,7 +2633,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 464 "dhcp4_lexer.ll"
+#line 466 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LEASE_DATABASE:
@@ -2645,7 +2647,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 475 "dhcp4_lexer.ll"
+#line 477 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LEASE_DATABASE:
@@ -2659,7 +2661,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 486 "dhcp4_lexer.ll"
+#line 488 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LEASE_DATABASE:
@@ -2673,7 +2675,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 497 "dhcp4_lexer.ll"
+#line 499 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LEASE_DATABASE:
@@ -2687,7 +2689,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 508 "dhcp4_lexer.ll"
+#line 510 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LEASE_DATABASE:
@@ -2701,7 +2703,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 519 "dhcp4_lexer.ll"
+#line 521 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LEASE_DATABASE:
@@ -2715,7 +2717,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 530 "dhcp4_lexer.ll"
+#line 532 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LEASE_DATABASE:
@@ -2729,7 +2731,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 541 "dhcp4_lexer.ll"
+#line 543 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LEASE_DATABASE:
@@ -2743,7 +2745,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 49:
 YY_RULE_SETUP
-#line 552 "dhcp4_lexer.ll"
+#line 554 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -2757,7 +2759,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 50:
 YY_RULE_SETUP
-#line 563 "dhcp4_lexer.ll"
+#line 565 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -2771,7 +2773,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 51:
 YY_RULE_SETUP
-#line 574 "dhcp4_lexer.ll"
+#line 576 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -2785,7 +2787,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 52:
 YY_RULE_SETUP
-#line 585 "dhcp4_lexer.ll"
+#line 587 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -2797,7 +2799,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 594 "dhcp4_lexer.ll"
+#line 596 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -2809,7 +2811,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 54:
 YY_RULE_SETUP
-#line 603 "dhcp4_lexer.ll"
+#line 605 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -2822,7 +2824,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 55:
 YY_RULE_SETUP
-#line 613 "dhcp4_lexer.ll"
+#line 615 "dhcp4_lexer.ll"
 {
     switch (driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -2834,7 +2836,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 56:
 YY_RULE_SETUP
-#line 622 "dhcp4_lexer.ll"
+#line 624 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -2847,7 +2849,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 57:
 YY_RULE_SETUP
-#line 632 "dhcp4_lexer.ll"
+#line 634 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -2864,7 +2866,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 58:
 YY_RULE_SETUP
-#line 646 "dhcp4_lexer.ll"
+#line 648 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LEASE_DATABASE:
@@ -2883,7 +2885,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 59:
 YY_RULE_SETUP
-#line 662 "dhcp4_lexer.ll"
+#line 664 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DATA:
@@ -2895,7 +2897,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 60:
 YY_RULE_SETUP
-#line 671 "dhcp4_lexer.ll"
+#line 673 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DATA:
@@ -2907,7 +2909,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 680 "dhcp4_lexer.ll"
+#line 682 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -2919,7 +2921,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 62:
 YY_RULE_SETUP
-#line 689 "dhcp4_lexer.ll"
+#line 691 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::POOLS:
@@ -2931,7 +2933,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 63:
 YY_RULE_SETUP
-#line 698 "dhcp4_lexer.ll"
+#line 700 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -2955,7 +2957,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 64:
 YY_RULE_SETUP
-#line 719 "dhcp4_lexer.ll"
+#line 721 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -2979,7 +2981,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 65:
 YY_RULE_SETUP
-#line 740 "dhcp4_lexer.ll"
+#line 742 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -2991,7 +2993,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 66:
 YY_RULE_SETUP
-#line 749 "dhcp4_lexer.ll"
+#line 751 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3004,7 +3006,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 67:
 YY_RULE_SETUP
-#line 759 "dhcp4_lexer.ll"
+#line 761 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3016,7 +3018,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 68:
 YY_RULE_SETUP
-#line 768 "dhcp4_lexer.ll"
+#line 770 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3030,7 +3032,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 69:
 YY_RULE_SETUP
-#line 779 "dhcp4_lexer.ll"
+#line 781 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RESERVATION_MODE:
@@ -3042,7 +3044,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 70:
 YY_RULE_SETUP
-#line 788 "dhcp4_lexer.ll"
+#line 790 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RESERVATION_MODE:
@@ -3054,7 +3056,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 71:
 YY_RULE_SETUP
-#line 797 "dhcp4_lexer.ll"
+#line 799 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RESERVATION_MODE:
@@ -3066,7 +3068,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 72:
 YY_RULE_SETUP
-#line 806 "dhcp4_lexer.ll"
+#line 808 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RESERVATION_MODE:
@@ -3078,7 +3080,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 73:
 YY_RULE_SETUP
-#line 815 "dhcp4_lexer.ll"
+#line 817 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RESERVATION_MODE:
@@ -3090,7 +3092,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 74:
 YY_RULE_SETUP
-#line 824 "dhcp4_lexer.ll"
+#line 826 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DEF:
@@ -3103,7 +3105,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 75:
 YY_RULE_SETUP
-#line 834 "dhcp4_lexer.ll"
+#line 836 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3115,7 +3117,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 76:
 YY_RULE_SETUP
-#line 843 "dhcp4_lexer.ll"
+#line 845 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONFIG:
@@ -3127,7 +3129,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 77:
 YY_RULE_SETUP
-#line 852 "dhcp4_lexer.ll"
+#line 854 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LOGGING:
@@ -3139,7 +3141,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 78:
 YY_RULE_SETUP
-#line 861 "dhcp4_lexer.ll"
+#line 863 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LOGGERS:
@@ -3151,7 +3153,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 79:
 YY_RULE_SETUP
-#line 870 "dhcp4_lexer.ll"
+#line 872 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
@@ -3163,7 +3165,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 879 "dhcp4_lexer.ll"
+#line 881 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LOGGERS:
@@ -3175,7 +3177,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 81:
 YY_RULE_SETUP
-#line 888 "dhcp4_lexer.ll"
+#line 890 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
@@ -3187,7 +3189,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 82:
 YY_RULE_SETUP
-#line 897 "dhcp4_lexer.ll"
+#line 899 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
@@ -3199,7 +3201,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 83:
 YY_RULE_SETUP
-#line 906 "dhcp4_lexer.ll"
+#line 908 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
@@ -3211,7 +3213,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 84:
 YY_RULE_SETUP
-#line 915 "dhcp4_lexer.ll"
+#line 917 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LOGGERS:
@@ -3223,7 +3225,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 85:
 YY_RULE_SETUP
-#line 924 "dhcp4_lexer.ll"
+#line 926 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3236,7 +3238,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 86:
 YY_RULE_SETUP
-#line 934 "dhcp4_lexer.ll"
+#line 936 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3250,7 +3252,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 87:
 YY_RULE_SETUP
-#line 945 "dhcp4_lexer.ll"
+#line 947 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3265,7 +3267,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 88:
 YY_RULE_SETUP
-#line 957 "dhcp4_lexer.ll"
+#line 959 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CLIENT_CLASSES:
@@ -3277,7 +3279,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 966 "dhcp4_lexer.ll"
+#line 968 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CLIENT_CLASSES:
@@ -3289,7 +3291,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 975 "dhcp4_lexer.ll"
+#line 977 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3302,7 +3304,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 91:
 YY_RULE_SETUP
-#line 985 "dhcp4_lexer.ll"
+#line 987 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3315,7 +3317,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 995 "dhcp4_lexer.ll"
+#line 997 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3328,7 +3330,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 93:
 YY_RULE_SETUP
-#line 1005 "dhcp4_lexer.ll"
+#line 1007 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3341,7 +3343,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 1015 "dhcp4_lexer.ll"
+#line 1017 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3354,7 +3356,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 1025 "dhcp4_lexer.ll"
+#line 1027 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3367,7 +3369,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 1035 "dhcp4_lexer.ll"
+#line 1037 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RESERVATIONS:
@@ -3379,7 +3381,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 1044 "dhcp4_lexer.ll"
+#line 1046 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DEF:
@@ -3392,7 +3394,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 1054 "dhcp4_lexer.ll"
+#line 1056 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DATA:
@@ -3404,7 +3406,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 99:
 YY_RULE_SETUP
-#line 1063 "dhcp4_lexer.ll"
+#line 1065 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DEF:
@@ -3416,7 +3418,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 100:
 YY_RULE_SETUP
-#line 1072 "dhcp4_lexer.ll"
+#line 1074 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DEF:
@@ -3428,7 +3430,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 101:
 YY_RULE_SETUP
-#line 1081 "dhcp4_lexer.ll"
+#line 1083 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DEF:
@@ -3440,7 +3442,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 102:
 YY_RULE_SETUP
-#line 1090 "dhcp4_lexer.ll"
+#line 1092 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3453,7 +3455,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 103:
 YY_RULE_SETUP
-#line 1100 "dhcp4_lexer.ll"
+#line 1102 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RELAY:
@@ -3466,7 +3468,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 104:
 YY_RULE_SETUP
-#line 1110 "dhcp4_lexer.ll"
+#line 1112 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RELAY:
@@ -3478,7 +3480,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 105:
 YY_RULE_SETUP
-#line 1119 "dhcp4_lexer.ll"
+#line 1121 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3490,7 +3492,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 106:
 YY_RULE_SETUP
-#line 1129 "dhcp4_lexer.ll"
+#line 1131 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
@@ -3502,7 +3504,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 107:
 YY_RULE_SETUP
-#line 1138 "dhcp4_lexer.ll"
+#line 1140 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
@@ -3514,7 +3516,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 108:
 YY_RULE_SETUP
-#line 1147 "dhcp4_lexer.ll"
+#line 1149 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3526,7 +3528,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 109:
 YY_RULE_SETUP
-#line 1156 "dhcp4_lexer.ll"
+#line 1158 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3538,7 +3540,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 110:
 YY_RULE_SETUP
-#line 1165 "dhcp4_lexer.ll"
+#line 1167 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3550,7 +3552,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 1174 "dhcp4_lexer.ll"
+#line 1176 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3562,7 +3564,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 112:
 YY_RULE_SETUP
-#line 1183 "dhcp4_lexer.ll"
+#line 1185 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3574,7 +3576,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 113:
 YY_RULE_SETUP
-#line 1192 "dhcp4_lexer.ll"
+#line 1194 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3586,7 +3588,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 114:
 YY_RULE_SETUP
-#line 1201 "dhcp4_lexer.ll"
+#line 1203 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3598,7 +3600,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 115:
 YY_RULE_SETUP
-#line 1210 "dhcp4_lexer.ll"
+#line 1212 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3610,7 +3612,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 116:
 YY_RULE_SETUP
-#line 1219 "dhcp4_lexer.ll"
+#line 1221 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3622,7 +3624,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 117:
 YY_RULE_SETUP
-#line 1228 "dhcp4_lexer.ll"
+#line 1230 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONTROL_SOCKET:
@@ -3634,7 +3636,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 118:
 YY_RULE_SETUP
-#line 1237 "dhcp4_lexer.ll"
+#line 1239 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONTROL_SOCKET:
@@ -3646,7 +3648,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 119:
 YY_RULE_SETUP
-#line 1246 "dhcp4_lexer.ll"
+#line 1248 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3658,7 +3660,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 120:
 YY_RULE_SETUP
-#line 1255 "dhcp4_lexer.ll"
+#line 1257 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3670,7 +3672,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 121:
 YY_RULE_SETUP
-#line 1264 "dhcp4_lexer.ll"
+#line 1266 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3682,7 +3684,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 122:
 YY_RULE_SETUP
-#line 1273 "dhcp4_lexer.ll"
+#line 1275 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3694,7 +3696,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 123:
 YY_RULE_SETUP
-#line 1282 "dhcp4_lexer.ll"
+#line 1284 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3706,7 +3708,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 124:
 YY_RULE_SETUP
-#line 1291 "dhcp4_lexer.ll"
+#line 1293 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3718,7 +3720,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 125:
 YY_RULE_SETUP
-#line 1300 "dhcp4_lexer.ll"
+#line 1302 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3730,7 +3732,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 126:
 YY_RULE_SETUP
-#line 1309 "dhcp4_lexer.ll"
+#line 1311 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3742,7 +3744,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 127:
 YY_RULE_SETUP
-#line 1318 "dhcp4_lexer.ll"
+#line 1320 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3754,7 +3756,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 128:
 YY_RULE_SETUP
-#line 1327 "dhcp4_lexer.ll"
+#line 1329 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3766,7 +3768,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 129:
 YY_RULE_SETUP
-#line 1336 "dhcp4_lexer.ll"
+#line 1338 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3778,7 +3780,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 130:
 YY_RULE_SETUP
-#line 1345 "dhcp4_lexer.ll"
+#line 1347 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3790,7 +3792,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 131:
 YY_RULE_SETUP
-#line 1354 "dhcp4_lexer.ll"
+#line 1356 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3802,7 +3804,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 132:
 YY_RULE_SETUP
-#line 1363 "dhcp4_lexer.ll"
+#line 1365 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3814,7 +3816,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 133:
 YY_RULE_SETUP
-#line 1372 "dhcp4_lexer.ll"
+#line 1374 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3826,7 +3828,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 134:
 YY_RULE_SETUP
-#line 1381 "dhcp4_lexer.ll"
+#line 1383 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3838,7 +3840,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 135:
 YY_RULE_SETUP
-#line 1390 "dhcp4_lexer.ll"
+#line 1392 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3850,7 +3852,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 136:
 YY_RULE_SETUP
-#line 1399 "dhcp4_lexer.ll"
+#line 1401 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) {
@@ -3863,7 +3865,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 137:
 YY_RULE_SETUP
-#line 1409 "dhcp4_lexer.ll"
+#line 1411 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) {
@@ -3876,7 +3878,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 138:
 YY_RULE_SETUP
-#line 1419 "dhcp4_lexer.ll"
+#line 1421 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_FORMAT) {
@@ -3889,7 +3891,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 139:
 YY_RULE_SETUP
-#line 1429 "dhcp4_lexer.ll"
+#line 1431 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3902,7 +3904,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 140:
 YY_RULE_SETUP
-#line 1439 "dhcp4_lexer.ll"
+#line 1441 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3915,7 +3917,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 141:
 YY_RULE_SETUP
-#line 1449 "dhcp4_lexer.ll"
+#line 1451 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3928,7 +3930,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 142:
 YY_RULE_SETUP
-#line 1459 "dhcp4_lexer.ll"
+#line 1461 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3941,7 +3943,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 143:
 YY_RULE_SETUP
-#line 1469 "dhcp4_lexer.ll"
+#line 1471 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3954,7 +3956,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 144:
 YY_RULE_SETUP
-#line 1479 "dhcp4_lexer.ll"
+#line 1481 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3967,7 +3969,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 145:
 YY_RULE_SETUP
-#line 1489 "dhcp4_lexer.ll"
+#line 1491 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONFIG:
@@ -3979,7 +3981,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 146:
 YY_RULE_SETUP
-#line 1498 "dhcp4_lexer.ll"
+#line 1500 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONFIG:
@@ -3991,7 +3993,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 147:
 YY_RULE_SETUP
-#line 1507 "dhcp4_lexer.ll"
+#line 1509 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONFIG:
@@ -4003,7 +4005,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 148:
 YY_RULE_SETUP
-#line 1516 "dhcp4_lexer.ll"
+#line 1518 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -4015,7 +4017,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 149:
 YY_RULE_SETUP
-#line 1525 "dhcp4_lexer.ll"
+#line 1527 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -4027,7 +4029,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 150:
 YY_RULE_SETUP
-#line 1534 "dhcp4_lexer.ll"
+#line 1536 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -4039,7 +4041,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 151:
 YY_RULE_SETUP
-#line 1543 "dhcp4_lexer.ll"
+#line 1545 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -4051,7 +4053,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 152:
 YY_RULE_SETUP
-#line 1552 "dhcp4_lexer.ll"
+#line 1554 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -4065,7 +4067,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 153:
 YY_RULE_SETUP
-#line 1563 "dhcp4_lexer.ll"
+#line 1565 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -4079,7 +4081,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 154:
 YY_RULE_SETUP
-#line 1574 "dhcp4_lexer.ll"
+#line 1576 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -4095,7 +4097,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 155:
 YY_RULE_SETUP
-#line 1587 "dhcp4_lexer.ll"
+#line 1589 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -4111,7 +4113,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 156:
 YY_RULE_SETUP
-#line 1600 "dhcp4_lexer.ll"
+#line 1602 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -4127,7 +4129,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 157:
 YY_RULE_SETUP
-#line 1615 "dhcp4_lexer.ll"
+#line 1617 "dhcp4_lexer.ll"
 {
     /* 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.
@@ -4230,7 +4232,7 @@ YY_RULE_SETUP
 case 158:
 /* rule 158 can match eol */
 YY_RULE_SETUP
-#line 1714 "dhcp4_lexer.ll"
+#line 1716 "dhcp4_lexer.ll"
 {
     /* Bad string with a forbidden control character inside */
     driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
@@ -4239,7 +4241,7 @@ YY_RULE_SETUP
 case 159:
 /* rule 159 can match eol */
 YY_RULE_SETUP
-#line 1719 "dhcp4_lexer.ll"
+#line 1721 "dhcp4_lexer.ll"
 {
     /* Bad string with a bad escape inside */
     driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
@@ -4247,7 +4249,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 160:
 YY_RULE_SETUP
-#line 1724 "dhcp4_lexer.ll"
+#line 1726 "dhcp4_lexer.ll"
 {
     /* Bad string with an open escape at the end */
     driver.error(driver.loc_, "Overflow escape in " + std::string(yytext));
@@ -4255,37 +4257,37 @@ YY_RULE_SETUP
        YY_BREAK
 case 161:
 YY_RULE_SETUP
-#line 1729 "dhcp4_lexer.ll"
+#line 1731 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
 case 162:
 YY_RULE_SETUP
-#line 1730 "dhcp4_lexer.ll"
+#line 1732 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
 case 163:
 YY_RULE_SETUP
-#line 1731 "dhcp4_lexer.ll"
+#line 1733 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); }
        YY_BREAK
 case 164:
 YY_RULE_SETUP
-#line 1732 "dhcp4_lexer.ll"
+#line 1734 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); }
        YY_BREAK
 case 165:
 YY_RULE_SETUP
-#line 1733 "dhcp4_lexer.ll"
+#line 1735 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); }
        YY_BREAK
 case 166:
 YY_RULE_SETUP
-#line 1734 "dhcp4_lexer.ll"
+#line 1736 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); }
        YY_BREAK
 case 167:
 YY_RULE_SETUP
-#line 1736 "dhcp4_lexer.ll"
+#line 1738 "dhcp4_lexer.ll"
 {
     /* An integer was found. */
     std::string tmp(yytext);
@@ -4306,7 +4308,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 168:
 YY_RULE_SETUP
-#line 1754 "dhcp4_lexer.ll"
+#line 1756 "dhcp4_lexer.ll"
 {
     /* A floating point was found. */
     std::string tmp(yytext);
@@ -4322,7 +4324,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 169:
 YY_RULE_SETUP
-#line 1767 "dhcp4_lexer.ll"
+#line 1769 "dhcp4_lexer.ll"
 {
     string tmp(yytext);
     return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_);
@@ -4330,33 +4332,33 @@ YY_RULE_SETUP
        YY_BREAK
 case 170:
 YY_RULE_SETUP
-#line 1772 "dhcp4_lexer.ll"
+#line 1774 "dhcp4_lexer.ll"
 {
    return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_);
 }
        YY_BREAK
 case 171:
 YY_RULE_SETUP
-#line 1776 "dhcp4_lexer.ll"
+#line 1778 "dhcp4_lexer.ll"
 driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
        YY_BREAK
 case 172:
 YY_RULE_SETUP
-#line 1778 "dhcp4_lexer.ll"
+#line 1780 "dhcp4_lexer.ll"
 driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
        YY_BREAK
 case 173:
 YY_RULE_SETUP
-#line 1780 "dhcp4_lexer.ll"
+#line 1782 "dhcp4_lexer.ll"
 driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
        YY_BREAK
 case 174:
 YY_RULE_SETUP
-#line 1782 "dhcp4_lexer.ll"
+#line 1784 "dhcp4_lexer.ll"
 driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 1784 "dhcp4_lexer.ll"
+#line 1786 "dhcp4_lexer.ll"
 {
     if (driver.states_.empty()) {
         return isc::dhcp::Dhcp4Parser::make_END(driver.loc_);
@@ -4382,10 +4384,10 @@ case YY_STATE_EOF(INITIAL):
        YY_BREAK
 case 175:
 YY_RULE_SETUP
-#line 1807 "dhcp4_lexer.ll"
+#line 1809 "dhcp4_lexer.ll"
 ECHO;
        YY_BREAK
-#line 4388 "dhcp4_lexer.cc"
+#line 4390 "dhcp4_lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
@@ -5490,7 +5492,7 @@ void yyfree (void * ptr )
 
 /* %ok-for-header */
 
-#line 1807 "dhcp4_lexer.ll"
+#line 1809 "dhcp4_lexer.ll"
 
 
 using namespace isc::dhcp;
index b2462eef828ab5a08084e7e047d2c70b99cf3913..b0a842d6ef7c89e2efb9e65d700a0ceaddb5d35b 100644 (file)
@@ -3422,270 +3422,252 @@ namespace isc { namespace dhcp {
 
   case 596:
 #line 2073 "dhcp4_parser.yy" // lalr1.cc:907
-    {
-    ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
-    ctx.stack_.back()->add(m);
-    ctx.stack_.push_back(m);
-}
-#line 3431 "dhcp4_parser.cc" // lalr1.cc:907
-    break;
-
-  case 597:
-#line 2077 "dhcp4_parser.yy" // lalr1.cc:907
-    {
-    ctx.stack_.pop_back();
-}
-#line 3439 "dhcp4_parser.cc" // lalr1.cc:907
-    break;
-
-  case 598:
-#line 2082 "dhcp4_parser.yy" // lalr1.cc:907
     {
     ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("config-control", i);
     ctx.stack_.push_back(i);
     ctx.enter(ctx.CONFIG_CONTROL);
 }
-#line 3450 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3432 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 599:
-#line 2087 "dhcp4_parser.yy" // lalr1.cc:907
+  case 597:
+#line 2078 "dhcp4_parser.yy" // lalr1.cc:907
     {
     // No config control params are required
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 3460 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3442 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 600:
-#line 2093 "dhcp4_parser.yy" // lalr1.cc:907
+  case 598:
+#line 2084 "dhcp4_parser.yy" // lalr1.cc:907
     {
     // Parse the config-control map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
-#line 3470 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3452 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 601:
-#line 2097 "dhcp4_parser.yy" // lalr1.cc:907
+  case 599:
+#line 2088 "dhcp4_parser.yy" // lalr1.cc:907
     {
     // No config_control params are required
     // parsing completed
 }
-#line 3479 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3461 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 606:
-#line 2112 "dhcp4_parser.yy" // lalr1.cc:907
+  case 603:
+#line 2102 "dhcp4_parser.yy" // lalr1.cc:907
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("config-databases", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.CONFIG_DATABASE);
 }
-#line 3490 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3472 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 607:
-#line 2117 "dhcp4_parser.yy" // lalr1.cc:907
+  case 604:
+#line 2107 "dhcp4_parser.yy" // lalr1.cc:907
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 3499 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3481 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 608:
-#line 2127 "dhcp4_parser.yy" // lalr1.cc:907
+  case 605:
+#line 2117 "dhcp4_parser.yy" // lalr1.cc:907
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("Logging", m);
     ctx.stack_.push_back(m);
     ctx.enter(ctx.LOGGING);
 }
-#line 3510 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3492 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 609:
-#line 2132 "dhcp4_parser.yy" // lalr1.cc:907
+  case 606:
+#line 2122 "dhcp4_parser.yy" // lalr1.cc:907
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 3519 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3501 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 610:
-#line 2137 "dhcp4_parser.yy" // lalr1.cc:907
+  case 607:
+#line 2127 "dhcp4_parser.yy" // lalr1.cc:907
     {
     // Parse the Logging map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
-#line 3529 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3511 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 611:
-#line 2141 "dhcp4_parser.yy" // lalr1.cc:907
+  case 608:
+#line 2131 "dhcp4_parser.yy" // lalr1.cc:907
     {
     // parsing completed
 }
-#line 3537 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3519 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 615:
-#line 2157 "dhcp4_parser.yy" // lalr1.cc:907
+  case 612:
+#line 2147 "dhcp4_parser.yy" // lalr1.cc:907
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("loggers", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.LOGGERS);
 }
-#line 3548 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3530 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 616:
-#line 2162 "dhcp4_parser.yy" // lalr1.cc:907
+  case 613:
+#line 2152 "dhcp4_parser.yy" // lalr1.cc:907
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 3557 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3539 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 619:
-#line 2174 "dhcp4_parser.yy" // lalr1.cc:907
+  case 616:
+#line 2164 "dhcp4_parser.yy" // lalr1.cc:907
     {
     ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(l);
     ctx.stack_.push_back(l);
 }
-#line 3567 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3549 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 620:
-#line 2178 "dhcp4_parser.yy" // lalr1.cc:907
+  case 617:
+#line 2168 "dhcp4_parser.yy" // lalr1.cc:907
     {
     ctx.stack_.pop_back();
 }
-#line 3575 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3557 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 630:
-#line 2195 "dhcp4_parser.yy" // lalr1.cc:907
+  case 627:
+#line 2185 "dhcp4_parser.yy" // lalr1.cc:907
     {
     ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("debuglevel", dl);
 }
-#line 3584 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3566 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 631:
-#line 2200 "dhcp4_parser.yy" // lalr1.cc:907
+  case 628:
+#line 2190 "dhcp4_parser.yy" // lalr1.cc:907
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 3592 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3574 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 632:
-#line 2202 "dhcp4_parser.yy" // lalr1.cc:907
+  case 629:
+#line 2192 "dhcp4_parser.yy" // lalr1.cc:907
     {
     ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("severity", sev);
     ctx.leave();
 }
-#line 3602 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3584 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 633:
-#line 2208 "dhcp4_parser.yy" // lalr1.cc:907
+  case 630:
+#line 2198 "dhcp4_parser.yy" // lalr1.cc:907
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output_options", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.OUTPUT_OPTIONS);
 }
-#line 3613 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3595 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 634:
-#line 2213 "dhcp4_parser.yy" // lalr1.cc:907
+  case 631:
+#line 2203 "dhcp4_parser.yy" // lalr1.cc:907
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 3622 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3604 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 637:
-#line 2222 "dhcp4_parser.yy" // lalr1.cc:907
+  case 634:
+#line 2212 "dhcp4_parser.yy" // lalr1.cc:907
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 3632 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3614 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 638:
-#line 2226 "dhcp4_parser.yy" // lalr1.cc:907
+  case 635:
+#line 2216 "dhcp4_parser.yy" // lalr1.cc:907
     {
     ctx.stack_.pop_back();
 }
-#line 3640 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3622 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 645:
-#line 2240 "dhcp4_parser.yy" // lalr1.cc:907
+  case 642:
+#line 2230 "dhcp4_parser.yy" // lalr1.cc:907
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 3648 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3630 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 646:
-#line 2242 "dhcp4_parser.yy" // lalr1.cc:907
+  case 643:
+#line 2232 "dhcp4_parser.yy" // lalr1.cc:907
     {
     ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output", sev);
     ctx.leave();
 }
-#line 3658 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3640 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 647:
-#line 2248 "dhcp4_parser.yy" // lalr1.cc:907
+  case 644:
+#line 2238 "dhcp4_parser.yy" // lalr1.cc:907
     {
     ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("flush", flush);
 }
-#line 3667 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3649 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 648:
-#line 2253 "dhcp4_parser.yy" // lalr1.cc:907
+  case 645:
+#line 2243 "dhcp4_parser.yy" // lalr1.cc:907
     {
     ElementPtr maxsize(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxsize", maxsize);
 }
-#line 3676 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3658 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
-  case 649:
-#line 2258 "dhcp4_parser.yy" // lalr1.cc:907
+  case 646:
+#line 2248 "dhcp4_parser.yy" // lalr1.cc:907
     {
     ElementPtr maxver(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxver", maxver);
 }
-#line 3685 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3667 "dhcp4_parser.cc" // lalr1.cc:907
     break;
 
 
-#line 3689 "dhcp4_parser.cc" // lalr1.cc:907
+#line 3671 "dhcp4_parser.cc" // lalr1.cc:907
             default:
               break;
             }
@@ -3943,118 +3925,117 @@ namespace isc { namespace dhcp {
   }
 
 
-  const short Dhcp4Parser::yypact_ninf_ = -796;
+  const short Dhcp4Parser::yypact_ninf_ = -797;
 
   const signed char Dhcp4Parser::yytable_ninf_ = -1;
 
   const short
   Dhcp4Parser::yypact_[] =
   {
-     343,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,    50,    35,    56,    62,    64,
-     110,   129,   151,   183,   191,   222,   224,   228,   243,   262,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,    35,    95,
-      18,    69,    43,   167,   148,   188,   205,    77,   111,   -56,
-     463,   147,    41,  -796,   295,   290,   300,   303,   309,  -796,
-    -796,  -796,  -796,  -796,   319,  -796,    57,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,   323,   325,   337,
-    -796,  -796,  -796,  -796,  -796,  -796,   348,   357,   359,   362,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,   363,  -796,  -796,  -796,  -796,    59,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,   364,  -796,    70,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,   367,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,    76,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,   125,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,   366,   373,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,   370,  -796,
-    -796,   378,  -796,  -796,  -796,   380,  -796,  -796,   377,   383,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,   385,   386,  -796,  -796,  -796,  -796,   379,
-     390,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,   126,  -796,  -796,  -796,   392,  -796,  -796,
-     394,  -796,   395,   398,  -796,  -796,   399,   403,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,   127,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,   181,  -796,  -796,  -796,  -796,   201,  -796,
-    -796,  -796,    35,    35,  -796,   166,   408,   411,   412,   413,
-     414,  -796,    18,  -796,    41,   417,   418,   421,   226,   261,
-     268,   426,   433,   435,   436,   437,   438,   277,   278,   279,
-     280,   443,   445,   446,   447,   464,   466,   469,   470,   471,
-     472,   473,   474,   476,   315,   478,   479,   480,    69,  -796,
-     481,   482,   483,   320,    43,  -796,   485,   486,   487,   488,
-     504,   505,   346,   509,   510,   511,   167,  -796,   512,   148,
-    -796,   514,   515,   516,   517,   520,   521,   522,   523,  -796,
-     188,  -796,   524,   525,   365,   528,   530,   531,   368,  -796,
-      77,   533,   374,   376,  -796,   111,   534,   537,   -72,  -796,
-     381,   542,   543,   384,   547,   387,   388,   548,   551,   389,
-     391,   556,   557,   558,   559,   463,  -796,   560,   147,  -796,
-     561,    41,  -796,  -796,  -796,   562,   563,   564,    35,    35,
-      35,  -796,   202,   565,   566,   568,  -796,  -796,  -796,   402,
-     404,   429,   570,   571,   574,  -796,  -796,  -796,  -796,   430,
-     591,   592,   593,   594,   595,   439,   195,   598,   600,   601,
-     602,   603,  -796,   604,   595,   605,  -796,   608,   153,   234,
-    -796,  -796,   444,   449,   450,   611,   452,   453,  -796,   608,
-     454,   613,  -796,   456,  -796,   608,   457,   458,   459,   460,
-     461,   462,   465,  -796,   467,   468,  -796,   475,   477,   484,
-    -796,  -796,   489,  -796,  -796,  -796,   490,    35,  -796,  -796,
-     491,   492,  -796,   493,  -796,  -796,    29,   497,  -796,  -796,
-     -28,   494,   495,   496,  -796,   626,  -796,   629,  -796,    35,
-      69,   147,  -796,  -796,  -796,  -796,    41,    43,   545,  -796,
-    -796,  -796,   415,   415,   628,  -796,   630,   631,   632,   634,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,   244,   636,
-     637,   638,   208,    -2,  -796,   463,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,   639,  -796,  -796,
-    -796,  -796,    72,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,   640,   628,  -796,   204,
-     210,   211,   229,  -796,   230,  -796,  -796,  -796,  -796,  -796,
-    -796,   644,   646,   647,   648,   649,  -796,  -796,   658,   659,
-     660,   661,   662,  -796,   253,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,   254,  -796,   663,   633,  -796,  -796,   664,
-     665,  -796,  -796,   666,   668,  -796,  -796,   667,   671,  -796,
-    -796,   669,   673,  -796,  -796,  -796,  -796,  -796,  -796,    83,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,    84,  -796,  -796,
-     672,   674,  -796,  -796,   675,   676,  -796,   678,   679,   680,
-     681,   682,   683,   260,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,   286,  -796,  -796,  -796,
-     287,   502,  -796,   684,   677,  -796,  -796,  -796,  -796,   685,
-    -796,   115,  -796,   686,  -796,  -796,  -796,  -796,   687,   545,
-    -796,   690,   691,   692,   693,   442,   532,   535,   536,   539,
-     694,   695,   540,   541,   544,   546,   549,   415,  -796,  -796,
-     415,  -796,   628,   167,  -796,   630,    77,  -796,   631,   111,
-    -796,   632,   245,  -796,   634,   244,  -796,    75,   636,  -796,
-     188,  -796,   637,   -56,  -796,   638,   550,   552,   553,   554,
-     555,   567,   208,  -796,   698,   699,    -2,  -796,  -796,  -796,
-     702,   706,   148,  -796,   639,   707,  -796,   328,   640,  -796,
-    -796,   569,  -796,   321,   572,   573,   575,  -796,  -796,  -796,
-    -796,  -796,   576,   577,  -796,  -796,  -796,  -796,  -796,  -796,
-     288,  -796,   294,  -796,   705,  -796,   714,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-     302,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,   710,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,   715,   712,  -796,  -796,  -796,  -796,  -796,   716,
-    -796,   317,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-     578,   579,  -796,  -796,   580,   327,  -796,   608,  -796,   721,
-    -796,  -796,  -796,  -796,  -796,   340,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,   245,  -796,   722,   581,
-    -796,    75,  -796,  -796,  -796,  -796,  -796,  -796,  -796,   723,
-     582,   724,   328,  -796,  -796,   586,  -796,  -796,   725,  -796,
-     587,  -796,  -796,   728,  -796,  -796,   156,  -796,   -31,   728,
-    -796,  -796,   727,   732,   735,   342,  -796,  -796,  -796,  -796,
-    -796,  -796,   742,   589,   588,   612,   -31,  -796,   590,  -796,
-    -796,  -796,  -796,  -796
+     403,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,    43,    35,    38,    50,    58,
+      60,    64,   103,   110,   142,   148,   161,   163,   185,   189,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,    35,   -20,
+      17,    71,    32,   152,   -15,   239,   146,   242,    54,   -25,
+     361,    76,   206,  -797,   219,   224,   233,   237,   244,  -797,
+    -797,  -797,  -797,  -797,   287,  -797,    55,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,   295,   297,   299,  -797,
+    -797,  -797,  -797,  -797,  -797,   303,   326,   354,   364,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,   367,  -797,  -797,  -797,  -797,    61,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,   369,  -797,    72,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,   371,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,    86,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,   135,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,   273,   286,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,   342,  -797,  -797,
+     375,  -797,  -797,  -797,   382,  -797,  -797,   345,   362,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,   383,   385,  -797,  -797,  -797,  -797,   387,   388,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,   138,  -797,  -797,  -797,   386,  -797,  -797,   389,
+    -797,   392,   396,  -797,  -797,   397,   398,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,   166,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,   186,  -797,  -797,  -797,   187,  -797,  -797,  -797,
+      35,    35,  -797,    77,   405,   408,   409,   410,   411,  -797,
+      17,  -797,   415,   418,   422,   250,   259,   265,   430,   432,
+     435,   436,   437,   438,   278,   279,   280,   282,   439,   445,
+     446,   463,   464,   465,   466,   467,   468,   469,   470,   471,
+     472,   311,   488,   489,   490,    71,  -797,   491,   492,   493,
+     332,    32,  -797,   497,   498,   499,   500,   501,   504,   343,
+     506,   507,   509,   152,  -797,   510,   -15,  -797,   511,   512,
+     513,   514,   515,   516,   517,   518,  -797,   239,  -797,   519,
+     520,   365,   523,   524,   526,   366,  -797,   242,   528,   368,
+     373,  -797,    54,   529,   531,   -13,  -797,   374,   533,   535,
+     378,   541,   380,   381,   544,   545,   384,   400,   546,   566,
+     568,   569,   361,  -797,   570,    76,  -797,   571,   206,  -797,
+    -797,  -797,   572,   573,   574,    35,    35,    35,  -797,   575,
+     576,   577,  -797,  -797,  -797,   412,   413,   420,   579,   580,
+     583,  -797,  -797,  -797,  -797,   424,   585,   586,   587,   588,
+     589,   429,   172,   590,   592,   593,   594,   595,  -797,   596,
+     589,   597,  -797,   600,   304,   309,  -797,  -797,   441,   442,
+     443,   604,   447,   448,  -797,   600,   449,   603,  -797,   450,
+    -797,   600,   451,   452,   453,   454,   455,   456,   457,  -797,
+     458,   459,  -797,   460,   461,   462,  -797,  -797,   473,  -797,
+    -797,  -797,   474,    35,  -797,  -797,   475,   476,  -797,   477,
+    -797,  -797,    11,   479,  -797,  -797,   -29,   478,   480,   481,
+    -797,   623,  -797,   624,  -797,    35,    71,    76,  -797,  -797,
+    -797,   206,    32,   578,  -797,  -797,  -797,   414,   414,   625,
+    -797,   626,   627,   628,   629,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,    66,   630,   637,   640,     5,    95,  -797,
+     361,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,   641,  -797,  -797,  -797,  -797,   263,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,   642,   625,  -797,   190,   196,   231,   238,  -797,   261,
+    -797,  -797,  -797,  -797,  -797,  -797,   646,   647,   648,   649,
+     650,  -797,  -797,   651,   652,   653,   654,   655,  -797,   262,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,   270,  -797,
+     656,   657,  -797,  -797,   658,   660,  -797,  -797,   659,   663,
+    -797,  -797,   661,   665,  -797,  -797,   664,   666,  -797,  -797,
+    -797,  -797,  -797,  -797,   211,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,   232,  -797,  -797,   667,   668,  -797,  -797,   669,
+     671,  -797,   672,   673,   674,   675,   676,   677,   274,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,   276,  -797,  -797,  -797,   277,   496,  -797,   678,   679,
+    -797,  -797,  -797,  -797,   622,  -797,   335,  -797,   680,  -797,
+    -797,  -797,  -797,   681,   578,  -797,   683,   684,   685,   686,
+     434,   525,   530,   527,   532,   687,   688,   534,   536,   537,
+     538,   539,   414,  -797,  -797,   414,  -797,   625,   152,  -797,
+     626,   242,  -797,   627,    54,  -797,   628,   195,  -797,   629,
+      66,  -797,   234,   630,  -797,   239,  -797,   637,   -25,  -797,
+     640,   540,   542,   543,   547,   548,   549,     5,  -797,   690,
+     693,    95,  -797,  -797,  -797,   695,   696,   -15,  -797,   641,
+     701,  -797,    10,   642,  -797,  -797,   551,  -797,   347,   552,
+     553,   554,  -797,  -797,  -797,  -797,  -797,   555,   556,  -797,
+    -797,  -797,  -797,  -797,  -797,   284,  -797,   285,  -797,   702,
+    -797,   703,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,   292,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,   708,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,   714,   720,  -797,
+    -797,  -797,  -797,  -797,   716,  -797,   319,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,   560,   561,  -797,  -797,   562,
+     337,  -797,   600,  -797,   724,  -797,  -797,  -797,  -797,  -797,
+     339,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,   195,  -797,   725,   563,  -797,   234,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,   726,   567,   728,    10,  -797,  -797,
+     581,  -797,  -797,   729,  -797,   582,  -797,  -797,   730,  -797,
+    -797,   349,  -797,   -10,   730,  -797,  -797,   731,   732,   734,
+     346,  -797,  -797,  -797,  -797,  -797,  -797,   735,   584,   607,
+     610,   -10,  -797,   598,  -797,  -797,  -797,  -797,  -797
   };
 
   const unsigned short
@@ -4066,148 +4047,147 @@ namespace isc { namespace dhcp {
        1,    45,    38,    34,    33,    30,    31,    32,    37,     3,
       35,    36,    58,     5,    70,     7,   128,     9,   265,    11,
      420,    13,   445,    15,   345,    17,   353,    19,   390,    21,
-     230,    23,   537,    25,   610,    27,   600,    29,    47,    41,
+     230,    23,   537,    25,   607,    27,   598,    29,    47,    41,
        0,     0,     0,     0,     0,   447,     0,   355,   392,     0,
        0,     0,     0,    49,     0,    48,     0,     0,    42,    68,
-     608,   590,   592,   594,     0,    67,     0,    60,    62,    64,
-      65,    66,    63,   596,   598,   117,   143,     0,     0,     0,
-     466,   468,   470,   141,   150,   152,     0,     0,     0,     0,
-     112,   257,   343,   382,   314,   433,   435,   307,   208,   494,
-     437,   222,   241,     0,   520,   533,   535,   107,     0,    72,
-      74,    75,    76,    77,   105,    94,    95,    96,    80,    81,
-     102,    82,    83,    84,    88,    89,    78,   106,    79,    86,
-      87,   100,   101,   103,    97,    98,    99,    85,    90,    91,
-      92,    93,   104,   130,   132,   136,     0,   127,     0,   119,
-     121,   122,   123,   124,   125,   126,   295,   297,   299,   412,
-     293,   301,     0,   305,   303,   490,   292,   269,   270,   271,
-     282,   283,     0,   267,   274,   287,   288,   289,   275,   277,
-     278,   280,   276,   272,   273,   290,   291,   279,   284,   285,
-     286,   281,   431,   430,   426,   427,   425,     0,   422,   424,
-     428,   429,   488,   476,   478,   482,   480,   486,   484,   472,
-     465,   459,   463,   464,     0,   448,   449,   460,   461,   462,
-     456,   451,   457,   453,   454,   455,   458,   452,     0,   372,
-     193,     0,   376,   374,   379,     0,   368,   369,     0,   356,
-     357,   359,   371,   360,   361,   362,   378,   363,   364,   365,
-     366,   367,   406,     0,     0,   404,   405,   408,   409,     0,
-     393,   394,   396,   397,   398,   399,   400,   401,   402,   403,
-     237,   239,   234,     0,   232,   235,   236,     0,   560,   562,
-       0,   565,     0,     0,   569,   573,     0,     0,   577,   584,
-     586,   588,   558,   556,   557,     0,   539,   541,   542,   543,
-     544,   545,   546,   547,   548,   549,   550,   551,   552,   553,
-     554,   555,   615,     0,   612,   614,   606,   605,     0,   602,
-     604,    46,     0,     0,    39,     0,     0,     0,     0,     0,
-       0,    57,     0,    59,     0,     0,     0,     0,     0,     0,
+     605,   590,   592,   594,     0,    67,     0,    60,    62,    64,
+      65,    66,    63,   596,   117,   143,     0,     0,     0,   466,
+     468,   470,   141,   150,   152,     0,     0,     0,     0,   112,
+     257,   343,   382,   314,   433,   435,   307,   208,   494,   437,
+     222,   241,     0,   520,   533,   535,   107,     0,    72,    74,
+      75,    76,    77,   105,    94,    95,    96,    80,    81,   102,
+      82,    83,    84,    88,    89,    78,   106,    79,    86,    87,
+     100,   101,   103,    97,    98,    99,    85,    90,    91,    92,
+      93,   104,   130,   132,   136,     0,   127,     0,   119,   121,
+     122,   123,   124,   125,   126,   295,   297,   299,   412,   293,
+     301,     0,   305,   303,   490,   292,   269,   270,   271,   282,
+     283,     0,   267,   274,   287,   288,   289,   275,   277,   278,
+     280,   276,   272,   273,   290,   291,   279,   284,   285,   286,
+     281,   431,   430,   426,   427,   425,     0,   422,   424,   428,
+     429,   488,   476,   478,   482,   480,   486,   484,   472,   465,
+     459,   463,   464,     0,   448,   449,   460,   461,   462,   456,
+     451,   457,   453,   454,   455,   458,   452,     0,   372,   193,
+       0,   376,   374,   379,     0,   368,   369,     0,   356,   357,
+     359,   371,   360,   361,   362,   378,   363,   364,   365,   366,
+     367,   406,     0,     0,   404,   405,   408,   409,     0,   393,
+     394,   396,   397,   398,   399,   400,   401,   402,   403,   237,
+     239,   234,     0,   232,   235,   236,     0,   560,   562,     0,
+     565,     0,     0,   569,   573,     0,     0,   577,   584,   586,
+     588,   558,   556,   557,     0,   539,   541,   542,   543,   544,
+     545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
+     555,   612,     0,   609,   611,   603,     0,   600,   602,    46,
+       0,     0,    39,     0,     0,     0,     0,     0,     0,    57,
+       0,    59,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    71,
-       0,     0,     0,     0,     0,   129,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   266,     0,     0,
-     421,     0,     0,     0,     0,     0,     0,     0,     0,   446,
-       0,   346,     0,     0,     0,     0,     0,     0,     0,   354,
-       0,     0,     0,     0,   391,     0,     0,     0,     0,   231,
+       0,     0,     0,     0,     0,     0,    71,     0,     0,     0,
+       0,     0,   129,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   266,     0,     0,   421,     0,     0,
+       0,     0,     0,     0,     0,     0,   446,     0,   346,     0,
+       0,     0,     0,     0,     0,     0,   354,     0,     0,     0,
+       0,   391,     0,     0,     0,     0,   231,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   538,     0,     0,   611,
-       0,     0,   601,    50,    43,     0,     0,     0,     0,     0,
-       0,    61,     0,     0,     0,     0,   114,   115,   116,     0,
-       0,     0,     0,     0,     0,   108,   109,   110,   111,     0,
+       0,     0,     0,   538,     0,     0,   608,     0,     0,   599,
+      50,    43,     0,     0,     0,     0,     0,     0,    61,     0,
+       0,     0,   114,   115,   116,     0,     0,     0,     0,     0,
+       0,   108,   109,   110,   111,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   519,     0,
+       0,     0,    73,     0,     0,     0,   140,   120,     0,     0,
+       0,     0,     0,     0,   313,     0,     0,     0,   268,     0,
+     423,     0,     0,     0,     0,     0,     0,     0,     0,   450,
+       0,     0,   370,     0,     0,     0,   381,   358,     0,   410,
+     411,   395,     0,     0,   233,   559,     0,     0,   564,     0,
+     567,   568,     0,     0,   575,   576,     0,     0,     0,     0,
+     540,     0,   610,     0,   601,     0,     0,     0,   591,   593,
+     595,     0,     0,     0,   467,   469,   471,     0,     0,   154,
+     113,   259,   347,   384,   316,    40,   434,   436,   309,   310,
+     311,   312,   308,     0,     0,   439,   224,     0,     0,   534,
+       0,    51,   131,   134,   135,   133,   138,   139,   137,   296,
+     298,   300,   414,   294,   302,   306,   304,     0,   432,   489,
+     477,   479,   483,   481,   487,   485,   473,   373,   194,   377,
+     375,   380,   407,   238,   240,   561,   563,   566,   571,   572,
+     570,   574,   579,   580,   581,   582,   583,   578,   585,   587,
+     589,     0,   154,    44,     0,     0,     0,     0,   148,     0,
+     145,   147,   180,   186,   188,   190,     0,     0,     0,     0,
+       0,   202,   204,     0,     0,     0,     0,     0,   179,     0,
+     160,   162,   163,   164,   165,   166,   167,   168,   169,   170,
+     171,   175,   176,   177,   172,   178,   173,   174,     0,   158,
+       0,   155,   156,   263,     0,   260,   261,   351,     0,   348,
+     349,   388,     0,   385,   386,   320,     0,   317,   318,   217,
+     218,   219,   220,   221,     0,   210,   212,   213,   214,   215,
+     216,   498,     0,   496,   443,     0,   440,   441,   228,     0,
+     225,   226,     0,     0,     0,     0,     0,     0,     0,   243,
+     245,   246,   247,   248,   249,   250,   529,   531,   528,   526,
+     527,     0,   522,   524,   525,     0,    53,   418,     0,   415,
+     416,   474,   492,   493,     0,   616,     0,   614,     0,    69,
+     606,   597,   118,     0,     0,   144,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   519,     0,     0,     0,    73,     0,     0,     0,
-     140,   120,     0,     0,     0,     0,     0,     0,   313,     0,
-       0,     0,   268,     0,   423,     0,     0,     0,     0,     0,
-       0,     0,     0,   450,     0,     0,   370,     0,     0,     0,
-     381,   358,     0,   410,   411,   395,     0,     0,   233,   559,
-       0,     0,   564,     0,   567,   568,     0,     0,   575,   576,
-       0,     0,     0,     0,   540,     0,   613,     0,   603,     0,
-       0,     0,   591,   593,   595,   597,     0,     0,     0,   467,
-     469,   471,     0,     0,   154,   113,   259,   347,   384,   316,
-      40,   434,   436,   309,   310,   311,   312,   308,     0,     0,
-     439,   224,     0,     0,   534,     0,    51,   131,   134,   135,
-     133,   138,   139,   137,   296,   298,   300,   414,   294,   302,
-     306,   304,     0,   432,   489,   477,   479,   483,   481,   487,
-     485,   473,   373,   194,   377,   375,   380,   407,   238,   240,
-     561,   563,   566,   571,   572,   570,   574,   579,   580,   581,
-     582,   583,   578,   585,   587,   589,     0,   154,    44,     0,
-       0,     0,     0,   148,     0,   145,   147,   180,   186,   188,
-     190,     0,     0,     0,     0,     0,   202,   204,     0,     0,
-       0,     0,     0,   179,     0,   160,   162,   163,   164,   165,
-     166,   167,   168,   169,   170,   171,   175,   176,   177,   172,
-     178,   173,   174,     0,   158,     0,   155,   156,   263,     0,
-     260,   261,   351,     0,   348,   349,   388,     0,   385,   386,
-     320,     0,   317,   318,   217,   218,   219,   220,   221,     0,
-     210,   212,   213,   214,   215,   216,   498,     0,   496,   443,
-       0,   440,   441,   228,     0,   225,   226,     0,     0,     0,
-       0,     0,     0,     0,   243,   245,   246,   247,   248,   249,
-     250,   529,   531,   528,   526,   527,     0,   522,   524,   525,
-       0,    53,   418,     0,   415,   416,   474,   492,   493,     0,
-     619,     0,   617,     0,    69,   609,   599,   118,     0,     0,
-     144,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   142,   151,
-       0,   153,     0,     0,   258,     0,   355,   344,     0,   392,
-     383,     0,     0,   315,     0,     0,   209,   500,     0,   495,
-     447,   438,     0,     0,   223,     0,     0,     0,     0,     0,
-       0,     0,     0,   242,     0,     0,     0,   521,   536,    55,
-       0,    54,     0,   413,     0,     0,   491,     0,     0,   616,
-     607,     0,   146,     0,     0,     0,     0,   192,   195,   196,
-     197,   198,     0,     0,   206,   207,   199,   200,   201,   161,
-       0,   157,     0,   262,     0,   350,     0,   387,   342,   339,
-     327,   328,   330,   331,   324,   325,   326,   337,   338,   336,
-       0,   322,   329,   340,   341,   332,   333,   334,   335,   319,
-     211,   516,     0,   514,   515,   507,   508,   512,   513,   509,
-     510,   511,     0,   501,   502,   504,   505,   506,   497,     0,
-     442,     0,   227,   251,   252,   253,   254,   255,   256,   244,
-       0,     0,   523,    52,     0,     0,   417,     0,   633,     0,
-     631,   629,   623,   627,   628,     0,   621,   625,   626,   624,
-     618,   149,   182,   183,   184,   185,   181,   187,   189,   191,
-     203,   205,   159,   264,   352,   389,     0,   321,     0,     0,
-     499,     0,   444,   229,   530,   532,    56,   419,   475,     0,
-       0,     0,     0,   620,   323,     0,   518,   503,     0,   630,
-       0,   622,   517,     0,   632,   637,     0,   635,     0,     0,
-     634,   645,     0,     0,     0,     0,   639,   641,   642,   643,
-     644,   636,     0,     0,     0,     0,     0,   638,     0,   647,
-     648,   649,   640,   646
+       0,     0,     0,   142,   151,     0,   153,     0,     0,   258,
+       0,   355,   344,     0,   392,   383,     0,     0,   315,     0,
+       0,   209,   500,     0,   495,   447,   438,     0,     0,   223,
+       0,     0,     0,     0,     0,     0,     0,     0,   242,     0,
+       0,     0,   521,   536,    55,     0,    54,     0,   413,     0,
+       0,   491,     0,     0,   613,   604,     0,   146,     0,     0,
+       0,     0,   192,   195,   196,   197,   198,     0,     0,   206,
+     207,   199,   200,   201,   161,     0,   157,     0,   262,     0,
+     350,     0,   387,   342,   339,   327,   328,   330,   331,   324,
+     325,   326,   337,   338,   336,     0,   322,   329,   340,   341,
+     332,   333,   334,   335,   319,   211,   516,     0,   514,   515,
+     507,   508,   512,   513,   509,   510,   511,     0,   501,   502,
+     504,   505,   506,   497,     0,   442,     0,   227,   251,   252,
+     253,   254,   255,   256,   244,     0,     0,   523,    52,     0,
+       0,   417,     0,   630,     0,   628,   626,   620,   624,   625,
+       0,   618,   622,   623,   621,   615,   149,   182,   183,   184,
+     185,   181,   187,   189,   191,   203,   205,   159,   264,   352,
+     389,     0,   321,     0,     0,   499,     0,   444,   229,   530,
+     532,    56,   419,   475,     0,     0,     0,     0,   617,   323,
+       0,   518,   503,     0,   627,     0,   619,   517,     0,   629,
+     634,     0,   632,     0,     0,   631,   642,     0,     0,     0,
+       0,   636,   638,   639,   640,   641,   633,     0,     0,     0,
+       0,     0,   635,     0,   644,   645,   646,   637,   643
   };
 
   const short
   Dhcp4Parser::yypgoto_[] =
   {
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,   -46,  -796,  -455,  -796,
-     174,  -796,  -796,  -796,  -796,  -796,  -796,  -505,  -796,  -796,
-    -796,   -70,  -796,  -796,  -796,   396,  -796,  -796,  -796,  -796,
-     109,   331,   -47,   -44,     4,  -796,  -796,  -796,  -796,    12,
-      15,  -796,  -796,   145,   356,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,   -18,  -796,  -796,  -796,  -796,  -796,  -796,   101,  -796,
-     -51,  -796,  -568,   -35,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,   -26,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,   -40,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,   -54,  -796,  -796,  -796,   -41,   341,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,   -43,  -796,  -796,  -796,  -796,
-    -796,  -796,  -795,  -796,  -796,  -796,   -29,  -796,  -796,  -796,
-     -15,   406,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -789,  -796,   -68,  -796,   -55,  -796,    19,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,   -22,  -796,  -796,  -172,   -63,  -796,
-    -796,  -796,  -796,  -796,   -13,  -796,  -796,  -796,     0,  -796,
-     409,  -796,   -66,  -796,  -796,  -796,  -796,  -796,   -64,  -796,
-    -796,  -796,  -796,  -796,   -19,  -796,  -796,  -796,   -12,  -796,
-    -796,  -796,    -5,  -796,   401,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,   -32,  -796,  -796,  -796,
-     -23,   431,  -796,  -796,   -57,  -796,   -39,  -796,   -62,  -796,
-    -796,  -796,    10,  -796,  -796,  -796,    13,  -796,   424,    -7,
-    -796,    -3,  -796,     8,  -796,   223,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -787,  -796,  -796,  -796,  -796,  -796,    20,
-    -796,  -796,  -796,  -135,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,     1,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,   246,   397,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,  -796,
-    -796,  -796,  -337,   393,  -796,  -796,  -796,  -796,  -796,  -796,
-     282,   400,  -796,  -796,  -796,    -9,  -796,  -796,  -142,  -796,
-    -796,  -796,  -796,  -796,  -796,  -154,  -796,  -796,  -170,  -796,
-    -796,  -796,  -796,  -796
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,   -46,  -797,  -451,  -797,
+     121,  -797,  -797,  -797,  -797,  -797,  -797,  -501,  -797,  -797,
+    -797,   -70,  -797,  -797,  -797,   312,  -797,  -797,  -797,  -797,
+     107,   348,   -47,   -44,     4,  -797,  -797,  -797,  -797,    12,
+      15,  -797,  -797,   158,   340,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,   -52,  -797,  -797,  -797,  -797,  -797,  -797,    82,  -797,
+     -72,  -797,  -563,   -59,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,   -26,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,   -81,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,   -90,  -797,  -797,  -797,   -83,   321,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,   -61,  -797,  -797,  -797,  -797,
+    -797,  -797,  -796,  -797,  -797,  -797,   -43,  -797,  -797,  -797,
+     -34,   377,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -795,  -797,   -68,  -797,   -55,  -797,    19,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,   -38,  -797,  -797,  -184,   -63,  -797,
+    -797,  -797,  -797,  -797,   -16,  -797,  -797,  -797,   -18,  -797,
+     372,  -797,   -66,  -797,  -797,  -797,  -797,  -797,   -64,  -797,
+    -797,  -797,  -797,  -797,   -19,  -797,  -797,  -797,   -22,  -797,
+    -797,  -797,   -14,  -797,   379,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,   -45,  -797,  -797,  -797,
+     -40,   425,  -797,  -797,   -57,  -797,   -39,  -797,   -62,  -797,
+    -797,  -797,     7,  -797,  -797,  -797,    -8,  -797,   407,    -7,
+    -797,    -3,  -797,     8,  -797,   192,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -790,  -797,  -797,  -797,  -797,  -797,    14,
+    -797,  -797,  -797,  -141,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,    -2,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,   240,   390,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,  -797,
+    -797,   267,   391,  -797,  -797,  -797,  -797,  -797,  -797,   281,
+     395,  -797,  -797,  -797,   -12,  -797,  -797,  -144,  -797,  -797,
+    -797,  -797,  -797,  -797,  -160,  -797,  -797,  -176,  -797,  -797,
+    -797,  -797,  -797
   };
 
   const short
@@ -4215,148 +4195,148 @@ namespace isc { namespace dhcp {
   {
       -1,    15,    16,    17,    18,    19,    20,    21,    22,    23,
       24,    25,    26,    27,    28,    29,    38,    39,    40,    69,
-     601,    87,    88,    41,    68,    84,    85,   617,   781,   860,
-     861,   347,    43,    70,    96,    97,    98,   356,    45,    71,
-     138,   139,   140,   141,   142,   143,   144,   381,   145,   146,
-     147,   148,   366,   178,   179,    47,    72,   180,   400,   181,
-     401,   620,   182,   402,   623,   183,   149,   374,   150,   367,
-     674,   675,   676,   798,   151,   375,   152,   376,   715,   716,
-     717,   820,   694,   695,   696,   801,   976,   697,   802,   698,
-     803,   699,   804,   700,   701,   433,   702,   703,   704,   705,
-     706,   707,   708,   709,   810,   710,   811,   711,   712,   153,
-     389,   739,   740,   741,   742,   743,   744,   745,   154,   392,
-     754,   755,   756,   843,    61,    79,   303,   304,   305,   446,
-     306,   447,   155,   393,   763,   764,   765,   766,   767,   768,
-     769,   770,   156,   382,   719,   720,   721,   823,    49,    73,
-     202,   203,   204,   410,   205,   406,   206,   407,   207,   408,
-     208,   411,   209,   414,   210,   413,   157,   388,   607,   212,
-     158,   385,   731,   732,   733,   832,   910,   911,   159,   383,
-      55,    76,   723,   724,   725,   826,    57,    77,   268,   269,
-     270,   271,   272,   273,   274,   432,   275,   436,   276,   435,
-     277,   278,   437,   279,   160,   384,   727,   728,   729,   829,
-      59,    78,   289,   290,   291,   292,   293,   441,   294,   295,
-     296,   297,   214,   409,   783,   784,   785,   862,    51,    74,
-     227,   228,   229,   418,   161,   386,   162,   387,   163,   391,
-     750,   751,   752,   840,    53,    75,   244,   245,   246,   164,
-     371,   165,   372,   166,   373,   250,   428,   788,   865,   251,
-     422,   252,   423,   253,   425,   254,   424,   255,   427,   256,
-     426,   257,   421,   221,   415,   789,   167,   390,   747,   748,
-     837,   932,   933,   934,   935,   936,   988,   937,   168,   169,
-     395,   776,   777,   778,   854,   779,   855,   170,   396,   171,
-     397,    63,    80,   325,   326,   327,   328,   451,   329,   452,
-     330,   331,   454,   332,   333,   334,   457,   655,   335,   458,
-     336,   337,   338,   461,   662,   339,   462,   340,   463,   341,
-     464,    99,   358,   100,   359,   101,   360,   172,   364,   365,
-      67,    82,   348,   349,   350,   470,   102,   357,    65,    81,
-     343,   344,   345,   467,   791,   792,   867,   965,   966,   967,
-     968,  1001,   969,   999,  1016,  1017,  1018,  1025,  1026,  1027,
-    1032,  1028,  1029,  1030
+     596,    87,    88,    41,    68,    84,    85,   612,   776,   855,
+     856,   688,    43,    70,    96,    97,    98,   354,    45,    71,
+     137,   138,   139,   140,   141,   142,   143,   378,   144,   145,
+     146,   147,   363,   177,   178,    47,    72,   179,   397,   180,
+     398,   615,   181,   399,   618,   182,   148,   371,   149,   364,
+     669,   670,   671,   793,   150,   372,   151,   373,   710,   711,
+     712,   815,   689,   690,   691,   796,   971,   692,   797,   693,
+     798,   694,   799,   695,   696,   430,   697,   698,   699,   700,
+     701,   702,   703,   704,   805,   705,   806,   706,   707,   152,
+     386,   734,   735,   736,   737,   738,   739,   740,   153,   389,
+     749,   750,   751,   838,    61,    79,   302,   303,   304,   443,
+     305,   444,   154,   390,   758,   759,   760,   761,   762,   763,
+     764,   765,   155,   379,   714,   715,   716,   818,    49,    73,
+     201,   202,   203,   407,   204,   403,   205,   404,   206,   405,
+     207,   408,   208,   411,   209,   410,   156,   385,   602,   211,
+     157,   382,   726,   727,   728,   827,   905,   906,   158,   380,
+      55,    76,   718,   719,   720,   821,    57,    77,   267,   268,
+     269,   270,   271,   272,   273,   429,   274,   433,   275,   432,
+     276,   277,   434,   278,   159,   381,   722,   723,   724,   824,
+      59,    78,   288,   289,   290,   291,   292,   438,   293,   294,
+     295,   296,   213,   406,   778,   779,   780,   857,    51,    74,
+     226,   227,   228,   415,   160,   383,   161,   384,   162,   388,
+     745,   746,   747,   835,    53,    75,   243,   244,   245,   163,
+     368,   164,   369,   165,   370,   249,   425,   783,   860,   250,
+     419,   251,   420,   252,   422,   253,   421,   254,   424,   255,
+     423,   256,   418,   220,   412,   784,   166,   387,   742,   743,
+     832,   927,   928,   929,   930,   931,   983,   932,   167,   168,
+     392,   771,   772,   773,   849,   774,   850,   169,   393,   170,
+     394,    63,    80,   324,   325,   326,   327,   448,   328,   449,
+     329,   330,   451,   331,   332,   333,   454,   650,   334,   455,
+     335,   336,   337,   458,   657,   338,   459,   339,   460,   340,
+     461,    99,   356,   100,   357,   101,   358,   171,   362,    67,
+      82,   346,   347,   348,   467,   102,   355,    65,    81,   342,
+     343,   344,   464,   786,   787,   862,   960,   961,   962,   963,
+     996,   964,   994,  1011,  1012,  1013,  1020,  1021,  1022,  1027,
+    1023,  1024,  1025
   };
 
   const unsigned short
   Dhcp4Parser::yytable_[] =
   {
-      95,   137,   177,   196,   223,   240,   224,   266,   285,   302,
-     322,   217,   287,   258,   288,   184,   215,   230,   242,   225,
-     280,   298,    83,   323,   630,   713,   197,   482,    89,   198,
-     634,   300,   301,   185,   216,   231,   243,   905,   281,   299,
-      31,   324,    32,   906,    33,   918,   653,   300,   301,   600,
-      30,   267,   286,   346,   213,   226,   241,   173,   174,   600,
-     362,   175,   398,    42,   176,   363,   218,   399,   247,    44,
-     219,    46,   248,   404,   125,   126,   103,   199,   405,   416,
-     104,   220,   105,   249,   417,   200,   835,   838,   201,   836,
-     839,   106,   211,   107,   108,   109,   110,   111,   112,   113,
-     114,   115,   110,   111,   112,   657,   658,   659,   660,    94,
-     259,  1021,   771,   772,  1022,  1023,  1024,    48,   868,   125,
-     126,   869,   116,   117,   118,   119,   120,   121,   419,   448,
-     465,   122,   123,   420,   449,   466,    50,   122,   123,   260,
-     661,   260,   124,   261,   262,   125,   126,   263,   264,   265,
-     127,   125,   126,   125,   126,   128,   129,    90,    52,  1019,
-     654,   130,  1020,    94,   921,   922,    91,    92,    93,   618,
-     619,   131,   239,   786,   132,   260,   282,   261,   262,   283,
-     284,   133,   134,    94,   468,   135,   136,   125,   126,   469,
-      54,   905,   108,   109,   110,   111,   112,   906,    56,   918,
-      34,    35,    36,    37,   471,   471,    94,   398,    94,   472,
-     585,   123,   794,   468,   471,   110,   111,   112,   795,   796,
-     116,   117,   118,   222,   125,   126,   186,   187,   188,    58,
-     123,    60,   404,   799,    94,    62,   193,   797,   800,   194,
-      94,   189,    94,   125,   126,   190,   191,   192,   127,   671,
-      64,   123,   890,   621,   622,   193,   817,   817,   194,   130,
-      86,   818,   819,   852,   125,   126,   195,   122,   853,    66,
-     108,   109,   110,   111,   112,   232,    94,   603,   604,   605,
-     606,   233,   234,   235,   236,   237,   238,   342,   239,   856,
-     465,   817,    95,   352,   857,   858,   982,   416,   116,   117,
-     118,   351,   983,   121,   353,   986,   473,   474,   123,   260,
-     987,   354,   355,    94,   757,   758,   759,   760,   761,   762,
-     448,   125,   126,   361,   191,   993,   127,   368,   137,   369,
-     419,   475,    94,   193,   177,   997,   194,   734,   735,   736,
-     737,   370,   738,  1002,   195,  1036,   196,   184,  1003,   223,
-    1037,   224,   377,    94,   217,   972,   973,   974,   975,   215,
-     240,   378,   230,   379,   225,   185,   380,   394,   403,   197,
-     266,   412,   198,   242,   429,   285,   430,   216,   431,   287,
-     231,   288,   434,   280,   438,   439,   440,   444,   298,   442,
-     443,   243,   260,   445,   486,   322,   450,   213,   453,   455,
-     226,   281,   456,   459,   125,   126,   299,   460,   323,   218,
-      94,   241,   476,   219,   267,   477,   478,   479,   480,   286,
-     199,   483,   484,   247,   220,   485,   324,   248,   200,   487,
-     489,   201,   582,   583,   584,   211,   488,   490,   249,   491,
-     492,   493,   494,   495,   496,   497,   498,   499,   677,   500,
-     501,   502,   998,   678,   679,   680,   681,   682,   683,   684,
-     685,   686,   687,   688,   689,   690,   691,   692,   503,   958,
-     504,   959,   960,   505,   506,   507,   508,   509,   510,   260,
-     511,   512,   513,   514,   515,   517,   518,   519,   520,   522,
-     523,   524,   525,    94,     1,     2,     3,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,   526,   527,
-     137,   649,   528,   529,   530,   531,   533,   177,   535,   536,
-     537,   538,   693,   693,   539,   540,   541,   542,   544,   545,
-     184,   546,   547,   668,   548,   549,   550,   552,   556,   125,
-     126,   557,   553,   773,   554,   322,   560,   561,   185,   559,
-     562,   563,   566,   564,   565,   567,   774,   568,   323,   569,
-     570,   571,   572,   573,   575,   577,   579,   589,   673,   590,
-     580,   581,   586,   587,   775,   588,   324,   592,   593,   594,
-      94,   307,   308,   309,   310,   311,   312,   313,   314,   315,
-     316,   317,   318,   319,   591,   595,   596,   597,   598,   599,
-     320,   321,    32,   608,   602,   609,   610,   611,   877,   624,
-     612,   613,   615,   616,   625,   626,   627,   628,   629,   631,
-     632,   633,   635,   636,   637,   638,   639,   640,    94,   656,
-     641,   666,   642,   643,   667,   714,   822,   718,   722,   726,
-     644,   730,   645,   746,   749,   753,   782,   790,   805,   646,
-     806,   807,   808,   809,   647,   648,   650,   651,   652,   663,
-     664,   665,   812,   813,   814,   815,   816,   859,   825,   821,
-     824,   828,   827,   830,   831,   833,   834,   842,   841,   845,
-     864,   844,   846,   847,   848,   849,   850,   851,   614,   669,
-     863,   871,   870,   866,   873,   874,   875,   876,   882,   883,
-     878,   879,   950,   951,   880,   881,   884,   885,   953,   954,
-     886,   957,   887,   984,   989,   991,   943,   888,   944,   945,
-     946,   947,   985,   990,   992,  1000,  1005,  1008,  1010,   516,
-    1013,  1033,   672,   948,   971,  1015,  1034,   977,   978,  1035,
-     979,   980,   981,   994,   995,   996,  1038,   693,  1009,  1006,
-     693,  1012,  1014,   196,  1040,  1043,   266,  1039,   481,   285,
-     521,   217,   898,   287,   907,   288,   215,   923,   793,   280,
-     240,   891,   298,   302,   925,   913,   197,   908,  1041,   198,
-     927,   872,   889,   242,   216,   899,   773,   281,   900,   558,
-     299,   942,   223,   914,   224,   920,   893,   961,   928,   774,
-     267,   243,   941,   286,   213,   230,   904,   225,   892,   949,
-     963,   924,   919,   912,  1004,   895,   218,   775,   926,   897,
-     219,   241,   532,   231,   896,   915,   894,   199,   964,   916,
-     929,   220,   956,   247,   930,   200,   901,   248,   201,   955,
-     917,   962,   211,   226,   902,   931,   555,   903,   249,   551,
-     534,   909,   940,   939,   543,   787,  1007,   952,   938,   970,
-    1011,   780,   574,   670,   578,  1031,  1042,     0,   576,     0,
+      95,   136,   176,   195,   222,   239,   223,   265,   284,   301,
+     321,   216,   286,   257,   287,   183,   214,   229,   241,   224,
+     279,   297,    83,   322,   625,   708,   196,    89,   648,   197,
+     629,   900,   901,   184,   215,   230,   242,   913,   280,   298,
+      31,   323,    32,    30,    33,    42,   172,   173,   122,   595,
+     174,   266,   285,   175,   212,   225,   240,    44,   360,   595,
+     221,   124,   125,   361,   395,    46,   217,    48,   246,   396,
+     218,    50,   247,   192,   259,   401,   193,   198,   299,   300,
+     402,   219,   103,   248,   104,   199,   124,   125,   200,   413,
+     299,   300,   210,   105,   414,   106,   107,   108,   109,   110,
+     111,   112,   113,   114,   652,   653,   654,   655,   124,   125,
+      52,   752,   753,   754,   755,   756,   757,    54,   259,   281,
+     260,   261,   282,   283,   115,   116,   117,   118,   119,   120,
+     124,   125,  1016,   121,   122,  1017,  1018,  1019,   416,   656,
+      94,   445,   649,   417,   123,    86,   446,   124,   125,    56,
+      94,   953,   126,   954,   955,    58,    90,   127,   128,   729,
+     730,   731,   732,   129,   733,    91,    92,    93,    60,   462,
+      62,   124,   125,   130,   463,    94,   131,   107,   108,   109,
+     110,   111,    94,   132,   133,   900,   901,   134,   135,   465,
+     468,   913,    64,   395,   466,   469,    66,    94,   789,   465,
+      34,    35,    36,    37,   790,   115,   116,   117,   121,   766,
+     767,   185,   186,   187,   830,   122,   341,   831,   345,    94,
+     107,   108,   109,   110,   111,   349,   188,   350,   124,   125,
+     189,   190,   191,   126,   468,   833,    94,   351,   834,   791,
+     192,   401,   472,   193,   129,   352,   792,   353,   115,   116,
+     117,   194,   885,   120,   598,   599,   600,   601,   122,   259,
+      94,   109,   110,   111,   794,   812,   109,   110,   111,   795,
+     813,   124,   125,   812,   190,   258,   126,   847,   814,   851,
+     462,   426,   848,   192,   852,   853,   193,   812,   413,   427,
+      95,   359,   977,   978,   194,   981,   121,   122,   259,   365,
+     982,   366,   122,   367,   470,   471,   259,   374,   260,   261,
+     124,   125,   262,   263,   264,   124,   125,    94,   124,   125,
+     613,   614,   445,   916,   917,   136,   231,   988,   616,   617,
+     375,   176,   232,   233,   234,   235,   236,   237,   863,   238,
+     416,   864,   997,   195,   183,   992,   222,   998,   223,  1031,
+     428,   216,  1014,   436,  1032,  1015,   214,   239,   376,   229,
+      94,   224,   184,   238,   781,   437,   196,   265,   377,   197,
+     241,   391,   284,   400,   215,   409,   286,   230,   287,   431,
+     279,   967,   968,   969,   970,   297,   435,   439,   242,   440,
+     447,   442,   321,   450,   212,   441,   452,   225,   280,    94,
+     453,   456,   457,   298,    94,   322,   217,    94,   240,   473,
+     218,   266,   474,   475,   476,   477,   285,   198,   482,   479,
+     246,   219,   480,   323,   247,   199,   481,   483,   200,   578,
+     579,   580,   210,   484,   485,   248,   486,   124,   125,   487,
+     488,   489,   490,   495,   491,   492,   493,   672,   494,   496,
+     497,   993,   673,   674,   675,   676,   677,   678,   679,   680,
+     681,   682,   683,   684,   685,   686,   687,   498,   499,   500,
+     501,   502,   503,   504,   505,   506,   507,   508,   259,   306,
+     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
+     317,   318,   509,   510,   511,   513,   514,   515,   319,   320,
+     516,   518,   519,   520,   521,   522,   136,   644,   523,   524,
+     525,   526,   176,   527,   529,   531,   532,   533,   534,   535,
+     536,   537,   538,   540,   541,   183,    94,   543,   544,   663,
+     545,   542,   548,   552,   546,   553,   549,   556,   768,   557,
+     321,   550,   555,   184,   558,   559,   560,   561,   562,   563,
+     566,   769,   564,   322,     1,     2,     3,     4,     5,     6,
+       7,     8,     9,    10,    11,    12,    13,    14,   565,   770,
+     567,   323,   568,   569,   571,   573,   575,   584,   585,    94,
+     576,   577,   581,   582,   583,   586,   587,   588,   589,   590,
+     591,   592,   593,   594,   597,   603,    32,   604,   605,   606,
+     872,   668,   607,   608,   610,   611,   619,   620,   621,   622,
+     627,   651,   623,   624,   626,   628,   630,   631,   632,   633,
+     634,   635,   636,   637,   638,   639,   640,   641,   661,   662,
+     861,   609,   709,   713,   717,   721,   725,   741,   642,   643,
+     645,   646,   647,   658,   744,   659,   660,   748,   777,   785,
+     800,   801,   802,   803,   804,   807,   808,   809,   810,   811,
+     817,   854,   816,   820,   819,   822,   823,   825,   826,   829,
+     828,   837,   478,   836,   840,   839,   841,   842,   843,   844,
+     845,   846,   859,   664,   858,   866,   865,   868,   869,   870,
+     871,   877,   878,   873,   945,   875,   874,   946,   876,   949,
+     879,   948,   880,   881,   882,   952,   938,   883,   939,   940,
+     979,   980,   984,   941,   942,   943,   966,   972,   973,   974,
+     975,   976,   985,   986,   987,   989,   990,   991,   995,  1000,
+    1003,  1001,  1005,  1004,  1008,  1028,  1029,  1010,  1030,  1033,
+     667,   517,   867,   512,   788,   886,  1007,  1009,   195,   915,
+     937,   265,  1034,   884,   284,   936,   216,   893,   286,   902,
+     287,   214,   918,  1038,   279,   239,   554,   297,   301,   920,
+     908,   196,   903,  1035,   197,   922,  1036,   888,   241,   215,
+     894,   768,   280,   895,   887,   298,   944,   222,   909,   223,
+     528,   914,   956,   923,   769,   266,   242,   999,   285,   212,
+     229,   899,   224,   889,   892,   958,   919,   890,   907,   547,
+     891,   217,   770,   921,   951,   218,   240,   950,   230,   782,
+     910,   551,   198,   959,   911,   924,   219,   934,   246,   925,
+     199,   896,   247,   200,   539,   912,   957,   210,   225,   897,
+     926,   530,   898,   248,   935,  1002,   904,   933,   666,   947,
+     775,   965,   570,  1006,  1026,  1037,     0,     0,   665,   574,
+     572,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   898,     0,   907,     0,
-       0,   923,     0,     0,     0,     0,     0,     0,   925,   913,
-       0,   908,   961,     0,   927,     0,     0,     0,     0,   899,
-       0,     0,   900,     0,     0,   963,     0,   914,     0,     0,
-       0,     0,   928,     0,     0,     0,     0,     0,     0,     0,
-     904,     0,     0,   964,     0,   924,     0,   912,     0,     0,
-       0,     0,   926,     0,     0,     0,   962,     0,     0,   915,
-       0,     0,     0,   916,   929,     0,     0,     0,   930,     0,
-     901,     0,     0,     0,   917,     0,     0,     0,   902,   931,
-       0,   903,     0,     0,     0,   909
+       0,   893,     0,   902,     0,     0,   918,     0,     0,     0,
+       0,     0,     0,   920,   908,     0,   903,   956,     0,   922,
+       0,     0,     0,     0,   894,     0,     0,   895,     0,     0,
+     958,     0,   909,     0,     0,     0,     0,   923,     0,     0,
+       0,     0,     0,     0,     0,   899,     0,     0,   959,     0,
+     919,     0,   907,     0,     0,     0,     0,   921,     0,     0,
+       0,   957,     0,     0,   910,     0,     0,     0,   911,   924,
+       0,     0,     0,   925,     0,   896,     0,     0,     0,   912,
+       0,     0,     0,   897,   926,     0,   898,     0,     0,     0,
+     904
   };
 
   const short
@@ -4364,105 +4344,105 @@ namespace isc { namespace dhcp {
   {
       70,    71,    72,    73,    74,    75,    74,    77,    78,    79,
       80,    73,    78,    76,    78,    72,    73,    74,    75,    74,
-      77,    78,    68,    80,   529,   593,    73,   364,    10,    73,
-     535,   103,   104,    72,    73,    74,    75,   832,    77,    78,
-       5,    80,     7,   832,     9,   832,    17,   103,   104,   504,
-       0,    77,    78,    12,    73,    74,    75,    14,    15,   514,
-       3,    18,     3,     7,    21,     8,    73,     8,    75,     7,
-      73,     7,    75,     3,    76,    77,     7,    73,     8,     3,
-      11,    73,    13,    75,     8,    73,     3,     3,    73,     6,
-       6,    22,    73,    24,    25,    26,    27,    28,    29,    30,
-      31,    32,    27,    28,    29,   133,   134,   135,   136,   165,
-      33,   142,   114,   115,   145,   146,   147,     7,     3,    76,
-      77,     6,    53,    54,    55,    56,    57,    58,     3,     3,
-       3,    62,    63,     8,     8,     8,     7,    62,    63,    64,
-     168,    64,    73,    66,    67,    76,    77,    70,    71,    72,
-      81,    76,    77,    76,    77,    86,    87,   139,     7,     3,
-     131,    92,     6,   165,    89,    90,   148,   149,   150,    16,
-      17,   102,   100,   101,   105,    64,    65,    66,    67,    68,
-      69,   112,   113,   165,     3,   116,   117,    76,    77,     8,
-       7,   986,    25,    26,    27,    28,    29,   986,     7,   986,
-     165,   166,   167,   168,     3,     3,   165,     3,   165,     8,
-       8,    63,     8,     3,     3,    27,    28,    29,     8,     8,
-      53,    54,    55,    75,    76,    77,    59,    60,    61,     7,
-      63,     7,     3,     3,   165,     7,    88,     8,     8,    91,
-     165,    74,   165,    76,    77,    78,    79,    80,    81,   586,
-       7,    63,   820,    19,    20,    88,     3,     3,    91,    92,
-     165,     8,     8,     3,    76,    77,    99,    62,     8,     7,
-      25,    26,    27,    28,    29,    87,   165,    82,    83,    84,
-      85,    93,    94,    95,    96,    97,    98,   140,   100,     3,
-       3,     3,   362,     3,     8,     8,     8,     3,    53,    54,
-      55,     6,     8,    58,     4,     3,   352,   353,    63,    64,
-       8,     8,     3,   165,   106,   107,   108,   109,   110,   111,
-       3,    76,    77,     4,    79,     8,    81,     4,   398,     4,
-       3,   165,   165,    88,   404,     8,    91,    93,    94,    95,
-      96,     4,    98,     3,    99,     3,   416,   404,     8,   419,
-       8,   419,     4,   165,   416,    34,    35,    36,    37,   416,
-     430,     4,   419,     4,   419,   404,     4,     4,     4,   416,
-     440,     4,   416,   430,     8,   445,     3,   416,     8,   445,
-     419,   445,     4,   440,     4,     8,     3,     8,   445,     4,
-       4,   430,    64,     3,   168,   465,     4,   416,     4,     4,
-     419,   440,     4,     4,    76,    77,   445,     4,   465,   416,
-     165,   430,     4,   416,   440,     4,     4,     4,     4,   445,
-     416,     4,     4,   430,   416,     4,   465,   430,   416,   168,
-       4,   416,   478,   479,   480,   416,   168,     4,   430,     4,
-       4,     4,     4,   166,   166,   166,   166,     4,    33,     4,
-       4,     4,   957,    38,    39,    40,    41,    42,    43,    44,
-      45,    46,    47,    48,    49,    50,    51,    52,     4,   141,
-       4,   143,   144,     4,     4,     4,     4,     4,     4,    64,
-       4,   166,     4,     4,     4,     4,     4,     4,   168,     4,
-       4,     4,     4,   165,   151,   152,   153,   154,   155,   156,
-     157,   158,   159,   160,   161,   162,   163,   164,     4,     4,
-     580,   557,   166,     4,     4,     4,     4,   587,     4,     4,
-       4,     4,   592,   593,     4,     4,     4,     4,     4,     4,
-     587,   166,     4,   579,     4,     4,   168,     4,     4,    76,
-      77,     4,   168,   613,   168,   615,     4,     4,   587,   168,
-     166,     4,     4,   166,   166,     4,   613,   168,   615,   168,
-       4,     4,     4,     4,     4,     4,     4,   165,    23,   165,
-       7,     7,     7,     7,   613,     7,   615,     7,     7,     5,
-     165,   118,   119,   120,   121,   122,   123,   124,   125,   126,
-     127,   128,   129,   130,   165,   165,     5,     5,     5,     5,
-     137,   138,     7,     5,   165,     5,     5,     5,   166,   165,
-       7,     7,     7,     5,   165,   165,     5,   165,   165,   165,
-       7,   165,   165,   165,   165,   165,   165,   165,   165,   132,
-     165,     5,   165,   165,     5,     7,     3,     7,     7,     7,
-     165,     7,   165,     7,     7,     7,     7,     7,     4,   165,
-       4,     4,     4,     4,   165,   165,   165,   165,   165,   165,
-     165,   165,     4,     4,     4,     4,     4,   165,     3,     6,
-       6,     3,     6,     6,     3,     6,     3,     3,     6,     3,
-       3,     6,     4,     4,     4,     4,     4,     4,   514,   580,
-       6,     4,     6,     8,     4,     4,     4,     4,     4,     4,
-     168,   166,     4,     4,   168,   166,   166,   166,     6,     3,
-     166,     4,   166,     8,     4,     3,   166,   168,   166,   166,
-     166,   166,     8,     8,     8,     4,     4,     4,     4,   398,
-       5,     4,   587,   166,   165,     7,     4,   165,   165,     4,
-     165,   165,   165,   165,   165,   165,     4,   817,   166,   168,
-     820,   165,   165,   823,   166,   165,   826,   168,   362,   829,
-     404,   823,   832,   829,   832,   829,   823,   837,   667,   826,
-     840,   822,   829,   843,   837,   832,   823,   832,   166,   823,
-     837,   799,   817,   840,   823,   832,   856,   826,   832,   448,
-     829,   845,   862,   832,   862,   835,   825,   867,   837,   856,
-     826,   840,   843,   829,   823,   862,   832,   862,   823,   852,
-     867,   837,   834,   832,   986,   828,   823,   856,   837,   831,
-     823,   840,   416,   862,   829,   832,   826,   823,   867,   832,
-     837,   823,   864,   840,   837,   823,   832,   840,   823,   862,
-     832,   867,   823,   862,   832,   837,   445,   832,   840,   440,
-     419,   832,   842,   840,   430,   632,   991,   856,   838,   868,
-    1002,   615,   465,   581,   471,  1019,  1036,    -1,   468,    -1,
+      77,    78,    68,    80,   525,   588,    73,    10,    17,    73,
+     531,   827,   827,    72,    73,    74,    75,   827,    77,    78,
+       5,    80,     7,     0,     9,     7,    14,    15,    63,   500,
+      18,    77,    78,    21,    73,    74,    75,     7,     3,   510,
+      75,    76,    77,     8,     3,     7,    73,     7,    75,     8,
+      73,     7,    75,    88,    64,     3,    91,    73,   103,   104,
+       8,    73,    11,    75,    13,    73,    76,    77,    73,     3,
+     103,   104,    73,    22,     8,    24,    25,    26,    27,    28,
+      29,    30,    31,    32,   133,   134,   135,   136,    76,    77,
+       7,   106,   107,   108,   109,   110,   111,     7,    64,    65,
+      66,    67,    68,    69,    53,    54,    55,    56,    57,    58,
+      76,    77,   142,    62,    63,   145,   146,   147,     3,   168,
+     165,     3,   131,     8,    73,   165,     8,    76,    77,     7,
+     165,   141,    81,   143,   144,     7,   139,    86,    87,    93,
+      94,    95,    96,    92,    98,   148,   149,   150,     7,     3,
+       7,    76,    77,   102,     8,   165,   105,    25,    26,    27,
+      28,    29,   165,   112,   113,   981,   981,   116,   117,     3,
+       3,   981,     7,     3,     8,     8,     7,   165,     8,     3,
+     165,   166,   167,   168,     8,    53,    54,    55,    62,   114,
+     115,    59,    60,    61,     3,    63,   140,     6,    12,   165,
+      25,    26,    27,    28,    29,     6,    74,     3,    76,    77,
+      78,    79,    80,    81,     3,     3,   165,     4,     6,     8,
+      88,     3,   165,    91,    92,     8,     8,     3,    53,    54,
+      55,    99,   815,    58,    82,    83,    84,    85,    63,    64,
+     165,    27,    28,    29,     3,     3,    27,    28,    29,     8,
+       8,    76,    77,     3,    79,    33,    81,     3,     8,     3,
+       3,     8,     8,    88,     8,     8,    91,     3,     3,     3,
+     360,     4,     8,     8,    99,     3,    62,    63,    64,     4,
+       8,     4,    63,     4,   350,   351,    64,     4,    66,    67,
+      76,    77,    70,    71,    72,    76,    77,   165,    76,    77,
+      16,    17,     3,    89,    90,   395,    87,     8,    19,    20,
+       4,   401,    93,    94,    95,    96,    97,    98,     3,   100,
+       3,     6,     3,   413,   401,     8,   416,     8,   416,     3,
+       8,   413,     3,     8,     8,     6,   413,   427,     4,   416,
+     165,   416,   401,   100,   101,     3,   413,   437,     4,   413,
+     427,     4,   442,     4,   413,     4,   442,   416,   442,     4,
+     437,    34,    35,    36,    37,   442,     4,     4,   427,     4,
+       4,     3,   462,     4,   413,     8,     4,   416,   437,   165,
+       4,     4,     4,   442,   165,   462,   413,   165,   427,     4,
+     413,   437,     4,     4,     4,     4,   442,   413,   168,     4,
+     427,   413,     4,   462,   427,   413,     4,   168,   413,   475,
+     476,   477,   413,   168,     4,   427,     4,    76,    77,     4,
+       4,     4,     4,     4,   166,   166,   166,    33,   166,     4,
+       4,   952,    38,    39,    40,    41,    42,    43,    44,    45,
+      46,    47,    48,    49,    50,    51,    52,     4,     4,     4,
+       4,     4,     4,     4,     4,     4,     4,   166,    64,   118,
+     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
+     129,   130,     4,     4,     4,     4,     4,     4,   137,   138,
+     168,     4,     4,     4,     4,     4,   576,   553,     4,   166,
+       4,     4,   582,     4,     4,     4,     4,     4,     4,     4,
+       4,     4,     4,     4,     4,   582,   165,     4,     4,   575,
+       4,   166,     4,     4,   168,     4,   168,     4,   608,     4,
+     610,   168,   168,   582,   166,     4,   166,   166,     4,     4,
+       4,   608,   168,   610,   151,   152,   153,   154,   155,   156,
+     157,   158,   159,   160,   161,   162,   163,   164,   168,   608,
+       4,   610,     4,     4,     4,     4,     4,   165,   165,   165,
+       7,     7,     7,     7,     7,   165,     7,     7,     5,   165,
+       5,     5,     5,     5,   165,     5,     7,     5,     5,     5,
+     166,    23,     7,     7,     7,     5,   165,   165,   165,     5,
+       7,   132,   165,   165,   165,   165,   165,   165,   165,   165,
+     165,   165,   165,   165,   165,   165,   165,   165,     5,     5,
+       8,   510,     7,     7,     7,     7,     7,     7,   165,   165,
+     165,   165,   165,   165,     7,   165,   165,     7,     7,     7,
+       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
+       3,   165,     6,     3,     6,     6,     3,     6,     3,     3,
+       6,     3,   360,     6,     3,     6,     4,     4,     4,     4,
+       4,     4,     3,   576,     6,     4,     6,     4,     4,     4,
+       4,     4,     4,   168,     4,   168,   166,     4,   166,     3,
+     166,     6,   166,   166,   166,     4,   166,   168,   166,   166,
+       8,     8,     4,   166,   166,   166,   165,   165,   165,   165,
+     165,   165,     8,     3,     8,   165,   165,   165,     4,     4,
+       4,   168,     4,   166,     5,     4,     4,     7,     4,     4,
+     582,   401,   794,   395,   662,   817,   165,   165,   818,   830,
+     840,   821,   168,   812,   824,   838,   818,   827,   824,   827,
+     824,   818,   832,   165,   821,   835,   445,   824,   838,   832,
+     827,   818,   827,   166,   818,   832,   166,   820,   835,   818,
+     827,   851,   821,   827,   818,   824,   847,   857,   827,   857,
+     413,   829,   862,   832,   851,   821,   835,   981,   824,   818,
+     857,   827,   857,   821,   826,   862,   832,   823,   827,   437,
+     824,   818,   851,   832,   859,   818,   835,   857,   857,   627,
+     827,   442,   818,   862,   827,   832,   818,   835,   835,   832,
+     818,   827,   835,   818,   427,   827,   862,   818,   857,   827,
+     832,   416,   827,   835,   837,   986,   827,   833,   581,   851,
+     610,   863,   462,   997,  1014,  1031,    -1,    -1,   577,   468,
+     465,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   986,    -1,   986,    -1,
-      -1,   991,    -1,    -1,    -1,    -1,    -1,    -1,   991,   986,
-      -1,   986,  1002,    -1,   991,    -1,    -1,    -1,    -1,   986,
-      -1,    -1,   986,    -1,    -1,  1002,    -1,   986,    -1,    -1,
-      -1,    -1,   991,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     986,    -1,    -1,  1002,    -1,   991,    -1,   986,    -1,    -1,
-      -1,    -1,   991,    -1,    -1,    -1,  1002,    -1,    -1,   986,
-      -1,    -1,    -1,   986,   991,    -1,    -1,    -1,   991,    -1,
-     986,    -1,    -1,    -1,   986,    -1,    -1,    -1,   986,   991,
-      -1,   986,    -1,    -1,    -1,   986
+      -1,   981,    -1,   981,    -1,    -1,   986,    -1,    -1,    -1,
+      -1,    -1,    -1,   986,   981,    -1,   981,   997,    -1,   986,
+      -1,    -1,    -1,    -1,   981,    -1,    -1,   981,    -1,    -1,
+     997,    -1,   981,    -1,    -1,    -1,    -1,   986,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   981,    -1,    -1,   997,    -1,
+     986,    -1,   981,    -1,    -1,    -1,    -1,   986,    -1,    -1,
+      -1,   997,    -1,    -1,   981,    -1,    -1,    -1,   981,   986,
+      -1,    -1,    -1,   986,    -1,   981,    -1,    -1,    -1,   981,
+      -1,    -1,    -1,   981,   986,    -1,   981,    -1,    -1,    -1,
+     981
   };
 
   const unsigned short
@@ -4474,105 +4454,104 @@ namespace isc { namespace dhcp {
        0,     5,     7,     9,   165,   166,   167,   168,   185,   186,
      187,   192,     7,   201,     7,   207,     7,   224,     7,   317,
        7,   397,     7,   413,     7,   349,     7,   355,     7,   379,
-       7,   293,     7,   470,     7,   517,     7,   509,   193,   188,
+       7,   293,     7,   470,     7,   516,     7,   508,   193,   188,
      202,   208,   225,   318,   398,   414,   350,   356,   380,   294,
-     471,   518,   510,   185,   194,   195,   165,   190,   191,    10,
+     471,   517,   509,   185,   194,   195,   165,   190,   191,    10,
      139,   148,   149,   150,   165,   200,   203,   204,   205,   500,
-     502,   504,   515,     7,    11,    13,    22,    24,    25,    26,
-      27,    28,    29,    30,    31,    32,    53,    54,    55,    56,
-      57,    58,    62,    63,    73,    76,    77,    81,    86,    87,
-      92,   102,   105,   112,   113,   116,   117,   200,   209,   210,
-     211,   212,   213,   214,   215,   217,   218,   219,   220,   235,
-     237,   243,   245,   278,   287,   301,   311,   335,   339,   347,
-     373,   403,   405,   407,   418,   420,   422,   445,   457,   458,
-     466,   468,   506,    14,    15,    18,    21,   200,   222,   223,
-     226,   228,   231,   234,   403,   405,    59,    60,    61,    74,
-      78,    79,    80,    88,    91,    99,   200,   211,   212,   213,
-     218,   219,   319,   320,   321,   323,   325,   327,   329,   331,
-     333,   335,   338,   373,   391,   403,   405,   407,   418,   420,
-     422,   442,    75,   200,   331,   333,   373,   399,   400,   401,
-     403,   405,    87,    93,    94,    95,    96,    97,    98,   100,
-     200,   373,   403,   405,   415,   416,   417,   418,   420,   422,
-     424,   428,   430,   432,   434,   436,   438,   440,   347,    33,
-      64,    66,    67,    70,    71,    72,   200,   263,   357,   358,
-     359,   360,   361,   362,   363,   365,   367,   369,   370,   372,
-     403,   405,    65,    68,    69,   200,   263,   361,   367,   381,
-     382,   383,   384,   385,   387,   388,   389,   390,   403,   405,
-     103,   104,   200,   295,   296,   297,   299,   118,   119,   120,
-     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
-     137,   138,   200,   403,   405,   472,   473,   474,   475,   477,
-     479,   480,   482,   483,   484,   487,   489,   490,   491,   494,
-     496,   498,   140,   519,   520,   521,    12,   200,   511,   512,
-     513,     6,     3,     4,     8,     3,   206,   516,   501,   503,
-     505,     4,     3,     8,   507,   508,   221,   238,     4,     4,
-       4,   419,   421,   423,   236,   244,   246,     4,     4,     4,
-       4,   216,   312,   348,   374,   340,   404,   406,   336,   279,
-     446,   408,   288,   302,     4,   459,   467,   469,     3,     8,
-     227,   229,   232,     4,     3,     8,   324,   326,   328,   392,
-     322,   330,     4,   334,   332,   443,     3,     8,   402,     3,
-       8,   441,   429,   431,   435,   433,   439,   437,   425,     8,
-       3,     8,   364,   264,     4,   368,   366,   371,     4,     8,
-       3,   386,     4,     4,     8,     3,   298,   300,     3,     8,
-       4,   476,   478,     4,   481,     4,     4,   485,   488,     4,
-       4,   492,   495,   497,   499,     3,     8,   522,     3,     8,
-     514,     3,     8,   185,   185,   165,     4,     4,     4,     4,
-       4,   204,   511,     4,     4,     4,   168,   168,   168,     4,
-       4,     4,     4,     4,     4,   166,   166,   166,   166,     4,
-       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
-       4,     4,   166,     4,     4,     4,   210,     4,     4,     4,
-     168,   223,     4,     4,     4,     4,     4,     4,   166,     4,
-       4,     4,   320,     4,   400,     4,     4,     4,     4,     4,
-       4,     4,     4,   417,     4,     4,   166,     4,     4,     4,
-     168,   359,     4,   168,   168,   383,     4,     4,   296,   168,
-       4,     4,   166,     4,   166,   166,     4,     4,   168,   168,
-       4,     4,     4,     4,   473,     4,   520,     4,   512,     4,
-       7,     7,   185,   185,   185,     8,     7,     7,     7,   165,
-     165,   165,     7,     7,     5,   165,     5,     5,     5,     5,
-     187,   189,   165,    82,    83,    84,    85,   337,     5,     5,
-       5,     5,     7,     7,   189,     7,     5,   196,    16,    17,
-     230,    19,    20,   233,   165,   165,   165,     5,   165,   165,
-     196,   165,     7,   165,   196,   165,   165,   165,   165,   165,
-     165,   165,   165,   165,   165,   165,   165,   165,   165,   185,
-     165,   165,   165,    17,   131,   486,   132,   133,   134,   135,
-     136,   168,   493,   165,   165,   165,     5,     5,   185,   209,
-     519,   511,   222,    23,   239,   240,   241,    33,    38,    39,
-      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
-      50,    51,    52,   200,   251,   252,   253,   256,   258,   260,
-     262,   263,   265,   266,   267,   268,   269,   270,   271,   272,
-     274,   276,   277,   251,     7,   247,   248,   249,     7,   313,
-     314,   315,     7,   351,   352,   353,     7,   375,   376,   377,
-       7,   341,   342,   343,    93,    94,    95,    96,    98,   280,
-     281,   282,   283,   284,   285,   286,     7,   447,   448,     7,
-     409,   410,   411,     7,   289,   290,   291,   106,   107,   108,
-     109,   110,   111,   303,   304,   305,   306,   307,   308,   309,
-     310,   114,   115,   200,   403,   405,   460,   461,   462,   464,
-     472,   197,     7,   393,   394,   395,   101,   424,   426,   444,
-       7,   523,   524,   247,     8,     8,     8,     8,   242,     3,
-       8,   254,   257,   259,   261,     4,     4,     4,     4,     4,
-     273,   275,     4,     4,     4,     4,     4,     3,     8,     8,
-     250,     6,     3,   316,     6,     3,   354,     6,     3,   378,
-       6,     3,   344,     6,     3,     3,     6,   449,     3,     6,
-     412,     6,     3,   292,     6,     3,     4,     4,     4,     4,
-       4,     4,     3,     8,   463,   465,     3,     8,     8,   165,
-     198,   199,   396,     6,     3,   427,     8,   525,     3,     6,
-       6,     4,   240,     4,     4,     4,     4,   166,   168,   166,
-     168,   166,     4,     4,   166,   166,   166,   166,   168,   252,
-     251,   249,   319,   315,   357,   353,   381,   377,   200,   211,
-     212,   213,   218,   219,   263,   311,   329,   331,   333,   335,
-     345,   346,   373,   403,   405,   418,   420,   422,   442,   343,
-     281,    89,    90,   200,   263,   347,   373,   403,   405,   418,
-     420,   422,   450,   451,   452,   453,   454,   456,   448,   415,
-     411,   295,   291,   166,   166,   166,   166,   166,   166,   304,
-       4,     4,   461,     6,     3,   399,   395,     4,   141,   143,
-     144,   200,   263,   403,   405,   526,   527,   528,   529,   531,
-     524,   165,    34,    35,    36,    37,   255,   165,   165,   165,
-     165,   165,     8,     8,     8,     8,     3,     8,   455,     4,
-       8,     3,     8,     8,   165,   165,   165,     8,   196,   532,
-       4,   530,     3,     8,   346,     4,   168,   452,     4,   166,
-       4,   527,   165,     5,   165,     7,   533,   534,   535,     3,
-       6,   142,   145,   146,   147,   536,   537,   538,   540,   541,
-     542,   534,   539,     4,     4,     4,     3,     8,     4,   168,
-     166,   166,   537,   165
+     502,   504,   514,    11,    13,    22,    24,    25,    26,    27,
+      28,    29,    30,    31,    32,    53,    54,    55,    56,    57,
+      58,    62,    63,    73,    76,    77,    81,    86,    87,    92,
+     102,   105,   112,   113,   116,   117,   200,   209,   210,   211,
+     212,   213,   214,   215,   217,   218,   219,   220,   235,   237,
+     243,   245,   278,   287,   301,   311,   335,   339,   347,   373,
+     403,   405,   407,   418,   420,   422,   445,   457,   458,   466,
+     468,   506,    14,    15,    18,    21,   200,   222,   223,   226,
+     228,   231,   234,   403,   405,    59,    60,    61,    74,    78,
+      79,    80,    88,    91,    99,   200,   211,   212,   213,   218,
+     219,   319,   320,   321,   323,   325,   327,   329,   331,   333,
+     335,   338,   373,   391,   403,   405,   407,   418,   420,   422,
+     442,    75,   200,   331,   333,   373,   399,   400,   401,   403,
+     405,    87,    93,    94,    95,    96,    97,    98,   100,   200,
+     373,   403,   405,   415,   416,   417,   418,   420,   422,   424,
+     428,   430,   432,   434,   436,   438,   440,   347,    33,    64,
+      66,    67,    70,    71,    72,   200,   263,   357,   358,   359,
+     360,   361,   362,   363,   365,   367,   369,   370,   372,   403,
+     405,    65,    68,    69,   200,   263,   361,   367,   381,   382,
+     383,   384,   385,   387,   388,   389,   390,   403,   405,   103,
+     104,   200,   295,   296,   297,   299,   118,   119,   120,   121,
+     122,   123,   124,   125,   126,   127,   128,   129,   130,   137,
+     138,   200,   403,   405,   472,   473,   474,   475,   477,   479,
+     480,   482,   483,   484,   487,   489,   490,   491,   494,   496,
+     498,   140,   518,   519,   520,    12,   510,   511,   512,     6,
+       3,     4,     8,     3,   206,   515,   501,   503,   505,     4,
+       3,     8,   507,   221,   238,     4,     4,     4,   419,   421,
+     423,   236,   244,   246,     4,     4,     4,     4,   216,   312,
+     348,   374,   340,   404,   406,   336,   279,   446,   408,   288,
+     302,     4,   459,   467,   469,     3,     8,   227,   229,   232,
+       4,     3,     8,   324,   326,   328,   392,   322,   330,     4,
+     334,   332,   443,     3,     8,   402,     3,     8,   441,   429,
+     431,   435,   433,   439,   437,   425,     8,     3,     8,   364,
+     264,     4,   368,   366,   371,     4,     8,     3,   386,     4,
+       4,     8,     3,   298,   300,     3,     8,     4,   476,   478,
+       4,   481,     4,     4,   485,   488,     4,     4,   492,   495,
+     497,   499,     3,     8,   521,     3,     8,   513,     3,     8,
+     185,   185,   165,     4,     4,     4,     4,     4,   204,     4,
+       4,     4,   168,   168,   168,     4,     4,     4,     4,     4,
+       4,   166,   166,   166,   166,     4,     4,     4,     4,     4,
+       4,     4,     4,     4,     4,     4,     4,     4,   166,     4,
+       4,     4,   210,     4,     4,     4,   168,   223,     4,     4,
+       4,     4,     4,     4,   166,     4,     4,     4,   320,     4,
+     400,     4,     4,     4,     4,     4,     4,     4,     4,   417,
+       4,     4,   166,     4,     4,     4,   168,   359,     4,   168,
+     168,   383,     4,     4,   296,   168,     4,     4,   166,     4,
+     166,   166,     4,     4,   168,   168,     4,     4,     4,     4,
+     473,     4,   519,     4,   511,     4,     7,     7,   185,   185,
+     185,     7,     7,     7,   165,   165,   165,     7,     7,     5,
+     165,     5,     5,     5,     5,   187,   189,   165,    82,    83,
+      84,    85,   337,     5,     5,     5,     5,     7,     7,   189,
+       7,     5,   196,    16,    17,   230,    19,    20,   233,   165,
+     165,   165,     5,   165,   165,   196,   165,     7,   165,   196,
+     165,   165,   165,   165,   165,   165,   165,   165,   165,   165,
+     165,   165,   165,   165,   185,   165,   165,   165,    17,   131,
+     486,   132,   133,   134,   135,   136,   168,   493,   165,   165,
+     165,     5,     5,   185,   209,   518,   510,   222,    23,   239,
+     240,   241,    33,    38,    39,    40,    41,    42,    43,    44,
+      45,    46,    47,    48,    49,    50,    51,    52,   200,   251,
+     252,   253,   256,   258,   260,   262,   263,   265,   266,   267,
+     268,   269,   270,   271,   272,   274,   276,   277,   251,     7,
+     247,   248,   249,     7,   313,   314,   315,     7,   351,   352,
+     353,     7,   375,   376,   377,     7,   341,   342,   343,    93,
+      94,    95,    96,    98,   280,   281,   282,   283,   284,   285,
+     286,     7,   447,   448,     7,   409,   410,   411,     7,   289,
+     290,   291,   106,   107,   108,   109,   110,   111,   303,   304,
+     305,   306,   307,   308,   309,   310,   114,   115,   200,   403,
+     405,   460,   461,   462,   464,   472,   197,     7,   393,   394,
+     395,   101,   424,   426,   444,     7,   522,   523,   247,     8,
+       8,     8,     8,   242,     3,     8,   254,   257,   259,   261,
+       4,     4,     4,     4,     4,   273,   275,     4,     4,     4,
+       4,     4,     3,     8,     8,   250,     6,     3,   316,     6,
+       3,   354,     6,     3,   378,     6,     3,   344,     6,     3,
+       3,     6,   449,     3,     6,   412,     6,     3,   292,     6,
+       3,     4,     4,     4,     4,     4,     4,     3,     8,   463,
+     465,     3,     8,     8,   165,   198,   199,   396,     6,     3,
+     427,     8,   524,     3,     6,     6,     4,   240,     4,     4,
+       4,     4,   166,   168,   166,   168,   166,     4,     4,   166,
+     166,   166,   166,   168,   252,   251,   249,   319,   315,   357,
+     353,   381,   377,   200,   211,   212,   213,   218,   219,   263,
+     311,   329,   331,   333,   335,   345,   346,   373,   403,   405,
+     418,   420,   422,   442,   343,   281,    89,    90,   200,   263,
+     347,   373,   403,   405,   418,   420,   422,   450,   451,   452,
+     453,   454,   456,   448,   415,   411,   295,   291,   166,   166,
+     166,   166,   166,   166,   304,     4,     4,   461,     6,     3,
+     399,   395,     4,   141,   143,   144,   200,   263,   403,   405,
+     525,   526,   527,   528,   530,   523,   165,    34,    35,    36,
+      37,   255,   165,   165,   165,   165,   165,     8,     8,     8,
+       8,     3,     8,   455,     4,     8,     3,     8,     8,   165,
+     165,   165,     8,   196,   531,     4,   529,     3,     8,   346,
+       4,   168,   452,     4,   166,     4,   526,   165,     5,   165,
+       7,   532,   533,   534,     3,     6,   142,   145,   146,   147,
+     535,   536,   537,   539,   540,   541,   533,   538,     4,     4,
+       4,     3,     8,     4,   168,   166,   166,   536,   165
   };
 
   const unsigned short
@@ -4637,12 +4616,12 @@ namespace isc { namespace dhcp {
      476,   475,   478,   477,   479,   481,   480,   482,   483,   485,
      484,   486,   486,   488,   487,   489,   490,   492,   491,   493,
      493,   493,   493,   493,   495,   494,   497,   496,   499,   498,
-     501,   500,   503,   502,   505,   504,   507,   506,   508,   506,
-     510,   509,   511,   511,   512,   512,   514,   513,   516,   515,
-     518,   517,   519,   519,   520,   522,   521,   523,   523,   525,
-     524,   526,   526,   527,   527,   527,   527,   527,   527,   527,
-     528,   530,   529,   532,   531,   533,   533,   535,   534,   536,
-     536,   537,   537,   537,   537,   539,   538,   540,   541,   542
+     501,   500,   503,   502,   505,   504,   507,   506,   509,   508,
+     510,   510,   511,   513,   512,   515,   514,   517,   516,   518,
+     518,   519,   521,   520,   522,   522,   524,   523,   525,   525,
+     526,   526,   526,   526,   526,   526,   526,   527,   529,   528,
+     531,   530,   532,   532,   534,   533,   535,   535,   536,   536,
+     536,   536,   538,   537,   539,   540,   541
   };
 
   const unsigned char
@@ -4707,12 +4686,12 @@ namespace isc { namespace dhcp {
        0,     4,     0,     4,     3,     0,     4,     3,     3,     0,
        4,     1,     1,     0,     4,     3,     3,     0,     4,     1,
        1,     1,     1,     1,     0,     4,     0,     4,     0,     4,
-       0,     4,     0,     4,     0,     4,     0,     4,     0,     6,
-       0,     4,     1,     3,     1,     1,     0,     6,     0,     6,
-       0,     4,     1,     3,     1,     0,     6,     1,     3,     0,
-       4,     1,     3,     1,     1,     1,     1,     1,     1,     1,
-       3,     0,     4,     0,     6,     1,     3,     0,     4,     1,
-       3,     1,     1,     1,     1,     0,     4,     3,     3,     3
+       0,     4,     0,     4,     0,     4,     0,     6,     0,     4,
+       1,     3,     1,     0,     6,     0,     6,     0,     4,     1,
+       3,     1,     0,     6,     1,     3,     0,     4,     1,     3,
+       1,     1,     1,     1,     1,     1,     1,     3,     0,     4,
+       0,     6,     1,     3,     0,     4,     1,     3,     1,     1,
+       1,     1,     0,     4,     3,     3,     3
   };
 
 
@@ -4850,14 +4829,14 @@ namespace isc { namespace dhcp {
   "generated_prefix", "$@109", "hostname_char_set", "$@110",
   "hostname_char_replacement", "$@111", "dhcp6_json_object", "$@112",
   "dhcpddns_json_object", "$@113", "control_agent_json_object", "$@114",
-  "config_control", "$@115", "$@116", "sub_config_control", "$@117",
+  "config_control", "$@115", "sub_config_control", "$@116",
   "config_control_params", "config_control_param", "config_databases",
-  "$@118", "logging_object", "$@119", "sub_logging", "$@120",
-  "logging_params", "logging_param", "loggers", "$@121", "loggers_entries",
-  "logger_entry", "$@122", "logger_params", "logger_param", "debuglevel",
-  "severity", "$@123", "output_options_list", "$@124",
-  "output_options_list_content", "output_entry", "$@125",
-  "output_params_list", "output_params", "output", "$@126", "flush",
+  "$@117", "logging_object", "$@118", "sub_logging", "$@119",
+  "logging_params", "logging_param", "loggers", "$@120", "loggers_entries",
+  "logger_entry", "$@121", "logger_params", "logger_param", "debuglevel",
+  "severity", "$@122", "output_options_list", "$@123",
+  "output_options_list_content", "output_entry", "$@124",
+  "output_params_list", "output_params", "output", "$@125", "flush",
   "maxsize", "maxver", YY_NULLPTR
   };
 
@@ -4924,12 +4903,12 @@ namespace isc { namespace dhcp {
     1930,  1930,  1938,  1938,  1946,  1951,  1951,  1959,  1964,  1969,
     1969,  1977,  1978,  1981,  1981,  1989,  1994,  1999,  1999,  2007,
     2010,  2013,  2016,  2019,  2025,  2025,  2033,  2033,  2041,  2041,
-    2052,  2052,  2059,  2059,  2066,  2066,  2073,  2073,  2082,  2082,
-    2093,  2093,  2103,  2104,  2108,  2109,  2112,  2112,  2127,  2127,
-    2137,  2137,  2148,  2149,  2153,  2157,  2157,  2169,  2170,  2174,
-    2174,  2182,  2183,  2186,  2187,  2188,  2189,  2190,  2191,  2192,
-    2195,  2200,  2200,  2208,  2208,  2218,  2219,  2222,  2222,  2230,
-    2231,  2234,  2235,  2236,  2237,  2240,  2240,  2248,  2253,  2258
+    2052,  2052,  2059,  2059,  2066,  2066,  2073,  2073,  2084,  2084,
+    2094,  2095,  2099,  2102,  2102,  2117,  2117,  2127,  2127,  2138,
+    2139,  2143,  2147,  2147,  2159,  2160,  2164,  2164,  2172,  2173,
+    2176,  2177,  2178,  2179,  2180,  2181,  2182,  2185,  2190,  2190,
+    2198,  2198,  2208,  2209,  2212,  2212,  2220,  2221,  2224,  2225,
+    2226,  2227,  2230,  2230,  2238,  2243,  2248
   };
 
   // Print the state stack on the debug stream.
@@ -4964,8 +4943,8 @@ namespace isc { namespace dhcp {
 
 #line 14 "dhcp4_parser.yy" // lalr1.cc:1218
 } } // isc::dhcp
-#line 4968 "dhcp4_parser.cc" // lalr1.cc:1218
-#line 2263 "dhcp4_parser.yy" // lalr1.cc:1219
+#line 4947 "dhcp4_parser.cc" // lalr1.cc:1218
+#line 2253 "dhcp4_parser.yy" // lalr1.cc:1219
 
 
 void
index f3905efaef4d771c4aeea07d48c5ef251b23ac3c..4709d258fcbae2dbb989f81ac798b1a48c60e5c2 100644 (file)
@@ -1693,8 +1693,8 @@ namespace isc { namespace dhcp {
     enum
     {
       yyeof_ = 0,
-      yylast_ = 1005,     ///< Last index in yytable_.
-      yynnts_ = 374,  ///< Number of nonterminal symbols.
+      yylast_ = 1000,     ///< Last index in yytable_.
+      yynnts_ = 373,  ///< Number of nonterminal symbols.
       yyfinal_ = 30, ///< Termination state number.
       yyterror_ = 1,
       yyerrcode_ = 256,
index cc89256d692e49baef7ade49828b607078b75b00..e4b0ecdd593082fee1c614c147014220f615c206 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201811202257
+// Generated 201811261532
 // A Bison parser, made by GNU Bison 3.2.1.
 
 // Locations for Bison parsers in C++
index c9749a5d1a0a02ea81dfc9f630f3f7cf8ff581e9..efed908c0b55319c9ce577ad2ac3a4b73dbdab00 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201811202257
+// Generated 201811261532
 // A Bison parser, made by GNU Bison 3.2.1.
 
 // Starting with Bison 3.2, this file is useless: the structure it
index 63282a8b87994b31c5d046ec3ae65b8b769f5eb5..b507876f446c2a9d33ab766e8847ff35e9baae3a 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201811202257
+// Generated 201811261532
 // A Bison parser, made by GNU Bison 3.2.1.
 
 // Starting with Bison 3.2, this file is useless: the structure it
index 06d6403b4617bfbe10d68895963bf4be05665251..af5241898e9126fa47bf76dfb555679a3bed2365 100644 (file)
@@ -1668,25 +1668,25 @@ int yy_flex_debug = 1;
 
 static const flex_int16_t yy_rule_linenum[179] =
     {   0,
-      147,  149,  151,  156,  157,  162,  163,  164,  176,  179,
-      184,  191,  200,  209,  218,  227,  236,  245,  254,  263,
-      272,  281,  290,  299,  308,  317,  326,  336,  346,  356,
-      366,  376,  385,  395,  405,  415,  425,  434,  443,  452,
-      461,  470,  479,  488,  497,  506,  515,  525,  534,  547,
-      556,  565,  574,  583,  594,  605,  616,  627,  639,  650,
-      661,  672,  683,  694,  705,  716,  727,  738,  749,  760,
-      771,  782,  791,  800,  810,  819,  828,  843,  859,  868,
-      877,  886,  895,  904,  913,  922,  931,  940,  949,  971,
-      993, 1002, 1012, 1022, 1031, 1041, 1052, 1061, 1070, 1079,
-
-     1088, 1097, 1107, 1116, 1125, 1134, 1143, 1152, 1161, 1170,
-     1179, 1188, 1198, 1207, 1216, 1226, 1238, 1251, 1260, 1269,
-     1279, 1289, 1298, 1309, 1319, 1328, 1338, 1348, 1357, 1366,
-     1375, 1384, 1394, 1403, 1413, 1422, 1431, 1440, 1449, 1458,
-     1467, 1476, 1485, 1494, 1503, 1512, 1521, 1530, 1539, 1548,
-     1557, 1566, 1575, 1584, 1593, 1602, 1611, 1620, 1629, 1638,
-     1648, 1747, 1752, 1757, 1762, 1763, 1764, 1765, 1766, 1767,
-     1769, 1787, 1800, 1805, 1809, 1811, 1813, 1815
+      149,  151,  153,  158,  159,  164,  165,  166,  178,  181,
+      186,  193,  202,  211,  220,  229,  238,  247,  256,  265,
+      274,  283,  292,  301,  310,  319,  328,  338,  348,  358,
+      368,  378,  387,  397,  407,  417,  427,  436,  445,  454,
+      463,  472,  481,  490,  499,  508,  517,  527,  536,  549,
+      558,  567,  576,  585,  596,  607,  618,  629,  641,  652,
+      663,  674,  685,  696,  707,  718,  729,  740,  751,  762,
+      773,  784,  793,  802,  812,  821,  830,  845,  861,  870,
+      879,  888,  897,  906,  915,  924,  933,  942,  951,  973,
+      995, 1004, 1014, 1024, 1033, 1043, 1054, 1063, 1072, 1081,
+
+     1090, 1099, 1109, 1118, 1127, 1136, 1145, 1154, 1163, 1172,
+     1181, 1190, 1200, 1209, 1218, 1228, 1240, 1253, 1262, 1271,
+     1281, 1291, 1300, 1311, 1321, 1330, 1340, 1350, 1359, 1368,
+     1377, 1386, 1396, 1405, 1415, 1424, 1433, 1442, 1451, 1460,
+     1469, 1478, 1487, 1496, 1505, 1514, 1523, 1532, 1541, 1550,
+     1559, 1568, 1577, 1586, 1595, 1604, 1613, 1622, 1631, 1640,
+     1650, 1749, 1754, 1759, 1764, 1765, 1766, 1767, 1768, 1769,
+     1771, 1789, 1802, 1807, 1811, 1813, 1815, 1817
     } ;
 
 /* The intent behind this definition is that it'll catch
@@ -2090,13 +2090,15 @@ YY_DECL
             return isc::dhcp::Dhcp6Parser::make_SUB_HOOKS_LIBRARY(driver.loc_);
         case Parser6Context::PARSER_DHCP_DDNS:
             return isc::dhcp::Dhcp6Parser::make_SUB_DHCP_DDNS(driver.loc_);
+        case Parser6Context::PARSER_CONFIG_CONTROL:
+            return isc::dhcp::Dhcp6Parser::make_SUB_CONFIG_CONTROL(driver.loc_);
         case Parser6Context::PARSER_LOGGING:
             return isc::dhcp::Dhcp6Parser::make_SUB_LOGGING(driver.loc_);
         }
     }
 
 
-#line 2099 "dhcp6_lexer.cc"
+#line 2101 "dhcp6_lexer.cc"
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
@@ -2174,17 +2176,17 @@ do_action:      /* This label is used only to access EOF actions. */
 
 case 1:
 YY_RULE_SETUP
-#line 147 "dhcp6_lexer.ll"
+#line 149 "dhcp6_lexer.ll"
 ;
        YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 149 "dhcp6_lexer.ll"
+#line 151 "dhcp6_lexer.ll"
 ;
        YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 151 "dhcp6_lexer.ll"
+#line 153 "dhcp6_lexer.ll"
 {
   BEGIN(COMMENT);
   comment_start_line = driver.loc_.end.line;;
@@ -2192,33 +2194,33 @@ YY_RULE_SETUP
        YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 156 "dhcp6_lexer.ll"
+#line 158 "dhcp6_lexer.ll"
 BEGIN(INITIAL);
        YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 157 "dhcp6_lexer.ll"
+#line 159 "dhcp6_lexer.ll"
 ;
        YY_BREAK
 case YY_STATE_EOF(COMMENT):
-#line 158 "dhcp6_lexer.ll"
+#line 160 "dhcp6_lexer.ll"
 {
     isc_throw(Dhcp6ParseError, "Comment not closed. (/* in line " << comment_start_line);
 }
        YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 162 "dhcp6_lexer.ll"
+#line 164 "dhcp6_lexer.ll"
 BEGIN(DIR_ENTER);
        YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 163 "dhcp6_lexer.ll"
+#line 165 "dhcp6_lexer.ll"
 BEGIN(DIR_INCLUDE);
        YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 164 "dhcp6_lexer.ll"
+#line 166 "dhcp6_lexer.ll"
 {
     /* Include directive. */
 
@@ -2232,19 +2234,19 @@ YY_RULE_SETUP
 case YY_STATE_EOF(DIR_ENTER):
 case YY_STATE_EOF(DIR_INCLUDE):
 case YY_STATE_EOF(DIR_EXIT):
-#line 173 "dhcp6_lexer.ll"
+#line 175 "dhcp6_lexer.ll"
 {
     isc_throw(Dhcp6ParseError, "Directive not closed.");
 }
        YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 176 "dhcp6_lexer.ll"
+#line 178 "dhcp6_lexer.ll"
 BEGIN(INITIAL);
        YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 179 "dhcp6_lexer.ll"
+#line 181 "dhcp6_lexer.ll"
 {
     /* Ok, we found a with space. Let's ignore it and update loc variable. */
     driver.loc_.step();
@@ -2253,7 +2255,7 @@ YY_RULE_SETUP
 case 11:
 /* rule 11 can match eol */
 YY_RULE_SETUP
-#line 184 "dhcp6_lexer.ll"
+#line 186 "dhcp6_lexer.ll"
 {
     /* Newline found. Let's update the location and continue. */
     driver.loc_.lines(yyleng);
@@ -2262,7 +2264,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 191 "dhcp6_lexer.ll"
+#line 193 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP_DDNS:
@@ -2274,7 +2276,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 200 "dhcp6_lexer.ll"
+#line 202 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP_DDNS:
@@ -2286,7 +2288,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 209 "dhcp6_lexer.ll"
+#line 211 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP_DDNS:
@@ -2298,7 +2300,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 218 "dhcp6_lexer.ll"
+#line 220 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP_DDNS:
@@ -2310,7 +2312,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 227 "dhcp6_lexer.ll"
+#line 229 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP_DDNS:
@@ -2322,7 +2324,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 236 "dhcp6_lexer.ll"
+#line 238 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP_DDNS:
@@ -2334,7 +2336,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 245 "dhcp6_lexer.ll"
+#line 247 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP_DDNS:
@@ -2346,7 +2348,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 254 "dhcp6_lexer.ll"
+#line 256 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP_DDNS:
@@ -2358,7 +2360,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 263 "dhcp6_lexer.ll"
+#line 265 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP_DDNS:
@@ -2370,7 +2372,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 272 "dhcp6_lexer.ll"
+#line 274 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP_DDNS:
@@ -2382,7 +2384,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 281 "dhcp6_lexer.ll"
+#line 283 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP_DDNS:
@@ -2394,7 +2396,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 290 "dhcp6_lexer.ll"
+#line 292 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP_DDNS:
@@ -2406,7 +2408,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 299 "dhcp6_lexer.ll"
+#line 301 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP_DDNS:
@@ -2418,7 +2420,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 308 "dhcp6_lexer.ll"
+#line 310 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP_DDNS:
@@ -2430,7 +2432,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 317 "dhcp6_lexer.ll"
+#line 319 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP_DDNS:
@@ -2442,7 +2444,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 326 "dhcp6_lexer.ll"
+#line 328 "dhcp6_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_PROTOCOL) {
@@ -2455,7 +2457,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 336 "dhcp6_lexer.ll"
+#line 338 "dhcp6_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_PROTOCOL) {
@@ -2468,7 +2470,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 346 "dhcp6_lexer.ll"
+#line 348 "dhcp6_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_FORMAT) {
@@ -2481,7 +2483,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 356 "dhcp6_lexer.ll"
+#line 358 "dhcp6_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
@@ -2494,7 +2496,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 366 "dhcp6_lexer.ll"
+#line 368 "dhcp6_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
@@ -2507,7 +2509,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 376 "dhcp6_lexer.ll"
+#line 378 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME:
@@ -2519,7 +2521,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 385 "dhcp6_lexer.ll"
+#line 387 "dhcp6_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
@@ -2532,7 +2534,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 395 "dhcp6_lexer.ll"
+#line 397 "dhcp6_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
@@ -2545,7 +2547,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 405 "dhcp6_lexer.ll"
+#line 407 "dhcp6_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
@@ -2558,7 +2560,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 415 "dhcp6_lexer.ll"
+#line 417 "dhcp6_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
@@ -2571,7 +2573,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 425 "dhcp6_lexer.ll"
+#line 427 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG:
@@ -2583,7 +2585,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 434 "dhcp6_lexer.ll"
+#line 436 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -2595,7 +2597,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 443 "dhcp6_lexer.ll"
+#line 445 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::INTERFACES_CONFIG:
@@ -2607,7 +2609,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 452 "dhcp6_lexer.ll"
+#line 454 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::INTERFACES_CONFIG:
@@ -2619,7 +2621,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 461 "dhcp6_lexer.ll"
+#line 463 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -2631,7 +2633,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 470 "dhcp6_lexer.ll"
+#line 472 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SANITY_CHECKS:
@@ -2643,7 +2645,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 479 "dhcp6_lexer.ll"
+#line 481 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -2655,7 +2657,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 488 "dhcp6_lexer.ll"
+#line 490 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -2667,7 +2669,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 497 "dhcp6_lexer.ll"
+#line 499 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -2679,7 +2681,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 506 "dhcp6_lexer.ll"
+#line 508 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -2691,7 +2693,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 515 "dhcp6_lexer.ll"
+#line 517 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG_CONTROL:
@@ -2703,7 +2705,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 525 "dhcp6_lexer.ll"
+#line 527 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOSTS_DATABASE:
@@ -2715,7 +2717,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 49:
 YY_RULE_SETUP
-#line 534 "dhcp6_lexer.ll"
+#line 536 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LEASE_DATABASE:
@@ -2731,7 +2733,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 50:
 YY_RULE_SETUP
-#line 547 "dhcp6_lexer.ll"
+#line 549 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DATABASE_TYPE:
@@ -2743,7 +2745,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 51:
 YY_RULE_SETUP
-#line 556 "dhcp6_lexer.ll"
+#line 558 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DATABASE_TYPE:
@@ -2755,7 +2757,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 52:
 YY_RULE_SETUP
-#line 565 "dhcp6_lexer.ll"
+#line 567 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DATABASE_TYPE:
@@ -2767,7 +2769,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 574 "dhcp6_lexer.ll"
+#line 576 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DATABASE_TYPE:
@@ -2779,7 +2781,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 54:
 YY_RULE_SETUP
-#line 583 "dhcp6_lexer.ll"
+#line 585 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LEASE_DATABASE:
@@ -2793,7 +2795,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 55:
 YY_RULE_SETUP
-#line 594 "dhcp6_lexer.ll"
+#line 596 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LEASE_DATABASE:
@@ -2807,7 +2809,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 56:
 YY_RULE_SETUP
-#line 605 "dhcp6_lexer.ll"
+#line 607 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LEASE_DATABASE:
@@ -2821,7 +2823,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 57:
 YY_RULE_SETUP
-#line 616 "dhcp6_lexer.ll"
+#line 618 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LEASE_DATABASE:
@@ -2835,7 +2837,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 58:
 YY_RULE_SETUP
-#line 627 "dhcp6_lexer.ll"
+#line 629 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LEASE_DATABASE:
@@ -2850,7 +2852,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 59:
 YY_RULE_SETUP
-#line 639 "dhcp6_lexer.ll"
+#line 641 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LEASE_DATABASE:
@@ -2864,7 +2866,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 60:
 YY_RULE_SETUP
-#line 650 "dhcp6_lexer.ll"
+#line 652 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LEASE_DATABASE:
@@ -2878,7 +2880,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 661 "dhcp6_lexer.ll"
+#line 663 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LEASE_DATABASE:
@@ -2892,7 +2894,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 62:
 YY_RULE_SETUP
-#line 672 "dhcp6_lexer.ll"
+#line 674 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LEASE_DATABASE:
@@ -2906,7 +2908,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 63:
 YY_RULE_SETUP
-#line 683 "dhcp6_lexer.ll"
+#line 685 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LEASE_DATABASE:
@@ -2920,7 +2922,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 64:
 YY_RULE_SETUP
-#line 694 "dhcp6_lexer.ll"
+#line 696 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LEASE_DATABASE:
@@ -2934,7 +2936,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 65:
 YY_RULE_SETUP
-#line 705 "dhcp6_lexer.ll"
+#line 707 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LEASE_DATABASE:
@@ -2948,7 +2950,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 66:
 YY_RULE_SETUP
-#line 716 "dhcp6_lexer.ll"
+#line 718 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LEASE_DATABASE:
@@ -2962,7 +2964,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 67:
 YY_RULE_SETUP
-#line 727 "dhcp6_lexer.ll"
+#line 729 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LEASE_DATABASE:
@@ -2976,7 +2978,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 68:
 YY_RULE_SETUP
-#line 738 "dhcp6_lexer.ll"
+#line 740 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -2990,7 +2992,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 69:
 YY_RULE_SETUP
-#line 749 "dhcp6_lexer.ll"
+#line 751 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3004,7 +3006,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 70:
 YY_RULE_SETUP
-#line 760 "dhcp6_lexer.ll"
+#line 762 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3018,7 +3020,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 71:
 YY_RULE_SETUP
-#line 771 "dhcp6_lexer.ll"
+#line 773 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3032,7 +3034,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 72:
 YY_RULE_SETUP
-#line 782 "dhcp6_lexer.ll"
+#line 784 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3044,7 +3046,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 73:
 YY_RULE_SETUP
-#line 791 "dhcp6_lexer.ll"
+#line 793 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3056,7 +3058,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 74:
 YY_RULE_SETUP
-#line 800 "dhcp6_lexer.ll"
+#line 802 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3069,7 +3071,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 75:
 YY_RULE_SETUP
-#line 810 "dhcp6_lexer.ll"
+#line 812 "dhcp6_lexer.ll"
 {
     switch (driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3081,7 +3083,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 76:
 YY_RULE_SETUP
-#line 819 "dhcp6_lexer.ll"
+#line 821 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3093,7 +3095,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 77:
 YY_RULE_SETUP
-#line 828 "dhcp6_lexer.ll"
+#line 830 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3111,7 +3113,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 78:
 YY_RULE_SETUP
-#line 843 "dhcp6_lexer.ll"
+#line 845 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LEASE_DATABASE:
@@ -3130,7 +3132,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 79:
 YY_RULE_SETUP
-#line 859 "dhcp6_lexer.ll"
+#line 861 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DATA:
@@ -3142,7 +3144,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 868 "dhcp6_lexer.ll"
+#line 870 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DATA:
@@ -3154,7 +3156,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 81:
 YY_RULE_SETUP
-#line 877 "dhcp6_lexer.ll"
+#line 879 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3166,7 +3168,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 82:
 YY_RULE_SETUP
-#line 886 "dhcp6_lexer.ll"
+#line 888 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3178,7 +3180,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 83:
 YY_RULE_SETUP
-#line 895 "dhcp6_lexer.ll"
+#line 897 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::PD_POOLS:
@@ -3190,7 +3192,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 84:
 YY_RULE_SETUP
-#line 904 "dhcp6_lexer.ll"
+#line 906 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::PD_POOLS:
@@ -3202,7 +3204,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 85:
 YY_RULE_SETUP
-#line 913 "dhcp6_lexer.ll"
+#line 915 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::PD_POOLS:
@@ -3214,7 +3216,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 86:
 YY_RULE_SETUP
-#line 922 "dhcp6_lexer.ll"
+#line 924 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::PD_POOLS:
@@ -3226,7 +3228,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 87:
 YY_RULE_SETUP
-#line 931 "dhcp6_lexer.ll"
+#line 933 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::PD_POOLS:
@@ -3238,7 +3240,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 88:
 YY_RULE_SETUP
-#line 940 "dhcp6_lexer.ll"
+#line 942 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::POOLS:
@@ -3250,7 +3252,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 949 "dhcp6_lexer.ll"
+#line 951 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3275,7 +3277,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 971 "dhcp6_lexer.ll"
+#line 973 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3300,7 +3302,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 91:
 YY_RULE_SETUP
-#line 993 "dhcp6_lexer.ll"
+#line 995 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3312,7 +3314,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 1002 "dhcp6_lexer.ll"
+#line 1004 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3325,7 +3327,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 93:
 YY_RULE_SETUP
-#line 1012 "dhcp6_lexer.ll"
+#line 1014 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3338,7 +3340,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 1022 "dhcp6_lexer.ll"
+#line 1024 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3350,7 +3352,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 1031 "dhcp6_lexer.ll"
+#line 1033 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3363,7 +3365,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 1041 "dhcp6_lexer.ll"
+#line 1043 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3377,7 +3379,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 1052 "dhcp6_lexer.ll"
+#line 1054 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATION_MODE:
@@ -3389,7 +3391,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 1061 "dhcp6_lexer.ll"
+#line 1063 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATION_MODE:
@@ -3401,7 +3403,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 99:
 YY_RULE_SETUP
-#line 1070 "dhcp6_lexer.ll"
+#line 1072 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATION_MODE:
@@ -3413,7 +3415,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 100:
 YY_RULE_SETUP
-#line 1079 "dhcp6_lexer.ll"
+#line 1081 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATION_MODE:
@@ -3425,7 +3427,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 101:
 YY_RULE_SETUP
-#line 1088 "dhcp6_lexer.ll"
+#line 1090 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATION_MODE:
@@ -3437,7 +3439,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 102:
 YY_RULE_SETUP
-#line 1097 "dhcp6_lexer.ll"
+#line 1099 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3450,7 +3452,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 103:
 YY_RULE_SETUP
-#line 1107 "dhcp6_lexer.ll"
+#line 1109 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3462,7 +3464,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 104:
 YY_RULE_SETUP
-#line 1116 "dhcp6_lexer.ll"
+#line 1118 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3474,7 +3476,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 105:
 YY_RULE_SETUP
-#line 1125 "dhcp6_lexer.ll"
+#line 1127 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3486,7 +3488,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 106:
 YY_RULE_SETUP
-#line 1134 "dhcp6_lexer.ll"
+#line 1136 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG:
@@ -3498,7 +3500,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 107:
 YY_RULE_SETUP
-#line 1143 "dhcp6_lexer.ll"
+#line 1145 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LOGGING:
@@ -3510,7 +3512,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 108:
 YY_RULE_SETUP
-#line 1152 "dhcp6_lexer.ll"
+#line 1154 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LOGGERS:
@@ -3522,7 +3524,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 109:
 YY_RULE_SETUP
-#line 1161 "dhcp6_lexer.ll"
+#line 1163 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
@@ -3534,7 +3536,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 110:
 YY_RULE_SETUP
-#line 1170 "dhcp6_lexer.ll"
+#line 1172 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
@@ -3546,7 +3548,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 1179 "dhcp6_lexer.ll"
+#line 1181 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
@@ -3558,7 +3560,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 112:
 YY_RULE_SETUP
-#line 1188 "dhcp6_lexer.ll"
+#line 1190 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
@@ -3570,7 +3572,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 113:
 YY_RULE_SETUP
-#line 1198 "dhcp6_lexer.ll"
+#line 1200 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LOGGERS:
@@ -3582,7 +3584,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 114:
 YY_RULE_SETUP
-#line 1207 "dhcp6_lexer.ll"
+#line 1209 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LOGGERS:
@@ -3594,7 +3596,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 115:
 YY_RULE_SETUP
-#line 1216 "dhcp6_lexer.ll"
+#line 1218 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3607,7 +3609,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 116:
 YY_RULE_SETUP
-#line 1226 "dhcp6_lexer.ll"
+#line 1228 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3622,7 +3624,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 117:
 YY_RULE_SETUP
-#line 1238 "dhcp6_lexer.ll"
+#line 1240 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3638,7 +3640,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 118:
 YY_RULE_SETUP
-#line 1251 "dhcp6_lexer.ll"
+#line 1253 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CLIENT_CLASSES:
@@ -3650,7 +3652,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 119:
 YY_RULE_SETUP
-#line 1260 "dhcp6_lexer.ll"
+#line 1262 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CLIENT_CLASSES:
@@ -3662,7 +3664,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 120:
 YY_RULE_SETUP
-#line 1269 "dhcp6_lexer.ll"
+#line 1271 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3675,7 +3677,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 121:
 YY_RULE_SETUP
-#line 1279 "dhcp6_lexer.ll"
+#line 1281 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATIONS:
@@ -3688,7 +3690,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 122:
 YY_RULE_SETUP
-#line 1289 "dhcp6_lexer.ll"
+#line 1291 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATIONS:
@@ -3700,7 +3702,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 123:
 YY_RULE_SETUP
-#line 1298 "dhcp6_lexer.ll"
+#line 1300 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::MAC_SOURCES:
@@ -3714,7 +3716,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 124:
 YY_RULE_SETUP
-#line 1309 "dhcp6_lexer.ll"
+#line 1311 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3727,7 +3729,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 125:
 YY_RULE_SETUP
-#line 1319 "dhcp6_lexer.ll"
+#line 1321 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATIONS:
@@ -3739,7 +3741,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 126:
 YY_RULE_SETUP
-#line 1328 "dhcp6_lexer.ll"
+#line 1330 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3752,7 +3754,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 127:
 YY_RULE_SETUP
-#line 1338 "dhcp6_lexer.ll"
+#line 1340 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3765,7 +3767,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 128:
 YY_RULE_SETUP
-#line 1348 "dhcp6_lexer.ll"
+#line 1350 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DATA:
@@ -3777,7 +3779,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 129:
 YY_RULE_SETUP
-#line 1357 "dhcp6_lexer.ll"
+#line 1359 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3789,7 +3791,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 130:
 YY_RULE_SETUP
-#line 1366 "dhcp6_lexer.ll"
+#line 1368 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3801,7 +3803,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 131:
 YY_RULE_SETUP
-#line 1375 "dhcp6_lexer.ll"
+#line 1377 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3813,7 +3815,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 132:
 YY_RULE_SETUP
-#line 1384 "dhcp6_lexer.ll"
+#line 1386 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3826,7 +3828,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 133:
 YY_RULE_SETUP
-#line 1394 "dhcp6_lexer.ll"
+#line 1396 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RELAY:
@@ -3838,7 +3840,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 134:
 YY_RULE_SETUP
-#line 1403 "dhcp6_lexer.ll"
+#line 1405 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3850,7 +3852,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 135:
 YY_RULE_SETUP
-#line 1413 "dhcp6_lexer.ll"
+#line 1415 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
@@ -3862,7 +3864,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 136:
 YY_RULE_SETUP
-#line 1422 "dhcp6_lexer.ll"
+#line 1424 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
@@ -3874,7 +3876,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 137:
 YY_RULE_SETUP
-#line 1431 "dhcp6_lexer.ll"
+#line 1433 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3886,7 +3888,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 138:
 YY_RULE_SETUP
-#line 1440 "dhcp6_lexer.ll"
+#line 1442 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DUID_TYPE:
@@ -3898,7 +3900,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 139:
 YY_RULE_SETUP
-#line 1449 "dhcp6_lexer.ll"
+#line 1451 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DUID_TYPE:
@@ -3910,7 +3912,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 140:
 YY_RULE_SETUP
-#line 1458 "dhcp6_lexer.ll"
+#line 1460 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DUID_TYPE:
@@ -3922,7 +3924,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 141:
 YY_RULE_SETUP
-#line 1467 "dhcp6_lexer.ll"
+#line 1469 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -3934,7 +3936,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 142:
 YY_RULE_SETUP
-#line 1476 "dhcp6_lexer.ll"
+#line 1478 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -3946,7 +3948,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 143:
 YY_RULE_SETUP
-#line 1485 "dhcp6_lexer.ll"
+#line 1487 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -3958,7 +3960,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 144:
 YY_RULE_SETUP
-#line 1494 "dhcp6_lexer.ll"
+#line 1496 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -3970,7 +3972,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 145:
 YY_RULE_SETUP
-#line 1503 "dhcp6_lexer.ll"
+#line 1505 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3982,7 +3984,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 146:
 YY_RULE_SETUP
-#line 1512 "dhcp6_lexer.ll"
+#line 1514 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3994,7 +3996,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 147:
 YY_RULE_SETUP
-#line 1521 "dhcp6_lexer.ll"
+#line 1523 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -4006,7 +4008,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 148:
 YY_RULE_SETUP
-#line 1530 "dhcp6_lexer.ll"
+#line 1532 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -4018,7 +4020,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 149:
 YY_RULE_SETUP
-#line 1539 "dhcp6_lexer.ll"
+#line 1541 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -4030,7 +4032,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 150:
 YY_RULE_SETUP
-#line 1548 "dhcp6_lexer.ll"
+#line 1550 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -4042,7 +4044,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 151:
 YY_RULE_SETUP
-#line 1557 "dhcp6_lexer.ll"
+#line 1559 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -4054,7 +4056,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 152:
 YY_RULE_SETUP
-#line 1566 "dhcp6_lexer.ll"
+#line 1568 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -4066,7 +4068,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 153:
 YY_RULE_SETUP
-#line 1575 "dhcp6_lexer.ll"
+#line 1577 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -4078,7 +4080,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 154:
 YY_RULE_SETUP
-#line 1584 "dhcp6_lexer.ll"
+#line 1586 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONTROL_SOCKET:
@@ -4090,7 +4092,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 155:
 YY_RULE_SETUP
-#line 1593 "dhcp6_lexer.ll"
+#line 1595 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONTROL_SOCKET:
@@ -4102,7 +4104,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 156:
 YY_RULE_SETUP
-#line 1602 "dhcp6_lexer.ll"
+#line 1604 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -4114,7 +4116,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 157:
 YY_RULE_SETUP
-#line 1611 "dhcp6_lexer.ll"
+#line 1613 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -4126,7 +4128,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 158:
 YY_RULE_SETUP
-#line 1620 "dhcp6_lexer.ll"
+#line 1622 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG:
@@ -4138,7 +4140,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 159:
 YY_RULE_SETUP
-#line 1629 "dhcp6_lexer.ll"
+#line 1631 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG:
@@ -4150,7 +4152,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 160:
 YY_RULE_SETUP
-#line 1638 "dhcp6_lexer.ll"
+#line 1640 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG:
@@ -4162,7 +4164,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 161:
 YY_RULE_SETUP
-#line 1648 "dhcp6_lexer.ll"
+#line 1650 "dhcp6_lexer.ll"
 {
     /* 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.
@@ -4265,7 +4267,7 @@ YY_RULE_SETUP
 case 162:
 /* rule 162 can match eol */
 YY_RULE_SETUP
-#line 1747 "dhcp6_lexer.ll"
+#line 1749 "dhcp6_lexer.ll"
 {
     /* Bad string with a forbidden control character inside */
     driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
@@ -4274,7 +4276,7 @@ YY_RULE_SETUP
 case 163:
 /* rule 163 can match eol */
 YY_RULE_SETUP
-#line 1752 "dhcp6_lexer.ll"
+#line 1754 "dhcp6_lexer.ll"
 {
     /* Bad string with a bad escape inside */
     driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
@@ -4282,7 +4284,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 164:
 YY_RULE_SETUP
-#line 1757 "dhcp6_lexer.ll"
+#line 1759 "dhcp6_lexer.ll"
 {
     /* Bad string with an open escape at the end */
     driver.error(driver.loc_, "Overflow escape in " + std::string(yytext));
@@ -4290,37 +4292,37 @@ YY_RULE_SETUP
        YY_BREAK
 case 165:
 YY_RULE_SETUP
-#line 1762 "dhcp6_lexer.ll"
+#line 1764 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
 case 166:
 YY_RULE_SETUP
-#line 1763 "dhcp6_lexer.ll"
+#line 1765 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
 case 167:
 YY_RULE_SETUP
-#line 1764 "dhcp6_lexer.ll"
+#line 1766 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); }
        YY_BREAK
 case 168:
 YY_RULE_SETUP
-#line 1765 "dhcp6_lexer.ll"
+#line 1767 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); }
        YY_BREAK
 case 169:
 YY_RULE_SETUP
-#line 1766 "dhcp6_lexer.ll"
+#line 1768 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); }
        YY_BREAK
 case 170:
 YY_RULE_SETUP
-#line 1767 "dhcp6_lexer.ll"
+#line 1769 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); }
        YY_BREAK
 case 171:
 YY_RULE_SETUP
-#line 1769 "dhcp6_lexer.ll"
+#line 1771 "dhcp6_lexer.ll"
 {
     /* An integer was found. */
     std::string tmp(yytext);
@@ -4341,7 +4343,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 172:
 YY_RULE_SETUP
-#line 1787 "dhcp6_lexer.ll"
+#line 1789 "dhcp6_lexer.ll"
 {
     /* A floating point was found. */
     std::string tmp(yytext);
@@ -4357,7 +4359,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 173:
 YY_RULE_SETUP
-#line 1800 "dhcp6_lexer.ll"
+#line 1802 "dhcp6_lexer.ll"
 {
     string tmp(yytext);
     return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_);
@@ -4365,33 +4367,33 @@ YY_RULE_SETUP
        YY_BREAK
 case 174:
 YY_RULE_SETUP
-#line 1805 "dhcp6_lexer.ll"
+#line 1807 "dhcp6_lexer.ll"
 {
    return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_);
 }
        YY_BREAK
 case 175:
 YY_RULE_SETUP
-#line 1809 "dhcp6_lexer.ll"
+#line 1811 "dhcp6_lexer.ll"
 driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
        YY_BREAK
 case 176:
 YY_RULE_SETUP
-#line 1811 "dhcp6_lexer.ll"
+#line 1813 "dhcp6_lexer.ll"
 driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
        YY_BREAK
 case 177:
 YY_RULE_SETUP
-#line 1813 "dhcp6_lexer.ll"
+#line 1815 "dhcp6_lexer.ll"
 driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
        YY_BREAK
 case 178:
 YY_RULE_SETUP
-#line 1815 "dhcp6_lexer.ll"
+#line 1817 "dhcp6_lexer.ll"
 driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 1817 "dhcp6_lexer.ll"
+#line 1819 "dhcp6_lexer.ll"
 {
     if (driver.states_.empty()) {
         return isc::dhcp::Dhcp6Parser::make_END(driver.loc_);
@@ -4417,10 +4419,10 @@ case YY_STATE_EOF(INITIAL):
        YY_BREAK
 case 179:
 YY_RULE_SETUP
-#line 1840 "dhcp6_lexer.ll"
+#line 1842 "dhcp6_lexer.ll"
 ECHO;
        YY_BREAK
-#line 4423 "dhcp6_lexer.cc"
+#line 4425 "dhcp6_lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
@@ -5525,7 +5527,7 @@ void yyfree (void * ptr )
 
 /* %ok-for-header */
 
-#line 1840 "dhcp6_lexer.ll"
+#line 1842 "dhcp6_lexer.ll"
 
 
 using namespace isc::dhcp;
index 1e4267738f7f64d420e569d2daae03438863e24a..b346417260a85e54c36fbcd1f6850ecfb7fd35f6 100644 (file)
@@ -3501,270 +3501,252 @@ namespace isc { namespace dhcp {
 
   case 617:
 #line 2165 "dhcp6_parser.yy" // lalr1.cc:907
-    {
-    ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
-    ctx.stack_.back()->add(m);
-    ctx.stack_.push_back(m);
-}
-#line 3510 "dhcp6_parser.cc" // lalr1.cc:907
-    break;
-
-  case 618:
-#line 2169 "dhcp6_parser.yy" // lalr1.cc:907
-    {
-    ctx.stack_.pop_back();
-}
-#line 3518 "dhcp6_parser.cc" // lalr1.cc:907
-    break;
-
-  case 619:
-#line 2174 "dhcp6_parser.yy" // lalr1.cc:907
     {
     ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("config-control", i);
     ctx.stack_.push_back(i);
     ctx.enter(ctx.CONFIG_CONTROL);
 }
-#line 3529 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3511 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 620:
-#line 2179 "dhcp6_parser.yy" // lalr1.cc:907
+  case 618:
+#line 2170 "dhcp6_parser.yy" // lalr1.cc:907
     {
     // No config control params are required
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 3539 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3521 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 621:
-#line 2185 "dhcp6_parser.yy" // lalr1.cc:907
+  case 619:
+#line 2176 "dhcp6_parser.yy" // lalr1.cc:907
     {
     // Parse the config-control map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
-#line 3549 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3531 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 622:
-#line 2189 "dhcp6_parser.yy" // lalr1.cc:907
+  case 620:
+#line 2180 "dhcp6_parser.yy" // lalr1.cc:907
     {
     // No config_control params are required
     // parsing completed
 }
-#line 3558 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3540 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 627:
-#line 2204 "dhcp6_parser.yy" // lalr1.cc:907
+  case 624:
+#line 2194 "dhcp6_parser.yy" // lalr1.cc:907
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("config-databases", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.CONFIG_DATABASE);
 }
-#line 3569 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3551 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 628:
-#line 2209 "dhcp6_parser.yy" // lalr1.cc:907
+  case 625:
+#line 2199 "dhcp6_parser.yy" // lalr1.cc:907
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 3578 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3560 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 629:
-#line 2219 "dhcp6_parser.yy" // lalr1.cc:907
+  case 626:
+#line 2209 "dhcp6_parser.yy" // lalr1.cc:907
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("Logging", m);
     ctx.stack_.push_back(m);
     ctx.enter(ctx.LOGGING);
 }
-#line 3589 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3571 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 630:
-#line 2224 "dhcp6_parser.yy" // lalr1.cc:907
+  case 627:
+#line 2214 "dhcp6_parser.yy" // lalr1.cc:907
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 3598 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3580 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 631:
-#line 2229 "dhcp6_parser.yy" // lalr1.cc:907
+  case 628:
+#line 2219 "dhcp6_parser.yy" // lalr1.cc:907
     {
     // Parse the Logging map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
-#line 3608 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3590 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 632:
-#line 2233 "dhcp6_parser.yy" // lalr1.cc:907
+  case 629:
+#line 2223 "dhcp6_parser.yy" // lalr1.cc:907
     {
     // parsing completed
 }
-#line 3616 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3598 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 636:
-#line 2249 "dhcp6_parser.yy" // lalr1.cc:907
+  case 633:
+#line 2239 "dhcp6_parser.yy" // lalr1.cc:907
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("loggers", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.LOGGERS);
 }
-#line 3627 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3609 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 637:
-#line 2254 "dhcp6_parser.yy" // lalr1.cc:907
+  case 634:
+#line 2244 "dhcp6_parser.yy" // lalr1.cc:907
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 3636 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3618 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 640:
-#line 2266 "dhcp6_parser.yy" // lalr1.cc:907
+  case 637:
+#line 2256 "dhcp6_parser.yy" // lalr1.cc:907
     {
     ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(l);
     ctx.stack_.push_back(l);
 }
-#line 3646 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3628 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 641:
-#line 2270 "dhcp6_parser.yy" // lalr1.cc:907
+  case 638:
+#line 2260 "dhcp6_parser.yy" // lalr1.cc:907
     {
     ctx.stack_.pop_back();
 }
-#line 3654 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3636 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 651:
-#line 2287 "dhcp6_parser.yy" // lalr1.cc:907
+  case 648:
+#line 2277 "dhcp6_parser.yy" // lalr1.cc:907
     {
     ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("debuglevel", dl);
 }
-#line 3663 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3645 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 652:
-#line 2292 "dhcp6_parser.yy" // lalr1.cc:907
+  case 649:
+#line 2282 "dhcp6_parser.yy" // lalr1.cc:907
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 3671 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3653 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 653:
-#line 2294 "dhcp6_parser.yy" // lalr1.cc:907
+  case 650:
+#line 2284 "dhcp6_parser.yy" // lalr1.cc:907
     {
     ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("severity", sev);
     ctx.leave();
 }
-#line 3681 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3663 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 654:
-#line 2300 "dhcp6_parser.yy" // lalr1.cc:907
+  case 651:
+#line 2290 "dhcp6_parser.yy" // lalr1.cc:907
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output_options", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.OUTPUT_OPTIONS);
 }
-#line 3692 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3674 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 655:
-#line 2305 "dhcp6_parser.yy" // lalr1.cc:907
+  case 652:
+#line 2295 "dhcp6_parser.yy" // lalr1.cc:907
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 3701 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3683 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 658:
-#line 2314 "dhcp6_parser.yy" // lalr1.cc:907
+  case 655:
+#line 2304 "dhcp6_parser.yy" // lalr1.cc:907
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 3711 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3693 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 659:
-#line 2318 "dhcp6_parser.yy" // lalr1.cc:907
+  case 656:
+#line 2308 "dhcp6_parser.yy" // lalr1.cc:907
     {
     ctx.stack_.pop_back();
 }
-#line 3719 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3701 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 666:
-#line 2332 "dhcp6_parser.yy" // lalr1.cc:907
+  case 663:
+#line 2322 "dhcp6_parser.yy" // lalr1.cc:907
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 3727 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3709 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 667:
-#line 2334 "dhcp6_parser.yy" // lalr1.cc:907
+  case 664:
+#line 2324 "dhcp6_parser.yy" // lalr1.cc:907
     {
     ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output", sev);
     ctx.leave();
 }
-#line 3737 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3719 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 668:
-#line 2340 "dhcp6_parser.yy" // lalr1.cc:907
+  case 665:
+#line 2330 "dhcp6_parser.yy" // lalr1.cc:907
     {
     ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("flush", flush);
 }
-#line 3746 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3728 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 669:
-#line 2345 "dhcp6_parser.yy" // lalr1.cc:907
+  case 666:
+#line 2335 "dhcp6_parser.yy" // lalr1.cc:907
     {
     ElementPtr maxsize(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxsize", maxsize);
 }
-#line 3755 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3737 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
-  case 670:
-#line 2350 "dhcp6_parser.yy" // lalr1.cc:907
+  case 667:
+#line 2340 "dhcp6_parser.yy" // lalr1.cc:907
     {
     ElementPtr maxver(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxver", maxver);
 }
-#line 3764 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3746 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
 
-#line 3768 "dhcp6_parser.cc" // lalr1.cc:907
+#line 3750 "dhcp6_parser.cc" // lalr1.cc:907
             default:
               break;
             }
@@ -4022,123 +4004,122 @@ namespace isc { namespace dhcp {
   }
 
 
-  const short Dhcp6Parser::yypact_ninf_ = -826;
+  const short Dhcp6Parser::yypact_ninf_ = -821;
 
   const signed char Dhcp6Parser::yytable_ninf_ = -1;
 
   const short
   Dhcp6Parser::yypact_[] =
   {
-     418,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,    45,    65,    44,    50,
-      58,    78,   111,   121,   141,   149,   155,   159,   163,   165,
-     184,   193,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,    65,   -78,    34,    64,    25,   236,    29,    36,
-     196,   161,   103,   198,   -49,   375,   110,    26,  -826,   183,
-     253,   261,   259,   269,  -826,  -826,  -826,  -826,  -826,   276,
-    -826,    70,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,   315,   321,   323,   339,   345,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,   355,  -826,  -826,  -826,
-    -826,    85,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,   361,  -826,   109,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,   365,   367,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,   132,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-     147,  -826,  -826,  -826,  -826,  -826,   383,  -826,   387,   414,
-    -826,  -826,  -826,  -826,  -826,  -826,   170,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,   303,   348,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,   411,  -826,  -826,   416,  -826,  -826,
-    -826,   419,  -826,  -826,   417,   350,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,   424,
-     431,  -826,  -826,  -826,  -826,   429,   423,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,   182,
-    -826,  -826,  -826,   442,  -826,  -826,   443,  -826,   444,   449,
-    -826,  -826,   450,   451,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,   189,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,   195,
-    -826,  -826,  -826,  -826,   237,  -826,  -826,  -826,    65,    65,
-    -826,   252,   454,   457,   460,   461,   462,  -826,    34,  -826,
-      26,   463,   464,   465,   466,   467,   301,   302,   305,   308,
-     309,   470,   473,   477,   478,   479,   480,   481,   483,   484,
-     485,   486,   487,   488,   489,   490,   491,   505,   340,   506,
-     508,   509,    64,  -826,   510,   346,    25,  -826,   514,   516,
-     517,   521,   522,   356,   360,   524,   528,   530,   236,  -826,
-     531,    29,  -826,   532,   366,   535,   369,   370,    36,  -826,
-     538,   539,   540,   542,   545,   547,   548,  -826,   196,  -826,
-     549,   550,   384,   552,   553,   554,   386,  -826,   103,   556,
-     389,   392,  -826,   198,   563,   564,   201,  -826,   396,   566,
-     567,   420,   584,   421,   425,   585,   586,   426,   428,   589,
-     590,   591,   598,   375,  -826,   599,   110,  -826,   600,    26,
-    -826,  -826,  -826,   601,   603,   604,    65,    65,    65,  -826,
-     263,   605,   606,   607,   608,   602,  -826,  -826,  -826,  -826,
-    -826,   436,   611,   612,   613,   614,   438,   157,   615,   617,
-     618,   619,   620,   621,   623,   624,   625,   626,  -826,   627,
-     614,   628,  -826,   631,  -826,  -826,   632,   633,   455,   469,
-     471,  -826,  -826,   631,   472,   636,  -826,   474,  -826,   475,
-    -826,   476,  -826,  -826,  -826,   631,   631,   631,   482,   492,
-     493,   494,  -826,   495,   496,  -826,   497,   498,   499,  -826,
-    -826,   500,  -826,  -826,  -826,   501,    65,  -826,  -826,   502,
-     503,  -826,   504,  -826,  -826,    47,   511,  -826,  -826,   -13,
-     507,   512,   513,  -826,   635,  -826,   643,  -826,    65,    64,
-     110,  -826,  -826,  -826,  -826,    26,    25,   191,   191,   642,
-    -826,   644,   646,   647,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,   648,    -7,    65,   150,   537,   649,   650,   651,
-     232,   146,    -3,  -826,   375,  -826,  -826,   652,   653,  -826,
-    -826,  -826,  -826,  -826,   -48,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,   654,
-     642,  -826,   266,   288,   289,   306,  -826,  -826,  -826,  -826,
-     671,   672,   674,   675,   676,  -826,   677,   680,  -826,   681,
-     682,   683,  -826,   307,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,   310,  -826,   684,   685,  -826,  -826,   686,   688,
-    -826,  -826,   687,   691,  -826,  -826,   689,   693,  -826,  -826,
-     692,   694,  -826,  -826,  -826,    83,  -826,  -826,  -826,   695,
-    -826,  -826,  -826,   143,  -826,  -826,  -826,  -826,   314,  -826,
-    -826,  -826,   249,  -826,  -826,   696,   697,  -826,  -826,   698,
-     700,  -826,   701,   702,   703,   704,   705,   706,   318,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,   707,   708,
-     709,  -826,  -826,  -826,  -826,   337,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,   338,  -826,  -826,
-    -826,   347,   519,  -826,   710,   711,  -826,  -826,   712,   714,
-    -826,  -826,  -826,   622,  -826,  -826,   278,  -826,   713,  -826,
-    -826,  -826,  -826,   716,   717,   718,   719,   544,   526,   555,
-     551,   557,   721,   558,   559,   723,   560,   561,   562,   191,
-    -826,  -826,   191,  -826,   642,   236,  -826,   644,   103,  -826,
-     646,   198,  -826,   647,   391,  -826,   648,    -7,  -826,  -826,
-     150,  -826,   729,   537,  -826,   128,   649,  -826,   196,  -826,
-     650,   -49,  -826,   651,   565,   568,   569,   570,   571,   572,
-     232,  -826,   730,   733,   573,   574,   575,   146,  -826,   734,
-     743,    -3,  -826,  -826,  -826,   742,   746,    29,  -826,   652,
-      36,  -826,   653,   747,  -826,   264,   654,  -826,  -826,   422,
-     580,   582,   583,  -826,  -826,  -826,  -826,  -826,   587,  -826,
-    -826,   588,  -826,  -826,  -826,  -826,   349,  -826,   359,  -826,
-     748,  -826,   751,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,   378,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,   592,  -826,  -826,   750,
-    -826,  -826,  -826,  -826,  -826,   752,   758,  -826,  -826,  -826,
-    -826,  -826,   755,  -826,   385,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,   342,   594,  -826,  -826,  -826,  -826,   596,
-     597,  -826,  -826,   609,   395,  -826,   397,  -826,   616,  -826,
-     765,  -826,  -826,  -826,  -826,  -826,   405,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,   391,  -826,  -826,   766,
-     641,  -826,   128,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,   768,   630,   769,   264,
-    -826,  -826,   634,  -826,  -826,   645,  -826,   655,  -826,  -826,
-     781,  -826,  -826,   336,  -826,   -12,   781,  -826,  -826,   772,
-     785,   794,   413,  -826,  -826,  -826,  -826,  -826,  -826,   801,
-     659,   657,   665,   -12,  -826,   667,  -826,  -826,  -826,  -826,
-    -826
+     337,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,    65,    55,    66,    90,
+     108,   110,   119,   125,   136,   169,   176,   177,   217,   245,
+     246,   247,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,    55,  -119,    28,    59,    25,   218,    64,   233,
+     350,    47,    30,   170,   -54,   456,   -73,   165,  -821,   258,
+     194,   262,   293,   267,  -821,  -821,  -821,  -821,  -821,   320,
+    -821,    71,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,   324,   346,   352,   354,   355,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,   360,  -821,  -821,  -821,  -821,
+      79,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,   361,  -821,    80,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,   362,   364,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,    86,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,   104,
+    -821,  -821,  -821,  -821,  -821,   380,  -821,   381,   386,  -821,
+    -821,  -821,  -821,  -821,  -821,   105,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,   340,   351,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,   370,  -821,  -821,   391,  -821,  -821,  -821,
+     394,  -821,  -821,   392,   396,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,   398,   401,
+    -821,  -821,  -821,  -821,   400,   403,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,   111,  -821,
+    -821,  -821,   405,  -821,  -821,   406,  -821,   409,   418,  -821,
+    -821,   419,   421,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+     120,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,   154,  -821,
+    -821,  -821,   155,  -821,  -821,  -821,    55,    55,  -821,   257,
+     424,   430,   432,   441,   447,  -821,    28,  -821,   448,   449,
+     450,   453,   459,   289,   294,   295,   296,   298,   460,   464,
+     466,   467,   468,   469,   471,   472,   474,   475,   476,   477,
+     478,   479,   480,   482,   483,   317,   503,   504,   505,    59,
+    -821,   506,   339,    25,  -821,   509,   510,   511,   512,   514,
+     348,   353,   519,   520,   521,   218,  -821,   523,    64,  -821,
+     524,   358,   526,   363,   365,   233,  -821,   527,   528,   531,
+     533,   534,   535,   536,  -821,   350,  -821,   537,   540,   375,
+     543,   544,   545,   377,  -821,    30,   547,   379,   382,  -821,
+     170,   549,   550,    51,  -821,   383,   553,   558,   393,   559,
+     395,   399,   561,   565,   402,   423,   567,   568,   569,   570,
+     456,  -821,   572,   -73,  -821,   587,   165,  -821,  -821,  -821,
+     590,   592,   593,    55,    55,    55,  -821,   594,   595,   596,
+     597,   600,  -821,  -821,  -821,  -821,  -821,   436,   602,   603,
+     604,   605,   440,   374,   606,   608,   609,   610,   611,   612,
+     614,   615,   616,   617,  -821,   618,   605,   620,  -821,   623,
+    -821,  -821,   624,   625,   446,   451,   452,  -821,  -821,   623,
+     461,   626,  -821,   462,  -821,   465,  -821,   470,  -821,  -821,
+    -821,   623,   623,   623,   473,   481,   484,   485,  -821,   486,
+     487,  -821,   488,   489,   490,  -821,  -821,   491,  -821,  -821,
+    -821,   492,    55,  -821,  -821,   493,   494,  -821,   495,  -821,
+    -821,    26,   498,  -821,  -821,    15,   496,   497,   499,  -821,
+     631,  -821,   632,  -821,    55,    59,   -73,  -821,  -821,  -821,
+     165,    25,   213,   213,   634,  -821,   635,   637,   638,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,   639,   -50,    55,
+     139,   556,   640,   641,   642,   229,    99,   138,  -821,   456,
+    -821,  -821,   643,   645,  -821,  -821,  -821,  -821,  -821,   -39,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,   646,   634,  -821,   164,   182,   191,
+     259,  -821,  -821,  -821,  -821,   664,   666,   667,   668,   669,
+    -821,   670,   671,  -821,   672,   673,   674,  -821,   260,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,   270,  -821,   633,
+     676,  -821,  -821,   675,   677,  -821,  -821,   678,   679,  -821,
+    -821,   680,   682,  -821,  -821,   681,   685,  -821,  -821,  -821,
+     167,  -821,  -821,  -821,   683,  -821,  -821,  -821,   190,  -821,
+    -821,  -821,  -821,   271,  -821,  -821,  -821,   297,  -821,  -821,
+     684,   688,  -821,  -821,   686,   690,  -821,   691,   692,   693,
+     694,   695,   696,   273,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,   697,   698,   699,  -821,  -821,  -821,  -821,
+     301,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,   304,  -821,  -821,  -821,   307,   513,  -821,   700,
+     701,  -821,  -821,   702,   704,  -821,  -821,  -821,   703,  -821,
+    -821,   333,  -821,   706,  -821,  -821,  -821,  -821,   705,   709,
+     710,   711,   539,   532,   546,   548,   551,   712,   552,   554,
+     714,   555,   557,   560,   213,  -821,  -821,   213,  -821,   634,
+     218,  -821,   635,    30,  -821,   637,   170,  -821,   638,   390,
+    -821,   639,   -50,  -821,  -821,   139,  -821,   715,   556,  -821,
+     121,   640,  -821,   350,  -821,   641,   -54,  -821,   642,   563,
+     564,   566,   571,   573,   574,   229,  -821,   716,   720,   575,
+     576,   577,    99,  -821,   723,   725,   138,  -821,  -821,  -821,
+     724,   728,    64,  -821,   643,   233,  -821,   645,   732,  -821,
+      44,   646,  -821,  -821,   397,   562,   579,   580,  -821,  -821,
+    -821,  -821,  -821,   581,  -821,  -821,   582,  -821,  -821,  -821,
+    -821,   308,  -821,   311,  -821,   730,  -821,   731,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,   315,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,   583,  -821,  -821,   736,  -821,  -821,  -821,  -821,  -821,
+     733,   740,  -821,  -821,  -821,  -821,  -821,   746,  -821,   318,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,   107,   585,
+    -821,  -821,  -821,  -821,   586,   588,  -821,  -821,   589,   319,
+    -821,   334,  -821,   591,  -821,   753,  -821,  -821,  -821,  -821,
+    -821,   335,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,   390,  -821,  -821,   756,   598,  -821,   121,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,   758,   613,   759,    44,  -821,  -821,   629,  -821,  -821,
+     689,  -821,   630,  -821,  -821,   757,  -821,  -821,   343,  -821,
+      -5,   757,  -821,  -821,   761,   763,   764,   344,  -821,  -821,
+    -821,  -821,  -821,  -821,   770,   628,   622,   644,    -5,  -821,
+     650,  -821,  -821,  -821,  -821,  -821
   };
 
   const unsigned short
@@ -4150,154 +4131,153 @@ namespace isc { namespace dhcp {
        0,     0,     1,    47,    40,    36,    35,    32,    33,    34,
       39,     3,    37,    38,    60,     5,    72,     7,   117,     9,
      258,    11,   404,    13,   429,    15,   459,    17,   329,    19,
-     337,    21,   374,    23,   223,    25,   558,    27,   631,    29,
-     621,    31,    49,    43,     0,     0,     0,     0,     0,     0,
+     337,    21,   374,    23,   223,    25,   558,    27,   628,    29,
+     619,    31,    49,    43,     0,     0,     0,     0,     0,     0,
      461,     0,   339,   376,     0,     0,     0,     0,    51,     0,
-      50,     0,     0,    44,    70,   629,   611,   613,   615,     0,
-      69,     0,    62,    64,    66,    67,    68,    65,   617,   619,
-     115,   129,   131,   133,     0,     0,     0,     0,     0,   113,
-     250,   327,   366,   417,   419,   292,   300,   196,   213,   204,
-     189,   496,   451,   215,   234,   517,     0,   541,   554,   556,
-     107,     0,    74,    76,    77,    78,    79,    80,   105,    83,
-      84,    85,    86,   102,    87,    89,    88,    93,    94,    81,
-     106,    82,    91,    92,   100,   101,   103,    90,    95,    96,
-      97,    98,    99,   104,   126,     0,   125,     0,   119,   121,
-     122,   123,   124,   396,   421,   282,   284,   286,     0,     0,
-     290,   288,   490,   281,   262,   263,   264,   265,     0,   260,
-     269,   270,   271,   274,   275,   277,   272,   273,   266,   267,
-     279,   280,   268,   276,   278,   415,   414,   410,   411,   409,
-       0,   406,   408,   412,   413,   444,     0,   447,     0,     0,
-     443,   437,   438,   436,   441,   442,     0,   431,   433,   434,
-     439,   440,   435,   488,   476,   478,   480,   482,   484,   486,
-     475,   472,   473,   474,     0,   462,   463,   467,   468,   465,
-     469,   470,   471,   466,     0,   356,   174,     0,   360,   358,
-     363,     0,   352,   353,     0,   340,   341,   343,   355,   344,
-     345,   346,   362,   347,   348,   349,   350,   351,   390,     0,
-       0,   388,   389,   392,   393,     0,   377,   378,   380,   381,
-     382,   383,   384,   385,   386,   387,   230,   232,   227,     0,
-     225,   228,   229,     0,   581,   583,     0,   586,     0,     0,
-     590,   594,     0,     0,   598,   605,   607,   609,   579,   577,
-     578,     0,   560,   562,   563,   564,   565,   566,   567,   568,
-     569,   570,   571,   572,   573,   574,   575,   576,   636,     0,
-     633,   635,   627,   626,     0,   623,   625,    48,     0,     0,
-      41,     0,     0,     0,     0,     0,     0,    59,     0,    61,
+      50,     0,     0,    44,    70,   626,   611,   613,   615,     0,
+      69,     0,    62,    64,    66,    67,    68,    65,   617,   115,
+     129,   131,   133,     0,     0,     0,     0,     0,   113,   250,
+     327,   366,   417,   419,   292,   300,   196,   213,   204,   189,
+     496,   451,   215,   234,   517,     0,   541,   554,   556,   107,
+       0,    74,    76,    77,    78,    79,    80,   105,    83,    84,
+      85,    86,   102,    87,    89,    88,    93,    94,    81,   106,
+      82,    91,    92,   100,   101,   103,    90,    95,    96,    97,
+      98,    99,   104,   126,     0,   125,     0,   119,   121,   122,
+     123,   124,   396,   421,   282,   284,   286,     0,     0,   290,
+     288,   490,   281,   262,   263,   264,   265,     0,   260,   269,
+     270,   271,   274,   275,   277,   272,   273,   266,   267,   279,
+     280,   268,   276,   278,   415,   414,   410,   411,   409,     0,
+     406,   408,   412,   413,   444,     0,   447,     0,     0,   443,
+     437,   438,   436,   441,   442,     0,   431,   433,   434,   439,
+     440,   435,   488,   476,   478,   480,   482,   484,   486,   475,
+     472,   473,   474,     0,   462,   463,   467,   468,   465,   469,
+     470,   471,   466,     0,   356,   174,     0,   360,   358,   363,
+       0,   352,   353,     0,   340,   341,   343,   355,   344,   345,
+     346,   362,   347,   348,   349,   350,   351,   390,     0,     0,
+     388,   389,   392,   393,     0,   377,   378,   380,   381,   382,
+     383,   384,   385,   386,   387,   230,   232,   227,     0,   225,
+     228,   229,     0,   581,   583,     0,   586,     0,     0,   590,
+     594,     0,     0,   598,   605,   607,   609,   579,   577,   578,
+       0,   560,   562,   563,   564,   565,   566,   567,   568,   569,
+     570,   571,   572,   573,   574,   575,   576,   633,     0,   630,
+     632,   624,     0,   621,   623,    48,     0,     0,    41,     0,
+       0,     0,     0,     0,     0,    59,     0,    61,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      73,     0,     0,     0,   118,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   259,     0,     0,   405,
+       0,     0,     0,     0,     0,     0,   430,     0,     0,     0,
+       0,     0,     0,     0,   460,     0,   330,     0,     0,     0,
+       0,     0,     0,     0,   338,     0,     0,     0,     0,   375,
+       0,     0,     0,     0,   224,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    73,     0,     0,     0,   118,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   259,
-       0,     0,   405,     0,     0,     0,     0,     0,     0,   430,
-       0,     0,     0,     0,     0,     0,     0,   460,     0,   330,
-       0,     0,     0,     0,     0,     0,     0,   338,     0,     0,
-       0,     0,   375,     0,     0,     0,     0,   224,     0,     0,
+       0,   559,     0,     0,   629,     0,     0,   620,    52,    45,
+       0,     0,     0,     0,     0,     0,    63,     0,     0,     0,
+       0,     0,   108,   109,   110,   111,   112,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   559,     0,     0,   632,     0,     0,
-     622,    52,    45,     0,     0,     0,     0,     0,     0,    63,
-       0,     0,     0,     0,     0,     0,   108,   109,   110,   111,
-     112,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   540,     0,
-       0,     0,    75,     0,   128,   120,     0,     0,     0,     0,
-       0,   298,   299,     0,     0,     0,   261,     0,   407,     0,
-     446,     0,   449,   450,   432,     0,     0,     0,     0,     0,
-       0,     0,   464,     0,     0,   354,     0,     0,     0,   365,
-     342,     0,   394,   395,   379,     0,     0,   226,   580,     0,
-       0,   585,     0,   588,   589,     0,     0,   596,   597,     0,
-       0,     0,     0,   561,     0,   634,     0,   624,     0,     0,
-       0,   612,   614,   616,   618,     0,     0,     0,     0,   135,
-     114,   252,   331,   368,    42,   418,   420,   294,   295,   296,
-     297,   293,   302,     0,    49,     0,     0,     0,   453,   217,
-       0,     0,     0,   555,     0,    53,   127,   398,   423,   283,
-     285,   287,   291,   289,     0,   416,   445,   448,   489,   477,
-     479,   481,   483,   485,   487,   357,   175,   361,   359,   364,
-     391,   231,   233,   582,   584,   587,   592,   593,   591,   595,
-     600,   601,   602,   603,   604,   599,   606,   608,   610,     0,
-     135,    46,     0,     0,     0,     0,   161,   167,   169,   171,
-       0,     0,     0,     0,     0,   184,     0,     0,   187,     0,
-       0,     0,   160,     0,   141,   143,   144,   145,   146,   147,
-     148,   149,   150,   151,   152,   155,   156,   157,   158,   153,
-     154,   159,     0,   139,     0,   136,   137,   256,     0,   253,
-     254,   335,     0,   332,   333,   372,     0,   369,   370,   306,
-       0,   303,   304,   202,   203,     0,   198,   200,   201,     0,
-     211,   212,   208,     0,   206,   209,   210,   194,     0,   191,
-     193,   500,     0,   498,   457,     0,   454,   455,   221,     0,
-     218,   219,     0,     0,     0,     0,     0,     0,     0,   236,
-     238,   239,   240,   241,   242,   243,   530,   536,     0,     0,
-       0,   529,   526,   527,   528,     0,   519,   521,   524,   522,
-     523,   525,   550,   552,   549,   547,   548,     0,   543,   545,
-     546,     0,    55,   402,     0,   399,   400,   427,     0,   424,
-     425,   494,   493,     0,   492,   640,     0,   638,     0,    71,
-     630,   620,   116,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   540,     0,     0,     0,    75,     0,
+     128,   120,     0,     0,     0,     0,     0,   298,   299,     0,
+       0,     0,   261,     0,   407,     0,   446,     0,   449,   450,
+     432,     0,     0,     0,     0,     0,     0,     0,   464,     0,
+       0,   354,     0,     0,     0,   365,   342,     0,   394,   395,
+     379,     0,     0,   226,   580,     0,     0,   585,     0,   588,
+     589,     0,     0,   596,   597,     0,     0,     0,     0,   561,
+       0,   631,     0,   622,     0,     0,     0,   612,   614,   616,
+       0,     0,     0,     0,   135,   114,   252,   331,   368,    42,
+     418,   420,   294,   295,   296,   297,   293,   302,     0,    49,
+       0,     0,     0,   453,   217,     0,     0,     0,   555,     0,
+      53,   127,   398,   423,   283,   285,   287,   291,   289,     0,
+     416,   445,   448,   489,   477,   479,   481,   483,   485,   487,
+     357,   175,   361,   359,   364,   391,   231,   233,   582,   584,
+     587,   592,   593,   591,   595,   600,   601,   602,   603,   604,
+     599,   606,   608,   610,     0,   135,    46,     0,     0,     0,
+       0,   161,   167,   169,   171,     0,     0,     0,     0,     0,
+     184,     0,     0,   187,     0,     0,     0,   160,     0,   141,
+     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
+     155,   156,   157,   158,   153,   154,   159,     0,   139,     0,
+     136,   137,   256,     0,   253,   254,   335,     0,   332,   333,
+     372,     0,   369,   370,   306,     0,   303,   304,   202,   203,
+       0,   198,   200,   201,     0,   211,   212,   208,     0,   206,
+     209,   210,   194,     0,   191,   193,   500,     0,   498,   457,
+       0,   454,   455,   221,     0,   218,   219,     0,     0,     0,
+       0,     0,     0,     0,   236,   238,   239,   240,   241,   242,
+     243,   530,   536,     0,     0,     0,   529,   526,   527,   528,
+       0,   519,   521,   524,   522,   523,   525,   550,   552,   549,
+     547,   548,     0,   543,   545,   546,     0,    55,   402,     0,
+     399,   400,   427,     0,   424,   425,   494,   493,     0,   492,
+     637,     0,   635,     0,    71,   627,   618,   116,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     130,   132,     0,   134,     0,     0,   251,     0,   339,   328,
-       0,   376,   367,     0,     0,   301,     0,     0,   197,   214,
-       0,   205,     0,     0,   190,   502,     0,   497,   461,   452,
-       0,     0,   216,     0,     0,     0,     0,     0,     0,     0,
-       0,   235,     0,     0,     0,     0,     0,     0,   518,     0,
-       0,     0,   542,   557,    57,     0,    56,     0,   397,     0,
-       0,   422,     0,     0,   491,     0,     0,   637,   628,     0,
-       0,     0,     0,   173,   176,   177,   178,   179,     0,   186,
-     180,     0,   181,   182,   183,   142,     0,   138,     0,   255,
-       0,   334,     0,   371,   326,   321,   323,   314,   315,   310,
-     311,   312,   313,   319,   320,   318,   322,     0,   308,   316,
-     324,   325,   317,   305,   199,   207,     0,   192,   514,     0,
-     512,   513,   509,   510,   511,     0,   503,   504,   506,   507,
-     508,   499,     0,   456,     0,   220,   244,   245,   246,   247,
-     248,   249,   237,     0,     0,   535,   538,   539,   520,     0,
-       0,   544,    54,     0,     0,   401,     0,   426,     0,   654,
-       0,   652,   650,   644,   648,   649,     0,   642,   646,   647,
-     645,   639,   163,   164,   165,   166,   162,   168,   170,   172,
-     185,   188,   140,   257,   336,   373,     0,   307,   195,     0,
-       0,   501,     0,   458,   222,   532,   533,   534,   531,   537,
-     551,   553,    58,   403,   428,   495,     0,     0,     0,     0,
-     641,   309,     0,   516,   505,     0,   651,     0,   643,   515,
-       0,   653,   658,     0,   656,     0,     0,   655,   666,     0,
-       0,     0,     0,   660,   662,   663,   664,   665,   657,     0,
-       0,     0,     0,     0,   659,     0,   668,   669,   670,   661,
-     667
+       0,     0,     0,     0,     0,   130,   132,     0,   134,     0,
+       0,   251,     0,   339,   328,     0,   376,   367,     0,     0,
+     301,     0,     0,   197,   214,     0,   205,     0,     0,   190,
+     502,     0,   497,   461,   452,     0,     0,   216,     0,     0,
+       0,     0,     0,     0,     0,     0,   235,     0,     0,     0,
+       0,     0,     0,   518,     0,     0,     0,   542,   557,    57,
+       0,    56,     0,   397,     0,     0,   422,     0,     0,   491,
+       0,     0,   634,   625,     0,     0,     0,     0,   173,   176,
+     177,   178,   179,     0,   186,   180,     0,   181,   182,   183,
+     142,     0,   138,     0,   255,     0,   334,     0,   371,   326,
+     321,   323,   314,   315,   310,   311,   312,   313,   319,   320,
+     318,   322,     0,   308,   316,   324,   325,   317,   305,   199,
+     207,     0,   192,   514,     0,   512,   513,   509,   510,   511,
+       0,   503,   504,   506,   507,   508,   499,     0,   456,     0,
+     220,   244,   245,   246,   247,   248,   249,   237,     0,     0,
+     535,   538,   539,   520,     0,     0,   544,    54,     0,     0,
+     401,     0,   426,     0,   651,     0,   649,   647,   641,   645,
+     646,     0,   639,   643,   644,   642,   636,   163,   164,   165,
+     166,   162,   168,   170,   172,   185,   188,   140,   257,   336,
+     373,     0,   307,   195,     0,     0,   501,     0,   458,   222,
+     532,   533,   534,   531,   537,   551,   553,    58,   403,   428,
+     495,     0,     0,     0,     0,   638,   309,     0,   516,   505,
+       0,   648,     0,   640,   515,     0,   650,   655,     0,   653,
+       0,     0,   652,   663,     0,     0,     0,     0,   657,   659,
+     660,   661,   662,   654,     0,     0,     0,     0,     0,   656,
+       0,   665,   666,   667,   658,   664
   };
 
   const short
   Dhcp6Parser::yypgoto_[] =
   {
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,    43,  -826,  -441,
-    -826,   235,  -826,  -826,  -826,  -826,   192,  -826,  -414,  -826,
-    -826,  -826,   -74,  -826,  -826,  -826,   447,  -826,  -826,  -826,
-    -826,   227,   446,   -62,   -46,   -45,   -43,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,   223,   432,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,   175,  -826,    -4,  -826,  -572,
-     -19,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,   -70,  -826,  -605,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,   -17,
-    -826,  -826,  -826,  -826,  -826,    -8,  -592,  -826,  -826,  -826,
-    -826,   -10,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-     -22,  -826,  -826,  -826,   -18,   399,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,   -28,  -826,  -826,  -826,  -826,  -826,  -826,
-    -825,  -826,  -826,  -826,     9,  -826,  -826,  -826,    13,   441,
-    -826,  -826,  -824,  -826,  -821,  -826,   -36,  -826,   -32,  -826,
-     -42,  -826,  -826,  -826,  -818,  -826,  -826,  -826,  -826,     4,
-    -826,  -826,  -164,   788,  -826,  -826,  -826,  -826,  -826,    16,
-    -826,  -826,  -826,    22,  -826,   427,  -826,   -76,  -826,  -826,
-    -826,  -826,  -826,   -69,  -826,  -826,  -826,  -826,  -826,   -11,
-    -826,  -826,  -826,    18,  -826,  -826,  -826,    21,  -826,   430,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,   -25,  -826,  -826,  -826,   -20,   458,  -826,  -826,   -58,
-    -826,   -24,  -826,  -826,  -826,  -826,  -826,   -15,  -826,  -826,
-    -826,   -16,   452,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-     -60,  -826,  -826,  -826,     8,  -826,  -826,  -826,    14,  -826,
-     453,   251,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -817,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,    24,  -826,  -826,  -826,  -144,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,     5,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,     2,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,   270,
-     433,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,
-    -826,  -826,  -826,  -826,  -826,  -826,  -826,  -826,  -342,   434,
-    -826,  -826,  -826,  -826,  -826,  -826,   311,   435,  -826,  -826,
-    -826,    -9,  -826,  -826,  -154,  -826,  -826,  -826,  -826,  -826,
-    -826,  -170,  -826,  -826,  -185,  -826,  -826,  -826,  -826,  -826
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,     6,  -821,  -453,
+    -821,   265,  -821,  -821,  -821,  -821,   174,  -821,  -408,  -821,
+    -821,  -821,   -74,  -821,  -821,  -821,   443,  -821,  -821,  -821,
+    -821,   211,   411,   -62,   -46,   -45,   -43,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,   220,   420,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,   149,  -821,   -12,  -821,  -565,
+      -3,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,   -70,  -821,  -600,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,   -26,
+    -821,  -821,  -821,  -821,  -821,   -19,  -584,  -821,  -821,  -821,
+    -821,   -20,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+     -28,  -821,  -821,  -821,   -25,   404,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,   -31,  -821,  -821,  -821,  -821,  -821,  -821,
+    -820,  -821,  -821,  -821,     1,  -821,  -821,  -821,     5,   431,
+    -821,  -821,  -819,  -821,  -816,  -821,   -36,  -821,   -32,  -821,
+     -42,  -821,  -821,  -821,  -813,  -821,  -821,  -821,  -821,    -4,
+    -821,  -821,  -173,   769,  -821,  -821,  -821,  -821,  -821,     8,
+    -821,  -821,  -821,    11,  -821,   410,  -821,   -76,  -821,  -821,
+    -821,  -821,  -821,   -69,  -821,  -821,  -821,  -821,  -821,   -11,
+    -821,  -821,  -821,     3,  -821,  -821,  -821,    18,  -821,   415,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,   -33,  -821,  -821,  -821,   -23,   454,  -821,  -821,   -58,
+    -821,   -24,  -821,  -821,  -821,  -821,  -821,   -30,  -821,  -821,
+    -821,   -29,   445,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+     -60,  -821,  -821,  -821,     9,  -821,  -821,  -821,    10,  -821,
+     442,   249,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -812,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,    14,  -821,  -821,  -821,  -148,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,    -2,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,    -1,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,   263,
+     413,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,  -821,
+    -821,  -821,  -821,  -821,  -821,  -821,  -821,   299,   412,  -821,
+    -821,  -821,  -821,  -821,  -821,   300,   414,  -821,  -821,  -821,
+     -10,  -821,  -821,  -154,  -821,  -821,  -821,  -821,  -821,  -821,
+    -169,  -821,  -821,  -185,  -821,  -821,  -821,  -821,  -821
   };
 
   const short
@@ -4305,259 +4285,259 @@ namespace isc { namespace dhcp {
   {
       -1,    16,    17,    18,    19,    20,    21,    22,    23,    24,
       25,    26,    27,    28,    29,    30,    31,    88,    41,    42,
-      73,   605,    92,    93,    43,    72,    89,    90,   626,   802,
-     895,   896,   353,    45,    74,   101,   102,   103,   362,    47,
-      75,   141,   142,   143,   144,   145,   146,   147,   148,   381,
-     149,   372,    49,    76,   177,   178,   179,   404,   180,   150,
-     373,   151,   374,   152,   375,   714,   715,   716,   842,   693,
-     694,   695,   823,  1016,   696,   824,   697,   825,   698,   826,
-     699,   700,   441,   701,   702,   703,   704,   705,   706,   707,
-     708,   709,   832,   710,   711,   835,   153,   392,   748,   749,
-     750,   862,   154,   389,   735,   736,   737,   738,   155,   391,
-     743,   744,   745,   746,   156,   390,   157,   395,   759,   760,
-     761,   871,    65,    84,   309,   310,   311,   454,   312,   455,
-     158,   396,   768,   769,   770,   771,   772,   773,   774,   775,
-     159,   382,   718,   719,   720,   845,    51,    77,   198,   199,
-     200,   410,   201,   411,   202,   412,   203,   416,   204,   415,
-     160,   387,   611,   206,   207,   161,   388,   730,   731,   732,
-     854,   947,   948,   162,   383,    59,    81,   722,   723,   724,
-     848,    61,    82,   274,   275,   276,   277,   278,   279,   280,
-     440,   281,   444,   282,   443,   283,   284,   445,   285,   163,
-     384,   726,   727,   728,   851,    63,    83,   295,   296,   297,
-     298,   299,   449,   300,   301,   302,   303,   209,   408,   804,
-     805,   806,   897,    53,    78,   220,   221,   222,   420,   164,
-     385,   165,   386,   212,   409,   808,   809,   810,   900,    55,
-      79,   236,   237,   238,   423,   239,   240,   425,   241,   242,
-     166,   394,   755,   756,   757,   868,    57,    80,   254,   255,
-     256,   257,   431,   258,   432,   259,   433,   260,   434,   261,
-     435,   262,   436,   263,   430,   214,   417,   813,   814,   903,
-     167,   393,   752,   753,   865,   965,   966,   967,   968,   969,
-    1029,   970,   168,   397,   785,   786,   787,   882,  1038,   788,
-     789,   883,   790,   791,   169,   170,   399,   797,   798,   799,
-     889,   800,   890,   171,   400,   172,   401,    67,    85,   331,
-     332,   333,   334,   459,   335,   460,   336,   337,   462,   338,
-     339,   340,   465,   658,   341,   466,   342,   343,   344,   469,
-     665,   345,   470,   346,   471,   347,   472,   104,   364,   105,
-     365,   106,   366,   173,   370,   371,    71,    87,   354,   355,
-     356,   478,   107,   363,    69,    86,   349,   350,   351,   475,
-     816,   817,   905,  1006,  1007,  1008,  1009,  1048,  1010,  1046,
-    1063,  1064,  1065,  1072,  1073,  1074,  1079,  1075,  1076,  1077
+      73,   600,    92,    93,    43,    72,    89,    90,   621,   797,
+     890,   891,   687,    45,    74,   101,   102,   103,   360,    47,
+      75,   140,   141,   142,   143,   144,   145,   146,   147,   378,
+     148,   369,    49,    76,   176,   177,   178,   401,   179,   149,
+     370,   150,   371,   151,   372,   709,   710,   711,   837,   688,
+     689,   690,   818,  1011,   691,   819,   692,   820,   693,   821,
+     694,   695,   438,   696,   697,   698,   699,   700,   701,   702,
+     703,   704,   827,   705,   706,   830,   152,   389,   743,   744,
+     745,   857,   153,   386,   730,   731,   732,   733,   154,   388,
+     738,   739,   740,   741,   155,   387,   156,   392,   754,   755,
+     756,   866,    65,    84,   308,   309,   310,   451,   311,   452,
+     157,   393,   763,   764,   765,   766,   767,   768,   769,   770,
+     158,   379,   713,   714,   715,   840,    51,    77,   197,   198,
+     199,   407,   200,   408,   201,   409,   202,   413,   203,   412,
+     159,   384,   606,   205,   206,   160,   385,   725,   726,   727,
+     849,   942,   943,   161,   380,    59,    81,   717,   718,   719,
+     843,    61,    82,   273,   274,   275,   276,   277,   278,   279,
+     437,   280,   441,   281,   440,   282,   283,   442,   284,   162,
+     381,   721,   722,   723,   846,    63,    83,   294,   295,   296,
+     297,   298,   446,   299,   300,   301,   302,   208,   405,   799,
+     800,   801,   892,    53,    78,   219,   220,   221,   417,   163,
+     382,   164,   383,   211,   406,   803,   804,   805,   895,    55,
+      79,   235,   236,   237,   420,   238,   239,   422,   240,   241,
+     165,   391,   750,   751,   752,   863,    57,    80,   253,   254,
+     255,   256,   428,   257,   429,   258,   430,   259,   431,   260,
+     432,   261,   433,   262,   427,   213,   414,   808,   809,   898,
+     166,   390,   747,   748,   860,   960,   961,   962,   963,   964,
+    1024,   965,   167,   394,   780,   781,   782,   877,  1033,   783,
+     784,   878,   785,   786,   168,   169,   396,   792,   793,   794,
+     884,   795,   885,   170,   397,   171,   398,    67,    85,   330,
+     331,   332,   333,   456,   334,   457,   335,   336,   459,   337,
+     338,   339,   462,   653,   340,   463,   341,   342,   343,   466,
+     660,   344,   467,   345,   468,   346,   469,   104,   362,   105,
+     363,   106,   364,   172,   368,    71,    87,   352,   353,   354,
+     475,   107,   361,    69,    86,   348,   349,   350,   472,   811,
+     812,   900,  1001,  1002,  1003,  1004,  1043,  1005,  1041,  1058,
+    1059,  1060,  1067,  1068,  1069,  1074,  1070,  1071,  1072
   };
 
   const unsigned short
   Dhcp6Parser::yytable_[] =
   {
-     100,   140,   176,   193,   216,   230,   250,   293,   272,   291,
-     308,   328,   273,   292,   294,   194,   782,   213,   181,   210,
-     223,   234,   252,   742,   286,   304,   712,   329,   490,   940,
-     941,   195,   196,   942,   197,   205,   946,   952,   352,   174,
-     175,   244,   217,   231,    94,    32,   218,   232,   811,   306,
-     307,    44,   182,   211,   224,   235,   253,    46,   287,   305,
-      40,   330,   123,   124,   604,    48,   208,   219,   233,   251,
-      33,   108,    34,   368,    35,   109,   122,   110,   369,   604,
-     111,   112,   113,   122,   733,    50,   857,   215,   402,   858,
-     123,   124,    91,   403,   123,   124,   225,   226,   227,   228,
-     229,   123,   124,   114,   115,   116,   117,   118,   119,   120,
-     121,   122,   406,   190,   792,   793,   191,   407,    52,   632,
-     190,    99,   265,   191,   660,   661,   662,   663,    54,   123,
-     124,   638,   639,   640,  1068,   418,   125,  1069,  1070,  1071,
-     419,   126,   127,   128,   129,   130,   860,   131,    56,   861,
-     421,   266,   132,   267,   268,   422,    58,   269,   270,   271,
-     664,   133,    60,   734,   134,   776,    62,    99,   123,   124,
-      64,   135,    66,   428,   681,   122,   266,    95,   429,   136,
-     137,   656,   657,   138,   139,   456,    96,    97,    98,   357,
-     457,    68,   473,   123,   124,    99,    99,   474,   476,    99,
-      70,   940,   941,   477,    99,   942,    99,   121,   946,   952,
-     676,   123,   124,   958,   959,   677,   678,   679,   680,   681,
-     682,   683,   684,   685,   686,   687,   688,   689,   690,   691,
-     607,   608,   609,   610,    99,    36,    37,    38,    39,   266,
-     479,   733,   740,   122,   741,   480,   266,   288,   267,   268,
-     289,   290,   866,   674,   348,   867,   358,   777,   778,   779,
-     780,   123,   124,   123,   124,   359,   479,   360,   742,   402,
-     926,   594,   361,    99,   819,   114,   115,   116,   117,   243,
-     367,   906,   782,   122,   907,   244,   245,   246,   247,   248,
-     249,   476,   479,   183,   100,   184,   820,   821,    99,   306,
-     307,   123,   124,   185,   186,   187,   188,   189,   125,   406,
-     839,   437,   266,   839,   822,   840,    99,   863,   841,   376,
-     190,   880,   864,   191,   132,   377,   881,   378,   140,   123,
-     124,   192,   176,   762,   763,   764,   765,   766,   767,  1066,
-     887,   891,  1067,   379,   193,   888,   892,   216,   181,   380,
-     473,   438,   839,   448,   230,   893,   194,  1022,   213,   398,
-     210,    99,   418,   223,   250,   405,    99,  1023,    99,   413,
-     234,   414,   195,   196,   272,   197,   205,   293,   273,   291,
-     252,  1026,   182,   292,   294,   217,  1027,   424,   456,   218,
-     286,   426,   231,  1034,   211,   304,   232,   224,   421,   328,
-     428,   481,   482,  1043,   235,  1044,    99,   208,  1049,   999,
-     219,  1000,  1001,  1050,   253,   329,  1083,   233,   427,   439,
-     442,  1084,   483,   446,   287,   447,   453,   251,   450,   305,
-     114,   115,   116,   117,    99,   451,   120,   452,   122,   266,
-     123,   124,  1012,  1013,  1014,  1015,   458,   461,   463,   330,
-    1035,  1036,  1037,   464,   467,   468,   123,   124,   484,   186,
-     187,   485,   189,   125,   486,   487,   488,   491,   492,   493,
-     494,   495,   496,   497,   501,   190,   498,   502,   191,   499,
-     500,   503,   504,   505,   506,   507,   192,   508,   509,   510,
-     511,   512,   513,   514,   515,   516,   313,   314,   315,   316,
-     317,   318,   319,   320,   321,   322,   323,   324,   325,   517,
-     519,   518,   520,   521,   523,   140,   326,   327,   526,   524,
-     527,   528,   176,   692,   692,   529,   530,   531,   533,   591,
-     592,   593,   534,   532,   535,   537,   539,   540,   181,   541,
-     542,   543,   545,   546,   547,    99,   548,   781,   794,   549,
-     328,   550,   551,   553,   554,   555,   556,   557,   558,   559,
-     561,    99,   562,   783,   795,   563,   329,   565,   566,   568,
-     569,   570,   182,     1,     2,     3,     4,     5,     6,     7,
-       8,     9,    10,    11,    12,    13,    14,    15,   572,   575,
-     576,   571,   573,   579,   580,   581,   574,   784,   796,   577,
-     330,   578,   582,   584,   586,   588,   600,   599,   606,   652,
-     589,   590,   595,   596,   597,   598,   601,   602,   603,   747,
-     612,    34,   613,   614,   615,   629,   617,   616,   618,   619,
-     904,   671,   620,   621,   622,   624,   625,   627,   628,   630,
-     669,   631,   633,   634,   635,   636,   637,   659,   670,   713,
-    1060,   717,   641,   721,   725,   729,   751,   754,   758,   803,
-     807,   815,   642,   643,   644,   645,   646,   647,   648,   649,
-     650,   651,   653,   654,   655,   827,   828,   666,   829,   830,
-     831,   833,   667,   668,   834,   836,   837,   838,   844,   894,
-     843,   847,   846,   849,   850,   852,   853,   856,   855,   914,
-     870,   859,   869,   873,   872,   874,   875,   876,   877,   878,
-     879,   884,   885,   886,   899,   913,   898,   902,   901,   908,
-     909,   910,   911,   912,   916,   918,   915,   921,   917,   919,
-     920,   922,   923,   956,   983,   924,   976,   984,   989,   977,
-     978,   979,   980,   981,   985,   986,   987,   990,   992,   993,
-    1017,   998,  1018,  1019,  1030,   623,  1024,  1020,  1021,  1025,
-    1031,  1032,  1028,  1033,  1039,   692,  1040,  1041,   692,  1047,
-    1052,   193,  1055,  1057,   272,   293,  1080,   291,   273,  1042,
-     934,   292,   294,   194,   939,   213,  1045,   210,  1062,  1081,
-     286,   960,   935,   304,   250,   961,   950,   308,  1082,   195,
-     196,  1056,   197,   205,  1059,  1085,   739,   963,   936,   937,
-     252,   938,   945,   781,  1053,   489,   672,   794,   943,   675,
-     925,   211,   944,   216,   287,  1061,   230,   305,  1087,   783,
-     951,  1002,  1086,   795,   208,  1003,  1088,  1090,   525,   223,
-     927,   964,   234,   949,   253,   818,   957,  1004,   522,   954,
-     955,   975,   982,   974,   962,   567,   929,   251,   928,   536,
-     953,   217,  1051,   784,   231,   218,   931,   796,   232,   264,
-     930,   933,   932,   224,   995,   560,   235,   994,   973,   538,
-     544,  1005,   972,   564,   996,   812,   219,   997,  1054,   233,
-     971,   552,   988,   991,   801,  1058,  1078,  1011,  1089,     0,
-       0,   673,     0,     0,     0,     0,   583,     0,     0,     0,
-       0,   585,     0,   587,     0,     0,     0,     0,     0,     0,
+     100,   139,   175,   192,   215,   229,   249,   292,   271,   290,
+     307,   327,   272,   291,   293,   193,   777,   212,   180,   209,
+     222,   233,   251,    40,   285,   303,   737,   328,   707,   935,
+     936,   194,   195,   937,   196,   204,   941,   947,    94,   173,
+     174,   728,   216,   230,   305,   306,   217,   231,   599,   264,
+     243,    91,   181,   210,   223,   234,   252,   806,   286,   304,
+      33,   329,    34,   599,    35,    32,   207,   218,   232,   250,
+     108,   347,   109,    44,   366,   110,   111,   112,   265,   367,
+     266,   267,   399,   403,   268,   269,   270,   400,   404,   415,
+     122,   123,   265,   120,   416,   122,   123,    46,   113,   114,
+     115,   116,   117,   118,   119,   120,   121,   418,   425,   122,
+     123,   121,   419,   426,   453,    48,    99,    50,   771,   454,
+     729,   627,   214,   470,   122,   123,    52,   676,   471,   122,
+     123,   124,    54,   633,   634,   635,   125,   126,   127,   128,
+     129,  1063,   130,    56,  1064,  1065,  1066,   131,   189,   305,
+     306,   190,   655,   656,   657,   658,   132,   473,   476,   133,
+     651,   652,   474,   477,   122,   123,   134,   399,   121,   265,
+     852,    95,   814,   853,   135,   136,    58,   351,   137,   138,
+      96,    97,    98,    60,    62,   473,   122,   123,   659,   994,
+     815,   995,   996,   855,   476,    99,   856,   356,    99,   816,
+      99,   935,   936,   122,   123,   937,   953,   954,   941,   947,
+     772,   773,   774,   775,    99,  1030,  1031,  1032,   265,   287,
+     266,   267,   288,   289,    64,    36,    37,    38,    39,    99,
+     728,   735,   671,   736,    99,   122,   123,   672,   673,   674,
+     675,   676,   677,   678,   679,   680,   681,   682,   683,   684,
+     685,   686,    66,    68,    70,   787,   788,   113,   114,   115,
+     116,   265,   403,   834,   355,   121,   357,   817,   835,    99,
+     359,   737,   921,   834,   858,   182,   875,   183,   836,   859,
+     121,   876,   777,   122,   123,   184,   185,   186,   187,   188,
+     124,    99,   100,   224,   225,   226,   227,   228,   122,   123,
+     861,   358,   189,   862,   882,   190,   131,   886,    99,   883,
+     470,   834,   887,   191,   415,   888,  1017,   189,  1021,  1018,
+     190,   453,   418,  1022,   365,   139,  1029,  1038,   373,   175,
+     757,   758,   759,   760,   761,   762,   901,   425,  1044,   902,
+      99,   192,  1039,  1045,   215,   180,  1061,  1078,   434,  1062,
+     374,   229,  1079,   193,   435,   212,   375,   209,   376,   377,
+     222,   249,   478,   479,   395,   402,   410,   233,   411,   194,
+     195,   271,   196,   204,   292,   272,   290,   251,   436,   181,
+     291,   293,   216,    99,   421,   423,   217,   285,    99,   230,
+     424,   210,   303,   231,   223,   439,   327,   121,   443,   445,
+     444,   234,   447,    99,   207,   448,   450,   218,   449,   455,
+     458,   252,   328,   460,   232,   122,   123,  1007,  1008,  1009,
+    1010,   286,   461,   464,   250,   465,   304,   480,   481,   113,
+     114,   115,   116,   242,   482,   119,   483,   121,   265,   243,
+     244,   245,   246,   247,   248,   484,   329,   602,   603,   604,
+     605,   485,   487,   488,   489,   122,   123,   490,   185,   186,
+     492,   188,   124,   491,   497,   493,   494,   495,   498,   496,
+     499,   500,   501,   502,   189,   503,   504,   190,   505,   506,
+     507,   508,   509,   510,   511,   191,   512,   513,   514,   587,
+     588,   589,     1,     2,     3,     4,     5,     6,     7,     8,
+       9,    10,    11,    12,    13,    14,    15,   515,   516,   517,
+     519,   139,   520,   522,   523,   524,   525,   175,   526,   527,
+      99,   122,   123,   529,   530,   531,   528,   533,   535,   536,
+     537,   541,   542,   180,   538,   543,   539,   544,   545,   546,
+     547,   549,   776,   789,   550,   327,   551,   552,   553,   554,
+     555,   557,   558,   561,   562,   559,   564,   565,   778,   790,
+      99,   328,   566,   568,   567,   571,   569,   181,   647,   572,
+     570,   575,   576,   577,   578,   573,   580,   312,   313,   314,
+     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
+     666,   582,   779,   791,   584,   329,   574,   325,   326,   585,
+     586,   590,   591,   592,   593,   594,   595,   596,   597,   598,
+     601,   607,    34,   608,   609,   610,   624,   612,   611,   613,
+     614,   625,   626,   615,   616,   617,    99,   619,   620,   622,
+     623,   628,   630,   629,   654,   631,   664,   665,   742,   838,
+     632,   708,   712,   636,   716,   720,   724,   746,   749,   753,
+     798,   637,   802,   810,   638,   639,   640,   641,   642,   643,
+     644,   645,   646,   648,   649,   650,   661,   662,   822,   663,
+     823,   824,   825,   826,   828,   829,   831,   832,   833,   839,
+     842,   841,   845,   889,   844,   848,   847,   850,   851,   854,
+     864,   865,   867,   868,  1055,   869,   870,   871,   872,   873,
+     874,   879,   880,   881,   894,   909,   893,   897,   896,   904,
+     908,   899,   903,   905,   906,   907,   913,   910,   916,   951,
+     978,   911,   912,   914,   979,   915,   917,   984,   918,   985,
+     987,   988,  1012,   919,   971,   972,   993,   973,  1019,  1020,
+    1025,  1026,   974,  1027,   975,   976,   980,   981,   982,  1013,
+    1014,  1015,  1016,  1023,  1028,  1034,  1035,  1042,  1036,  1037,
+    1047,  1040,  1050,  1052,  1057,  1075,   192,  1076,  1077,   271,
+     292,  1048,   290,   272,  1080,   929,   291,   293,   193,   934,
+     212,   618,   209,   734,  1051,   285,   955,   930,   303,   249,
+     956,   945,   307,  1082,   194,   195,   667,   196,   204,  1054,
+    1056,  1081,   958,   931,   932,   251,   933,   940,   776,   486,
+     518,   670,   789,   938,   813,  1083,   210,   939,   215,   286,
+    1085,   229,   304,   521,   778,   946,   997,   922,   790,   207,
+     998,   920,   952,   949,   222,   950,   959,   233,   944,   252,
+     970,   969,   999,   924,   977,   923,   532,   948,  1046,   957,
+     263,   928,   250,   926,   925,   556,   216,   563,   779,   230,
+     217,   990,   791,   231,   927,   560,   991,   992,   223,   989,
+     540,   234,   534,   967,   968,   966,  1000,   548,   807,  1049,
+     983,   218,   796,   579,   232,   986,   668,   581,   583,   669,
+    1053,  1006,  1073,  1084,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   934,     0,     0,     0,   939,     0,   960,     0,
-       0,     0,   961,     0,   935,     0,     0,     0,   950,     0,
-       0,     0,     0,     0,   963,  1002,     0,     0,     0,  1003,
-     936,   937,     0,   938,   945,     0,     0,     0,     0,     0,
-     943,  1004,     0,     0,   944,     0,     0,     0,     0,     0,
-       0,     0,   951,     0,     0,     0,     0,     0,   964,     0,
-       0,     0,     0,     0,     0,   949,     0,     0,     0,     0,
-       0,   962,     0,     0,     0,  1005
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   929,     0,     0,
+       0,   934,     0,   955,     0,     0,     0,   956,     0,   930,
+       0,     0,     0,   945,     0,     0,     0,     0,     0,   958,
+     997,     0,     0,     0,   998,   931,   932,     0,   933,   940,
+       0,     0,     0,     0,     0,   938,   999,     0,     0,   939,
+       0,     0,     0,     0,     0,     0,     0,   946,     0,     0,
+       0,     0,     0,   959,     0,     0,     0,     0,     0,     0,
+     944,     0,     0,     0,     0,     0,   957,     0,     0,     0,
+    1000
   };
 
   const short
   Dhcp6Parser::yycheck_[] =
   {
       74,    75,    76,    77,    78,    79,    80,    83,    82,    83,
-      84,    85,    82,    83,    83,    77,   621,    77,    76,    77,
-      78,    79,    80,   615,    82,    83,   598,    85,   370,   854,
-     854,    77,    77,   854,    77,    77,   854,   854,    12,    14,
-      15,    89,    78,    79,    10,     0,    78,    79,    96,    98,
-      99,     7,    76,    77,    78,    79,    80,     7,    82,    83,
-      17,    85,    65,    66,   505,     7,    77,    78,    79,    80,
-       5,     7,     7,     3,     9,    11,    47,    13,     8,   520,
-      16,    17,    18,    47,    91,     7,     3,    58,     3,     6,
-      65,    66,   170,     8,    65,    66,    60,    61,    62,    63,
-      64,    65,    66,    39,    40,    41,    42,    43,    44,    45,
-      46,    47,     3,    84,   117,   118,    87,     8,     7,   533,
-      84,   170,    19,    87,   137,   138,   139,   140,     7,    65,
-      66,   545,   546,   547,   146,     3,    72,   149,   150,   151,
-       8,    77,    78,    79,    80,    81,     3,    83,     7,     6,
-       3,    48,    88,    50,    51,     8,     7,    54,    55,    56,
-     173,    97,     7,   170,   100,    19,     7,   170,    65,    66,
-       7,   107,     7,     3,    28,    47,    48,   143,     8,   115,
-     116,   134,   135,   119,   120,     3,   152,   153,   154,     6,
-       8,     7,     3,    65,    66,   170,   170,     8,     3,   170,
-       7,  1026,  1026,     8,   170,  1026,   170,    46,  1026,  1026,
-      19,    65,    66,    85,    86,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      73,    74,    75,    76,   170,   170,   171,   172,   173,    48,
-       3,    91,    92,    47,    94,     8,    48,    49,    50,    51,
-      52,    53,     3,   595,   144,     6,     3,   111,   112,   113,
-     114,    65,    66,    65,    66,     4,     3,     8,   860,     3,
-     842,     8,     3,   170,     8,    39,    40,    41,    42,    83,
-       4,     3,   887,    47,     6,    89,    90,    91,    92,    93,
-      94,     3,     3,    57,   368,    59,     8,     8,   170,    98,
-      99,    65,    66,    67,    68,    69,    70,    71,    72,     3,
-       3,     8,    48,     3,     8,     8,   170,     3,     8,     4,
-      84,     3,     8,    87,    88,     4,     8,     4,   402,    65,
-      66,    95,   406,   101,   102,   103,   104,   105,   106,     3,
-       3,     3,     6,     4,   418,     8,     8,   421,   406,     4,
-       3,     3,     3,     3,   428,     8,   418,     8,   418,     4,
-     418,   170,     3,   421,   438,     4,   170,     8,   170,     4,
-     428,     4,   418,   418,   448,   418,   418,   453,   448,   453,
-     438,     3,   406,   453,   453,   421,     8,     4,     3,   421,
-     448,     4,   428,     8,   418,   453,   428,   421,     3,   473,
-       3,   358,   359,     8,   428,     8,   170,   418,     3,   145,
-     421,   147,   148,     8,   438,   473,     3,   428,     4,     8,
-       4,     8,   170,     4,   448,     8,     3,   438,     4,   453,
-      39,    40,    41,    42,   170,     4,    45,     8,    47,    48,
-      65,    66,    20,    21,    22,    23,     4,     4,     4,   473,
-     108,   109,   110,     4,     4,     4,    65,    66,     4,    68,
-      69,     4,    71,    72,     4,     4,     4,     4,     4,     4,
-       4,     4,   171,   171,     4,    84,   171,     4,    87,   171,
-     171,     4,     4,     4,     4,     4,    95,     4,     4,     4,
-       4,     4,     4,     4,     4,     4,   121,   122,   123,   124,
-     125,   126,   127,   128,   129,   130,   131,   132,   133,     4,
-       4,   171,     4,     4,     4,   589,   141,   142,     4,   173,
-       4,     4,   596,   597,   598,     4,     4,   171,     4,   486,
-     487,   488,     4,   173,     4,     4,     4,   171,   596,     4,
-     171,   171,     4,     4,     4,   170,     4,   621,   622,     4,
-     624,     4,     4,     4,     4,   171,     4,     4,     4,   173,
-       4,   170,   173,   621,   622,   173,   624,     4,     4,   173,
-       4,     4,   596,   155,   156,   157,   158,   159,   160,   161,
-     162,   163,   164,   165,   166,   167,   168,   169,     4,     4,
-       4,   171,   171,     4,     4,     4,   171,   621,   622,   173,
-     624,   173,     4,     4,     4,     4,   170,     5,   170,   566,
-       7,     7,     7,     7,     7,     7,     5,     5,     5,    82,
-       5,     7,     5,     5,     5,   170,     5,     7,     5,     5,
-       8,   588,     7,     7,     7,     7,     5,     5,     5,   170,
-       5,   170,   170,     7,   170,   170,   170,   136,     5,     7,
-       5,     7,   170,     7,     7,     7,     7,     7,     7,     7,
-       7,     7,   170,   170,   170,   170,   170,   170,   170,   170,
-     170,   170,   170,   170,   170,     4,     4,   170,     4,     4,
-       4,     4,   170,   170,     4,     4,     4,     4,     3,   170,
-       6,     3,     6,     6,     3,     6,     3,     3,     6,   173,
-       3,     6,     6,     3,     6,     4,     4,     4,     4,     4,
-       4,     4,     4,     4,     3,   171,     6,     3,     6,     6,
-       4,     4,     4,     4,   173,     4,   171,     4,   171,   171,
-     171,   171,   171,     4,     4,   173,   171,     4,     4,   171,
-     171,   171,   171,   171,   171,   171,   171,     4,     6,     3,
-     170,     4,   170,   170,     4,   520,     8,   170,   170,     8,
-       8,     3,   170,     8,   170,   839,   170,   170,   842,     4,
-       4,   845,     4,     4,   848,   851,     4,   851,   848,   170,
-     854,   851,   851,   845,   854,   845,   170,   845,     7,     4,
-     848,   865,   854,   851,   868,   865,   854,   871,     4,   845,
-     845,   171,   845,   845,   170,     4,   614,   865,   854,   854,
-     868,   854,   854,   887,   173,   368,   589,   891,   854,   596,
-     839,   845,   854,   897,   848,   170,   900,   851,   171,   887,
-     854,   905,   173,   891,   845,   905,   171,   170,   406,   897,
-     844,   865,   900,   854,   868,   670,   863,   905,   402,   857,
-     860,   873,   880,   871,   865,   456,   847,   868,   845,   418,
-     856,   897,  1026,   887,   900,   897,   850,   891,   900,    81,
-     848,   853,   851,   897,   899,   448,   900,   897,   870,   421,
-     428,   905,   868,   453,   900,   634,   897,   902,  1032,   900,
-     866,   438,   887,   891,   624,  1049,  1066,   906,  1083,    -1,
-      -1,   590,    -1,    -1,    -1,    -1,   473,    -1,    -1,    -1,
-      -1,   476,    -1,   479,    -1,    -1,    -1,    -1,    -1,    -1,
+      84,    85,    82,    83,    83,    77,   616,    77,    76,    77,
+      78,    79,    80,    17,    82,    83,   610,    85,   593,   849,
+     849,    77,    77,   849,    77,    77,   849,   849,    10,    14,
+      15,    91,    78,    79,    98,    99,    78,    79,   501,    19,
+      89,   170,    76,    77,    78,    79,    80,    96,    82,    83,
+       5,    85,     7,   516,     9,     0,    77,    78,    79,    80,
+      11,   144,    13,     7,     3,    16,    17,    18,    48,     8,
+      50,    51,     3,     3,    54,    55,    56,     8,     8,     3,
+      65,    66,    48,    46,     8,    65,    66,     7,    39,    40,
+      41,    42,    43,    44,    45,    46,    47,     3,     3,    65,
+      66,    47,     8,     8,     3,     7,   170,     7,    19,     8,
+     170,   529,    58,     3,    65,    66,     7,    28,     8,    65,
+      66,    72,     7,   541,   542,   543,    77,    78,    79,    80,
+      81,   146,    83,     7,   149,   150,   151,    88,    84,    98,
+      99,    87,   137,   138,   139,   140,    97,     3,     3,   100,
+     134,   135,     8,     8,    65,    66,   107,     3,    47,    48,
+       3,   143,     8,     6,   115,   116,     7,    12,   119,   120,
+     152,   153,   154,     7,     7,     3,    65,    66,   173,   145,
+       8,   147,   148,     3,     3,   170,     6,     3,   170,     8,
+     170,  1021,  1021,    65,    66,  1021,    85,    86,  1021,  1021,
+     111,   112,   113,   114,   170,   108,   109,   110,    48,    49,
+      50,    51,    52,    53,     7,   170,   171,   172,   173,   170,
+      91,    92,    19,    94,   170,    65,    66,    24,    25,    26,
+      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
+      37,    38,     7,     7,     7,   117,   118,    39,    40,    41,
+      42,    48,     3,     3,     6,    47,     4,     8,     8,   170,
+       3,   855,   837,     3,     3,    57,     3,    59,     8,     8,
+      47,     8,   882,    65,    66,    67,    68,    69,    70,    71,
+      72,   170,   366,    60,    61,    62,    63,    64,    65,    66,
+       3,     8,    84,     6,     3,    87,    88,     3,   170,     8,
+       3,     3,     8,    95,     3,     8,     8,    84,     3,     8,
+      87,     3,     3,     8,     4,   399,     8,     8,     4,   403,
+     101,   102,   103,   104,   105,   106,     3,     3,     3,     6,
+     170,   415,     8,     8,   418,   403,     3,     3,     8,     6,
+       4,   425,     8,   415,     3,   415,     4,   415,     4,     4,
+     418,   435,   356,   357,     4,     4,     4,   425,     4,   415,
+     415,   445,   415,   415,   450,   445,   450,   435,     8,   403,
+     450,   450,   418,   170,     4,     4,   418,   445,   170,   425,
+       4,   415,   450,   425,   418,     4,   470,    47,     4,     3,
+       8,   425,     4,   170,   415,     4,     3,   418,     8,     4,
+       4,   435,   470,     4,   425,    65,    66,    20,    21,    22,
+      23,   445,     4,     4,   435,     4,   450,   170,     4,    39,
+      40,    41,    42,    83,     4,    45,     4,    47,    48,    89,
+      90,    91,    92,    93,    94,     4,   470,    73,    74,    75,
+      76,     4,     4,     4,     4,    65,    66,     4,    68,    69,
+     171,    71,    72,     4,     4,   171,   171,   171,     4,   171,
+       4,     4,     4,     4,    84,     4,     4,    87,     4,     4,
+       4,     4,     4,     4,     4,    95,     4,     4,   171,   483,
+     484,   485,   155,   156,   157,   158,   159,   160,   161,   162,
+     163,   164,   165,   166,   167,   168,   169,     4,     4,     4,
+       4,   585,   173,     4,     4,     4,     4,   591,     4,   171,
+     170,    65,    66,     4,     4,     4,   173,     4,     4,   171,
+       4,     4,     4,   591,   171,     4,   171,     4,     4,     4,
+       4,     4,   616,   617,     4,   619,   171,     4,     4,     4,
+     173,     4,   173,     4,     4,   173,   173,     4,   616,   617,
+     170,   619,     4,     4,   171,     4,   171,   591,   562,     4,
+     171,     4,     4,     4,     4,   173,     4,   121,   122,   123,
+     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
+     584,     4,   616,   617,     4,   619,   173,   141,   142,     7,
+       7,     7,     7,     7,     7,     5,   170,     5,     5,     5,
+     170,     5,     7,     5,     5,     5,   170,     5,     7,     5,
+       5,   170,   170,     7,     7,     7,   170,     7,     5,     5,
+       5,   170,   170,     7,   136,   170,     5,     5,    82,     6,
+     170,     7,     7,   170,     7,     7,     7,     7,     7,     7,
+       7,   170,     7,     7,   170,   170,   170,   170,   170,   170,
+     170,   170,   170,   170,   170,   170,   170,   170,     4,   170,
+       4,     4,     4,     4,     4,     4,     4,     4,     4,     3,
+       3,     6,     3,   170,     6,     3,     6,     6,     3,     6,
+       6,     3,     6,     3,     5,     4,     4,     4,     4,     4,
+       4,     4,     4,     4,     3,   173,     6,     3,     6,     4,
+     171,     8,     6,     4,     4,     4,     4,   171,     4,     4,
+       4,   173,   171,   171,     4,   171,   171,     4,   171,     4,
+       6,     3,   170,   173,   171,   171,     4,   171,     8,     8,
+       4,     8,   171,     3,   171,   171,   171,   171,   171,   170,
+     170,   170,   170,   170,     8,   170,   170,     4,   170,   170,
+       4,   170,     4,     4,     7,     4,   840,     4,     4,   843,
+     846,   173,   846,   843,     4,   849,   846,   846,   840,   849,
+     840,   516,   840,   609,   171,   843,   860,   849,   846,   863,
+     860,   849,   866,   171,   840,   840,   585,   840,   840,   170,
+     170,   173,   860,   849,   849,   863,   849,   849,   882,   366,
+     399,   591,   886,   849,   665,   171,   840,   849,   892,   843,
+     170,   895,   846,   403,   882,   849,   900,   839,   886,   840,
+     900,   834,   858,   852,   892,   855,   860,   895,   849,   863,
+     868,   866,   900,   842,   875,   840,   415,   851,  1021,   860,
+      81,   848,   863,   845,   843,   445,   892,   453,   882,   895,
+     892,   894,   886,   895,   846,   450,   895,   897,   892,   892,
+     425,   895,   418,   863,   865,   861,   900,   435,   629,  1027,
+     882,   892,   619,   470,   895,   886,   586,   473,   476,   590,
+    1044,   901,  1061,  1078,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,  1026,    -1,    -1,    -1,  1026,    -1,  1032,    -1,
-      -1,    -1,  1032,    -1,  1026,    -1,    -1,    -1,  1026,    -1,
-      -1,    -1,    -1,    -1,  1032,  1049,    -1,    -1,    -1,  1049,
-    1026,  1026,    -1,  1026,  1026,    -1,    -1,    -1,    -1,    -1,
-    1026,  1049,    -1,    -1,  1026,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,  1026,    -1,    -1,    -1,    -1,    -1,  1032,    -1,
-      -1,    -1,    -1,    -1,    -1,  1026,    -1,    -1,    -1,    -1,
-      -1,  1032,    -1,    -1,    -1,  1049
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1021,    -1,    -1,
+      -1,  1021,    -1,  1027,    -1,    -1,    -1,  1027,    -1,  1021,
+      -1,    -1,    -1,  1021,    -1,    -1,    -1,    -1,    -1,  1027,
+    1044,    -1,    -1,    -1,  1044,  1021,  1021,    -1,  1021,  1021,
+      -1,    -1,    -1,    -1,    -1,  1021,  1044,    -1,    -1,  1021,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1021,    -1,    -1,
+      -1,    -1,    -1,  1027,    -1,    -1,    -1,    -1,    -1,    -1,
+    1021,    -1,    -1,    -1,    -1,    -1,  1027,    -1,    -1,    -1,
+    1044
   };
 
   const unsigned short
@@ -4569,110 +4549,109 @@ namespace isc { namespace dhcp {
      189,   190,     0,     5,     7,     9,   170,   171,   172,   173,
      191,   192,   193,   198,     7,   207,     7,   213,     7,   226,
        7,   320,     7,   397,     7,   413,     7,   430,     7,   349,
-       7,   355,     7,   379,     7,   296,     7,   491,     7,   538,
-       7,   530,   199,   194,   208,   214,   227,   321,   398,   414,
-     431,   350,   356,   380,   297,   492,   539,   531,   191,   200,
+       7,   355,     7,   379,     7,   296,     7,   491,     7,   537,
+       7,   529,   199,   194,   208,   214,   227,   321,   398,   414,
+     431,   350,   356,   380,   297,   492,   538,   530,   191,   200,
      201,   170,   196,   197,    10,   143,   152,   153,   154,   170,
-     206,   209,   210,   211,   521,   523,   525,   536,     7,    11,
-      13,    16,    17,    18,    39,    40,    41,    42,    43,    44,
-      45,    46,    47,    65,    66,    72,    77,    78,    79,    80,
-      81,    83,    88,    97,   100,   107,   115,   116,   119,   120,
-     206,   215,   216,   217,   218,   219,   220,   221,   222,   224,
-     233,   235,   237,   270,   276,   282,   288,   290,   304,   314,
-     334,   339,   347,   373,   403,   405,   424,   454,   466,   478,
-     479,   487,   489,   527,    14,    15,   206,   228,   229,   230,
-     232,   403,   405,    57,    59,    67,    68,    69,    70,    71,
-      84,    87,    95,   206,   217,   218,   219,   220,   322,   323,
-     324,   326,   328,   330,   332,   334,   337,   338,   373,   391,
-     403,   405,   407,   424,   449,    58,   206,   330,   332,   373,
-     399,   400,   401,   403,   405,    60,    61,    62,    63,    64,
-     206,   330,   332,   373,   403,   405,   415,   416,   417,   419,
-     420,   422,   423,    83,    89,    90,    91,    92,    93,    94,
-     206,   373,   403,   405,   432,   433,   434,   435,   437,   439,
-     441,   443,   445,   447,   347,    19,    48,    50,    51,    54,
-      55,    56,   206,   255,   357,   358,   359,   360,   361,   362,
-     363,   365,   367,   369,   370,   372,   403,   405,    49,    52,
-      53,   206,   255,   361,   367,   381,   382,   383,   384,   385,
-     387,   388,   389,   390,   403,   405,    98,    99,   206,   298,
-     299,   300,   302,   121,   122,   123,   124,   125,   126,   127,
-     128,   129,   130,   131,   132,   133,   141,   142,   206,   403,
-     405,   493,   494,   495,   496,   498,   500,   501,   503,   504,
-     505,   508,   510,   511,   512,   515,   517,   519,   144,   540,
-     541,   542,    12,   206,   532,   533,   534,     6,     3,     4,
-       8,     3,   212,   537,   522,   524,   526,     4,     3,     8,
-     528,   529,   225,   234,   236,   238,     4,     4,     4,     4,
-       4,   223,   315,   348,   374,   404,   406,   335,   340,   277,
-     289,   283,   271,   455,   425,   291,   305,   467,     4,   480,
-     488,   490,     3,     8,   231,     4,     3,     8,   392,   408,
-     325,   327,   329,     4,     4,   333,   331,   450,     3,     8,
-     402,     3,     8,   418,     4,   421,     4,     4,     3,     8,
-     448,   436,   438,   440,   442,   444,   446,     8,     3,     8,
-     364,   256,     4,   368,   366,   371,     4,     8,     3,   386,
-       4,     4,     8,     3,   301,   303,     3,     8,     4,   497,
-     499,     4,   502,     4,     4,   506,   509,     4,     4,   513,
-     516,   518,   520,     3,     8,   543,     3,     8,   535,     3,
-       8,   191,   191,   170,     4,     4,     4,     4,     4,   210,
-     532,     4,     4,     4,     4,     4,   171,   171,   171,   171,
-     171,     4,     4,     4,     4,     4,     4,     4,     4,     4,
-       4,     4,     4,     4,     4,     4,     4,     4,   171,     4,
-       4,     4,   216,     4,   173,   229,     4,     4,     4,     4,
-       4,   171,   173,     4,     4,     4,   323,     4,   400,     4,
-     171,     4,   171,   171,   416,     4,     4,     4,     4,     4,
-       4,     4,   434,     4,     4,   171,     4,     4,     4,   173,
-     359,     4,   173,   173,   383,     4,     4,   299,   173,     4,
-       4,   171,     4,   171,   171,     4,     4,   173,   173,     4,
-       4,     4,     4,   494,     4,   541,     4,   533,     4,     7,
-       7,   191,   191,   191,     8,     7,     7,     7,     7,     5,
-     170,     5,     5,     5,   193,   195,   170,    73,    74,    75,
-      76,   336,     5,     5,     5,     5,     7,     5,     5,     5,
-       7,     7,     7,   195,     7,     5,   202,     5,     5,   170,
-     170,   170,   202,   170,     7,   170,   170,   170,   202,   202,
-     202,   170,   170,   170,   170,   170,   170,   170,   170,   170,
-     170,   170,   191,   170,   170,   170,   134,   135,   507,   136,
-     137,   138,   139,   140,   173,   514,   170,   170,   170,     5,
-       5,   191,   215,   540,   532,   228,    19,    24,    25,    26,
-      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
-      37,    38,   206,   243,   244,   245,   248,   250,   252,   254,
-     255,   257,   258,   259,   260,   261,   262,   263,   264,   265,
-     267,   268,   243,     7,   239,   240,   241,     7,   316,   317,
-     318,     7,   351,   352,   353,     7,   375,   376,   377,     7,
-     341,   342,   343,    91,   170,   278,   279,   280,   281,   200,
-      92,    94,   280,   284,   285,   286,   287,    82,   272,   273,
-     274,     7,   456,   457,     7,   426,   427,   428,     7,   292,
-     293,   294,   101,   102,   103,   104,   105,   106,   306,   307,
-     308,   309,   310,   311,   312,   313,    19,   111,   112,   113,
-     114,   206,   257,   403,   405,   468,   469,   470,   473,   474,
-     476,   477,   117,   118,   206,   403,   405,   481,   482,   483,
-     485,   493,   203,     7,   393,   394,   395,     7,   409,   410,
-     411,    96,   435,   451,   452,     7,   544,   545,   239,     8,
-       8,     8,     8,   246,   249,   251,   253,     4,     4,     4,
-       4,     4,   266,     4,     4,   269,     4,     4,     4,     3,
-       8,     8,   242,     6,     3,   319,     6,     3,   354,     6,
-       3,   378,     6,     3,   344,     6,     3,     3,     6,     6,
-       3,     6,   275,     3,     8,   458,     3,     6,   429,     6,
-       3,   295,     6,     3,     4,     4,     4,     4,     4,     4,
-       3,     8,   471,   475,     4,     4,     4,     3,     8,   484,
-     486,     3,     8,     8,   170,   204,   205,   396,     6,     3,
-     412,     6,     3,   453,     8,   546,     3,     6,     6,     4,
-       4,     4,     4,   171,   173,   171,   173,   171,     4,   171,
-     171,     4,   171,   171,   173,   244,   243,   241,   322,   318,
-     357,   353,   381,   377,   206,   217,   218,   219,   220,   255,
-     314,   326,   328,   330,   332,   334,   338,   345,   346,   373,
-     403,   405,   449,   343,   279,   285,     4,   273,    85,    86,
-     206,   255,   373,   403,   405,   459,   460,   461,   462,   463,
-     465,   457,   432,   428,   298,   294,   171,   171,   171,   171,
-     171,   171,   307,     4,     4,   171,   171,   171,   469,     4,
-       4,   482,     6,     3,   399,   395,   415,   411,     4,   145,
-     147,   148,   206,   255,   403,   405,   547,   548,   549,   550,
-     552,   545,    20,    21,    22,    23,   247,   170,   170,   170,
-     170,   170,     8,     8,     8,     8,     3,     8,   170,   464,
-       4,     8,     3,     8,     8,   108,   109,   110,   472,   170,
-     170,   170,   170,     8,     8,   170,   553,     4,   551,     3,
-       8,   346,     4,   173,   461,     4,   171,     4,   548,   170,
-       5,   170,     7,   554,   555,   556,     3,     6,   146,   149,
-     150,   151,   557,   558,   559,   561,   562,   563,   555,   560,
-       4,     4,     4,     3,     8,     4,   173,   171,   171,   558,
-     170
+     206,   209,   210,   211,   521,   523,   525,   535,    11,    13,
+      16,    17,    18,    39,    40,    41,    42,    43,    44,    45,
+      46,    47,    65,    66,    72,    77,    78,    79,    80,    81,
+      83,    88,    97,   100,   107,   115,   116,   119,   120,   206,
+     215,   216,   217,   218,   219,   220,   221,   222,   224,   233,
+     235,   237,   270,   276,   282,   288,   290,   304,   314,   334,
+     339,   347,   373,   403,   405,   424,   454,   466,   478,   479,
+     487,   489,   527,    14,    15,   206,   228,   229,   230,   232,
+     403,   405,    57,    59,    67,    68,    69,    70,    71,    84,
+      87,    95,   206,   217,   218,   219,   220,   322,   323,   324,
+     326,   328,   330,   332,   334,   337,   338,   373,   391,   403,
+     405,   407,   424,   449,    58,   206,   330,   332,   373,   399,
+     400,   401,   403,   405,    60,    61,    62,    63,    64,   206,
+     330,   332,   373,   403,   405,   415,   416,   417,   419,   420,
+     422,   423,    83,    89,    90,    91,    92,    93,    94,   206,
+     373,   403,   405,   432,   433,   434,   435,   437,   439,   441,
+     443,   445,   447,   347,    19,    48,    50,    51,    54,    55,
+      56,   206,   255,   357,   358,   359,   360,   361,   362,   363,
+     365,   367,   369,   370,   372,   403,   405,    49,    52,    53,
+     206,   255,   361,   367,   381,   382,   383,   384,   385,   387,
+     388,   389,   390,   403,   405,    98,    99,   206,   298,   299,
+     300,   302,   121,   122,   123,   124,   125,   126,   127,   128,
+     129,   130,   131,   132,   133,   141,   142,   206,   403,   405,
+     493,   494,   495,   496,   498,   500,   501,   503,   504,   505,
+     508,   510,   511,   512,   515,   517,   519,   144,   539,   540,
+     541,    12,   531,   532,   533,     6,     3,     4,     8,     3,
+     212,   536,   522,   524,   526,     4,     3,     8,   528,   225,
+     234,   236,   238,     4,     4,     4,     4,     4,   223,   315,
+     348,   374,   404,   406,   335,   340,   277,   289,   283,   271,
+     455,   425,   291,   305,   467,     4,   480,   488,   490,     3,
+       8,   231,     4,     3,     8,   392,   408,   325,   327,   329,
+       4,     4,   333,   331,   450,     3,     8,   402,     3,     8,
+     418,     4,   421,     4,     4,     3,     8,   448,   436,   438,
+     440,   442,   444,   446,     8,     3,     8,   364,   256,     4,
+     368,   366,   371,     4,     8,     3,   386,     4,     4,     8,
+       3,   301,   303,     3,     8,     4,   497,   499,     4,   502,
+       4,     4,   506,   509,     4,     4,   513,   516,   518,   520,
+       3,     8,   542,     3,     8,   534,     3,     8,   191,   191,
+     170,     4,     4,     4,     4,     4,   210,     4,     4,     4,
+       4,     4,   171,   171,   171,   171,   171,     4,     4,     4,
+       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
+       4,     4,     4,     4,   171,     4,     4,     4,   216,     4,
+     173,   229,     4,     4,     4,     4,     4,   171,   173,     4,
+       4,     4,   323,     4,   400,     4,   171,     4,   171,   171,
+     416,     4,     4,     4,     4,     4,     4,     4,   434,     4,
+       4,   171,     4,     4,     4,   173,   359,     4,   173,   173,
+     383,     4,     4,   299,   173,     4,     4,   171,     4,   171,
+     171,     4,     4,   173,   173,     4,     4,     4,     4,   494,
+       4,   540,     4,   532,     4,     7,     7,   191,   191,   191,
+       7,     7,     7,     7,     5,   170,     5,     5,     5,   193,
+     195,   170,    73,    74,    75,    76,   336,     5,     5,     5,
+       5,     7,     5,     5,     5,     7,     7,     7,   195,     7,
+       5,   202,     5,     5,   170,   170,   170,   202,   170,     7,
+     170,   170,   170,   202,   202,   202,   170,   170,   170,   170,
+     170,   170,   170,   170,   170,   170,   170,   191,   170,   170,
+     170,   134,   135,   507,   136,   137,   138,   139,   140,   173,
+     514,   170,   170,   170,     5,     5,   191,   215,   539,   531,
+     228,    19,    24,    25,    26,    27,    28,    29,    30,    31,
+      32,    33,    34,    35,    36,    37,    38,   206,   243,   244,
+     245,   248,   250,   252,   254,   255,   257,   258,   259,   260,
+     261,   262,   263,   264,   265,   267,   268,   243,     7,   239,
+     240,   241,     7,   316,   317,   318,     7,   351,   352,   353,
+       7,   375,   376,   377,     7,   341,   342,   343,    91,   170,
+     278,   279,   280,   281,   200,    92,    94,   280,   284,   285,
+     286,   287,    82,   272,   273,   274,     7,   456,   457,     7,
+     426,   427,   428,     7,   292,   293,   294,   101,   102,   103,
+     104,   105,   106,   306,   307,   308,   309,   310,   311,   312,
+     313,    19,   111,   112,   113,   114,   206,   257,   403,   405,
+     468,   469,   470,   473,   474,   476,   477,   117,   118,   206,
+     403,   405,   481,   482,   483,   485,   493,   203,     7,   393,
+     394,   395,     7,   409,   410,   411,    96,   435,   451,   452,
+       7,   543,   544,   239,     8,     8,     8,     8,   246,   249,
+     251,   253,     4,     4,     4,     4,     4,   266,     4,     4,
+     269,     4,     4,     4,     3,     8,     8,   242,     6,     3,
+     319,     6,     3,   354,     6,     3,   378,     6,     3,   344,
+       6,     3,     3,     6,     6,     3,     6,   275,     3,     8,
+     458,     3,     6,   429,     6,     3,   295,     6,     3,     4,
+       4,     4,     4,     4,     4,     3,     8,   471,   475,     4,
+       4,     4,     3,     8,   484,   486,     3,     8,     8,   170,
+     204,   205,   396,     6,     3,   412,     6,     3,   453,     8,
+     545,     3,     6,     6,     4,     4,     4,     4,   171,   173,
+     171,   173,   171,     4,   171,   171,     4,   171,   171,   173,
+     244,   243,   241,   322,   318,   357,   353,   381,   377,   206,
+     217,   218,   219,   220,   255,   314,   326,   328,   330,   332,
+     334,   338,   345,   346,   373,   403,   405,   449,   343,   279,
+     285,     4,   273,    85,    86,   206,   255,   373,   403,   405,
+     459,   460,   461,   462,   463,   465,   457,   432,   428,   298,
+     294,   171,   171,   171,   171,   171,   171,   307,     4,     4,
+     171,   171,   171,   469,     4,     4,   482,     6,     3,   399,
+     395,   415,   411,     4,   145,   147,   148,   206,   255,   403,
+     405,   546,   547,   548,   549,   551,   544,    20,    21,    22,
+      23,   247,   170,   170,   170,   170,   170,     8,     8,     8,
+       8,     3,     8,   170,   464,     4,     8,     3,     8,     8,
+     108,   109,   110,   472,   170,   170,   170,   170,     8,     8,
+     170,   552,     4,   550,     3,     8,   346,     4,   173,   461,
+       4,   171,     4,   547,   170,     5,   170,     7,   553,   554,
+     555,     3,     6,   146,   149,   150,   151,   556,   557,   558,
+     560,   561,   562,   554,   559,     4,     4,     4,     3,     8,
+       4,   173,   171,   171,   557,   170
   };
 
   const unsigned short
@@ -4739,13 +4718,12 @@ namespace isc { namespace dhcp {
      495,   497,   496,   499,   498,   500,   502,   501,   503,   504,
      506,   505,   507,   507,   509,   508,   510,   511,   513,   512,
      514,   514,   514,   514,   514,   516,   515,   518,   517,   520,
-     519,   522,   521,   524,   523,   526,   525,   528,   527,   529,
-     527,   531,   530,   532,   532,   533,   533,   535,   534,   537,
-     536,   539,   538,   540,   540,   541,   543,   542,   544,   544,
-     546,   545,   547,   547,   548,   548,   548,   548,   548,   548,
-     548,   549,   551,   550,   553,   552,   554,   554,   556,   555,
-     557,   557,   558,   558,   558,   558,   560,   559,   561,   562,
-     563
+     519,   522,   521,   524,   523,   526,   525,   528,   527,   530,
+     529,   531,   531,   532,   534,   533,   536,   535,   538,   537,
+     539,   539,   540,   542,   541,   543,   543,   545,   544,   546,
+     546,   547,   547,   547,   547,   547,   547,   547,   548,   550,
+     549,   552,   551,   553,   553,   555,   554,   556,   556,   557,
+     557,   557,   557,   559,   558,   560,   561,   562
   };
 
   const unsigned char
@@ -4812,13 +4790,12 @@ namespace isc { namespace dhcp {
        3,     0,     4,     0,     4,     3,     0,     4,     3,     3,
        0,     4,     1,     1,     0,     4,     3,     3,     0,     4,
        1,     1,     1,     1,     1,     0,     4,     0,     4,     0,
-       4,     0,     4,     0,     4,     0,     4,     0,     4,     0,
-       6,     0,     4,     1,     3,     1,     1,     0,     6,     0,
-       6,     0,     4,     1,     3,     1,     0,     6,     1,     3,
-       0,     4,     1,     3,     1,     1,     1,     1,     1,     1,
-       1,     3,     0,     4,     0,     6,     1,     3,     0,     4,
-       1,     3,     1,     1,     1,     1,     0,     4,     3,     3,
-       3
+       4,     0,     4,     0,     4,     0,     4,     0,     6,     0,
+       4,     1,     3,     1,     0,     6,     0,     6,     0,     4,
+       1,     3,     1,     0,     6,     1,     3,     0,     4,     1,
+       3,     1,     1,     1,     1,     1,     1,     1,     3,     0,
+       4,     0,     6,     1,     3,     0,     4,     1,     3,     1,
+       1,     1,     1,     0,     4,     3,     3,     3
   };
 
 
@@ -4960,15 +4937,15 @@ namespace isc { namespace dhcp {
   "$@111", "replace_client_name_value", "generated_prefix", "$@112",
   "hostname_char_set", "$@113", "hostname_char_replacement", "$@114",
   "dhcp4_json_object", "$@115", "dhcpddns_json_object", "$@116",
-  "control_agent_json_object", "$@117", "config_control", "$@118", "$@119",
-  "sub_config_control", "$@120", "config_control_params",
-  "config_control_param", "config_databases", "$@121", "logging_object",
-  "$@122", "sub_logging", "$@123", "logging_params", "logging_param",
-  "loggers", "$@124", "loggers_entries", "logger_entry", "$@125",
-  "logger_params", "logger_param", "debuglevel", "severity", "$@126",
-  "output_options_list", "$@127", "output_options_list_content",
-  "output_entry", "$@128", "output_params_list", "output_params", "output",
-  "$@129", "flush", "maxsize", "maxver", YY_NULLPTR
+  "control_agent_json_object", "$@117", "config_control", "$@118",
+  "sub_config_control", "$@119", "config_control_params",
+  "config_control_param", "config_databases", "$@120", "logging_object",
+  "$@121", "sub_logging", "$@122", "logging_params", "logging_param",
+  "loggers", "$@123", "loggers_entries", "logger_entry", "$@124",
+  "logger_params", "logger_param", "debuglevel", "severity", "$@125",
+  "output_options_list", "$@126", "output_options_list_content",
+  "output_entry", "$@127", "output_params_list", "output_params", "output",
+  "$@128", "flush", "maxsize", "maxver", YY_NULLPTR
   };
 
 #if PARSER6_DEBUG
@@ -5036,13 +5013,12 @@ namespace isc { namespace dhcp {
     2016,  2021,  2021,  2029,  2029,  2037,  2042,  2042,  2050,  2055,
     2060,  2060,  2068,  2069,  2072,  2072,  2080,  2085,  2090,  2090,
     2098,  2101,  2104,  2107,  2110,  2116,  2116,  2124,  2124,  2132,
-    2132,  2142,  2142,  2149,  2149,  2156,  2156,  2165,  2165,  2174,
-    2174,  2185,  2185,  2195,  2196,  2200,  2201,  2204,  2204,  2219,
-    2219,  2229,  2229,  2240,  2241,  2245,  2249,  2249,  2261,  2262,
-    2266,  2266,  2274,  2275,  2278,  2279,  2280,  2281,  2282,  2283,
-    2284,  2287,  2292,  2292,  2300,  2300,  2310,  2311,  2314,  2314,
-    2322,  2323,  2326,  2327,  2328,  2329,  2332,  2332,  2340,  2345,
-    2350
+    2132,  2142,  2142,  2149,  2149,  2156,  2156,  2165,  2165,  2176,
+    2176,  2186,  2187,  2191,  2194,  2194,  2209,  2209,  2219,  2219,
+    2230,  2231,  2235,  2239,  2239,  2251,  2252,  2256,  2256,  2264,
+    2265,  2268,  2269,  2270,  2271,  2272,  2273,  2274,  2277,  2282,
+    2282,  2290,  2290,  2300,  2301,  2304,  2304,  2312,  2313,  2316,
+    2317,  2318,  2319,  2322,  2322,  2330,  2335,  2340
   };
 
   // Print the state stack on the debug stream.
@@ -5077,8 +5053,8 @@ namespace isc { namespace dhcp {
 
 #line 14 "dhcp6_parser.yy" // lalr1.cc:1218
 } } // isc::dhcp
-#line 5081 "dhcp6_parser.cc" // lalr1.cc:1218
-#line 2355 "dhcp6_parser.yy" // lalr1.cc:1219
+#line 5057 "dhcp6_parser.cc" // lalr1.cc:1218
+#line 2345 "dhcp6_parser.yy" // lalr1.cc:1219
 
 
 void
index c45bf9c8fea4d39290773e64f6c732f4a8526d72..f9052cf4f98b00b5b9ec373e1c35c20f55348443 100644 (file)
@@ -1717,8 +1717,8 @@ namespace isc { namespace dhcp {
     enum
     {
       yyeof_ = 0,
-      yylast_ = 1025,     ///< Last index in yytable_.
-      yynnts_ = 390,  ///< Number of nonterminal symbols.
+      yylast_ = 1020,     ///< Last index in yytable_.
+      yynnts_ = 389,  ///< Number of nonterminal symbols.
       yyfinal_ = 32, ///< Termination state number.
       yyterror_ = 1,
       yyerrcode_ = 256,
index d87a94ca6bf4336f12dfbf69f010e4be7a41729a..d49d7aa81f01feb1cbafa87c5b0606e951e8410a 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201811202258
+// Generated 201811261532
 // A Bison parser, made by GNU Bison 3.2.1.
 
 // Locations for Bison parsers in C++
index a5b8de040e9f6b76e6847b40613ee36ff7a6958e..efed908c0b55319c9ce577ad2ac3a4b73dbdab00 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201811202258
+// Generated 201811261532
 // A Bison parser, made by GNU Bison 3.2.1.
 
 // Starting with Bison 3.2, this file is useless: the structure it
index 4a5cf50be75a0f0eb51997d46ada032c35bd0e23..b507876f446c2a9d33ab766e8847ff35e9baae3a 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201811202258
+// Generated 201811261532
 // A Bison parser, made by GNU Bison 3.2.1.
 
 // Starting with Bison 3.2, this file is useless: the structure it