Browse Source

[master] parsers regenerated

Tomek Mrugalski 7 years ago
parent
commit
18d31ca1da

+ 97 - 96
src/bin/dhcp4/dhcp4_lexer.cc

@@ -1560,16 +1560,16 @@ static const flex_int16_t yy_rule_linenum[155] =
       463,  472,  481,  496,  512,  521,  530,  539,  548,  558,
       567,  577,  586,  595,  604,  614,  623,  632,  641,  650,
       660,  669,  678,  687,  696,  705,  714,  723,  732,  741,
-      750,  760,  770,  780,  789,  799,  809,  819,  829,  839,
-      848,  858,  867,  876,  885,  894,  904,  914,  924,  933,
-      942,  951,  960,  969,  978,  987,  996, 1005, 1014, 1023,
-
-     1032, 1041, 1050, 1059, 1068, 1077, 1086, 1095, 1104, 1113,
-     1122, 1131, 1140, 1149, 1158, 1167, 1176, 1186, 1196, 1206,
-     1216, 1226, 1236, 1246, 1256, 1266, 1275, 1284, 1293, 1302,
-     1311, 1320, 1331, 1342, 1355, 1366, 1379, 1477, 1482, 1487,
-     1492, 1493, 1494, 1495, 1496, 1497, 1499, 1517, 1530, 1535,
-     1539, 1541, 1543, 1545
+      750,  760,  771,  781,  790,  800,  810,  820,  830,  840,
+      849,  859,  868,  877,  886,  895,  905,  915,  925,  934,
+      943,  952,  961,  970,  979,  988,  997, 1006, 1015, 1024,
+
+     1033, 1042, 1051, 1060, 1069, 1078, 1087, 1096, 1105, 1114,
+     1123, 1132, 1141, 1150, 1159, 1168, 1177, 1187, 1197, 1207,
+     1217, 1227, 1237, 1247, 1257, 1267, 1276, 1285, 1294, 1303,
+     1312, 1321, 1332, 1343, 1356, 1367, 1380, 1478, 1483, 1488,
+     1493, 1494, 1495, 1496, 1497, 1498, 1500, 1518, 1531, 1536,
+     1540, 1542, 1544, 1546
     } ;
 
 /* The intent behind this definition is that it'll catch
@@ -2899,6 +2899,7 @@ YY_RULE_SETUP
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
     case isc::dhcp::Parser4Context::CLIENT_CLASSES:
+    case Parser4Context::SHARED_NETWORK:
         return isc::dhcp::Dhcp4Parser::make_CLIENT_CLASS(driver.loc_);
     default:
         return isc::dhcp::Dhcp4Parser::make_STRING("client-class", driver.loc_);
@@ -2907,7 +2908,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 73:
 YY_RULE_SETUP
-#line 770 "dhcp4_lexer.ll"
+#line 771 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CLIENT_CLASSES:
@@ -2920,7 +2921,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 74:
 YY_RULE_SETUP
-#line 780 "dhcp4_lexer.ll"
+#line 781 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -2932,7 +2933,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 75:
 YY_RULE_SETUP
-#line 789 "dhcp4_lexer.ll"
+#line 790 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -2945,7 +2946,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 76:
 YY_RULE_SETUP
-#line 799 "dhcp4_lexer.ll"
+#line 800 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -2958,7 +2959,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 77:
 YY_RULE_SETUP
-#line 809 "dhcp4_lexer.ll"
+#line 810 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -2971,7 +2972,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 78:
 YY_RULE_SETUP
-#line 819 "dhcp4_lexer.ll"
+#line 820 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -2984,7 +2985,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 79:
 YY_RULE_SETUP
-#line 829 "dhcp4_lexer.ll"
+#line 830 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -2997,7 +2998,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 839 "dhcp4_lexer.ll"
+#line 840 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RESERVATIONS:
@@ -3009,7 +3010,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 81:
 YY_RULE_SETUP
-#line 848 "dhcp4_lexer.ll"
+#line 849 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DEF:
@@ -3022,7 +3023,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 82:
 YY_RULE_SETUP
-#line 858 "dhcp4_lexer.ll"
+#line 859 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DATA:
@@ -3034,7 +3035,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 83:
 YY_RULE_SETUP
-#line 867 "dhcp4_lexer.ll"
+#line 868 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DEF:
@@ -3046,7 +3047,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 84:
 YY_RULE_SETUP
-#line 876 "dhcp4_lexer.ll"
+#line 877 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DEF:
@@ -3058,7 +3059,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 85:
 YY_RULE_SETUP
-#line 885 "dhcp4_lexer.ll"
+#line 886 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DEF:
@@ -3070,7 +3071,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 86:
 YY_RULE_SETUP
-#line 894 "dhcp4_lexer.ll"
+#line 895 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3083,7 +3084,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 87:
 YY_RULE_SETUP
-#line 904 "dhcp4_lexer.ll"
+#line 905 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RELAY:
@@ -3096,7 +3097,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 88:
 YY_RULE_SETUP
-#line 914 "dhcp4_lexer.ll"
+#line 915 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3108,7 +3109,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 924 "dhcp4_lexer.ll"
+#line 925 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
@@ -3120,7 +3121,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 933 "dhcp4_lexer.ll"
+#line 934 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
@@ -3132,7 +3133,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 91:
 YY_RULE_SETUP
-#line 942 "dhcp4_lexer.ll"
+#line 943 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3144,7 +3145,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 951 "dhcp4_lexer.ll"
+#line 952 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3156,7 +3157,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 93:
 YY_RULE_SETUP
-#line 960 "dhcp4_lexer.ll"
+#line 961 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3168,7 +3169,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 969 "dhcp4_lexer.ll"
+#line 970 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3180,7 +3181,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 978 "dhcp4_lexer.ll"
+#line 979 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3192,7 +3193,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 987 "dhcp4_lexer.ll"
+#line 988 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3204,7 +3205,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 996 "dhcp4_lexer.ll"
+#line 997 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3216,7 +3217,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 1005 "dhcp4_lexer.ll"
+#line 1006 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3228,7 +3229,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 99:
 YY_RULE_SETUP
-#line 1014 "dhcp4_lexer.ll"
+#line 1015 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3240,7 +3241,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 100:
 YY_RULE_SETUP
-#line 1023 "dhcp4_lexer.ll"
+#line 1024 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONTROL_SOCKET:
@@ -3252,7 +3253,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 101:
 YY_RULE_SETUP
-#line 1032 "dhcp4_lexer.ll"
+#line 1033 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONTROL_SOCKET:
@@ -3264,7 +3265,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 102:
 YY_RULE_SETUP
-#line 1041 "dhcp4_lexer.ll"
+#line 1042 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3276,7 +3277,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 103:
 YY_RULE_SETUP
-#line 1050 "dhcp4_lexer.ll"
+#line 1051 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3288,7 +3289,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 104:
 YY_RULE_SETUP
-#line 1059 "dhcp4_lexer.ll"
+#line 1060 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3300,7 +3301,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 105:
 YY_RULE_SETUP
-#line 1068 "dhcp4_lexer.ll"
+#line 1069 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3312,7 +3313,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 106:
 YY_RULE_SETUP
-#line 1077 "dhcp4_lexer.ll"
+#line 1078 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3324,7 +3325,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 107:
 YY_RULE_SETUP
-#line 1086 "dhcp4_lexer.ll"
+#line 1087 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3336,7 +3337,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 108:
 YY_RULE_SETUP
-#line 1095 "dhcp4_lexer.ll"
+#line 1096 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3348,7 +3349,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 109:
 YY_RULE_SETUP
-#line 1104 "dhcp4_lexer.ll"
+#line 1105 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3360,7 +3361,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 110:
 YY_RULE_SETUP
-#line 1113 "dhcp4_lexer.ll"
+#line 1114 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3372,7 +3373,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 1122 "dhcp4_lexer.ll"
+#line 1123 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3384,7 +3385,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 112:
 YY_RULE_SETUP
-#line 1131 "dhcp4_lexer.ll"
+#line 1132 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3396,7 +3397,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 113:
 YY_RULE_SETUP
-#line 1140 "dhcp4_lexer.ll"
+#line 1141 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3408,7 +3409,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 114:
 YY_RULE_SETUP
-#line 1149 "dhcp4_lexer.ll"
+#line 1150 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3420,7 +3421,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 115:
 YY_RULE_SETUP
-#line 1158 "dhcp4_lexer.ll"
+#line 1159 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3432,7 +3433,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 116:
 YY_RULE_SETUP
-#line 1167 "dhcp4_lexer.ll"
+#line 1168 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3444,7 +3445,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 117:
 YY_RULE_SETUP
-#line 1176 "dhcp4_lexer.ll"
+#line 1177 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) {
@@ -3457,7 +3458,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 118:
 YY_RULE_SETUP
-#line 1186 "dhcp4_lexer.ll"
+#line 1187 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) {
@@ -3470,7 +3471,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 119:
 YY_RULE_SETUP
-#line 1196 "dhcp4_lexer.ll"
+#line 1197 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_FORMAT) {
@@ -3483,7 +3484,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 120:
 YY_RULE_SETUP
-#line 1206 "dhcp4_lexer.ll"
+#line 1207 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3496,7 +3497,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 121:
 YY_RULE_SETUP
-#line 1216 "dhcp4_lexer.ll"
+#line 1217 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3509,7 +3510,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 122:
 YY_RULE_SETUP
-#line 1226 "dhcp4_lexer.ll"
+#line 1227 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3522,7 +3523,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 123:
 YY_RULE_SETUP
-#line 1236 "dhcp4_lexer.ll"
+#line 1237 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3535,7 +3536,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 124:
 YY_RULE_SETUP
-#line 1246 "dhcp4_lexer.ll"
+#line 1247 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3548,7 +3549,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 125:
 YY_RULE_SETUP
-#line 1256 "dhcp4_lexer.ll"
+#line 1257 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3561,7 +3562,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 126:
 YY_RULE_SETUP
-#line 1266 "dhcp4_lexer.ll"
+#line 1267 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONFIG:
@@ -3573,7 +3574,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 127:
 YY_RULE_SETUP
-#line 1275 "dhcp4_lexer.ll"
+#line 1276 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONFIG:
@@ -3585,7 +3586,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 128:
 YY_RULE_SETUP
-#line 1284 "dhcp4_lexer.ll"
+#line 1285 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONFIG:
@@ -3597,7 +3598,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 129:
 YY_RULE_SETUP
-#line 1293 "dhcp4_lexer.ll"
+#line 1294 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3609,7 +3610,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 130:
 YY_RULE_SETUP
-#line 1302 "dhcp4_lexer.ll"
+#line 1303 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3621,7 +3622,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 131:
 YY_RULE_SETUP
-#line 1311 "dhcp4_lexer.ll"
+#line 1312 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3633,7 +3634,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 132:
 YY_RULE_SETUP
-#line 1320 "dhcp4_lexer.ll"
+#line 1321 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3647,7 +3648,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 133:
 YY_RULE_SETUP
-#line 1331 "dhcp4_lexer.ll"
+#line 1332 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3661,7 +3662,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 134:
 YY_RULE_SETUP
-#line 1342 "dhcp4_lexer.ll"
+#line 1343 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3677,7 +3678,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 135:
 YY_RULE_SETUP
-#line 1355 "dhcp4_lexer.ll"
+#line 1356 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3691,7 +3692,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 136:
 YY_RULE_SETUP
-#line 1366 "dhcp4_lexer.ll"
+#line 1367 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3705,7 +3706,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 137:
 YY_RULE_SETUP
-#line 1379 "dhcp4_lexer.ll"
+#line 1380 "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.
@@ -3807,7 +3808,7 @@ YY_RULE_SETUP
 case 138:
 /* rule 138 can match eol */
 YY_RULE_SETUP
-#line 1477 "dhcp4_lexer.ll"
+#line 1478 "dhcp4_lexer.ll"
 {
     /* Bad string with a forbidden control character inside */
     driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
@@ -3816,7 +3817,7 @@ YY_RULE_SETUP
 case 139:
 /* rule 139 can match eol */
 YY_RULE_SETUP
-#line 1482 "dhcp4_lexer.ll"
+#line 1483 "dhcp4_lexer.ll"
 {
     /* Bad string with a bad escape inside */
     driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
@@ -3824,7 +3825,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 140:
 YY_RULE_SETUP
-#line 1487 "dhcp4_lexer.ll"
+#line 1488 "dhcp4_lexer.ll"
 {
     /* Bad string with an open escape at the end */
     driver.error(driver.loc_, "Overflow escape in " + std::string(yytext));
@@ -3832,37 +3833,37 @@ YY_RULE_SETUP
 	YY_BREAK
 case 141:
 YY_RULE_SETUP
-#line 1492 "dhcp4_lexer.ll"
+#line 1493 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); }
 	YY_BREAK
 case 142:
 YY_RULE_SETUP
-#line 1493 "dhcp4_lexer.ll"
+#line 1494 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); }
 	YY_BREAK
 case 143:
 YY_RULE_SETUP
-#line 1494 "dhcp4_lexer.ll"
+#line 1495 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); }
 	YY_BREAK
 case 144:
 YY_RULE_SETUP
-#line 1495 "dhcp4_lexer.ll"
+#line 1496 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); }
 	YY_BREAK
 case 145:
 YY_RULE_SETUP
-#line 1496 "dhcp4_lexer.ll"
+#line 1497 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); }
 	YY_BREAK
 case 146:
 YY_RULE_SETUP
-#line 1497 "dhcp4_lexer.ll"
+#line 1498 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); }
 	YY_BREAK
 case 147:
 YY_RULE_SETUP
-#line 1499 "dhcp4_lexer.ll"
+#line 1500 "dhcp4_lexer.ll"
 {
     /* An integer was found. */
     std::string tmp(yytext);
@@ -3883,7 +3884,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 148:
 YY_RULE_SETUP
-#line 1517 "dhcp4_lexer.ll"
+#line 1518 "dhcp4_lexer.ll"
 {
     /* A floating point was found. */
     std::string tmp(yytext);
@@ -3899,7 +3900,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 149:
 YY_RULE_SETUP
-#line 1530 "dhcp4_lexer.ll"
+#line 1531 "dhcp4_lexer.ll"
 {
     string tmp(yytext);
     return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_);
@@ -3907,33 +3908,33 @@ YY_RULE_SETUP
 	YY_BREAK
 case 150:
 YY_RULE_SETUP
-#line 1535 "dhcp4_lexer.ll"
+#line 1536 "dhcp4_lexer.ll"
 {
    return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_);
 }
 	YY_BREAK
 case 151:
 YY_RULE_SETUP
-#line 1539 "dhcp4_lexer.ll"
+#line 1540 "dhcp4_lexer.ll"
 driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
 	YY_BREAK
 case 152:
 YY_RULE_SETUP
-#line 1541 "dhcp4_lexer.ll"
+#line 1542 "dhcp4_lexer.ll"
 driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
 	YY_BREAK
 case 153:
 YY_RULE_SETUP
-#line 1543 "dhcp4_lexer.ll"
+#line 1544 "dhcp4_lexer.ll"
 driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
 	YY_BREAK
 case 154:
 YY_RULE_SETUP
-#line 1545 "dhcp4_lexer.ll"
+#line 1546 "dhcp4_lexer.ll"
 driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
 	YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 1547 "dhcp4_lexer.ll"
+#line 1548 "dhcp4_lexer.ll"
 {
     if (driver.states_.empty()) {
         return isc::dhcp::Dhcp4Parser::make_END(driver.loc_);
@@ -3959,10 +3960,10 @@ case YY_STATE_EOF(INITIAL):
 	YY_BREAK
 case 155:
 YY_RULE_SETUP
-#line 1570 "dhcp4_lexer.ll"
+#line 1571 "dhcp4_lexer.ll"
 ECHO;
 	YY_BREAK
-#line 3965 "dhcp4_lexer.cc"
+#line 3966 "dhcp4_lexer.cc"
 
 	case YY_END_OF_BUFFER:
 		{
@@ -5067,7 +5068,7 @@ void yyfree (void * ptr )
 
 /* %ok-for-header */
 
-#line 1570 "dhcp4_lexer.ll"
+#line 1571 "dhcp4_lexer.ll"
 
 
 using namespace isc::dhcp;

+ 253 - 253
src/bin/dhcp4/dhcp4_parser.cc

@@ -3443,102 +3443,102 @@ namespace isc { namespace dhcp {
   }
 
 
-  const short int Dhcp4Parser::yypact_ninf_ = -688;
+  const short int Dhcp4Parser::yypact_ninf_ = -686;
 
   const signed char Dhcp4Parser::yytable_ninf_ = -1;
 
   const short int
   Dhcp4Parser::yypact_[] =
   {
-     211,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,    39,    18,    38,    58,    71,    73,    75,
-     120,   146,   179,   185,   193,   203,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-      18,   -72,     9,    83,   196,    22,   -14,    31,    51,    91,
-      23,   -27,   222,  -688,   214,   226,   227,   239,   257,  -688,
-    -688,  -688,  -688,  -688,   275,  -688,    34,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,   277,   278,  -688,  -688,  -688,   280,
-     281,   282,   287,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-    -688,   288,  -688,  -688,  -688,    45,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-     290,    46,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,   291,   292,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,    52,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,    61,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,   298,   296,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,   299,  -688,  -688,
-     305,  -688,  -688,  -688,   306,  -688,  -688,   304,   297,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-     311,   312,  -688,  -688,  -688,  -688,   309,   316,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,    87,  -688,
-    -688,  -688,   331,  -688,  -688,   332,  -688,   334,   335,  -688,
-    -688,   350,   351,   352,  -688,  -688,  -688,   148,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,    18,    18,  -688,   217,   357,   359,
-     360,   362,   363,  -688,     9,  -688,   364,   223,   228,   366,
-     367,   368,   229,   231,   232,   233,   374,   375,   376,   377,
-     378,   379,   380,   381,   242,   383,   384,    83,  -688,   385,
-     386,   245,   196,  -688,    72,   388,   389,   390,   391,   392,
-     393,   394,   395,   260,   254,   397,   398,   399,   401,    22,
-    -688,   402,   -14,  -688,   403,   404,   405,   406,   407,   408,
-     409,   410,   411,   412,  -688,    31,  -688,   413,   414,   276,
-     415,   417,   418,   279,  -688,    91,   419,   283,   284,  -688,
-      23,   420,   422,   -29,  -688,   285,   423,   424,   289,   428,
-     293,   294,   430,   431,   295,   301,   302,   432,   435,   222,
-    -688,  -688,  -688,   438,   436,   437,    18,    18,    18,  -688,
-     442,  -688,  -688,   307,   444,   447,  -688,  -688,  -688,  -688,
-     450,   451,   453,   454,   455,   456,   457,   458,  -688,   459,
-     460,  -688,   463,   121,  -688,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,   461,   467,  -688,  -688,  -688,   329,   330,
-     333,   469,   468,   336,   337,   338,  -688,  -688,    49,   340,
-     472,   471,  -688,   341,  -688,   342,   343,   463,   344,   346,
-     347,   348,   349,   353,   354,  -688,   355,   356,  -688,   358,
-     361,   365,  -688,  -688,   369,  -688,  -688,  -688,   370,    18,
-    -688,  -688,   371,   372,  -688,   373,  -688,  -688,    20,   396,
-    -688,  -688,  -688,    79,   382,  -688,    18,    83,   387,  -688,
-    -688,  -688,   196,  -688,   219,   219,   486,   487,   488,   493,
-     125,    25,   495,   147,    76,   222,  -688,  -688,  -688,  -688,
-    -688,   499,  -688,    72,  -688,  -688,  -688,   498,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,   502,   434,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,   168,  -688,   172,  -688,  -688,   213,
-    -688,  -688,  -688,  -688,   507,   514,   515,   516,   517,  -688,
-    -688,  -688,   215,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,   216,  -688,   500,   519,
-    -688,  -688,   518,   520,  -688,  -688,   521,   523,  -688,  -688,
-     522,   526,  -688,  -688,  -688,  -688,  -688,  -688,    30,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,   224,  -688,   524,   528,
-    -688,   529,   530,   531,   532,   533,   534,   225,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,   255,  -688,  -688,
-    -688,   256,   400,   416,  -688,  -688,   535,   536,  -688,  -688,
-     538,   537,  -688,  -688,   539,  -688,   541,   387,  -688,  -688,
-     542,   544,   545,   546,   421,   425,   426,   427,   433,   547,
-     548,   219,  -688,  -688,    22,  -688,   486,    91,  -688,   487,
-      23,  -688,   488,   150,  -688,   493,   125,  -688,    25,  -688,
-     -27,  -688,   495,   439,   440,   441,   443,   445,   446,   147,
-    -688,   549,   550,    76,  -688,  -688,  -688,   551,   552,  -688,
-     -14,  -688,   498,    31,  -688,   502,   554,  -688,   527,  -688,
-     132,   429,   448,   449,  -688,  -688,  -688,  -688,  -688,   452,
-     462,  -688,   258,  -688,   553,  -688,   555,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,   259,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,   266,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,   464,   465,  -688,  -688,   466,
-     267,  -688,   556,  -688,   470,   559,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,   150,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,   238,
-    -688,  -688,    64,   559,  -688,  -688,   558,  -688,  -688,  -688,
-     268,  -688,  -688,  -688,  -688,  -688,   563,   473,   564,    64,
-    -688,   569,  -688,   475,  -688,   562,  -688,  -688,   274,  -688,
-      57,   562,  -688,  -688,   571,   572,   574,   270,  -688,  -688,
-    -688,  -688,  -688,  -688,   575,   474,   477,   478,    57,  -688,
-     476,  -688,  -688,  -688,  -688,  -688
+     211,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,    36,    18,    12,    44,    46,    62,    73,
+      75,    85,    94,   107,   129,   136,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+      18,   -83,    23,   179,   255,    22,     4,    97,   138,    51,
+       5,   -48,   224,  -686,   186,   190,   195,   202,   214,  -686,
+    -686,  -686,  -686,  -686,   210,  -686,    68,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,   237,   260,  -686,  -686,  -686,   265,
+     280,   281,   282,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+    -686,   291,  -686,  -686,  -686,    69,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+     292,    91,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,   295,   296,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,   102,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,   192,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,   225,   267,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,   298,  -686,  -686,
+     303,  -686,  -686,  -686,   305,  -686,  -686,   304,   312,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+     313,   315,  -686,  -686,  -686,  -686,   308,   318,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,   203,  -686,
+    -686,  -686,   334,  -686,  -686,   335,  -686,   350,   351,  -686,
+    -686,   352,   356,   357,  -686,  -686,  -686,   204,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,    18,    18,  -686,   219,   359,   360,
+     361,   362,   364,  -686,    23,  -686,   365,   226,   227,   366,
+     367,   370,   232,   233,   234,   235,   371,   376,   377,   378,
+     379,   380,   381,   382,   243,   384,   385,   179,  -686,   386,
+     387,   246,   255,  -686,    25,   389,   390,   391,   392,   393,
+     394,   395,   396,   257,   256,   399,   400,   401,   402,    22,
+    -686,   403,     4,  -686,   404,   405,   406,   407,   408,   409,
+     410,   411,   412,   413,  -686,    97,  -686,   414,   415,   276,
+     417,   418,   419,   278,  -686,    51,   421,   283,   284,  -686,
+       5,   422,   423,   -43,  -686,   285,   424,   428,   289,   430,
+     293,   294,   431,   432,   297,   301,   302,   435,   437,   224,
+    -686,  -686,  -686,   438,   442,   443,    18,    18,    18,  -686,
+     444,  -686,  -686,   311,   448,   449,  -686,  -686,  -686,  -686,
+     439,   453,   454,   455,   456,   457,   460,   459,  -686,   461,
+     462,  -686,   465,   108,  -686,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,   464,   470,  -686,  -686,  -686,   324,   331,
+     332,   471,   472,   337,   338,   340,  -686,  -686,   212,   341,
+     473,   478,  -686,   343,  -686,   344,   346,   465,   347,   348,
+     349,   353,   354,   355,   358,  -686,   363,   368,  -686,   369,
+     372,   373,  -686,  -686,   374,  -686,  -686,  -686,   375,    18,
+    -686,  -686,   383,   388,  -686,   397,  -686,  -686,    24,   416,
+    -686,  -686,  -686,   -68,   398,  -686,    18,   179,   425,  -686,
+    -686,  -686,   255,  -686,    95,    95,   486,   487,   488,   492,
+     110,    19,   493,    67,    53,   224,  -686,  -686,  -686,  -686,
+    -686,   498,  -686,    25,  -686,  -686,  -686,   496,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,   497,   426,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,   205,  -686,   220,  -686,  -686,   221,
+    -686,  -686,  -686,  -686,   501,   503,   504,   506,   509,  -686,
+    -686,  -686,   222,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,   228,  -686,   508,   474,
+    -686,  -686,   513,   517,  -686,  -686,   515,   519,  -686,  -686,
+     518,   520,  -686,  -686,  -686,  -686,  -686,  -686,   176,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,   229,  -686,   521,   522,
+    -686,   524,   525,   528,   529,   530,   531,   231,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,   240,  -686,  -686,
+    -686,   241,   420,   427,  -686,  -686,   532,   533,  -686,  -686,
+     536,   534,  -686,  -686,   535,  -686,   540,   425,  -686,  -686,
+     542,   543,   544,   545,   429,   433,   434,   436,   440,   546,
+     547,    95,  -686,  -686,    22,  -686,   486,    51,  -686,   487,
+       5,  -686,   488,    72,  -686,   492,   110,  -686,    19,  -686,
+     -48,  -686,   493,   441,   445,   446,   447,   450,   451,    67,
+    -686,   548,   549,    53,  -686,  -686,  -686,   550,   551,  -686,
+       4,  -686,   496,    97,  -686,   497,   553,  -686,   554,  -686,
+     266,   458,   463,   466,  -686,  -686,  -686,  -686,  -686,   467,
+     468,  -686,   244,  -686,   552,  -686,   556,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,   250,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,   251,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,   469,   475,  -686,  -686,   476,
+     252,  -686,   557,  -686,   477,   555,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,    72,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,   272,
+    -686,  -686,    60,   555,  -686,  -686,   562,  -686,  -686,  -686,
+     253,  -686,  -686,  -686,  -686,  -686,   563,   452,   564,    60,
+    -686,   566,  -686,   479,  -686,   565,  -686,  -686,   273,  -686,
+      45,   565,  -686,  -686,   570,   571,   572,   254,  -686,  -686,
+    -686,  -686,  -686,  -686,   573,   480,   481,   483,    45,  -686,
+     485,  -686,  -686,  -686,  -686,  -686
   };
 
   const unsigned short int
@@ -3621,8 +3621,8 @@ namespace isc { namespace dhcp {
        0,   348,     0,   377,   368,     0,     0,   417,     0,   509,
        0,     0,     0,     0,   145,   148,   149,   150,   151,     0,
        0,   119,     0,   210,     0,   289,     0,   324,   281,   280,
-     272,   273,   275,   269,   270,   271,   278,     0,   267,   274,
-     276,   277,   279,   264,   159,   423,     0,   175,   199,   200,
+     272,   273,   275,   269,   270,   271,   279,   278,     0,   267,
+     274,   276,   277,   264,   159,   423,     0,   175,   199,   200,
      201,   202,   203,   204,   192,     0,     0,   444,    48,     0,
        0,   352,     0,   372,     0,     0,   135,   136,   137,   138,
      134,   140,   142,   144,   153,   155,   212,   291,   326,     0,
@@ -3638,39 +3638,39 @@ namespace isc { namespace dhcp {
   const short int
   Dhcp4Parser::yypgoto_[] =
   {
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,   -49,  -688,    90,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,    89,  -688,  -688,  -688,   -62,
-    -688,  -688,  -688,   300,  -688,  -688,  -688,  -688,    53,   253,
-     -52,   -47,   -44,  -688,  -688,   -41,  -688,  -688,    69,   250,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,    78,  -115,  -688,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,   -69,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,  -128,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,  -126,  -688,  -688,
-    -688,  -123,   218,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-    -135,  -688,  -688,  -688,  -688,  -688,  -688,  -687,  -688,  -688,
-    -688,  -108,  -688,  -688,  -688,  -105,   251,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -685,  -688,  -688,  -688,  -504,
-    -688,  -675,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-    -113,  -688,  -688,  -216,   543,  -688,  -688,  -688,  -688,  -688,
-    -103,  -688,  -688,  -688,   -97,  -688,   237,  -688,   -40,  -688,
-    -688,  -688,  -688,  -688,   -39,  -688,  -688,  -688,  -688,  -688,
-     -51,  -688,  -688,  -688,   -98,  -688,  -688,  -688,   -95,  -688,
-     236,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,  -119,  -688,  -688,  -688,  -116,   273,  -688,  -688,
-     -64,  -688,  -688,  -688,  -688,  -688,  -118,  -688,  -688,  -688,
-    -117,  -688,   263,   -45,  -688,  -328,  -688,  -322,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -670,  -688,  -688,  -688,  -669,
-    -688,  -688,  -688,  -688,  -688,    96,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,  -102,  -688,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,   105,   234,  -688,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,  -688,
-    -688,  -688,  -688,  -688,  -688,  -688,   -53,  -688,  -688,  -688,
-    -198,  -688,  -688,  -213,  -688,  -688,  -688,  -688,  -688,  -688,
-    -224,  -688,  -688,  -240,  -688,  -688,  -688,  -688,  -688
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,   -49,  -686,    87,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,    88,  -686,  -686,  -686,   -62,
+    -686,  -686,  -686,   277,  -686,  -686,  -686,  -686,    54,   242,
+     -52,   -47,   -44,  -686,  -686,   -41,  -686,  -686,    71,   248,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,    43,  -115,  -686,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,   -69,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -129,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -134,  -686,  -686,
+    -686,  -128,   215,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+    -136,  -686,  -686,  -686,  -686,  -686,  -686,  -685,  -686,  -686,
+    -686,  -109,  -686,  -686,  -686,  -105,   258,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -681,  -686,  -686,  -686,  -509,
+    -686,  -679,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+    -113,  -686,  -686,  -219,   537,  -686,  -686,  -686,  -686,  -686,
+    -106,  -686,  -686,  -686,  -103,  -686,   238,  -686,   -40,  -686,
+    -686,  -686,  -686,  -686,   -39,  -686,  -686,  -686,  -686,  -686,
+     -51,  -686,  -686,  -686,  -104,  -686,  -686,  -686,   -96,  -686,
+     236,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,  -127,  -686,  -686,  -686,  -123,   269,  -686,  -686,
+     -64,  -686,  -686,  -686,  -686,  -686,  -122,  -686,  -686,  -686,
+    -119,  -686,   264,   -45,  -686,  -328,  -686,  -317,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -678,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,    98,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,  -100,  -686,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,   105,   239,  -686,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,  -686,
+    -686,  -686,  -686,  -686,  -686,  -686,   -53,  -686,  -686,  -686,
+    -198,  -686,  -686,  -213,  -686,  -686,  -686,  -686,  -686,  -686,
+    -224,  -686,  -686,  -238,  -686,  -686,  -686,  -686,  -686
   };
 
   const short int
@@ -3691,7 +3691,7 @@ namespace isc { namespace dhcp {
      619,   620,   704,    45,    65,   166,   167,   168,   340,   169,
      335,   170,   336,   171,   337,   172,   341,   173,   342,   174,
      346,   175,   345,   546,   176,   177,   130,   319,   630,   631,
-     632,   713,   777,   778,   131,   317,    51,    68,   622,   623,
+     632,   713,   778,   779,   131,   317,    51,    68,   622,   623,
      624,   707,    53,    69,   227,   228,   229,   230,   231,   232,
      233,   367,   234,   371,   235,   370,   236,   237,   372,   238,
      132,   318,   626,   627,   628,   710,    55,    70,   246,   247,
@@ -3715,72 +3715,72 @@ namespace isc { namespace dhcp {
   Dhcp4Parser::yytable_[] =
   {
       85,   243,   190,   161,   185,   201,   441,   225,   242,   257,
-     276,    73,   442,   162,   178,   186,   202,   645,   163,    79,
-     182,   164,   206,    27,   165,    28,   774,    29,   775,   146,
-     244,   245,   146,   716,   105,   572,   717,   304,   776,    26,
-      95,    96,   305,   781,   782,    38,   184,   151,   327,   332,
-      96,   191,   192,   328,   333,   349,   255,   256,   255,   256,
-     350,    99,   100,   101,   352,    40,   147,   148,   149,   353,
-     105,    76,   219,   239,   220,   221,   240,   241,    42,   105,
-      44,   150,    46,   151,   152,   153,   154,   155,   156,   157,
-     383,    96,   191,   192,    93,   384,   158,   159,   104,   158,
-      94,    95,    96,   193,   160,    97,    98,   194,   195,   196,
-     197,   198,   199,   219,   200,   218,    84,   543,   544,   545,
-     105,   219,    99,   100,   101,   102,   103,    48,    80,    84,
-     104,   105,   774,   573,   775,   528,   529,    81,    82,    83,
-     219,   106,   220,   221,   776,   436,   222,   223,   224,   781,
-     782,   399,    84,    50,   107,   108,   400,   806,   807,   808,
-     809,    30,    31,    32,    33,    84,    84,   109,    95,    96,
-     110,   327,   665,   666,    84,   687,   685,   111,   112,   863,
-     688,   113,   864,   865,   866,   835,    52,   836,   837,    99,
-     100,   101,    54,   103,   576,   577,   578,   579,   105,   219,
-      56,   633,   634,   635,   636,   441,   637,    84,   138,   139,
-      58,   442,   140,   153,   785,    84,   332,   157,   701,   701,
-     293,   689,   108,   702,   703,   580,    84,   718,   729,   294,
-     719,   295,   160,   730,    84,   651,   652,   653,   654,   655,
-     656,   833,    85,   590,   834,   401,   402,   296,   591,   592,
-     593,   594,   595,   596,   597,   598,   599,   600,   733,   399,
-     297,   349,   819,   734,   735,   438,   816,   820,   219,   383,
-     352,   849,   437,   878,   821,   825,   850,   861,   879,   303,
-     862,   307,   308,   439,   312,   313,   314,   161,   190,   440,
-     185,   315,   324,    84,   331,   343,   344,   162,   178,   365,
-     375,   186,   163,   201,   182,   164,   364,   366,   165,   369,
-     373,   243,   374,   225,   202,   377,   378,   379,   242,   380,
-     206,   262,   263,   264,   265,   266,   267,   268,   269,   270,
-     271,   272,   273,   274,   275,   385,   388,   276,   390,   391,
+     276,    73,   645,   162,   178,   186,   202,   442,   163,    38,
+     182,   164,   206,    27,   165,    28,   146,    29,   774,   146,
+     244,   245,   775,    79,   777,   782,    26,   255,   256,   572,
+      95,    96,   255,   256,    96,   191,   192,   576,   577,   578,
+     579,    40,   105,    42,   219,   239,   220,   221,   240,   241,
+      76,    99,   100,   101,   184,   151,   147,   148,   149,    44,
+     105,   304,   327,   105,   219,   218,   305,   328,   580,   146,
+      46,   150,    48,   151,   152,   153,   154,   155,   156,   157,
+      95,    96,    50,   158,   332,    84,   158,   159,   436,   333,
+     219,    52,   220,   221,   160,   349,   222,   223,   224,   219,
+     350,    99,   100,   101,    54,   103,    96,   191,   192,   590,
+     105,   219,   528,   529,   591,   592,   593,   594,   595,   596,
+     597,   598,   599,   600,   774,   153,    56,   573,   775,   157,
+     777,   782,    80,    58,   219,   105,   158,    84,    84,   665,
+     666,    81,    82,    83,   160,   651,   652,   653,   654,   655,
+     656,    30,    31,    32,    33,    84,    84,   863,    84,   193,
+     864,   865,   866,   194,   195,   196,   197,   198,   199,   716,
+     200,   835,   717,   836,   837,   104,   633,   634,   635,   636,
+      93,   637,   293,   294,    84,   352,    94,    95,    96,   295,
+     353,    97,    98,    84,   776,   441,   383,   399,   327,   785,
+     296,   384,   400,   685,   303,    84,   442,   297,    99,   100,
+     101,   102,   103,   687,   332,   701,   104,   105,   688,   689,
+     702,   701,   718,   364,   729,   719,   703,   106,    84,   730,
+      84,   307,    85,   733,   399,   401,   402,   349,   734,   735,
+     107,   108,   816,   819,   383,   352,   849,   878,   820,   821,
+     825,   850,   879,   109,   308,   438,   110,   138,   139,   312,
+     365,   140,   437,   111,   112,   833,   861,   113,   834,   862,
+     543,   544,   545,   439,   313,   314,   315,   161,   190,   440,
+     185,   806,   807,   808,   809,   324,   331,   162,   178,   343,
+     344,   186,   163,   201,   182,   164,   366,   369,   165,   373,
+     776,   243,   374,   225,   202,   375,   379,   377,   242,   378,
+     206,   380,    84,   262,   263,   264,   265,   266,   267,   268,
+     269,   270,   271,   272,   273,   274,   275,   276,   385,   388,
      244,   245,     1,     2,     3,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,   394,   395,   396,   509,   510,   511,
-     403,   404,    84,   405,   406,    84,   407,   408,   410,   411,
-     413,   414,   415,   416,   412,   417,   418,   419,   420,   421,
-     422,   423,   424,   425,   426,   427,   428,   429,   430,   432,
-     433,   434,   448,   449,   450,   451,   452,   453,   454,   455,
-     457,   458,   459,   460,   456,   461,   463,   465,   466,   467,
-     468,   469,   470,   471,   472,   473,   474,   476,   477,   479,
-     478,   480,   481,   484,   488,   482,   489,   492,   493,   485,
-     486,   491,   495,   494,   498,   499,   503,   496,   497,   504,
-     568,   500,   506,   507,   508,   609,   609,   501,   502,   512,
-     513,   514,   601,   601,   515,   516,   517,   583,   518,   519,
-     520,   521,   522,   276,   438,   523,   524,   525,   526,   532,
-     533,   437,   534,   535,   537,    28,   536,   548,   549,   540,
-     541,   542,   439,   547,   550,   551,   552,   554,   440,   555,
-     556,   557,   558,   617,   621,   625,   559,   560,   561,   562,
-     629,   563,   647,   673,   564,   675,   705,   585,   565,   679,
-     575,   694,   566,   567,   569,   570,   571,   683,   695,   696,
-     697,   698,   706,   709,   708,   582,   712,   711,   714,   715,
-     721,   722,   805,   723,   724,   725,   726,   727,   728,   742,
-     745,   741,   538,   736,   744,   748,   750,   747,   751,   752,
-     753,   759,   760,   795,   796,   799,   553,   798,   804,   739,
-     584,   817,   847,   818,   826,   754,   828,   851,   853,   857,
-     756,   755,   811,   757,   855,   875,   876,   758,   877,   880,
-     431,   589,   435,   788,   789,   790,   761,   791,   784,   792,
-     793,   812,   813,   616,   794,   814,   787,   786,   763,   762,
-     462,   490,   783,   831,   409,   815,   765,   822,   823,   824,
-     764,   217,   483,   827,   767,   766,   487,   852,   856,   885,
-     881,   882,   883,   801,   800,   464,   802,   803,   475,   674,
-     671,   797,   609,   505,   749,   845,   854,   873,   884,   601,
-       0,   243,   161,     0,   773,   225,     0,     0,   242,     0,
+       9,    10,    11,    12,   390,   391,   394,   509,   510,   511,
+     395,   396,   403,   404,   405,   406,   407,    84,   408,   410,
+     413,   414,   411,   412,   415,   420,   416,   417,   418,   419,
+     421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
+     432,   433,   434,   448,   449,   450,   451,   452,   453,   454,
+     455,   456,   457,   458,   459,   460,   461,   463,   465,   466,
+     467,   468,   469,   470,   471,   472,   473,   474,   476,   477,
+     478,   479,   480,   481,   482,   484,   488,   489,   492,   485,
+     486,   491,   493,   494,   495,   498,   499,   496,   497,   503,
+     568,   504,   506,   500,   516,   609,   609,   501,   502,   507,
+     508,   512,   601,   601,   513,   514,   515,   583,   517,   518,
+     519,   520,   521,   276,   438,   522,   523,   534,   524,   525,
+     526,   437,   532,   533,   535,   536,   537,   706,   548,    28,
+     540,   541,   439,   542,   547,   549,   550,   551,   440,   552,
+     554,   555,   556,   617,   621,   625,   557,   558,   559,   629,
+     647,   560,   673,   675,   679,   694,   561,   695,   696,   683,
+     697,   562,   563,   698,   705,   564,   565,   566,   567,   708,
+     709,   711,   712,   715,   714,   722,   569,   721,   723,   724,
+     575,   570,   725,   726,   727,   728,   742,   745,   741,   538,
+     571,   582,   744,   747,   748,   585,   750,   751,   752,   753,
+     759,   760,   795,   796,   799,   553,   798,   804,   616,   805,
+     817,   584,   828,   736,   818,   826,   847,   851,   853,   431,
+     739,   855,   857,   754,   875,   876,   877,   880,   756,   755,
+     435,   409,   757,   589,   758,   788,   761,   784,   787,   789,
+     790,   791,   786,   794,   792,   793,   852,   763,   490,   762,
+     831,   811,   783,   765,   764,   217,   812,   462,   767,   813,
+     814,   815,   822,   483,   766,   801,   487,   800,   823,   824,
+     827,   464,   856,   803,   802,   882,   881,   883,   885,   475,
+     671,   674,   609,   797,   749,   845,   854,   873,   505,   601,
+     884,   243,   161,     0,   773,   225,     0,     0,   242,     0,
        0,   768,   162,   178,     0,     0,     0,   163,   257,   182,
-     164,   769,   779,   165,     0,     0,   770,     0,   780,   771,
+     164,   769,   780,   165,     0,     0,   770,     0,   781,   771,
      244,   245,   772,     0,     0,     0,   190,     0,   185,     0,
        0,   201,     0,     0,     0,     0,     0,     0,     0,   186,
        0,     0,   202,     0,     0,     0,     0,     0,   206,     0,
@@ -3790,8 +3790,8 @@ namespace isc { namespace dhcp {
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      773,     0,     0,     0,     0,     0,     0,   768,     0,     0,
-       0,     0,     0,   839,     0,     0,     0,   769,   779,     0,
-     838,     0,   770,     0,   780,   771,     0,     0,   772,     0,
+       0,     0,     0,   839,     0,     0,     0,   769,   780,     0,
+     838,     0,   770,     0,   781,   771,     0,     0,   772,     0,
      839,     0,     0,     0,     0,     0,     0,   838
   };
 
@@ -3799,70 +3799,70 @@ namespace isc { namespace dhcp {
   Dhcp4Parser::yycheck_[] =
   {
       62,    70,    66,    65,    66,    67,   334,    69,    70,    71,
-      72,    60,   334,    65,    65,    66,    67,   521,    65,    10,
-      65,    65,    67,     5,    65,     7,   713,     9,   713,     7,
-      70,    70,     7,     3,    48,    15,     6,     3,   713,     0,
-      18,    19,     8,   713,   713,     7,    60,    61,     3,     3,
-      19,    20,    21,     8,     8,     3,    85,    86,    85,    86,
-       8,    39,    40,    41,     3,     7,    44,    45,    46,     8,
-      48,   143,    49,    50,    51,    52,    53,    54,     7,    48,
+      72,    60,   521,    65,    65,    66,    67,   334,    65,     7,
+      65,    65,    67,     5,    65,     7,     7,     9,   713,     7,
+      70,    70,   713,    10,   713,   713,     0,    85,    86,    15,
+      18,    19,    85,    86,    19,    20,    21,   115,   116,   117,
+     118,     7,    48,     7,    49,    50,    51,    52,    53,    54,
+     143,    39,    40,    41,    60,    61,    44,    45,    46,     7,
+      48,     3,     3,    48,    49,    24,     8,     8,   146,     7,
        7,    59,     7,    61,    62,    63,    64,    65,    66,    67,
-       3,    19,    20,    21,    11,     8,    74,    75,    47,    74,
-      17,    18,    19,    72,    82,    22,    23,    76,    77,    78,
-      79,    80,    81,    49,    83,    24,   143,    68,    69,    70,
-      48,    49,    39,    40,    41,    42,    43,     7,   119,   143,
-      47,    48,   819,   113,   819,    14,    15,   128,   129,   130,
-      49,    58,    51,    52,   819,    73,    55,    56,    57,   819,
-     819,     3,   143,     7,    71,    72,     8,    25,    26,    27,
-      28,   143,   144,   145,   146,   143,   143,    84,    18,    19,
-      87,     3,    96,    97,   143,     3,     8,    94,    95,   122,
-       8,    98,   125,   126,   127,   121,     7,   123,   124,    39,
-      40,    41,     7,    43,   115,   116,   117,   118,    48,    49,
-       7,    76,    77,    78,    79,   533,    81,   143,    12,    13,
-       7,   533,    16,    63,   718,   143,     3,    67,     3,     3,
-       6,     8,    72,     8,     8,   146,   143,     3,     3,     3,
-       6,     4,    82,     8,   143,    88,    89,    90,    91,    92,
-      93,     3,   304,    24,     6,   294,   295,     8,    29,    30,
-      31,    32,    33,    34,    35,    36,    37,    38,     3,     3,
-       3,     3,     3,     8,     8,   334,     8,     8,    49,     3,
-       3,     3,   334,     3,     8,     8,     8,     3,     8,     4,
-       6,     4,     4,   334,     4,     4,     4,   349,   352,   334,
-     352,     4,     4,   143,     4,     4,     4,   349,   349,     3,
-       3,   352,   349,   365,   349,   349,     8,     8,   349,     4,
-       4,   380,     8,   375,   365,     4,     4,     8,   380,     3,
-     365,    99,   100,   101,   102,   103,   104,   105,   106,   107,
-     108,   109,   110,   111,   112,     4,     4,   399,     4,     4,
+      18,    19,     7,    74,     3,   143,    74,    75,    73,     8,
+      49,     7,    51,    52,    82,     3,    55,    56,    57,    49,
+       8,    39,    40,    41,     7,    43,    19,    20,    21,    24,
+      48,    49,    14,    15,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,   819,    63,     7,   113,   819,    67,
+     819,   819,   119,     7,    49,    48,    74,   143,   143,    96,
+      97,   128,   129,   130,    82,    88,    89,    90,    91,    92,
+      93,   143,   144,   145,   146,   143,   143,   122,   143,    72,
+     125,   126,   127,    76,    77,    78,    79,    80,    81,     3,
+      83,   121,     6,   123,   124,    47,    76,    77,    78,    79,
+      11,    81,     6,     3,   143,     3,    17,    18,    19,     4,
+       8,    22,    23,   143,   713,   533,     3,     3,     3,   718,
+       8,     8,     8,     8,     4,   143,   533,     3,    39,    40,
+      41,    42,    43,     3,     3,     3,    47,    48,     8,     8,
+       8,     3,     3,     8,     3,     6,     8,    58,   143,     8,
+     143,     4,   304,     3,     3,   294,   295,     3,     8,     8,
+      71,    72,     8,     3,     3,     3,     3,     3,     8,     8,
+       8,     8,     8,    84,     4,   334,    87,    12,    13,     4,
+       3,    16,   334,    94,    95,     3,     3,    98,     6,     6,
+      68,    69,    70,   334,     4,     4,     4,   349,   352,   334,
+     352,    25,    26,    27,    28,     4,     4,   349,   349,     4,
+       4,   352,   349,   365,   349,   349,     8,     4,   349,     4,
+     819,   380,     8,   375,   365,     3,     8,     4,   380,     4,
+     365,     3,   143,    99,   100,   101,   102,   103,   104,   105,
+     106,   107,   108,   109,   110,   111,   112,   399,     4,     4,
      380,   380,   131,   132,   133,   134,   135,   136,   137,   138,
      139,   140,   141,   142,     4,     4,     4,   406,   407,   408,
-     143,     4,   143,     4,     4,   143,     4,     4,     4,   146,
-       4,     4,     4,   144,   146,   144,   144,   144,     4,     4,
-       4,     4,     4,     4,     4,     4,   144,     4,     4,     4,
-       4,   146,     4,     4,     4,     4,     4,     4,     4,     4,
-     146,     4,     4,     4,   144,     4,     4,     4,     4,     4,
+       4,     4,   143,     4,     4,     4,     4,   143,     4,     4,
+       4,     4,   146,   146,     4,     4,   144,   144,   144,   144,
+       4,     4,     4,     4,     4,     4,     4,   144,     4,     4,
+       4,     4,   146,     4,     4,     4,     4,     4,     4,     4,
+       4,   144,   146,     4,     4,     4,     4,     4,     4,     4,
        4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
-     144,     4,     4,     4,     4,   146,     4,     4,     4,   146,
+     144,     4,     4,     4,   146,     4,     4,     4,     4,   146,
      146,   146,     4,   144,     4,     4,     4,   144,   144,     4,
-     489,   146,     4,     7,     7,   514,   515,   146,   146,     7,
-     143,     7,   514,   515,     7,     5,     5,   506,     5,     5,
-       5,     5,     5,   525,   533,     7,     7,     7,     5,     8,
-       3,   533,   143,   143,     5,     7,   143,     5,     7,   143,
-     143,   143,   533,   143,   143,   143,   143,   143,   533,   143,
-     143,   143,   143,     7,     7,     7,   143,   143,   143,   143,
-       7,   143,     7,     4,   143,     7,     6,   120,   143,     7,
-     114,     4,   143,   143,   143,   143,   143,    83,     4,     4,
-       4,     4,     3,     3,     6,   143,     3,     6,     6,     3,
-       6,     3,     5,     4,     4,     4,     4,     4,     4,     3,
-       3,     6,   452,   143,     6,     4,     4,     8,     4,     4,
-       4,     4,     4,     4,     4,     3,   467,     6,     4,   143,
-     507,     8,     4,     8,     8,   144,     7,     4,     4,     7,
-     144,   146,   143,   146,     5,     4,     4,   144,     4,     4,
-     327,   512,   332,   144,   144,   144,   701,   144,   716,   144,
-     144,   143,   143,   515,   729,   143,   722,   720,   706,   704,
-     349,   383,   715,   819,   304,   143,   709,   143,   143,   143,
-     707,    68,   375,   143,   712,   710,   380,   144,   143,   143,
-     146,   144,   144,   742,   740,   352,   743,   745,   365,   533,
-     525,   733,   701,   399,   687,   833,   849,   861,   878,   701,
-      -1,   710,   704,    -1,   713,   707,    -1,    -1,   710,    -1,
+     489,     4,     4,   146,     5,   514,   515,   146,   146,     7,
+       7,     7,   514,   515,   143,     7,     7,   506,     5,     5,
+       5,     5,     5,   525,   533,     5,     7,   143,     7,     7,
+       5,   533,     8,     3,   143,   143,     5,     3,     5,     7,
+     143,   143,   533,   143,   143,     7,   143,   143,   533,   143,
+     143,   143,   143,     7,     7,     7,   143,   143,   143,     7,
+       7,   143,     4,     7,     7,     4,   143,     4,     4,    83,
+       4,   143,   143,     4,     6,   143,   143,   143,   143,     6,
+       3,     6,     3,     3,     6,     3,   143,     6,     4,     4,
+     114,   143,     4,     4,     4,     4,     3,     3,     6,   452,
+     143,   143,     6,     8,     4,   120,     4,     4,     4,     4,
+       4,     4,     4,     4,     3,   467,     6,     4,   515,     5,
+       8,   507,     7,   143,     8,     8,     4,     4,     4,   327,
+     143,     5,     7,   144,     4,     4,     4,     4,   144,   146,
+     332,   304,   146,   512,   144,   144,   701,   716,   722,   144,
+     144,   144,   720,   729,   144,   144,   144,   706,   383,   704,
+     819,   143,   715,   709,   707,    68,   143,   349,   712,   143,
+     143,   143,   143,   375,   710,   742,   380,   740,   143,   143,
+     143,   352,   143,   745,   743,   144,   146,   144,   143,   365,
+     525,   533,   701,   733,   687,   833,   849,   861,   399,   701,
+     878,   710,   704,    -1,   713,   707,    -1,    -1,   710,    -1,
       -1,   713,   704,   704,    -1,    -1,    -1,   704,   720,   704,
      704,   713,   713,   704,    -1,    -1,   713,    -1,   713,   713,
      710,   710,   713,    -1,    -1,    -1,   740,    -1,   740,    -1,
@@ -3959,8 +3959,8 @@ namespace isc { namespace dhcp {
      350,     6,     3,   364,     6,     3,   395,     8,     4,   453,
        4,     4,     4,     4,   144,   146,   144,   146,   144,     4,
        4,   210,   272,   268,   311,   307,   335,   331,   176,   187,
-     188,   189,   192,   221,   264,   282,   288,   299,   300,   327,
-     370,   392,   396,   297,   234,   286,   248,   244,   144,   144,
+     188,   189,   192,   221,   264,   282,   286,   288,   299,   300,
+     327,   370,   392,   297,   234,   286,   248,   244,   144,   144,
      144,   144,   144,   144,   257,     4,     4,   410,     6,     3,
      353,   349,   367,   363,     4,     5,    25,    26,    27,    28,
      213,   143,   143,   143,   143,   143,     8,     8,     8,     3,

+ 1 - 1
src/bin/dhcp4/location.hh

@@ -1,4 +1,4 @@
-// Generated 201709051123
+// Generated 201709141022
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Locations for Bison parsers in C++

+ 1 - 1
src/bin/dhcp4/position.hh

@@ -1,4 +1,4 @@
-// Generated 201709051123
+// Generated 201709141022
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Positions for Bison parsers in C++

+ 1 - 1
src/bin/dhcp4/stack.hh

@@ -1,4 +1,4 @@
-// Generated 201709051123
+// Generated 201709141022
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Stack handling for Bison parsers in C++

+ 70 - 69
src/bin/dhcp6/dhcp6_lexer.cc

@@ -1576,12 +1576,12 @@ static const flex_int16_t yy_rule_linenum[161] =
       855,  865,  875,  884,  893,  902,  911,  921,  930,  939,
       948,  957,  966,  975,  984,  993, 1002, 1012, 1021, 1030,
 
-     1040, 1050, 1060, 1069, 1078, 1087, 1098, 1108, 1117, 1127,
-     1137, 1146, 1155, 1164, 1173, 1183, 1192, 1202, 1211, 1220,
-     1229, 1238, 1247, 1256, 1265, 1274, 1283, 1292, 1301, 1310,
-     1319, 1328, 1337, 1346, 1355, 1364, 1373, 1382, 1391, 1400,
-     1409, 1418, 1428, 1526, 1531, 1536, 1541, 1542, 1543, 1544,
-     1545, 1546, 1548, 1566, 1579, 1584, 1588, 1590, 1592, 1594
+     1040, 1051, 1061, 1070, 1079, 1088, 1099, 1109, 1118, 1128,
+     1138, 1147, 1156, 1165, 1174, 1184, 1193, 1203, 1212, 1221,
+     1230, 1239, 1248, 1257, 1266, 1275, 1284, 1293, 1302, 1311,
+     1320, 1329, 1338, 1347, 1356, 1365, 1374, 1383, 1392, 1401,
+     1410, 1419, 1429, 1527, 1532, 1537, 1542, 1543, 1544, 1545,
+     1546, 1547, 1549, 1567, 1580, 1585, 1589, 1591, 1593, 1595
     } ;
 
 /* The intent behind this definition is that it'll catch
@@ -3277,6 +3277,7 @@ YY_RULE_SETUP
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
     case isc::dhcp::Parser6Context::CLIENT_CLASSES:
+    case Parser6Context::SHARED_NETWORK:
         return isc::dhcp::Dhcp6Parser::make_CLIENT_CLASS(driver.loc_);
     default:
         return isc::dhcp::Dhcp6Parser::make_STRING("client-class", driver.loc_);
@@ -3285,7 +3286,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 102:
 YY_RULE_SETUP
-#line 1050 "dhcp6_lexer.ll"
+#line 1051 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CLIENT_CLASSES:
@@ -3298,7 +3299,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 103:
 YY_RULE_SETUP
-#line 1060 "dhcp6_lexer.ll"
+#line 1061 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3310,7 +3311,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 104:
 YY_RULE_SETUP
-#line 1069 "dhcp6_lexer.ll"
+#line 1070 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATIONS:
@@ -3322,7 +3323,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 105:
 YY_RULE_SETUP
-#line 1078 "dhcp6_lexer.ll"
+#line 1079 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATIONS:
@@ -3334,7 +3335,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 106:
 YY_RULE_SETUP
-#line 1087 "dhcp6_lexer.ll"
+#line 1088 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::MAC_SOURCES:
@@ -3348,7 +3349,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 107:
 YY_RULE_SETUP
-#line 1098 "dhcp6_lexer.ll"
+#line 1099 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3361,7 +3362,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 108:
 YY_RULE_SETUP
-#line 1108 "dhcp6_lexer.ll"
+#line 1109 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATIONS:
@@ -3373,7 +3374,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 109:
 YY_RULE_SETUP
-#line 1117 "dhcp6_lexer.ll"
+#line 1118 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3386,7 +3387,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 110:
 YY_RULE_SETUP
-#line 1127 "dhcp6_lexer.ll"
+#line 1128 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3399,7 +3400,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 1137 "dhcp6_lexer.ll"
+#line 1138 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DATA:
@@ -3411,7 +3412,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 112:
 YY_RULE_SETUP
-#line 1146 "dhcp6_lexer.ll"
+#line 1147 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3423,7 +3424,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 113:
 YY_RULE_SETUP
-#line 1155 "dhcp6_lexer.ll"
+#line 1156 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3435,7 +3436,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 114:
 YY_RULE_SETUP
-#line 1164 "dhcp6_lexer.ll"
+#line 1165 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3447,7 +3448,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 115:
 YY_RULE_SETUP
-#line 1173 "dhcp6_lexer.ll"
+#line 1174 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3460,7 +3461,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 116:
 YY_RULE_SETUP
-#line 1183 "dhcp6_lexer.ll"
+#line 1184 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RELAY:
@@ -3472,7 +3473,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 117:
 YY_RULE_SETUP
-#line 1192 "dhcp6_lexer.ll"
+#line 1193 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3484,7 +3485,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 118:
 YY_RULE_SETUP
-#line 1202 "dhcp6_lexer.ll"
+#line 1203 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
@@ -3496,7 +3497,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 119:
 YY_RULE_SETUP
-#line 1211 "dhcp6_lexer.ll"
+#line 1212 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
@@ -3508,7 +3509,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 120:
 YY_RULE_SETUP
-#line 1220 "dhcp6_lexer.ll"
+#line 1221 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3520,7 +3521,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 121:
 YY_RULE_SETUP
-#line 1229 "dhcp6_lexer.ll"
+#line 1230 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DUID_TYPE:
@@ -3532,7 +3533,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 122:
 YY_RULE_SETUP
-#line 1238 "dhcp6_lexer.ll"
+#line 1239 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DUID_TYPE:
@@ -3544,7 +3545,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 123:
 YY_RULE_SETUP
-#line 1247 "dhcp6_lexer.ll"
+#line 1248 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DUID_TYPE:
@@ -3556,7 +3557,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 124:
 YY_RULE_SETUP
-#line 1256 "dhcp6_lexer.ll"
+#line 1257 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -3568,7 +3569,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 125:
 YY_RULE_SETUP
-#line 1265 "dhcp6_lexer.ll"
+#line 1266 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -3580,7 +3581,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 126:
 YY_RULE_SETUP
-#line 1274 "dhcp6_lexer.ll"
+#line 1275 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -3592,7 +3593,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 127:
 YY_RULE_SETUP
-#line 1283 "dhcp6_lexer.ll"
+#line 1284 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -3604,7 +3605,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 128:
 YY_RULE_SETUP
-#line 1292 "dhcp6_lexer.ll"
+#line 1293 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3616,7 +3617,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 129:
 YY_RULE_SETUP
-#line 1301 "dhcp6_lexer.ll"
+#line 1302 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3628,7 +3629,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 130:
 YY_RULE_SETUP
-#line 1310 "dhcp6_lexer.ll"
+#line 1311 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3640,7 +3641,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 131:
 YY_RULE_SETUP
-#line 1319 "dhcp6_lexer.ll"
+#line 1320 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3652,7 +3653,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 132:
 YY_RULE_SETUP
-#line 1328 "dhcp6_lexer.ll"
+#line 1329 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3664,7 +3665,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 133:
 YY_RULE_SETUP
-#line 1337 "dhcp6_lexer.ll"
+#line 1338 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3676,7 +3677,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 134:
 YY_RULE_SETUP
-#line 1346 "dhcp6_lexer.ll"
+#line 1347 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3688,7 +3689,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 135:
 YY_RULE_SETUP
-#line 1355 "dhcp6_lexer.ll"
+#line 1356 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3700,7 +3701,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 136:
 YY_RULE_SETUP
-#line 1364 "dhcp6_lexer.ll"
+#line 1365 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3712,7 +3713,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 137:
 YY_RULE_SETUP
-#line 1373 "dhcp6_lexer.ll"
+#line 1374 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONTROL_SOCKET:
@@ -3724,7 +3725,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 138:
 YY_RULE_SETUP
-#line 1382 "dhcp6_lexer.ll"
+#line 1383 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONTROL_SOCKET:
@@ -3736,7 +3737,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 139:
 YY_RULE_SETUP
-#line 1391 "dhcp6_lexer.ll"
+#line 1392 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3748,7 +3749,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 140:
 YY_RULE_SETUP
-#line 1400 "dhcp6_lexer.ll"
+#line 1401 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG:
@@ -3760,7 +3761,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 141:
 YY_RULE_SETUP
-#line 1409 "dhcp6_lexer.ll"
+#line 1410 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG:
@@ -3772,7 +3773,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 142:
 YY_RULE_SETUP
-#line 1418 "dhcp6_lexer.ll"
+#line 1419 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG:
@@ -3784,7 +3785,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 143:
 YY_RULE_SETUP
-#line 1428 "dhcp6_lexer.ll"
+#line 1429 "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.
@@ -3886,7 +3887,7 @@ YY_RULE_SETUP
 case 144:
 /* rule 144 can match eol */
 YY_RULE_SETUP
-#line 1526 "dhcp6_lexer.ll"
+#line 1527 "dhcp6_lexer.ll"
 {
     /* Bad string with a forbidden control character inside */
     driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
@@ -3895,7 +3896,7 @@ YY_RULE_SETUP
 case 145:
 /* rule 145 can match eol */
 YY_RULE_SETUP
-#line 1531 "dhcp6_lexer.ll"
+#line 1532 "dhcp6_lexer.ll"
 {
     /* Bad string with a bad escape inside */
     driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
@@ -3903,7 +3904,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 146:
 YY_RULE_SETUP
-#line 1536 "dhcp6_lexer.ll"
+#line 1537 "dhcp6_lexer.ll"
 {
     /* Bad string with an open escape at the end */
     driver.error(driver.loc_, "Overflow escape in " + std::string(yytext));
@@ -3911,37 +3912,37 @@ YY_RULE_SETUP
 	YY_BREAK
 case 147:
 YY_RULE_SETUP
-#line 1541 "dhcp6_lexer.ll"
+#line 1542 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); }
 	YY_BREAK
 case 148:
 YY_RULE_SETUP
-#line 1542 "dhcp6_lexer.ll"
+#line 1543 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); }
 	YY_BREAK
 case 149:
 YY_RULE_SETUP
-#line 1543 "dhcp6_lexer.ll"
+#line 1544 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); }
 	YY_BREAK
 case 150:
 YY_RULE_SETUP
-#line 1544 "dhcp6_lexer.ll"
+#line 1545 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); }
 	YY_BREAK
 case 151:
 YY_RULE_SETUP
-#line 1545 "dhcp6_lexer.ll"
+#line 1546 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); }
 	YY_BREAK
 case 152:
 YY_RULE_SETUP
-#line 1546 "dhcp6_lexer.ll"
+#line 1547 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); }
 	YY_BREAK
 case 153:
 YY_RULE_SETUP
-#line 1548 "dhcp6_lexer.ll"
+#line 1549 "dhcp6_lexer.ll"
 {
     /* An integer was found. */
     std::string tmp(yytext);
@@ -3962,7 +3963,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 154:
 YY_RULE_SETUP
-#line 1566 "dhcp6_lexer.ll"
+#line 1567 "dhcp6_lexer.ll"
 {
     /* A floating point was found. */
     std::string tmp(yytext);
@@ -3978,7 +3979,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 155:
 YY_RULE_SETUP
-#line 1579 "dhcp6_lexer.ll"
+#line 1580 "dhcp6_lexer.ll"
 {
     string tmp(yytext);
     return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_);
@@ -3986,33 +3987,33 @@ YY_RULE_SETUP
 	YY_BREAK
 case 156:
 YY_RULE_SETUP
-#line 1584 "dhcp6_lexer.ll"
+#line 1585 "dhcp6_lexer.ll"
 {
    return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_);
 }
 	YY_BREAK
 case 157:
 YY_RULE_SETUP
-#line 1588 "dhcp6_lexer.ll"
+#line 1589 "dhcp6_lexer.ll"
 driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
 	YY_BREAK
 case 158:
 YY_RULE_SETUP
-#line 1590 "dhcp6_lexer.ll"
+#line 1591 "dhcp6_lexer.ll"
 driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
 	YY_BREAK
 case 159:
 YY_RULE_SETUP
-#line 1592 "dhcp6_lexer.ll"
+#line 1593 "dhcp6_lexer.ll"
 driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
 	YY_BREAK
 case 160:
 YY_RULE_SETUP
-#line 1594 "dhcp6_lexer.ll"
+#line 1595 "dhcp6_lexer.ll"
 driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
 	YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 1596 "dhcp6_lexer.ll"
+#line 1597 "dhcp6_lexer.ll"
 {
     if (driver.states_.empty()) {
         return isc::dhcp::Dhcp6Parser::make_END(driver.loc_);
@@ -4038,10 +4039,10 @@ case YY_STATE_EOF(INITIAL):
 	YY_BREAK
 case 161:
 YY_RULE_SETUP
-#line 1619 "dhcp6_lexer.ll"
+#line 1620 "dhcp6_lexer.ll"
 ECHO;
 	YY_BREAK
-#line 4044 "dhcp6_lexer.cc"
+#line 4045 "dhcp6_lexer.cc"
 
 	case YY_END_OF_BUFFER:
 		{
@@ -5146,7 +5147,7 @@ void yyfree (void * ptr )
 
 /* %ok-for-header */
 
-#line 1619 "dhcp6_lexer.ll"
+#line 1620 "dhcp6_lexer.ll"
 
 
 using namespace isc::dhcp;

+ 254 - 254
src/bin/dhcp6/dhcp6_parser.cc

@@ -3555,100 +3555,100 @@ namespace isc { namespace dhcp {
   const short int
   Dhcp6Parser::yypact_[] =
   {
-     192,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
-    -707,  -707,  -707,  -707,    45,    23,    54,    58,    88,   118,
-     124,   134,   178,   199,   240,   256,   264,   293,  -707,  -707,
+     211,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
+    -707,  -707,  -707,  -707,    45,    23,    61,    76,    86,   116,
+     124,   126,   166,   177,   187,   204,   227,   238,  -707,  -707,
     -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
     -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
     -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
-    -707,  -707,  -707,  -707,    23,   -67,    14,    86,   145,    16,
-      56,    92,    32,    66,    40,    93,     8,   143,  -707,    87,
-     227,   304,   275,   307,  -707,  -707,  -707,  -707,  -707,   324,
+    -707,  -707,  -707,  -707,    23,   120,    14,   121,   135,    16,
+      73,    63,    67,   246,    53,   189,   -13,   143,  -707,   281,
+     297,   304,   302,   309,  -707,  -707,  -707,  -707,  -707,   314,
     -707,    59,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
-    -707,   352,   353,   354,   355,   356,  -707,  -707,  -707,  -707,
-    -707,  -707,  -707,  -707,  -707,  -707,  -707,   357,  -707,  -707,
-    -707,    96,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
+    -707,   318,   319,   337,   338,   343,  -707,  -707,  -707,  -707,
+    -707,  -707,  -707,  -707,  -707,  -707,  -707,   358,  -707,  -707,
+    -707,    82,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
     -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
-    -707,  -707,  -707,  -707,  -707,  -707,   358,   158,  -707,  -707,
-    -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,   359,   360,
-    -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,   176,
+    -707,  -707,  -707,  -707,  -707,  -707,   359,    94,  -707,  -707,
+    -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,   360,   361,
+    -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,   100,
     -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
-    -707,  -707,  -707,  -707,  -707,  -707,  -707,   193,  -707,  -707,
-    -707,  -707,   361,  -707,   362,   363,  -707,  -707,  -707,   195,
+    -707,  -707,  -707,  -707,  -707,  -707,  -707,   131,  -707,  -707,
+    -707,  -707,   362,  -707,   363,   364,  -707,  -707,  -707,   158,
     -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
-    -707,  -707,  -707,  -707,  -707,   364,   365,  -707,  -707,  -707,
-    -707,  -707,  -707,  -707,  -707,   366,  -707,  -707,   367,  -707,
-    -707,  -707,   369,  -707,  -707,   368,   372,  -707,  -707,  -707,
-    -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,   373,   374,
-    -707,  -707,  -707,  -707,   371,   377,  -707,  -707,  -707,  -707,
-    -707,  -707,  -707,  -707,  -707,  -707,   213,  -707,  -707,  -707,
-     378,  -707,  -707,   379,  -707,   380,   381,  -707,  -707,   382,
-     383,   384,  -707,  -707,  -707,   221,  -707,  -707,  -707,  -707,
+    -707,  -707,  -707,  -707,  -707,   365,   366,  -707,  -707,  -707,
+    -707,  -707,  -707,  -707,  -707,   367,  -707,  -707,   368,  -707,
+    -707,  -707,   370,  -707,  -707,   369,   373,  -707,  -707,  -707,
+    -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,   374,   375,
+    -707,  -707,  -707,  -707,   372,   378,  -707,  -707,  -707,  -707,
+    -707,  -707,  -707,  -707,  -707,  -707,   160,  -707,  -707,  -707,
+     379,  -707,  -707,   380,  -707,   381,   382,  -707,  -707,   383,
+     384,   385,  -707,  -707,  -707,   194,  -707,  -707,  -707,  -707,
     -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
-    -707,  -707,    23,    23,  -707,   218,   385,   386,   387,   388,
-     389,  -707,    14,  -707,   390,   391,   392,   229,   245,   246,
-     247,   248,   397,   398,   399,   400,   401,   402,   403,   404,
-     405,   406,   407,   260,   409,   410,    86,  -707,   411,   216,
-     145,  -707,    19,   412,   413,   414,   415,   416,   417,   271,
-     268,   420,   421,   422,   423,    16,  -707,   427,    56,  -707,
-     428,   281,   430,   283,   284,    92,  -707,   433,   434,   435,
-     436,   437,   438,   439,  -707,    32,  -707,   440,   441,   297,
-     442,   446,   447,   298,  -707,    40,   449,   300,   303,  -707,
-      93,   454,   455,   155,  -707,   306,   457,   458,   311,   460,
-     313,   316,   466,   467,   318,   321,   322,   469,   473,   143,
-    -707,  -707,  -707,   474,   472,   475,    23,    23,    23,  -707,
-     476,   477,   478,  -707,  -707,  -707,  -707,  -707,   482,   483,
-     484,   485,   486,   487,   488,   489,   490,   491,   492,  -707,
-     493,   494,  -707,   497,  -707,  -707,  -707,  -707,  -707,  -707,
-     495,   501,  -707,  -707,  -707,   500,   502,   499,   329,   330,
-     345,  -707,  -707,    51,   346,   503,   504,  -707,   370,  -707,
-     376,  -707,   393,  -707,  -707,  -707,   497,   497,   497,   394,
-     395,   396,   408,  -707,   418,   419,  -707,   424,   425,   426,
-    -707,  -707,   429,  -707,  -707,  -707,   431,    23,  -707,  -707,
-     432,   443,  -707,   444,  -707,  -707,   107,   445,  -707,  -707,
-    -707,   110,   448,  -707,    23,    86,   451,  -707,  -707,  -707,
-     145,    13,    13,   505,   506,   507,   508,   -13,    23,    -8,
-      91,   509,   122,    30,   223,   143,  -707,  -707,   513,  -707,
-      19,   511,   512,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
-    -707,  -707,  -707,   515,   450,  -707,  -707,  -707,  -707,  -707,
+    -707,  -707,    23,    23,  -707,   219,   386,   387,   388,   389,
+     390,  -707,    14,  -707,   391,   392,   393,   230,   247,   248,
+     249,   250,   394,   399,   400,   401,   402,   403,   404,   405,
+     406,   407,   408,   261,   410,   411,   121,  -707,   412,   217,
+     135,  -707,    20,   413,   414,   415,   416,   417,   418,   272,
+     269,   421,   422,   423,   427,    16,  -707,   428,    73,  -707,
+     429,   282,   431,   284,   285,    63,  -707,   434,   435,   436,
+     437,   438,   439,   440,  -707,    67,  -707,   441,   442,   298,
+     445,   447,   448,   299,  -707,    53,   450,   303,   305,  -707,
+     189,   454,   456,   -23,  -707,   307,   458,   459,   312,   461,
+     316,   320,   466,   467,   321,   322,   323,   469,   474,   143,
+    -707,  -707,  -707,   475,   473,   476,    23,    23,    23,  -707,
+     477,   478,   480,  -707,  -707,  -707,  -707,  -707,   483,   484,
+     485,   486,   487,   488,   489,   490,   491,   492,   493,  -707,
+     494,   495,  -707,   498,  -707,  -707,  -707,  -707,  -707,  -707,
+     496,   479,  -707,  -707,  -707,   500,   501,   503,   330,   346,
+     347,  -707,  -707,   271,   356,   506,   505,  -707,   357,  -707,
+     371,  -707,   376,  -707,  -707,  -707,   498,   498,   498,   377,
+     395,   396,   397,  -707,   398,   409,  -707,   419,   420,   424,
+    -707,  -707,   425,  -707,  -707,  -707,   426,    23,  -707,  -707,
+     430,   432,  -707,   433,  -707,  -707,    -7,   443,  -707,  -707,
+    -707,    85,   444,  -707,    23,   121,   446,  -707,  -707,  -707,
+     135,    13,    13,   507,   508,   509,   510,   -30,    23,    93,
+      58,   511,   176,    28,   229,   143,  -707,  -707,   515,  -707,
+      20,   513,   514,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
+    -707,  -707,  -707,   516,   449,  -707,  -707,  -707,  -707,  -707,
     -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
     -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
-    -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,   237,  -707,
-     266,  -707,  -707,   267,  -707,  -707,  -707,  -707,   516,   519,
-     520,   521,   524,  -707,  -707,  -707,   269,  -707,  -707,  -707,
+    -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,   197,  -707,
+     209,  -707,  -707,   212,  -707,  -707,  -707,  -707,   520,   521,
+     525,   527,   528,  -707,  -707,  -707,   232,  -707,  -707,  -707,
     -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
-     270,  -707,   523,   527,  -707,  -707,   526,   530,  -707,  -707,
-     528,   532,  -707,  -707,   531,   533,  -707,  -707,  -707,    77,
-    -707,  -707,  -707,   534,  -707,  -707,  -707,   136,  -707,  -707,
-    -707,  -707,   166,  -707,   535,   536,  -707,   538,   539,   544,
-     545,   546,   547,   276,  -707,  -707,  -707,  -707,  -707,  -707,
-    -707,  -707,  -707,   548,   549,   550,  -707,  -707,   277,  -707,
-    -707,  -707,  -707,  -707,  -707,  -707,  -707,   278,  -707,  -707,
-    -707,   279,   452,   453,  -707,  -707,   551,   552,  -707,  -707,
-     554,   553,  -707,  -707,   555,   559,  -707,  -707,   556,  -707,
-     561,   451,  -707,  -707,   563,   564,   567,   568,   456,   459,
-     462,   461,   464,   569,   570,    13,  -707,  -707,    16,  -707,
-     505,    40,  -707,   506,    93,  -707,   507,   161,  -707,   508,
-     -13,  -707,  -707,    -8,  -707,    91,  -707,     8,  -707,   509,
-     465,   468,   470,   471,   479,   480,   122,  -707,   575,   577,
-     481,   496,   498,    30,  -707,   580,   581,   223,  -707,  -707,
-    -707,   557,   583,  -707,    56,  -707,   511,    92,  -707,   512,
-      32,  -707,   515,   584,  -707,   582,  -707,   328,   518,   525,
-     540,  -707,  -707,  -707,  -707,  -707,   541,   542,  -707,   287,
-    -707,   585,  -707,   588,  -707,  -707,  -707,  -707,  -707,  -707,
-    -707,  -707,  -707,  -707,  -707,  -707,   288,  -707,  -707,  -707,
-    -707,  -707,  -707,  -707,  -707,   294,  -707,  -707,  -707,  -707,
-    -707,  -707,  -707,  -707,   257,   543,  -707,  -707,  -707,  -707,
-     558,   562,  -707,  -707,   565,   295,  -707,   315,  -707,   589,
-    -707,   566,   591,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
-    -707,  -707,  -707,  -707,  -707,  -707,   161,  -707,  -707,  -707,
+     234,  -707,   529,   530,  -707,  -707,   531,   533,  -707,  -707,
+     532,   536,  -707,  -707,   534,   538,  -707,  -707,  -707,   195,
+    -707,  -707,  -707,   537,  -707,  -707,  -707,   220,  -707,  -707,
+    -707,  -707,   235,  -707,   539,   541,  -707,   546,   547,   548,
+     549,   550,   551,   266,  -707,  -707,  -707,  -707,  -707,  -707,
+    -707,  -707,  -707,   552,   553,   554,  -707,  -707,   267,  -707,
+    -707,  -707,  -707,  -707,  -707,  -707,  -707,   270,  -707,  -707,
+    -707,   274,   451,   452,  -707,  -707,   555,   556,  -707,  -707,
+     557,   559,  -707,  -707,   560,   562,  -707,  -707,   526,  -707,
+     563,   446,  -707,  -707,   564,   565,   568,   570,   453,   455,
+     460,   457,   462,   574,   575,    13,  -707,  -707,    16,  -707,
+     507,    53,  -707,   508,   189,  -707,   509,    48,  -707,   510,
+     -30,  -707,  -707,    93,  -707,    58,  -707,   -13,  -707,   511,
+     463,   464,   465,   468,   470,   471,   176,  -707,   576,   578,
+     472,   481,   482,    28,  -707,   581,   582,   229,  -707,  -707,
+    -707,   583,   584,  -707,    73,  -707,   513,    63,  -707,   514,
+      67,  -707,   516,   586,  -707,   587,  -707,   308,   497,   499,
+     502,  -707,  -707,  -707,  -707,  -707,   504,   518,  -707,   276,
+    -707,   580,  -707,   585,  -707,  -707,  -707,  -707,  -707,  -707,
+    -707,  -707,  -707,  -707,  -707,  -707,  -707,   277,  -707,  -707,
+    -707,  -707,  -707,  -707,  -707,   278,  -707,  -707,  -707,  -707,
+    -707,  -707,  -707,  -707,   244,   519,  -707,  -707,  -707,  -707,
+     535,   540,  -707,  -707,   542,   287,  -707,   288,  -707,   588,
+    -707,   543,   590,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
+    -707,  -707,  -707,  -707,  -707,  -707,    48,  -707,  -707,  -707,
     -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
-    -707,  -707,   211,  -707,  -707,    74,   591,  -707,  -707,   586,
-    -707,  -707,  -707,   319,  -707,  -707,  -707,  -707,  -707,   587,
-     560,   596,    74,  -707,   597,  -707,   571,  -707,   594,  -707,
-    -707,   212,  -707,   133,   594,  -707,  -707,   601,   602,   603,
-     341,  -707,  -707,  -707,  -707,  -707,  -707,   605,   510,   572,
-     573,   133,  -707,   576,  -707,  -707,  -707,  -707,  -707
+    -707,  -707,   241,  -707,  -707,    65,   590,  -707,  -707,   594,
+    -707,  -707,  -707,   294,  -707,  -707,  -707,  -707,  -707,   595,
+     512,   596,    65,  -707,   589,  -707,   544,  -707,   597,  -707,
+    -707,   327,  -707,    49,   597,  -707,  -707,   602,   603,   604,
+     295,  -707,  -707,  -707,  -707,  -707,  -707,   606,   522,   558,
+     561,    49,  -707,   545,  -707,  -707,  -707,  -707,  -707
   };
 
   const unsigned short int
@@ -3735,8 +3735,8 @@ namespace isc { namespace dhcp {
      398,   389,     0,     0,   426,     0,   536,     0,     0,     0,
        0,   142,   145,   146,   147,   148,     0,     0,   116,     0,
      212,     0,   283,     0,   318,   275,   272,   274,   266,   267,
-     262,   263,   264,   265,   270,   273,     0,   260,   268,   269,
-     271,   257,   156,   164,   432,     0,   177,   201,   202,   203,
+     262,   263,   264,   265,   271,   270,   273,     0,   260,   268,
+     269,   257,   156,   164,   432,     0,   177,   201,   202,   203,
      204,   205,   206,   194,     0,     0,   462,   465,   466,   449,
        0,     0,   471,    50,     0,     0,   346,     0,   366,     0,
      393,     0,     0,   132,   133,   134,   135,   131,   137,   139,
@@ -3754,40 +3754,40 @@ namespace isc { namespace dhcp {
   Dhcp6Parser::yypgoto_[] =
   {
     -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
-    -707,  -707,  -707,  -707,  -707,    12,  -707,    53,  -707,  -707,
-    -707,  -707,  -707,  -707,    10,  -707,  -123,  -707,  -707,  -707,
-     -66,  -707,  -707,  -707,   280,  -707,  -707,  -707,  -707,    43,
-     253,   -62,   -50,   -49,   -48,  -707,  -707,  -707,  -707,  -707,
-      90,   272,  -707,  -707,  -707,  -707,  -707,  -707,  -707,    89,
-    -107,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
-    -707,   -74,  -707,  -521,  -707,  -707,  -707,  -707,  -707,  -707,
-    -707,  -707,  -707,  -707,  -121,  -507,  -707,  -707,  -707,  -707,
-    -122,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -125,
-    -707,  -707,  -707,  -120,   232,  -707,  -707,  -707,  -707,  -707,
-    -707,  -707,  -130,  -707,  -707,  -707,  -707,  -707,  -707,  -706,
-    -707,  -707,  -707,  -102,  -707,  -707,  -707,   -99,   282,  -707,
-    -707,  -704,  -707,  -693,  -707,  -517,  -707,  -686,  -707,  -707,
-    -707,  -684,  -707,  -707,  -707,  -707,  -109,  -707,  -707,  -232,
-     574,  -707,  -707,  -707,  -707,  -707,   -98,  -707,  -707,  -707,
-     -95,  -707,   254,  -707,   -73,  -707,  -707,  -707,  -707,  -707,
+    -707,  -707,  -707,  -707,  -707,    12,  -707,    56,  -707,  -707,
+    -707,  -707,  -707,  -707,    90,  -707,  -132,  -707,  -707,  -707,
+     -66,  -707,  -707,  -707,   279,  -707,  -707,  -707,  -707,    27,
+     265,   -62,   -50,   -49,   -48,  -707,  -707,  -707,  -707,  -707,
+      99,   273,  -707,  -707,  -707,  -707,  -707,  -707,  -707,   103,
+    -104,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
+    -707,   -74,  -707,  -520,  -707,  -707,  -707,  -707,  -707,  -707,
+    -707,  -707,  -707,  -707,  -114,  -507,  -707,  -707,  -707,  -707,
+    -116,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -121,
+    -707,  -707,  -707,  -118,   237,  -707,  -707,  -707,  -707,  -707,
+    -707,  -707,  -125,  -707,  -707,  -707,  -707,  -707,  -707,  -706,
+    -707,  -707,  -707,   -98,  -707,  -707,  -707,   -93,   283,  -707,
+    -707,  -704,  -707,  -686,  -707,  -518,  -707,  -681,  -707,  -707,
+    -707,  -680,  -707,  -707,  -707,  -707,  -103,  -707,  -707,  -229,
+     566,  -707,  -707,  -707,  -707,  -707,   -92,  -707,  -707,  -707,
+     -91,  -707,   257,  -707,   -73,  -707,  -707,  -707,  -707,  -707,
      -61,  -707,  -707,  -707,  -707,  -707,   -54,  -707,  -707,  -707,
-     -96,  -707,  -707,  -707,   -93,  -707,   252,  -707,  -707,  -707,
-    -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -138,  -707,
-    -707,  -707,  -131,   286,  -707,  -707,   -45,  -707,  -707,  -707,
-    -707,  -707,  -134,  -707,  -707,  -707,  -128,   289,  -707,  -707,
-    -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -136,
-    -707,  -707,  -707,  -127,  -707,   292,  -707,  -707,  -707,  -707,
+     -90,  -707,  -707,  -707,   -89,  -707,   253,  -707,  -707,  -707,
+    -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -129,  -707,
+    -707,  -707,  -130,   291,  -707,  -707,   -45,  -707,  -707,  -707,
+    -707,  -707,  -127,  -707,  -707,  -707,  -123,   292,  -707,  -707,
+    -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -126,
+    -707,  -707,  -707,  -122,  -707,   310,  -707,  -707,  -707,  -707,
     -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
-    -678,  -707,  -707,  -707,  -677,  -707,  -707,  -707,  -707,  -707,
-     112,  -707,  -707,  -707,  -707,  -707,  -707,  -108,  -707,  -707,
+    -674,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
+     127,  -707,  -707,  -707,  -707,  -707,  -707,   -86,  -707,  -707,
     -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
-    -111,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,   123,
-     261,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
+     -95,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,   147,
+     275,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
     -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
     -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,  -707,
-    -707,  -707,  -707,   -39,  -707,  -707,  -707,  -229,  -707,  -707,
-    -225,  -707,  -707,  -707,  -707,  -707,  -707,  -230,  -707,  -707,
-    -249,  -707,  -707,  -707,  -707,  -707
+    -707,  -707,  -707,   -21,  -707,  -707,  -707,  -194,  -707,  -707,
+    -204,  -707,  -707,  -707,  -707,  -707,  -707,  -215,  -707,  -707,
+    -231,  -707,  -707,  -707,  -707,  -707
   };
 
   const short int
@@ -3807,7 +3807,7 @@ namespace isc { namespace dhcp {
      331,   663,   664,   665,   666,   667,   668,   669,   670,   136,
      322,   622,   623,   624,   728,    47,    69,   169,   170,   171,
      346,   172,   347,   173,   348,   174,   352,   175,   351,   551,
-     176,   177,   137,   325,   634,   635,   636,   737,   816,   817,
+     176,   177,   137,   325,   634,   635,   636,   737,   817,   818,
      138,   323,    55,    73,   626,   627,   628,   731,    57,    74,
      235,   236,   237,   238,   239,   240,   241,   377,   242,   381,
      243,   380,   244,   245,   382,   246,   139,   324,   630,   631,
@@ -3834,78 +3834,78 @@ namespace isc { namespace dhcp {
   Dhcp6Parser::yytable_[] =
   {
       90,   251,   252,   164,   185,   196,   213,   165,   233,   250,
-     265,   284,   677,   651,   253,   178,   186,   197,   214,   166,
+     265,   284,   651,   677,   253,   178,   186,   197,   214,   166,
      167,   168,   646,   151,    84,   190,   198,    36,    29,   594,
       30,   811,    31,   812,   595,   596,   597,   598,   599,   600,
-     601,   602,   603,   604,   813,    28,   671,   101,   102,   103,
-     104,   814,   227,   815,   108,   599,   226,   108,   227,   819,
-     820,    40,   312,   637,   152,    42,   153,   313,   637,   644,
-     108,   645,   154,   155,   156,   157,   158,   159,   160,   227,
-     740,   228,   229,   741,    81,   230,   231,   232,   161,   162,
-     446,   263,   264,   301,   108,    44,   163,    98,   151,   336,
-      99,   100,   206,   107,   337,   184,   207,   208,   209,   210,
-     211,   212,   154,   227,   548,   549,   550,   101,   102,   103,
-     104,   105,   106,   107,   108,    46,   672,   673,   674,   675,
-     108,    48,   227,   247,   228,   229,   248,   249,   638,   743,
-      85,    50,   744,   191,   192,   193,   194,   195,   154,    86,
-      87,    88,   109,   110,   111,   112,   113,   145,   146,    89,
-     811,   340,   812,   161,    89,    89,   341,    89,   114,   745,
-      89,   115,   746,   813,    32,    33,    34,    35,   116,   355,
-     814,    89,   815,    89,   356,    52,   117,   118,   819,   820,
-     119,    89,   101,   102,   103,   104,   358,   106,   365,   108,
-     227,   359,   888,   366,   889,   890,    54,    89,   657,   658,
-     659,   660,   661,   662,   886,   914,   393,   887,   915,   156,
-     157,   394,   159,   160,   409,    89,   576,   577,   824,   410,
-     302,   113,   580,   581,   582,   583,   646,    89,   263,   264,
-     336,   163,   677,    89,    89,   709,    90,    56,   270,   271,
+     601,   602,   603,   604,   671,    28,   637,   101,   102,   103,
+     104,   813,   227,   599,   108,   151,   815,   816,   108,   227,
+     263,   264,   312,   820,   152,   151,   153,   313,    40,   226,
+     263,   264,   154,   155,   156,   157,   158,   159,   160,   101,
+     102,   103,   104,    42,   106,   336,   108,   227,   161,   162,
+     337,   446,   227,    44,   228,   229,   163,   340,   230,   231,
+     232,   108,   341,   355,   227,   108,   156,   157,   356,   159,
+     160,   108,   576,   577,   191,   192,   193,   194,   195,   154,
+     161,   638,   184,    46,   672,   673,   674,   675,   163,   154,
+     161,    48,    98,    50,   358,    99,   100,   206,    89,   359,
+      85,   207,   208,   209,   210,   211,   212,   145,   146,    86,
+      87,    88,   101,   102,   103,   104,   105,   106,   107,   108,
+     811,   365,   812,   393,    89,    89,   366,    89,   394,   637,
+     644,    89,   645,    52,    32,    33,    34,    35,   916,    89,
+     813,   917,   918,   919,    54,   815,   816,   109,   110,   111,
+     112,   113,   820,   888,    56,   889,   890,   409,   740,    89,
+     336,   741,   410,   114,    89,   709,   115,   580,   581,   582,
+     583,    58,   711,   116,    89,   340,    89,   712,    89,   814,
+     713,   117,   118,   743,    89,   119,   744,   824,   227,   247,
+     228,   229,   248,   249,    60,   725,   646,   725,   745,   584,
+     726,   746,   727,   677,   886,    62,    90,   887,   270,   271,
      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
-     282,   283,   916,    58,   584,   917,   918,   919,   448,   711,
-     340,    60,   725,   725,   712,   713,   447,   726,   727,   756,
-     763,   767,   409,   304,   757,   764,   768,   769,   449,   164,
-     355,   866,   185,   165,    89,   863,   867,   393,   358,   196,
-      62,   178,   868,   877,   186,   166,   167,   168,   303,   213,
-     305,   197,    89,   190,   411,   412,   251,   252,   365,   233,
-     198,   214,   902,   878,   250,   685,   686,   903,   311,   253,
-       1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
-      11,    12,    13,   284,   931,   853,   854,   855,   856,   932,
-     869,   870,   871,   558,   559,   560,   317,   318,   319,   320,
-     321,   333,   339,   349,   350,   361,   363,   364,   375,   413,
-     444,   379,   374,   383,   376,   385,   384,   387,   388,   389,
-     390,   423,   395,   398,   400,   401,   404,   405,   406,   414,
-     415,   416,   417,   418,   420,   421,   422,   424,   425,   426,
-     427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
-     437,   438,   439,   440,   441,   443,   455,   456,   457,   458,
-     459,   460,   462,   461,   463,   464,   465,   466,   517,   518,
-     519,   468,   470,   471,   472,   473,   474,   476,   477,   478,
-     479,   480,   481,   482,   484,   485,   487,   613,   613,   486,
-     488,   489,   490,   492,   493,   605,   605,   494,   496,   497,
-     499,   500,   501,   502,   503,   504,   448,   676,   505,   284,
-     506,   507,   508,   511,   447,   509,   510,   512,   514,   515,
-     545,   546,   516,   520,   521,   522,   449,   523,   524,   525,
-     526,   527,   528,   529,   530,   531,   547,   552,   532,   533,
-     534,   535,   536,   539,   540,   541,    30,   542,   553,   572,
-     543,   554,   621,   625,   629,   633,   653,   693,   695,   699,
-     718,   555,   703,   719,   720,   721,   587,   556,   722,   729,
-     730,   707,   732,   733,   735,   736,   739,   738,   643,   749,
-     742,   748,   750,   751,   557,   561,   562,   563,   752,   753,
-     754,   755,   760,   761,   762,   776,   779,   775,   588,   564,
-     778,   781,   782,   843,   784,   785,   579,   787,   788,   565,
-     566,   789,   790,   796,   797,   567,   568,   569,   589,   834,
-     570,   835,   571,   573,   840,   841,   844,   852,   851,   442,
-     900,   904,   419,   864,   574,   575,   865,   879,   881,   586,
-     906,   910,   908,   770,   773,   928,   929,   930,   791,   933,
-     593,   620,   445,   792,   793,   794,   795,   827,   798,   822,
-     828,   823,   829,   830,   826,   498,   833,   825,   800,   799,
-     821,   831,   832,   836,   884,   802,   801,   467,   846,   491,
-     804,   803,   495,   845,   469,   848,   850,   225,   837,   847,
-     838,   613,   694,   849,   475,   839,   842,   898,   691,   605,
-     251,   252,   164,   810,   934,   233,   165,   483,   250,   858,
-     513,   805,   786,   253,   178,   806,   859,   907,   166,   167,
-     168,   265,   937,   818,   926,     0,     0,   807,   808,   809,
-       0,   860,   861,   862,   873,     0,     0,   676,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   185,   874,
-       0,   196,   905,   875,   213,     0,   876,   880,     0,     0,
-     186,     0,   909,   197,   935,   936,   214,   938,     0,   190,
+     282,   283,   657,   658,   659,   660,   661,   662,   448,   756,
+     763,    81,    89,   767,   757,   764,   447,   409,   768,   355,
+     866,   393,   769,   107,   863,   867,   868,   301,   449,   164,
+     358,   365,   185,   165,    89,   877,   878,   902,   931,   196,
+     302,   178,   903,   932,   186,   166,   167,   168,   303,   213,
+     304,   197,   305,   190,   411,   412,   251,   252,   311,   233,
+     198,   214,   317,   318,   250,   853,   854,   855,   856,   253,
+     914,   685,   686,   915,   548,   549,   550,   869,   870,   871,
+      89,   319,   320,   284,   558,   559,   560,   321,   814,     1,
+       2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
+      12,    13,   333,   339,   349,   350,   361,   363,   364,   375,
+     413,   444,   379,   374,   383,   376,   385,   384,   387,   388,
+     389,   390,   423,   395,   398,   400,   401,   404,   405,   406,
+     414,   415,   416,   417,   418,   420,   421,   422,   428,   424,
+     425,   426,   427,   429,   430,   431,   432,   433,   434,   435,
+     436,   437,   438,   439,   440,   441,   443,   455,   456,   457,
+     458,   459,   460,   462,   461,   463,   464,   465,   517,   518,
+     519,   466,   468,   470,   471,   472,   473,   474,   476,   477,
+     478,   479,   480,   481,   482,   484,   485,   613,   613,   487,
+     486,   488,   489,   490,   492,   605,   605,   493,   496,   494,
+     497,   499,   500,   501,   502,   503,   448,   676,   504,   284,
+     506,   507,   505,   511,   447,   508,   509,   510,   512,   514,
+     515,   545,   540,   516,   520,   521,   449,   522,   523,   524,
+     525,   526,   527,   528,   529,   530,   531,   546,   547,   532,
+     533,   534,   535,   536,   539,   541,   542,   552,   555,   572,
+      30,   553,   554,   543,   621,   625,   629,   633,   653,   693,
+     695,   699,   556,   703,   718,   719,   587,   557,   561,   720,
+     707,   721,   722,   730,   784,   729,   733,   732,   735,   736,
+     738,   739,   588,   742,   749,   748,   562,   563,   564,   565,
+     750,   751,   752,   753,   754,   755,   760,   761,   762,   776,
+     566,   775,   779,   778,   579,   782,   781,   785,   787,   788,
+     567,   568,   789,   589,   790,   569,   570,   571,   796,   797,
+     834,   573,   835,   574,   575,   840,   841,   844,   864,   843,
+     851,   419,   852,   865,   908,   586,   879,   881,   900,   904,
+     906,   442,   770,   773,   910,   791,   928,   929,   930,   792,
+     933,   794,   793,   445,   795,   827,   828,   829,   643,   593,
+     830,   798,   831,   832,   836,   620,   822,   823,   826,   825,
+     498,   833,   800,   837,   838,   799,   821,   884,   467,   225,
+     801,   802,   491,   495,   845,   803,   804,   846,   858,   469,
+     859,   613,   848,   860,   847,   861,   850,   475,   849,   605,
+     251,   252,   164,   810,   905,   233,   165,   694,   250,   862,
+     873,   805,   842,   253,   178,   806,   934,   839,   166,   167,
+     168,   265,   691,   819,   513,   483,   874,   807,   808,   809,
+     786,   875,   898,   876,   880,   909,   938,   676,   907,   926,
+     937,     0,     0,     0,     0,     0,     0,     0,   185,     0,
+     935,   196,     0,   936,   213,     0,     0,     0,     0,     0,
+     186,     0,     0,   197,     0,     0,   214,     0,     0,   190,
        0,     0,   198,     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,
@@ -3914,7 +3914,7 @@ namespace isc { namespace dhcp {
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,   810,     0,     0,     0,     0,     0,     0,     0,
      805,     0,     0,     0,   806,     0,     0,     0,     0,     0,
-       0,   892,   818,     0,     0,     0,   807,   808,   809,   891,
+       0,   892,   819,     0,     0,     0,   807,   808,   809,   891,
        0,     0,     0,     0,     0,     0,     0,     0,   892,     0,
        0,     0,     0,     0,     0,     0,   891
   };
@@ -3923,78 +3923,78 @@ namespace isc { namespace dhcp {
   Dhcp6Parser::yycheck_[] =
   {
       66,    75,    75,    69,    70,    71,    72,    69,    74,    75,
-      76,    77,   533,   530,    75,    69,    70,    71,    72,    69,
+      76,    77,   530,   533,    75,    69,    70,    71,    72,    69,
       69,    69,   529,     7,    10,    70,    71,    15,     5,    16,
        7,   737,     9,   737,    21,    22,    23,    24,    25,    26,
-      27,    28,    29,    30,   737,     0,    16,    31,    32,    33,
-      34,   737,    39,   737,    38,    25,    16,    38,    39,   737,
-     737,     7,     3,    76,    48,     7,    50,     8,    76,    77,
-      38,    79,    56,    57,    58,    59,    60,    61,    62,    39,
-       3,    41,    42,     6,   151,    45,    46,    47,    72,    73,
-      71,    83,    84,     6,    38,     7,    80,    11,     7,     3,
-      14,    15,    70,    37,     8,    49,    74,    75,    76,    77,
-      78,    79,    56,    39,    63,    64,    65,    31,    32,    33,
-      34,    35,    36,    37,    38,     7,    96,    97,    98,    99,
-      38,     7,    39,    40,    41,    42,    43,    44,   151,     3,
-     126,     7,     6,    51,    52,    53,    54,    55,    56,   135,
-     136,   137,    66,    67,    68,    69,    70,    12,    13,   151,
-     866,     3,   866,    72,   151,   151,     8,   151,    82,     3,
-     151,    85,     6,   866,   151,   152,   153,   154,    92,     3,
-     866,   151,   866,   151,     8,     7,   100,   101,   866,   866,
-     104,   151,    31,    32,    33,    34,     3,    36,     3,    38,
-      39,     8,   128,     8,   130,   131,     7,   151,    86,    87,
-      88,    89,    90,    91,     3,     3,     3,     6,     6,    58,
-      59,     8,    61,    62,     3,   151,   119,   120,   745,     8,
-       3,    70,   122,   123,   124,   125,   743,   151,    83,    84,
-       3,    80,   763,   151,   151,     8,   312,     7,   105,   106,
+      27,    28,    29,    30,    16,     0,    76,    31,    32,    33,
+      34,   737,    39,    25,    38,     7,   737,   737,    38,    39,
+      83,    84,     3,   737,    48,     7,    50,     8,     7,    16,
+      83,    84,    56,    57,    58,    59,    60,    61,    62,    31,
+      32,    33,    34,     7,    36,     3,    38,    39,    72,    73,
+       8,    71,    39,     7,    41,    42,    80,     3,    45,    46,
+      47,    38,     8,     3,    39,    38,    58,    59,     8,    61,
+      62,    38,   119,   120,    51,    52,    53,    54,    55,    56,
+      72,   151,    49,     7,    96,    97,    98,    99,    80,    56,
+      72,     7,    11,     7,     3,    14,    15,    70,   151,     8,
+     126,    74,    75,    76,    77,    78,    79,    12,    13,   135,
+     136,   137,    31,    32,    33,    34,    35,    36,    37,    38,
+     866,     3,   866,     3,   151,   151,     8,   151,     8,    76,
+      77,   151,    79,     7,   151,   152,   153,   154,   129,   151,
+     866,   132,   133,   134,     7,   866,   866,    66,    67,    68,
+      69,    70,   866,   128,     7,   130,   131,     3,     3,   151,
+       3,     6,     8,    82,   151,     8,    85,   122,   123,   124,
+     125,     7,     3,    92,   151,     3,   151,     8,   151,   737,
+       8,   100,   101,     3,   151,   104,     6,   745,    39,    40,
+      41,    42,    43,    44,     7,     3,   743,     3,     3,   154,
+       8,     6,     8,   763,     3,     7,   312,     6,   105,   106,
      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
-     117,   118,   129,     7,   154,   132,   133,   134,   342,     3,
-       3,     7,     3,     3,     8,     8,   342,     8,     8,     3,
-       3,     3,     3,     8,     8,     8,     8,     8,   342,   355,
+     117,   118,    86,    87,    88,    89,    90,    91,   342,     3,
+       3,   151,   151,     3,     8,     8,   342,     3,     8,     3,
+       3,     3,     8,    37,     8,     8,     8,     6,   342,   355,
        3,     3,   358,   355,   151,     8,     8,     3,     3,   365,
-       7,   355,     8,     8,   358,   355,   355,   355,     4,   375,
-       3,   365,   151,   358,   302,   303,   390,   390,     3,   385,
-     365,   375,     3,     8,   390,   102,   103,     8,     4,   390,
-     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
-     148,   149,   150,   409,     3,    17,    18,    19,    20,     8,
-      93,    94,    95,   476,   477,   478,     4,     4,     4,     4,
-       4,     4,     4,     4,     4,     4,     4,     4,     3,   151,
-     154,     4,     8,     4,     8,     3,     8,     4,     4,     8,
-       3,   152,     4,     4,     4,     4,     4,     4,     4,     4,
-       4,     4,     4,     4,     4,     4,     4,   152,   152,   152,
-     152,     4,     4,     4,     4,     4,     4,     4,     4,     4,
-       4,     4,   152,     4,     4,     4,     4,     4,     4,     4,
-       4,     4,   154,   152,     4,     4,     4,     4,   416,   417,
-     418,     4,     4,   152,     4,   152,   152,     4,     4,     4,
-       4,     4,     4,     4,     4,     4,     4,   521,   522,   152,
-       4,     4,   154,     4,   154,   521,   522,   154,     4,     4,
-     154,     4,     4,   152,     4,   152,   540,   533,   152,   535,
-       4,     4,   154,     4,   540,   154,   154,     4,     4,     7,
-     151,   151,     7,     7,     7,     7,   540,     5,     5,     5,
-       5,     5,     5,     5,     5,     5,   151,   151,     7,     7,
-       7,     7,     5,     8,     3,     5,     7,     5,     5,   497,
-     457,     7,     7,     7,     7,     7,     7,     4,     7,     7,
-       4,   151,     7,     4,     4,     4,   514,   151,     4,     6,
-       3,    81,     6,     3,     6,     3,     3,     6,   528,     3,
-       6,     6,     4,     4,   151,   151,   151,   151,     4,     4,
-       4,     4,     4,     4,     4,     3,     3,     6,   515,   151,
-       6,     6,     3,     6,     8,     4,   121,     4,     4,   151,
-     151,     4,     4,     4,     4,   151,   151,   151,   127,     4,
-     151,     4,   151,   151,     4,     4,     3,     5,     4,   336,
-       4,     4,   312,     8,   151,   151,     8,     8,     7,   151,
-       4,     7,     5,   151,   151,     4,     4,     4,   152,     4,
-     520,   522,   340,   154,   152,   154,   152,   152,   725,   740,
-     152,   743,   152,   152,   749,   393,   756,   747,   730,   728,
-     739,   152,   152,   152,   866,   733,   731,   355,   776,   385,
-     736,   734,   390,   774,   358,   779,   782,    73,   152,   777,
-     152,   725,   540,   780,   365,   763,   767,   886,   535,   725,
-     734,   734,   728,   737,   154,   731,   728,   375,   734,   151,
-     409,   737,   711,   734,   728,   737,   151,   902,   728,   728,
-     728,   747,   931,   737,   914,    -1,    -1,   737,   737,   737,
-      -1,   151,   151,   151,   151,    -1,    -1,   763,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   774,   151,
-      -1,   777,   152,   151,   780,    -1,   151,   151,    -1,    -1,
-     774,    -1,   151,   777,   152,   152,   780,   151,    -1,   774,
+       3,   355,     8,     8,   358,   355,   355,   355,     4,   375,
+       8,   365,     3,   358,   302,   303,   390,   390,     4,   385,
+     365,   375,     4,     4,   390,    17,    18,    19,    20,   390,
+       3,   102,   103,     6,    63,    64,    65,    93,    94,    95,
+     151,     4,     4,   409,   476,   477,   478,     4,   866,   138,
+     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
+     149,   150,     4,     4,     4,     4,     4,     4,     4,     3,
+     151,   154,     4,     8,     4,     8,     3,     8,     4,     4,
+       8,     3,   152,     4,     4,     4,     4,     4,     4,     4,
+       4,     4,     4,     4,     4,     4,     4,     4,     4,   152,
+     152,   152,   152,     4,     4,     4,     4,     4,     4,     4,
+       4,     4,     4,   152,     4,     4,     4,     4,     4,     4,
+       4,     4,     4,   154,   152,     4,     4,     4,   416,   417,
+     418,     4,     4,     4,   152,     4,   152,   152,     4,     4,
+       4,     4,     4,     4,     4,     4,     4,   521,   522,     4,
+     152,     4,     4,   154,     4,   521,   522,   154,     4,   154,
+       4,   154,     4,     4,   152,     4,   540,   533,   152,   535,
+       4,     4,   152,     4,   540,   154,   154,   154,     4,     4,
+       7,   151,     3,     7,     7,     7,   540,     7,     5,     5,
+       5,     5,     5,     5,     5,     5,     5,   151,   151,     7,
+       7,     7,     7,     5,     8,     5,     5,   151,   151,   497,
+       7,     5,     7,   457,     7,     7,     7,     7,     7,     4,
+       7,     7,   151,     7,     4,     4,   514,   151,   151,     4,
+      81,     4,     4,     3,     8,     6,     3,     6,     6,     3,
+       6,     3,   515,     6,     3,     6,   151,   151,   151,   151,
+       4,     4,     4,     4,     4,     4,     4,     4,     4,     3,
+     151,     6,     3,     6,   121,     3,     6,     4,     4,     4,
+     151,   151,     4,   127,     4,   151,   151,   151,     4,     4,
+       4,   151,     4,   151,   151,     4,     4,     3,     8,     6,
+       4,   312,     5,     8,     5,   151,     8,     7,     4,     4,
+       4,   336,   151,   151,     7,   152,     4,     4,     4,   154,
+       4,   154,   152,   340,   152,   152,   152,   152,   528,   520,
+     152,   725,   152,   152,   152,   522,   740,   743,   749,   747,
+     393,   756,   730,   152,   152,   728,   739,   866,   355,    73,
+     731,   733,   385,   390,   774,   734,   736,   776,   151,   358,
+     151,   725,   779,   151,   777,   151,   782,   365,   780,   725,
+     734,   734,   728,   737,   152,   731,   728,   540,   734,   151,
+     151,   737,   767,   734,   728,   737,   154,   763,   728,   728,
+     728,   747,   535,   737,   409,   375,   151,   737,   737,   737,
+     711,   151,   886,   151,   151,   151,   151,   763,   902,   914,
+     931,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   774,    -1,
+     152,   777,    -1,   152,   780,    -1,    -1,    -1,    -1,    -1,
+     774,    -1,    -1,   777,    -1,    -1,   780,    -1,    -1,   774,
       -1,    -1,   777,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -4092,8 +4092,8 @@ namespace isc { namespace dhcp {
      385,     6,     3,   408,     8,     4,   478,     4,     4,     4,
        4,   152,   154,   152,   154,   152,     4,     4,   215,   282,
      278,   315,   311,   339,   335,   185,   196,   197,   198,   199,
-     226,   274,   286,   288,   292,   296,   303,   304,   331,   405,
-     409,   301,   239,   245,   290,   258,   254,   152,   152,   152,
+     226,   274,   286,   288,   290,   292,   296,   303,   304,   331,
+     405,   301,   239,   245,   290,   258,   254,   152,   152,   152,
      152,   152,   152,   267,     4,     4,   152,   152,   152,   422,
        4,     4,   435,     6,     3,   357,   353,   371,   367,   388,
      384,     4,     5,    17,    18,    19,    20,   218,   151,   151,

+ 1 - 1
src/bin/dhcp6/location.hh

@@ -1,4 +1,4 @@
-// Generated 201709051124
+// Generated 201709141022
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Locations for Bison parsers in C++

+ 1 - 1
src/bin/dhcp6/position.hh

@@ -1,4 +1,4 @@
-// Generated 201709051124
+// Generated 201709141022
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Positions for Bison parsers in C++

+ 1 - 1
src/bin/dhcp6/stack.hh

@@ -1,4 +1,4 @@
-// Generated 201709051124
+// Generated 201709141022
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Stack handling for Bison parsers in C++