]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[trac5425a] regen flex/bison
authorFrancis Dupont <fdupont@isc.org>
Thu, 18 Jan 2018 23:15:39 +0000 (23:15 +0000)
committerFrancis Dupont <fdupont@isc.org>
Thu, 18 Jan 2018 23:15:39 +0000 (23:15 +0000)
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 7946f91a86896568b4d91081f3d385b552fbe7af..25f15adda84c1dd14804be9ab1b5ce44eecad0bb 100644 (file)
@@ -1590,16 +1590,16 @@ static const flex_int16_t yy_rule_linenum[159] =
       466,  477,  486,  496,  505,  515,  530,  546,  555,  564,
       573,  582,  602,  622,  631,  641,  650,  659,  668,  678,
       687,  696,  705,  714,  724,  733,  742,  751,  760,  769,
-      778,  787,  796,  805,  814,  824,  835,  845,  854,  864,
-      874,  884,  894,  904,  913,  923,  932,  941,  950,  959,
-      969,  979,  989,  998, 1007, 1016, 1025, 1034, 1043, 1052,
-
-     1061, 1070, 1079, 1088, 1097, 1106, 1115, 1124, 1133, 1142,
-     1151, 1160, 1169, 1178, 1187, 1196, 1205, 1214, 1223, 1232,
-     1241, 1251, 1261, 1271, 1281, 1291, 1301, 1311, 1321, 1331,
-     1340, 1349, 1358, 1367, 1376, 1385, 1394, 1405, 1418, 1431,
-     1446, 1545, 1550, 1555, 1560, 1561, 1562, 1563, 1564, 1565,
-     1567, 1585, 1598, 1603, 1607, 1609, 1611, 1613
+      778,  787,  796,  805,  814,  824,  836,  846,  855,  865,
+      875,  885,  895,  905,  914,  924,  933,  942,  951,  960,
+      970,  980,  990,  999, 1008, 1017, 1026, 1035, 1044, 1053,
+
+     1062, 1071, 1080, 1089, 1098, 1107, 1116, 1125, 1134, 1143,
+     1152, 1161, 1170, 1179, 1188, 1197, 1206, 1215, 1224, 1233,
+     1242, 1252, 1262, 1272, 1282, 1292, 1302, 1312, 1322, 1332,
+     1341, 1350, 1359, 1368, 1377, 1386, 1395, 1406, 1419, 1432,
+     1447, 1546, 1551, 1556, 1561, 1562, 1563, 1564, 1565, 1566,
+     1568, 1586, 1599, 1604, 1608, 1610, 1612, 1614
     } ;
 
 /* The intent behind this definition is that it'll catch
@@ -3004,6 +3004,7 @@ YY_RULE_SETUP
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
+    case isc::dhcp::Parser4Context::POOLS:
     case isc::dhcp::Parser4Context::SHARED_NETWORK:
     case isc::dhcp::Parser4Context::CLIENT_CLASSES:
         return isc::dhcp::Dhcp4Parser::make_CLIENT_CLASS(driver.loc_);
@@ -3014,7 +3015,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 77:
 YY_RULE_SETUP
-#line 835 "dhcp4_lexer.ll"
+#line 836 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CLIENT_CLASSES:
@@ -3027,7 +3028,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 78:
 YY_RULE_SETUP
-#line 845 "dhcp4_lexer.ll"
+#line 846 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3039,7 +3040,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 79:
 YY_RULE_SETUP
-#line 854 "dhcp4_lexer.ll"
+#line 855 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3052,7 +3053,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 864 "dhcp4_lexer.ll"
+#line 865 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3065,7 +3066,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 81:
 YY_RULE_SETUP
-#line 874 "dhcp4_lexer.ll"
+#line 875 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3078,7 +3079,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 82:
 YY_RULE_SETUP
-#line 884 "dhcp4_lexer.ll"
+#line 885 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3091,7 +3092,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 83:
 YY_RULE_SETUP
-#line 894 "dhcp4_lexer.ll"
+#line 895 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3104,7 +3105,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 84:
 YY_RULE_SETUP
-#line 904 "dhcp4_lexer.ll"
+#line 905 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RESERVATIONS:
@@ -3116,7 +3117,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 85:
 YY_RULE_SETUP
-#line 913 "dhcp4_lexer.ll"
+#line 914 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DEF:
@@ -3129,7 +3130,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 86:
 YY_RULE_SETUP
-#line 923 "dhcp4_lexer.ll"
+#line 924 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DATA:
@@ -3141,7 +3142,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 87:
 YY_RULE_SETUP
-#line 932 "dhcp4_lexer.ll"
+#line 933 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DEF:
@@ -3153,7 +3154,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 88:
 YY_RULE_SETUP
-#line 941 "dhcp4_lexer.ll"
+#line 942 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DEF:
@@ -3165,7 +3166,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 950 "dhcp4_lexer.ll"
+#line 951 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DEF:
@@ -3177,7 +3178,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 959 "dhcp4_lexer.ll"
+#line 960 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3190,7 +3191,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 91:
 YY_RULE_SETUP
-#line 969 "dhcp4_lexer.ll"
+#line 970 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RELAY:
@@ -3203,7 +3204,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 979 "dhcp4_lexer.ll"
+#line 980 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3215,7 +3216,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 93:
 YY_RULE_SETUP
-#line 989 "dhcp4_lexer.ll"
+#line 990 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
@@ -3227,7 +3228,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 998 "dhcp4_lexer.ll"
+#line 999 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
@@ -3239,7 +3240,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 1007 "dhcp4_lexer.ll"
+#line 1008 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3251,7 +3252,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 1016 "dhcp4_lexer.ll"
+#line 1017 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3263,7 +3264,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 1025 "dhcp4_lexer.ll"
+#line 1026 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3275,7 +3276,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 1034 "dhcp4_lexer.ll"
+#line 1035 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3287,7 +3288,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 99:
 YY_RULE_SETUP
-#line 1043 "dhcp4_lexer.ll"
+#line 1044 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3299,7 +3300,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 100:
 YY_RULE_SETUP
-#line 1052 "dhcp4_lexer.ll"
+#line 1053 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3311,7 +3312,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 101:
 YY_RULE_SETUP
-#line 1061 "dhcp4_lexer.ll"
+#line 1062 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3323,7 +3324,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 102:
 YY_RULE_SETUP
-#line 1070 "dhcp4_lexer.ll"
+#line 1071 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3335,7 +3336,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 103:
 YY_RULE_SETUP
-#line 1079 "dhcp4_lexer.ll"
+#line 1080 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3347,7 +3348,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 104:
 YY_RULE_SETUP
-#line 1088 "dhcp4_lexer.ll"
+#line 1089 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONTROL_SOCKET:
@@ -3359,7 +3360,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 105:
 YY_RULE_SETUP
-#line 1097 "dhcp4_lexer.ll"
+#line 1098 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONTROL_SOCKET:
@@ -3371,7 +3372,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 106:
 YY_RULE_SETUP
-#line 1106 "dhcp4_lexer.ll"
+#line 1107 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3383,7 +3384,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 107:
 YY_RULE_SETUP
-#line 1115 "dhcp4_lexer.ll"
+#line 1116 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3395,7 +3396,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 108:
 YY_RULE_SETUP
-#line 1124 "dhcp4_lexer.ll"
+#line 1125 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3407,7 +3408,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 109:
 YY_RULE_SETUP
-#line 1133 "dhcp4_lexer.ll"
+#line 1134 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3419,7 +3420,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 110:
 YY_RULE_SETUP
-#line 1142 "dhcp4_lexer.ll"
+#line 1143 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3431,7 +3432,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 1151 "dhcp4_lexer.ll"
+#line 1152 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3443,7 +3444,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 112:
 YY_RULE_SETUP
-#line 1160 "dhcp4_lexer.ll"
+#line 1161 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3455,7 +3456,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 113:
 YY_RULE_SETUP
-#line 1169 "dhcp4_lexer.ll"
+#line 1170 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3467,7 +3468,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 114:
 YY_RULE_SETUP
-#line 1178 "dhcp4_lexer.ll"
+#line 1179 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3479,7 +3480,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 115:
 YY_RULE_SETUP
-#line 1187 "dhcp4_lexer.ll"
+#line 1188 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3491,7 +3492,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 116:
 YY_RULE_SETUP
-#line 1196 "dhcp4_lexer.ll"
+#line 1197 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3503,7 +3504,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 117:
 YY_RULE_SETUP
-#line 1205 "dhcp4_lexer.ll"
+#line 1206 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3515,7 +3516,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 118:
 YY_RULE_SETUP
-#line 1214 "dhcp4_lexer.ll"
+#line 1215 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3527,7 +3528,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 119:
 YY_RULE_SETUP
-#line 1223 "dhcp4_lexer.ll"
+#line 1224 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3539,7 +3540,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 120:
 YY_RULE_SETUP
-#line 1232 "dhcp4_lexer.ll"
+#line 1233 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3551,7 +3552,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 121:
 YY_RULE_SETUP
-#line 1241 "dhcp4_lexer.ll"
+#line 1242 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) {
@@ -3564,7 +3565,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 122:
 YY_RULE_SETUP
-#line 1251 "dhcp4_lexer.ll"
+#line 1252 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) {
@@ -3577,7 +3578,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 123:
 YY_RULE_SETUP
-#line 1261 "dhcp4_lexer.ll"
+#line 1262 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_FORMAT) {
@@ -3590,7 +3591,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 124:
 YY_RULE_SETUP
-#line 1271 "dhcp4_lexer.ll"
+#line 1272 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3603,7 +3604,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 125:
 YY_RULE_SETUP
-#line 1281 "dhcp4_lexer.ll"
+#line 1282 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3616,7 +3617,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 126:
 YY_RULE_SETUP
-#line 1291 "dhcp4_lexer.ll"
+#line 1292 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3629,7 +3630,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 127:
 YY_RULE_SETUP
-#line 1301 "dhcp4_lexer.ll"
+#line 1302 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3642,7 +3643,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 128:
 YY_RULE_SETUP
-#line 1311 "dhcp4_lexer.ll"
+#line 1312 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3655,7 +3656,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 129:
 YY_RULE_SETUP
-#line 1321 "dhcp4_lexer.ll"
+#line 1322 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3668,7 +3669,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 130:
 YY_RULE_SETUP
-#line 1331 "dhcp4_lexer.ll"
+#line 1332 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONFIG:
@@ -3680,7 +3681,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 131:
 YY_RULE_SETUP
-#line 1340 "dhcp4_lexer.ll"
+#line 1341 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONFIG:
@@ -3692,7 +3693,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 132:
 YY_RULE_SETUP
-#line 1349 "dhcp4_lexer.ll"
+#line 1350 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONFIG:
@@ -3704,7 +3705,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 133:
 YY_RULE_SETUP
-#line 1358 "dhcp4_lexer.ll"
+#line 1359 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3716,7 +3717,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 134:
 YY_RULE_SETUP
-#line 1367 "dhcp4_lexer.ll"
+#line 1368 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3728,7 +3729,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 135:
 YY_RULE_SETUP
-#line 1376 "dhcp4_lexer.ll"
+#line 1377 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3740,7 +3741,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 136:
 YY_RULE_SETUP
-#line 1385 "dhcp4_lexer.ll"
+#line 1386 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3752,7 +3753,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 137:
 YY_RULE_SETUP
-#line 1394 "dhcp4_lexer.ll"
+#line 1395 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3766,7 +3767,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 138:
 YY_RULE_SETUP
-#line 1405 "dhcp4_lexer.ll"
+#line 1406 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3782,7 +3783,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 139:
 YY_RULE_SETUP
-#line 1418 "dhcp4_lexer.ll"
+#line 1419 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3798,7 +3799,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 140:
 YY_RULE_SETUP
-#line 1431 "dhcp4_lexer.ll"
+#line 1432 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3814,7 +3815,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 141:
 YY_RULE_SETUP
-#line 1446 "dhcp4_lexer.ll"
+#line 1447 "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.
@@ -3917,7 +3918,7 @@ YY_RULE_SETUP
 case 142:
 /* rule 142 can match eol */
 YY_RULE_SETUP
-#line 1545 "dhcp4_lexer.ll"
+#line 1546 "dhcp4_lexer.ll"
 {
     /* Bad string with a forbidden control character inside */
     driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
@@ -3926,7 +3927,7 @@ YY_RULE_SETUP
 case 143:
 /* rule 143 can match eol */
 YY_RULE_SETUP
-#line 1550 "dhcp4_lexer.ll"
+#line 1551 "dhcp4_lexer.ll"
 {
     /* Bad string with a bad escape inside */
     driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
@@ -3934,7 +3935,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 144:
 YY_RULE_SETUP
-#line 1555 "dhcp4_lexer.ll"
+#line 1556 "dhcp4_lexer.ll"
 {
     /* Bad string with an open escape at the end */
     driver.error(driver.loc_, "Overflow escape in " + std::string(yytext));
@@ -3942,37 +3943,37 @@ YY_RULE_SETUP
        YY_BREAK
 case 145:
 YY_RULE_SETUP
-#line 1560 "dhcp4_lexer.ll"
+#line 1561 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
 case 146:
 YY_RULE_SETUP
-#line 1561 "dhcp4_lexer.ll"
+#line 1562 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
 case 147:
 YY_RULE_SETUP
-#line 1562 "dhcp4_lexer.ll"
+#line 1563 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); }
        YY_BREAK
 case 148:
 YY_RULE_SETUP
-#line 1563 "dhcp4_lexer.ll"
+#line 1564 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); }
        YY_BREAK
 case 149:
 YY_RULE_SETUP
-#line 1564 "dhcp4_lexer.ll"
+#line 1565 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); }
        YY_BREAK
 case 150:
 YY_RULE_SETUP
-#line 1565 "dhcp4_lexer.ll"
+#line 1566 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); }
        YY_BREAK
 case 151:
 YY_RULE_SETUP
-#line 1567 "dhcp4_lexer.ll"
+#line 1568 "dhcp4_lexer.ll"
 {
     /* An integer was found. */
     std::string tmp(yytext);
@@ -3993,7 +3994,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 152:
 YY_RULE_SETUP
-#line 1585 "dhcp4_lexer.ll"
+#line 1586 "dhcp4_lexer.ll"
 {
     /* A floating point was found. */
     std::string tmp(yytext);
@@ -4009,7 +4010,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 153:
 YY_RULE_SETUP
-#line 1598 "dhcp4_lexer.ll"
+#line 1599 "dhcp4_lexer.ll"
 {
     string tmp(yytext);
     return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_);
@@ -4017,33 +4018,33 @@ YY_RULE_SETUP
        YY_BREAK
 case 154:
 YY_RULE_SETUP
-#line 1603 "dhcp4_lexer.ll"
+#line 1604 "dhcp4_lexer.ll"
 {
    return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_);
 }
        YY_BREAK
 case 155:
 YY_RULE_SETUP
-#line 1607 "dhcp4_lexer.ll"
+#line 1608 "dhcp4_lexer.ll"
 driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
        YY_BREAK
 case 156:
 YY_RULE_SETUP
-#line 1609 "dhcp4_lexer.ll"
+#line 1610 "dhcp4_lexer.ll"
 driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
        YY_BREAK
 case 157:
 YY_RULE_SETUP
-#line 1611 "dhcp4_lexer.ll"
+#line 1612 "dhcp4_lexer.ll"
 driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
        YY_BREAK
 case 158:
 YY_RULE_SETUP
-#line 1613 "dhcp4_lexer.ll"
+#line 1614 "dhcp4_lexer.ll"
 driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 1615 "dhcp4_lexer.ll"
+#line 1616 "dhcp4_lexer.ll"
 {
     if (driver.states_.empty()) {
         return isc::dhcp::Dhcp4Parser::make_END(driver.loc_);
@@ -4069,10 +4070,10 @@ case YY_STATE_EOF(INITIAL):
        YY_BREAK
 case 159:
 YY_RULE_SETUP
-#line 1638 "dhcp4_lexer.ll"
+#line 1639 "dhcp4_lexer.ll"
 ECHO;
        YY_BREAK
-#line 4075 "dhcp4_lexer.cc"
+#line 4076 "dhcp4_lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
@@ -5177,7 +5178,7 @@ void yyfree (void * ptr )
 
 /* %ok-for-header */
 
-#line 1638 "dhcp4_lexer.ll"
+#line 1639 "dhcp4_lexer.ll"
 
 
 using namespace isc::dhcp;
index 223aa7b2f2747037a5484586cf02adb267306e81..698791d27c9bd47d5c897f8f0a683482b3e83225 100644 (file)
@@ -259,8 +259,8 @@ namespace isc { namespace dhcp {
       case 212: // outbound_interface_value
       case 222: // db_type
       case 299: // hr_mode
-      case 444: // ncr_protocol_value
-      case 452: // replace_client_name_value
+      case 445: // ncr_protocol_value
+      case 453: // replace_client_name_value
         value.move< ElementPtr > (that.value);
         break;
 
@@ -301,8 +301,8 @@ namespace isc { namespace dhcp {
       case 212: // outbound_interface_value
       case 222: // db_type
       case 299: // hr_mode
-      case 444: // ncr_protocol_value
-      case 452: // replace_client_name_value
+      case 445: // ncr_protocol_value
+      case 453: // replace_client_name_value
         value.copy< ElementPtr > (that.value);
         break;
 
@@ -428,14 +428,14 @@ namespace isc { namespace dhcp {
 #line 429 "dhcp4_parser.cc" // lalr1.cc:636
         break;
 
-      case 444: // ncr_protocol_value
+      case 445: // ncr_protocol_value
 
 #line 226 "dhcp4_parser.yy" // lalr1.cc:636
         { yyoutput << yysym.value.template as< ElementPtr > (); }
 #line 436 "dhcp4_parser.cc" // lalr1.cc:636
         break;
 
-      case 452: // replace_client_name_value
+      case 453: // replace_client_name_value
 
 #line 226 "dhcp4_parser.yy" // lalr1.cc:636
         { yyoutput << yysym.value.template as< ElementPtr > (); }
@@ -645,8 +645,8 @@ namespace isc { namespace dhcp {
       case 212: // outbound_interface_value
       case 222: // db_type
       case 299: // hr_mode
-      case 444: // ncr_protocol_value
-      case 452: // replace_client_name_value
+      case 445: // ncr_protocol_value
+      case 453: // replace_client_name_value
         yylhs.value.build< ElementPtr > ();
         break;
 
@@ -2281,16 +2281,16 @@ namespace isc { namespace dhcp {
 #line 2282 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 389:
-#line 1352 "dhcp4_parser.yy" // lalr1.cc:859
+  case 390:
+#line 1353 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2290 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 390:
-#line 1354 "dhcp4_parser.yy" // lalr1.cc:859
+  case 391:
+#line 1355 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr pool(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pool", pool);
@@ -2299,16 +2299,16 @@ namespace isc { namespace dhcp {
 #line 2300 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 391:
-#line 1360 "dhcp4_parser.yy" // lalr1.cc:859
+  case 392:
+#line 1361 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2308 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 392:
-#line 1362 "dhcp4_parser.yy" // lalr1.cc:859
+  case 393:
+#line 1363 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr parent = ctx.stack_.back();
     ElementPtr user_context = yystack_[0].value.as< ElementPtr > ();
@@ -2334,16 +2334,16 @@ namespace isc { namespace dhcp {
 #line 2335 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 393:
-#line 1385 "dhcp4_parser.yy" // lalr1.cc:859
+  case 394:
+#line 1386 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2343 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 394:
-#line 1387 "dhcp4_parser.yy" // lalr1.cc:859
+  case 395:
+#line 1388 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr parent = ctx.stack_.back();
     ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location)));
@@ -2371,8 +2371,8 @@ namespace isc { namespace dhcp {
 #line 2372 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 395:
-#line 1415 "dhcp4_parser.yy" // lalr1.cc:859
+  case 396:
+#line 1416 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("reservations", l);
@@ -2382,8 +2382,8 @@ namespace isc { namespace dhcp {
 #line 2383 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 396:
-#line 1420 "dhcp4_parser.yy" // lalr1.cc:859
+  case 397:
+#line 1421 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2391,8 +2391,8 @@ namespace isc { namespace dhcp {
 #line 2392 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 401:
-#line 1433 "dhcp4_parser.yy" // lalr1.cc:859
+  case 402:
+#line 1434 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2401,8 +2401,8 @@ namespace isc { namespace dhcp {
 #line 2402 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 402:
-#line 1437 "dhcp4_parser.yy" // lalr1.cc:859
+  case 403:
+#line 1438 "dhcp4_parser.yy" // lalr1.cc:859
     {
     /// @todo: an identifier parameter is required.
     ctx.stack_.pop_back();
@@ -2410,8 +2410,8 @@ namespace isc { namespace dhcp {
 #line 2411 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 403:
-#line 1442 "dhcp4_parser.yy" // lalr1.cc:859
+  case 404:
+#line 1443 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // Parse the reservations list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2420,8 +2420,8 @@ namespace isc { namespace dhcp {
 #line 2421 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 404:
-#line 1446 "dhcp4_parser.yy" // lalr1.cc:859
+  case 405:
+#line 1447 "dhcp4_parser.yy" // lalr1.cc:859
     {
     /// @todo: an identifier parameter is required.
     // parsing completed
@@ -2429,16 +2429,16 @@ namespace isc { namespace dhcp {
 #line 2430 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 424:
-#line 1477 "dhcp4_parser.yy" // lalr1.cc:859
+  case 425:
+#line 1478 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2438 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 425:
-#line 1479 "dhcp4_parser.yy" // lalr1.cc:859
+  case 426:
+#line 1480 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr next_server(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("next-server", next_server);
@@ -2447,16 +2447,16 @@ namespace isc { namespace dhcp {
 #line 2448 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 426:
-#line 1485 "dhcp4_parser.yy" // lalr1.cc:859
+  case 427:
+#line 1486 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2456 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 427:
-#line 1487 "dhcp4_parser.yy" // lalr1.cc:859
+  case 428:
+#line 1488 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr srv(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-hostname", srv);
@@ -2465,16 +2465,16 @@ namespace isc { namespace dhcp {
 #line 2466 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 428:
-#line 1493 "dhcp4_parser.yy" // lalr1.cc:859
+  case 429:
+#line 1494 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2474 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 429:
-#line 1495 "dhcp4_parser.yy" // lalr1.cc:859
+  case 430:
+#line 1496 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr bootfile(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("boot-file-name", bootfile);
@@ -2483,16 +2483,16 @@ namespace isc { namespace dhcp {
 #line 2484 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 430:
-#line 1501 "dhcp4_parser.yy" // lalr1.cc:859
+  case 431:
+#line 1502 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2492 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 431:
-#line 1503 "dhcp4_parser.yy" // lalr1.cc:859
+  case 432:
+#line 1504 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr addr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ip-address", addr);
@@ -2501,16 +2501,16 @@ namespace isc { namespace dhcp {
 #line 2502 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 432:
-#line 1509 "dhcp4_parser.yy" // lalr1.cc:859
+  case 433:
+#line 1510 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2510 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 433:
-#line 1511 "dhcp4_parser.yy" // lalr1.cc:859
+  case 434:
+#line 1512 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr d(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("duid", d);
@@ -2519,16 +2519,16 @@ namespace isc { namespace dhcp {
 #line 2520 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 434:
-#line 1517 "dhcp4_parser.yy" // lalr1.cc:859
+  case 435:
+#line 1518 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2528 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 435:
-#line 1519 "dhcp4_parser.yy" // lalr1.cc:859
+  case 436:
+#line 1520 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hw-address", hw);
@@ -2537,16 +2537,16 @@ namespace isc { namespace dhcp {
 #line 2538 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 436:
-#line 1525 "dhcp4_parser.yy" // lalr1.cc:859
+  case 437:
+#line 1526 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2546 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 437:
-#line 1527 "dhcp4_parser.yy" // lalr1.cc:859
+  case 438:
+#line 1528 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-id", hw);
@@ -2555,16 +2555,16 @@ namespace isc { namespace dhcp {
 #line 2556 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 438:
-#line 1533 "dhcp4_parser.yy" // lalr1.cc:859
+  case 439:
+#line 1534 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2564 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 439:
-#line 1535 "dhcp4_parser.yy" // lalr1.cc:859
+  case 440:
+#line 1536 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("circuit-id", hw);
@@ -2573,16 +2573,16 @@ namespace isc { namespace dhcp {
 #line 2574 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 440:
-#line 1541 "dhcp4_parser.yy" // lalr1.cc:859
+  case 441:
+#line 1542 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2582 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 441:
-#line 1543 "dhcp4_parser.yy" // lalr1.cc:859
+  case 442:
+#line 1544 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("flex-id", hw);
@@ -2591,16 +2591,16 @@ namespace isc { namespace dhcp {
 #line 2592 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 442:
-#line 1549 "dhcp4_parser.yy" // lalr1.cc:859
+  case 443:
+#line 1550 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2600 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 443:
-#line 1551 "dhcp4_parser.yy" // lalr1.cc:859
+  case 444:
+#line 1552 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr host(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hostname", host);
@@ -2609,8 +2609,8 @@ namespace isc { namespace dhcp {
 #line 2610 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 444:
-#line 1557 "dhcp4_parser.yy" // lalr1.cc:859
+  case 445:
+#line 1558 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-classes", c);
@@ -2620,8 +2620,8 @@ namespace isc { namespace dhcp {
 #line 2621 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 445:
-#line 1562 "dhcp4_parser.yy" // lalr1.cc:859
+  case 446:
+#line 1563 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2629,8 +2629,8 @@ namespace isc { namespace dhcp {
 #line 2630 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 446:
-#line 1570 "dhcp4_parser.yy" // lalr1.cc:859
+  case 447:
+#line 1571 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("relay", m);
@@ -2640,8 +2640,8 @@ namespace isc { namespace dhcp {
 #line 2641 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 447:
-#line 1575 "dhcp4_parser.yy" // lalr1.cc:859
+  case 448:
+#line 1576 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2649,16 +2649,16 @@ namespace isc { namespace dhcp {
 #line 2650 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 448:
-#line 1580 "dhcp4_parser.yy" // lalr1.cc:859
+  case 449:
+#line 1581 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2658 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 449:
-#line 1582 "dhcp4_parser.yy" // lalr1.cc:859
+  case 450:
+#line 1583 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr ip(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ip-address", ip);
@@ -2667,8 +2667,8 @@ namespace isc { namespace dhcp {
 #line 2668 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 450:
-#line 1591 "dhcp4_parser.yy" // lalr1.cc:859
+  case 451:
+#line 1592 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-classes", l);
@@ -2678,8 +2678,8 @@ namespace isc { namespace dhcp {
 #line 2679 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 451:
-#line 1596 "dhcp4_parser.yy" // lalr1.cc:859
+  case 452:
+#line 1597 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2687,8 +2687,8 @@ namespace isc { namespace dhcp {
 #line 2688 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 454:
-#line 1605 "dhcp4_parser.yy" // lalr1.cc:859
+  case 455:
+#line 1606 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2697,8 +2697,8 @@ namespace isc { namespace dhcp {
 #line 2698 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 455:
-#line 1609 "dhcp4_parser.yy" // lalr1.cc:859
+  case 456:
+#line 1610 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // The name client class parameter is required.
     ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2707,16 +2707,16 @@ namespace isc { namespace dhcp {
 #line 2708 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 471:
-#line 1637 "dhcp4_parser.yy" // lalr1.cc:859
+  case 472:
+#line 1638 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2716 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 472:
-#line 1639 "dhcp4_parser.yy" // lalr1.cc:859
+  case 473:
+#line 1640 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr test(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("test", test);
@@ -2725,8 +2725,8 @@ namespace isc { namespace dhcp {
 #line 2726 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 473:
-#line 1649 "dhcp4_parser.yy" // lalr1.cc:859
+  case 474:
+#line 1650 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("dhcp4o6-port", time);
@@ -2734,8 +2734,8 @@ namespace isc { namespace dhcp {
 #line 2735 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 474:
-#line 1656 "dhcp4_parser.yy" // lalr1.cc:859
+  case 475:
+#line 1657 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("control-socket", m);
@@ -2745,8 +2745,8 @@ namespace isc { namespace dhcp {
 #line 2746 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 475:
-#line 1661 "dhcp4_parser.yy" // lalr1.cc:859
+  case 476:
+#line 1662 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2754,16 +2754,16 @@ namespace isc { namespace dhcp {
 #line 2755 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 483:
-#line 1677 "dhcp4_parser.yy" // lalr1.cc:859
+  case 484:
+#line 1678 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2763 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 484:
-#line 1679 "dhcp4_parser.yy" // lalr1.cc:859
+  case 485:
+#line 1680 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr stype(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("socket-type", stype);
@@ -2772,16 +2772,16 @@ namespace isc { namespace dhcp {
 #line 2773 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 485:
-#line 1685 "dhcp4_parser.yy" // lalr1.cc:859
+  case 486:
+#line 1686 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2781 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 486:
-#line 1687 "dhcp4_parser.yy" // lalr1.cc:859
+  case 487:
+#line 1688 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("socket-name", name);
@@ -2790,8 +2790,8 @@ namespace isc { namespace dhcp {
 #line 2791 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 487:
-#line 1695 "dhcp4_parser.yy" // lalr1.cc:859
+  case 488:
+#line 1696 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("dhcp-ddns", m);
@@ -2801,8 +2801,8 @@ namespace isc { namespace dhcp {
 #line 2802 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 488:
-#line 1700 "dhcp4_parser.yy" // lalr1.cc:859
+  case 489:
+#line 1701 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // The enable updates DHCP DDNS parameter is required.
     ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
@@ -2812,8 +2812,8 @@ namespace isc { namespace dhcp {
 #line 2813 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 489:
-#line 1707 "dhcp4_parser.yy" // lalr1.cc:859
+  case 490:
+#line 1708 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // Parse the dhcp-ddns map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2822,8 +2822,8 @@ namespace isc { namespace dhcp {
 #line 2823 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 490:
-#line 1711 "dhcp4_parser.yy" // lalr1.cc:859
+  case 491:
+#line 1712 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // The enable updates DHCP DDNS parameter is required.
     ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2832,8 +2832,8 @@ namespace isc { namespace dhcp {
 #line 2833 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 510:
-#line 1740 "dhcp4_parser.yy" // lalr1.cc:859
+  case 511:
+#line 1741 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("enable-updates", b);
@@ -2841,16 +2841,16 @@ namespace isc { namespace dhcp {
 #line 2842 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 511:
-#line 1745 "dhcp4_parser.yy" // lalr1.cc:859
+  case 512:
+#line 1746 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2850 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 512:
-#line 1747 "dhcp4_parser.yy" // lalr1.cc:859
+  case 513:
+#line 1748 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("qualifying-suffix", s);
@@ -2859,16 +2859,16 @@ namespace isc { namespace dhcp {
 #line 2860 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 513:
-#line 1753 "dhcp4_parser.yy" // lalr1.cc:859
+  case 514:
+#line 1754 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2868 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 514:
-#line 1755 "dhcp4_parser.yy" // lalr1.cc:859
+  case 515:
+#line 1756 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-ip", s);
@@ -2877,8 +2877,8 @@ namespace isc { namespace dhcp {
 #line 2878 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 515:
-#line 1761 "dhcp4_parser.yy" // lalr1.cc:859
+  case 516:
+#line 1762 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-port", i);
@@ -2886,16 +2886,16 @@ namespace isc { namespace dhcp {
 #line 2887 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 516:
-#line 1766 "dhcp4_parser.yy" // lalr1.cc:859
+  case 517:
+#line 1767 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2895 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 517:
-#line 1768 "dhcp4_parser.yy" // lalr1.cc:859
+  case 518:
+#line 1769 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("sender-ip", s);
@@ -2904,8 +2904,8 @@ namespace isc { namespace dhcp {
 #line 2905 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 518:
-#line 1774 "dhcp4_parser.yy" // lalr1.cc:859
+  case 519:
+#line 1775 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("sender-port", i);
@@ -2913,8 +2913,8 @@ namespace isc { namespace dhcp {
 #line 2914 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 519:
-#line 1779 "dhcp4_parser.yy" // lalr1.cc:859
+  case 520:
+#line 1780 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("max-queue-size", i);
@@ -2922,16 +2922,16 @@ namespace isc { namespace dhcp {
 #line 2923 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 520:
-#line 1784 "dhcp4_parser.yy" // lalr1.cc:859
+  case 521:
+#line 1785 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NCR_PROTOCOL);
 }
 #line 2931 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 521:
-#line 1786 "dhcp4_parser.yy" // lalr1.cc:859
+  case 522:
+#line 1787 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2939,28 +2939,28 @@ namespace isc { namespace dhcp {
 #line 2940 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 522:
-#line 1792 "dhcp4_parser.yy" // lalr1.cc:859
+  case 523:
+#line 1793 "dhcp4_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
 #line 2946 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 523:
-#line 1793 "dhcp4_parser.yy" // lalr1.cc:859
+  case 524:
+#line 1794 "dhcp4_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
 #line 2952 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 524:
-#line 1796 "dhcp4_parser.yy" // lalr1.cc:859
+  case 525:
+#line 1797 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NCR_FORMAT);
 }
 #line 2960 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 525:
-#line 1798 "dhcp4_parser.yy" // lalr1.cc:859
+  case 526:
+#line 1799 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ncr-format", json);
@@ -2969,8 +2969,8 @@ namespace isc { namespace dhcp {
 #line 2970 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 526:
-#line 1804 "dhcp4_parser.yy" // lalr1.cc:859
+  case 527:
+#line 1805 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("always-include-fqdn", b);
@@ -2978,8 +2978,8 @@ namespace isc { namespace dhcp {
 #line 2979 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 527:
-#line 1809 "dhcp4_parser.yy" // lalr1.cc:859
+  case 528:
+#line 1810 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("override-no-update", b);
@@ -2987,8 +2987,8 @@ namespace isc { namespace dhcp {
 #line 2988 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 528:
-#line 1814 "dhcp4_parser.yy" // lalr1.cc:859
+  case 529:
+#line 1815 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("override-client-update", b);
@@ -2996,16 +2996,16 @@ namespace isc { namespace dhcp {
 #line 2997 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 529:
-#line 1819 "dhcp4_parser.yy" // lalr1.cc:859
+  case 530:
+#line 1820 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.REPLACE_CLIENT_NAME);
 }
 #line 3005 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 530:
-#line 1821 "dhcp4_parser.yy" // lalr1.cc:859
+  case 531:
+#line 1822 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3013,40 +3013,40 @@ namespace isc { namespace dhcp {
 #line 3014 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 531:
-#line 1827 "dhcp4_parser.yy" // lalr1.cc:859
+  case 532:
+#line 1828 "dhcp4_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); 
       }
 #line 3022 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 532:
-#line 1830 "dhcp4_parser.yy" // lalr1.cc:859
+  case 533:
+#line 1831 "dhcp4_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
       }
 #line 3030 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 533:
-#line 1833 "dhcp4_parser.yy" // lalr1.cc:859
+  case 534:
+#line 1834 "dhcp4_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
       }
 #line 3038 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 534:
-#line 1836 "dhcp4_parser.yy" // lalr1.cc:859
+  case 535:
+#line 1837 "dhcp4_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
       }
 #line 3046 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 535:
-#line 1839 "dhcp4_parser.yy" // lalr1.cc:859
+  case 536:
+#line 1840 "dhcp4_parser.yy" // lalr1.cc:859
     {
       error(yystack_[0].location, "boolean values for the replace-client-name are "
                 "no longer supported");
@@ -3054,16 +3054,16 @@ namespace isc { namespace dhcp {
 #line 3055 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 536:
-#line 1845 "dhcp4_parser.yy" // lalr1.cc:859
+  case 537:
+#line 1846 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3063 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 537:
-#line 1847 "dhcp4_parser.yy" // lalr1.cc:859
+  case 538:
+#line 1848 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("generated-prefix", s);
@@ -3072,16 +3072,16 @@ namespace isc { namespace dhcp {
 #line 3073 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 538:
-#line 1855 "dhcp4_parser.yy" // lalr1.cc:859
+  case 539:
+#line 1856 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3081 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 539:
-#line 1857 "dhcp4_parser.yy" // lalr1.cc:859
+  case 540:
+#line 1858 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("Dhcp6", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3089,16 +3089,16 @@ namespace isc { namespace dhcp {
 #line 3090 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 540:
-#line 1862 "dhcp4_parser.yy" // lalr1.cc:859
+  case 541:
+#line 1863 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3098 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 541:
-#line 1864 "dhcp4_parser.yy" // lalr1.cc:859
+  case 542:
+#line 1865 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3106,16 +3106,16 @@ namespace isc { namespace dhcp {
 #line 3107 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 542:
-#line 1869 "dhcp4_parser.yy" // lalr1.cc:859
+  case 543:
+#line 1870 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3115 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 543:
-#line 1871 "dhcp4_parser.yy" // lalr1.cc:859
+  case 544:
+#line 1872 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("Control-agent", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3123,8 +3123,8 @@ namespace isc { namespace dhcp {
 #line 3124 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 544:
-#line 1881 "dhcp4_parser.yy" // lalr1.cc:859
+  case 545:
+#line 1882 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("Logging", m);
@@ -3134,8 +3134,8 @@ namespace isc { namespace dhcp {
 #line 3135 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 545:
-#line 1886 "dhcp4_parser.yy" // lalr1.cc:859
+  case 546:
+#line 1887 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -3143,8 +3143,8 @@ namespace isc { namespace dhcp {
 #line 3144 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 546:
-#line 1891 "dhcp4_parser.yy" // lalr1.cc:859
+  case 547:
+#line 1892 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // Parse the Logging map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -3153,16 +3153,16 @@ namespace isc { namespace dhcp {
 #line 3154 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 547:
-#line 1895 "dhcp4_parser.yy" // lalr1.cc:859
+  case 548:
+#line 1896 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // parsing completed
 }
 #line 3162 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 551:
-#line 1911 "dhcp4_parser.yy" // lalr1.cc:859
+  case 552:
+#line 1912 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("loggers", l);
@@ -3172,8 +3172,8 @@ namespace isc { namespace dhcp {
 #line 3173 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 552:
-#line 1916 "dhcp4_parser.yy" // lalr1.cc:859
+  case 553:
+#line 1917 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -3181,8 +3181,8 @@ namespace isc { namespace dhcp {
 #line 3182 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 555:
-#line 1928 "dhcp4_parser.yy" // lalr1.cc:859
+  case 556:
+#line 1929 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(l);
@@ -3191,16 +3191,16 @@ namespace isc { namespace dhcp {
 #line 3192 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 556:
-#line 1932 "dhcp4_parser.yy" // lalr1.cc:859
+  case 557:
+#line 1933 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 3200 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 566:
-#line 1949 "dhcp4_parser.yy" // lalr1.cc:859
+  case 567:
+#line 1950 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("debuglevel", dl);
@@ -3208,16 +3208,16 @@ namespace isc { namespace dhcp {
 #line 3209 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 567:
-#line 1954 "dhcp4_parser.yy" // lalr1.cc:859
+  case 568:
+#line 1955 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3217 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 568:
-#line 1956 "dhcp4_parser.yy" // lalr1.cc:859
+  case 569:
+#line 1957 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("severity", sev);
@@ -3226,8 +3226,8 @@ namespace isc { namespace dhcp {
 #line 3227 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 569:
-#line 1962 "dhcp4_parser.yy" // lalr1.cc:859
+  case 570:
+#line 1963 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output_options", l);
@@ -3237,8 +3237,8 @@ namespace isc { namespace dhcp {
 #line 3238 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 570:
-#line 1967 "dhcp4_parser.yy" // lalr1.cc:859
+  case 571:
+#line 1968 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -3246,8 +3246,8 @@ namespace isc { namespace dhcp {
 #line 3247 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 573:
-#line 1976 "dhcp4_parser.yy" // lalr1.cc:859
+  case 574:
+#line 1977 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -3256,24 +3256,24 @@ namespace isc { namespace dhcp {
 #line 3257 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 574:
-#line 1980 "dhcp4_parser.yy" // lalr1.cc:859
+  case 575:
+#line 1981 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 3265 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 581:
-#line 1994 "dhcp4_parser.yy" // lalr1.cc:859
+  case 582:
+#line 1995 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3273 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 582:
-#line 1996 "dhcp4_parser.yy" // lalr1.cc:859
+  case 583:
+#line 1997 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output", sev);
@@ -3282,8 +3282,8 @@ namespace isc { namespace dhcp {
 #line 3283 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 583:
-#line 2002 "dhcp4_parser.yy" // lalr1.cc:859
+  case 584:
+#line 2003 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("flush", flush);
@@ -3291,8 +3291,8 @@ namespace isc { namespace dhcp {
 #line 3292 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 584:
-#line 2007 "dhcp4_parser.yy" // lalr1.cc:859
+  case 585:
+#line 2008 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr maxsize(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxsize", maxsize);
@@ -3300,8 +3300,8 @@ namespace isc { namespace dhcp {
 #line 3301 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 585:
-#line 2012 "dhcp4_parser.yy" // lalr1.cc:859
+  case 586:
+#line 2013 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr maxver(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxver", maxver);
@@ -3565,107 +3565,107 @@ namespace isc { namespace dhcp {
   }
 
 
-  const short int Dhcp4Parser::yypact_ninf_ = -747;
+  const short int Dhcp4Parser::yypact_ninf_ = -722;
 
   const signed char Dhcp4Parser::yytable_ninf_ = -1;
 
   const short int
   Dhcp4Parser::yypact_[] =
   {
-     457,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,    12,    29,    30,    68,    72,    79,
-      92,   106,   116,   141,   143,   151,   160,   179,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,    29,  -102,     1,   189,    81,    40,
-      96,   339,    88,   197,   389,   -50,   364,   -21,  -747,   123,
-     198,   188,   195,   204,  -747,  -747,  -747,  -747,  -747,   256,
-    -747,    45,  -747,  -747,  -747,  -747,  -747,  -747,  -747,   272,
-     280,  -747,  -747,  -747,  -747,  -747,   281,   282,   285,   286,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-     290,  -747,  -747,  -747,    62,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,   291,  -747,    66,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,   292,   293,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,    69,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,    82,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,   251,   271,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,   295,  -747,
-    -747,   294,  -747,  -747,  -747,   296,  -747,  -747,   297,   298,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,   302,   303,  -747,  -747,  -747,  -747,   300,
-     307,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,    93,  -747,  -747,  -747,   308,  -747,  -747,
-     310,  -747,   311,   313,  -747,  -747,   315,   316,   319,  -747,
-    -747,  -747,  -747,  -747,   112,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,   113,  -747,  -747,  -747,    29,    29,  -747,   163,   321,
-     323,   324,   325,   326,  -747,     1,  -747,   327,   148,   183,
-     331,   334,   335,   337,   340,   199,   206,   207,   208,   342,
-     356,   366,   367,   370,   371,   372,   374,   376,   378,   243,
-     379,   392,   189,  -747,   395,   397,   402,   242,    81,  -747,
-     131,   403,   404,   408,   410,   412,   413,   414,   253,   276,
-     436,   443,   444,   445,    40,  -747,   447,    96,  -747,   448,
-     451,   452,   453,   455,   458,   459,   460,  -747,   339,  -747,
-     461,   462,   336,   478,   479,   480,   341,  -747,   197,   482,
-     344,   345,  -747,   389,   484,   486,   -67,  -747,   349,   487,
-     497,   353,   499,   355,   359,   501,   505,   362,   363,   368,
-     506,   511,   364,  -747,   513,   -21,  -747,  -747,  -747,   516,
-     514,   515,    29,    29,    29,  -747,   517,  -747,  -747,   377,
-     382,   383,   519,   525,  -747,  -747,  -747,  -747,   528,   529,
-     530,   533,   532,   393,   537,   538,   539,   540,  -747,   541,
-     542,  -747,   545,    28,   205,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,   543,   549,  -747,
-    -747,  -747,   407,   409,   411,   551,   415,   416,   418,  -747,
-    -747,   209,   419,   553,   554,  -747,   420,  -747,   545,   421,
-     422,   423,   424,   426,   427,   428,  -747,   429,   430,  -747,
-     431,   432,   434,  -747,  -747,   435,  -747,  -747,  -747,   437,
-      29,  -747,  -747,   439,   440,  -747,   441,  -747,  -747,     5,
-     442,  -747,  -747,  -747,    54,   463,  -747,   557,  -747,    29,
-     189,   -21,  -747,  -747,  -747,    81,  -747,  -747,  -747,   398,
-     398,   577,   583,   598,   599,  -747,  -747,  -747,   145,    34,
-     600,   124,   -20,   364,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,   604,  -747,   131,  -747,  -747,  -747,   602,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,   603,   526,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-     605,  -747,   122,   128,   129,  -747,  -747,  -747,  -747,   610,
-     611,   612,   613,   614,  -747,  -747,  -747,   149,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,   186,  -747,   615,   616,  -747,  -747,   617,   619,  -747,
-    -747,   618,   622,  -747,  -747,   620,   624,  -747,  -747,  -747,
-    -747,  -747,  -747,    53,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,    89,  -747,   623,   625,  -747,   626,   627,   628,   629,
-     630,   631,   194,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,   233,  -747,  -747,  -747,   234,
-     472,   488,  -747,  -747,   632,   634,  -747,  -747,   633,   637,
-    -747,  -747,   635,  -747,   111,  -747,  -747,  -747,  -747,   638,
-     640,   641,   642,   396,   490,   498,   500,   503,   644,   645,
-     398,  -747,  -747,    40,  -747,   577,   197,  -747,   583,   389,
-    -747,   598,   120,  -747,   599,   145,  -747,    34,  -747,   -50,
-    -747,   600,   504,   507,   508,   509,   510,   512,   124,  -747,
-     646,   650,   -20,  -747,  -747,  -747,   649,   657,  -747,    96,
-    -747,   602,   339,  -747,   603,   658,  -747,   333,   605,  -747,
-     217,   518,   520,   521,  -747,  -747,  -747,  -747,  -747,   522,
-     523,  -747,   235,  -747,   655,  -747,   656,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,   255,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-     263,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,   524,
-     527,  -747,  -747,   531,   264,  -747,   659,  -747,   534,  -747,
-     661,  -747,  -747,  -747,  -747,  -747,   267,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,   120,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,   669,   546,   670,   333,  -747,  -747,
-     671,  -747,   535,  -747,   673,  -747,  -747,   187,  -747,    39,
-     673,  -747,  -747,   674,   677,   682,   270,  -747,  -747,  -747,
-    -747,  -747,  -747,   684,   555,   548,   558,    39,  -747,   544,
-    -747,  -747,  -747,  -747,  -747
+     284,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,    41,    19,    24,    50,    60,    92,
+     102,   118,   129,   138,   148,   150,   159,   171,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,    19,   -93,     8,    62,    31,   151,
+      -2,   228,   147,   236,    37,   -24,   344,    27,  -722,   184,
+     204,   207,   200,   235,  -722,  -722,  -722,  -722,  -722,   219,
+    -722,    48,  -722,  -722,  -722,  -722,  -722,  -722,  -722,   227,
+     241,  -722,  -722,  -722,  -722,  -722,   244,   261,   276,   279,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+     283,  -722,  -722,  -722,    56,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,   285,  -722,    69,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,   301,   302,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,    95,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,   136,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,   231,   255,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,   299,  -722,
+    -722,   314,  -722,  -722,  -722,   315,  -722,  -722,   325,   332,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,   334,   336,  -722,  -722,  -722,  -722,   328,
+     339,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,   140,  -722,  -722,  -722,   341,  -722,  -722,
+     343,  -722,   350,   351,  -722,  -722,   352,   353,   355,  -722,
+    -722,  -722,  -722,  -722,   144,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,   146,  -722,  -722,  -722,    19,    19,  -722,   216,   363,
+     367,   370,   371,   375,  -722,     8,  -722,   377,   197,   234,
+     383,   384,   390,   391,   406,   221,   262,   263,   264,   410,
+     411,   412,   413,   428,   429,   430,   431,   432,   433,   289,
+     435,   436,    62,  -722,   437,   438,   439,   293,    31,  -722,
+     441,   442,   457,   458,   460,   461,   462,   318,   317,   465,
+     468,   470,   471,   151,  -722,   472,    -2,  -722,   475,   476,
+     477,   479,   480,   482,   483,   484,  -722,   228,  -722,   485,
+     489,   345,   491,   492,   493,   347,  -722,   236,   495,   349,
+     356,  -722,    37,   497,   500,    -9,  -722,   357,   502,   505,
+     361,   507,   364,   368,   508,   511,   365,   369,   373,   514,
+     515,   344,  -722,   517,    27,  -722,  -722,  -722,   521,   519,
+     520,    19,    19,    19,  -722,   522,  -722,  -722,   380,   382,
+     385,   524,   525,  -722,  -722,  -722,  -722,   529,   530,   531,
+     532,   533,   393,   534,   537,   538,   539,  -722,   540,   541,
+    -722,   544,    96,   170,  -722,  -722,   396,   397,   402,   546,
+     404,   405,   407,  -722,  -722,   254,   408,   549,   550,  -722,
+     414,  -722,   544,   415,   416,   417,   418,   419,   420,   421,
+    -722,   422,   423,  -722,   424,   425,   426,  -722,  -722,   427,
+    -722,  -722,  -722,   434,    19,  -722,  -722,   440,   443,  -722,
+     444,  -722,  -722,    15,   459,  -722,  -722,  -722,   135,   445,
+    -722,   553,  -722,    19,    62,    27,  -722,  -722,  -722,    31,
+    -722,  -722,  -722,   366,   366,   552,   554,   569,   571,  -722,
+    -722,  -722,   101,   572,   573,    25,    14,   344,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,   574,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,   576,   451,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,   577,  -722,   155,   193,   206,  -722,  -722,  -722,  -722,
+     556,   581,   582,   583,   585,  -722,  -722,  -722,   224,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,   232,  -722,   584,   591,  -722,  -722,   589,   593,
+    -722,  -722,   592,   594,  -722,  -722,   595,   596,  -722,  -722,
+    -722,  -722,  -722,  -722,    26,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,    68,  -722,  -722,   597,   599,  -722,   600,   601,
+     602,   603,   604,   605,   233,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,   256,  -722,  -722,
+    -722,   258,   452,  -722,   606,   607,  -722,  -722,   608,   610,
+    -722,  -722,   609,  -722,    94,  -722,  -722,  -722,  -722,   611,
+     612,   614,   615,   473,   469,   474,   478,   481,   617,   620,
+     366,  -722,  -722,   151,  -722,   552,   236,  -722,   554,    37,
+    -722,   569,   182,  -722,   571,   101,  -722,   220,   572,  -722,
+     -24,  -722,   573,   486,   487,   488,   490,   494,   496,    25,
+    -722,   621,   622,    14,  -722,  -722,  -722,   625,   624,    -2,
+    -722,   574,   228,  -722,   576,   628,  -722,    64,   577,  -722,
+     294,   463,   498,   499,  -722,  -722,  -722,  -722,  -722,   501,
+     503,  -722,   259,  -722,   626,  -722,   630,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,   270,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,   632,
+     638,  -722,  -722,  -722,  -722,   273,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,   504,   506,  -722,  -722,   510,   274,
+    -722,   634,  -722,   512,  -722,   629,  -722,  -722,  -722,  -722,
+    -722,   295,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+     182,  -722,   640,  -722,   220,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,   644,   513,   646,    64,  -722,  -722,   527,  -722,
+     623,  -722,   535,  -722,  -722,   648,  -722,  -722,   174,  -722,
+       4,   648,  -722,  -722,   649,   652,   655,   313,  -722,  -722,
+    -722,  -722,  -722,  -722,   657,   543,   516,   523,     4,  -722,
+     542,  -722,  -722,  -722,  -722,  -722
   };
 
   const unsigned short int
@@ -3676,363 +3676,361 @@ namespace isc { namespace dhcp {
        0,     0,     0,     0,     0,     0,     0,     0,     1,    43,
       36,    32,    31,    28,    29,    30,    35,     3,    33,    34,
       56,     5,    68,     7,   115,     9,   227,    11,   380,    13,
-     403,    15,   305,    17,   313,    19,   350,    21,   192,    23,
-     489,    25,   546,    27,    45,    39,     0,     0,     0,     0,
-       0,   405,     0,   315,   352,     0,     0,     0,    47,     0,
-      46,     0,     0,    40,    66,   544,   538,   540,   542,     0,
+     404,    15,   305,    17,   313,    19,   350,    21,   192,    23,
+     490,    25,   547,    27,    45,    39,     0,     0,     0,     0,
+       0,   406,     0,   315,   352,     0,     0,     0,    47,     0,
+      46,     0,     0,    40,    66,   545,   539,   541,   543,     0,
       65,     0,    58,    60,    62,    63,    64,    61,   104,     0,
-       0,   424,   426,   428,   128,   130,     0,     0,     0,     0,
-     219,   303,   342,   276,   391,   393,   170,   450,   184,   203,
-       0,   474,   487,    97,     0,    70,    72,    73,    74,    75,
+       0,   425,   427,   429,   128,   130,     0,     0,     0,     0,
+     219,   303,   342,   276,   392,   394,   170,   451,   184,   203,
+       0,   475,   488,    97,     0,    70,    72,    73,    74,    75,
       90,    91,    78,    79,    80,    81,    85,    86,    76,    77,
       83,    84,    95,    96,    92,    93,    94,    82,    87,    88,
       89,   117,   119,   123,     0,   114,     0,   106,   108,   109,
-     110,   111,   112,   113,   454,   257,   259,   261,   372,   255,
-     263,   265,     0,     0,   269,   267,   395,   446,   254,   231,
-     232,   233,   245,     0,   229,   236,   249,   250,   251,   237,
-     238,   241,   243,   239,   240,   234,   235,   252,   253,   242,
-     246,   247,   248,   244,   389,   388,   385,     0,   382,   384,
-     386,   387,   444,   432,   434,   438,   436,   442,   440,   430,
-     423,   417,   421,   422,     0,   406,   407,   418,   419,   420,
-     414,   409,   415,   411,   412,   413,   416,   410,     0,   332,
+     110,   111,   112,   113,   257,   259,   261,   372,   255,   263,
+     265,     0,     0,   269,   267,   396,   447,   254,   231,   232,
+     233,   245,     0,   229,   236,   249,   250,   251,   237,   238,
+     241,   243,   239,   240,   234,   235,   252,   253,   242,   246,
+     247,   248,   244,   390,   389,   386,   385,     0,   382,   384,
+     387,   388,   445,   433,   435,   439,   437,   443,   441,   431,
+     424,   418,   422,   423,     0,   407,   408,   419,   420,   421,
+     415,   410,   416,   412,   413,   414,   417,   411,     0,   332,
      160,     0,   336,   334,   339,     0,   328,   329,     0,   316,
      317,   319,   331,   320,   321,   322,   338,   323,   324,   325,
      326,   327,   366,     0,     0,   364,   365,   368,   369,     0,
      353,   354,   356,   357,   358,   359,   360,   361,   362,   363,
-     199,   201,   196,     0,   194,   197,   198,     0,   511,   513,
-       0,   516,     0,     0,   520,   524,     0,     0,     0,   529,
-     536,   509,   507,   508,     0,   491,   493,   494,   495,   496,
-     497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
-     551,     0,   548,   550,    44,     0,     0,    37,     0,     0,
+     199,   201,   196,     0,   194,   197,   198,     0,   512,   514,
+       0,   517,     0,     0,   521,   525,     0,     0,     0,   530,
+     537,   510,   508,   509,     0,   492,   494,   495,   496,   497,
+     498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
+     552,     0,   549,   551,    44,     0,     0,    37,     0,     0,
        0,     0,     0,     0,    55,     0,    57,     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,    69,     0,     0,     0,     0,     0,   116,
-     456,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   228,     0,     0,   381,     0,
-       0,     0,     0,     0,     0,     0,     0,   404,     0,   306,
-       0,     0,     0,     0,     0,     0,     0,   314,     0,     0,
-       0,     0,   351,     0,     0,     0,     0,   193,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   490,     0,     0,   547,    48,    41,     0,
-       0,     0,     0,     0,     0,    59,     0,   102,   103,     0,
-       0,     0,     0,     0,    98,    99,   100,   101,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   473,     0,
-       0,    71,     0,     0,     0,   127,   107,   471,   469,   470,
-     462,   463,   467,   468,   464,   465,   466,     0,   457,   458,
-     460,   461,     0,     0,     0,     0,     0,     0,     0,   274,
-     275,     0,     0,     0,     0,   230,     0,   383,     0,     0,
-       0,     0,     0,     0,     0,     0,   408,     0,     0,   330,
-       0,     0,     0,   341,   318,     0,   370,   371,   355,     0,
-       0,   195,   510,     0,     0,   515,     0,   518,   519,     0,
-       0,   526,   527,   528,     0,     0,   492,     0,   549,     0,
-       0,     0,   539,   541,   543,     0,   425,   427,   429,     0,
-       0,   221,   307,   344,   278,    38,   392,   394,     0,     0,
-     186,     0,     0,     0,    49,   118,   121,   122,   120,   125,
-     126,   124,     0,   455,     0,   258,   260,   262,   374,   256,
-     264,   266,   271,   272,   273,   270,   268,   397,     0,   390,
-     445,   433,   435,   439,   437,   443,   441,   431,   333,   161,
-     337,   335,   340,   367,   200,   202,   512,   514,   517,   522,
-     523,   521,   525,   531,   532,   533,   534,   535,   530,   537,
-       0,    42,     0,     0,     0,   147,   153,   155,   157,     0,
-       0,     0,     0,     0,   166,   168,   146,     0,   132,   134,
-     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
-     145,     0,   225,     0,   222,   223,   311,     0,   308,   309,
-     348,     0,   345,   346,   282,     0,   279,   280,   179,   180,
-     181,   182,   183,     0,   172,   174,   175,   176,   177,   178,
-     452,     0,   190,     0,   187,   188,     0,     0,     0,     0,
-       0,     0,     0,   205,   207,   208,   209,   210,   211,   212,
-     483,   485,   482,   480,   481,     0,   476,   478,   479,     0,
-      51,     0,   459,   378,     0,   375,   376,   401,     0,   398,
-     399,   448,     0,   555,     0,   553,    67,   545,   105,     0,
+       0,     0,     0,     0,   228,     0,     0,   381,     0,     0,
+       0,     0,     0,     0,     0,     0,   405,     0,   306,     0,
+       0,     0,     0,     0,     0,     0,   314,     0,     0,     0,
+       0,   351,     0,     0,     0,     0,   193,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   491,     0,     0,   548,    48,    41,     0,     0,
+       0,     0,     0,     0,    59,     0,   102,   103,     0,     0,
+       0,     0,     0,    98,    99,   100,   101,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   474,     0,     0,
+      71,     0,     0,     0,   127,   107,     0,     0,     0,     0,
+       0,     0,     0,   274,   275,     0,     0,     0,     0,   230,
+       0,   383,     0,     0,     0,     0,     0,     0,     0,     0,
+     409,     0,     0,   330,     0,     0,     0,   341,   318,     0,
+     370,   371,   355,     0,     0,   195,   511,     0,     0,   516,
+       0,   519,   520,     0,     0,   527,   528,   529,     0,     0,
+     493,     0,   550,     0,     0,     0,   540,   542,   544,     0,
+     426,   428,   430,     0,     0,   221,   307,   344,   278,    38,
+     393,   395,     0,     0,   186,     0,     0,     0,    49,   118,
+     121,   122,   120,   125,   126,   124,   258,   260,   262,   374,
+     256,   264,   266,   271,   272,   273,   270,   268,   398,     0,
+     391,   446,   434,   436,   440,   438,   444,   442,   432,   333,
+     161,   337,   335,   340,   367,   200,   202,   513,   515,   518,
+     523,   524,   522,   526,   532,   533,   534,   535,   536,   531,
+     538,     0,    42,     0,     0,     0,   147,   153,   155,   157,
+       0,     0,     0,     0,     0,   166,   168,   146,     0,   132,
+     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
+     144,   145,     0,   225,     0,   222,   223,   311,     0,   308,
+     309,   348,     0,   345,   346,   282,     0,   279,   280,   179,
+     180,   181,   182,   183,     0,   172,   174,   175,   176,   177,
+     178,   455,     0,   453,   190,     0,   187,   188,     0,     0,
+       0,     0,     0,     0,     0,   205,   207,   208,   209,   210,
+     211,   212,   484,   486,   483,   481,   482,     0,   477,   479,
+     480,     0,    51,   378,     0,   375,   376,   402,     0,   399,
+     400,   449,     0,   556,     0,   554,    67,   546,   105,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,   129,   131,     0,   220,     0,   315,   304,     0,   352,
-     343,     0,     0,   277,     0,     0,   171,     0,   451,     0,
-     185,     0,     0,     0,     0,     0,     0,     0,     0,   204,
-       0,     0,     0,   475,   488,    53,     0,    52,   472,     0,
-     373,     0,   405,   396,     0,     0,   447,     0,     0,   552,
+     343,     0,     0,   277,     0,     0,   171,   457,     0,   452,
+       0,   185,     0,     0,     0,     0,     0,     0,     0,     0,
+     204,     0,     0,     0,   476,   489,    53,     0,    52,     0,
+     373,     0,   406,   397,     0,     0,   448,     0,     0,   553,
        0,     0,     0,     0,   159,   162,   163,   164,   165,     0,
        0,   133,     0,   224,     0,   310,     0,   347,   302,   299,
      289,   290,   292,   286,   287,   288,   298,   297,     0,   284,
-     291,   300,   301,   293,   294,   295,   296,   281,   173,   453,
-       0,   189,   213,   214,   215,   216,   217,   218,   206,     0,
-       0,   477,    50,     0,     0,   377,     0,   400,     0,   569,
-       0,   567,   565,   559,   563,   564,     0,   557,   561,   562,
-     560,   554,   149,   150,   151,   152,   148,   154,   156,   158,
-     167,   169,   226,   312,   349,     0,   283,   191,   484,   486,
-      54,   379,   402,   449,     0,     0,     0,     0,   556,   285,
-       0,   566,     0,   558,     0,   568,   573,     0,   571,     0,
-       0,   570,   581,     0,     0,     0,     0,   575,   577,   578,
-     579,   580,   572,     0,     0,     0,     0,     0,   574,     0,
-     583,   584,   585,   576,   582
+     291,   300,   301,   293,   294,   295,   296,   281,   173,   472,
+     470,   471,   463,   464,   468,   469,   465,   466,   467,     0,
+     458,   459,   461,   462,   454,     0,   189,   213,   214,   215,
+     216,   217,   218,   206,     0,     0,   478,    50,     0,     0,
+     377,     0,   401,     0,   570,     0,   568,   566,   560,   564,
+     565,     0,   558,   562,   563,   561,   555,   149,   150,   151,
+     152,   148,   154,   156,   158,   167,   169,   226,   312,   349,
+       0,   283,     0,   456,     0,   191,   485,   487,    54,   379,
+     403,   450,     0,     0,     0,     0,   557,   285,     0,   460,
+       0,   567,     0,   559,   473,     0,   569,   574,     0,   572,
+       0,     0,   571,   582,     0,     0,     0,     0,   576,   578,
+     579,   580,   581,   573,     0,     0,     0,     0,     0,   575,
+       0,   584,   585,   586,   577,   583
   };
 
   const short int
   Dhcp4Parser::yypgoto_[] =
   {
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,   -33,  -747,   215,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,   192,  -747,  -747,  -747,
-     -66,  -747,  -747,  -747,   373,  -747,  -747,  -747,  -747,   167,
-     329,   -68,   -51,   -48,  -747,  -747,   -34,  -747,  -747,   155,
-     352,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,   153,   -29,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,   -61,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,   -43,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,   -47,  -747,  -747,  -747,   -42,   309,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,   -49,  -747,  -747,  -747,  -747,  -747,
-    -747,  -746,  -747,  -747,  -747,   -25,  -747,  -747,  -747,   -18,
-     348,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -745,
-    -747,  -747,  -747,  -563,  -747,  -734,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,   -31,  -747,  -747,  -146,   -57,  -747,
-    -747,  -747,  -747,  -747,   -17,  -747,  -747,  -747,   -12,  -747,
-     338,  -747,   -60,  -747,  -747,  -747,  -747,  -747,   -55,  -747,
-    -747,  -747,  -747,  -747,    -3,  -747,  -747,  -747,   -14,  -747,
-    -747,  -747,   -10,  -747,   343,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,   -39,  -747,  -747,  -747,
-     -35,   375,  -747,  -747,   -44,  -747,   -19,  -747,  -747,  -747,
-    -747,  -747,   -37,  -747,  -747,  -747,   -27,  -747,   360,   -11,
-    -747,     2,  -747,     7,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -729,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,   177,  -747,  -747,  -747,  -747,  -747,  -747,  -747,   -16,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,   201,   347,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,  -747,
-    -747,  -747,  -747,   216,   350,  -747,  -747,  -747,   -30,  -747,
-    -747,  -126,  -747,  -747,  -747,  -747,  -747,  -747,  -138,  -747,
-    -747,  -152,  -747,  -747,  -747,  -747,  -747
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,   -51,  -722,   202,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,   176,  -722,  -722,  -722,
+     -66,  -722,  -722,  -722,   354,  -722,  -722,  -722,  -722,   157,
+     316,   -23,   -21,     0,  -722,  -722,     6,  -722,  -722,   141,
+     324,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,   154,   -35,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,   -73,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,   -45,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,   -38,  -722,  -722,  -722,   -43,   305,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,   -32,  -722,  -722,  -722,  -722,  -722,
+    -722,  -721,  -722,  -722,  -722,    -7,  -722,  -722,  -722,     1,
+     362,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -715,
+    -722,  -722,  -722,   -25,  -722,  -709,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,   -20,  -722,  -722,  -143,   -61,  -722,
+    -722,  -722,  -722,  -722,     2,  -722,  -722,  -722,    11,  -722,
+     342,  -722,   -68,  -722,  -722,  -722,  -722,  -722,   -62,  -722,
+    -722,  -722,  -722,  -722,   -17,  -722,  -722,  -722,     9,  -722,
+    -722,  -722,    12,  -722,   346,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,   -18,  -722,  -722,  -722,
+     -15,   374,  -722,  -722,   -54,  -722,   -34,  -722,  -722,  -722,
+    -722,  -722,   -12,  -722,  -722,  -722,   -16,  -722,   360,   -46,
+    -722,   -11,  -722,    -1,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -704,  -722,  -722,  -722,  -722,  -722,  -722,    16,  -722,
+    -722,  -722,  -125,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+       3,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,   208,
+     337,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
+    -722,  -722,  -722,  -722,   237,   329,  -722,  -722,  -722,    -8,
+    -722,  -722,  -128,  -722,  -722,  -722,  -722,  -722,  -722,  -142,
+    -722,  -722,  -155,  -722,  -722,  -722,  -722,  -722
   };
 
   const short int
   Dhcp4Parser::yydefgoto_[] =
   {
       -1,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      23,    24,    25,    26,    27,    36,    37,    38,    65,   566,
-      82,    83,    39,    64,    79,    80,   575,   720,   786,   787,
+      23,    24,    25,    26,    27,    36,    37,    38,    65,   550,
+      82,    83,    39,    64,    79,    80,   559,   702,   767,   768,
      123,    41,    66,    91,    92,    93,   329,    43,    67,   124,
      125,   126,   127,   128,   129,   130,   131,   132,   337,   156,
-     157,    45,    68,   158,   364,   159,   365,   578,   160,   366,
-     581,   161,   133,   343,   134,   344,   647,   648,   649,   739,
-     876,   650,   740,   651,   741,   652,   742,   653,   247,   401,
-     655,   656,   657,   658,   659,   748,   660,   749,   135,   355,
-     683,   684,   685,   686,   687,   688,   689,   136,   357,   693,
-     694,   695,   769,    59,    75,   283,   284,   285,   414,   286,
-     415,   137,   358,   702,   703,   704,   705,   706,   707,   708,
-     709,   138,   349,   663,   664,   665,   753,    47,    69,   183,
-     184,   185,   375,   186,   371,   187,   372,   188,   373,   189,
-     376,   190,   377,   191,   381,   192,   380,   595,   193,   194,
-     139,   352,   675,   676,   677,   762,   828,   829,   140,   350,
-      53,    72,   667,   668,   669,   756,    55,    73,   248,   249,
-     250,   251,   252,   253,   254,   400,   255,   404,   256,   403,
-     257,   258,   405,   259,   141,   351,   671,   672,   673,   759,
-      57,    74,   269,   270,   271,   272,   273,   409,   274,   275,
-     276,   277,   196,   374,   724,   725,   726,   789,    49,    70,
-     207,   208,   209,   386,   142,   353,   143,   354,   199,   382,
-     728,   729,   730,   792,    51,    71,   224,   225,   226,   144,
-     340,   145,   341,   146,   342,   230,   396,   231,   390,   232,
-     391,   233,   393,   234,   392,   235,   395,   236,   394,   237,
-     389,   203,   383,   732,   795,   147,   356,   691,   370,   487,
-     488,   489,   490,   491,   582,   148,   149,   360,   715,   716,
-     717,   780,   718,   781,   150,   361,    61,    76,   304,   305,
-     306,   307,   419,   308,   420,   309,   310,   422,   311,   312,
-     313,   425,   621,   314,   426,   315,   316,   317,   318,   430,
-     628,   319,   431,    94,   331,    95,   332,    96,   333,    97,
-     330,    63,    77,   321,   322,   323,   434,   734,   735,   797,
-     866,   867,   868,   869,   896,   870,   894,   907,   908,   909,
-     916,   917,   918,   923,   919,   920,   921
+     157,    45,    68,   158,   364,   159,   365,   562,   160,   366,
+     565,   161,   133,   343,   134,   344,   628,   629,   630,   719,
+     871,   631,   720,   632,   721,   633,   722,   634,   247,   400,
+     636,   637,   638,   639,   640,   728,   641,   729,   135,   355,
+     664,   665,   666,   667,   668,   669,   670,   136,   357,   675,
+     676,   677,   750,    59,    75,   283,   284,   285,   413,   286,
+     414,   137,   358,   684,   685,   686,   687,   688,   689,   690,
+     691,   138,   349,   644,   645,   646,   733,    47,    69,   182,
+     183,   184,   374,   185,   370,   186,   371,   187,   372,   188,
+     375,   189,   376,   190,   380,   191,   379,   576,   192,   193,
+     139,   352,   656,   657,   658,   742,   808,   809,   140,   350,
+      53,    72,   648,   649,   650,   736,    55,    73,   248,   249,
+     250,   251,   252,   253,   254,   399,   255,   403,   256,   402,
+     257,   258,   404,   259,   141,   351,   652,   653,   654,   739,
+      57,    74,   269,   270,   271,   272,   273,   408,   274,   275,
+     276,   277,   195,   373,   704,   705,   706,   769,    49,    70,
+     207,   208,   209,   385,   142,   353,   143,   354,   198,   381,
+     708,   709,   710,   772,    51,    71,   224,   225,   226,   144,
+     340,   145,   341,   146,   342,   230,   395,   231,   389,   232,
+     390,   233,   392,   234,   391,   235,   394,   236,   393,   237,
+     388,   202,   382,   712,   775,   147,   356,   672,   673,   747,
+     829,   830,   831,   832,   833,   882,   148,   149,   360,   697,
+     698,   699,   761,   700,   762,   150,   361,    61,    76,   304,
+     305,   306,   307,   418,   308,   419,   309,   310,   421,   311,
+     312,   313,   424,   602,   314,   425,   315,   316,   317,   318,
+     429,   609,   319,   430,    94,   331,    95,   332,    96,   333,
+      97,   330,    63,    77,   321,   322,   323,   433,   714,   715,
+     777,   861,   862,   863,   864,   894,   865,   892,   908,   909,
+     910,   917,   918,   919,   924,   920,   921,   922
   };
 
   const unsigned short int
   Dhcp4Parser::yytable_[] =
   {
-      90,   179,   155,   178,   205,   220,   690,   246,   265,   282,
-     301,    84,    28,   266,   267,   238,   824,   825,   180,   268,
-     619,   181,   280,   281,   162,   197,   210,   222,   827,   260,
-     278,    78,   302,   836,    29,   182,    30,    40,    31,   280,
-     281,   164,   576,   577,   114,   115,    81,   164,   335,   163,
-     198,   211,   223,   336,   261,   279,   765,   303,   200,   766,
-     227,   100,   101,   102,   103,   362,   195,   206,   221,   368,
-     363,   201,   384,   228,   369,    42,   202,   385,   229,    44,
-     710,   711,   106,   107,   108,   387,    46,   165,   166,   167,
-     388,   112,   767,   151,   152,   768,   416,   153,    89,    48,
-     154,   417,   168,   320,   114,   115,   169,   170,   171,   172,
-     173,   174,   175,    50,   798,   432,   435,   799,   175,   176,
-     433,   436,   620,    52,    85,   362,   177,   164,    89,   324,
-     736,   435,   368,    86,    87,    88,   737,   738,   111,   824,
-     825,   100,   101,   102,   103,   114,   115,   112,    54,    89,
-      56,   827,   750,   101,   102,   103,   836,   751,    58,   204,
-     114,   115,   106,   107,   108,   912,   110,    60,   913,   914,
-     915,   112,   240,   623,   624,   625,   626,    32,    33,    34,
-      35,   111,   112,   240,   114,   115,    62,   170,    89,   750,
-     910,   174,   326,   911,   752,   114,   115,   778,   175,   826,
-      98,   325,   779,   327,   839,   627,   177,   328,   477,    99,
-     100,   101,   102,   103,   104,   105,   696,   697,   698,   699,
-     700,   701,   579,   580,   239,   678,   679,   680,   681,    89,
-     682,   106,   107,   108,   109,   110,   782,   432,   384,   111,
-     112,   783,   784,   882,    89,   872,   873,   874,   875,   240,
-     113,   241,   242,   114,   115,   243,   244,   245,   885,   397,
-     334,   114,   115,   886,   116,   117,   416,   387,    89,    90,
-     897,   887,   891,   927,   398,   898,   338,   118,   928,    89,
-     119,   592,   593,   594,   339,   345,   346,   120,   121,   347,
-     348,   122,   437,   438,   359,   367,   378,   379,   402,   447,
-     406,   408,   155,   399,   478,   407,   410,   411,   412,   479,
-     413,   439,   418,   480,   421,   423,   179,   424,   178,   427,
-     428,   205,   826,   429,   162,   440,   482,   441,   442,   443,
-     444,   446,   220,   180,   448,   449,   181,    89,   450,   451,
-     197,   452,   246,   210,   453,    89,   458,   265,   454,   163,
-     182,   483,   266,   267,   222,   455,   456,   457,   268,   484,
-     459,   101,   102,   103,   260,   198,   301,   481,   211,   278,
-     460,   461,   485,   200,   462,   463,   464,   486,   465,   223,
-     466,   195,   467,   469,   206,   240,   201,   227,   302,   261,
-     112,   202,   468,   475,   279,   221,   470,   114,   115,   472,
-     228,   473,   499,   114,   115,   229,   474,   492,   493,   552,
-     553,   554,   494,   303,   495,   212,   496,   497,   498,   213,
-     214,   215,   216,   217,   218,   635,   219,   500,   114,   115,
-     636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
-     501,   240,   262,   241,   242,   263,   264,   502,   503,   504,
-     240,   506,   508,   114,   115,   509,   510,   511,   859,   512,
-     860,   861,   513,   514,   515,   517,   518,   287,   288,   289,
+      90,   266,   155,   177,   204,   220,   267,   246,   265,   282,
+     301,   238,   268,    78,   162,   196,   210,   222,    84,   260,
+     278,   804,   302,   199,    29,   227,    30,   805,    31,   745,
+     600,    40,   746,   807,   163,   197,   211,   223,   816,   261,
+     279,    28,   303,   151,   152,   205,   178,   153,   179,   112,
+     154,   335,   194,   206,   221,    81,   336,    42,   200,   362,
+     228,   203,   114,   115,   363,   280,   281,    44,   201,   180,
+     229,   748,   368,    98,   749,   181,   174,   369,   114,   115,
+     280,   281,    99,   100,   101,   102,   103,   104,   105,   240,
+     262,   241,   242,   263,   264,   114,   115,   778,   383,    46,
+     779,   114,   115,   384,   106,   107,   108,   109,   110,    48,
+     560,   561,   111,   112,   692,   693,   240,   678,   679,   680,
+     681,   682,   683,   113,    89,    50,   114,   115,   114,   115,
+     913,    85,   601,   914,   915,   916,    52,   116,   117,   386,
+      86,    87,    88,   415,   387,    54,    89,   431,   416,   434,
+     118,   320,   432,   119,   435,    56,    89,    58,   362,   804,
+     120,   121,    89,   716,   122,   805,    60,    32,    33,    34,
+      35,   807,   100,   101,   102,   103,   816,   911,    62,    89,
+     912,   659,   660,   661,   662,    89,   663,   563,   564,   854,
+     324,   855,   856,   106,   107,   108,   434,   111,   164,   165,
+     166,   717,   112,   100,   101,   102,   103,   325,   327,   368,
+      89,   326,    89,   167,   718,   114,   115,   168,   169,   170,
+     171,   172,   173,   334,   106,   107,   108,   730,   110,   174,
+     175,   338,   731,   112,   240,   730,   759,   176,   328,   396,
+     732,   760,   101,   102,   103,   339,   114,   115,   345,   169,
+     101,   102,   103,   173,   604,   605,   606,   607,   397,   763,
+     174,   431,   383,   239,   764,   346,   765,   877,   176,    90,
+     111,   112,   240,   880,   436,   437,   415,   386,   881,   112,
+     347,   885,   889,   348,   114,   115,   608,   359,   240,   367,
+     241,   242,   114,   115,   243,   244,   245,   819,   895,    89,
+     114,   115,   155,   896,   212,   377,   378,   398,   213,   214,
+     215,   216,   217,   218,   162,   219,   928,   177,   401,   405,
+     204,   929,   867,   868,   869,   870,   573,   574,   575,   196,
+      89,   220,   210,   406,   163,   407,   411,   199,   409,   266,
+     410,   246,   412,   222,   267,   417,   265,   420,   446,   197,
+     268,   227,   211,   260,   422,   423,   426,   427,   278,   428,
+     178,   205,   179,   223,   438,   301,   194,   439,    89,   206,
+     453,   440,   200,   261,   441,   442,    89,   302,   279,   443,
+     221,   445,   201,   180,    89,   447,   228,   448,   449,   181,
+     536,   537,   538,   616,   450,   451,   229,   303,   617,   618,
+     619,   620,   621,   622,   623,   624,   625,   626,   114,   115,
+     452,   454,   455,   456,   457,   458,   459,   460,   240,     1,
+       2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
+      12,    13,   461,   462,   463,   464,   465,   466,   467,   468,
+     469,   471,   472,   473,   474,   476,   477,   287,   288,   289,
      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
-     300,    89,   520,   521,   522,   519,   525,    89,   529,   155,
-     530,   533,   523,   646,   646,   526,   527,   615,   654,   654,
-     532,   534,   535,   536,   537,   539,   712,   301,   538,   540,
-     544,   162,    89,   541,   542,   545,   631,   547,   478,   543,
-     549,   550,   551,   479,   555,   556,   559,   480,   713,   302,
-     557,   558,   560,   561,   562,   563,   163,    89,   564,    30,
-     482,   567,   568,   569,   570,   804,    89,   571,   572,   573,
-     574,   583,   584,   714,   303,   585,   588,   586,   597,   587,
-     622,   598,   630,   589,   590,   483,   591,   596,   599,   601,
-     602,   603,   604,   484,   605,   606,   607,   608,   609,   610,
-     611,   481,   612,   613,   662,   614,   485,   616,   617,   618,
-     666,   486,     1,     2,     3,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,   670,   674,   692,   721,   723,
-     727,   629,   733,   731,   743,   744,   745,   746,   747,   755,
-     785,   754,   758,   757,   760,   761,   763,   764,   771,   770,
-     772,   773,   774,   775,   776,   777,   788,   791,   790,   793,
-     794,   805,   800,   796,   801,   802,   803,   806,   809,   810,
-     849,   807,   808,   842,   850,   852,   843,   844,   845,   846,
-     853,   847,   858,   883,   884,   895,   877,   892,   878,   879,
-     880,   881,   888,   900,   902,   889,   904,   565,   924,   890,
-     906,   925,   893,   905,   646,   179,   926,   178,   929,   654,
-     246,   471,   934,   265,   819,   901,   818,   931,   266,   267,
-     600,   823,   180,   282,   268,   181,   930,   932,   445,   197,
-     634,   820,   260,   661,   821,   278,   712,   632,   831,   182,
-     476,   811,   838,   205,   841,   531,   220,   840,   822,   848,
-     813,   862,   505,   837,   198,   812,   863,   261,   713,   899,
-     279,   815,   200,   832,   814,   210,   524,   817,   222,   816,
-     195,   833,   855,   864,   854,   201,   528,   857,   516,   830,
-     202,   722,   507,   714,   834,   856,   851,   633,   871,   835,
-     211,   903,   922,   223,   719,   933,     0,     0,   865,   546,
-       0,   227,     0,     0,     0,   548,   206,     0,     0,   221,
-       0,     0,     0,     0,   228,     0,     0,     0,     0,   229,
+     300,   478,   479,   596,   480,   481,   482,   483,   484,   485,
+     635,   635,   486,   155,   487,   488,   490,   627,   627,   492,
+     493,   494,   612,   495,   496,   162,   497,   498,   499,   501,
+     694,   301,    89,   502,   503,   504,   505,   506,   507,   509,
+     510,   513,   695,   302,   514,   163,   517,   511,   516,   518,
+     519,   520,   523,   521,    89,   524,   525,   522,   528,   529,
+     526,   531,   696,   303,   527,   533,   534,   535,   540,   539,
+     541,   543,   544,   542,   545,   546,   547,   548,   711,   552,
+      30,   551,   553,   554,   566,   567,   555,   556,   557,   558,
+     568,   569,   570,   571,   578,   572,   577,   579,   611,   643,
+     723,   647,   580,   582,   583,   584,   585,   586,   587,   588,
+     589,   590,   591,   592,   593,   594,   651,   603,   655,   671,
+     674,   703,   595,   707,   713,   724,   725,   726,   597,   727,
+     734,   598,   599,   610,   735,   737,   738,   741,   740,   744,
+     766,   743,   752,   751,   753,   754,   755,   756,   757,   758,
+     771,   872,   770,   774,   773,   780,   781,   776,   782,   783,
+     785,   789,   784,   786,   790,   844,   845,   848,   905,   787,
+     788,   847,   853,   893,   878,   837,   838,   839,   879,   840,
+     883,   884,   890,   841,   898,   842,   873,   874,   900,   875,
+     902,   876,   886,   925,   887,   907,   926,   635,   888,   927,
+     891,   930,   901,   549,   627,   932,   266,   177,   581,   803,
+     246,   267,   933,   265,   821,   904,   798,   268,   470,   196,
+     615,   820,   260,   906,   282,   278,   822,   199,   811,   444,
+     935,   613,   475,   824,   931,   791,   813,   694,   642,   197,
+     818,   826,   261,   204,   858,   279,   220,   835,   812,   695,
+     178,   857,   179,   825,   836,   210,   194,   806,   222,   799,
+     515,   800,   200,   859,   817,   810,   227,   843,   793,   696,
+     823,   814,   201,   180,   792,   211,   827,   897,   223,   181,
+     795,   815,   801,   860,   205,   489,   828,   794,   802,   508,
+     797,   796,   206,   850,   849,   221,   851,   500,   512,   899,
+     491,   228,   852,   532,   834,   701,   846,   903,   530,   923,
+     866,   229,   614,   934,     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,   819,     0,   818,
-       0,     0,     0,     0,   823,     0,     0,     0,     0,     0,
-       0,   862,     0,     0,   820,     0,   863,   821,     0,     0,
-       0,   831,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   822,     0,   864,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   832,     0,     0,     0,
-       0,     0,     0,     0,   833,     0,     0,     0,   865,     0,
-       0,     0,   830,     0,     0,     0,     0,   834,     0,     0,
-       0,     0,   835
+       0,     0,     0,     0,     0,     0,     0,   803,     0,     0,
+       0,   821,     0,     0,   798,     0,     0,     0,   820,     0,
+       0,     0,   858,   822,     0,     0,   811,     0,     0,   857,
+     824,     0,     0,     0,   813,     0,     0,     0,   826,     0,
+       0,   859,     0,     0,     0,     0,   812,     0,     0,     0,
+     825,     0,     0,     0,     0,   806,     0,   799,     0,   800,
+       0,   860,     0,   810,     0,     0,     0,   823,     0,   814,
+       0,     0,     0,   827,     0,     0,     0,     0,     0,   815,
+     801,     0,     0,   828,     0,     0,   802
   };
 
   const short int
   Dhcp4Parser::yycheck_[] =
   {
-      66,    69,    68,    69,    70,    71,   569,    73,    74,    75,
-      76,    10,     0,    74,    74,    72,   762,   762,    69,    74,
-      15,    69,    89,    90,    68,    69,    70,    71,   762,    73,
-      74,    64,    76,   762,     5,    69,     7,     7,     9,    89,
-      90,     7,    14,    15,    64,    65,   148,     7,     3,    68,
-      69,    70,    71,     8,    73,    74,     3,    76,    69,     6,
-      71,    21,    22,    23,    24,     3,    69,    70,    71,     3,
-       8,    69,     3,    71,     8,     7,    69,     8,    71,     7,
-     100,   101,    42,    43,    44,     3,     7,    47,    48,    49,
-       8,    51,     3,    12,    13,     6,     3,    16,   148,     7,
-      19,     8,    62,   124,    64,    65,    66,    67,    68,    69,
-      70,    71,    78,     7,     3,     3,     3,     6,    78,    79,
-       8,     8,   117,     7,   123,     3,    86,     7,   148,     6,
-       8,     3,     3,   132,   133,   134,     8,     8,    50,   885,
-     885,    21,    22,    23,    24,    64,    65,    51,     7,   148,
-       7,   885,     3,    22,    23,    24,   885,     8,     7,    63,
-      64,    65,    42,    43,    44,   126,    46,     7,   129,   130,
-     131,    51,    52,   119,   120,   121,   122,   148,   149,   150,
-     151,    50,    51,    52,    64,    65,     7,    67,   148,     3,
-       3,    71,     4,     6,     8,    64,    65,     3,    78,   762,
-      11,     3,     8,     8,   767,   151,    86,     3,    77,    20,
-      21,    22,    23,    24,    25,    26,    92,    93,    94,    95,
-      96,    97,    17,    18,    27,    80,    81,    82,    83,   148,
-      85,    42,    43,    44,    45,    46,     3,     3,     3,    50,
-      51,     8,     8,     8,   148,    28,    29,    30,    31,    52,
-      61,    54,    55,    64,    65,    58,    59,    60,     3,     8,
-       4,    64,    65,     8,    75,    76,     3,     3,   148,   335,
-       3,     8,     8,     3,     3,     8,     4,    88,     8,   148,
-      91,    72,    73,    74,     4,     4,     4,    98,    99,     4,
-       4,   102,   325,   326,     4,     4,     4,     4,     4,   151,
-       4,     3,   368,     8,   370,     8,     4,     4,     8,   370,
-       3,   148,     4,   370,     4,     4,   384,     4,   384,     4,
-       4,   387,   885,     4,   368,     4,   370,     4,     4,     4,
-       4,     4,   398,   384,   151,     4,   384,   148,     4,     4,
-     384,     4,   408,   387,     4,   148,     4,   413,   149,   368,
-     384,   370,   413,   413,   398,   149,   149,   149,   413,   370,
-       4,    22,    23,    24,   408,   384,   432,   370,   387,   413,
-       4,     4,   370,   384,     4,     4,     4,   370,     4,   398,
-       4,   384,     4,     4,   387,    52,   384,   398,   432,   408,
-      51,   384,   149,   151,   413,   398,     4,    64,    65,     4,
-     398,     4,   149,    64,    65,   398,     4,     4,     4,   442,
-     443,   444,     4,   432,     4,    76,     4,     4,     4,    80,
-      81,    82,    83,    84,    85,    27,    87,   151,    64,    65,
-      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
-       4,    52,    53,    54,    55,    56,    57,     4,     4,     4,
-      52,     4,     4,    64,    65,     4,     4,     4,   125,     4,
-     127,   128,     4,     4,     4,     4,     4,   103,   104,   105,
+      66,    74,    68,    69,    70,    71,    74,    73,    74,    75,
+      76,    72,    74,    64,    68,    69,    70,    71,    10,    73,
+      74,   742,    76,    69,     5,    71,     7,   742,     9,     3,
+      15,     7,     6,   742,    68,    69,    70,    71,   742,    73,
+      74,     0,    76,    12,    13,    70,    69,    16,    69,    51,
+      19,     3,    69,    70,    71,   148,     8,     7,    69,     3,
+      71,    63,    64,    65,     8,    89,    90,     7,    69,    69,
+      71,     3,     3,    11,     6,    69,    78,     8,    64,    65,
+      89,    90,    20,    21,    22,    23,    24,    25,    26,    52,
+      53,    54,    55,    56,    57,    64,    65,     3,     3,     7,
+       6,    64,    65,     8,    42,    43,    44,    45,    46,     7,
+      14,    15,    50,    51,   100,   101,    52,    92,    93,    94,
+      95,    96,    97,    61,   148,     7,    64,    65,    64,    65,
+     126,   123,   117,   129,   130,   131,     7,    75,    76,     3,
+     132,   133,   134,     3,     8,     7,   148,     3,     8,     3,
+      88,   124,     8,    91,     8,     7,   148,     7,     3,   880,
+      98,    99,   148,     8,   102,   880,     7,   148,   149,   150,
+     151,   880,    21,    22,    23,    24,   880,     3,     7,   148,
+       6,    80,    81,    82,    83,   148,    85,    17,    18,   125,
+       6,   127,   128,    42,    43,    44,     3,    50,    47,    48,
+      49,     8,    51,    21,    22,    23,    24,     3,     8,     3,
+     148,     4,   148,    62,     8,    64,    65,    66,    67,    68,
+      69,    70,    71,     4,    42,    43,    44,     3,    46,    78,
+      79,     4,     8,    51,    52,     3,     3,    86,     3,     8,
+       8,     8,    22,    23,    24,     4,    64,    65,     4,    67,
+      22,    23,    24,    71,   119,   120,   121,   122,     3,     3,
+      78,     3,     3,    27,     8,     4,     8,     8,    86,   335,
+      50,    51,    52,     3,   325,   326,     3,     3,     8,    51,
+       4,     8,     8,     4,    64,    65,   151,     4,    52,     4,
+      54,    55,    64,    65,    58,    59,    60,    77,     3,   148,
+      64,    65,   368,     8,    76,     4,     4,     8,    80,    81,
+      82,    83,    84,    85,   368,    87,     3,   383,     4,     4,
+     386,     8,    28,    29,    30,    31,    72,    73,    74,   383,
+     148,   397,   386,     8,   368,     3,     8,   383,     4,   412,
+       4,   407,     3,   397,   412,     4,   412,     4,   151,   383,
+     412,   397,   386,   407,     4,     4,     4,     4,   412,     4,
+     383,   386,   383,   397,   148,   431,   383,     4,   148,   386,
+     149,     4,   383,   407,     4,     4,   148,   431,   412,     4,
+     397,     4,   383,   383,   148,   151,   397,     4,     4,   383,
+     441,   442,   443,    27,     4,     4,   397,   431,    32,    33,
+      34,    35,    36,    37,    38,    39,    40,    41,    64,    65,
+       4,   149,   149,   149,     4,     4,     4,     4,    52,   135,
+     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
+     146,   147,     4,     4,     4,     4,     4,     4,   149,     4,
+       4,     4,     4,     4,   151,     4,     4,   103,   104,   105,
      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-     116,   148,     4,     4,     4,   149,     4,   148,     4,   555,
-       4,     4,   151,   559,   560,   151,   151,   530,   559,   560,
-     151,     4,   149,     4,   149,     4,   572,   573,   149,     4,
-       4,   555,   148,   151,   151,     4,   549,     4,   584,   151,
-       4,     7,     7,   584,     7,   148,     7,   584,   572,   573,
-     148,   148,     7,     5,     5,     5,   555,   148,     5,     7,
-     584,   148,     5,     5,     5,   149,   148,     7,     7,     7,
-       5,     8,     3,   572,   573,   148,     5,   148,     5,   148,
-     118,     7,     5,   148,   148,   584,   148,   148,   148,   148,
-     148,   148,   148,   584,   148,   148,   148,   148,   148,   148,
-     148,   584,   148,   148,     7,   148,   584,   148,   148,   148,
-       7,   584,   135,   136,   137,   138,   139,   140,   141,   142,
-     143,   144,   145,   146,   147,     7,     7,     7,     4,     7,
-       7,   148,     7,    87,     4,     4,     4,     4,     4,     3,
-     148,     6,     3,     6,     6,     3,     6,     3,     3,     6,
-       4,     4,     4,     4,     4,     4,   148,     3,     6,     6,
-       3,   151,     4,     8,     4,     4,     4,   149,     4,     4,
-       4,   151,   149,   149,     4,     6,   149,   149,   149,   149,
-       3,   149,     4,     8,     8,     4,   148,     8,   148,   148,
-     148,   148,   148,     4,     4,   148,     5,   462,     4,   148,
-       7,     4,   148,   148,   750,   753,     4,   753,     4,   750,
-     756,   362,   148,   759,   762,   149,   762,   149,   759,   759,
-     508,   762,   753,   769,   759,   753,   151,   149,   335,   753,
-     555,   762,   756,   560,   762,   759,   782,   550,   762,   753,
-     368,   750,   765,   789,   771,   416,   792,   769,   762,   778,
-     755,   797,   384,   764,   753,   753,   797,   756,   782,   885,
-     759,   758,   753,   762,   756,   789,   408,   761,   792,   759,
-     753,   762,   791,   797,   789,   753,   413,   794,   398,   762,
-     753,   584,   387,   782,   762,   792,   782,   551,   798,   762,
-     789,   897,   910,   792,   573,   927,    -1,    -1,   797,   432,
-      -1,   792,    -1,    -1,    -1,   435,   789,    -1,    -1,   792,
-      -1,    -1,    -1,    -1,   792,    -1,    -1,    -1,    -1,   792,
+     116,     4,     4,   514,     4,     4,     4,   149,   151,     4,
+     543,   544,     4,   539,     4,     4,     4,   543,   544,     4,
+       4,     4,   533,     4,     4,   539,     4,     4,     4,     4,
+     556,   557,   148,     4,   149,     4,     4,     4,   151,     4,
+     151,     4,   556,   557,     4,   539,     4,   151,   151,     4,
+     149,     4,     4,   149,   148,     4,   151,   149,     4,     4,
+     151,     4,   556,   557,   151,     4,     7,     7,   148,     7,
+     148,     7,     7,   148,     5,     5,     5,     5,    87,     5,
+       7,   148,     5,     5,   148,   148,     7,     7,     7,     5,
+     148,     5,   148,   148,     5,   148,   148,     7,     5,     7,
+       4,     7,   148,   148,   148,   148,   148,   148,   148,   148,
+     148,   148,   148,   148,   148,   148,     7,   118,     7,     7,
+       7,     7,   148,     7,     7,     4,     4,     4,   148,     4,
+       6,   148,   148,   148,     3,     6,     3,     3,     6,     3,
+     148,     6,     3,     6,     4,     4,     4,     4,     4,     4,
+       3,   148,     6,     3,     6,     4,     4,     8,     4,     4,
+     151,     4,   149,   149,     4,     4,     4,     3,     5,   151,
+     149,     6,     4,     4,     8,   149,   149,   149,     8,   149,
+       8,     3,     8,   149,     4,   149,   148,   148,     4,   148,
+       4,   148,   148,     4,   148,     7,     4,   730,   148,     4,
+     148,     4,   149,   461,   730,   149,   739,   733,   492,   742,
+     736,   739,   149,   739,   747,   148,   742,   739,   362,   733,
+     539,   747,   736,   148,   750,   739,   747,   733,   742,   335,
+     148,   534,   368,   747,   151,   730,   742,   763,   544,   733,
+     745,   747,   736,   769,   777,   739,   772,   750,   742,   763,
+     733,   777,   733,   747,   752,   769,   733,   742,   772,   742,
+     415,   742,   733,   777,   744,   742,   772,   759,   735,   763,
+     747,   742,   733,   733,   733,   769,   747,   880,   772,   733,
+     738,   742,   742,   777,   769,   383,   747,   736,   742,   407,
+     741,   739,   769,   771,   769,   772,   772,   397,   412,   884,
+     386,   772,   774,   434,   748,   557,   763,   895,   431,   911,
+     778,   772,   535,   928,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   885,    -1,   885,
-      -1,    -1,    -1,    -1,   885,    -1,    -1,    -1,    -1,    -1,
-      -1,   897,    -1,    -1,   885,    -1,   897,   885,    -1,    -1,
-      -1,   885,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   885,    -1,   897,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   885,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   885,    -1,    -1,    -1,   897,    -1,
-      -1,    -1,   885,    -1,    -1,    -1,    -1,   885,    -1,    -1,
-      -1,    -1,   885
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   880,    -1,    -1,
+      -1,   884,    -1,    -1,   880,    -1,    -1,    -1,   884,    -1,
+      -1,    -1,   895,   884,    -1,    -1,   880,    -1,    -1,   895,
+     884,    -1,    -1,    -1,   880,    -1,    -1,    -1,   884,    -1,
+      -1,   895,    -1,    -1,    -1,    -1,   880,    -1,    -1,    -1,
+     884,    -1,    -1,    -1,    -1,   880,    -1,   880,    -1,   880,
+      -1,   895,    -1,   880,    -1,    -1,    -1,   884,    -1,   880,
+      -1,    -1,    -1,   884,    -1,    -1,    -1,    -1,    -1,   880,
+     880,    -1,    -1,   884,    -1,    -1,   880
   };
 
   const unsigned short int
@@ -4044,21 +4042,21 @@ namespace isc { namespace dhcp {
        7,     9,   148,   149,   150,   151,   167,   168,   169,   174,
        7,   183,     7,   189,     7,   203,     7,   279,     7,   360,
        7,   376,     7,   312,     7,   318,     7,   342,     7,   255,
-       7,   428,     7,   463,   175,   170,   184,   190,   204,   280,
-     361,   377,   313,   319,   343,   256,   429,   464,   167,   176,
+       7,   429,     7,   464,   175,   170,   184,   190,   204,   280,
+     361,   377,   313,   319,   343,   256,   430,   465,   167,   176,
      177,   148,   172,   173,    10,   123,   132,   133,   134,   148,
-     182,   185,   186,   187,   455,   457,   459,   461,    11,    20,
+     182,   185,   186,   187,   456,   458,   460,   462,    11,    20,
       21,    22,    23,    24,    25,    26,    42,    43,    44,    45,
       46,    50,    51,    61,    64,    65,    75,    76,    88,    91,
       98,    99,   102,   182,   191,   192,   193,   194,   195,   196,
      197,   198,   199,   214,   216,   240,   249,   263,   273,   302,
-     310,   336,   366,   368,   381,   383,   385,   407,   417,   418,
-     426,    12,    13,    16,    19,   182,   201,   202,   205,   207,
-     210,   213,   366,   368,     7,    47,    48,    49,    62,    66,
-      67,    68,    69,    70,    71,    78,    79,    86,   182,   193,
-     194,   195,   198,   281,   282,   283,   285,   287,   289,   291,
-     293,   295,   297,   300,   301,   336,   354,   366,   368,   370,
-     381,   383,   385,   403,    63,   182,   336,   362,   363,   364,
+     310,   336,   366,   368,   381,   383,   385,   407,   418,   419,
+     427,    12,    13,    16,    19,   182,   201,   202,   205,   207,
+     210,   213,   366,   368,    47,    48,    49,    62,    66,    67,
+      68,    69,    70,    71,    78,    79,    86,   182,   193,   194,
+     195,   198,   281,   282,   283,   285,   287,   289,   291,   293,
+     295,   297,   300,   301,   336,   354,   366,   368,   370,   381,
+     383,   385,   403,    63,   182,   295,   336,   362,   363,   364,
      366,   368,    76,    80,    81,    82,    83,    84,    85,    87,
      182,   336,   366,   368,   378,   379,   380,   381,   383,   385,
      387,   389,   391,   393,   395,   397,   399,   401,   310,    27,
@@ -4068,70 +4066,70 @@ namespace isc { namespace dhcp {
      345,   346,   347,   348,   350,   351,   352,   353,   366,   368,
       89,    90,   182,   257,   258,   259,   261,   103,   104,   105,
      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-     116,   182,   366,   368,   430,   431,   432,   433,   435,   437,
-     438,   440,   441,   442,   445,   447,   448,   449,   450,   453,
-     124,   465,   466,   467,     6,     3,     4,     8,     3,   188,
-     462,   456,   458,   460,     4,     3,     8,   200,     4,     4,
+     116,   182,   366,   368,   431,   432,   433,   434,   436,   438,
+     439,   441,   442,   443,   446,   448,   449,   450,   451,   454,
+     124,   466,   467,   468,     6,     3,     4,     8,     3,   188,
+     463,   457,   459,   461,     4,     3,     8,   200,     4,     4,
      382,   384,   386,   215,   217,     4,     4,     4,     4,   274,
      311,   337,   303,   367,   369,   241,   408,   250,   264,     4,
-     419,   427,     3,     8,   206,   208,   211,     4,     3,     8,
-     410,   286,   288,   290,   355,   284,   292,   294,     4,     4,
-     298,   296,   371,   404,     3,     8,   365,     3,     8,   402,
-     390,   392,   396,   394,   400,   398,   388,     8,     3,     8,
-     327,   231,     4,   331,   329,   334,     4,     8,     3,   349,
-       4,     4,     8,     3,   260,   262,     3,     8,     4,   434,
-     436,     4,   439,     4,     4,   443,   446,     4,     4,     4,
-     451,   454,     3,     8,   468,     3,     8,   167,   167,   148,
-       4,     4,     4,     4,     4,   186,     4,   151,   151,     4,
-       4,     4,     4,     4,   149,   149,   149,   149,     4,     4,
-       4,     4,     4,     4,     4,     4,     4,     4,   149,     4,
-       4,   192,     4,     4,     4,   151,   202,    77,   182,   230,
-     310,   336,   366,   368,   381,   383,   385,   411,   412,   413,
-     414,   415,     4,     4,     4,     4,     4,     4,     4,   149,
-     151,     4,     4,     4,     4,   282,     4,   363,     4,     4,
-       4,     4,     4,     4,     4,     4,   380,     4,     4,   149,
-       4,     4,     4,   151,   322,     4,   151,   151,   346,     4,
-       4,   258,   151,     4,     4,   149,     4,   149,   149,     4,
-       4,   151,   151,   151,     4,     4,   431,     4,   466,     4,
-       7,     7,   167,   167,   167,     7,   148,   148,   148,     7,
-       7,     5,     5,     5,     5,   169,   171,   148,     5,     5,
-       5,     7,     7,     7,     5,   178,    14,    15,   209,    17,
-      18,   212,   416,     8,     3,   148,   148,   148,     5,   148,
-     148,   148,    72,    73,    74,   299,   148,     5,     7,   148,
-     178,   148,   148,   148,   148,   148,   148,   148,   148,   148,
-     148,   148,   148,   148,   148,   167,   148,   148,   148,    15,
-     117,   444,   118,   119,   120,   121,   122,   151,   452,   148,
-       5,   167,   191,   465,   201,    27,    32,    33,    34,    35,
-      36,    37,    38,    39,    40,    41,   182,   218,   219,   220,
-     223,   225,   227,   229,   230,   232,   233,   234,   235,   236,
-     238,   218,     7,   275,   276,   277,     7,   314,   315,   316,
-       7,   338,   339,   340,     7,   304,   305,   306,    80,    81,
-      82,    83,    85,   242,   243,   244,   245,   246,   247,   248,
-     295,   409,     7,   251,   252,   253,    92,    93,    94,    95,
-      96,    97,   265,   266,   267,   268,   269,   270,   271,   272,
-     100,   101,   182,   366,   368,   420,   421,   422,   424,   430,
-     179,     4,   413,     7,   356,   357,   358,     7,   372,   373,
-     374,    87,   405,     7,   469,   470,     8,     8,     8,   221,
+     420,   428,     3,     8,   206,   208,   211,     4,     3,     8,
+     286,   288,   290,   355,   284,   292,   294,     4,     4,   298,
+     296,   371,   404,     3,     8,   365,     3,     8,   402,   390,
+     392,   396,   394,   400,   398,   388,     8,     3,     8,   327,
+     231,     4,   331,   329,   334,     4,     8,     3,   349,     4,
+       4,     8,     3,   260,   262,     3,     8,     4,   435,   437,
+       4,   440,     4,     4,   444,   447,     4,     4,     4,   452,
+     455,     3,     8,   469,     3,     8,   167,   167,   148,     4,
+       4,     4,     4,     4,   186,     4,   151,   151,     4,     4,
+       4,     4,     4,   149,   149,   149,   149,     4,     4,     4,
+       4,     4,     4,     4,     4,     4,     4,   149,     4,     4,
+     192,     4,     4,     4,   151,   202,     4,     4,     4,     4,
+       4,     4,     4,   149,   151,     4,     4,     4,     4,   282,
+       4,   363,     4,     4,     4,     4,     4,     4,     4,     4,
+     380,     4,     4,   149,     4,     4,     4,   151,   322,     4,
+     151,   151,   346,     4,     4,   258,   151,     4,     4,   149,
+       4,   149,   149,     4,     4,   151,   151,   151,     4,     4,
+     432,     4,   467,     4,     7,     7,   167,   167,   167,     7,
+     148,   148,   148,     7,     7,     5,     5,     5,     5,   169,
+     171,   148,     5,     5,     5,     7,     7,     7,     5,   178,
+      14,    15,   209,    17,    18,   212,   148,   148,   148,     5,
+     148,   148,   148,    72,    73,    74,   299,   148,     5,     7,
+     148,   178,   148,   148,   148,   148,   148,   148,   148,   148,
+     148,   148,   148,   148,   148,   148,   167,   148,   148,   148,
+      15,   117,   445,   118,   119,   120,   121,   122,   151,   453,
+     148,     5,   167,   191,   466,   201,    27,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,   182,   218,   219,
+     220,   223,   225,   227,   229,   230,   232,   233,   234,   235,
+     236,   238,   218,     7,   275,   276,   277,     7,   314,   315,
+     316,     7,   338,   339,   340,     7,   304,   305,   306,    80,
+      81,    82,    83,    85,   242,   243,   244,   245,   246,   247,
+     248,     7,   409,   410,     7,   251,   252,   253,    92,    93,
+      94,    95,    96,    97,   265,   266,   267,   268,   269,   270,
+     271,   272,   100,   101,   182,   366,   368,   421,   422,   423,
+     425,   431,   179,     7,   356,   357,   358,     7,   372,   373,
+     374,    87,   405,     7,   470,   471,     8,     8,     8,   221,
      224,   226,   228,     4,     4,     4,     4,     4,   237,   239,
        3,     8,     8,   278,     6,     3,   317,     6,     3,   341,
-       6,     3,   307,     6,     3,     3,     6,     3,     6,   254,
-       6,     3,     4,     4,     4,     4,     4,     4,     3,     8,
-     423,   425,     3,     8,     8,   148,   180,   181,   148,   359,
-       6,     3,   375,     6,     3,   406,     8,   471,     3,     6,
+       6,     3,   307,     6,     3,     3,     6,   411,     3,     6,
+     254,     6,     3,     4,     4,     4,     4,     4,     4,     3,
+       8,   424,   426,     3,     8,     8,   148,   180,   181,   359,
+       6,     3,   375,     6,     3,   406,     8,   472,     3,     6,
        4,     4,     4,     4,   149,   151,   149,   151,   149,     4,
        4,   219,   281,   277,   320,   316,   344,   340,   182,   193,
      194,   195,   198,   230,   273,   291,   295,   297,   308,   309,
-     336,   366,   368,   381,   383,   385,   403,   306,   243,   295,
-     257,   253,   149,   149,   149,   149,   149,   149,   266,     4,
-       4,   421,     6,     3,   362,   358,   378,   374,     4,   125,
-     127,   128,   182,   230,   366,   368,   472,   473,   474,   475,
-     477,   470,    28,    29,    30,    31,   222,   148,   148,   148,
-     148,   148,     8,     8,     8,     3,     8,     8,   148,   148,
-     148,     8,     8,   148,   478,     4,   476,     3,     8,   309,
-       4,   149,     4,   473,     5,   148,     7,   479,   480,   481,
-       3,     6,   126,   129,   130,   131,   482,   483,   484,   486,
-     487,   488,   480,   485,     4,     4,     4,     3,     8,     4,
-     151,   149,   149,   483,   148
+     336,   366,   368,   381,   383,   385,   403,   306,   243,    77,
+     182,   230,   310,   336,   366,   368,   381,   383,   385,   412,
+     413,   414,   415,   416,   410,   257,   253,   149,   149,   149,
+     149,   149,   149,   266,     4,     4,   422,     6,     3,   362,
+     358,   378,   374,     4,   125,   127,   128,   182,   230,   366,
+     368,   473,   474,   475,   476,   478,   471,    28,    29,    30,
+      31,   222,   148,   148,   148,   148,   148,     8,     8,     8,
+       3,     8,   417,     8,     3,     8,   148,   148,   148,     8,
+       8,   148,   479,     4,   477,     3,     8,   309,     4,   414,
+       4,   149,     4,   474,   148,     5,   148,     7,   480,   481,
+     482,     3,     6,   126,   129,   130,   131,   483,   484,   485,
+     487,   488,   489,   481,   486,     4,     4,     4,     3,     8,
+       4,   151,   149,   149,   484,   148
   };
 
   const unsigned short int
@@ -4175,27 +4173,27 @@ namespace isc { namespace dhcp {
      343,   342,   344,   344,   345,   345,   346,   346,   346,   346,
      346,   346,   346,   346,   346,   347,   349,   348,   350,   351,
      352,   353,   355,   354,   356,   356,   357,   357,   359,   358,
-     361,   360,   362,   362,   363,   363,   363,   363,   363,   365,
-     364,   367,   366,   369,   368,   371,   370,   372,   372,   373,
-     373,   375,   374,   377,   376,   378,   378,   379,   379,   380,
+     361,   360,   362,   362,   363,   363,   363,   363,   363,   363,
+     365,   364,   367,   366,   369,   368,   371,   370,   372,   372,
+     373,   373,   375,   374,   377,   376,   378,   378,   379,   379,
      380,   380,   380,   380,   380,   380,   380,   380,   380,   380,
-     380,   380,   380,   380,   382,   381,   384,   383,   386,   385,
-     388,   387,   390,   389,   392,   391,   394,   393,   396,   395,
-     398,   397,   400,   399,   402,   401,   404,   403,   406,   405,
-     408,   407,   409,   409,   410,   295,   411,   411,   412,   412,
-     413,   413,   413,   413,   413,   413,   413,   413,   413,   413,
-     414,   416,   415,   417,   419,   418,   420,   420,   421,   421,
-     421,   421,   421,   423,   422,   425,   424,   427,   426,   429,
-     428,   430,   430,   431,   431,   431,   431,   431,   431,   431,
-     431,   431,   431,   431,   431,   431,   431,   431,   431,   431,
-     432,   434,   433,   436,   435,   437,   439,   438,   440,   441,
-     443,   442,   444,   444,   446,   445,   447,   448,   449,   451,
-     450,   452,   452,   452,   452,   452,   454,   453,   456,   455,
-     458,   457,   460,   459,   462,   461,   464,   463,   465,   465,
-     466,   468,   467,   469,   469,   471,   470,   472,   472,   473,
-     473,   473,   473,   473,   473,   473,   474,   476,   475,   478,
-     477,   479,   479,   481,   480,   482,   482,   483,   483,   483,
-     483,   485,   484,   486,   487,   488
+     380,   380,   380,   380,   380,   382,   381,   384,   383,   386,
+     385,   388,   387,   390,   389,   392,   391,   394,   393,   396,
+     395,   398,   397,   400,   399,   402,   401,   404,   403,   406,
+     405,   408,   407,   409,   409,   411,   410,   412,   412,   413,
+     413,   414,   414,   414,   414,   414,   414,   414,   414,   414,
+     414,   415,   417,   416,   418,   420,   419,   421,   421,   422,
+     422,   422,   422,   422,   424,   423,   426,   425,   428,   427,
+     430,   429,   431,   431,   432,   432,   432,   432,   432,   432,
+     432,   432,   432,   432,   432,   432,   432,   432,   432,   432,
+     432,   433,   435,   434,   437,   436,   438,   440,   439,   441,
+     442,   444,   443,   445,   445,   447,   446,   448,   449,   450,
+     452,   451,   453,   453,   453,   453,   453,   455,   454,   457,
+     456,   459,   458,   461,   460,   463,   462,   465,   464,   466,
+     466,   467,   469,   468,   470,   470,   472,   471,   473,   473,
+     474,   474,   474,   474,   474,   474,   474,   475,   477,   476,
+     479,   478,   480,   480,   482,   481,   483,   483,   484,   484,
+     484,   484,   486,   485,   487,   488,   489
   };
 
   const unsigned char
@@ -4239,27 +4237,27 @@ namespace isc { namespace dhcp {
        0,     4,     0,     1,     1,     3,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     0,     4,     1,     1,
        3,     3,     0,     6,     0,     1,     1,     3,     0,     4,
-       0,     4,     1,     3,     1,     1,     1,     1,     1,     0,
-       4,     0,     4,     0,     4,     0,     6,     0,     1,     1,
-       3,     0,     4,     0,     4,     0,     1,     1,     3,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     0,     4,     0,     4,     0,     4,
-       0,     4,     0,     4,     0,     4,     0,     4,     0,     4,
-       0,     4,     0,     4,     0,     4,     0,     6,     0,     4,
-       0,     6,     1,     3,     0,     4,     0,     1,     1,     3,
+       0,     4,     1,     3,     1,     1,     1,     1,     1,     1,
+       0,     4,     0,     4,     0,     4,     0,     6,     0,     1,
+       1,     3,     0,     4,     0,     4,     0,     1,     1,     3,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     0,     4,     3,     0,     6,     1,     3,     1,     1,
-       1,     1,     1,     0,     4,     0,     4,     0,     6,     0,
-       4,     1,     3,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     0,     4,     0,     4,     0,
+       4,     0,     4,     0,     4,     0,     4,     0,     4,     0,
+       4,     0,     4,     0,     4,     0,     4,     0,     6,     0,
+       4,     0,     6,     1,     3,     0,     4,     0,     1,     1,
+       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     0,     4,     3,     0,     6,     1,     3,     1,
+       1,     1,     1,     1,     0,     4,     0,     4,     0,     6,
+       0,     4,     1,     3,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       3,     0,     4,     0,     4,     3,     0,     4,     3,     3,
-       0,     4,     1,     1,     0,     4,     3,     3,     3,     0,
-       4,     1,     1,     1,     1,     1,     0,     4,     0,     4,
-       0,     4,     0,     4,     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
+       1,     3,     0,     4,     0,     4,     3,     0,     4,     3,
+       3,     0,     4,     1,     1,     0,     4,     3,     3,     3,
+       0,     4,     1,     1,     1,     1,     1,     0,     4,     0,
+       4,     0,     4,     0,     4,     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
   };
 
 
@@ -4372,10 +4370,11 @@ namespace isc { namespace dhcp {
   "hw_address", "$@80", "client_id_value", "$@81", "circuit_id_value",
   "$@82", "flex_id_value", "$@83", "hostname", "$@84",
   "reservation_client_classes", "$@85", "relay", "$@86", "relay_map",
-  "$@87", "client_classes", "$@88", "client_classes_list", "$@89",
-  "client_class_params", "not_empty_client_class_params",
-  "client_class_param", "client_class_name", "client_class_test", "$@90",
-  "dhcp4o6_port", "control_socket", "$@91", "control_socket_params",
+  "$@87", "client_classes", "$@88", "client_classes_list",
+  "client_class_entry", "$@89", "client_class_params",
+  "not_empty_client_class_params", "client_class_param",
+  "client_class_name", "client_class_test", "$@90", "dhcp4o6_port",
+  "control_socket", "$@91", "control_socket_params",
   "control_socket_param", "control_socket_type", "$@92",
   "control_socket_name", "$@93", "dhcp_ddns", "$@94", "sub_dhcp_ddns",
   "$@95", "dhcp_ddns_params", "dhcp_ddns_param", "enable_updates",
@@ -4436,27 +4435,27 @@ namespace isc { namespace dhcp {
     1239,  1239,  1251,  1252,  1257,  1258,  1263,  1264,  1265,  1266,
     1267,  1268,  1269,  1270,  1271,  1274,  1276,  1276,  1284,  1286,
     1288,  1293,  1301,  1301,  1313,  1314,  1317,  1318,  1321,  1321,
-    1331,  1331,  1341,  1342,  1345,  1346,  1347,  1348,  1349,  1352,
-    1352,  1360,  1360,  1385,  1385,  1415,  1415,  1425,  1426,  1429,
-    1430,  1433,  1433,  1442,  1442,  1451,  1452,  1455,  1456,  1460,
+    1331,  1331,  1341,  1342,  1345,  1346,  1347,  1348,  1349,  1350,
+    1353,  1353,  1361,  1361,  1386,  1386,  1416,  1416,  1426,  1427,
+    1430,  1431,  1434,  1434,  1443,  1443,  1452,  1453,  1456,  1457,
     1461,  1462,  1463,  1464,  1465,  1466,  1467,  1468,  1469,  1470,
-    1471,  1472,  1473,  1474,  1477,  1477,  1485,  1485,  1493,  1493,
-    1501,  1501,  1509,  1509,  1517,  1517,  1525,  1525,  1533,  1533,
-    1541,  1541,  1549,  1549,  1557,  1557,  1570,  1570,  1580,  1580,
-    1591,  1591,  1601,  1602,  1605,  1605,  1615,  1616,  1619,  1620,
-    1623,  1624,  1625,  1626,  1627,  1628,  1629,  1630,  1631,  1632,
-    1635,  1637,  1637,  1649,  1656,  1656,  1666,  1667,  1670,  1671,
-    1672,  1673,  1674,  1677,  1677,  1685,  1685,  1695,  1695,  1707,
-    1707,  1717,  1718,  1721,  1722,  1723,  1724,  1725,  1726,  1727,
+    1471,  1472,  1473,  1474,  1475,  1478,  1478,  1486,  1486,  1494,
+    1494,  1502,  1502,  1510,  1510,  1518,  1518,  1526,  1526,  1534,
+    1534,  1542,  1542,  1550,  1550,  1558,  1558,  1571,  1571,  1581,
+    1581,  1592,  1592,  1602,  1603,  1606,  1606,  1616,  1617,  1620,
+    1621,  1624,  1625,  1626,  1627,  1628,  1629,  1630,  1631,  1632,
+    1633,  1636,  1638,  1638,  1650,  1657,  1657,  1667,  1668,  1671,
+    1672,  1673,  1674,  1675,  1678,  1678,  1686,  1686,  1696,  1696,
+    1708,  1708,  1718,  1719,  1722,  1723,  1724,  1725,  1726,  1727,
     1728,  1729,  1730,  1731,  1732,  1733,  1734,  1735,  1736,  1737,
-    1740,  1745,  1745,  1753,  1753,  1761,  1766,  1766,  1774,  1779,
-    1784,  1784,  1792,  1793,  1796,  1796,  1804,  1809,  1814,  1819,
-    1819,  1827,  1830,  1833,  1836,  1839,  1845,  1845,  1855,  1855,
-    1862,  1862,  1869,  1869,  1881,  1881,  1891,  1891,  1902,  1903,
-    1907,  1911,  1911,  1923,  1924,  1928,  1928,  1936,  1937,  1940,
-    1941,  1942,  1943,  1944,  1945,  1946,  1949,  1954,  1954,  1962,
-    1962,  1972,  1973,  1976,  1976,  1984,  1985,  1988,  1989,  1990,
-    1991,  1994,  1994,  2002,  2007,  2012
+    1738,  1741,  1746,  1746,  1754,  1754,  1762,  1767,  1767,  1775,
+    1780,  1785,  1785,  1793,  1794,  1797,  1797,  1805,  1810,  1815,
+    1820,  1820,  1828,  1831,  1834,  1837,  1840,  1846,  1846,  1856,
+    1856,  1863,  1863,  1870,  1870,  1882,  1882,  1892,  1892,  1903,
+    1904,  1908,  1912,  1912,  1924,  1925,  1929,  1929,  1937,  1938,
+    1941,  1942,  1943,  1944,  1945,  1946,  1947,  1950,  1955,  1955,
+    1963,  1963,  1973,  1974,  1977,  1977,  1985,  1986,  1989,  1990,
+    1991,  1992,  1995,  1995,  2003,  2008,  2013
   };
 
   // Print the state stack on the debug stream.
@@ -4491,8 +4490,8 @@ namespace isc { namespace dhcp {
 
 #line 14 "dhcp4_parser.yy" // lalr1.cc:1167
 } } // isc::dhcp
-#line 4495 "dhcp4_parser.cc" // lalr1.cc:1167
-#line 2017 "dhcp4_parser.yy" // lalr1.cc:1168
+#line 4494 "dhcp4_parser.cc" // lalr1.cc:1167
+#line 2018 "dhcp4_parser.yy" // lalr1.cc:1168
 
 
 void
index 54ed2dbf8d8016633047cc0ef64686e1b8d66c52..456b8b3b1da47a75aea285944f33e430552f7384 100644 (file)
@@ -1416,8 +1416,8 @@ namespace isc { namespace dhcp {
     enum
     {
       yyeof_ = 0,
-      yylast_ = 892,     ///< Last index in yytable_.
-      yynnts_ = 337,  ///< Number of nonterminal symbols.
+      yylast_ = 886,     ///< Last index in yytable_.
+      yynnts_ = 338,  ///< Number of nonterminal symbols.
       yyfinal_ = 28, ///< Termination state number.
       yyterror_ = 1,
       yyerrcode_ = 256,
@@ -1519,8 +1519,8 @@ namespace isc { namespace dhcp {
       case 212: // outbound_interface_value
       case 222: // db_type
       case 299: // hr_mode
-      case 444: // ncr_protocol_value
-      case 452: // replace_client_name_value
+      case 445: // ncr_protocol_value
+      case 453: // replace_client_name_value
         value.copy< ElementPtr > (other.value);
         break;
 
@@ -1563,8 +1563,8 @@ namespace isc { namespace dhcp {
       case 212: // outbound_interface_value
       case 222: // db_type
       case 299: // hr_mode
-      case 444: // ncr_protocol_value
-      case 452: // replace_client_name_value
+      case 445: // ncr_protocol_value
+      case 453: // replace_client_name_value
         value.copy< ElementPtr > (v);
         break;
 
@@ -1666,8 +1666,8 @@ namespace isc { namespace dhcp {
       case 212: // outbound_interface_value
       case 222: // db_type
       case 299: // hr_mode
-      case 444: // ncr_protocol_value
-      case 452: // replace_client_name_value
+      case 445: // ncr_protocol_value
+      case 453: // replace_client_name_value
         value.template destroy< ElementPtr > ();
         break;
 
@@ -1716,8 +1716,8 @@ namespace isc { namespace dhcp {
       case 212: // outbound_interface_value
       case 222: // db_type
       case 299: // hr_mode
-      case 444: // ncr_protocol_value
-      case 452: // replace_client_name_value
+      case 445: // ncr_protocol_value
+      case 453: // replace_client_name_value
         value.move< ElementPtr > (s.value);
         break;
 
index 65f2c5fc48827bd74fec185570694bcb13bdfeaa..5920ce03e6f94633c916e31c2ed627c30dcfcce7 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201712311009
+// Generated 201801182315
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Locations for Bison parsers in C++
index ba1db213084a0f264c74ce1283e1020e5e8b2191..15f123a94b9c64febeac1ef03a2bcd35ef66a1d4 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201712311009
+// Generated 201801182315
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Positions for Bison parsers in C++
index 6d87f1547cbf8fa34197f8c2b0c201620cf44e83..83b9db26324a113c99c01a5e096b7f25d48ce385 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201712311009
+// Generated 201801182315
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Stack handling for Bison parsers in C++
index ed7908e21b3edd2a325edef795ab303b4b539fe7..4b86a5428d7865c236f3bea8154fc1fcd9d72e83 100644 (file)
@@ -1581,13 +1581,13 @@ static const flex_int16_t yy_rule_linenum[162] =
       885,  894,  904,  914,  923,  932,  941,  950,  960,  969,
       978,  987,  996, 1005, 1014, 1023, 1032, 1041, 1051, 1060,
 
-     1069, 1079, 1090, 1100, 1109, 1118, 1127, 1138, 1148, 1157,
-     1167, 1177, 1186, 1195, 1204, 1213, 1223, 1232, 1242, 1251,
-     1260, 1269, 1278, 1287, 1296, 1305, 1314, 1323, 1332, 1341,
-     1350, 1359, 1368, 1377, 1386, 1395, 1404, 1413, 1422, 1431,
-     1440, 1449, 1458, 1468, 1567, 1572, 1577, 1582, 1583, 1584,
-     1585, 1586, 1587, 1589, 1607, 1620, 1625, 1629, 1631, 1633,
-     1635
+     1069, 1079, 1092, 1102, 1111, 1120, 1129, 1140, 1150, 1159,
+     1169, 1179, 1188, 1197, 1206, 1215, 1225, 1234, 1244, 1253,
+     1262, 1271, 1280, 1289, 1298, 1307, 1316, 1325, 1334, 1343,
+     1352, 1361, 1370, 1379, 1388, 1397, 1406, 1415, 1424, 1433,
+     1442, 1451, 1460, 1470, 1569, 1574, 1579, 1584, 1585, 1586,
+     1587, 1588, 1589, 1591, 1609, 1622, 1627, 1631, 1633, 1635,
+     1637
     } ;
 
 /* The intent behind this definition is that it'll catch
@@ -2718,7 +2718,7 @@ YY_RULE_SETUP
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
     case isc::dhcp::Parser6Context::SUBNET6:
-    case Parser6Context::SHARED_NETWORK:
+    case isc::dhcp::Parser6Context::SHARED_NETWORK:
         return isc::dhcp::Dhcp6Parser::make_PREFERRED_LIFETIME(driver.loc_);
     default:
         return isc::dhcp::Dhcp6Parser::make_STRING("preferred-lifetime", driver.loc_);
@@ -2732,7 +2732,7 @@ YY_RULE_SETUP
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
     case isc::dhcp::Parser6Context::SUBNET6:
-    case Parser6Context::SHARED_NETWORK:
+    case isc::dhcp::Parser6Context::SHARED_NETWORK:
         return isc::dhcp::Dhcp6Parser::make_VALID_LIFETIME(driver.loc_);
     default:
         return isc::dhcp::Dhcp6Parser::make_STRING("valid-lifetime", driver.loc_);
@@ -2746,7 +2746,7 @@ YY_RULE_SETUP
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
     case isc::dhcp::Parser6Context::SUBNET6:
-    case Parser6Context::SHARED_NETWORK:
+    case isc::dhcp::Parser6Context::SHARED_NETWORK:
         return isc::dhcp::Dhcp6Parser::make_RENEW_TIMER(driver.loc_);
     default:
         return isc::dhcp::Dhcp6Parser::make_STRING("renew-timer", driver.loc_);
@@ -2760,7 +2760,7 @@ YY_RULE_SETUP
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
     case isc::dhcp::Parser6Context::SUBNET6:
-    case Parser6Context::SHARED_NETWORK:
+    case isc::dhcp::Parser6Context::SHARED_NETWORK:
         return isc::dhcp::Dhcp6Parser::make_REBIND_TIMER(driver.loc_);
     default:
         return isc::dhcp::Dhcp6Parser::make_STRING("rebind-timer", driver.loc_);
@@ -2785,7 +2785,7 @@ YY_RULE_SETUP
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
-    case Parser6Context::SHARED_NETWORK:
+    case isc::dhcp::Parser6Context::SHARED_NETWORK:
         return isc::dhcp::Dhcp6Parser::make_SUBNET6(driver.loc_);
     default:
         return isc::dhcp::Dhcp6Parser::make_STRING("subnet6", driver.loc_);
@@ -2797,7 +2797,7 @@ YY_RULE_SETUP
 #line 672 "dhcp6_lexer.ll"
 {
     switch (driver.ctx_) {
-    case Parser6Context::DHCP6:
+    case isc::dhcp::Parser6Context::DHCP6:
         return Dhcp6Parser::make_SHARED_NETWORKS(driver.loc_);
     default:
         return Dhcp6Parser::make_STRING("shared-networks", driver.loc_);
@@ -2828,7 +2828,7 @@ YY_RULE_SETUP
     case isc::dhcp::Parser6Context::RESERVATIONS:
     case isc::dhcp::Parser6Context::CLIENT_CLASSES:
     case isc::dhcp::Parser6Context::CLIENT_CLASS:
-    case Parser6Context::SHARED_NETWORK:
+    case isc::dhcp::Parser6Context::SHARED_NETWORK:
         return isc::dhcp::Dhcp6Parser::make_OPTION_DATA(driver.loc_);
     default:
         return isc::dhcp::Dhcp6Parser::make_STRING("option-data", driver.loc_);
@@ -2847,7 +2847,7 @@ YY_RULE_SETUP
     case isc::dhcp::Parser6Context::CLIENT_CLASSES:
     case isc::dhcp::Parser6Context::CLIENT_CLASS:
     case isc::dhcp::Parser6Context::LOGGERS:
-    case Parser6Context::SHARED_NETWORK:
+    case isc::dhcp::Parser6Context::SHARED_NETWORK:
         return isc::dhcp::Dhcp6Parser::make_NAME(driver.loc_);
     default:
         return isc::dhcp::Dhcp6Parser::make_STRING("name", driver.loc_);
@@ -3042,7 +3042,7 @@ YY_RULE_SETUP
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
-    case Parser6Context::SHARED_NETWORK:
+    case isc::dhcp::Parser6Context::SHARED_NETWORK:
         return isc::dhcp::Dhcp6Parser::make_INTERFACE(driver.loc_);
     default:
         return isc::dhcp::Dhcp6Parser::make_STRING("interface", driver.loc_);
@@ -3055,7 +3055,7 @@ YY_RULE_SETUP
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
-    case Parser6Context::SHARED_NETWORK:
+    case isc::dhcp::Parser6Context::SHARED_NETWORK:
         return isc::dhcp::Dhcp6Parser::make_INTERFACE_ID(driver.loc_);
     default:
         return isc::dhcp::Dhcp6Parser::make_STRING("interface-id", driver.loc_);
@@ -3080,7 +3080,7 @@ YY_RULE_SETUP
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
-    case Parser6Context::SHARED_NETWORK:
+    case isc::dhcp::Parser6Context::SHARED_NETWORK:
         return isc::dhcp::Dhcp6Parser::make_RAPID_COMMIT(driver.loc_);
     default:
         return isc::dhcp::Dhcp6Parser::make_STRING("rapid-commit", driver.loc_);
@@ -3093,7 +3093,7 @@ YY_RULE_SETUP
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
-    case Parser6Context::SHARED_NETWORK:
+    case isc::dhcp::Parser6Context::SHARED_NETWORK:
         return isc::dhcp::Dhcp6Parser::make_RESERVATION_MODE(driver.loc_);
     default:
         return isc::dhcp::Dhcp6Parser::make_STRING("reservation-mode", driver.loc_);
@@ -3324,8 +3324,10 @@ YY_RULE_SETUP
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
+    case isc::dhcp::Parser6Context::POOLS:
+    case isc::dhcp::Parser6Context::PD_POOLS:
     case isc::dhcp::Parser6Context::CLIENT_CLASSES:
-    case Parser6Context::SHARED_NETWORK:
+    case isc::dhcp::Parser6Context::SHARED_NETWORK:
         return isc::dhcp::Dhcp6Parser::make_CLIENT_CLASS(driver.loc_);
     default:
         return isc::dhcp::Dhcp6Parser::make_STRING("client-class", driver.loc_);
@@ -3334,7 +3336,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 103:
 YY_RULE_SETUP
-#line 1090 "dhcp6_lexer.ll"
+#line 1092 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CLIENT_CLASSES:
@@ -3347,7 +3349,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 104:
 YY_RULE_SETUP
-#line 1100 "dhcp6_lexer.ll"
+#line 1102 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3359,7 +3361,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 105:
 YY_RULE_SETUP
-#line 1109 "dhcp6_lexer.ll"
+#line 1111 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATIONS:
@@ -3371,7 +3373,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 106:
 YY_RULE_SETUP
-#line 1118 "dhcp6_lexer.ll"
+#line 1120 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATIONS:
@@ -3383,7 +3385,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 107:
 YY_RULE_SETUP
-#line 1127 "dhcp6_lexer.ll"
+#line 1129 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::MAC_SOURCES:
@@ -3397,7 +3399,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 108:
 YY_RULE_SETUP
-#line 1138 "dhcp6_lexer.ll"
+#line 1140 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3410,7 +3412,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 109:
 YY_RULE_SETUP
-#line 1148 "dhcp6_lexer.ll"
+#line 1150 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATIONS:
@@ -3422,7 +3424,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 110:
 YY_RULE_SETUP
-#line 1157 "dhcp6_lexer.ll"
+#line 1159 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3435,7 +3437,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 1167 "dhcp6_lexer.ll"
+#line 1169 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3448,7 +3450,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 112:
 YY_RULE_SETUP
-#line 1177 "dhcp6_lexer.ll"
+#line 1179 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DATA:
@@ -3460,7 +3462,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 113:
 YY_RULE_SETUP
-#line 1186 "dhcp6_lexer.ll"
+#line 1188 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3472,7 +3474,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 114:
 YY_RULE_SETUP
-#line 1195 "dhcp6_lexer.ll"
+#line 1197 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3484,7 +3486,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 115:
 YY_RULE_SETUP
-#line 1204 "dhcp6_lexer.ll"
+#line 1206 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3496,11 +3498,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 116:
 YY_RULE_SETUP
-#line 1213 "dhcp6_lexer.ll"
+#line 1215 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
-    case Parser6Context::SHARED_NETWORK:
+    case isc::dhcp::Parser6Context::SHARED_NETWORK:
         return isc::dhcp::Dhcp6Parser::make_RELAY(driver.loc_);
     default:
         return isc::dhcp::Dhcp6Parser::make_STRING("relay", driver.loc_);
@@ -3509,11 +3511,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 117:
 YY_RULE_SETUP
-#line 1223 "dhcp6_lexer.ll"
+#line 1225 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RELAY:
-    return isc::dhcp::Dhcp6Parser::make_IP_ADDRESS(driver.loc_);
+        return isc::dhcp::Dhcp6Parser::make_IP_ADDRESS(driver.loc_);
     default:
         return isc::dhcp::Dhcp6Parser::make_STRING("ip-address", driver.loc_);
     }
@@ -3521,7 +3523,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 118:
 YY_RULE_SETUP
-#line 1232 "dhcp6_lexer.ll"
+#line 1234 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3533,7 +3535,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 119:
 YY_RULE_SETUP
-#line 1242 "dhcp6_lexer.ll"
+#line 1244 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
@@ -3545,7 +3547,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 120:
 YY_RULE_SETUP
-#line 1251 "dhcp6_lexer.ll"
+#line 1253 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
@@ -3557,7 +3559,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 121:
 YY_RULE_SETUP
-#line 1260 "dhcp6_lexer.ll"
+#line 1262 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3569,7 +3571,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 122:
 YY_RULE_SETUP
-#line 1269 "dhcp6_lexer.ll"
+#line 1271 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DUID_TYPE:
@@ -3581,7 +3583,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 123:
 YY_RULE_SETUP
-#line 1278 "dhcp6_lexer.ll"
+#line 1280 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DUID_TYPE:
@@ -3593,7 +3595,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 124:
 YY_RULE_SETUP
-#line 1287 "dhcp6_lexer.ll"
+#line 1289 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DUID_TYPE:
@@ -3605,7 +3607,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 125:
 YY_RULE_SETUP
-#line 1296 "dhcp6_lexer.ll"
+#line 1298 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -3617,7 +3619,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 126:
 YY_RULE_SETUP
-#line 1305 "dhcp6_lexer.ll"
+#line 1307 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -3629,7 +3631,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 127:
 YY_RULE_SETUP
-#line 1314 "dhcp6_lexer.ll"
+#line 1316 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -3641,7 +3643,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 128:
 YY_RULE_SETUP
-#line 1323 "dhcp6_lexer.ll"
+#line 1325 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -3653,7 +3655,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 129:
 YY_RULE_SETUP
-#line 1332 "dhcp6_lexer.ll"
+#line 1334 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3665,7 +3667,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 130:
 YY_RULE_SETUP
-#line 1341 "dhcp6_lexer.ll"
+#line 1343 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3677,7 +3679,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 131:
 YY_RULE_SETUP
-#line 1350 "dhcp6_lexer.ll"
+#line 1352 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3689,7 +3691,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 132:
 YY_RULE_SETUP
-#line 1359 "dhcp6_lexer.ll"
+#line 1361 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3701,7 +3703,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 133:
 YY_RULE_SETUP
-#line 1368 "dhcp6_lexer.ll"
+#line 1370 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3713,7 +3715,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 134:
 YY_RULE_SETUP
-#line 1377 "dhcp6_lexer.ll"
+#line 1379 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3725,7 +3727,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 135:
 YY_RULE_SETUP
-#line 1386 "dhcp6_lexer.ll"
+#line 1388 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3737,7 +3739,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 136:
 YY_RULE_SETUP
-#line 1395 "dhcp6_lexer.ll"
+#line 1397 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3749,7 +3751,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 137:
 YY_RULE_SETUP
-#line 1404 "dhcp6_lexer.ll"
+#line 1406 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3761,7 +3763,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 138:
 YY_RULE_SETUP
-#line 1413 "dhcp6_lexer.ll"
+#line 1415 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONTROL_SOCKET:
@@ -3773,7 +3775,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 139:
 YY_RULE_SETUP
-#line 1422 "dhcp6_lexer.ll"
+#line 1424 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONTROL_SOCKET:
@@ -3785,7 +3787,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 140:
 YY_RULE_SETUP
-#line 1431 "dhcp6_lexer.ll"
+#line 1433 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3797,7 +3799,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 141:
 YY_RULE_SETUP
-#line 1440 "dhcp6_lexer.ll"
+#line 1442 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG:
@@ -3809,7 +3811,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 142:
 YY_RULE_SETUP
-#line 1449 "dhcp6_lexer.ll"
+#line 1451 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG:
@@ -3821,7 +3823,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 143:
 YY_RULE_SETUP
-#line 1458 "dhcp6_lexer.ll"
+#line 1460 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG:
@@ -3833,7 +3835,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 144:
 YY_RULE_SETUP
-#line 1468 "dhcp6_lexer.ll"
+#line 1470 "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.
@@ -3936,7 +3938,7 @@ YY_RULE_SETUP
 case 145:
 /* rule 145 can match eol */
 YY_RULE_SETUP
-#line 1567 "dhcp6_lexer.ll"
+#line 1569 "dhcp6_lexer.ll"
 {
     /* Bad string with a forbidden control character inside */
     driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
@@ -3945,7 +3947,7 @@ YY_RULE_SETUP
 case 146:
 /* rule 146 can match eol */
 YY_RULE_SETUP
-#line 1572 "dhcp6_lexer.ll"
+#line 1574 "dhcp6_lexer.ll"
 {
     /* Bad string with a bad escape inside */
     driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
@@ -3953,7 +3955,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 147:
 YY_RULE_SETUP
-#line 1577 "dhcp6_lexer.ll"
+#line 1579 "dhcp6_lexer.ll"
 {
     /* Bad string with an open escape at the end */
     driver.error(driver.loc_, "Overflow escape in " + std::string(yytext));
@@ -3961,37 +3963,37 @@ YY_RULE_SETUP
        YY_BREAK
 case 148:
 YY_RULE_SETUP
-#line 1582 "dhcp6_lexer.ll"
+#line 1584 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
 case 149:
 YY_RULE_SETUP
-#line 1583 "dhcp6_lexer.ll"
+#line 1585 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
 case 150:
 YY_RULE_SETUP
-#line 1584 "dhcp6_lexer.ll"
+#line 1586 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); }
        YY_BREAK
 case 151:
 YY_RULE_SETUP
-#line 1585 "dhcp6_lexer.ll"
+#line 1587 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); }
        YY_BREAK
 case 152:
 YY_RULE_SETUP
-#line 1586 "dhcp6_lexer.ll"
+#line 1588 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); }
        YY_BREAK
 case 153:
 YY_RULE_SETUP
-#line 1587 "dhcp6_lexer.ll"
+#line 1589 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); }
        YY_BREAK
 case 154:
 YY_RULE_SETUP
-#line 1589 "dhcp6_lexer.ll"
+#line 1591 "dhcp6_lexer.ll"
 {
     /* An integer was found. */
     std::string tmp(yytext);
@@ -4012,7 +4014,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 155:
 YY_RULE_SETUP
-#line 1607 "dhcp6_lexer.ll"
+#line 1609 "dhcp6_lexer.ll"
 {
     /* A floating point was found. */
     std::string tmp(yytext);
@@ -4028,7 +4030,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 156:
 YY_RULE_SETUP
-#line 1620 "dhcp6_lexer.ll"
+#line 1622 "dhcp6_lexer.ll"
 {
     string tmp(yytext);
     return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_);
@@ -4036,33 +4038,33 @@ YY_RULE_SETUP
        YY_BREAK
 case 157:
 YY_RULE_SETUP
-#line 1625 "dhcp6_lexer.ll"
+#line 1627 "dhcp6_lexer.ll"
 {
    return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_);
 }
        YY_BREAK
 case 158:
 YY_RULE_SETUP
-#line 1629 "dhcp6_lexer.ll"
+#line 1631 "dhcp6_lexer.ll"
 driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
        YY_BREAK
 case 159:
 YY_RULE_SETUP
-#line 1631 "dhcp6_lexer.ll"
+#line 1633 "dhcp6_lexer.ll"
 driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
        YY_BREAK
 case 160:
 YY_RULE_SETUP
-#line 1633 "dhcp6_lexer.ll"
+#line 1635 "dhcp6_lexer.ll"
 driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
        YY_BREAK
 case 161:
 YY_RULE_SETUP
-#line 1635 "dhcp6_lexer.ll"
+#line 1637 "dhcp6_lexer.ll"
 driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 1637 "dhcp6_lexer.ll"
+#line 1639 "dhcp6_lexer.ll"
 {
     if (driver.states_.empty()) {
         return isc::dhcp::Dhcp6Parser::make_END(driver.loc_);
@@ -4088,10 +4090,10 @@ case YY_STATE_EOF(INITIAL):
        YY_BREAK
 case 162:
 YY_RULE_SETUP
-#line 1660 "dhcp6_lexer.ll"
+#line 1662 "dhcp6_lexer.ll"
 ECHO;
        YY_BREAK
-#line 4094 "dhcp6_lexer.cc"
+#line 4096 "dhcp6_lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
@@ -5196,7 +5198,7 @@ void yyfree (void * ptr )
 
 /* %ok-for-header */
 
-#line 1660 "dhcp6_lexer.ll"
+#line 1662 "dhcp6_lexer.ll"
 
 
 using namespace isc::dhcp;
index 871197461b111bbe7a69184d000ea1a231047de8..8bc17134147eda5d27765483be54f9335d471a99 100644 (file)
@@ -257,9 +257,9 @@ namespace isc { namespace dhcp {
       case 177: // map_value
       case 221: // db_type
       case 297: // hr_mode
-      case 430: // duid_type
-      case 463: // ncr_protocol_value
-      case 471: // replace_client_name_value
+      case 431: // duid_type
+      case 464: // ncr_protocol_value
+      case 472: // replace_client_name_value
         value.move< ElementPtr > (that.value);
         break;
 
@@ -298,9 +298,9 @@ namespace isc { namespace dhcp {
       case 177: // map_value
       case 221: // db_type
       case 297: // hr_mode
-      case 430: // duid_type
-      case 463: // ncr_protocol_value
-      case 471: // replace_client_name_value
+      case 431: // duid_type
+      case 464: // ncr_protocol_value
+      case 472: // replace_client_name_value
         value.copy< ElementPtr > (that.value);
         break;
 
@@ -412,21 +412,21 @@ namespace isc { namespace dhcp {
 #line 413 "dhcp6_parser.cc" // lalr1.cc:636
         break;
 
-      case 430: // duid_type
+      case 431: // duid_type
 
 #line 229 "dhcp6_parser.yy" // lalr1.cc:636
         { yyoutput << yysym.value.template as< ElementPtr > (); }
 #line 420 "dhcp6_parser.cc" // lalr1.cc:636
         break;
 
-      case 463: // ncr_protocol_value
+      case 464: // ncr_protocol_value
 
 #line 229 "dhcp6_parser.yy" // lalr1.cc:636
         { yyoutput << yysym.value.template as< ElementPtr > (); }
 #line 427 "dhcp6_parser.cc" // lalr1.cc:636
         break;
 
-      case 471: // replace_client_name_value
+      case 472: // replace_client_name_value
 
 #line 229 "dhcp6_parser.yy" // lalr1.cc:636
         { yyoutput << yysym.value.template as< ElementPtr > (); }
@@ -634,9 +634,9 @@ namespace isc { namespace dhcp {
       case 177: // map_value
       case 221: // db_type
       case 297: // hr_mode
-      case 430: // duid_type
-      case 463: // ncr_protocol_value
-      case 471: // replace_client_name_value
+      case 431: // duid_type
+      case 464: // ncr_protocol_value
+      case 472: // replace_client_name_value
         yylhs.value.build< ElementPtr > ();
         break;
 
@@ -2182,16 +2182,16 @@ namespace isc { namespace dhcp {
 #line 2183 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 372:
-#line 1315 "dhcp6_parser.yy" // lalr1.cc:859
+  case 373:
+#line 1316 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2191 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 373:
-#line 1317 "dhcp6_parser.yy" // lalr1.cc:859
+  case 374:
+#line 1318 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr pool(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pool", pool);
@@ -2200,16 +2200,16 @@ namespace isc { namespace dhcp {
 #line 2201 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 374:
-#line 1323 "dhcp6_parser.yy" // lalr1.cc:859
+  case 375:
+#line 1324 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2209 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 375:
-#line 1325 "dhcp6_parser.yy" // lalr1.cc:859
+  case 376:
+#line 1326 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr parent = ctx.stack_.back();
     ElementPtr user_context = yystack_[0].value.as< ElementPtr > ();
@@ -2235,16 +2235,16 @@ namespace isc { namespace dhcp {
 #line 2236 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 376:
-#line 1348 "dhcp6_parser.yy" // lalr1.cc:859
+  case 377:
+#line 1349 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2244 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 377:
-#line 1350 "dhcp6_parser.yy" // lalr1.cc:859
+  case 378:
+#line 1351 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr parent = ctx.stack_.back();
     ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location)));
@@ -2272,8 +2272,8 @@ namespace isc { namespace dhcp {
 #line 2273 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 378:
-#line 1378 "dhcp6_parser.yy" // lalr1.cc:859
+  case 379:
+#line 1379 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pd-pools", l);
@@ -2283,8 +2283,8 @@ namespace isc { namespace dhcp {
 #line 2284 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 379:
-#line 1383 "dhcp6_parser.yy" // lalr1.cc:859
+  case 380:
+#line 1384 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2292,8 +2292,8 @@ namespace isc { namespace dhcp {
 #line 2293 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 384:
-#line 1398 "dhcp6_parser.yy" // lalr1.cc:859
+  case 385:
+#line 1399 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2302,8 +2302,8 @@ namespace isc { namespace dhcp {
 #line 2303 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 385:
-#line 1402 "dhcp6_parser.yy" // lalr1.cc:859
+  case 386:
+#line 1403 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The prefix, prefix len and delegated len parameters are required.
     ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2314,8 +2314,8 @@ namespace isc { namespace dhcp {
 #line 2315 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 386:
-#line 1410 "dhcp6_parser.yy" // lalr1.cc:859
+  case 387:
+#line 1411 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the pd-pool list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2324,8 +2324,8 @@ namespace isc { namespace dhcp {
 #line 2325 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 387:
-#line 1414 "dhcp6_parser.yy" // lalr1.cc:859
+  case 388:
+#line 1415 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The prefix, prefix len and delegated len parameters are required.
     ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2336,16 +2336,16 @@ namespace isc { namespace dhcp {
 #line 2337 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 399:
-#line 1437 "dhcp6_parser.yy" // lalr1.cc:859
+  case 401:
+#line 1439 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2345 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 400:
-#line 1439 "dhcp6_parser.yy" // lalr1.cc:859
+  case 402:
+#line 1441 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("prefix", prf);
@@ -2354,8 +2354,8 @@ namespace isc { namespace dhcp {
 #line 2355 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 401:
-#line 1445 "dhcp6_parser.yy" // lalr1.cc:859
+  case 403:
+#line 1447 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("prefix-len", prf);
@@ -2363,16 +2363,16 @@ namespace isc { namespace dhcp {
 #line 2364 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 402:
-#line 1450 "dhcp6_parser.yy" // lalr1.cc:859
+  case 404:
+#line 1452 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2372 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 403:
-#line 1452 "dhcp6_parser.yy" // lalr1.cc:859
+  case 405:
+#line 1454 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("excluded-prefix", prf);
@@ -2381,8 +2381,8 @@ namespace isc { namespace dhcp {
 #line 2382 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 404:
-#line 1458 "dhcp6_parser.yy" // lalr1.cc:859
+  case 406:
+#line 1460 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("excluded-prefix-len", prf);
@@ -2390,8 +2390,8 @@ namespace isc { namespace dhcp {
 #line 2391 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 405:
-#line 1463 "dhcp6_parser.yy" // lalr1.cc:859
+  case 407:
+#line 1465 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr deleg(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("delegated-len", deleg);
@@ -2399,8 +2399,8 @@ namespace isc { namespace dhcp {
 #line 2400 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 406:
-#line 1471 "dhcp6_parser.yy" // lalr1.cc:859
+  case 408:
+#line 1473 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("reservations", l);
@@ -2410,8 +2410,8 @@ namespace isc { namespace dhcp {
 #line 2411 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 407:
-#line 1476 "dhcp6_parser.yy" // lalr1.cc:859
+  case 409:
+#line 1478 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2419,8 +2419,8 @@ namespace isc { namespace dhcp {
 #line 2420 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 412:
-#line 1489 "dhcp6_parser.yy" // lalr1.cc:859
+  case 414:
+#line 1491 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2429,8 +2429,8 @@ namespace isc { namespace dhcp {
 #line 2430 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 413:
-#line 1493 "dhcp6_parser.yy" // lalr1.cc:859
+  case 415:
+#line 1495 "dhcp6_parser.yy" // lalr1.cc:859
     {
     /// @todo: an identifier parameter is required.
     ctx.stack_.pop_back();
@@ -2438,8 +2438,8 @@ namespace isc { namespace dhcp {
 #line 2439 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 414:
-#line 1498 "dhcp6_parser.yy" // lalr1.cc:859
+  case 416:
+#line 1500 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the reservations list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2448,8 +2448,8 @@ namespace isc { namespace dhcp {
 #line 2449 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 415:
-#line 1502 "dhcp6_parser.yy" // lalr1.cc:859
+  case 417:
+#line 1504 "dhcp6_parser.yy" // lalr1.cc:859
     {
     /// @todo: an identifier parameter is required.
     // parsing completed
@@ -2457,8 +2457,8 @@ namespace isc { namespace dhcp {
 #line 2458 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 431:
-#line 1529 "dhcp6_parser.yy" // lalr1.cc:859
+  case 433:
+#line 1531 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ip-addresses", l);
@@ -2468,8 +2468,8 @@ namespace isc { namespace dhcp {
 #line 2469 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 432:
-#line 1534 "dhcp6_parser.yy" // lalr1.cc:859
+  case 434:
+#line 1536 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2477,8 +2477,8 @@ namespace isc { namespace dhcp {
 #line 2478 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 433:
-#line 1539 "dhcp6_parser.yy" // lalr1.cc:859
+  case 435:
+#line 1541 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("prefixes", l);
@@ -2488,8 +2488,8 @@ namespace isc { namespace dhcp {
 #line 2489 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 434:
-#line 1544 "dhcp6_parser.yy" // lalr1.cc:859
+  case 436:
+#line 1546 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2497,16 +2497,16 @@ namespace isc { namespace dhcp {
 #line 2498 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 435:
-#line 1549 "dhcp6_parser.yy" // lalr1.cc:859
+  case 437:
+#line 1551 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2506 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 436:
-#line 1551 "dhcp6_parser.yy" // lalr1.cc:859
+  case 438:
+#line 1553 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr d(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("duid", d);
@@ -2515,16 +2515,16 @@ namespace isc { namespace dhcp {
 #line 2516 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 437:
-#line 1557 "dhcp6_parser.yy" // lalr1.cc:859
+  case 439:
+#line 1559 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2524 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 438:
-#line 1559 "dhcp6_parser.yy" // lalr1.cc:859
+  case 440:
+#line 1561 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hw-address", hw);
@@ -2533,16 +2533,16 @@ namespace isc { namespace dhcp {
 #line 2534 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 439:
-#line 1565 "dhcp6_parser.yy" // lalr1.cc:859
+  case 441:
+#line 1567 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2542 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 440:
-#line 1567 "dhcp6_parser.yy" // lalr1.cc:859
+  case 442:
+#line 1569 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr host(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hostname", host);
@@ -2551,16 +2551,16 @@ namespace isc { namespace dhcp {
 #line 2552 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 441:
-#line 1573 "dhcp6_parser.yy" // lalr1.cc:859
+  case 443:
+#line 1575 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2560 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 442:
-#line 1575 "dhcp6_parser.yy" // lalr1.cc:859
+  case 444:
+#line 1577 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("flex-id", hw);
@@ -2569,8 +2569,8 @@ namespace isc { namespace dhcp {
 #line 2570 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 443:
-#line 1581 "dhcp6_parser.yy" // lalr1.cc:859
+  case 445:
+#line 1583 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-classes", c);
@@ -2580,8 +2580,8 @@ namespace isc { namespace dhcp {
 #line 2581 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 444:
-#line 1586 "dhcp6_parser.yy" // lalr1.cc:859
+  case 446:
+#line 1588 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2589,8 +2589,8 @@ namespace isc { namespace dhcp {
 #line 2590 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 445:
-#line 1594 "dhcp6_parser.yy" // lalr1.cc:859
+  case 447:
+#line 1596 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("relay", m);
@@ -2600,8 +2600,8 @@ namespace isc { namespace dhcp {
 #line 2601 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 446:
-#line 1599 "dhcp6_parser.yy" // lalr1.cc:859
+  case 448:
+#line 1601 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2609,16 +2609,16 @@ namespace isc { namespace dhcp {
 #line 2610 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 447:
-#line 1604 "dhcp6_parser.yy" // lalr1.cc:859
+  case 449:
+#line 1606 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2618 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 448:
-#line 1606 "dhcp6_parser.yy" // lalr1.cc:859
+  case 450:
+#line 1608 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr ip(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ip-address", ip);
@@ -2627,8 +2627,8 @@ namespace isc { namespace dhcp {
 #line 2628 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 449:
-#line 1615 "dhcp6_parser.yy" // lalr1.cc:859
+  case 451:
+#line 1617 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-classes", l);
@@ -2638,8 +2638,8 @@ namespace isc { namespace dhcp {
 #line 2639 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 450:
-#line 1620 "dhcp6_parser.yy" // lalr1.cc:859
+  case 452:
+#line 1622 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2647,8 +2647,8 @@ namespace isc { namespace dhcp {
 #line 2648 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 453:
-#line 1629 "dhcp6_parser.yy" // lalr1.cc:859
+  case 455:
+#line 1631 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2657,8 +2657,8 @@ namespace isc { namespace dhcp {
 #line 2658 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 454:
-#line 1633 "dhcp6_parser.yy" // lalr1.cc:859
+  case 456:
+#line 1635 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The name client class parameter is required.
     ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2667,16 +2667,16 @@ namespace isc { namespace dhcp {
 #line 2668 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 466:
-#line 1657 "dhcp6_parser.yy" // lalr1.cc:859
+  case 468:
+#line 1659 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2676 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 467:
-#line 1659 "dhcp6_parser.yy" // lalr1.cc:859
+  case 469:
+#line 1661 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr test(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("test", test);
@@ -2685,8 +2685,8 @@ namespace isc { namespace dhcp {
 #line 2686 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 468:
-#line 1668 "dhcp6_parser.yy" // lalr1.cc:859
+  case 470:
+#line 1670 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-id", m);
@@ -2696,8 +2696,8 @@ namespace isc { namespace dhcp {
 #line 2697 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 469:
-#line 1673 "dhcp6_parser.yy" // lalr1.cc:859
+  case 471:
+#line 1675 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The type parameter is required.
     ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
@@ -2707,16 +2707,16 @@ namespace isc { namespace dhcp {
 #line 2708 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 481:
-#line 1695 "dhcp6_parser.yy" // lalr1.cc:859
+  case 483:
+#line 1697 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.DUID_TYPE);
 }
 #line 2716 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 482:
-#line 1697 "dhcp6_parser.yy" // lalr1.cc:859
+  case 484:
+#line 1699 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2724,26 +2724,26 @@ namespace isc { namespace dhcp {
 #line 2725 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 483:
-#line 1702 "dhcp6_parser.yy" // lalr1.cc:859
+  case 485:
+#line 1704 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); }
 #line 2731 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 484:
-#line 1703 "dhcp6_parser.yy" // lalr1.cc:859
+  case 486:
+#line 1705 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); }
 #line 2737 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 485:
-#line 1704 "dhcp6_parser.yy" // lalr1.cc:859
+  case 487:
+#line 1706 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); }
 #line 2743 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 486:
-#line 1707 "dhcp6_parser.yy" // lalr1.cc:859
+  case 488:
+#line 1709 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr htype(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("htype", htype);
@@ -2751,16 +2751,16 @@ namespace isc { namespace dhcp {
 #line 2752 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 487:
-#line 1712 "dhcp6_parser.yy" // lalr1.cc:859
+  case 489:
+#line 1714 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2760 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 488:
-#line 1714 "dhcp6_parser.yy" // lalr1.cc:859
+  case 490:
+#line 1716 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr id(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("identifier", id);
@@ -2769,8 +2769,8 @@ namespace isc { namespace dhcp {
 #line 2770 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 489:
-#line 1720 "dhcp6_parser.yy" // lalr1.cc:859
+  case 491:
+#line 1722 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("time", time);
@@ -2778,8 +2778,8 @@ namespace isc { namespace dhcp {
 #line 2779 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 490:
-#line 1725 "dhcp6_parser.yy" // lalr1.cc:859
+  case 492:
+#line 1727 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("enterprise-id", time);
@@ -2787,8 +2787,8 @@ namespace isc { namespace dhcp {
 #line 2788 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 491:
-#line 1732 "dhcp6_parser.yy" // lalr1.cc:859
+  case 493:
+#line 1734 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("dhcp4o6-port", time);
@@ -2796,8 +2796,8 @@ namespace isc { namespace dhcp {
 #line 2797 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 492:
-#line 1739 "dhcp6_parser.yy" // lalr1.cc:859
+  case 494:
+#line 1741 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("control-socket", m);
@@ -2807,8 +2807,8 @@ namespace isc { namespace dhcp {
 #line 2808 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 493:
-#line 1744 "dhcp6_parser.yy" // lalr1.cc:859
+  case 495:
+#line 1746 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2816,16 +2816,16 @@ namespace isc { namespace dhcp {
 #line 2817 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 501:
-#line 1760 "dhcp6_parser.yy" // lalr1.cc:859
+  case 503:
+#line 1762 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2825 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 502:
-#line 1762 "dhcp6_parser.yy" // lalr1.cc:859
+  case 504:
+#line 1764 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr stype(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("socket-type", stype);
@@ -2834,16 +2834,16 @@ namespace isc { namespace dhcp {
 #line 2835 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 503:
-#line 1768 "dhcp6_parser.yy" // lalr1.cc:859
+  case 505:
+#line 1770 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2843 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 504:
-#line 1770 "dhcp6_parser.yy" // lalr1.cc:859
+  case 506:
+#line 1772 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("socket-name", name);
@@ -2852,8 +2852,8 @@ namespace isc { namespace dhcp {
 #line 2853 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 505:
-#line 1778 "dhcp6_parser.yy" // lalr1.cc:859
+  case 507:
+#line 1780 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("dhcp-ddns", m);
@@ -2863,8 +2863,8 @@ namespace isc { namespace dhcp {
 #line 2864 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 506:
-#line 1783 "dhcp6_parser.yy" // lalr1.cc:859
+  case 508:
+#line 1785 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The enable updates DHCP DDNS parameter is required.
     ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
@@ -2874,8 +2874,8 @@ namespace isc { namespace dhcp {
 #line 2875 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 507:
-#line 1790 "dhcp6_parser.yy" // lalr1.cc:859
+  case 509:
+#line 1792 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the dhcp-ddns map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2884,8 +2884,8 @@ namespace isc { namespace dhcp {
 #line 2885 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 508:
-#line 1794 "dhcp6_parser.yy" // lalr1.cc:859
+  case 510:
+#line 1796 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The enable updates DHCP DDNS parameter is required.
     ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2894,8 +2894,8 @@ namespace isc { namespace dhcp {
 #line 2895 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 528:
-#line 1823 "dhcp6_parser.yy" // lalr1.cc:859
+  case 530:
+#line 1825 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("enable-updates", b);
@@ -2903,16 +2903,16 @@ namespace isc { namespace dhcp {
 #line 2904 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 529:
-#line 1828 "dhcp6_parser.yy" // lalr1.cc:859
+  case 531:
+#line 1830 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2912 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 530:
-#line 1830 "dhcp6_parser.yy" // lalr1.cc:859
+  case 532:
+#line 1832 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("qualifying-suffix", s);
@@ -2921,16 +2921,16 @@ namespace isc { namespace dhcp {
 #line 2922 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 531:
-#line 1836 "dhcp6_parser.yy" // lalr1.cc:859
+  case 533:
+#line 1838 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2930 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 532:
-#line 1838 "dhcp6_parser.yy" // lalr1.cc:859
+  case 534:
+#line 1840 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-ip", s);
@@ -2939,8 +2939,8 @@ namespace isc { namespace dhcp {
 #line 2940 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 533:
-#line 1844 "dhcp6_parser.yy" // lalr1.cc:859
+  case 535:
+#line 1846 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-port", i);
@@ -2948,16 +2948,16 @@ namespace isc { namespace dhcp {
 #line 2949 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 534:
-#line 1849 "dhcp6_parser.yy" // lalr1.cc:859
+  case 536:
+#line 1851 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2957 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 535:
-#line 1851 "dhcp6_parser.yy" // lalr1.cc:859
+  case 537:
+#line 1853 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("sender-ip", s);
@@ -2966,8 +2966,8 @@ namespace isc { namespace dhcp {
 #line 2967 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 536:
-#line 1857 "dhcp6_parser.yy" // lalr1.cc:859
+  case 538:
+#line 1859 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("sender-port", i);
@@ -2975,8 +2975,8 @@ namespace isc { namespace dhcp {
 #line 2976 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 537:
-#line 1862 "dhcp6_parser.yy" // lalr1.cc:859
+  case 539:
+#line 1864 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("max-queue-size", i);
@@ -2984,16 +2984,16 @@ namespace isc { namespace dhcp {
 #line 2985 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 538:
-#line 1867 "dhcp6_parser.yy" // lalr1.cc:859
+  case 540:
+#line 1869 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NCR_PROTOCOL);
 }
 #line 2993 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 539:
-#line 1869 "dhcp6_parser.yy" // lalr1.cc:859
+  case 541:
+#line 1871 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3001,28 +3001,28 @@ namespace isc { namespace dhcp {
 #line 3002 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 540:
-#line 1875 "dhcp6_parser.yy" // lalr1.cc:859
+  case 542:
+#line 1877 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
 #line 3008 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 541:
-#line 1876 "dhcp6_parser.yy" // lalr1.cc:859
+  case 543:
+#line 1878 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
 #line 3014 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 542:
-#line 1879 "dhcp6_parser.yy" // lalr1.cc:859
+  case 544:
+#line 1881 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NCR_FORMAT);
 }
 #line 3022 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 543:
-#line 1881 "dhcp6_parser.yy" // lalr1.cc:859
+  case 545:
+#line 1883 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ncr-format", json);
@@ -3031,8 +3031,8 @@ namespace isc { namespace dhcp {
 #line 3032 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 544:
-#line 1887 "dhcp6_parser.yy" // lalr1.cc:859
+  case 546:
+#line 1889 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("always-include-fqdn", b);
@@ -3040,8 +3040,8 @@ namespace isc { namespace dhcp {
 #line 3041 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 545:
-#line 1892 "dhcp6_parser.yy" // lalr1.cc:859
+  case 547:
+#line 1894 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("override-no-update", b);
@@ -3049,8 +3049,8 @@ namespace isc { namespace dhcp {
 #line 3050 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 546:
-#line 1897 "dhcp6_parser.yy" // lalr1.cc:859
+  case 548:
+#line 1899 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("override-client-update", b);
@@ -3058,16 +3058,16 @@ namespace isc { namespace dhcp {
 #line 3059 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 547:
-#line 1902 "dhcp6_parser.yy" // lalr1.cc:859
+  case 549:
+#line 1904 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.REPLACE_CLIENT_NAME);
 }
 #line 3067 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 548:
-#line 1904 "dhcp6_parser.yy" // lalr1.cc:859
+  case 550:
+#line 1906 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3075,40 +3075,40 @@ namespace isc { namespace dhcp {
 #line 3076 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 549:
-#line 1910 "dhcp6_parser.yy" // lalr1.cc:859
+  case 551:
+#line 1912 "dhcp6_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); 
       }
 #line 3084 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 550:
-#line 1913 "dhcp6_parser.yy" // lalr1.cc:859
+  case 552:
+#line 1915 "dhcp6_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
       }
 #line 3092 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 551:
-#line 1916 "dhcp6_parser.yy" // lalr1.cc:859
+  case 553:
+#line 1918 "dhcp6_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
       }
 #line 3100 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 552:
-#line 1919 "dhcp6_parser.yy" // lalr1.cc:859
+  case 554:
+#line 1921 "dhcp6_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
       }
 #line 3108 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 553:
-#line 1922 "dhcp6_parser.yy" // lalr1.cc:859
+  case 555:
+#line 1924 "dhcp6_parser.yy" // lalr1.cc:859
     {
       error(yystack_[0].location, "boolean values for the replace-client-name are "
                 "no longer supported");
@@ -3116,16 +3116,16 @@ namespace isc { namespace dhcp {
 #line 3117 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 554:
-#line 1928 "dhcp6_parser.yy" // lalr1.cc:859
+  case 556:
+#line 1930 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3125 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 555:
-#line 1930 "dhcp6_parser.yy" // lalr1.cc:859
+  case 557:
+#line 1932 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("generated-prefix", s);
@@ -3134,16 +3134,16 @@ namespace isc { namespace dhcp {
 #line 3135 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 556:
-#line 1938 "dhcp6_parser.yy" // lalr1.cc:859
+  case 558:
+#line 1940 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3143 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 557:
-#line 1940 "dhcp6_parser.yy" // lalr1.cc:859
+  case 559:
+#line 1942 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("Dhcp4", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3151,16 +3151,16 @@ namespace isc { namespace dhcp {
 #line 3152 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 558:
-#line 1945 "dhcp6_parser.yy" // lalr1.cc:859
+  case 560:
+#line 1947 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3160 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 559:
-#line 1947 "dhcp6_parser.yy" // lalr1.cc:859
+  case 561:
+#line 1949 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3168,16 +3168,16 @@ namespace isc { namespace dhcp {
 #line 3169 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 560:
-#line 1952 "dhcp6_parser.yy" // lalr1.cc:859
+  case 562:
+#line 1954 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3177 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 561:
-#line 1954 "dhcp6_parser.yy" // lalr1.cc:859
+  case 563:
+#line 1956 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("Control-agent", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3185,8 +3185,8 @@ namespace isc { namespace dhcp {
 #line 3186 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 562:
-#line 1965 "dhcp6_parser.yy" // lalr1.cc:859
+  case 564:
+#line 1967 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("Logging", m);
@@ -3196,8 +3196,8 @@ namespace isc { namespace dhcp {
 #line 3197 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 563:
-#line 1970 "dhcp6_parser.yy" // lalr1.cc:859
+  case 565:
+#line 1972 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -3205,8 +3205,8 @@ namespace isc { namespace dhcp {
 #line 3206 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 564:
-#line 1975 "dhcp6_parser.yy" // lalr1.cc:859
+  case 566:
+#line 1977 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the Logging map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -3215,16 +3215,16 @@ namespace isc { namespace dhcp {
 #line 3216 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 565:
-#line 1979 "dhcp6_parser.yy" // lalr1.cc:859
+  case 567:
+#line 1981 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // parsing completed
 }
 #line 3224 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 569:
-#line 1995 "dhcp6_parser.yy" // lalr1.cc:859
+  case 571:
+#line 1997 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("loggers", l);
@@ -3234,8 +3234,8 @@ namespace isc { namespace dhcp {
 #line 3235 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 570:
-#line 2000 "dhcp6_parser.yy" // lalr1.cc:859
+  case 572:
+#line 2002 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -3243,8 +3243,8 @@ namespace isc { namespace dhcp {
 #line 3244 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 573:
-#line 2012 "dhcp6_parser.yy" // lalr1.cc:859
+  case 575:
+#line 2014 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(l);
@@ -3253,16 +3253,16 @@ namespace isc { namespace dhcp {
 #line 3254 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 574:
-#line 2016 "dhcp6_parser.yy" // lalr1.cc:859
+  case 576:
+#line 2018 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 3262 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 584:
-#line 2033 "dhcp6_parser.yy" // lalr1.cc:859
+  case 586:
+#line 2035 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("debuglevel", dl);
@@ -3270,16 +3270,16 @@ namespace isc { namespace dhcp {
 #line 3271 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 585:
-#line 2038 "dhcp6_parser.yy" // lalr1.cc:859
+  case 587:
+#line 2040 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3279 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 586:
-#line 2040 "dhcp6_parser.yy" // lalr1.cc:859
+  case 588:
+#line 2042 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("severity", sev);
@@ -3288,8 +3288,8 @@ namespace isc { namespace dhcp {
 #line 3289 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 587:
-#line 2046 "dhcp6_parser.yy" // lalr1.cc:859
+  case 589:
+#line 2048 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output_options", l);
@@ -3299,8 +3299,8 @@ namespace isc { namespace dhcp {
 #line 3300 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 588:
-#line 2051 "dhcp6_parser.yy" // lalr1.cc:859
+  case 590:
+#line 2053 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -3308,8 +3308,8 @@ namespace isc { namespace dhcp {
 #line 3309 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 591:
-#line 2060 "dhcp6_parser.yy" // lalr1.cc:859
+  case 593:
+#line 2062 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -3318,24 +3318,24 @@ namespace isc { namespace dhcp {
 #line 3319 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 592:
-#line 2064 "dhcp6_parser.yy" // lalr1.cc:859
+  case 594:
+#line 2066 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 3327 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 599:
-#line 2078 "dhcp6_parser.yy" // lalr1.cc:859
+  case 601:
+#line 2080 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3335 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 600:
-#line 2080 "dhcp6_parser.yy" // lalr1.cc:859
+  case 602:
+#line 2082 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output", sev);
@@ -3344,8 +3344,8 @@ namespace isc { namespace dhcp {
 #line 3345 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 601:
-#line 2086 "dhcp6_parser.yy" // lalr1.cc:859
+  case 603:
+#line 2088 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("flush", flush);
@@ -3353,8 +3353,8 @@ namespace isc { namespace dhcp {
 #line 3354 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 602:
-#line 2091 "dhcp6_parser.yy" // lalr1.cc:859
+  case 604:
+#line 2093 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr maxsize(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxsize", maxsize);
@@ -3362,8 +3362,8 @@ namespace isc { namespace dhcp {
 #line 3363 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 603:
-#line 2096 "dhcp6_parser.yy" // lalr1.cc:859
+  case 605:
+#line 2098 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr maxver(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxver", maxver);
@@ -3627,111 +3627,111 @@ namespace isc { namespace dhcp {
   }
 
 
-  const short int Dhcp6Parser::yypact_ninf_ = -758;
+  const short int Dhcp6Parser::yypact_ninf_ = -750;
 
   const signed char Dhcp6Parser::yytable_ninf_ = -1;
 
   const short int
   Dhcp6Parser::yypact_[] =
   {
-     306,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,    60,    28,    68,    72,    74,
-      82,    84,   110,   117,   149,   154,   160,   166,   170,   187,
-    -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,    28,    22,
-      32,   482,    36,    40,    70,     2,   177,   194,   106,   230,
-     -33,   320,    86,  -758,   229,   240,   254,   269,   276,  -758,
-    -758,  -758,  -758,  -758,   295,  -758,    35,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,   297,   301,   305,   307,
-     313,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,   316,  -758,  -758,  -758,    79,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,   327,  -758,   115,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,   333,
-     334,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-     168,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,   203,
-    -758,  -758,  -758,  -758,  -758,   337,  -758,   341,   342,  -758,
-    -758,  -758,  -758,   204,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,   344,   311,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,   346,  -758,  -758,   351,  -758,  -758,  -758,   354,  -758,
-    -758,   353,   359,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,   360,   361,  -758,  -758,
-    -758,  -758,   362,   364,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,   214,  -758,  -758,  -758,
-     368,  -758,  -758,   369,  -758,   371,   374,  -758,  -758,   375,
-     378,   384,  -758,  -758,  -758,  -758,  -758,   222,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,   241,  -758,  -758,  -758,    28,    28,
-    -758,   236,   386,   389,   390,   392,   393,  -758,    32,  -758,
-     394,   395,   396,   249,   250,   251,   253,   255,   404,   406,
-     407,   409,   410,   411,   412,   413,   414,   415,   416,   417,
-     418,   270,   419,   436,   482,  -758,   437,   303,    36,  -758,
-      38,   456,   457,   458,   459,   460,   312,   309,   463,   464,
-     465,   466,    40,  -758,   467,    70,  -758,   468,   321,   470,
-     322,   323,     2,  -758,   474,   475,   476,   477,   478,   479,
-     480,  -758,   177,  -758,   484,   485,   338,   490,   491,   494,
-     343,  -758,   106,   496,   348,   349,  -758,   230,   503,   505,
-      53,  -758,   355,   506,   517,   373,   521,   376,   377,   524,
-     528,   379,   380,   381,   529,   530,   320,  -758,   536,    86,
-    -758,  -758,  -758,   537,   535,   539,    28,    28,    28,  -758,
-     540,   541,   547,  -758,  -758,  -758,  -758,  -758,   538,   550,
-     551,   552,   405,   558,   559,   561,   564,   565,   566,   567,
-     569,  -758,   570,   571,  -758,   568,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,   549,   576,  -758,  -758,  -758,   575,
-     577,   428,   432,   433,  -758,  -758,   284,   438,   584,   583,
-    -758,   439,  -758,   440,  -758,   441,  -758,  -758,  -758,   568,
-     568,   568,   442,   443,   444,   445,  -758,   446,   447,  -758,
-     448,   449,   450,  -758,  -758,   451,  -758,  -758,  -758,   452,
-      28,  -758,  -758,   453,   454,  -758,   455,  -758,  -758,    29,
-     487,  -758,  -758,  -758,    18,   461,  -758,   605,  -758,    28,
-     482,    86,  -758,  -758,  -758,    36,   174,   174,   604,   606,
-     608,  -758,  -758,  -758,   609,   -38,    28,    80,    43,   610,
-     150,   163,    83,   320,  -758,  -758,   614,  -758,    38,   612,
-     613,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,   615,
-     542,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,   616,  -758,   242,   243,   272,  -758,  -758,
-    -758,  -758,   617,   621,   622,   623,   624,  -758,  -758,  -758,
-     273,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,   275,  -758,   625,   626,  -758,  -758,
-     627,   629,  -758,  -758,   628,   633,  -758,  -758,   631,   635,
-    -758,  -758,  -758,    63,  -758,  -758,  -758,   634,  -758,  -758,
-    -758,   122,  -758,  -758,  -758,  -758,   128,  -758,   636,   638,
-    -758,   639,   640,   641,   642,   643,   644,   285,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,  -758,   645,   646,   647,
-    -758,  -758,  -758,  -758,   286,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,   287,  -758,  -758,  -758,
-     288,   486,   499,  -758,  -758,   648,   650,  -758,  -758,   649,
-     653,  -758,  -758,   651,   655,  -758,  -758,   652,  -758,   202,
-    -758,  -758,  -758,  -758,   657,   658,   659,   660,   511,   510,
-     513,   512,   515,   666,   667,   174,  -758,  -758,    40,  -758,
-     604,   106,  -758,   606,   230,  -758,   608,    73,  -758,   609,
-     -38,  -758,  -758,    80,  -758,    43,  -758,   -33,  -758,   610,
-     518,   519,   520,   522,   523,   525,   150,  -758,   671,   674,
-     526,   527,   531,   163,  -758,   678,   679,    83,  -758,  -758,
-    -758,   680,   656,  -758,    70,  -758,   612,     2,  -758,   613,
-     177,  -758,   615,   683,  -758,   153,   616,  -758,   247,   544,
-     553,   557,  -758,  -758,  -758,  -758,  -758,   562,   563,  -758,
-     289,  -758,   676,  -758,   681,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,   299,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,   300,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,  -758,   133,   574,  -758,
-    -758,  -758,  -758,   578,   579,  -758,  -758,   581,   310,  -758,
-     326,  -758,   682,  -758,   582,  -758,   684,  -758,  -758,  -758,
-    -758,  -758,   332,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,    73,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,   687,   546,   688,   153,
-    -758,  -758,   607,  -758,   585,  -758,   686,  -758,  -758,   215,
-    -758,   -89,   686,  -758,  -758,   690,   698,   699,   336,  -758,
-    -758,  -758,  -758,  -758,  -758,   716,   573,   586,   587,   -89,
-    -758,   589,  -758,  -758,  -758,  -758,  -758
+     406,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,    51,    27,    42,   115,   123,
+     140,   159,   160,   170,   180,   194,   207,   208,   215,   221,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,    27,   -88,
+      36,    49,    32,   200,   150,    72,   141,   103,    92,   236,
+     -46,   351,   109,  -750,    67,   240,   264,   279,   241,  -750,
+    -750,  -750,  -750,  -750,   285,  -750,    34,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,   303,   319,   329,   339,
+     341,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,   342,  -750,  -750,  -750,    40,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,   344,  -750,    54,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,   346,   352,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,    63,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,    71,
+    -750,  -750,  -750,  -750,  -750,   359,  -750,   363,   364,  -750,
+    -750,  -750,  -750,  -750,   133,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,   290,   315,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,   347,  -750,  -750,   366,  -750,  -750,  -750,   369,
+    -750,  -750,   370,   368,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,   371,   373,  -750,
+    -750,  -750,  -750,   372,   378,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,   161,  -750,  -750,
+    -750,   379,  -750,  -750,   380,  -750,   381,   383,  -750,  -750,
+     386,   387,   389,  -750,  -750,  -750,  -750,  -750,   162,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,   183,  -750,  -750,  -750,    27,
+      27,  -750,   242,   390,   398,   400,   405,   407,  -750,    36,
+    -750,   408,   409,   410,   220,   265,   266,   267,   268,   411,
+     413,   414,   421,   424,   427,   428,   429,   430,   431,   432,
+     433,   434,   288,   435,   437,    49,  -750,   439,   289,    32,
+    -750,   440,   442,   443,   445,   446,   302,   295,   451,   467,
+     468,   469,   200,  -750,   473,   150,  -750,   474,   325,   476,
+     327,   328,    72,  -750,   479,   480,   481,   482,   483,   484,
+     485,  -750,   141,  -750,   489,   490,   343,   491,   494,   495,
+     345,  -750,    92,   496,   349,   350,  -750,   236,   498,   499,
+       7,  -750,   353,   503,   504,   356,   507,   361,   362,   513,
+     514,   365,   374,   375,   515,   518,   351,  -750,   519,   109,
+    -750,  -750,  -750,   522,   520,   521,    27,    27,    27,  -750,
+     525,   526,   527,  -750,  -750,  -750,  -750,  -750,   524,   530,
+     531,   536,   384,   554,   555,   556,   557,   558,   559,   560,
+     561,  -750,   562,   563,  -750,   566,  -750,  -750,   567,   568,
+     412,   422,   423,  -750,  -750,   189,   425,   569,   570,  -750,
+     426,  -750,   436,  -750,   438,  -750,  -750,  -750,   566,   566,
+     566,   441,   444,   447,   448,  -750,   449,   450,  -750,   452,
+     453,   454,  -750,  -750,   455,  -750,  -750,  -750,   456,    27,
+    -750,  -750,   457,   458,  -750,   459,  -750,  -750,   -43,   460,
+    -750,  -750,  -750,   116,   461,  -750,   575,  -750,    27,    49,
+     109,  -750,  -750,  -750,    32,    74,    74,   574,   576,   577,
+    -750,  -750,  -750,   578,   -42,    27,    66,   579,   580,    68,
+      96,    58,   351,  -750,  -750,   581,   583,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,   585,   511,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,   588,
+    -750,   205,   227,   243,  -750,  -750,  -750,  -750,   592,   594,
+     595,   600,   609,  -750,  -750,  -750,   244,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+     262,  -750,   610,   612,  -750,  -750,   611,   615,  -750,  -750,
+     613,   617,  -750,  -750,   616,   618,  -750,  -750,  -750,    44,
+    -750,  -750,  -750,   619,  -750,  -750,  -750,   223,  -750,  -750,
+    -750,  -750,   261,  -750,  -750,   620,   621,  -750,   623,   624,
+     625,   626,   627,   628,   263,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,   629,   630,   631,  -750,  -750,  -750,
+    -750,   280,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,   283,  -750,  -750,  -750,   287,   470,  -750,
+     632,   633,  -750,  -750,   634,   636,  -750,  -750,   635,   639,
+    -750,  -750,   637,  -750,   314,  -750,  -750,  -750,  -750,   640,
+     642,   643,   644,   497,   487,   500,   493,   501,   646,   648,
+      74,  -750,  -750,   200,  -750,   574,    92,  -750,   576,   236,
+    -750,   577,   367,  -750,   578,   -42,  -750,  -750,    66,  -750,
+      37,   579,  -750,   -46,  -750,   580,   502,   505,   506,   508,
+     509,   510,    68,  -750,   649,   653,   512,   516,   517,    96,
+    -750,   654,   657,    58,  -750,  -750,  -750,   659,   664,   150,
+    -750,   581,    72,  -750,   583,   141,  -750,   585,   665,  -750,
+     153,   588,  -750,   321,   523,   529,   532,  -750,  -750,  -750,
+    -750,  -750,   534,   535,  -750,   293,  -750,   660,  -750,   666,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,   294,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,   667,   669,
+    -750,  -750,  -750,  -750,   297,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,   235,   538,  -750,  -750,  -750,  -750,   540,
+     543,  -750,  -750,   548,   301,  -750,   305,  -750,   670,  -750,
+     549,  -750,   673,  -750,  -750,  -750,  -750,  -750,   308,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,   367,  -750,   675,
+    -750,    37,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,   680,   564,   705,   153,  -750,
+    -750,   571,  -750,   668,  -750,   572,  -750,  -750,   703,  -750,
+    -750,   322,  -750,    70,   703,  -750,  -750,   708,   709,   711,
+     311,  -750,  -750,  -750,  -750,  -750,  -750,   712,   565,   573,
+     584,    70,  -750,   591,  -750,  -750,  -750,  -750,  -750
   };
 
   const unsigned short int
@@ -3742,140 +3742,140 @@ namespace isc { namespace dhcp {
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        1,    45,    38,    34,    33,    30,    31,    32,    37,     3,
       35,    36,    58,     5,    70,     7,   106,     9,   222,    11,
-     363,    13,   386,    15,   414,    17,   288,    19,   296,    21,
-     333,    23,   187,    25,   507,    27,   564,    29,    47,    41,
-       0,     0,     0,     0,     0,     0,   416,     0,   298,   335,
+     363,    13,   387,    15,   416,    17,   288,    19,   296,    21,
+     333,    23,   187,    25,   509,    27,   566,    29,    47,    41,
+       0,     0,     0,     0,     0,     0,   418,     0,   298,   335,
        0,     0,     0,    49,     0,    48,     0,     0,    42,    68,
-     562,   556,   558,   560,     0,    67,     0,    60,    62,    64,
+     564,   558,   560,   562,     0,    67,     0,    60,    62,    64,
       65,    66,    63,   104,   118,   120,     0,     0,     0,     0,
-       0,   214,   286,   325,   374,   376,   260,   160,   177,   168,
-     449,   179,   198,   468,     0,   492,   505,    98,     0,    72,
+       0,   214,   286,   325,   375,   377,   260,   160,   177,   168,
+     451,   179,   198,   470,     0,   494,   507,    98,     0,    72,
       74,    75,    76,    77,    78,    81,    82,    83,    84,    86,
       85,    90,    91,    79,    80,    88,    89,    96,    97,    87,
       92,    93,    94,    95,   115,     0,   114,     0,   108,   110,
-     111,   112,   113,   453,   355,   378,   245,   247,   249,     0,
-       0,   253,   251,   406,   445,   244,   226,   227,   228,   229,
-       0,   224,   233,   234,   235,   238,   240,   236,   237,   230,
-     231,   242,   243,   232,   239,   241,   372,   371,   368,     0,
-     365,   367,   369,   370,   399,     0,   402,     0,     0,   398,
-     393,   396,   397,     0,   388,   390,   391,   394,   395,   392,
-     443,   431,   433,   435,   437,   439,   441,   430,   427,   428,
-     429,     0,   417,   418,   422,   423,   420,   424,   425,   426,
-     421,     0,   315,   150,     0,   319,   317,   322,     0,   311,
-     312,     0,   299,   300,   302,   314,   303,   304,   305,   321,
-     306,   307,   308,   309,   310,   349,     0,     0,   347,   348,
-     351,   352,     0,   336,   337,   339,   340,   341,   342,   343,
-     344,   345,   346,   194,   196,   191,     0,   189,   192,   193,
-       0,   529,   531,     0,   534,     0,     0,   538,   542,     0,
-       0,     0,   547,   554,   527,   525,   526,     0,   509,   511,
-     512,   513,   514,   515,   516,   517,   518,   519,   520,   521,
-     522,   523,   524,   569,     0,   566,   568,    46,     0,     0,
-      39,     0,     0,     0,     0,     0,     0,    57,     0,    59,
+     111,   112,   113,   355,   379,   245,   247,   249,     0,     0,
+     253,   251,   408,   447,   244,   226,   227,   228,   229,     0,
+     224,   233,   234,   235,   238,   240,   236,   237,   230,   231,
+     242,   243,   232,   239,   241,   373,   372,   369,   368,     0,
+     365,   367,   370,   371,   401,     0,   404,     0,     0,   400,
+     395,   394,   398,   399,     0,   389,   391,   392,   396,   397,
+     393,   445,   433,   435,   437,   439,   441,   443,   432,   429,
+     430,   431,     0,   419,   420,   424,   425,   422,   426,   427,
+     428,   423,     0,   315,   150,     0,   319,   317,   322,     0,
+     311,   312,     0,   299,   300,   302,   314,   303,   304,   305,
+     321,   306,   307,   308,   309,   310,   349,     0,     0,   347,
+     348,   351,   352,     0,   336,   337,   339,   340,   341,   342,
+     343,   344,   345,   346,   194,   196,   191,     0,   189,   192,
+     193,     0,   531,   533,     0,   536,     0,     0,   540,   544,
+       0,     0,     0,   549,   556,   529,   527,   528,     0,   511,
+     513,   514,   515,   516,   517,   518,   519,   520,   521,   522,
+     523,   524,   525,   526,   571,     0,   568,   570,    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,    71,     0,     0,     0,   107,
-     455,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    71,     0,     0,     0,
+     107,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,   223,     0,     0,   364,     0,     0,     0,
-       0,     0,     0,   387,     0,     0,     0,     0,     0,     0,
-       0,   415,     0,   289,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   388,     0,     0,     0,     0,     0,     0,
+       0,   417,     0,   289,     0,     0,     0,     0,     0,     0,
        0,   297,     0,     0,     0,     0,   334,     0,     0,     0,
        0,   188,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   508,     0,     0,
-     565,    50,    43,     0,     0,     0,     0,     0,     0,    61,
+       0,     0,     0,     0,     0,     0,     0,   510,     0,     0,
+     567,    50,    43,     0,     0,     0,     0,     0,     0,    61,
        0,     0,     0,    99,   100,   101,   102,   103,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   491,     0,     0,    73,     0,   117,   109,   466,   464,
-     465,   461,   462,   463,     0,   456,   457,   459,   460,     0,
-       0,     0,     0,     0,   258,   259,     0,     0,     0,     0,
-     225,     0,   366,     0,   401,     0,   404,   405,   389,     0,
-       0,     0,     0,     0,     0,     0,   419,     0,     0,   313,
-       0,     0,     0,   324,   301,     0,   353,   354,   338,     0,
-       0,   190,   528,     0,     0,   533,     0,   536,   537,     0,
-       0,   544,   545,   546,     0,     0,   510,     0,   567,     0,
-       0,     0,   557,   559,   561,     0,     0,     0,   216,   290,
-     327,    40,   375,   377,   262,     0,    47,     0,     0,   181,
-       0,     0,     0,     0,    51,   116,     0,   454,     0,   357,
-     380,   246,   248,   250,   255,   256,   257,   254,   252,   408,
-       0,   373,   400,   403,   444,   432,   434,   436,   438,   440,
-     442,   316,   151,   320,   318,   323,   350,   195,   197,   530,
-     532,   535,   540,   541,   539,   543,   549,   550,   551,   552,
-     553,   548,   555,     0,    44,     0,     0,     0,   137,   143,
-     145,   147,     0,     0,     0,     0,     0,   156,   158,   136,
-       0,   122,   124,   125,   126,   127,   128,   129,   130,   131,
-     132,   133,   134,   135,     0,   220,     0,   217,   218,   294,
-       0,   291,   292,   331,     0,   328,   329,   266,     0,   263,
-     264,   166,   167,     0,   162,   164,   165,     0,   175,   176,
-     172,     0,   170,   173,   174,   451,     0,   185,     0,   182,
-     183,     0,     0,     0,     0,     0,     0,     0,   200,   202,
-     203,   204,   205,   206,   207,   481,   487,     0,     0,     0,
-     480,   477,   478,   479,     0,   470,   472,   475,   473,   474,
-     476,   501,   503,   500,   498,   499,     0,   494,   496,   497,
-       0,    53,     0,   458,   361,     0,   358,   359,   384,     0,
-     381,   382,   412,     0,   409,   410,   447,     0,   573,     0,
-     571,    69,   563,   105,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   119,   121,     0,   215,
-       0,   298,   287,     0,   335,   326,     0,     0,   261,     0,
-       0,   161,   178,     0,   169,     0,   450,     0,   180,     0,
-       0,     0,     0,     0,     0,     0,     0,   199,     0,     0,
-       0,     0,     0,     0,   469,     0,     0,     0,   493,   506,
-      55,     0,    54,   467,     0,   356,     0,     0,   379,     0,
-     416,   407,     0,     0,   446,     0,     0,   570,     0,     0,
-       0,     0,   149,   152,   153,   154,   155,     0,     0,   123,
-       0,   219,     0,   293,     0,   330,   285,   280,   282,   274,
-     275,   270,   271,   272,   273,   279,   278,   281,     0,   268,
-     276,   283,   284,   277,   265,   163,   171,   452,     0,   184,
-     208,   209,   210,   211,   212,   213,   201,     0,     0,   486,
-     489,   490,   471,     0,     0,   495,    52,     0,     0,   360,
-       0,   383,     0,   411,     0,   587,     0,   585,   583,   577,
-     581,   582,     0,   575,   579,   580,   578,   572,   139,   140,
-     141,   142,   138,   144,   146,   148,   157,   159,   221,   295,
-     332,     0,   267,   186,   483,   484,   485,   482,   488,   502,
-     504,    56,   362,   385,   413,   448,     0,     0,     0,     0,
-     574,   269,     0,   584,     0,   576,     0,   586,   591,     0,
-     589,     0,     0,   588,   599,     0,     0,     0,     0,   593,
-     595,   596,   597,   598,   590,     0,     0,     0,     0,     0,
-     592,     0,   601,   602,   603,   594,   600
+       0,   493,     0,     0,    73,     0,   117,   109,     0,     0,
+       0,     0,     0,   258,   259,     0,     0,     0,     0,   225,
+       0,   366,     0,   403,     0,   406,   407,   390,     0,     0,
+       0,     0,     0,     0,     0,   421,     0,     0,   313,     0,
+       0,     0,   324,   301,     0,   353,   354,   338,     0,     0,
+     190,   530,     0,     0,   535,     0,   538,   539,     0,     0,
+     546,   547,   548,     0,     0,   512,     0,   569,     0,     0,
+       0,   559,   561,   563,     0,     0,     0,   216,   290,   327,
+      40,   376,   378,   262,     0,    47,     0,     0,   181,     0,
+       0,     0,     0,    51,   116,   357,   381,   246,   248,   250,
+     255,   256,   257,   254,   252,   410,     0,   374,   402,   405,
+     446,   434,   436,   438,   440,   442,   444,   316,   151,   320,
+     318,   323,   350,   195,   197,   532,   534,   537,   542,   543,
+     541,   545,   551,   552,   553,   554,   555,   550,   557,     0,
+      44,     0,     0,     0,   137,   143,   145,   147,     0,     0,
+       0,     0,     0,   156,   158,   136,     0,   122,   124,   125,
+     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
+       0,   220,     0,   217,   218,   294,     0,   291,   292,   331,
+       0,   328,   329,   266,     0,   263,   264,   166,   167,     0,
+     162,   164,   165,     0,   175,   176,   172,     0,   170,   173,
+     174,   455,     0,   453,   185,     0,   182,   183,     0,     0,
+       0,     0,     0,     0,     0,   200,   202,   203,   204,   205,
+     206,   207,   483,   489,     0,     0,     0,   482,   479,   480,
+     481,     0,   472,   474,   477,   475,   476,   478,   503,   505,
+     502,   500,   501,     0,   496,   498,   499,     0,    53,   361,
+       0,   358,   359,   385,     0,   382,   383,   414,     0,   411,
+     412,   449,     0,   575,     0,   573,    69,   565,   105,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   119,   121,     0,   215,     0,   298,   287,     0,   335,
+     326,     0,     0,   261,     0,     0,   161,   178,     0,   169,
+     457,     0,   452,     0,   180,     0,     0,     0,     0,     0,
+       0,     0,     0,   199,     0,     0,     0,     0,     0,     0,
+     471,     0,     0,     0,   495,   508,    55,     0,    54,     0,
+     356,     0,     0,   380,     0,   418,   409,     0,     0,   448,
+       0,     0,   572,     0,     0,     0,     0,   149,   152,   153,
+     154,   155,     0,     0,   123,     0,   219,     0,   293,     0,
+     330,   285,   280,   282,   274,   275,   270,   271,   272,   273,
+     279,   278,   281,     0,   268,   276,   283,   284,   277,   265,
+     163,   171,   468,   466,   467,   463,   464,   465,     0,   458,
+     459,   461,   462,   454,     0,   184,   208,   209,   210,   211,
+     212,   213,   201,     0,     0,   488,   491,   492,   473,     0,
+       0,   497,    52,     0,     0,   360,     0,   384,     0,   413,
+       0,   589,     0,   587,   585,   579,   583,   584,     0,   577,
+     581,   582,   580,   574,   139,   140,   141,   142,   138,   144,
+     146,   148,   157,   159,   221,   295,   332,     0,   267,     0,
+     456,     0,   186,   485,   486,   487,   484,   490,   504,   506,
+      56,   362,   386,   415,   450,     0,     0,     0,     0,   576,
+     269,     0,   460,     0,   586,     0,   578,   469,     0,   588,
+     593,     0,   591,     0,     0,   590,   601,     0,     0,     0,
+       0,   595,   597,   598,   599,   600,   592,     0,     0,     0,
+       0,     0,   594,     0,   603,   604,   605,   596,   602
   };
 
   const short int
   Dhcp6Parser::yypgoto_[] =
   {
-    -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,    -4,  -758,   111,  -758,
-    -758,  -758,  -758,  -758,  -758,    64,  -758,  -125,  -758,  -758,
-    -758,   -70,  -758,  -758,  -758,   398,  -758,  -758,  -758,  -758,
-     180,   382,   -72,   -59,   -56,   -54,  -758,  -758,  -758,  -758,
-    -758,   169,   383,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-     182,   -22,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,   -66,  -758,  -556,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,   -35,  -551,  -758,  -758,  -758,
-    -758,   -34,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-     -41,  -758,  -758,  -758,   -31,   347,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,   -44,  -758,  -758,  -758,  -758,  -758,  -758,
-    -757,  -758,  -758,  -758,   -17,  -758,  -758,  -758,    -7,   387,
-    -758,  -758,  -756,  -758,  -755,  -758,  -561,  -758,  -749,  -758,
-    -758,  -758,  -743,  -758,  -758,  -758,  -758,   -15,  -758,  -758,
-    -159,   693,  -758,  -758,  -758,  -758,  -758,    -1,  -758,  -758,
-    -758,     3,  -758,   363,  -758,   -61,  -758,  -758,  -758,  -758,
-    -758,   -48,  -758,  -758,  -758,  -758,  -758,    10,  -758,  -758,
-    -758,    -3,  -758,  -758,  -758,     5,  -758,   365,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,   -39,
-    -758,  -758,  -758,   -30,   400,  -758,  -758,   -49,  -758,   -11,
-    -758,  -758,  -758,  -758,  -758,   -36,  -758,  -758,  -758,   -37,
-     397,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,   -32,  -758,  -758,  -758,   -29,  -758,   391,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -741,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,   208,  -758,  -758,  -758,  -758,  -758,  -758,
-      -9,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,   -26,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,   224,   352,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,  -758,
-    -758,  -758,  -758,  -758,  -758,  -758,  -758,   244,   366,  -758,
-    -758,  -758,   -28,  -758,  -758,  -140,  -758,  -758,  -758,  -758,
-    -758,  -758,  -152,  -758,  -758,  -168,  -758,  -758,  -758,  -758,
-    -758
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,     6,  -750,   105,  -750,
+    -750,  -750,  -750,  -750,  -750,    82,  -750,  -139,  -750,  -750,
+    -750,   -70,  -750,  -750,  -750,   391,  -750,  -750,  -750,  -750,
+     178,   355,   -72,   -58,   -56,   -55,  -750,  -750,  -750,  -750,
+    -750,   182,   377,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+     185,   -16,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,    -7,  -750,  -553,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,   -28,  -544,  -750,  -750,  -750,
+    -750,   -19,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+     -27,  -750,  -750,  -750,   -15,   333,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,   -23,  -750,  -750,  -750,  -750,  -750,  -750,
+    -749,  -750,  -750,  -750,     5,  -750,  -750,  -750,     8,   385,
+    -750,  -750,  -746,  -750,  -742,  -750,   -34,  -750,  -741,  -750,
+    -750,  -750,  -739,  -750,  -750,  -750,  -750,     2,  -750,  -750,
+    -147,   694,  -750,  -750,  -750,  -750,  -750,    14,  -750,  -750,
+    -750,    18,  -750,   376,  -750,   -65,  -750,  -750,  -750,  -750,
+    -750,   -60,  -750,  -750,  -750,  -750,  -750,    -6,  -750,  -750,
+    -750,    15,  -750,  -750,  -750,    16,  -750,   360,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,   -21,
+    -750,  -750,  -750,   -18,   393,  -750,  -750,   -48,  -750,   -20,
+    -750,  -750,  -750,  -750,  -750,   -17,  -750,  -750,  -750,   -13,
+     392,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,   -24,  -750,  -750,  -750,   -14,  -750,   395,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -733,  -750,  -750,  -750,  -750,  -750,  -750,
+      21,  -750,  -750,  -750,  -135,  -750,  -750,  -750,  -750,  -750,
+    -750,     9,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,     1,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,   233,   382,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
+    -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,   260,   388,
+    -750,  -750,  -750,   -10,  -750,  -750,  -136,  -750,  -750,  -750,
+    -750,  -750,  -750,  -150,  -750,  -750,  -166,  -750,  -750,  -750,
+    -750,  -750
   };
 
   const short int
@@ -3883,238 +3883,238 @@ namespace isc { namespace dhcp {
   {
       -1,    15,    16,    17,    18,    19,    20,    21,    22,    23,
       24,    25,    26,    27,    28,    29,    83,    39,    40,    69,
-     562,    87,    88,    41,    68,    84,    85,   575,   731,   811,
-     812,   127,    43,    70,    96,    97,    98,   332,    45,    71,
-     128,   129,   130,   131,   132,   133,   134,   135,   340,    47,
-      72,   157,   158,   159,   366,   160,   136,   341,   137,   342,
-     640,   641,   642,   754,   912,   643,   755,   644,   756,   645,
-     757,   646,   250,   405,   648,   649,   650,   651,   652,   763,
-     653,   764,   138,   354,   673,   674,   675,   676,   139,   356,
-     681,   682,   683,   684,   140,   355,   141,   358,   688,   689,
-     690,   787,    63,    80,   286,   287,   288,   418,   289,   419,
-     142,   359,   697,   698,   699,   700,   701,   702,   703,   704,
-     143,   348,   656,   657,   658,   768,    49,    73,   180,   181,
-     182,   373,   183,   374,   184,   375,   185,   379,   186,   378,
-     587,   187,   188,   144,   353,   668,   669,   670,   777,   858,
-     859,   145,   349,    57,    77,   660,   661,   662,   771,    59,
-      78,   251,   252,   253,   254,   255,   256,   257,   404,   258,
-     408,   259,   407,   260,   261,   409,   262,   146,   350,   664,
-     665,   666,   774,    61,    79,   272,   273,   274,   275,   276,
-     413,   277,   278,   279,   280,   190,   371,   735,   736,   737,
-     814,    51,    74,   199,   200,   201,   384,   147,   351,   148,
-     352,   193,   372,   739,   740,   741,   817,    53,    75,   213,
-     214,   215,   387,   216,   217,   389,   218,   219,   194,   380,
-     743,   744,   745,   820,    55,    76,   231,   232,   233,   234,
-     395,   235,   396,   236,   397,   237,   398,   238,   399,   239,
-     400,   240,   394,   195,   381,   747,   823,   149,   357,   686,
-     370,   484,   485,   486,   487,   488,   576,   150,   360,   714,
-     715,   716,   798,   927,   717,   718,   799,   719,   720,   151,
-     152,   362,   726,   727,   728,   805,   729,   806,   153,   363,
-      65,    81,   307,   308,   309,   310,   423,   311,   424,   312,
-     313,   426,   314,   315,   316,   429,   614,   317,   430,   318,
-     319,   320,   321,   434,   621,   322,   435,    99,   334,   100,
-     335,   101,   336,   102,   333,    67,    82,   324,   325,   326,
-     438,   749,   750,   825,   902,   903,   904,   905,   938,   906,
-     936,   949,   950,   951,   958,   959,   960,   965,   961,   962,
-     963
+     551,    87,    88,    41,    68,    84,    85,   564,   718,   797,
+     798,   127,    43,    70,    96,    97,    98,   333,    45,    71,
+     128,   129,   130,   131,   132,   133,   134,   135,   341,    47,
+      72,   157,   158,   159,   367,   160,   136,   342,   137,   343,
+     626,   627,   628,   739,   908,   629,   740,   630,   741,   631,
+     742,   632,   251,   405,   634,   635,   636,   637,   638,   748,
+     639,   749,   138,   355,   659,   660,   661,   662,   139,   357,
+     667,   668,   669,   670,   140,   356,   141,   359,   675,   676,
+     677,   773,    63,    80,   287,   288,   289,   418,   290,   419,
+     142,   360,   684,   685,   686,   687,   688,   689,   690,   691,
+     143,   349,   642,   643,   644,   753,    49,    73,   179,   180,
+     181,   373,   182,   374,   183,   375,   184,   379,   185,   378,
+     573,   186,   187,   144,   354,   654,   655,   656,   762,   843,
+     844,   145,   350,    57,    77,   646,   647,   648,   756,    59,
+      78,   252,   253,   254,   255,   256,   257,   258,   404,   259,
+     408,   260,   407,   261,   262,   409,   263,   146,   351,   650,
+     651,   652,   759,    61,    79,   273,   274,   275,   276,   277,
+     413,   278,   279,   280,   281,   189,   371,   720,   721,   722,
+     799,    51,    74,   199,   200,   201,   384,   147,   352,   148,
+     353,   192,   372,   724,   725,   726,   802,    53,    75,   214,
+     215,   216,   387,   217,   218,   389,   219,   220,   193,   380,
+     728,   729,   730,   805,    55,    76,   232,   233,   234,   235,
+     395,   236,   396,   237,   397,   238,   398,   239,   399,   240,
+     400,   241,   394,   194,   381,   732,   808,   149,   358,   672,
+     673,   770,   858,   859,   860,   861,   862,   919,   150,   361,
+     701,   702,   703,   784,   926,   704,   705,   785,   706,   707,
+     151,   152,   363,   713,   714,   715,   791,   716,   792,   153,
+     364,    65,    81,   308,   309,   310,   311,   423,   312,   424,
+     313,   314,   426,   315,   316,   317,   429,   600,   318,   430,
+     319,   320,   321,   322,   434,   607,   323,   435,    99,   335,
+     100,   336,   101,   337,   102,   334,    67,    82,   325,   326,
+     327,   438,   734,   735,   810,   898,   899,   900,   901,   937,
+     902,   935,   951,   952,   953,   960,   961,   962,   967,   963,
+     964,   965
   };
 
   const unsigned short int
   Dhcp6Parser::yytable_[] =
   {
-      95,   176,   156,   175,   197,   209,   227,   685,   249,   268,
-     285,   304,    38,   269,   177,   711,   680,   178,   270,   179,
-     852,   853,   854,   161,   191,   202,   211,   229,   856,   263,
-     281,   271,   305,    31,   857,    32,   863,    33,   338,   671,
-     113,   954,    89,   339,   955,   956,   957,   163,   154,   155,
-     163,   283,   284,   204,   205,   206,   207,   208,   114,   115,
-      30,   162,   192,   203,   212,   230,   780,   264,   282,   781,
-     306,   106,   107,   108,   109,    42,   113,   243,   113,    44,
-     163,    46,   364,   189,   198,   210,   228,   365,   164,    48,
-     165,    50,   114,   115,   114,   115,   114,   115,   166,   167,
-     168,   169,   170,   171,   106,   107,   108,   109,   113,   111,
-     478,   113,   243,   172,   173,   672,   172,    52,   368,   196,
-      94,   174,   242,   369,    54,   783,   114,   115,   784,   114,
-     115,   785,   167,   168,   786,   170,   171,   283,   284,   114,
-     115,   616,   617,   618,   619,   243,   172,   244,   245,   612,
-     613,   246,   247,   248,   174,    94,    56,   671,   678,    90,
-     679,    58,   114,   115,   852,   853,   854,    60,    91,    92,
-      93,   382,   856,    62,   620,    86,   383,    64,   857,   705,
-     863,    34,    35,    36,    37,    94,   721,   722,   633,    94,
-     628,    94,   243,    94,    66,   629,   630,   631,   632,   633,
-     634,   635,   636,   637,   638,   826,   385,   392,   827,   114,
-     115,   386,   393,   243,   323,   113,   855,   420,   952,   114,
-     115,   953,   421,    94,   867,   436,    94,   924,   925,   926,
-     437,   112,   680,   114,   115,   327,    94,   691,   692,   693,
-     694,   695,   696,   328,   439,   364,   439,   711,   220,   440,
-     751,   752,   221,   222,   223,   224,   225,   226,   329,    94,
-     706,   707,   708,   709,   908,   909,   910,   911,    95,   243,
-     265,   244,   245,   266,   267,   368,   765,   330,   765,   331,
-     753,   766,   895,   767,   896,   897,   114,   115,   796,   803,
-     807,   436,   382,   797,   804,   808,   809,   918,   156,   337,
-     479,   343,   921,   420,   480,   344,    94,   922,   923,   345,
-     176,   346,   175,   385,   402,   197,    94,   347,   932,   161,
-     361,   482,   209,   177,   441,   442,   178,    94,   179,   392,
-      94,   367,   227,   191,   933,   939,   202,   376,   377,   969,
-     940,   388,   249,   211,   970,   390,   391,   268,   584,   585,
-     586,   269,   401,   229,   403,   406,   270,   162,   410,   483,
-     855,   411,   412,   263,   414,   415,   304,   417,   281,   271,
-     416,   192,   422,   425,   203,   427,   114,   115,   428,   431,
-     481,   212,   432,    94,   594,   595,   596,   305,   433,   443,
-     444,   230,   189,   445,   446,   198,   447,   448,   450,   451,
-     452,   264,   210,   453,   454,   455,   282,   456,   458,   457,
-     459,   460,   228,   461,   462,   463,   464,   465,   466,   467,
-     468,   469,   470,   472,   471,   306,   290,   291,   292,   293,
+      95,   175,   156,   174,   196,   209,   228,   698,   250,   269,
+     286,   305,   666,   837,   271,   176,   838,   177,   178,   272,
+     839,   841,    38,   842,   161,   190,   202,   212,   230,   848,
+     264,   282,    31,   306,    32,   657,    33,   339,   284,   285,
+     197,   210,   340,   365,   154,   155,    89,   765,   366,    42,
+     766,    30,   162,   191,   203,   213,   231,   369,   265,   283,
+     103,   307,   370,   104,   105,    86,   382,   188,   198,   211,
+     229,   383,   270,   328,   385,   113,   244,   598,   599,   386,
+     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
+     614,   284,   285,   114,   115,   615,   616,   617,   618,   619,
+     620,   621,   622,   623,   624,   114,   115,    94,   243,   852,
+     113,   658,   692,   244,   114,   115,   116,   117,   118,   119,
+     120,   619,    44,   204,   205,   206,   207,   208,   114,   115,
+      46,   244,   121,   245,   246,   122,   392,   247,   248,   249,
+     112,   393,   123,   657,   664,   171,   665,    48,   114,   115,
+     124,   125,   114,   115,   126,   678,   679,   680,   681,   682,
+     683,   708,   709,    90,   420,   436,    50,    52,   837,   421,
+     437,   838,    91,    92,    93,   839,   841,    54,   842,   113,
+      34,    35,    36,    37,   848,    94,   439,    56,   113,    94,
+      94,   440,   244,   693,   694,   695,   696,   114,   115,   195,
+     956,    58,    94,   957,   958,   959,   114,   115,   365,   114,
+     115,    94,   221,   736,    60,    62,   222,   223,   224,   225,
+     226,   227,    64,   171,   666,    94,   768,    94,    66,   769,
+     439,   106,   107,   108,   109,   737,   698,   324,   113,   602,
+     603,   604,   605,   329,   332,    94,   369,   750,   163,    94,
+     164,   738,   751,   570,   571,   572,   114,   115,   165,   166,
+     167,   168,   169,   170,   771,   750,   782,   772,   330,    95,
+     752,   783,   606,   171,   172,   244,   266,   245,   246,   267,
+     268,   173,   891,   789,   892,   893,   793,   331,   790,   338,
+     436,   794,   114,   115,    94,   795,   382,   917,   401,   156,
+     420,   914,   918,    94,   385,   922,    94,   344,   392,   931,
+     175,   938,   174,   932,   971,   196,   939,   811,   402,   972,
+     812,   161,   209,   345,   176,   954,   177,   178,   955,   923,
+     924,   925,   228,   346,   190,   441,   442,   202,   904,   905,
+     906,   907,   250,   347,   212,   348,   362,   269,   368,   162,
+     376,   197,   271,    94,   230,   403,   377,   272,   210,   580,
+     581,   582,   191,   388,   264,   203,   305,   390,   391,   282,
+     406,   412,   213,   410,   453,   414,   188,   415,   411,   198,
+     416,   417,   231,   422,   425,   427,   211,   428,   306,    94,
+     431,   432,   265,   433,   444,   443,   229,   283,   106,   107,
+     108,   109,   445,   111,   446,   113,   244,   114,   115,   447,
+     270,   448,   450,   451,   452,   458,   307,   459,   460,   454,
+     455,   456,   457,   114,   115,   461,   166,   167,   462,   169,
+     170,   463,   464,   465,   466,   467,   468,   469,   470,   472,
+     171,   473,   471,   475,   478,   476,   479,   480,   173,   481,
+     482,   484,   541,   542,   543,   485,   483,   291,   292,   293,
      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
-     473,   475,   552,   553,   554,     1,     2,     3,     4,     5,
-       6,     7,     8,     9,    10,    11,    12,    13,    14,   476,
-     489,   490,   491,   492,   493,   495,   494,   496,   497,   498,
-     499,   501,   503,    94,   505,   504,   506,   507,   509,   510,
-     511,   512,   513,   514,   515,   156,   639,   639,   517,   518,
-     647,   647,   519,   103,   520,   521,   104,   105,   522,   523,
-     525,   710,   723,   304,   526,   527,   161,   529,   479,   530,
-     533,   532,   480,   106,   107,   108,   109,   110,   111,   112,
-     113,   534,   712,   724,   305,   536,   608,   535,   539,   482,
-     537,   538,   540,   544,   545,   541,   542,   543,   114,   115,
-     547,   549,   550,   558,   162,   624,   551,   555,   556,   116,
-     117,   118,   119,   120,   557,   559,   560,   577,   563,    32,
-     713,   725,   306,   564,   565,   121,   566,   483,   122,   567,
-     568,   569,   561,   574,   570,   123,   571,   572,   573,   578,
-     579,   581,   580,   124,   125,   582,   583,   126,   481,   589,
-     590,   588,   591,   592,   593,   597,   598,   599,   600,   601,
-     602,   603,   604,   605,   606,   607,   609,   610,   611,   615,
-     623,   655,   946,   659,   622,   663,   667,   687,   732,   734,
-     738,   758,   742,   748,   746,   759,   760,   761,   762,   770,
-     677,   769,   773,   772,   775,    94,   776,   778,   779,   810,
-     782,   789,   788,   790,   791,   792,   793,   794,   795,   800,
-     801,   802,   813,   816,   815,   818,   819,   821,   822,   887,
-     824,   828,   829,   830,   831,   832,   833,   834,   835,   836,
-     837,   838,   870,   871,   872,   877,   873,   874,   878,   875,
-     879,   880,   883,   884,   919,   881,   886,   894,   937,   920,
-     934,   942,   944,   948,   966,   639,   176,   913,   175,   647,
-     943,   249,   967,   968,   268,   847,   914,   846,   269,   177,
-     915,   851,   178,   270,   179,   916,   917,   285,   848,   191,
-     971,   849,   263,   850,   627,   281,   271,   928,   861,   972,
-     625,   929,   930,   710,   931,   935,   449,   723,   947,   654,
-     973,   974,   976,   839,   197,   865,   474,   209,   869,   866,
-     227,   477,   876,   841,   712,   898,   868,   192,   724,   899,
-     264,   840,   941,   282,   864,   202,   862,   531,   211,   500,
-     241,   229,   843,   845,   842,   524,   900,   889,   189,   844,
-     890,   885,   528,   891,   888,   502,   733,   860,   546,   508,
-     893,   892,   713,   516,   882,   626,   725,   730,   907,   945,
-     964,   975,     0,   203,     0,   548,   212,     0,     0,   230,
-       0,     0,     0,     0,   901,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   198,     0,     0,   210,     0,     0,
-     228,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   847,
-       0,   846,     0,     0,     0,   851,     0,     0,     0,     0,
-       0,     0,   848,     0,     0,   849,     0,   850,     0,   898,
-       0,     0,   861,   899,     0,     0,     0,     0,     0,     0,
+     304,   486,   487,   488,   156,   625,   625,   490,   492,   493,
+     494,   495,   496,   498,   499,   500,   501,   502,   503,   504,
+     697,   710,   305,   506,   507,   509,   161,   508,   510,   511,
+     514,   512,   518,   519,    94,   515,   516,   522,   523,   521,
+     524,   525,   699,   711,   306,   526,   527,   528,   529,   533,
+      94,   530,   534,   536,   162,   594,   538,   539,   540,   547,
+     531,   532,   544,   545,   546,   548,   549,   552,   633,   633,
+     700,   712,   307,    32,   610,     1,     2,     3,     4,     5,
+       6,     7,     8,     9,    10,    11,    12,    13,    14,   553,
+     554,   555,   556,   557,   558,   567,   550,   559,   560,   561,
+     562,   563,   565,   566,   575,   568,   569,   576,   574,   577,
+     609,   641,   601,   645,   649,   653,   671,   674,   719,   578,
+     723,   579,   727,   731,   583,   733,   743,   584,   744,   745,
+     585,   586,   587,   588,   746,   589,   590,   591,   592,   593,
+     595,   596,   597,   747,   608,   755,   754,   757,   758,   760,
+     761,   764,   763,   796,   775,   767,   774,   776,   777,   778,
+     779,   780,   781,   786,   787,   788,   801,   663,   800,   804,
+     803,   806,   807,   818,   813,   809,   814,   815,   816,   820,
+     822,   817,   823,   873,   819,   821,   866,   874,   879,   867,
+     868,   880,   869,   870,   871,   882,   875,   883,   915,   890,
+     876,   877,   921,   948,   916,   920,   909,   936,   933,   941,
+     625,   175,   910,   174,   943,   911,   250,   912,   913,   269,
+     832,   927,   831,   928,   271,   176,   929,   177,   178,   272,
+     853,   930,   934,   286,   833,   190,   834,   835,   264,   945,
+     950,   282,   968,   969,   846,   970,   973,   611,   944,   697,
+     474,   974,   856,   710,   947,   949,   613,   975,   840,   196,
+     449,   640,   209,   191,   824,   228,   265,   850,   976,   283,
+     894,   699,   847,   633,   978,   711,   477,   188,   865,   851,
+     857,   202,   270,   520,   212,   836,   845,   230,   864,   872,
+     826,   825,   896,   854,   855,   197,   849,   489,   210,   700,
+     940,   242,   828,   712,   827,   829,   830,   517,   491,   203,
+     885,   884,   213,   889,   497,   231,   942,   887,   513,   886,
+     897,   888,   863,   198,   881,   717,   211,   505,   878,   229,
+     612,   903,   946,   895,   966,   977,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   535,     0,
+       0,     0,     0,     0,     0,     0,     0,   537,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     900,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   832,     0,   831,     0,     0,
+       0,   853,     0,     0,     0,     0,     0,     0,     0,   833,
+       0,   834,   835,     0,     0,     0,     0,     0,   894,   846,
+       0,     0,     0,   856,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   840,     0,     0,     0,     0,     0,     0,
+     896,     0,     0,     0,     0,     0,     0,   847,     0,     0,
+       0,   857,     0,     0,     0,     0,     0,     0,     0,     0,
+     836,   845,     0,     0,   854,   855,     0,     0,   897,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     862,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   901,     0,
-       0,   860
+       0,   895
   };
 
   const short int
   Dhcp6Parser::yycheck_[] =
   {
-      70,    73,    72,    73,    74,    75,    76,   568,    78,    79,
-      80,    81,    16,    79,    73,   571,   567,    73,    79,    73,
-     777,   777,   777,    72,    73,    74,    75,    76,   777,    78,
-      79,    79,    81,     5,   777,     7,   777,     9,     3,    77,
-      38,   130,    10,     8,   133,   134,   135,     7,    12,    13,
-       7,    84,    85,    51,    52,    53,    54,    55,    56,    57,
-       0,    72,    73,    74,    75,    76,     3,    78,    79,     6,
-      81,    31,    32,    33,    34,     7,    38,    39,    38,     7,
-       7,     7,     3,    73,    74,    75,    76,     8,    48,     7,
-      50,     7,    56,    57,    56,    57,    56,    57,    58,    59,
-      60,    61,    62,    63,    31,    32,    33,    34,    38,    36,
-      72,    38,    39,    73,    74,   153,    73,     7,     3,    49,
-     153,    81,    16,     8,     7,     3,    56,    57,     6,    56,
-      57,     3,    59,    60,     6,    62,    63,    84,    85,    56,
-      57,   123,   124,   125,   126,    39,    73,    41,    42,   120,
-     121,    45,    46,    47,    81,   153,     7,    77,    78,   127,
-      80,     7,    56,    57,   921,   921,   921,     7,   136,   137,
-     138,     3,   921,     7,   156,   153,     8,     7,   921,    16,
-     921,   153,   154,   155,   156,   153,   103,   104,    25,   153,
-      16,   153,    39,   153,     7,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,     3,     3,     3,     6,    56,
-      57,     8,     8,    39,   128,    38,   777,     3,     3,    56,
-      57,     6,     8,   153,   785,     3,   153,    94,    95,    96,
-       8,    37,   783,    56,    57,     6,   153,    87,    88,    89,
-      90,    91,    92,     3,     3,     3,     3,   803,    71,     8,
-       8,     8,    75,    76,    77,    78,    79,    80,     4,   153,
-      97,    98,    99,   100,    17,    18,    19,    20,   338,    39,
-      40,    41,    42,    43,    44,     3,     3,     8,     3,     3,
-       8,     8,   129,     8,   131,   132,    56,    57,     3,     3,
-       3,     3,     3,     8,     8,     8,     8,     8,   368,     4,
-     370,     4,     3,     3,   370,     4,   153,     8,     8,     4,
-     382,     4,   382,     3,     3,   385,   153,     4,     8,   368,
-       4,   370,   392,   382,   328,   329,   382,   153,   382,     3,
-     153,     4,   402,   382,     8,     3,   385,     4,     4,     3,
-       8,     4,   412,   392,     8,     4,     4,   417,    64,    65,
-      66,   417,     8,   402,     8,     4,   417,   368,     4,   370,
-     921,     8,     3,   412,     4,     4,   436,     3,   417,   417,
-       8,   382,     4,     4,   385,     4,    56,    57,     4,     4,
-     370,   392,     4,   153,   509,   510,   511,   436,     4,   153,
-       4,   402,   382,     4,     4,   385,     4,     4,     4,     4,
-       4,   412,   392,   154,   154,   154,   417,   154,     4,   154,
-       4,     4,   402,     4,     4,     4,     4,     4,     4,     4,
-       4,     4,     4,     4,   154,   436,   106,   107,   108,   109,
-     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
-       4,     4,   446,   447,   448,   139,   140,   141,   142,   143,
-     144,   145,   146,   147,   148,   149,   150,   151,   152,   156,
-       4,     4,     4,     4,     4,   156,   154,     4,     4,     4,
-       4,     4,     4,   153,     4,   154,   154,   154,     4,     4,
-       4,     4,     4,     4,     4,   555,   556,   557,     4,     4,
-     556,   557,   154,    11,     4,     4,    14,    15,     4,   156,
-       4,   571,   572,   573,   156,   156,   555,     4,   578,     4,
-       4,   156,   578,    31,    32,    33,    34,    35,    36,    37,
-      38,     4,   571,   572,   573,     4,   530,   154,     4,   578,
-     154,   154,     4,     4,     4,   156,   156,   156,    56,    57,
-       4,     4,     7,     5,   555,   549,     7,     7,     7,    67,
-      68,    69,    70,    71,     7,     5,     5,     8,   153,     7,
-     571,   572,   573,     5,     5,    83,     5,   578,    86,     5,
-       5,     5,   461,     5,     7,    93,     7,     7,     7,     3,
-       5,   153,     5,   101,   102,   153,   153,   105,   578,     5,
-       7,   153,   153,   153,   153,   153,   153,   153,   153,   153,
-     153,   153,   153,   153,   153,   153,   153,   153,   153,   122,
-       5,     7,     5,     7,   153,     7,     7,     7,     4,     7,
-       7,     4,     7,     7,    82,     4,     4,     4,     4,     3,
-     566,     6,     3,     6,     6,   153,     3,     6,     3,   153,
-       6,     3,     6,     4,     4,     4,     4,     4,     4,     4,
-       4,     4,   153,     3,     6,     6,     3,     6,     3,     3,
-       8,     4,     4,     4,     4,   154,   156,   154,   156,   154,
-       4,     4,   154,   154,   154,     4,   154,   154,     4,   154,
-     154,   154,     4,     4,     8,   154,     6,     4,     4,     8,
-       8,     4,     4,     7,     4,   765,   768,   153,   768,   765,
-     154,   771,     4,     4,   774,   777,   153,   777,   774,   768,
-     153,   777,   768,   774,   768,   153,   153,   787,   777,   768,
-       4,   777,   771,   777,   555,   774,   774,   153,   777,   156,
-     550,   153,   153,   803,   153,   153,   338,   807,   153,   557,
-     154,   154,   153,   765,   814,   780,   364,   817,   789,   783,
-     820,   368,   796,   770,   803,   825,   787,   768,   807,   825,
-     771,   768,   921,   774,   779,   814,   777,   420,   817,   382,
-      77,   820,   773,   776,   771,   412,   825,   816,   768,   774,
-     817,   807,   417,   819,   814,   385,   578,   777,   436,   392,
-     822,   820,   803,   402,   803,   551,   807,   573,   826,   939,
-     952,   969,    -1,   814,    -1,   439,   817,    -1,    -1,   820,
-      -1,    -1,    -1,    -1,   825,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   814,    -1,    -1,   817,    -1,    -1,
-     820,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   921,
-      -1,   921,    -1,    -1,    -1,   921,    -1,    -1,    -1,    -1,
-      -1,    -1,   921,    -1,    -1,   921,    -1,   921,    -1,   939,
-      -1,    -1,   921,   939,    -1,    -1,    -1,    -1,    -1,    -1,
+      70,    73,    72,    73,    74,    75,    76,   560,    78,    79,
+      80,    81,   556,   762,    79,    73,   762,    73,    73,    79,
+     762,   762,    16,   762,    72,    73,    74,    75,    76,   762,
+      78,    79,     5,    81,     7,    77,     9,     3,    84,    85,
+      74,    75,     8,     3,    12,    13,    10,     3,     8,     7,
+       6,     0,    72,    73,    74,    75,    76,     3,    78,    79,
+      11,    81,     8,    14,    15,   153,     3,    73,    74,    75,
+      76,     8,    79,     6,     3,    38,    39,   120,   121,     8,
+      31,    32,    33,    34,    35,    36,    37,    38,    56,    57,
+      16,    84,    85,    56,    57,    21,    22,    23,    24,    25,
+      26,    27,    28,    29,    30,    56,    57,   153,    16,    72,
+      38,   153,    16,    39,    56,    57,    67,    68,    69,    70,
+      71,    25,     7,    51,    52,    53,    54,    55,    56,    57,
+       7,    39,    83,    41,    42,    86,     3,    45,    46,    47,
+      37,     8,    93,    77,    78,    73,    80,     7,    56,    57,
+     101,   102,    56,    57,   105,    87,    88,    89,    90,    91,
+      92,   103,   104,   127,     3,     3,     7,     7,   917,     8,
+       8,   917,   136,   137,   138,   917,   917,     7,   917,    38,
+     153,   154,   155,   156,   917,   153,     3,     7,    38,   153,
+     153,     8,    39,    97,    98,    99,   100,    56,    57,    49,
+     130,     7,   153,   133,   134,   135,    56,    57,     3,    56,
+      57,   153,    71,     8,     7,     7,    75,    76,    77,    78,
+      79,    80,     7,    73,   768,   153,     3,   153,     7,     6,
+       3,    31,    32,    33,    34,     8,   789,   128,    38,   123,
+     124,   125,   126,     3,     3,   153,     3,     3,    48,   153,
+      50,     8,     8,    64,    65,    66,    56,    57,    58,    59,
+      60,    61,    62,    63,     3,     3,     3,     6,     4,   339,
+       8,     8,   156,    73,    74,    39,    40,    41,    42,    43,
+      44,    81,   129,     3,   131,   132,     3,     8,     8,     4,
+       3,     8,    56,    57,   153,     8,     3,     3,     8,   369,
+       3,     8,     8,   153,     3,     8,   153,     4,     3,     8,
+     382,     3,   382,     8,     3,   385,     8,     3,     3,     8,
+       6,   369,   392,     4,   382,     3,   382,   382,     6,    94,
+      95,    96,   402,     4,   382,   329,   330,   385,    17,    18,
+      19,    20,   412,     4,   392,     4,     4,   417,     4,   369,
+       4,   385,   417,   153,   402,     8,     4,   417,   392,   498,
+     499,   500,   382,     4,   412,   385,   436,     4,     4,   417,
+       4,     3,   392,     4,   154,     4,   382,     4,     8,   385,
+       8,     3,   402,     4,     4,     4,   392,     4,   436,   153,
+       4,     4,   412,     4,     4,   153,   402,   417,    31,    32,
+      33,    34,     4,    36,     4,    38,    39,    56,    57,     4,
+     417,     4,     4,     4,     4,     4,   436,     4,     4,   154,
+     154,   154,   154,    56,    57,     4,    59,    60,     4,    62,
+      63,     4,     4,     4,     4,     4,     4,     4,     4,     4,
+      73,     4,   154,     4,     4,   156,     4,     4,    81,     4,
+       4,   156,   446,   447,   448,     4,   154,   106,   107,   108,
+     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
+     119,     4,     4,     4,   544,   545,   546,     4,     4,   154,
+       4,   154,   154,     4,     4,     4,     4,     4,     4,     4,
+     560,   561,   562,     4,     4,     4,   544,   154,     4,     4,
+       4,   156,     4,     4,   153,   156,   156,     4,     4,   156,
+     154,     4,   560,   561,   562,   154,   154,     4,     4,     4,
+     153,   156,     4,     4,   544,   519,     4,     7,     7,     5,
+     156,   156,     7,     7,     7,     5,     5,   153,   545,   546,
+     560,   561,   562,     7,   538,   139,   140,   141,   142,   143,
+     144,   145,   146,   147,   148,   149,   150,   151,   152,     5,
+       5,     5,     5,     5,     5,   153,   461,     7,     7,     7,
+       7,     5,     5,     5,     5,   153,   153,     7,   153,   153,
+       5,     7,   122,     7,     7,     7,     7,     7,     7,   153,
+       7,   153,     7,    82,   153,     7,     4,   153,     4,     4,
+     153,   153,   153,   153,     4,   153,   153,   153,   153,   153,
+     153,   153,   153,     4,   153,     3,     6,     6,     3,     6,
+       3,     3,     6,   153,     3,     6,     6,     4,     4,     4,
+       4,     4,     4,     4,     4,     4,     3,   555,     6,     3,
+       6,     6,     3,   156,     4,     8,     4,     4,     4,   156,
+       4,   154,     4,     4,   154,   154,   154,     4,     4,   154,
+     154,     4,   154,   154,   154,     6,   154,     3,     8,     4,
+     154,   154,     3,     5,     8,     8,   153,     4,     8,     4,
+     750,   753,   153,   753,     4,   153,   756,   153,   153,   759,
+     762,   153,   762,   153,   759,   753,   153,   753,   753,   759,
+     770,   153,   153,   773,   762,   753,   762,   762,   756,     4,
+       7,   759,     4,     4,   762,     4,     4,   539,   154,   789,
+     365,   156,   770,   793,   153,   153,   544,   154,   762,   799,
+     339,   546,   802,   753,   750,   805,   756,   765,   154,   759,
+     810,   789,   762,   750,   153,   793,   369,   753,   775,   768,
+     770,   799,   759,   420,   802,   762,   762,   805,   773,   782,
+     755,   753,   810,   770,   770,   799,   764,   382,   802,   789,
+     917,    77,   758,   793,   756,   759,   761,   417,   385,   799,
+     801,   799,   802,   807,   392,   805,   921,   804,   412,   802,
+     810,   805,   771,   799,   793,   562,   802,   402,   789,   805,
+     540,   811,   938,   810,   954,   971,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   436,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   439,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     939,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   917,    -1,   917,    -1,    -1,
+      -1,   921,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   917,
+      -1,   917,   917,    -1,    -1,    -1,    -1,    -1,   938,   917,
+      -1,    -1,    -1,   921,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   917,    -1,    -1,    -1,    -1,    -1,    -1,
+     938,    -1,    -1,    -1,    -1,    -1,    -1,   917,    -1,    -1,
+      -1,   921,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     917,   917,    -1,    -1,   921,   921,    -1,    -1,   938,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     921,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   939,    -1,
-      -1,   921
+      -1,   938
   };
 
   const unsigned short int
@@ -4126,98 +4126,98 @@ namespace isc { namespace dhcp {
        0,     5,     7,     9,   153,   154,   155,   156,   173,   174,
      175,   180,     7,   189,     7,   195,     7,   206,     7,   283,
        7,   358,     7,   374,     7,   391,     7,   310,     7,   316,
-       7,   340,     7,   259,     7,   447,     7,   482,   181,   176,
+       7,   340,     7,   259,     7,   448,     7,   483,   181,   176,
      190,   196,   207,   284,   359,   375,   392,   311,   317,   341,
-     260,   448,   483,   173,   182,   183,   153,   178,   179,    10,
-     127,   136,   137,   138,   153,   188,   191,   192,   193,   474,
-     476,   478,   480,    11,    14,    15,    31,    32,    33,    34,
+     260,   449,   484,   173,   182,   183,   153,   178,   179,    10,
+     127,   136,   137,   138,   153,   188,   191,   192,   193,   475,
+     477,   479,   481,    11,    14,    15,    31,    32,    33,    34,
       35,    36,    37,    38,    56,    57,    67,    68,    69,    70,
       71,    83,    86,    93,   101,   102,   105,   188,   197,   198,
      199,   200,   201,   202,   203,   204,   213,   215,   239,   245,
      251,   253,   267,   277,   300,   308,   334,   364,   366,   414,
-     424,   436,   437,   445,    12,    13,   188,   208,   209,   210,
-     212,   364,   366,     7,    48,    50,    58,    59,    60,    61,
-      62,    63,    73,    74,    81,   188,   199,   200,   201,   202,
-     285,   286,   287,   289,   291,   293,   295,   298,   299,   334,
-     352,   364,   366,   368,   385,   410,    49,   188,   334,   360,
+     425,   437,   438,   446,    12,    13,   188,   208,   209,   210,
+     212,   364,   366,    48,    50,    58,    59,    60,    61,    62,
+      63,    73,    74,    81,   188,   199,   200,   201,   202,   285,
+     286,   287,   289,   291,   293,   295,   298,   299,   334,   352,
+     364,   366,   368,   385,   410,    49,   188,   293,   334,   360,
      361,   362,   364,   366,    51,    52,    53,    54,    55,   188,
-     334,   364,   366,   376,   377,   378,   380,   381,   383,   384,
-      71,    75,    76,    77,    78,    79,    80,   188,   334,   364,
-     366,   393,   394,   395,   396,   398,   400,   402,   404,   406,
-     408,   308,    16,    39,    41,    42,    45,    46,    47,   188,
-     229,   318,   319,   320,   321,   322,   323,   324,   326,   328,
-     330,   331,   333,   364,   366,    40,    43,    44,   188,   229,
-     322,   328,   342,   343,   344,   345,   346,   348,   349,   350,
-     351,   364,   366,    84,    85,   188,   261,   262,   263,   265,
-     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-     116,   117,   118,   119,   188,   364,   366,   449,   450,   451,
-     452,   454,   456,   457,   459,   460,   461,   464,   466,   467,
-     468,   469,   472,   128,   484,   485,   486,     6,     3,     4,
-       8,     3,   194,   481,   475,   477,   479,     4,     3,     8,
-     205,   214,   216,     4,     4,     4,     4,     4,   278,   309,
-     335,   365,   367,   301,   240,   252,   246,   415,   254,   268,
-     425,     4,   438,   446,     3,     8,   211,     4,     3,     8,
-     417,   353,   369,   288,   290,   292,     4,     4,   296,   294,
+     293,   334,   364,   366,   376,   377,   378,   380,   381,   383,
+     384,    71,    75,    76,    77,    78,    79,    80,   188,   334,
+     364,   366,   393,   394,   395,   396,   398,   400,   402,   404,
+     406,   408,   308,    16,    39,    41,    42,    45,    46,    47,
+     188,   229,   318,   319,   320,   321,   322,   323,   324,   326,
+     328,   330,   331,   333,   364,   366,    40,    43,    44,   188,
+     229,   322,   328,   342,   343,   344,   345,   346,   348,   349,
+     350,   351,   364,   366,    84,    85,   188,   261,   262,   263,
+     265,   106,   107,   108,   109,   110,   111,   112,   113,   114,
+     115,   116,   117,   118,   119,   188,   364,   366,   450,   451,
+     452,   453,   455,   457,   458,   460,   461,   462,   465,   467,
+     468,   469,   470,   473,   128,   485,   486,   487,     6,     3,
+       4,     8,     3,   194,   482,   476,   478,   480,     4,     3,
+       8,   205,   214,   216,     4,     4,     4,     4,     4,   278,
+     309,   335,   365,   367,   301,   240,   252,   246,   415,   254,
+     268,   426,     4,   439,   447,     3,     8,   211,     4,     3,
+       8,   353,   369,   288,   290,   292,     4,     4,   296,   294,
      386,   411,     3,     8,   363,     3,     8,   379,     4,   382,
        4,     4,     3,     8,   409,   397,   399,   401,   403,   405,
      407,     8,     3,     8,   325,   230,     4,   329,   327,   332,
        4,     8,     3,   347,     4,     4,     8,     3,   264,   266,
-       3,     8,     4,   453,   455,     4,   458,     4,     4,   462,
-     465,     4,     4,     4,   470,   473,     3,     8,   487,     3,
+       3,     8,     4,   454,   456,     4,   459,     4,     4,   463,
+     466,     4,     4,     4,   471,   474,     3,     8,   488,     3,
        8,   173,   173,   153,     4,     4,     4,     4,     4,   192,
        4,     4,     4,   154,   154,   154,   154,   154,     4,     4,
        4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
-       4,   154,     4,     4,   198,     4,   156,   209,    72,   188,
-     229,   334,   364,   366,   418,   419,   420,   421,   422,     4,
-       4,     4,     4,     4,   154,   156,     4,     4,     4,     4,
-     286,     4,   361,     4,   154,     4,   154,   154,   377,     4,
-       4,     4,     4,     4,     4,     4,   395,     4,     4,   154,
-       4,     4,     4,   156,   320,     4,   156,   156,   344,     4,
-       4,   262,   156,     4,     4,   154,     4,   154,   154,     4,
-       4,   156,   156,   156,     4,     4,   450,     4,   485,     4,
-       7,     7,   173,   173,   173,     7,     7,     7,     5,     5,
-       5,   175,   177,   153,     5,     5,     5,     5,     5,     5,
-       7,     7,     7,     7,     5,   184,   423,     8,     3,     5,
-       5,   153,   153,   153,    64,    65,    66,   297,   153,     5,
-       7,   153,   153,   153,   184,   184,   184,   153,   153,   153,
-     153,   153,   153,   153,   153,   153,   153,   153,   173,   153,
-     153,   153,   120,   121,   463,   122,   123,   124,   125,   126,
-     156,   471,   153,     5,   173,   197,   484,   208,    16,    21,
-      22,    23,    24,    25,    26,    27,    28,    29,    30,   188,
-     217,   218,   219,   222,   224,   226,   228,   229,   231,   232,
-     233,   234,   235,   237,   217,     7,   279,   280,   281,     7,
-     312,   313,   314,     7,   336,   337,   338,     7,   302,   303,
-     304,    77,   153,   241,   242,   243,   244,   182,    78,    80,
-     243,   247,   248,   249,   250,   293,   416,     7,   255,   256,
-     257,    87,    88,    89,    90,    91,    92,   269,   270,   271,
-     272,   273,   274,   275,   276,    16,    97,    98,    99,   100,
-     188,   231,   364,   366,   426,   427,   428,   431,   432,   434,
-     435,   103,   104,   188,   364,   366,   439,   440,   441,   443,
-     449,   185,     4,   420,     7,   354,   355,   356,     7,   370,
-     371,   372,     7,   387,   388,   389,    82,   412,     7,   488,
-     489,     8,     8,     8,   220,   223,   225,   227,     4,     4,
-       4,     4,     4,   236,   238,     3,     8,     8,   282,     6,
-       3,   315,     6,     3,   339,     6,     3,   305,     6,     3,
-       3,     6,     6,     3,     6,     3,     6,   258,     6,     3,
-       4,     4,     4,     4,     4,     4,     3,     8,   429,   433,
-       4,     4,     4,     3,     8,   442,   444,     3,     8,     8,
-     153,   186,   187,   153,   357,     6,     3,   373,     6,     3,
-     390,     6,     3,   413,     8,   490,     3,     6,     4,     4,
-       4,     4,   154,   156,   154,   156,   154,     4,     4,   218,
-     285,   281,   318,   314,   342,   338,   188,   199,   200,   201,
-     202,   229,   277,   289,   291,   293,   295,   299,   306,   307,
-     334,   364,   366,   410,   304,   242,   248,   293,   261,   257,
-     154,   154,   154,   154,   154,   154,   270,     4,     4,   154,
-     154,   154,   427,     4,     4,   440,     6,     3,   360,   356,
-     376,   372,   393,   389,     4,   129,   131,   132,   188,   229,
-     364,   366,   491,   492,   493,   494,   496,   489,    17,    18,
-      19,    20,   221,   153,   153,   153,   153,   153,     8,     8,
-       8,     3,     8,     8,    94,    95,    96,   430,   153,   153,
-     153,   153,     8,     8,     8,   153,   497,     4,   495,     3,
-       8,   307,     4,   154,     4,   492,     5,   153,     7,   498,
-     499,   500,     3,     6,   130,   133,   134,   135,   501,   502,
-     503,   505,   506,   507,   499,   504,     4,     4,     4,     3,
-       8,     4,   156,   154,   154,   502,   153
+       4,   154,     4,     4,   198,     4,   156,   209,     4,     4,
+       4,     4,     4,   154,   156,     4,     4,     4,     4,   286,
+       4,   361,     4,   154,     4,   154,   154,   377,     4,     4,
+       4,     4,     4,     4,     4,   395,     4,     4,   154,     4,
+       4,     4,   156,   320,     4,   156,   156,   344,     4,     4,
+     262,   156,     4,     4,   154,     4,   154,   154,     4,     4,
+     156,   156,   156,     4,     4,   451,     4,   486,     4,     7,
+       7,   173,   173,   173,     7,     7,     7,     5,     5,     5,
+     175,   177,   153,     5,     5,     5,     5,     5,     5,     7,
+       7,     7,     7,     5,   184,     5,     5,   153,   153,   153,
+      64,    65,    66,   297,   153,     5,     7,   153,   153,   153,
+     184,   184,   184,   153,   153,   153,   153,   153,   153,   153,
+     153,   153,   153,   153,   173,   153,   153,   153,   120,   121,
+     464,   122,   123,   124,   125,   126,   156,   472,   153,     5,
+     173,   197,   485,   208,    16,    21,    22,    23,    24,    25,
+      26,    27,    28,    29,    30,   188,   217,   218,   219,   222,
+     224,   226,   228,   229,   231,   232,   233,   234,   235,   237,
+     217,     7,   279,   280,   281,     7,   312,   313,   314,     7,
+     336,   337,   338,     7,   302,   303,   304,    77,   153,   241,
+     242,   243,   244,   182,    78,    80,   243,   247,   248,   249,
+     250,     7,   416,   417,     7,   255,   256,   257,    87,    88,
+      89,    90,    91,    92,   269,   270,   271,   272,   273,   274,
+     275,   276,    16,    97,    98,    99,   100,   188,   231,   364,
+     366,   427,   428,   429,   432,   433,   435,   436,   103,   104,
+     188,   364,   366,   440,   441,   442,   444,   450,   185,     7,
+     354,   355,   356,     7,   370,   371,   372,     7,   387,   388,
+     389,    82,   412,     7,   489,   490,     8,     8,     8,   220,
+     223,   225,   227,     4,     4,     4,     4,     4,   236,   238,
+       3,     8,     8,   282,     6,     3,   315,     6,     3,   339,
+       6,     3,   305,     6,     3,     3,     6,     6,     3,     6,
+     418,     3,     6,   258,     6,     3,     4,     4,     4,     4,
+       4,     4,     3,     8,   430,   434,     4,     4,     4,     3,
+       8,   443,   445,     3,     8,     8,   153,   186,   187,   357,
+       6,     3,   373,     6,     3,   390,     6,     3,   413,     8,
+     491,     3,     6,     4,     4,     4,     4,   154,   156,   154,
+     156,   154,     4,     4,   218,   285,   281,   318,   314,   342,
+     338,   188,   199,   200,   201,   202,   229,   277,   289,   291,
+     293,   295,   299,   306,   307,   334,   364,   366,   410,   304,
+     242,   248,    72,   188,   229,   334,   364,   366,   419,   420,
+     421,   422,   423,   417,   261,   257,   154,   154,   154,   154,
+     154,   154,   270,     4,     4,   154,   154,   154,   428,     4,
+       4,   441,     6,     3,   360,   356,   376,   372,   393,   389,
+       4,   129,   131,   132,   188,   229,   364,   366,   492,   493,
+     494,   495,   497,   490,    17,    18,    19,    20,   221,   153,
+     153,   153,   153,   153,     8,     8,     8,     3,     8,   424,
+       8,     3,     8,    94,    95,    96,   431,   153,   153,   153,
+     153,     8,     8,     8,   153,   498,     4,   496,     3,     8,
+     307,     4,   421,     4,   154,     4,   493,   153,     5,   153,
+       7,   499,   500,   501,     3,     6,   130,   133,   134,   135,
+     502,   503,   504,   506,   507,   508,   500,   505,     4,     4,
+       4,     3,     8,     4,   156,   154,   154,   503,   153
   };
 
   const unsigned short int
@@ -4260,30 +4260,30 @@ namespace isc { namespace dhcp {
      344,   344,   344,   344,   344,   344,   344,   344,   345,   347,
      346,   348,   349,   350,   351,   353,   352,   354,   354,   355,
      355,   357,   356,   359,   358,   360,   360,   361,   361,   361,
-     361,   361,   363,   362,   365,   364,   367,   366,   369,   368,
-     370,   370,   371,   371,   373,   372,   375,   374,   376,   376,
-     377,   377,   377,   377,   377,   377,   377,   377,   377,   379,
-     378,   380,   382,   381,   383,   384,   386,   385,   387,   387,
-     388,   388,   390,   389,   392,   391,   393,   393,   394,   394,
-     395,   395,   395,   395,   395,   395,   395,   395,   395,   395,
-     395,   397,   396,   399,   398,   401,   400,   403,   402,   405,
-     404,   407,   406,   409,   408,   411,   410,   413,   412,   415,
-     414,   416,   416,   417,   293,   418,   418,   419,   419,   420,
-     420,   420,   420,   420,   420,   421,   423,   422,   425,   424,
-     426,   426,   427,   427,   427,   427,   427,   427,   427,   427,
-     427,   429,   428,   430,   430,   430,   431,   433,   432,   434,
-     435,   436,   438,   437,   439,   439,   440,   440,   440,   440,
-     440,   442,   441,   444,   443,   446,   445,   448,   447,   449,
-     449,   450,   450,   450,   450,   450,   450,   450,   450,   450,
-     450,   450,   450,   450,   450,   450,   450,   450,   451,   453,
-     452,   455,   454,   456,   458,   457,   459,   460,   462,   461,
-     463,   463,   465,   464,   466,   467,   468,   470,   469,   471,
-     471,   471,   471,   471,   473,   472,   475,   474,   477,   476,
-     479,   478,   481,   480,   483,   482,   484,   484,   485,   487,
-     486,   488,   488,   490,   489,   491,   491,   492,   492,   492,
-     492,   492,   492,   492,   493,   495,   494,   497,   496,   498,
-     498,   500,   499,   501,   501,   502,   502,   502,   502,   504,
-     503,   505,   506,   507
+     361,   361,   361,   363,   362,   365,   364,   367,   366,   369,
+     368,   370,   370,   371,   371,   373,   372,   375,   374,   376,
+     376,   377,   377,   377,   377,   377,   377,   377,   377,   377,
+     377,   379,   378,   380,   382,   381,   383,   384,   386,   385,
+     387,   387,   388,   388,   390,   389,   392,   391,   393,   393,
+     394,   394,   395,   395,   395,   395,   395,   395,   395,   395,
+     395,   395,   395,   397,   396,   399,   398,   401,   400,   403,
+     402,   405,   404,   407,   406,   409,   408,   411,   410,   413,
+     412,   415,   414,   416,   416,   418,   417,   419,   419,   420,
+     420,   421,   421,   421,   421,   421,   421,   422,   424,   423,
+     426,   425,   427,   427,   428,   428,   428,   428,   428,   428,
+     428,   428,   428,   430,   429,   431,   431,   431,   432,   434,
+     433,   435,   436,   437,   439,   438,   440,   440,   441,   441,
+     441,   441,   441,   443,   442,   445,   444,   447,   446,   449,
+     448,   450,   450,   451,   451,   451,   451,   451,   451,   451,
+     451,   451,   451,   451,   451,   451,   451,   451,   451,   451,
+     452,   454,   453,   456,   455,   457,   459,   458,   460,   461,
+     463,   462,   464,   464,   466,   465,   467,   468,   469,   471,
+     470,   472,   472,   472,   472,   472,   474,   473,   476,   475,
+     478,   477,   480,   479,   482,   481,   484,   483,   485,   485,
+     486,   488,   487,   489,   489,   491,   490,   492,   492,   493,
+     493,   493,   493,   493,   493,   493,   494,   496,   495,   498,
+     497,   499,   499,   501,   500,   502,   502,   503,   503,   503,
+     503,   505,   504,   506,   507,   508
   };
 
   const unsigned char
@@ -4326,30 +4326,30 @@ namespace isc { namespace dhcp {
        1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
        4,     1,     1,     3,     3,     0,     6,     0,     1,     1,
        3,     0,     4,     0,     4,     1,     3,     1,     1,     1,
-       1,     1,     0,     4,     0,     4,     0,     4,     0,     6,
-       0,     1,     1,     3,     0,     4,     0,     4,     1,     3,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
-       4,     3,     0,     4,     3,     3,     0,     6,     0,     1,
-       1,     3,     0,     4,     0,     4,     0,     1,     1,     3,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     0,     4,     0,     4,     0,     4,     0,     4,     0,
-       4,     0,     4,     0,     4,     0,     6,     0,     4,     0,
-       6,     1,     3,     0,     4,     0,     1,     1,     3,     1,
-       1,     1,     1,     1,     1,     1,     0,     4,     0,     6,
-       1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     0,     4,     1,     1,     1,     3,     0,     4,     3,
-       3,     3,     0,     6,     1,     3,     1,     1,     1,     1,
-       1,     0,     4,     0,     4,     0,     6,     0,     4,     1,
+       1,     1,     1,     0,     4,     0,     4,     0,     4,     0,
+       6,     0,     1,     1,     3,     0,     4,     0,     4,     1,
        3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     3,     0,
-       4,     0,     4,     3,     0,     4,     3,     3,     0,     4,
-       1,     1,     0,     4,     3,     3,     3,     0,     4,     1,
-       1,     1,     1,     1,     0,     4,     0,     4,     0,     4,
-       0,     4,     0,     6,     0,     4,     1,     3,     1,     0,
+       1,     0,     4,     3,     0,     4,     3,     3,     0,     6,
+       0,     1,     1,     3,     0,     4,     0,     4,     0,     1,
+       1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     0,     4,     0,     4,     0,     4,     0,
+       4,     0,     4,     0,     4,     0,     4,     0,     6,     0,
+       4,     0,     6,     1,     3,     0,     4,     0,     1,     1,
+       3,     1,     1,     1,     1,     1,     1,     1,     0,     4,
+       0,     6,     1,     3,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     0,     4,     1,     1,     1,     3,     0,
+       4,     3,     3,     3,     0,     6,     1,     3,     1,     1,
+       1,     1,     1,     0,     4,     0,     4,     0,     6,     0,
+       4,     1,     3,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       3,     0,     4,     0,     4,     3,     0,     4,     3,     3,
+       0,     4,     1,     1,     0,     4,     3,     3,     3,     0,
+       4,     1,     1,     1,     1,     1,     0,     4,     0,     4,
+       0,     4,     0,     4,     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,     1,     1,     1,     3,     0,     4,     0,     6,     1,
-       3,     0,     4,     1,     3,     1,     1,     1,     1,     0,
-       4,     3,     3,     3
+       1,     0,     4,     3,     3,     3
   };
 
 
@@ -4465,28 +4465,29 @@ namespace isc { namespace dhcp {
   "$@78", "prefixes", "$@79", "duid", "$@80", "hw_address", "$@81",
   "hostname", "$@82", "flex_id_value", "$@83",
   "reservation_client_classes", "$@84", "relay", "$@85", "relay_map",
-  "$@86", "client_classes", "$@87", "client_classes_list", "$@88",
-  "client_class_params", "not_empty_client_class_params",
-  "client_class_param", "client_class_name", "client_class_test", "$@89",
-  "server_id", "$@90", "server_id_params", "server_id_param",
-  "server_id_type", "$@91", "duid_type", "htype", "identifier", "$@92",
-  "time", "enterprise_id", "dhcp4o6_port", "control_socket", "$@93",
-  "control_socket_params", "control_socket_param", "socket_type", "$@94",
-  "socket_name", "$@95", "dhcp_ddns", "$@96", "sub_dhcp_ddns", "$@97",
-  "dhcp_ddns_params", "dhcp_ddns_param", "enable_updates",
-  "qualifying_suffix", "$@98", "server_ip", "$@99", "server_port",
-  "sender_ip", "$@100", "sender_port", "max_queue_size", "ncr_protocol",
-  "$@101", "ncr_protocol_value", "ncr_format", "$@102",
-  "always_include_fqdn", "override_no_update", "override_client_update",
-  "replace_client_name", "$@103", "replace_client_name_value",
-  "generated_prefix", "$@104", "dhcp4_json_object", "$@105",
-  "dhcpddns_json_object", "$@106", "control_agent_json_object", "$@107",
-  "logging_object", "$@108", "sub_logging", "$@109", "logging_params",
-  "logging_param", "loggers", "$@110", "loggers_entries", "logger_entry",
-  "$@111", "logger_params", "logger_param", "debuglevel", "severity",
-  "$@112", "output_options_list", "$@113", "output_options_list_content",
-  "output_entry", "$@114", "output_params_list", "output_params", "output",
-  "$@115", "flush", "maxsize", "maxver", YY_NULLPTR
+  "$@86", "client_classes", "$@87", "client_classes_list",
+  "client_class_entry", "$@88", "client_class_params",
+  "not_empty_client_class_params", "client_class_param",
+  "client_class_name", "client_class_test", "$@89", "server_id", "$@90",
+  "server_id_params", "server_id_param", "server_id_type", "$@91",
+  "duid_type", "htype", "identifier", "$@92", "time", "enterprise_id",
+  "dhcp4o6_port", "control_socket", "$@93", "control_socket_params",
+  "control_socket_param", "socket_type", "$@94", "socket_name", "$@95",
+  "dhcp_ddns", "$@96", "sub_dhcp_ddns", "$@97", "dhcp_ddns_params",
+  "dhcp_ddns_param", "enable_updates", "qualifying_suffix", "$@98",
+  "server_ip", "$@99", "server_port", "sender_ip", "$@100", "sender_port",
+  "max_queue_size", "ncr_protocol", "$@101", "ncr_protocol_value",
+  "ncr_format", "$@102", "always_include_fqdn", "override_no_update",
+  "override_client_update", "replace_client_name", "$@103",
+  "replace_client_name_value", "generated_prefix", "$@104",
+  "dhcp4_json_object", "$@105", "dhcpddns_json_object", "$@106",
+  "control_agent_json_object", "$@107", "logging_object", "$@108",
+  "sub_logging", "$@109", "logging_params", "logging_param", "loggers",
+  "$@110", "loggers_entries", "logger_entry", "$@111", "logger_params",
+  "logger_param", "debuglevel", "severity", "$@112", "output_options_list",
+  "$@113", "output_options_list_content", "output_entry", "$@114",
+  "output_params_list", "output_params", "output", "$@115", "flush",
+  "maxsize", "maxver", YY_NULLPTR
   };
 
 #if PARSER6_DEBUG
@@ -4530,30 +4531,30 @@ namespace isc { namespace dhcp {
     1228,  1229,  1230,  1231,  1232,  1233,  1234,  1235,  1238,  1240,
     1240,  1248,  1250,  1252,  1257,  1265,  1265,  1277,  1278,  1281,
     1282,  1285,  1285,  1295,  1295,  1304,  1305,  1308,  1309,  1310,
-    1311,  1312,  1315,  1315,  1323,  1323,  1348,  1348,  1378,  1378,
-    1390,  1391,  1394,  1395,  1398,  1398,  1410,  1410,  1422,  1423,
-    1426,  1427,  1428,  1429,  1430,  1431,  1432,  1433,  1434,  1437,
-    1437,  1445,  1450,  1450,  1458,  1463,  1471,  1471,  1481,  1482,
-    1485,  1486,  1489,  1489,  1498,  1498,  1507,  1508,  1511,  1512,
-    1516,  1517,  1518,  1519,  1520,  1521,  1522,  1523,  1524,  1525,
-    1526,  1529,  1529,  1539,  1539,  1549,  1549,  1557,  1557,  1565,
-    1565,  1573,  1573,  1581,  1581,  1594,  1594,  1604,  1604,  1615,
-    1615,  1625,  1626,  1629,  1629,  1639,  1640,  1643,  1644,  1647,
-    1648,  1649,  1650,  1651,  1652,  1655,  1657,  1657,  1668,  1668,
-    1680,  1681,  1684,  1685,  1686,  1687,  1688,  1689,  1690,  1691,
-    1692,  1695,  1695,  1702,  1703,  1704,  1707,  1712,  1712,  1720,
-    1725,  1732,  1739,  1739,  1749,  1750,  1753,  1754,  1755,  1756,
-    1757,  1760,  1760,  1768,  1768,  1778,  1778,  1790,  1790,  1800,
-    1801,  1804,  1805,  1806,  1807,  1808,  1809,  1810,  1811,  1812,
-    1813,  1814,  1815,  1816,  1817,  1818,  1819,  1820,  1823,  1828,
-    1828,  1836,  1836,  1844,  1849,  1849,  1857,  1862,  1867,  1867,
-    1875,  1876,  1879,  1879,  1887,  1892,  1897,  1902,  1902,  1910,
-    1913,  1916,  1919,  1922,  1928,  1928,  1938,  1938,  1945,  1945,
-    1952,  1952,  1965,  1965,  1975,  1975,  1986,  1987,  1991,  1995,
-    1995,  2007,  2008,  2012,  2012,  2020,  2021,  2024,  2025,  2026,
-    2027,  2028,  2029,  2030,  2033,  2038,  2038,  2046,  2046,  2056,
-    2057,  2060,  2060,  2068,  2069,  2072,  2073,  2074,  2075,  2078,
-    2078,  2086,  2091,  2096
+    1311,  1312,  1313,  1316,  1316,  1324,  1324,  1349,  1349,  1379,
+    1379,  1391,  1392,  1395,  1396,  1399,  1399,  1411,  1411,  1423,
+    1424,  1427,  1428,  1429,  1430,  1431,  1432,  1433,  1434,  1435,
+    1436,  1439,  1439,  1447,  1452,  1452,  1460,  1465,  1473,  1473,
+    1483,  1484,  1487,  1488,  1491,  1491,  1500,  1500,  1509,  1510,
+    1513,  1514,  1518,  1519,  1520,  1521,  1522,  1523,  1524,  1525,
+    1526,  1527,  1528,  1531,  1531,  1541,  1541,  1551,  1551,  1559,
+    1559,  1567,  1567,  1575,  1575,  1583,  1583,  1596,  1596,  1606,
+    1606,  1617,  1617,  1627,  1628,  1631,  1631,  1641,  1642,  1645,
+    1646,  1649,  1650,  1651,  1652,  1653,  1654,  1657,  1659,  1659,
+    1670,  1670,  1682,  1683,  1686,  1687,  1688,  1689,  1690,  1691,
+    1692,  1693,  1694,  1697,  1697,  1704,  1705,  1706,  1709,  1714,
+    1714,  1722,  1727,  1734,  1741,  1741,  1751,  1752,  1755,  1756,
+    1757,  1758,  1759,  1762,  1762,  1770,  1770,  1780,  1780,  1792,
+    1792,  1802,  1803,  1806,  1807,  1808,  1809,  1810,  1811,  1812,
+    1813,  1814,  1815,  1816,  1817,  1818,  1819,  1820,  1821,  1822,
+    1825,  1830,  1830,  1838,  1838,  1846,  1851,  1851,  1859,  1864,
+    1869,  1869,  1877,  1878,  1881,  1881,  1889,  1894,  1899,  1904,
+    1904,  1912,  1915,  1918,  1921,  1924,  1930,  1930,  1940,  1940,
+    1947,  1947,  1954,  1954,  1967,  1967,  1977,  1977,  1988,  1989,
+    1993,  1997,  1997,  2009,  2010,  2014,  2014,  2022,  2023,  2026,
+    2027,  2028,  2029,  2030,  2031,  2032,  2035,  2040,  2040,  2048,
+    2048,  2058,  2059,  2062,  2062,  2070,  2071,  2074,  2075,  2076,
+    2077,  2080,  2080,  2088,  2093,  2098
   };
 
   // Print the state stack on the debug stream.
@@ -4588,8 +4589,8 @@ namespace isc { namespace dhcp {
 
 #line 14 "dhcp6_parser.yy" // lalr1.cc:1167
 } } // isc::dhcp
-#line 4592 "dhcp6_parser.cc" // lalr1.cc:1167
-#line 2101 "dhcp6_parser.yy" // lalr1.cc:1168
+#line 4593 "dhcp6_parser.cc" // lalr1.cc:1167
+#line 2103 "dhcp6_parser.yy" // lalr1.cc:1168
 
 
 void
index 0d951f91c43fc3e88a4991f48bb6e68b4d6ddda1..9634f42983df4c1b365c1a3ada5cc154292b42c7 100644 (file)
@@ -1441,7 +1441,7 @@ namespace isc { namespace dhcp {
     {
       yyeof_ = 0,
       yylast_ = 931,     ///< Last index in yytable_.
-      yynnts_ = 351,  ///< Number of nonterminal symbols.
+      yynnts_ = 352,  ///< Number of nonterminal symbols.
       yyfinal_ = 30, ///< Termination state number.
       yyterror_ = 1,
       yyerrcode_ = 256,
@@ -1542,9 +1542,9 @@ namespace isc { namespace dhcp {
       case 177: // map_value
       case 221: // db_type
       case 297: // hr_mode
-      case 430: // duid_type
-      case 463: // ncr_protocol_value
-      case 471: // replace_client_name_value
+      case 431: // duid_type
+      case 464: // ncr_protocol_value
+      case 472: // replace_client_name_value
         value.copy< ElementPtr > (other.value);
         break;
 
@@ -1585,9 +1585,9 @@ namespace isc { namespace dhcp {
       case 177: // map_value
       case 221: // db_type
       case 297: // hr_mode
-      case 430: // duid_type
-      case 463: // ncr_protocol_value
-      case 471: // replace_client_name_value
+      case 431: // duid_type
+      case 464: // ncr_protocol_value
+      case 472: // replace_client_name_value
         value.copy< ElementPtr > (v);
         break;
 
@@ -1687,9 +1687,9 @@ namespace isc { namespace dhcp {
       case 177: // map_value
       case 221: // db_type
       case 297: // hr_mode
-      case 430: // duid_type
-      case 463: // ncr_protocol_value
-      case 471: // replace_client_name_value
+      case 431: // duid_type
+      case 464: // ncr_protocol_value
+      case 472: // replace_client_name_value
         value.template destroy< ElementPtr > ();
         break;
 
@@ -1736,9 +1736,9 @@ namespace isc { namespace dhcp {
       case 177: // map_value
       case 221: // db_type
       case 297: // hr_mode
-      case 430: // duid_type
-      case 463: // ncr_protocol_value
-      case 471: // replace_client_name_value
+      case 431: // duid_type
+      case 464: // ncr_protocol_value
+      case 472: // replace_client_name_value
         value.move< ElementPtr > (s.value);
         break;
 
index 7c04bc773c500be398cd4f727824c4027714b923..2e2812ac18ebd68bf894a086e5a332293e9859ca 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201712311009
+// Generated 201801182315
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Locations for Bison parsers in C++
index 64a77fb106b940893357b294e94c42559228e45d..fa6f9d4722ef5fa23b72d0613b8e1953b3c76c70 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201712311009
+// Generated 201801182315
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Positions for Bison parsers in C++
index c8bcff3852e050cbebcabd2a21e9ae05e9159b96..ee6210af0f99609c520731020818c121cdc8411f 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201712311009
+// Generated 201801182315
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Stack handling for Bison parsers in C++