]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[5357] Parsers renegerated.
authorTomek Mrugalski <tomasz@isc.org>
Wed, 13 Sep 2017 20:23:57 +0000 (22:23 +0200)
committerTomek Mrugalski <tomasz@isc.org>
Wed, 13 Sep 2017 20:23:57 +0000 (22:23 +0200)
src/bin/dhcp4/dhcp4_parser.cc
src/bin/dhcp4/dhcp4_parser.h
src/bin/dhcp6/dhcp6_parser.cc
src/bin/dhcp6/dhcp6_parser.h

index 04f488354062047ca6775860d5e5d58f3b05db5d..6c54dc30ea241b6c44c120908ac8cf6a01d6fe0c 100644 (file)
@@ -1883,8 +1883,8 @@ namespace isc { namespace dhcp {
 #line 1884 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 280:
-#line 1015 "dhcp4_parser.yy" // lalr1.cc:859
+  case 279:
+#line 1014 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("option-def", l);
@@ -1894,8 +1894,8 @@ namespace isc { namespace dhcp {
 #line 1895 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 281:
-#line 1020 "dhcp4_parser.yy" // lalr1.cc:859
+  case 280:
+#line 1019 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1903,8 +1903,8 @@ namespace isc { namespace dhcp {
 #line 1904 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 286:
-#line 1037 "dhcp4_parser.yy" // lalr1.cc:859
+  case 285:
+#line 1036 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -1913,16 +1913,16 @@ namespace isc { namespace dhcp {
 #line 1914 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 287:
-#line 1041 "dhcp4_parser.yy" // lalr1.cc:859
+  case 286:
+#line 1040 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 1922 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 288:
-#line 1048 "dhcp4_parser.yy" // lalr1.cc:859
+  case 287:
+#line 1047 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // Parse the option-def list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1931,16 +1931,16 @@ namespace isc { namespace dhcp {
 #line 1932 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 289:
-#line 1052 "dhcp4_parser.yy" // lalr1.cc:859
+  case 288:
+#line 1051 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // parsing completed
 }
 #line 1940 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 303:
-#line 1078 "dhcp4_parser.yy" // lalr1.cc:859
+  case 302:
+#line 1077 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr code(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("code", code);
@@ -1948,16 +1948,16 @@ namespace isc { namespace dhcp {
 #line 1949 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 305:
-#line 1085 "dhcp4_parser.yy" // lalr1.cc:859
+  case 304:
+#line 1084 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1957 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 306:
-#line 1087 "dhcp4_parser.yy" // lalr1.cc:859
+  case 305:
+#line 1086 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("type", prf);
@@ -1966,16 +1966,16 @@ namespace isc { namespace dhcp {
 #line 1967 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 307:
-#line 1093 "dhcp4_parser.yy" // lalr1.cc:859
+  case 306:
+#line 1092 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1975 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 308:
-#line 1095 "dhcp4_parser.yy" // lalr1.cc:859
+  case 307:
+#line 1094 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr rtypes(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("record-types", rtypes);
@@ -1984,16 +1984,16 @@ namespace isc { namespace dhcp {
 #line 1985 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 309:
-#line 1101 "dhcp4_parser.yy" // lalr1.cc:859
+  case 308:
+#line 1100 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1993 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 310:
-#line 1103 "dhcp4_parser.yy" // lalr1.cc:859
+  case 309:
+#line 1102 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr space(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("space", space);
@@ -2002,16 +2002,16 @@ namespace isc { namespace dhcp {
 #line 2003 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 312:
-#line 1111 "dhcp4_parser.yy" // lalr1.cc:859
+  case 311:
+#line 1110 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2011 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 313:
-#line 1113 "dhcp4_parser.yy" // lalr1.cc:859
+  case 312:
+#line 1112 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr encap(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("encapsulate", encap);
@@ -2020,8 +2020,8 @@ namespace isc { namespace dhcp {
 #line 2021 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 314:
-#line 1119 "dhcp4_parser.yy" // lalr1.cc:859
+  case 313:
+#line 1118 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr array(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("array", array);
@@ -2029,8 +2029,8 @@ namespace isc { namespace dhcp {
 #line 2030 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 315:
-#line 1128 "dhcp4_parser.yy" // lalr1.cc:859
+  case 314:
+#line 1127 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("option-data", l);
@@ -2040,8 +2040,8 @@ namespace isc { namespace dhcp {
 #line 2041 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 316:
-#line 1133 "dhcp4_parser.yy" // lalr1.cc:859
+  case 315:
+#line 1132 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2049,8 +2049,8 @@ namespace isc { namespace dhcp {
 #line 2050 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 321:
-#line 1152 "dhcp4_parser.yy" // lalr1.cc:859
+  case 320:
+#line 1151 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2059,16 +2059,16 @@ namespace isc { namespace dhcp {
 #line 2060 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 322:
-#line 1156 "dhcp4_parser.yy" // lalr1.cc:859
+  case 321:
+#line 1155 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 2068 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 323:
-#line 1163 "dhcp4_parser.yy" // lalr1.cc:859
+  case 322:
+#line 1162 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // Parse the option-data list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2077,24 +2077,24 @@ namespace isc { namespace dhcp {
 #line 2078 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 324:
-#line 1167 "dhcp4_parser.yy" // lalr1.cc:859
+  case 323:
+#line 1166 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // parsing completed
 }
 #line 2086 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 337:
-#line 1197 "dhcp4_parser.yy" // lalr1.cc:859
+  case 336:
+#line 1196 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2094 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 338:
-#line 1199 "dhcp4_parser.yy" // lalr1.cc:859
+  case 337:
+#line 1198 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr data(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("data", data);
@@ -2103,8 +2103,8 @@ namespace isc { namespace dhcp {
 #line 2104 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 341:
-#line 1209 "dhcp4_parser.yy" // lalr1.cc:859
+  case 340:
+#line 1208 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr space(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("csv-format", space);
@@ -2112,8 +2112,8 @@ namespace isc { namespace dhcp {
 #line 2113 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 342:
-#line 1214 "dhcp4_parser.yy" // lalr1.cc:859
+  case 341:
+#line 1213 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr persist(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("always-send", persist);
@@ -2121,8 +2121,8 @@ namespace isc { namespace dhcp {
 #line 2122 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 343:
-#line 1222 "dhcp4_parser.yy" // lalr1.cc:859
+  case 342:
+#line 1221 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pools", l);
@@ -2132,8 +2132,8 @@ namespace isc { namespace dhcp {
 #line 2133 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 344:
-#line 1227 "dhcp4_parser.yy" // lalr1.cc:859
+  case 343:
+#line 1226 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2141,8 +2141,8 @@ namespace isc { namespace dhcp {
 #line 2142 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 349:
-#line 1242 "dhcp4_parser.yy" // lalr1.cc:859
+  case 348:
+#line 1241 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2151,16 +2151,16 @@ namespace isc { namespace dhcp {
 #line 2152 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 350:
-#line 1246 "dhcp4_parser.yy" // lalr1.cc:859
+  case 349:
+#line 1245 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 2160 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 351:
-#line 1250 "dhcp4_parser.yy" // lalr1.cc:859
+  case 350:
+#line 1249 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // Parse the pool list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2169,24 +2169,24 @@ namespace isc { namespace dhcp {
 #line 2170 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 352:
-#line 1254 "dhcp4_parser.yy" // lalr1.cc:859
+  case 351:
+#line 1253 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // parsing completed
 }
 #line 2178 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 359:
-#line 1268 "dhcp4_parser.yy" // lalr1.cc:859
+  case 358:
+#line 1267 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2186 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 360:
-#line 1270 "dhcp4_parser.yy" // lalr1.cc:859
+  case 359:
+#line 1269 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr pool(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pool", pool);
@@ -2195,16 +2195,16 @@ namespace isc { namespace dhcp {
 #line 2196 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 361:
-#line 1276 "dhcp4_parser.yy" // lalr1.cc:859
+  case 360:
+#line 1275 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2204 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 362:
-#line 1278 "dhcp4_parser.yy" // lalr1.cc:859
+  case 361:
+#line 1277 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("user-context", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2212,8 +2212,8 @@ namespace isc { namespace dhcp {
 #line 2213 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 363:
-#line 1286 "dhcp4_parser.yy" // lalr1.cc:859
+  case 362:
+#line 1285 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("reservations", l);
@@ -2223,8 +2223,8 @@ namespace isc { namespace dhcp {
 #line 2224 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 364:
-#line 1291 "dhcp4_parser.yy" // lalr1.cc:859
+  case 363:
+#line 1290 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2232,8 +2232,8 @@ namespace isc { namespace dhcp {
 #line 2233 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 369:
-#line 1304 "dhcp4_parser.yy" // lalr1.cc:859
+  case 368:
+#line 1303 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2242,16 +2242,16 @@ namespace isc { namespace dhcp {
 #line 2243 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 370:
-#line 1308 "dhcp4_parser.yy" // lalr1.cc:859
+  case 369:
+#line 1307 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 2251 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 371:
-#line 1312 "dhcp4_parser.yy" // lalr1.cc:859
+  case 370:
+#line 1311 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // Parse the reservations list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2260,24 +2260,24 @@ namespace isc { namespace dhcp {
 #line 2261 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 372:
-#line 1316 "dhcp4_parser.yy" // lalr1.cc:859
+  case 371:
+#line 1315 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // parsing completed
 }
 #line 2269 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 390:
-#line 1344 "dhcp4_parser.yy" // lalr1.cc:859
+  case 389:
+#line 1343 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2277 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 391:
-#line 1346 "dhcp4_parser.yy" // lalr1.cc:859
+  case 390:
+#line 1345 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr next_server(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("next-server", next_server);
@@ -2286,16 +2286,16 @@ namespace isc { namespace dhcp {
 #line 2287 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 392:
-#line 1352 "dhcp4_parser.yy" // lalr1.cc:859
+  case 391:
+#line 1351 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2295 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 393:
-#line 1354 "dhcp4_parser.yy" // lalr1.cc:859
+  case 392:
+#line 1353 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr srv(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-hostname", srv);
@@ -2304,16 +2304,16 @@ namespace isc { namespace dhcp {
 #line 2305 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 394:
-#line 1360 "dhcp4_parser.yy" // lalr1.cc:859
+  case 393:
+#line 1359 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2313 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 395:
-#line 1362 "dhcp4_parser.yy" // lalr1.cc:859
+  case 394:
+#line 1361 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr bootfile(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("boot-file-name", bootfile);
@@ -2322,16 +2322,16 @@ namespace isc { namespace dhcp {
 #line 2323 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 396:
-#line 1368 "dhcp4_parser.yy" // lalr1.cc:859
+  case 395:
+#line 1367 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2331 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 397:
-#line 1370 "dhcp4_parser.yy" // lalr1.cc:859
+  case 396:
+#line 1369 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr addr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ip-address", addr);
@@ -2340,16 +2340,16 @@ namespace isc { namespace dhcp {
 #line 2341 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 398:
-#line 1376 "dhcp4_parser.yy" // lalr1.cc:859
+  case 397:
+#line 1375 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2349 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 399:
-#line 1378 "dhcp4_parser.yy" // lalr1.cc:859
+  case 398:
+#line 1377 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr d(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("duid", d);
@@ -2358,16 +2358,16 @@ namespace isc { namespace dhcp {
 #line 2359 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 400:
-#line 1384 "dhcp4_parser.yy" // lalr1.cc:859
+  case 399:
+#line 1383 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2367 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 401:
-#line 1386 "dhcp4_parser.yy" // lalr1.cc:859
+  case 400:
+#line 1385 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hw-address", hw);
@@ -2376,16 +2376,16 @@ namespace isc { namespace dhcp {
 #line 2377 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 402:
-#line 1392 "dhcp4_parser.yy" // lalr1.cc:859
+  case 401:
+#line 1391 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2385 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 403:
-#line 1394 "dhcp4_parser.yy" // lalr1.cc:859
+  case 402:
+#line 1393 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-id", hw);
@@ -2394,16 +2394,16 @@ namespace isc { namespace dhcp {
 #line 2395 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 404:
-#line 1400 "dhcp4_parser.yy" // lalr1.cc:859
+  case 403:
+#line 1399 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2403 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 405:
-#line 1402 "dhcp4_parser.yy" // lalr1.cc:859
+  case 404:
+#line 1401 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("circuit-id", hw);
@@ -2412,16 +2412,16 @@ namespace isc { namespace dhcp {
 #line 2413 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 406:
-#line 1408 "dhcp4_parser.yy" // lalr1.cc:859
+  case 405:
+#line 1407 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2421 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 407:
-#line 1410 "dhcp4_parser.yy" // lalr1.cc:859
+  case 406:
+#line 1409 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("flex-id", hw);
@@ -2430,16 +2430,16 @@ namespace isc { namespace dhcp {
 #line 2431 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 408:
-#line 1416 "dhcp4_parser.yy" // lalr1.cc:859
+  case 407:
+#line 1415 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2439 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 409:
-#line 1418 "dhcp4_parser.yy" // lalr1.cc:859
+  case 408:
+#line 1417 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr host(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hostname", host);
@@ -2448,8 +2448,8 @@ namespace isc { namespace dhcp {
 #line 2449 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 410:
-#line 1424 "dhcp4_parser.yy" // lalr1.cc:859
+  case 409:
+#line 1423 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-classes", c);
@@ -2459,8 +2459,8 @@ namespace isc { namespace dhcp {
 #line 2460 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 411:
-#line 1429 "dhcp4_parser.yy" // lalr1.cc:859
+  case 410:
+#line 1428 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2468,8 +2468,8 @@ namespace isc { namespace dhcp {
 #line 2469 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 412:
-#line 1437 "dhcp4_parser.yy" // lalr1.cc:859
+  case 411:
+#line 1436 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("relay", m);
@@ -2479,8 +2479,8 @@ namespace isc { namespace dhcp {
 #line 2480 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 413:
-#line 1442 "dhcp4_parser.yy" // lalr1.cc:859
+  case 412:
+#line 1441 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2488,16 +2488,16 @@ namespace isc { namespace dhcp {
 #line 2489 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 414:
-#line 1447 "dhcp4_parser.yy" // lalr1.cc:859
+  case 413:
+#line 1446 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2497 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 415:
-#line 1449 "dhcp4_parser.yy" // lalr1.cc:859
+  case 414:
+#line 1448 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr ip(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ip-address", ip);
@@ -2506,8 +2506,8 @@ namespace isc { namespace dhcp {
 #line 2507 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 416:
-#line 1458 "dhcp4_parser.yy" // lalr1.cc:859
+  case 415:
+#line 1457 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-classes", l);
@@ -2517,8 +2517,8 @@ namespace isc { namespace dhcp {
 #line 2518 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 417:
-#line 1463 "dhcp4_parser.yy" // lalr1.cc:859
+  case 416:
+#line 1462 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2526,8 +2526,8 @@ namespace isc { namespace dhcp {
 #line 2527 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 420:
-#line 1472 "dhcp4_parser.yy" // lalr1.cc:859
+  case 419:
+#line 1471 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2536,24 +2536,24 @@ namespace isc { namespace dhcp {
 #line 2537 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 421:
-#line 1476 "dhcp4_parser.yy" // lalr1.cc:859
+  case 420:
+#line 1475 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 2545 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 434:
-#line 1499 "dhcp4_parser.yy" // lalr1.cc:859
+  case 433:
+#line 1498 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2553 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 435:
-#line 1501 "dhcp4_parser.yy" // lalr1.cc:859
+  case 434:
+#line 1500 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr test(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("test", test);
@@ -2562,8 +2562,8 @@ namespace isc { namespace dhcp {
 #line 2563 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 436:
-#line 1511 "dhcp4_parser.yy" // lalr1.cc:859
+  case 435:
+#line 1510 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("dhcp4o6-port", time);
@@ -2571,8 +2571,8 @@ namespace isc { namespace dhcp {
 #line 2572 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 437:
-#line 1518 "dhcp4_parser.yy" // lalr1.cc:859
+  case 436:
+#line 1517 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("control-socket", m);
@@ -2582,8 +2582,8 @@ namespace isc { namespace dhcp {
 #line 2583 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 438:
-#line 1523 "dhcp4_parser.yy" // lalr1.cc:859
+  case 437:
+#line 1522 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2591,16 +2591,16 @@ namespace isc { namespace dhcp {
 #line 2592 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 443:
-#line 1536 "dhcp4_parser.yy" // lalr1.cc:859
+  case 442:
+#line 1535 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2600 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 444:
-#line 1538 "dhcp4_parser.yy" // lalr1.cc:859
+  case 443:
+#line 1537 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr stype(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("socket-type", stype);
@@ -2609,16 +2609,16 @@ namespace isc { namespace dhcp {
 #line 2610 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 445:
-#line 1544 "dhcp4_parser.yy" // lalr1.cc:859
+  case 444:
+#line 1543 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2618 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 446:
-#line 1546 "dhcp4_parser.yy" // lalr1.cc:859
+  case 445:
+#line 1545 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("socket-name", name);
@@ -2627,8 +2627,8 @@ namespace isc { namespace dhcp {
 #line 2628 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 447:
-#line 1554 "dhcp4_parser.yy" // lalr1.cc:859
+  case 446:
+#line 1553 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("dhcp-ddns", m);
@@ -2638,8 +2638,8 @@ namespace isc { namespace dhcp {
 #line 2639 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 448:
-#line 1559 "dhcp4_parser.yy" // lalr1.cc:859
+  case 447:
+#line 1558 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2647,8 +2647,8 @@ namespace isc { namespace dhcp {
 #line 2648 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 449:
-#line 1564 "dhcp4_parser.yy" // lalr1.cc:859
+  case 448:
+#line 1563 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // Parse the dhcp-ddns map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2657,16 +2657,16 @@ namespace isc { namespace dhcp {
 #line 2658 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 450:
-#line 1568 "dhcp4_parser.yy" // lalr1.cc:859
+  case 449:
+#line 1567 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // parsing completed
 }
 #line 2666 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 468:
-#line 1593 "dhcp4_parser.yy" // lalr1.cc:859
+  case 467:
+#line 1592 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("enable-updates", b);
@@ -2674,16 +2674,16 @@ namespace isc { namespace dhcp {
 #line 2675 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 469:
-#line 1598 "dhcp4_parser.yy" // lalr1.cc:859
+  case 468:
+#line 1597 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2683 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 470:
-#line 1600 "dhcp4_parser.yy" // lalr1.cc:859
+  case 469:
+#line 1599 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("qualifying-suffix", s);
@@ -2692,16 +2692,16 @@ namespace isc { namespace dhcp {
 #line 2693 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 471:
-#line 1606 "dhcp4_parser.yy" // lalr1.cc:859
+  case 470:
+#line 1605 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2701 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 472:
-#line 1608 "dhcp4_parser.yy" // lalr1.cc:859
+  case 471:
+#line 1607 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-ip", s);
@@ -2710,8 +2710,8 @@ namespace isc { namespace dhcp {
 #line 2711 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 473:
-#line 1614 "dhcp4_parser.yy" // lalr1.cc:859
+  case 472:
+#line 1613 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-port", i);
@@ -2719,16 +2719,16 @@ namespace isc { namespace dhcp {
 #line 2720 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 474:
-#line 1619 "dhcp4_parser.yy" // lalr1.cc:859
+  case 473:
+#line 1618 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2728 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 475:
-#line 1621 "dhcp4_parser.yy" // lalr1.cc:859
+  case 474:
+#line 1620 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("sender-ip", s);
@@ -2737,8 +2737,8 @@ namespace isc { namespace dhcp {
 #line 2738 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 476:
-#line 1627 "dhcp4_parser.yy" // lalr1.cc:859
+  case 475:
+#line 1626 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("sender-port", i);
@@ -2746,8 +2746,8 @@ namespace isc { namespace dhcp {
 #line 2747 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 477:
-#line 1632 "dhcp4_parser.yy" // lalr1.cc:859
+  case 476:
+#line 1631 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("max-queue-size", i);
@@ -2755,16 +2755,16 @@ namespace isc { namespace dhcp {
 #line 2756 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 478:
-#line 1637 "dhcp4_parser.yy" // lalr1.cc:859
+  case 477:
+#line 1636 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NCR_PROTOCOL);
 }
 #line 2764 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 479:
-#line 1639 "dhcp4_parser.yy" // lalr1.cc:859
+  case 478:
+#line 1638 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2772,28 +2772,28 @@ namespace isc { namespace dhcp {
 #line 2773 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 480:
-#line 1645 "dhcp4_parser.yy" // lalr1.cc:859
+  case 479:
+#line 1644 "dhcp4_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
 #line 2779 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 481:
-#line 1646 "dhcp4_parser.yy" // lalr1.cc:859
+  case 480:
+#line 1645 "dhcp4_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
 #line 2785 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 482:
-#line 1649 "dhcp4_parser.yy" // lalr1.cc:859
+  case 481:
+#line 1648 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NCR_FORMAT);
 }
 #line 2793 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 483:
-#line 1651 "dhcp4_parser.yy" // lalr1.cc:859
+  case 482:
+#line 1650 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ncr-format", json);
@@ -2802,8 +2802,8 @@ namespace isc { namespace dhcp {
 #line 2803 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 484:
-#line 1657 "dhcp4_parser.yy" // lalr1.cc:859
+  case 483:
+#line 1656 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("always-include-fqdn", b);
@@ -2811,8 +2811,8 @@ namespace isc { namespace dhcp {
 #line 2812 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 485:
-#line 1662 "dhcp4_parser.yy" // lalr1.cc:859
+  case 484:
+#line 1661 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("override-no-update", b);
@@ -2820,8 +2820,8 @@ namespace isc { namespace dhcp {
 #line 2821 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 486:
-#line 1667 "dhcp4_parser.yy" // lalr1.cc:859
+  case 485:
+#line 1666 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("override-client-update", b);
@@ -2829,16 +2829,16 @@ namespace isc { namespace dhcp {
 #line 2830 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 487:
-#line 1672 "dhcp4_parser.yy" // lalr1.cc:859
+  case 486:
+#line 1671 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.REPLACE_CLIENT_NAME);
 }
 #line 2838 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 488:
-#line 1674 "dhcp4_parser.yy" // lalr1.cc:859
+  case 487:
+#line 1673 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2846,40 +2846,40 @@ namespace isc { namespace dhcp {
 #line 2847 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 489:
-#line 1680 "dhcp4_parser.yy" // lalr1.cc:859
+  case 488:
+#line 1679 "dhcp4_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); 
       }
 #line 2855 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 490:
-#line 1683 "dhcp4_parser.yy" // lalr1.cc:859
+  case 489:
+#line 1682 "dhcp4_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
       }
 #line 2863 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 491:
-#line 1686 "dhcp4_parser.yy" // lalr1.cc:859
+  case 490:
+#line 1685 "dhcp4_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
       }
 #line 2871 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 492:
-#line 1689 "dhcp4_parser.yy" // lalr1.cc:859
+  case 491:
+#line 1688 "dhcp4_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
       }
 #line 2879 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 493:
-#line 1692 "dhcp4_parser.yy" // lalr1.cc:859
+  case 492:
+#line 1691 "dhcp4_parser.yy" // lalr1.cc:859
     {
       error(yystack_[0].location, "boolean values for the replace-client-name are "
                 "no longer supported");
@@ -2887,16 +2887,16 @@ namespace isc { namespace dhcp {
 #line 2888 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 494:
-#line 1698 "dhcp4_parser.yy" // lalr1.cc:859
+  case 493:
+#line 1697 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2896 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 495:
-#line 1700 "dhcp4_parser.yy" // lalr1.cc:859
+  case 494:
+#line 1699 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("generated-prefix", s);
@@ -2905,16 +2905,16 @@ namespace isc { namespace dhcp {
 #line 2906 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 496:
-#line 1708 "dhcp4_parser.yy" // lalr1.cc:859
+  case 495:
+#line 1707 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2914 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 497:
-#line 1710 "dhcp4_parser.yy" // lalr1.cc:859
+  case 496:
+#line 1709 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("Dhcp6", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2922,16 +2922,16 @@ namespace isc { namespace dhcp {
 #line 2923 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 498:
-#line 1715 "dhcp4_parser.yy" // lalr1.cc:859
+  case 497:
+#line 1714 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2931 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 499:
-#line 1717 "dhcp4_parser.yy" // lalr1.cc:859
+  case 498:
+#line 1716 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2939,16 +2939,16 @@ namespace isc { namespace dhcp {
 #line 2940 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 500:
-#line 1722 "dhcp4_parser.yy" // lalr1.cc:859
+  case 499:
+#line 1721 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2948 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 501:
-#line 1724 "dhcp4_parser.yy" // lalr1.cc:859
+  case 500:
+#line 1723 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("Control-agent", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2956,8 +2956,8 @@ namespace isc { namespace dhcp {
 #line 2957 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 502:
-#line 1734 "dhcp4_parser.yy" // lalr1.cc:859
+  case 501:
+#line 1733 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("Logging", m);
@@ -2967,8 +2967,8 @@ namespace isc { namespace dhcp {
 #line 2968 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 503:
-#line 1739 "dhcp4_parser.yy" // lalr1.cc:859
+  case 502:
+#line 1738 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2976,8 +2976,8 @@ namespace isc { namespace dhcp {
 #line 2977 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 507:
-#line 1756 "dhcp4_parser.yy" // lalr1.cc:859
+  case 506:
+#line 1755 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("loggers", l);
@@ -2987,8 +2987,8 @@ namespace isc { namespace dhcp {
 #line 2988 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 508:
-#line 1761 "dhcp4_parser.yy" // lalr1.cc:859
+  case 507:
+#line 1760 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2996,8 +2996,8 @@ namespace isc { namespace dhcp {
 #line 2997 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 511:
-#line 1773 "dhcp4_parser.yy" // lalr1.cc:859
+  case 510:
+#line 1772 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(l);
@@ -3006,16 +3006,16 @@ namespace isc { namespace dhcp {
 #line 3007 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 512:
-#line 1777 "dhcp4_parser.yy" // lalr1.cc:859
+  case 511:
+#line 1776 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 3015 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 520:
-#line 1792 "dhcp4_parser.yy" // lalr1.cc:859
+  case 519:
+#line 1791 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("debuglevel", dl);
@@ -3023,16 +3023,16 @@ namespace isc { namespace dhcp {
 #line 3024 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 521:
-#line 1797 "dhcp4_parser.yy" // lalr1.cc:859
+  case 520:
+#line 1796 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3032 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 522:
-#line 1799 "dhcp4_parser.yy" // lalr1.cc:859
+  case 521:
+#line 1798 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("severity", sev);
@@ -3041,8 +3041,8 @@ namespace isc { namespace dhcp {
 #line 3042 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 523:
-#line 1805 "dhcp4_parser.yy" // lalr1.cc:859
+  case 522:
+#line 1804 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output_options", l);
@@ -3052,8 +3052,8 @@ namespace isc { namespace dhcp {
 #line 3053 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 524:
-#line 1810 "dhcp4_parser.yy" // lalr1.cc:859
+  case 523:
+#line 1809 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -3061,8 +3061,8 @@ namespace isc { namespace dhcp {
 #line 3062 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 527:
-#line 1819 "dhcp4_parser.yy" // lalr1.cc:859
+  case 526:
+#line 1818 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -3071,24 +3071,24 @@ namespace isc { namespace dhcp {
 #line 3072 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 528:
-#line 1823 "dhcp4_parser.yy" // lalr1.cc:859
+  case 527:
+#line 1822 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 3080 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 535:
-#line 1837 "dhcp4_parser.yy" // lalr1.cc:859
+  case 534:
+#line 1836 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3088 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 536:
-#line 1839 "dhcp4_parser.yy" // lalr1.cc:859
+  case 535:
+#line 1838 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output", sev);
@@ -3097,8 +3097,8 @@ namespace isc { namespace dhcp {
 #line 3098 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 537:
-#line 1845 "dhcp4_parser.yy" // lalr1.cc:859
+  case 536:
+#line 1844 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("flush", flush);
@@ -3106,8 +3106,8 @@ namespace isc { namespace dhcp {
 #line 3107 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 538:
-#line 1850 "dhcp4_parser.yy" // lalr1.cc:859
+  case 537:
+#line 1849 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr maxsize(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxsize", maxsize);
@@ -3115,8 +3115,8 @@ namespace isc { namespace dhcp {
 #line 3116 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 539:
-#line 1855 "dhcp4_parser.yy" // lalr1.cc:859
+  case 538:
+#line 1854 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr maxver(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxver", maxver);
@@ -3380,101 +3380,101 @@ namespace isc { namespace dhcp {
   }
 
 
-  const short int Dhcp4Parser::yypact_ninf_ = -673;
+  const short int Dhcp4Parser::yypact_ninf_ = -678;
 
   const signed char Dhcp4Parser::yytable_ninf_ = -1;
 
   const short int
   Dhcp4Parser::yypact_[] =
   {
-     217,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,    28,    20,    32,    55,    76,    87,   116,   126,
-     132,   152,   159,   183,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,  -673,  -673,  -673,    20,   -91,    16,    26,
-      80,    13,   143,   106,   118,    50,   -30,   235,  -673,    58,
-     148,   105,   197,   204,  -673,  -673,  -673,  -673,  -673,   211,
-    -673,    27,  -673,  -673,  -673,  -673,  -673,  -673,  -673,   223,
-     234,  -673,  -673,  -673,   240,   251,   273,   274,  -673,  -673,
-    -673,  -673,  -673,  -673,  -673,  -673,   282,  -673,  -673,  -673,
-      78,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,  -673,  -673,   291,   114,  -673,  -673,  -673,
-    -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,   292,
-     295,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-     128,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,   169,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,  -673,  -673,  -673,  -673,   260,   239,  -673,
-    -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,   299,  -673,  -673,  -673,   300,  -673,  -673,
-     267,   302,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,   303,   304,  -673,  -673,  -673,  -673,   305,
-     307,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,   173,  -673,  -673,  -673,   308,  -673,  -673,   317,  -673,
-     318,   319,  -673,  -673,   320,   321,   322,  -673,  -673,  -673,
-     203,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,  -673,  -673,  -673,  -673,    20,    20,  -673,
-     185,   324,   325,   327,   328,   355,  -673,    16,  -673,   359,
-     219,   221,   361,   363,   364,   226,   227,   228,   229,   369,
-     370,   371,   372,   374,   375,   376,   377,   241,   378,   379,
-      26,  -673,   381,   382,   242,    80,  -673,    70,   384,   385,
-     386,   387,   388,   389,   390,   252,   253,   392,   393,   395,
-     396,    13,  -673,   397,   398,   143,  -673,   399,   400,   401,
-     402,   403,   404,   405,   406,   407,   408,  -673,   106,   409,
-     410,   272,   412,   413,   414,   275,  -673,   118,   415,   276,
-     277,  -673,    50,   419,   420,   -15,  -673,   280,   422,   423,
-     285,   425,   287,   288,   428,   429,   289,   290,   293,   432,
-     433,   235,  -673,  -673,  -673,   435,   434,   437,    20,    20,
-      20,  -673,   438,  -673,  -673,   298,   439,   440,  -673,  -673,
-    -673,  -673,   445,   446,   449,   450,   451,   452,   453,   454,
-    -673,   455,   456,  -673,   459,   165,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,  -673,  -673,   457,   463,  -673,  -673,  -673,
-     326,   330,   331,   464,   332,   333,   334,  -673,  -673,   247,
-     335,   465,   472,  -673,   338,   474,  -673,   340,   341,   459,
-     342,   343,   345,   346,   347,   348,   349,  -673,   350,   351,
-    -673,   352,   353,   354,  -673,  -673,   356,  -673,  -673,  -673,
-     357,    20,  -673,  -673,   358,   360,  -673,   362,  -673,  -673,
-      21,   383,  -673,  -673,  -673,   102,   365,  -673,    20,    26,
-     391,  -673,  -673,  -673,    80,  -673,   164,   164,   494,   496,
-     498,   499,   175,    31,   501,   144,   133,   235,  -673,  -673,
-    -673,  -673,  -673,   505,  -673,    70,  -673,  -673,  -673,   503,
-    -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,   506,   431,
-    -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,  -673,  -673,  -673,   206,  -673,   218,  -673,
-    -673,   220,  -673,  -673,  -673,  -673,   508,   511,   512,   513,
-     514,  -673,  -673,  -673,   237,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,   238,  -673,
-     436,   516,  -673,  -673,   515,   517,  -673,  -673,   518,   519,
-    -673,  -673,   520,   522,  -673,  -673,  -673,  -673,  -673,  -673,
-      44,  -673,  -673,  -673,  -673,  -673,  -673,  -673,    57,  -673,
-     521,   525,  -673,   526,   527,   528,   529,   530,   531,   254,
-    -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,   255,
-    -673,  -673,  -673,   256,   394,   411,  -673,  -673,   523,   534,
-    -673,  -673,   532,   536,  -673,  -673,   533,  -673,   538,   391,
-    -673,  -673,   539,   540,   541,   542,   380,   416,   417,   418,
-     421,   543,   544,   164,  -673,  -673,    13,  -673,   494,   118,
-    -673,   496,    50,  -673,   498,    89,  -673,   499,   175,  -673,
-      31,  -673,   -30,  -673,   501,   424,   426,   427,   430,   441,
-     442,   144,  -673,   545,   546,   133,  -673,  -673,  -673,   548,
-     537,  -673,   143,  -673,   503,   106,  -673,   506,   547,  -673,
-     550,  -673,   265,   444,   447,   448,  -673,  -673,  -673,  -673,
-    -673,   458,   460,  -673,   258,  -673,   549,  -673,   551,  -673,
-    -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-     262,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,   264,
-    -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,   461,   462,
-    -673,  -673,   466,   268,  -673,   554,  -673,   467,   558,  -673,
-    -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,    89,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,    79,  -673,  -673,   101,   558,  -673,  -673,   552,
-    -673,  -673,  -673,   271,  -673,  -673,  -673,  -673,  -673,   562,
-     468,   564,   101,  -673,   553,  -673,   470,  -673,   565,  -673,
-    -673,   154,  -673,   -11,   565,  -673,  -673,   567,   570,   571,
-     281,  -673,  -673,  -673,  -673,  -673,  -673,   572,   443,   471,
-     473,   -11,  -673,   475,  -673,  -673,  -673,  -673,  -673
+      86,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,    56,    20,    32,    76,    87,   102,   109,   116,
+     124,   144,   150,   200,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,    20,   -46,    16,    26,
+     273,    13,    99,   106,   118,    50,     7,   235,  -678,   160,
+     208,   211,   220,   227,  -678,  -678,  -678,  -678,  -678,   228,
+    -678,    33,  -678,  -678,  -678,  -678,  -678,  -678,  -678,   280,
+     291,  -678,  -678,  -678,   301,   303,   304,   306,  -678,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,   308,  -678,  -678,  -678,
+      39,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,  -678,  -678,   309,    43,  -678,  -678,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,   311,
+     312,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+      52,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,    78,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,   247,   261,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,   313,  -678,  -678,  -678,   317,  -678,  -678,
+     314,   320,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,   321,   322,  -678,  -678,  -678,  -678,   316,
+     324,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,   103,  -678,  -678,  -678,   325,  -678,  -678,   327,  -678,
+     328,   344,  -678,  -678,   345,   346,   347,  -678,  -678,  -678,
+     114,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,    20,    20,  -678,
+     186,   348,   349,   350,   351,   352,  -678,    16,  -678,   353,
+     213,   214,   359,   360,   361,   223,   224,   225,   229,   365,
+     366,   367,   369,   370,   371,   372,   374,   236,   376,   377,
+      26,  -678,   378,   379,   239,   273,  -678,    70,   381,   382,
+     383,   384,   385,   386,   387,   252,   253,   388,   389,   390,
+     392,    13,  -678,   393,   395,    99,  -678,   396,   397,   398,
+     399,   400,   401,   402,   403,   404,   405,  -678,   106,   406,
+     407,   270,   408,   410,   411,   274,  -678,   118,   412,   275,
+     276,  -678,    50,   413,   414,   -15,  -678,   277,   419,   420,
+     282,   422,   284,   285,   425,   426,   286,   287,   288,   430,
+     431,   235,  -678,  -678,  -678,   432,   433,   434,    20,    20,
+      20,  -678,   435,  -678,  -678,   295,   437,   438,  -678,  -678,
+    -678,  -678,   441,   442,   445,   446,   449,   450,   451,   454,
+    -678,   455,   456,  -678,   452,   176,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,  -678,  -678,   457,   436,  -678,  -678,  -678,
+     296,   326,   330,   453,   331,   332,   333,  -678,  -678,    -6,
+     334,   459,   462,  -678,   335,   463,  -678,   337,   338,   452,
+     339,   340,   341,   342,   343,   354,   355,  -678,   356,   357,
+    -678,   358,   362,   363,  -678,  -678,   364,  -678,  -678,  -678,
+     368,    20,  -678,  -678,   373,   375,  -678,   380,  -678,  -678,
+      35,   394,  -678,  -678,  -678,    88,   391,  -678,    20,    26,
+     409,  -678,  -678,  -678,   273,  -678,   164,   164,   480,   481,
+     482,   483,   159,    31,   484,   154,   207,   235,  -678,  -678,
+    -678,  -678,  -678,   488,  -678,    70,  -678,  -678,  -678,   486,
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,   487,   418,
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,   169,  -678,   206,  -678,
+    -678,   226,  -678,  -678,  -678,  -678,   491,   498,   499,   503,
+     505,  -678,  -678,  -678,   248,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,   249,  -678,
+     460,   508,  -678,  -678,   506,   510,  -678,  -678,   512,   511,
+    -678,  -678,   513,   517,  -678,  -678,  -678,  -678,  -678,  -678,
+      79,  -678,  -678,  -678,  -678,  -678,  -678,  -678,   147,  -678,
+     515,   520,  -678,   521,   522,   523,   524,   526,   527,   250,
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,   251,
+    -678,  -678,  -678,   258,   415,   416,  -678,  -678,   518,   529,
+    -678,  -678,   528,   532,  -678,  -678,   530,  -678,   533,   409,
+    -678,  -678,   535,   536,   537,   538,   417,   421,   424,   423,
+     427,   539,   540,   164,  -678,  -678,    13,  -678,   480,   118,
+    -678,   481,    50,  -678,   482,    89,  -678,   483,   159,  -678,
+      31,  -678,     7,  -678,   484,   428,   429,   439,   440,   443,
+     444,   154,  -678,   541,   542,   207,  -678,  -678,  -678,   543,
+     544,  -678,    99,  -678,   486,   106,  -678,   487,   546,  -678,
+     531,  -678,   265,   447,   448,   458,  -678,  -678,  -678,  -678,
+    -678,   461,   464,  -678,   259,  -678,   545,  -678,   547,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,   260,
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,   262,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,   465,   466,  -678,
+    -678,   467,   268,  -678,   548,  -678,   468,   509,  -678,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,    89,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,   272,  -678,  -678,    -9,   509,  -678,  -678,   550,  -678,
+    -678,  -678,   269,  -678,  -678,  -678,  -678,  -678,   555,   469,
+     557,    -9,  -678,   558,  -678,   471,  -678,   562,  -678,  -678,
+     293,  -678,    54,   562,  -678,  -678,   560,   561,   569,   271,
+    -678,  -678,  -678,  -678,  -678,  -678,   570,   470,   473,   474,
+      54,  -678,   472,  -678,  -678,  -678,  -678,  -678
   };
 
   const unsigned short int
@@ -3484,128 +3484,128 @@ namespace isc { namespace dhcp {
       20,    22,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     1,    39,    32,    28,    27,    24,
       25,    26,    31,     3,    29,    30,    52,     5,    64,     7,
-     103,     9,   211,    11,   351,    13,   371,    15,   288,    17,
-     323,    19,   176,    21,   449,    23,    41,    35,     0,     0,
-       0,     0,     0,   373,   290,   325,     0,     0,    43,     0,
-      42,     0,     0,    36,    62,   502,   496,   498,   500,     0,
+     103,     9,   211,    11,   350,    13,   370,    15,   287,    17,
+     322,    19,   176,    21,   448,    23,    41,    35,     0,     0,
+       0,     0,     0,   372,   289,   324,     0,     0,    43,     0,
+      42,     0,     0,    36,    62,   501,   495,   497,   499,     0,
       61,     0,    54,    56,    58,    59,    60,    57,    96,     0,
-       0,   390,   112,   114,     0,     0,     0,     0,   203,   280,
-     315,   256,   154,   416,   168,   187,     0,   437,   447,    89,
+       0,   389,   112,   114,     0,     0,     0,     0,   203,   279,
+     314,   256,   154,   415,   168,   187,     0,   436,   446,    89,
        0,    66,    68,    69,    70,    71,    86,    87,    74,    75,
       76,    77,    81,    82,    72,    73,    79,    80,    88,    78,
       83,    84,    85,   105,   107,     0,     0,    98,   100,   101,
-     102,   420,   237,   239,   241,   343,   235,   243,   245,     0,
-       0,   249,   247,   363,   412,   234,   215,   216,   217,   229,
+     102,   419,   237,   239,   241,   342,   235,   243,   245,     0,
+       0,   249,   247,   362,   411,   234,   215,   216,   217,   229,
        0,   213,   220,   231,   232,   233,   221,   222,   225,   227,
-     223,   224,   218,   219,   226,   230,   228,   359,   361,   358,
-     356,     0,   353,   355,   357,   392,   394,   410,   398,   400,
-     404,   402,   408,   406,   396,   389,   385,     0,   374,   375,
-     386,   387,   388,   382,   377,   383,   379,   380,   381,   384,
-     378,   305,   144,     0,   309,   307,   312,     0,   301,   302,
-       0,   291,   292,   294,   304,   295,   296,   297,   311,   298,
-     299,   300,   337,     0,     0,   335,   336,   339,   340,     0,
-     326,   327,   329,   330,   331,   332,   333,   334,   183,   185,
-     180,     0,   178,   181,   182,     0,   469,   471,     0,   474,
-       0,     0,   478,   482,     0,     0,     0,   487,   494,   467,
-       0,   451,   453,   454,   455,   456,   457,   458,   459,   460,
-     461,   462,   463,   464,   465,   466,    40,     0,     0,    33,
+     223,   224,   218,   219,   226,   230,   228,   358,   360,   357,
+     355,     0,   352,   354,   356,   391,   393,   409,   397,   399,
+     403,   401,   407,   405,   395,   388,   384,     0,   373,   374,
+     385,   386,   387,   381,   376,   382,   378,   379,   380,   383,
+     377,   304,   144,     0,   308,   306,   311,     0,   300,   301,
+       0,   290,   291,   293,   303,   294,   295,   296,   310,   297,
+     298,   299,   336,     0,     0,   334,   335,   338,   339,     0,
+     325,   326,   328,   329,   330,   331,   332,   333,   183,   185,
+     180,     0,   178,   181,   182,     0,   468,   470,     0,   473,
+       0,     0,   477,   481,     0,     0,     0,   486,   493,   466,
+       0,   450,   452,   453,   454,   455,   456,   457,   458,   459,
+     460,   461,   462,   463,   464,   465,    40,     0,     0,    33,
        0,     0,     0,     0,     0,     0,    51,     0,    53,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    65,     0,     0,     0,     0,   104,   422,     0,     0,
+       0,    65,     0,     0,     0,     0,   104,   421,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   212,     0,     0,     0,   352,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   372,     0,     0,
-       0,     0,     0,     0,     0,     0,   289,     0,     0,     0,
-       0,   324,     0,     0,     0,     0,   177,     0,     0,     0,
+       0,     0,   212,     0,     0,     0,   351,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   371,     0,     0,
+       0,     0,     0,     0,     0,     0,   288,     0,     0,     0,
+       0,   323,     0,     0,     0,     0,   177,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   450,    44,    37,     0,     0,     0,     0,     0,
+       0,     0,   449,    44,    37,     0,     0,     0,     0,     0,
        0,    55,     0,    94,    95,     0,     0,     0,    90,    91,
       92,    93,     0,     0,     0,     0,     0,     0,     0,     0,
-     436,     0,     0,    67,     0,     0,   111,    99,   434,   432,
-     433,   428,   429,   430,   431,     0,   423,   424,   426,   427,
+     435,     0,     0,    67,     0,     0,   111,    99,   433,   431,
+     432,   427,   428,   429,   430,     0,   422,   423,   425,   426,
        0,     0,     0,     0,     0,     0,     0,   254,   255,     0,
-       0,     0,     0,   214,     0,     0,   354,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   376,     0,     0,
-     303,     0,     0,     0,   314,   293,     0,   341,   342,   328,
-       0,     0,   179,   468,     0,     0,   473,     0,   476,   477,
-       0,     0,   484,   485,   486,     0,     0,   452,     0,     0,
-       0,   497,   499,   501,     0,   391,     0,     0,   205,   282,
-     317,   258,     0,     0,   170,     0,     0,     0,    45,   106,
-     109,   110,   108,     0,   421,     0,   238,   240,   242,   345,
-     236,   244,   246,   251,   252,   253,   250,   248,   365,     0,
-     360,    34,   362,   393,   395,   411,   399,   401,   405,   403,
-     409,   407,   397,   306,   145,   310,   308,   313,   338,   184,
-     186,   470,   472,   475,   480,   481,   479,   483,   489,   490,
-     491,   492,   493,   488,   495,    38,     0,   507,     0,   504,
-     506,     0,   131,   137,   139,   141,     0,     0,     0,     0,
+       0,     0,     0,   214,     0,     0,   353,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   375,     0,     0,
+     302,     0,     0,     0,   313,   292,     0,   340,   341,   327,
+       0,     0,   179,   467,     0,     0,   472,     0,   475,   476,
+       0,     0,   483,   484,   485,     0,     0,   451,     0,     0,
+       0,   496,   498,   500,     0,   390,     0,     0,   205,   281,
+     316,   258,     0,     0,   170,     0,     0,     0,    45,   106,
+     109,   110,   108,     0,   420,     0,   238,   240,   242,   344,
+     236,   244,   246,   251,   252,   253,   250,   248,   364,     0,
+     359,    34,   361,   392,   394,   410,   398,   400,   404,   402,
+     408,   406,   396,   305,   145,   309,   307,   312,   337,   184,
+     186,   469,   471,   474,   479,   480,   478,   482,   488,   489,
+     490,   491,   492,   487,   494,    38,     0,   506,     0,   503,
+     505,     0,   131,   137,   139,   141,     0,     0,     0,     0,
        0,   150,   152,   130,     0,   116,   118,   119,   120,   121,
      122,   123,   124,   125,   126,   127,   128,   129,     0,   209,
-       0,   206,   207,   286,     0,   283,   284,   321,     0,   318,
-     319,   262,     0,   259,   260,   163,   164,   165,   166,   167,
-       0,   156,   158,   159,   160,   161,   162,   418,     0,   174,
+       0,   206,   207,   285,     0,   282,   283,   320,     0,   317,
+     318,   262,     0,   259,   260,   163,   164,   165,   166,   167,
+       0,   156,   158,   159,   160,   161,   162,   417,     0,   174,
        0,   171,   172,     0,     0,     0,     0,     0,     0,     0,
-     189,   191,   192,   193,   194,   195,   196,   443,   445,     0,
-     439,   441,   442,     0,    47,     0,   425,   349,     0,   346,
-     347,   369,     0,   366,   367,   414,     0,    63,     0,     0,
-     503,    97,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   113,   115,     0,   204,     0,   290,
-     281,     0,   325,   316,     0,     0,   257,     0,     0,   155,
-       0,   417,     0,   169,     0,     0,     0,     0,     0,     0,
-       0,     0,   188,     0,     0,     0,   438,   448,    49,     0,
-      48,   435,     0,   344,     0,   373,   364,     0,     0,   413,
-       0,   505,     0,     0,     0,     0,   143,   146,   147,   148,
-     149,     0,     0,   117,     0,   208,     0,   285,     0,   320,
-     279,   278,   269,   270,   276,   272,   266,   267,   268,   275,
-       0,   264,   271,   273,   274,   277,   261,   157,   419,     0,
-     173,   197,   198,   199,   200,   201,   202,   190,     0,     0,
-     440,    46,     0,     0,   348,     0,   368,     0,     0,   133,
-     134,   135,   136,   132,   138,   140,   142,   151,   153,   210,
-     287,   322,     0,   263,   175,   444,   446,    50,   350,   370,
-     415,   511,     0,   509,   265,     0,     0,   508,   523,     0,
-     521,   519,   515,     0,   513,   517,   518,   516,   510,     0,
-       0,     0,     0,   512,     0,   520,     0,   514,     0,   522,
-     527,     0,   525,     0,     0,   524,   535,     0,     0,     0,
-       0,   529,   531,   532,   533,   534,   526,     0,     0,     0,
-       0,     0,   528,     0,   537,   538,   539,   530,   536
+     189,   191,   192,   193,   194,   195,   196,   442,   444,     0,
+     438,   440,   441,     0,    47,     0,   424,   348,     0,   345,
+     346,   368,     0,   365,   366,   413,     0,    63,     0,     0,
+     502,    97,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   113,   115,     0,   204,     0,   289,
+     280,     0,   324,   315,     0,     0,   257,     0,     0,   155,
+       0,   416,     0,   169,     0,     0,     0,     0,     0,     0,
+       0,     0,   188,     0,     0,     0,   437,   447,    49,     0,
+      48,   434,     0,   343,     0,   372,   363,     0,     0,   412,
+       0,   504,     0,     0,     0,     0,   143,   146,   147,   148,
+     149,     0,     0,   117,     0,   208,     0,   284,     0,   319,
+     278,   277,   269,   270,   272,   266,   267,   268,   275,     0,
+     264,   271,   273,   274,   276,   261,   157,   418,     0,   173,
+     197,   198,   199,   200,   201,   202,   190,     0,     0,   439,
+      46,     0,     0,   347,     0,   367,     0,     0,   133,   134,
+     135,   136,   132,   138,   140,   142,   151,   153,   210,   286,
+     321,     0,   263,   175,   443,   445,    50,   349,   369,   414,
+     510,     0,   508,   265,     0,     0,   507,   522,     0,   520,
+     518,   514,     0,   512,   516,   517,   515,   509,     0,     0,
+       0,     0,   511,     0,   519,     0,   513,     0,   521,   526,
+       0,   524,     0,     0,   523,   534,     0,     0,     0,     0,
+     528,   530,   531,   532,   533,   525,     0,     0,     0,     0,
+       0,   527,     0,   536,   537,   538,   529,   535
   };
 
   const short int
   Dhcp4Parser::yypgoto_[] =
   {
-    -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,   -38,  -673,    97,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,  -673,   119,  -673,  -673,  -673,   -58,  -673,
-    -673,  -673,   283,  -673,  -673,  -673,  -673,    82,   257,   -60,
-     -59,   -44,  -673,  -672,   -40,  -673,  -673,    75,   266,  -673,
-    -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,    85,  -111,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,   -54,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,  -673,  -673,  -673,  -125,  -673,  -673,  -673,
-    -673,  -673,  -673,  -673,  -673,  -673,  -127,  -673,  -673,  -673,
-    -119,   222,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -126,
-    -673,  -673,  -673,  -673,  -673,  -673,  -671,  -673,  -673,  -673,
-    -104,  -673,  -673,  -673,  -100,   269,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,  -673,  -665,  -673,  -673,  -673,  -494,  -673,
-    -664,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -109,
-    -673,  -673,  -213,  -673,  -673,  -673,  -673,   -96,  -673,  -673,
-    -673,   -98,  -673,   246,  -673,   -52,  -673,  -673,  -673,  -673,
-    -673,   -42,  -673,  -673,  -673,  -673,  -673,   -47,  -673,  -673,
-    -673,   -97,  -673,  -673,  -673,   -87,  -673,   248,  -673,  -673,
-    -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -128,
-    -673,  -673,  -673,  -114,   278,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,  -118,  -673,  -673,  -673,  -113,  -673,   263,
-     -39,  -673,  -317,  -673,  -315,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,  -663,  -673,  -673,  -673,  -659,  -673,  -673,  -673,
-    -673,  -673,    99,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-     -99,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,   108,
-     236,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,  -673,
-    -673,  -673,  -673,   -51,  -673,  -673,  -673,  -197,  -673,  -673,
-    -212,  -673,  -673,  -673,  -673,  -673,  -673,  -223,  -673,  -673,
-    -239,  -673,  -673,  -673,  -673,  -673
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,   -38,  -678,    93,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,  -678,    92,  -678,  -678,  -678,   -58,  -678,
+    -678,  -678,   255,  -678,  -678,  -678,  -678,    63,   256,   -60,
+     -59,   -44,  -678,  -678,   -40,  -678,  -678,    71,   254,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,    73,  -116,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,   -54,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,  -130,  -678,  -678,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,  -133,  -678,  -678,  -678,
+    -128,   210,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -129,
+    -678,  -678,  -678,  -678,  -678,  -678,  -677,  -678,  -678,  -678,
+    -110,  -678,  -678,  -678,  -105,   257,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,  -678,  -675,  -678,  -678,  -678,  -494,  -678,
+    -672,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -114,
+    -678,  -678,  -217,  -678,  -678,  -678,  -678,  -106,  -678,  -678,
+    -678,  -103,  -678,   230,  -678,   -52,  -678,  -678,  -678,  -678,
+    -678,   -42,  -678,  -678,  -678,  -678,  -678,   -47,  -678,  -678,
+    -678,  -102,  -678,  -678,  -678,  -101,  -678,   232,  -678,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -135,
+    -678,  -678,  -678,  -127,   266,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,  -119,  -678,  -678,  -678,  -115,  -678,   263,
+     -39,  -678,  -317,  -678,  -315,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,  -671,  -678,  -678,  -678,  -670,  -678,  -678,  -678,
+    -678,  -678,    94,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -100,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,   105,
+     233,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,  -678,
+    -678,  -678,  -678,   -56,  -678,  -678,  -678,  -199,  -678,  -678,
+    -214,  -678,  -678,  -678,  -678,  -678,  -678,  -225,  -678,  -678,
+    -241,  -678,  -678,  -678,  -678,  -678
   };
 
   const short int
@@ -3617,7 +3617,7 @@ namespace isc { namespace dhcp {
       58,    81,    82,    83,   291,    39,    59,   110,   111,   112,
      113,   114,   115,   116,   117,   118,   299,   136,   137,    41,
       60,   138,   322,   139,   323,   522,   140,   119,   303,   120,
-     304,   594,   595,   596,   682,   803,   597,   683,   598,   684,
+     304,   594,   595,   596,   682,   802,   597,   683,   598,   684,
      599,   685,   600,   219,   360,   602,   603,   604,   605,   606,
      691,   607,   692,   121,   313,   630,   631,   632,   633,   634,
      635,   636,   122,   315,   640,   641,   642,   712,    53,    66,
@@ -3626,7 +3626,7 @@ namespace isc { namespace dhcp {
      612,   696,    43,    61,   160,   161,   162,   332,   163,   328,
      164,   329,   165,   330,   166,   333,   167,   334,   168,   338,
      169,   337,   536,   170,   171,   125,   312,   622,   623,   624,
-     705,   770,   771,   126,   310,   614,   615,   616,   699,    49,
+     705,   769,   770,   126,   310,   614,   615,   616,   699,    49,
       64,   220,   221,   222,   223,   224,   225,   226,   359,   227,
      363,   228,   362,   229,   230,   364,   231,   127,   311,   618,
      619,   620,   702,    51,    65,   239,   240,   241,   242,   243,
@@ -3641,9 +3641,9 @@ namespace isc { namespace dhcp {
      271,   272,   273,   378,   274,   379,   275,   276,   381,   277,
      278,   279,   384,   566,   280,   385,   281,   282,   283,   284,
      389,   573,   285,   390,    84,   293,    85,   294,    86,   295,
-      87,   292,   578,   579,   580,   678,   822,   823,   825,   833,
-     834,   835,   836,   841,   837,   839,   851,   852,   853,   860,
-     861,   862,   867,   863,   864,   865
+      87,   292,   578,   579,   580,   678,   821,   822,   824,   832,
+     833,   834,   835,   840,   836,   838,   850,   851,   852,   859,
+     860,   861,   866,   862,   863,   864
   };
 
   const unsigned short int
@@ -3651,71 +3651,71 @@ namespace isc { namespace dhcp {
   {
       80,   156,   157,   155,   179,   195,   218,   235,   250,   269,
      433,   236,   434,   237,   172,   180,   196,   158,    68,   637,
-     141,   159,   175,   238,   200,    25,    74,    26,    24,    27,
-     297,    90,    91,   764,   767,   298,   564,    88,   141,    36,
-     768,   769,   774,    89,    90,    91,   775,   708,    92,    93,
-     709,    71,    94,    95,    96,   248,   249,   142,   143,   144,
-     710,   100,    38,   711,   286,    94,    95,    96,    97,    98,
+     141,   159,   175,   238,   200,    25,    74,    26,   766,    27,
+     767,    90,    91,   768,   773,   774,   297,    88,   141,    36,
+     212,   298,   320,    89,    90,    91,   325,   321,    92,    93,
+     564,   326,    94,    95,    96,   341,    24,   142,   143,   144,
+     342,   100,   533,   534,   535,    94,    95,    96,    97,    98,
      248,   249,   145,    99,   100,   146,   147,   148,   149,   150,
-     151,   320,   826,    40,   101,   827,   321,   152,   153,    91,
-     185,   186,   133,   134,    42,   154,   135,   102,   103,   212,
-     232,   213,   214,   233,   234,   152,    89,    90,    91,   288,
-     104,   856,    79,   105,   857,   858,   859,   325,   100,   212,
-     106,   107,   326,    44,   108,    91,   185,   186,    94,    95,
-      96,   341,    98,    46,   565,    75,   342,   100,   212,    48,
-     764,   767,   211,   428,    76,    77,    78,   768,   769,   774,
-     212,   287,   147,   775,   100,    79,   151,   854,    79,    50,
-     855,   103,    28,    29,    30,    31,    52,   212,    79,   213,
-     214,   154,   345,   215,   216,   217,   375,   346,   187,   520,
-     521,   376,   188,   189,   190,   191,   192,   193,   582,   194,
-      54,   100,    79,   583,   584,   585,   586,   587,   588,   589,
-     590,   591,   592,   177,   178,   289,   391,   290,   433,   320,
-     434,   392,    79,   212,   677,   296,   778,   568,   569,   570,
-     571,   679,   828,   325,   829,   830,   680,   300,   681,   657,
-     658,    79,   643,   644,   645,   646,   647,   648,   301,    80,
-     693,   693,   358,    79,   305,   694,   695,   572,    79,   393,
-     394,   625,   626,   627,   628,   306,   629,   721,   725,   391,
-      79,   341,   722,   726,   727,   812,   809,   375,   357,   429,
-     813,   345,   814,   430,   842,   366,   818,   307,   308,   843,
-     431,   156,   157,   155,   871,    79,   317,   179,   432,   872,
-     799,   800,   801,   802,   172,   324,   335,   158,   180,   336,
-     195,   159,   175,   361,   365,   367,    79,   369,   370,   218,
-     372,   196,   377,   371,   235,   533,   534,   535,   236,   200,
-     237,   380,   382,   383,   386,   387,   388,   395,   396,   397,
-     238,   398,   399,   269,   255,   256,   257,   258,   259,   260,
-     261,   262,   263,   264,   265,   266,   267,   268,     1,     2,
-       3,     4,     5,     6,     7,     8,     9,    10,    11,   400,
-     501,   502,   503,   402,   403,   405,   404,   406,   407,   408,
-     409,   410,   411,   412,   413,   414,   415,    79,   416,   417,
-     418,   419,   421,   422,   420,   424,   425,   426,   440,   441,
-     442,   443,   444,   445,   446,   447,   449,   450,   448,   451,
-     452,   454,   455,   457,   458,   459,   460,   461,   462,   463,
-     464,   465,   466,   468,   469,   470,   471,   472,   473,   476,
-     474,   477,   478,   480,   481,   483,   484,   485,   486,   487,
-     488,   489,   490,   491,   492,   493,   495,   496,   494,   498,
-     505,   499,   697,   560,   500,   504,   506,   507,   593,   593,
-     508,   509,   601,   601,   510,   511,   512,   513,   514,   269,
-     575,   515,   516,   517,   518,   524,   525,   429,   526,   529,
-     538,   430,   527,   528,   530,   531,   532,   537,   431,   539,
-     540,    26,   543,   544,   546,   547,   432,   548,   549,   550,
-     551,   552,   553,   554,   555,   556,   557,   567,   558,   559,
-     561,   609,   562,   613,   563,   617,   621,   574,   639,   665,
-     667,   577,   686,   671,   675,   687,   688,   689,   690,   698,
-     701,   700,   704,   746,   703,   707,   706,   713,   714,   733,
-     715,   716,   717,   718,   719,   720,   728,   734,   736,   737,
-     792,   739,   740,   742,   743,   744,   745,   751,   752,   788,
-     789,   797,   541,   731,   791,   798,   840,   810,   848,   811,
-     748,   747,   819,   749,   750,   821,   844,   781,   846,   782,
-     783,   868,   850,   784,   869,   870,   873,   423,   545,   581,
-     401,   576,   753,   777,   785,   786,   804,   780,   874,   805,
-     806,   427,   608,   779,   755,   787,   754,   482,   776,   824,
-     807,   756,   808,   815,   816,   757,   794,   759,   817,   820,
-     453,   845,   849,   475,   875,   758,   876,   878,   793,   796,
-     479,   467,   795,   456,   666,   663,   790,   497,   741,   838,
-     847,   866,   877,     0,     0,   593,   156,   157,   155,   601,
+     151,   345,   708,    38,   101,   709,   346,   152,   153,    91,
+     185,   186,   248,   249,    40,   154,    71,   102,   103,   212,
+     232,   213,   214,   233,   234,   152,   375,    90,    91,    42,
+     104,   376,   827,   105,   828,   829,    44,   391,   100,   212,
+     106,   107,   392,    46,   108,    91,   185,   186,    94,    95,
+      96,    48,    98,    79,   766,    75,   767,   100,   212,   768,
+     773,   774,   211,   428,    76,    77,    78,   100,   565,    79,
+     710,    50,   147,   711,   100,    79,   151,    52,    79,   177,
+     178,   103,    28,    29,    30,    31,   286,   212,    79,   213,
+     214,   154,   320,   215,   216,   217,   855,   677,   187,   856,
+     857,   858,   188,   189,   190,   191,   192,   193,   582,   194,
+     520,   521,    79,   583,   584,   585,   586,   587,   588,   589,
+     590,   591,   592,   568,   569,   570,   571,    54,   433,   679,
+     434,   287,    79,   212,   680,   288,   777,     1,     2,     3,
+       4,     5,     6,     7,     8,     9,    10,    11,   289,   325,
+     290,    79,   296,   572,   681,   625,   626,   627,   628,    80,
+     629,    79,   643,   644,   645,   646,   647,   648,    79,   393,
+     394,   693,   693,   721,   725,   357,   694,   695,   722,   726,
+      79,   391,   341,   811,   358,   375,   727,   808,   812,   429,
+     813,   345,   841,   430,   870,   825,   817,   842,   826,   871,
+     431,   156,   157,   155,   300,   133,   134,   179,   432,   135,
+     798,   799,   800,   801,   172,   301,   853,   158,   180,   854,
+     195,   159,   175,   657,   658,   305,    79,   306,   307,   218,
+     308,   196,   317,   324,   235,   335,   336,   361,   236,   200,
+     237,   365,   366,   367,   371,   369,   370,   372,   395,   377,
+     238,   380,   382,   269,   255,   256,   257,   258,   259,   260,
+     261,   262,   263,   264,   265,   266,   267,   268,   383,   386,
+     387,   388,   396,   397,   398,   399,   400,   402,   403,   404,
+     501,   502,   503,   405,   406,   407,   408,   409,   410,   412,
+     413,   414,   411,   415,   416,   417,   418,    79,   419,   420,
+     421,   422,   424,   425,   426,   440,   441,   442,   443,   444,
+     445,   446,   449,   450,   451,   447,   452,   454,   448,   455,
+     457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
+     468,   469,   471,   470,   472,   473,   476,   480,   481,   474,
+     477,   478,   483,   484,   485,   486,   487,   488,   489,   490,
+     491,   492,   493,   494,   495,   496,   498,   505,   526,   525,
+     499,   500,   504,   560,   506,   507,   508,   509,   593,   593,
+     510,   511,   601,   601,   512,   513,   514,   518,   529,   269,
+     575,   515,   516,   517,   538,   524,   697,   429,   527,   539,
+      26,   430,   528,   530,   531,   532,   537,   540,   431,   543,
+     544,   546,   547,   548,   549,   550,   432,   609,   613,   617,
+     621,   639,   665,   667,   671,   686,   551,   552,   553,   554,
+     555,   675,   687,   688,   556,   557,   558,   689,   567,   690,
+     559,   698,   700,   701,   704,   561,   820,   562,   703,   706,
+     707,   713,   563,   714,   733,   715,   716,   717,   718,   577,
+     719,   720,   734,   574,   736,   737,   797,   740,   739,   742,
+     743,   744,   745,   751,   752,   787,   788,   791,   541,   790,
+     796,   545,   401,   809,   839,   810,   818,   728,   731,   843,
+     746,   845,   576,   847,   867,   868,   747,   748,   749,   849,
+     750,   780,   781,   869,   872,   581,   423,   753,   776,   427,
+     608,   779,   782,   783,   778,   482,   784,   785,   755,   803,
+     804,   754,   786,   775,   823,   757,   756,   475,   453,   793,
+     805,   758,   759,   806,   479,   792,   807,   814,   815,   816,
+     819,   456,   844,   848,   877,   873,   874,   875,   795,   666,
+     794,   467,   663,   741,   497,   789,   837,   846,   865,   876,
+       0,     0,     0,     0,     0,   593,   156,   157,   155,   601,
        0,   218,     0,     0,   235,   761,   762,   760,   236,   172,
-     237,   766,   158,     0,   250,     0,   159,   175,   772,     0,
-     238,   763,     0,     0,     0,   765,   773,     0,     0,     0,
+     237,   765,   158,     0,   250,     0,   159,   175,   771,     0,
+     238,   763,     0,     0,     0,   764,   772,     0,     0,     0,
        0,     0,     0,     0,   179,     0,     0,   195,     0,     0,
        0,     0,     0,     0,     0,   180,     0,     0,   196,     0,
        0,     0,     0,     0,     0,     0,   200,     0,     0,     0,
@@ -3724,10 +3724,10 @@ namespace isc { namespace dhcp {
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   761,   762,   760,     0,     0,     0,   766,     0,
-       0,     0,     0,     0,     0,   772,     0,   831,   763,     0,
-       0,   832,   765,   773,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   831,     0,     0,     0,   832
+       0,   761,   762,   760,     0,     0,     0,   765,     0,     0,
+       0,     0,     0,     0,   771,     0,   830,   763,     0,     0,
+     831,   764,   772,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   830,     0,     0,     0,   831
   };
 
   const short int
@@ -3735,68 +3735,68 @@ namespace isc { namespace dhcp {
   {
       58,    61,    61,    61,    62,    63,    64,    65,    66,    67,
      327,    65,   327,    65,    61,    62,    63,    61,    56,   513,
-       7,    61,    61,    65,    63,     5,    10,     7,     0,     9,
-       3,    18,    19,   705,   705,     8,    15,    11,     7,     7,
-     705,   705,   705,    17,    18,    19,   705,     3,    22,    23,
-       6,   142,    39,    40,    41,    85,    86,    44,    45,    46,
-       3,    48,     7,     6,     6,    39,    40,    41,    42,    43,
+       7,    61,    61,    65,    63,     5,    10,     7,   705,     9,
+     705,    18,    19,   705,   705,   705,     3,    11,     7,     7,
+      49,     8,     3,    17,    18,    19,     3,     8,    22,    23,
+      15,     8,    39,    40,    41,     3,     0,    44,    45,    46,
+       8,    48,    68,    69,    70,    39,    40,    41,    42,    43,
       85,    86,    59,    47,    48,    62,    63,    64,    65,    66,
       67,     3,     3,     7,    58,     6,     8,    74,    75,    19,
-      20,    21,    12,    13,     7,    82,    16,    71,    72,    49,
-      50,    51,    52,    53,    54,    74,    17,    18,    19,     4,
-      84,   122,   142,    87,   125,   126,   127,     3,    48,    49,
+      20,    21,    85,    86,     7,    82,   142,    71,    72,    49,
+      50,    51,    52,    53,    54,    74,     3,    18,    19,     7,
+      84,     8,   121,    87,   123,   124,     7,     3,    48,    49,
       94,    95,     8,     7,    98,    19,    20,    21,    39,    40,
-      41,     3,    43,     7,   113,   119,     8,    48,    49,     7,
-     812,   812,    24,    73,   128,   129,   130,   812,   812,   812,
-      49,     3,    63,   812,    48,   142,    67,     3,   142,     7,
-       6,    72,   142,   143,   144,   145,     7,    49,   142,    51,
-      52,    82,     3,    55,    56,    57,     3,     8,    72,    14,
-      15,     8,    76,    77,    78,    79,    80,    81,    24,    83,
-       7,    48,   142,    29,    30,    31,    32,    33,    34,    35,
-      36,    37,    38,    60,    61,     8,     3,     3,   525,     3,
-     525,     8,   142,    49,     8,     4,   710,   115,   116,   117,
-     118,     3,   121,     3,   123,   124,     8,     4,     8,    96,
-      97,   142,    88,    89,    90,    91,    92,    93,     4,   297,
-       3,     3,     3,   142,     4,     8,     8,   145,   142,   287,
-     288,    76,    77,    78,    79,     4,    81,     3,     3,     3,
-     142,     3,     8,     8,     8,     3,     8,     3,     8,   327,
-       8,     3,     8,   327,     3,     8,     8,     4,     4,     8,
-     327,   341,   341,   341,     3,   142,     4,   345,   327,     8,
-      25,    26,    27,    28,   341,     4,     4,   341,   345,     4,
-     358,   341,   341,     4,     4,     3,   142,     4,     4,   367,
-       3,   358,     4,     8,   372,    68,    69,    70,   372,   358,
-     372,     4,     4,     4,     4,     4,     4,   142,     4,     4,
+      41,     7,    43,   142,   811,   119,   811,    48,    49,   811,
+     811,   811,    24,    73,   128,   129,   130,    48,   113,   142,
+       3,     7,    63,     6,    48,   142,    67,     7,   142,    60,
+      61,    72,   142,   143,   144,   145,     6,    49,   142,    51,
+      52,    82,     3,    55,    56,    57,   122,     8,    72,   125,
+     126,   127,    76,    77,    78,    79,    80,    81,    24,    83,
+      14,    15,   142,    29,    30,    31,    32,    33,    34,    35,
+      36,    37,    38,   115,   116,   117,   118,     7,   525,     3,
+     525,     3,   142,    49,     8,     4,   710,   131,   132,   133,
+     134,   135,   136,   137,   138,   139,   140,   141,     8,     3,
+       3,   142,     4,   145,     8,    76,    77,    78,    79,   297,
+      81,   142,    88,    89,    90,    91,    92,    93,   142,   287,
+     288,     3,     3,     3,     3,     8,     8,     8,     8,     8,
+     142,     3,     3,     3,     3,     3,     8,     8,     8,   327,
+       8,     3,     3,   327,     3,     3,     8,     8,     6,     8,
+     327,   341,   341,   341,     4,    12,    13,   345,   327,    16,
+      25,    26,    27,    28,   341,     4,     3,   341,   345,     6,
+     358,   341,   341,    96,    97,     4,   142,     4,     4,   367,
+       4,   358,     4,     4,   372,     4,     4,     4,   372,   358,
+     372,     4,     8,     3,     8,     4,     4,     3,   142,     4,
      372,     4,     4,   391,    99,   100,   101,   102,   103,   104,
-     105,   106,   107,   108,   109,   110,   111,   112,   131,   132,
-     133,   134,   135,   136,   137,   138,   139,   140,   141,     4,
-     398,   399,   400,     4,   145,     4,   145,     4,     4,   143,
-     143,   143,   143,     4,     4,     4,     4,   142,     4,     4,
-       4,     4,     4,     4,   143,     4,     4,   145,     4,     4,
+     105,   106,   107,   108,   109,   110,   111,   112,     4,     4,
+       4,     4,     4,     4,     4,     4,     4,     4,   145,   145,
+     398,   399,   400,     4,     4,     4,   143,   143,   143,     4,
+       4,     4,   143,     4,     4,     4,     4,   142,     4,   143,
+       4,     4,     4,     4,   145,     4,     4,     4,     4,     4,
        4,     4,     4,     4,     4,   143,     4,     4,   145,     4,
        4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
-       4,     4,     4,     4,     4,   143,     4,     4,     4,     4,
-     145,   145,   145,     4,     4,   145,     4,     4,   143,     4,
-     143,   143,     4,     4,   145,   145,     4,     4,   145,     4,
-     142,     7,     6,   481,     7,     7,     7,     7,   506,   507,
+       4,     4,     4,   143,     4,     4,     4,     4,     4,   145,
+     145,   145,   145,     4,     4,   143,     4,   143,   143,     4,
+       4,   145,   145,   145,     4,     4,     4,   142,   142,     3,
+       7,     7,     7,   481,     7,     7,     5,     5,   506,   507,
        5,     5,   506,   507,     5,     5,     5,     5,     5,   517,
-     498,     7,     7,     7,     5,     8,     3,   525,   142,     5,
-       5,   525,   142,   142,   142,   142,   142,   142,   525,     7,
-     142,     7,   142,   142,   142,   142,   525,   142,   142,   142,
-     142,   142,   142,   142,   142,   142,   142,   114,   142,   142,
-     142,     7,   142,     7,   142,     7,     7,   142,     7,     4,
-       7,   120,     4,     7,    83,     4,     4,     4,     4,     3,
-       3,     6,     3,   143,     6,     3,     6,     6,     3,     6,
-       4,     4,     4,     4,     4,     4,   142,     3,     6,     3,
-       3,     8,     4,     4,     4,     4,     4,     4,     4,     4,
-       4,     4,   455,   142,     6,     5,     4,     8,     5,     8,
-     143,   145,     8,   145,   143,     7,     4,   143,     4,   143,
-     143,     4,     7,   143,     4,     4,     4,   320,   459,   504,
-     297,   499,   693,   708,   143,   143,   142,   714,   145,   142,
-     142,   325,   507,   712,   698,   721,   696,   375,   707,   812,
-     142,   699,   142,   142,   142,   701,   734,   704,   142,   142,
-     341,   143,   142,   367,   143,   702,   143,   142,   732,   737,
-     372,   358,   735,   345,   525,   517,   725,   391,   679,   826,
-     842,   854,   871,    -1,    -1,   693,   696,   696,   696,   693,
+     498,     7,     7,     7,     5,     8,     6,   525,   142,     7,
+       7,   525,   142,   142,   142,   142,   142,   142,   525,   142,
+     142,   142,   142,   142,   142,   142,   525,     7,     7,     7,
+       7,     7,     4,     7,     7,     4,   142,   142,   142,   142,
+     142,    83,     4,     4,   142,   142,   142,     4,   114,     4,
+     142,     3,     6,     3,     3,   142,     7,   142,     6,     6,
+       3,     6,   142,     3,     6,     4,     4,     4,     4,   120,
+       4,     4,     3,   142,     6,     3,     5,     4,     8,     4,
+       4,     4,     4,     4,     4,     4,     4,     3,   455,     6,
+       4,   459,   297,     8,     4,     8,     8,   142,   142,     4,
+     143,     4,   499,     5,     4,     4,   145,   143,   145,     7,
+     143,   143,   143,     4,     4,   504,   320,   693,   708,   325,
+     507,   714,   143,   143,   712,   375,   143,   143,   698,   142,
+     142,   696,   721,   707,   811,   701,   699,   367,   341,   734,
+     142,   702,   704,   142,   372,   732,   142,   142,   142,   142,
+     142,   345,   143,   142,   142,   145,   143,   143,   737,   525,
+     735,   358,   517,   679,   391,   725,   825,   841,   853,   870,
+      -1,    -1,    -1,    -1,    -1,   693,   696,   696,   696,   693,
       -1,   699,    -1,    -1,   702,   705,   705,   705,   702,   696,
      702,   705,   696,    -1,   712,    -1,   696,   696,   705,    -1,
      702,   705,    -1,    -1,    -1,   705,   705,    -1,    -1,    -1,
@@ -3808,10 +3808,10 @@ namespace isc { namespace dhcp {
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   812,   812,   812,    -1,    -1,    -1,   812,    -1,
-      -1,    -1,    -1,    -1,    -1,   812,    -1,   825,   812,    -1,
-      -1,   825,   812,   812,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   842,    -1,    -1,    -1,   842
+      -1,   811,   811,   811,    -1,    -1,    -1,   811,    -1,    -1,
+      -1,    -1,    -1,    -1,   811,    -1,   824,   811,    -1,    -1,
+     824,   811,   811,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   841,    -1,    -1,    -1,   841
   };
 
   const unsigned short int
@@ -3893,18 +3893,18 @@ namespace isc { namespace dhcp {
      173,   142,   346,     6,     3,   360,     6,     3,   391,     8,
        4,   449,     4,     4,     4,     4,   143,   145,   143,   145,
      143,     4,     4,   208,   270,   266,   307,   303,   331,   327,
-     174,   185,   186,   187,   189,   190,   219,   262,   280,   286,
-     297,   298,   323,   366,   388,   392,   295,   232,   284,   246,
-     242,   143,   143,   143,   143,   143,   143,   255,     4,     4,
-     406,     6,     3,   349,   345,   363,   359,     4,     5,    25,
-      26,    27,    28,   211,   142,   142,   142,   142,   142,     8,
-       8,     8,     3,     8,     8,   142,   142,   142,     8,     8,
-     142,     7,   452,   453,   298,   454,     3,     6,   121,   123,
-     124,   174,   219,   455,   456,   457,   458,   460,   453,   461,
-       4,   459,     3,     8,     4,   143,     4,   456,     5,   142,
-       7,   462,   463,   464,     3,     6,   122,   125,   126,   127,
-     465,   466,   467,   469,   470,   471,   463,   468,     4,     4,
-       4,     3,     8,     4,   145,   143,   143,   466,   142
+     174,   185,   186,   187,   190,   219,   262,   280,   286,   297,
+     298,   323,   366,   388,   392,   295,   232,   284,   246,   242,
+     143,   143,   143,   143,   143,   143,   255,     4,     4,   406,
+       6,     3,   349,   345,   363,   359,     4,     5,    25,    26,
+      27,    28,   211,   142,   142,   142,   142,   142,     8,     8,
+       8,     3,     8,     8,   142,   142,   142,     8,     8,   142,
+       7,   452,   453,   298,   454,     3,     6,   121,   123,   124,
+     174,   219,   455,   456,   457,   458,   460,   453,   461,     4,
+     459,     3,     8,     4,   143,     4,   456,     5,   142,     7,
+     462,   463,   464,     3,     6,   122,   125,   126,   127,   465,
+     466,   467,   469,   470,   471,   463,   468,     4,     4,     4,
+       3,     8,     4,   145,   143,   143,   466,   142
   };
 
   const unsigned short int
@@ -3937,33 +3937,33 @@ namespace isc { namespace dhcp {
      276,   279,   278,   281,   280,   283,   282,   285,   284,   287,
      286,   288,   288,   288,   289,   290,   292,   291,   293,   293,
      294,   294,   296,   295,   297,   297,   298,   298,   298,   298,
-     298,   298,   298,   298,   298,   298,   298,   298,   298,   298,
-     300,   299,   301,   301,   302,   302,   304,   303,   306,   305,
-     307,   307,   308,   308,   309,   309,   309,   309,   309,   309,
-     309,   309,   310,   311,   312,   314,   313,   316,   315,   318,
-     317,   319,   321,   320,   322,   324,   323,   325,   325,   326,
-     326,   328,   327,   330,   329,   331,   331,   332,   332,   333,
-     333,   333,   333,   333,   333,   333,   334,   336,   335,   337,
-     338,   339,   340,   342,   341,   343,   343,   344,   344,   346,
-     345,   348,   347,   349,   349,   350,   350,   350,   350,   352,
-     351,   354,   353,   356,   355,   357,   357,   358,   358,   360,
-     359,   362,   361,   363,   363,   364,   364,   365,   365,   365,
-     365,   365,   365,   365,   365,   365,   365,   365,   365,   365,
-     367,   366,   369,   368,   371,   370,   373,   372,   375,   374,
-     377,   376,   379,   378,   381,   380,   383,   382,   385,   384,
-     387,   386,   389,   388,   391,   390,   393,   392,   394,   394,
-     395,   284,   396,   396,   397,   397,   398,   398,   398,   398,
-     398,   398,   398,   399,   401,   400,   402,   404,   403,   405,
-     405,   406,   406,   408,   407,   410,   409,   412,   411,   414,
-     413,   415,   415,   416,   416,   416,   416,   416,   416,   416,
-     416,   416,   416,   416,   416,   416,   416,   416,   417,   419,
-     418,   421,   420,   422,   424,   423,   425,   426,   428,   427,
-     429,   429,   431,   430,   432,   433,   434,   436,   435,   437,
-     437,   437,   437,   437,   439,   438,   441,   440,   443,   442,
-     445,   444,   447,   446,   448,   448,   449,   451,   450,   452,
-     452,   454,   453,   455,   455,   456,   456,   456,   456,   456,
-     457,   459,   458,   461,   460,   462,   462,   464,   463,   465,
-     465,   466,   466,   466,   466,   468,   467,   469,   470,   471
+     298,   298,   298,   298,   298,   298,   298,   298,   298,   300,
+     299,   301,   301,   302,   302,   304,   303,   306,   305,   307,
+     307,   308,   308,   309,   309,   309,   309,   309,   309,   309,
+     309,   310,   311,   312,   314,   313,   316,   315,   318,   317,
+     319,   321,   320,   322,   324,   323,   325,   325,   326,   326,
+     328,   327,   330,   329,   331,   331,   332,   332,   333,   333,
+     333,   333,   333,   333,   333,   334,   336,   335,   337,   338,
+     339,   340,   342,   341,   343,   343,   344,   344,   346,   345,
+     348,   347,   349,   349,   350,   350,   350,   350,   352,   351,
+     354,   353,   356,   355,   357,   357,   358,   358,   360,   359,
+     362,   361,   363,   363,   364,   364,   365,   365,   365,   365,
+     365,   365,   365,   365,   365,   365,   365,   365,   365,   367,
+     366,   369,   368,   371,   370,   373,   372,   375,   374,   377,
+     376,   379,   378,   381,   380,   383,   382,   385,   384,   387,
+     386,   389,   388,   391,   390,   393,   392,   394,   394,   395,
+     284,   396,   396,   397,   397,   398,   398,   398,   398,   398,
+     398,   398,   399,   401,   400,   402,   404,   403,   405,   405,
+     406,   406,   408,   407,   410,   409,   412,   411,   414,   413,
+     415,   415,   416,   416,   416,   416,   416,   416,   416,   416,
+     416,   416,   416,   416,   416,   416,   416,   417,   419,   418,
+     421,   420,   422,   424,   423,   425,   426,   428,   427,   429,
+     429,   431,   430,   432,   433,   434,   436,   435,   437,   437,
+     437,   437,   437,   439,   438,   441,   440,   443,   442,   445,
+     444,   447,   446,   448,   448,   449,   451,   450,   452,   452,
+     454,   453,   455,   455,   456,   456,   456,   456,   456,   457,
+     459,   458,   461,   460,   462,   462,   464,   463,   465,   465,
+     466,   466,   466,   466,   468,   467,   469,   470,   471
   };
 
   const unsigned char
@@ -3996,33 +3996,33 @@ namespace isc { namespace dhcp {
        4,     0,     4,     0,     4,     0,     4,     0,     4,     0,
        4,     1,     1,     1,     3,     3,     0,     6,     0,     1,
        1,     3,     0,     4,     1,     3,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       0,     6,     0,     1,     1,     3,     0,     4,     0,     4,
-       0,     1,     1,     3,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     3,     1,     0,     4,     0,     4,     0,
-       4,     1,     0,     4,     3,     0,     6,     0,     1,     1,
-       3,     0,     4,     0,     4,     0,     1,     1,     3,     1,
-       1,     1,     1,     1,     1,     1,     1,     0,     4,     1,
-       1,     3,     3,     0,     6,     0,     1,     1,     3,     0,
-       4,     0,     4,     1,     3,     1,     1,     1,     1,     0,
-       4,     0,     4,     0,     6,     0,     1,     1,     3,     0,
-       4,     0,     4,     0,     1,     1,     3,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       0,     4,     0,     4,     0,     4,     0,     4,     0,     4,
-       0,     4,     0,     4,     0,     4,     0,     4,     0,     4,
-       0,     4,     0,     6,     0,     4,     0,     6,     1,     3,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
+       6,     0,     1,     1,     3,     0,     4,     0,     4,     0,
+       1,     1,     3,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     3,     1,     0,     4,     0,     4,     0,     4,
+       1,     0,     4,     3,     0,     6,     0,     1,     1,     3,
+       0,     4,     0,     4,     0,     1,     1,     3,     1,     1,
+       1,     1,     1,     1,     1,     1,     0,     4,     1,     1,
+       3,     3,     0,     6,     0,     1,     1,     3,     0,     4,
+       0,     4,     1,     3,     1,     1,     1,     1,     0,     4,
+       0,     4,     0,     6,     0,     1,     1,     3,     0,     4,
        0,     4,     0,     1,     1,     3,     1,     1,     1,     1,
-       1,     1,     1,     1,     0,     4,     3,     0,     6,     1,
-       3,     1,     1,     0,     4,     0,     4,     0,     6,     0,
-       4,     1,     3,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     3,     0,
-       4,     0,     4,     3,     0,     4,     3,     3,     0,     4,
-       1,     1,     0,     4,     3,     3,     3,     0,     4,     1,
-       1,     1,     1,     1,     0,     4,     0,     4,     0,     4,
-       0,     4,     0,     6,     1,     3,     1,     0,     6,     1,
-       3,     0,     4,     1,     3,     1,     1,     1,     1,     1,
-       3,     0,     4,     0,     6,     1,     3,     0,     4,     1,
-       3,     1,     1,     1,     1,     0,     4,     3,     3,     3
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
+       4,     0,     4,     0,     4,     0,     4,     0,     4,     0,
+       4,     0,     4,     0,     4,     0,     4,     0,     4,     0,
+       4,     0,     6,     0,     4,     0,     6,     1,     3,     0,
+       4,     0,     1,     1,     3,     1,     1,     1,     1,     1,
+       1,     1,     1,     0,     4,     3,     0,     6,     1,     3,
+       1,     1,     0,     4,     0,     4,     0,     6,     0,     4,
+       1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     3,     0,     4,
+       0,     4,     3,     0,     4,     3,     3,     0,     4,     1,
+       1,     0,     4,     3,     3,     3,     0,     4,     1,     1,
+       1,     1,     1,     0,     4,     0,     4,     0,     4,     0,
+       4,     0,     6,     1,     3,     1,     0,     6,     1,     3,
+       0,     4,     1,     3,     1,     1,     1,     1,     1,     3,
+       0,     4,     0,     6,     1,     3,     0,     4,     1,     3,
+       1,     1,     1,     1,     0,     4,     3,     3,     3
   };
 
 
@@ -4185,33 +4185,33 @@ namespace isc { namespace dhcp {
      899,   907,   907,   915,   915,   923,   923,   931,   931,   939,
      939,   946,   947,   948,   951,   956,   963,   963,   974,   975,
      979,   980,   983,   983,   991,   992,   995,   996,   997,   998,
-     999,  1000,  1001,  1002,  1003,  1004,  1005,  1006,  1007,  1008,
-    1015,  1015,  1027,  1028,  1031,  1032,  1037,  1037,  1048,  1048,
-    1058,  1059,  1062,  1063,  1066,  1067,  1068,  1069,  1070,  1071,
-    1072,  1073,  1076,  1078,  1083,  1085,  1085,  1093,  1093,  1101,
-    1101,  1109,  1111,  1111,  1119,  1128,  1128,  1140,  1141,  1146,
-    1147,  1152,  1152,  1163,  1163,  1174,  1175,  1180,  1181,  1186,
-    1187,  1188,  1189,  1190,  1191,  1192,  1195,  1197,  1197,  1205,
-    1207,  1209,  1214,  1222,  1222,  1234,  1235,  1238,  1239,  1242,
-    1242,  1250,  1250,  1258,  1259,  1262,  1263,  1264,  1265,  1268,
-    1268,  1276,  1276,  1286,  1286,  1296,  1297,  1300,  1301,  1304,
-    1304,  1312,  1312,  1320,  1321,  1324,  1325,  1329,  1330,  1331,
-    1332,  1333,  1334,  1335,  1336,  1337,  1338,  1339,  1340,  1341,
-    1344,  1344,  1352,  1352,  1360,  1360,  1368,  1368,  1376,  1376,
-    1384,  1384,  1392,  1392,  1400,  1400,  1408,  1408,  1416,  1416,
-    1424,  1424,  1437,  1437,  1447,  1447,  1458,  1458,  1468,  1469,
-    1472,  1472,  1480,  1481,  1484,  1485,  1488,  1489,  1490,  1491,
-    1492,  1493,  1494,  1497,  1499,  1499,  1511,  1518,  1518,  1528,
-    1529,  1532,  1533,  1536,  1536,  1544,  1544,  1554,  1554,  1564,
-    1564,  1572,  1573,  1576,  1577,  1578,  1579,  1580,  1581,  1582,
-    1583,  1584,  1585,  1586,  1587,  1588,  1589,  1590,  1593,  1598,
-    1598,  1606,  1606,  1614,  1619,  1619,  1627,  1632,  1637,  1637,
-    1645,  1646,  1649,  1649,  1657,  1662,  1667,  1672,  1672,  1680,
-    1683,  1686,  1689,  1692,  1698,  1698,  1708,  1708,  1715,  1715,
-    1722,  1722,  1734,  1734,  1747,  1748,  1752,  1756,  1756,  1768,
-    1769,  1773,  1773,  1781,  1782,  1785,  1786,  1787,  1788,  1789,
-    1792,  1797,  1797,  1805,  1805,  1815,  1816,  1819,  1819,  1827,
-    1828,  1831,  1832,  1833,  1834,  1837,  1837,  1845,  1850,  1855
+     999,  1000,  1001,  1002,  1003,  1004,  1005,  1006,  1007,  1014,
+    1014,  1026,  1027,  1030,  1031,  1036,  1036,  1047,  1047,  1057,
+    1058,  1061,  1062,  1065,  1066,  1067,  1068,  1069,  1070,  1071,
+    1072,  1075,  1077,  1082,  1084,  1084,  1092,  1092,  1100,  1100,
+    1108,  1110,  1110,  1118,  1127,  1127,  1139,  1140,  1145,  1146,
+    1151,  1151,  1162,  1162,  1173,  1174,  1179,  1180,  1185,  1186,
+    1187,  1188,  1189,  1190,  1191,  1194,  1196,  1196,  1204,  1206,
+    1208,  1213,  1221,  1221,  1233,  1234,  1237,  1238,  1241,  1241,
+    1249,  1249,  1257,  1258,  1261,  1262,  1263,  1264,  1267,  1267,
+    1275,  1275,  1285,  1285,  1295,  1296,  1299,  1300,  1303,  1303,
+    1311,  1311,  1319,  1320,  1323,  1324,  1328,  1329,  1330,  1331,
+    1332,  1333,  1334,  1335,  1336,  1337,  1338,  1339,  1340,  1343,
+    1343,  1351,  1351,  1359,  1359,  1367,  1367,  1375,  1375,  1383,
+    1383,  1391,  1391,  1399,  1399,  1407,  1407,  1415,  1415,  1423,
+    1423,  1436,  1436,  1446,  1446,  1457,  1457,  1467,  1468,  1471,
+    1471,  1479,  1480,  1483,  1484,  1487,  1488,  1489,  1490,  1491,
+    1492,  1493,  1496,  1498,  1498,  1510,  1517,  1517,  1527,  1528,
+    1531,  1532,  1535,  1535,  1543,  1543,  1553,  1553,  1563,  1563,
+    1571,  1572,  1575,  1576,  1577,  1578,  1579,  1580,  1581,  1582,
+    1583,  1584,  1585,  1586,  1587,  1588,  1589,  1592,  1597,  1597,
+    1605,  1605,  1613,  1618,  1618,  1626,  1631,  1636,  1636,  1644,
+    1645,  1648,  1648,  1656,  1661,  1666,  1671,  1671,  1679,  1682,
+    1685,  1688,  1691,  1697,  1697,  1707,  1707,  1714,  1714,  1721,
+    1721,  1733,  1733,  1746,  1747,  1751,  1755,  1755,  1767,  1768,
+    1772,  1772,  1780,  1781,  1784,  1785,  1786,  1787,  1788,  1791,
+    1796,  1796,  1804,  1804,  1814,  1815,  1818,  1818,  1826,  1827,
+    1830,  1831,  1832,  1833,  1836,  1836,  1844,  1849,  1854
   };
 
   // Print the state stack on the debug stream.
@@ -4247,7 +4247,7 @@ namespace isc { namespace dhcp {
 #line 14 "dhcp4_parser.yy" // lalr1.cc:1167
 } } // isc::dhcp
 #line 4250 "dhcp4_parser.cc" // lalr1.cc:1167
-#line 1860 "dhcp4_parser.yy" // lalr1.cc:1168
+#line 1859 "dhcp4_parser.yy" // lalr1.cc:1168
 
 
 void
index 2a51d16ebf06fa430a84e919c758384b4fe746a2..773b9157c91503f273dec48bec2a7e4ad3f4745e 100644 (file)
@@ -1385,7 +1385,7 @@ namespace isc { namespace dhcp {
     enum
     {
       yyeof_ = 0,
-      yylast_ = 788,     ///< Last index in yytable_.
+      yylast_ = 787,     ///< Last index in yytable_.
       yynnts_ = 326,  ///< Number of nonterminal symbols.
       yyfinal_ = 24, ///< Termination state number.
       yyterror_ = 1,
index 6a510696888cbe1da584fbdb7a537007229c701d..250024122794e2f16a7ce0c35560ad28272cfd27 100644 (file)
@@ -1828,8 +1828,8 @@ namespace isc { namespace dhcp {
 #line 1829 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 272:
-#line 1001 "dhcp6_parser.yy" // lalr1.cc:859
+  case 273:
+#line 1002 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("option-def", l);
@@ -1839,8 +1839,8 @@ namespace isc { namespace dhcp {
 #line 1840 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 273:
-#line 1006 "dhcp6_parser.yy" // lalr1.cc:859
+  case 274:
+#line 1007 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1848,8 +1848,8 @@ namespace isc { namespace dhcp {
 #line 1849 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 278:
-#line 1023 "dhcp6_parser.yy" // lalr1.cc:859
+  case 279:
+#line 1024 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -1858,16 +1858,16 @@ namespace isc { namespace dhcp {
 #line 1859 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 279:
-#line 1027 "dhcp6_parser.yy" // lalr1.cc:859
+  case 280:
+#line 1028 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 1867 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 280:
-#line 1034 "dhcp6_parser.yy" // lalr1.cc:859
+  case 281:
+#line 1035 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the option-def list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1876,16 +1876,16 @@ namespace isc { namespace dhcp {
 #line 1877 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 281:
-#line 1038 "dhcp6_parser.yy" // lalr1.cc:859
+  case 282:
+#line 1039 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // parsing completed
 }
 #line 1885 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 295:
-#line 1064 "dhcp6_parser.yy" // lalr1.cc:859
+  case 296:
+#line 1065 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr code(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("code", code);
@@ -1893,16 +1893,16 @@ namespace isc { namespace dhcp {
 #line 1894 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 297:
-#line 1071 "dhcp6_parser.yy" // lalr1.cc:859
+  case 298:
+#line 1072 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1902 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 298:
-#line 1073 "dhcp6_parser.yy" // lalr1.cc:859
+  case 299:
+#line 1074 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("type", prf);
@@ -1911,16 +1911,16 @@ namespace isc { namespace dhcp {
 #line 1912 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 299:
-#line 1079 "dhcp6_parser.yy" // lalr1.cc:859
+  case 300:
+#line 1080 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1920 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 300:
-#line 1081 "dhcp6_parser.yy" // lalr1.cc:859
+  case 301:
+#line 1082 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr rtypes(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("record-types", rtypes);
@@ -1929,16 +1929,16 @@ namespace isc { namespace dhcp {
 #line 1930 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 301:
-#line 1087 "dhcp6_parser.yy" // lalr1.cc:859
+  case 302:
+#line 1088 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1938 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 302:
-#line 1089 "dhcp6_parser.yy" // lalr1.cc:859
+  case 303:
+#line 1090 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr space(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("space", space);
@@ -1947,16 +1947,16 @@ namespace isc { namespace dhcp {
 #line 1948 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 304:
-#line 1097 "dhcp6_parser.yy" // lalr1.cc:859
+  case 305:
+#line 1098 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1956 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 305:
-#line 1099 "dhcp6_parser.yy" // lalr1.cc:859
+  case 306:
+#line 1100 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr encap(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("encapsulate", encap);
@@ -1965,8 +1965,8 @@ namespace isc { namespace dhcp {
 #line 1966 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 306:
-#line 1105 "dhcp6_parser.yy" // lalr1.cc:859
+  case 307:
+#line 1106 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr array(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("array", array);
@@ -1974,8 +1974,8 @@ namespace isc { namespace dhcp {
 #line 1975 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 307:
-#line 1114 "dhcp6_parser.yy" // lalr1.cc:859
+  case 308:
+#line 1115 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("option-data", l);
@@ -1985,8 +1985,8 @@ namespace isc { namespace dhcp {
 #line 1986 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 308:
-#line 1119 "dhcp6_parser.yy" // lalr1.cc:859
+  case 309:
+#line 1120 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1994,8 +1994,8 @@ namespace isc { namespace dhcp {
 #line 1995 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 313:
-#line 1138 "dhcp6_parser.yy" // lalr1.cc:859
+  case 314:
+#line 1139 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2004,16 +2004,16 @@ namespace isc { namespace dhcp {
 #line 2005 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 314:
-#line 1142 "dhcp6_parser.yy" // lalr1.cc:859
+  case 315:
+#line 1143 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 2013 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 315:
-#line 1149 "dhcp6_parser.yy" // lalr1.cc:859
+  case 316:
+#line 1150 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the option-data list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2022,24 +2022,24 @@ namespace isc { namespace dhcp {
 #line 2023 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 316:
-#line 1153 "dhcp6_parser.yy" // lalr1.cc:859
+  case 317:
+#line 1154 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // parsing completed
 }
 #line 2031 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 329:
-#line 1183 "dhcp6_parser.yy" // lalr1.cc:859
+  case 330:
+#line 1184 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2039 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 330:
-#line 1185 "dhcp6_parser.yy" // lalr1.cc:859
+  case 331:
+#line 1186 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr data(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("data", data);
@@ -2048,8 +2048,8 @@ namespace isc { namespace dhcp {
 #line 2049 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 333:
-#line 1195 "dhcp6_parser.yy" // lalr1.cc:859
+  case 334:
+#line 1196 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr space(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("csv-format", space);
@@ -2057,8 +2057,8 @@ namespace isc { namespace dhcp {
 #line 2058 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 334:
-#line 1200 "dhcp6_parser.yy" // lalr1.cc:859
+  case 335:
+#line 1201 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr persist(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("always-send", persist);
@@ -2066,8 +2066,8 @@ namespace isc { namespace dhcp {
 #line 2067 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 335:
-#line 1208 "dhcp6_parser.yy" // lalr1.cc:859
+  case 336:
+#line 1209 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pools", l);
@@ -2077,8 +2077,8 @@ namespace isc { namespace dhcp {
 #line 2078 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 336:
-#line 1213 "dhcp6_parser.yy" // lalr1.cc:859
+  case 337:
+#line 1214 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2086,8 +2086,8 @@ namespace isc { namespace dhcp {
 #line 2087 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 341:
-#line 1228 "dhcp6_parser.yy" // lalr1.cc:859
+  case 342:
+#line 1229 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2096,16 +2096,16 @@ namespace isc { namespace dhcp {
 #line 2097 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 342:
-#line 1232 "dhcp6_parser.yy" // lalr1.cc:859
+  case 343:
+#line 1233 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 2105 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 343:
-#line 1236 "dhcp6_parser.yy" // lalr1.cc:859
+  case 344:
+#line 1237 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the pool list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2114,24 +2114,24 @@ namespace isc { namespace dhcp {
 #line 2115 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 344:
-#line 1240 "dhcp6_parser.yy" // lalr1.cc:859
+  case 345:
+#line 1241 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // parsing completed
 }
 #line 2123 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 351:
-#line 1254 "dhcp6_parser.yy" // lalr1.cc:859
+  case 352:
+#line 1255 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2131 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 352:
-#line 1256 "dhcp6_parser.yy" // lalr1.cc:859
+  case 353:
+#line 1257 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr pool(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pool", pool);
@@ -2140,16 +2140,16 @@ namespace isc { namespace dhcp {
 #line 2141 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 353:
-#line 1262 "dhcp6_parser.yy" // lalr1.cc:859
+  case 354:
+#line 1263 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2149 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 354:
-#line 1264 "dhcp6_parser.yy" // lalr1.cc:859
+  case 355:
+#line 1265 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("user-context", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2157,8 +2157,8 @@ namespace isc { namespace dhcp {
 #line 2158 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 355:
-#line 1272 "dhcp6_parser.yy" // lalr1.cc:859
+  case 356:
+#line 1273 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pd-pools", l);
@@ -2168,8 +2168,8 @@ namespace isc { namespace dhcp {
 #line 2169 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 356:
-#line 1277 "dhcp6_parser.yy" // lalr1.cc:859
+  case 357:
+#line 1278 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2177,8 +2177,8 @@ namespace isc { namespace dhcp {
 #line 2178 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 361:
-#line 1292 "dhcp6_parser.yy" // lalr1.cc:859
+  case 362:
+#line 1293 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2187,16 +2187,16 @@ namespace isc { namespace dhcp {
 #line 2188 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 362:
-#line 1296 "dhcp6_parser.yy" // lalr1.cc:859
+  case 363:
+#line 1297 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 2196 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 363:
-#line 1300 "dhcp6_parser.yy" // lalr1.cc:859
+  case 364:
+#line 1301 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the pd-pool list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2205,24 +2205,24 @@ namespace isc { namespace dhcp {
 #line 2206 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 364:
-#line 1304 "dhcp6_parser.yy" // lalr1.cc:859
+  case 365:
+#line 1305 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // parsing completed
 }
 #line 2214 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 375:
-#line 1322 "dhcp6_parser.yy" // lalr1.cc:859
+  case 376:
+#line 1323 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2222 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 376:
-#line 1324 "dhcp6_parser.yy" // lalr1.cc:859
+  case 377:
+#line 1325 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("prefix", prf);
@@ -2231,8 +2231,8 @@ namespace isc { namespace dhcp {
 #line 2232 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 377:
-#line 1330 "dhcp6_parser.yy" // lalr1.cc:859
+  case 378:
+#line 1331 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("prefix-len", prf);
@@ -2240,16 +2240,16 @@ namespace isc { namespace dhcp {
 #line 2241 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 378:
-#line 1335 "dhcp6_parser.yy" // lalr1.cc:859
+  case 379:
+#line 1336 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2249 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 379:
-#line 1337 "dhcp6_parser.yy" // lalr1.cc:859
+  case 380:
+#line 1338 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("excluded-prefix", prf);
@@ -2258,8 +2258,8 @@ namespace isc { namespace dhcp {
 #line 2259 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 380:
-#line 1343 "dhcp6_parser.yy" // lalr1.cc:859
+  case 381:
+#line 1344 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("excluded-prefix-len", prf);
@@ -2267,8 +2267,8 @@ namespace isc { namespace dhcp {
 #line 2268 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 381:
-#line 1348 "dhcp6_parser.yy" // lalr1.cc:859
+  case 382:
+#line 1349 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr deleg(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("delegated-len", deleg);
@@ -2276,8 +2276,8 @@ namespace isc { namespace dhcp {
 #line 2277 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 382:
-#line 1356 "dhcp6_parser.yy" // lalr1.cc:859
+  case 383:
+#line 1357 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("reservations", l);
@@ -2287,8 +2287,8 @@ namespace isc { namespace dhcp {
 #line 2288 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 383:
-#line 1361 "dhcp6_parser.yy" // lalr1.cc:859
+  case 384:
+#line 1362 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2296,8 +2296,8 @@ namespace isc { namespace dhcp {
 #line 2297 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 388:
-#line 1374 "dhcp6_parser.yy" // lalr1.cc:859
+  case 389:
+#line 1375 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2306,16 +2306,16 @@ namespace isc { namespace dhcp {
 #line 2307 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 389:
-#line 1378 "dhcp6_parser.yy" // lalr1.cc:859
+  case 390:
+#line 1379 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 2315 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 390:
-#line 1382 "dhcp6_parser.yy" // lalr1.cc:859
+  case 391:
+#line 1383 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the reservations list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2324,16 +2324,16 @@ namespace isc { namespace dhcp {
 #line 2325 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 391:
-#line 1386 "dhcp6_parser.yy" // lalr1.cc:859
+  case 392:
+#line 1387 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // parsing completed
 }
 #line 2333 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 405:
-#line 1410 "dhcp6_parser.yy" // lalr1.cc:859
+  case 406:
+#line 1411 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ip-addresses", l);
@@ -2343,8 +2343,8 @@ namespace isc { namespace dhcp {
 #line 2344 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 406:
-#line 1415 "dhcp6_parser.yy" // lalr1.cc:859
+  case 407:
+#line 1416 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2352,8 +2352,8 @@ namespace isc { namespace dhcp {
 #line 2353 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 407:
-#line 1420 "dhcp6_parser.yy" // lalr1.cc:859
+  case 408:
+#line 1421 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("prefixes", l);
@@ -2363,8 +2363,8 @@ namespace isc { namespace dhcp {
 #line 2364 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 408:
-#line 1425 "dhcp6_parser.yy" // lalr1.cc:859
+  case 409:
+#line 1426 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2372,16 +2372,16 @@ namespace isc { namespace dhcp {
 #line 2373 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 409:
-#line 1430 "dhcp6_parser.yy" // lalr1.cc:859
+  case 410:
+#line 1431 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2381 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 410:
-#line 1432 "dhcp6_parser.yy" // lalr1.cc:859
+  case 411:
+#line 1433 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr d(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("duid", d);
@@ -2390,16 +2390,16 @@ namespace isc { namespace dhcp {
 #line 2391 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 411:
-#line 1438 "dhcp6_parser.yy" // lalr1.cc:859
+  case 412:
+#line 1439 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2399 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 412:
-#line 1440 "dhcp6_parser.yy" // lalr1.cc:859
+  case 413:
+#line 1441 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hw-address", hw);
@@ -2408,16 +2408,16 @@ namespace isc { namespace dhcp {
 #line 2409 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 413:
-#line 1446 "dhcp6_parser.yy" // lalr1.cc:859
+  case 414:
+#line 1447 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2417 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 414:
-#line 1448 "dhcp6_parser.yy" // lalr1.cc:859
+  case 415:
+#line 1449 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr host(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hostname", host);
@@ -2426,16 +2426,16 @@ namespace isc { namespace dhcp {
 #line 2427 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 415:
-#line 1454 "dhcp6_parser.yy" // lalr1.cc:859
+  case 416:
+#line 1455 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2435 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 416:
-#line 1456 "dhcp6_parser.yy" // lalr1.cc:859
+  case 417:
+#line 1457 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("flex-id", hw);
@@ -2444,8 +2444,8 @@ namespace isc { namespace dhcp {
 #line 2445 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 417:
-#line 1462 "dhcp6_parser.yy" // lalr1.cc:859
+  case 418:
+#line 1463 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-classes", c);
@@ -2455,8 +2455,8 @@ namespace isc { namespace dhcp {
 #line 2456 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 418:
-#line 1467 "dhcp6_parser.yy" // lalr1.cc:859
+  case 419:
+#line 1468 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2464,8 +2464,8 @@ namespace isc { namespace dhcp {
 #line 2465 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 419:
-#line 1475 "dhcp6_parser.yy" // lalr1.cc:859
+  case 420:
+#line 1476 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("relay", m);
@@ -2475,8 +2475,8 @@ namespace isc { namespace dhcp {
 #line 2476 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 420:
-#line 1480 "dhcp6_parser.yy" // lalr1.cc:859
+  case 421:
+#line 1481 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2484,16 +2484,16 @@ namespace isc { namespace dhcp {
 #line 2485 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 421:
-#line 1485 "dhcp6_parser.yy" // lalr1.cc:859
+  case 422:
+#line 1486 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2493 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 422:
-#line 1487 "dhcp6_parser.yy" // lalr1.cc:859
+  case 423:
+#line 1488 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr ip(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ip-address", ip);
@@ -2502,8 +2502,8 @@ namespace isc { namespace dhcp {
 #line 2503 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 423:
-#line 1496 "dhcp6_parser.yy" // lalr1.cc:859
+  case 424:
+#line 1497 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-classes", l);
@@ -2513,8 +2513,8 @@ namespace isc { namespace dhcp {
 #line 2514 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 424:
-#line 1501 "dhcp6_parser.yy" // lalr1.cc:859
+  case 425:
+#line 1502 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2522,8 +2522,8 @@ namespace isc { namespace dhcp {
 #line 2523 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 427:
-#line 1510 "dhcp6_parser.yy" // lalr1.cc:859
+  case 428:
+#line 1511 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2532,24 +2532,24 @@ namespace isc { namespace dhcp {
 #line 2533 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 428:
-#line 1514 "dhcp6_parser.yy" // lalr1.cc:859
+  case 429:
+#line 1515 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 2541 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 438:
-#line 1534 "dhcp6_parser.yy" // lalr1.cc:859
+  case 439:
+#line 1535 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2549 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 439:
-#line 1536 "dhcp6_parser.yy" // lalr1.cc:859
+  case 440:
+#line 1537 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr test(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("test", test);
@@ -2558,8 +2558,8 @@ namespace isc { namespace dhcp {
 #line 2559 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 440:
-#line 1545 "dhcp6_parser.yy" // lalr1.cc:859
+  case 441:
+#line 1546 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-id", m);
@@ -2569,8 +2569,8 @@ namespace isc { namespace dhcp {
 #line 2570 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 441:
-#line 1550 "dhcp6_parser.yy" // lalr1.cc:859
+  case 442:
+#line 1551 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2578,16 +2578,16 @@ namespace isc { namespace dhcp {
 #line 2579 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 451:
-#line 1568 "dhcp6_parser.yy" // lalr1.cc:859
+  case 452:
+#line 1569 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.DUID_TYPE);
 }
 #line 2587 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 452:
-#line 1570 "dhcp6_parser.yy" // lalr1.cc:859
+  case 453:
+#line 1571 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2595,26 +2595,26 @@ namespace isc { namespace dhcp {
 #line 2596 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 453:
-#line 1575 "dhcp6_parser.yy" // lalr1.cc:859
+  case 454:
+#line 1576 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); }
 #line 2602 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 454:
-#line 1576 "dhcp6_parser.yy" // lalr1.cc:859
+  case 455:
+#line 1577 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); }
 #line 2608 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 455:
-#line 1577 "dhcp6_parser.yy" // lalr1.cc:859
+  case 456:
+#line 1578 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); }
 #line 2614 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 456:
-#line 1580 "dhcp6_parser.yy" // lalr1.cc:859
+  case 457:
+#line 1581 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr htype(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("htype", htype);
@@ -2622,16 +2622,16 @@ namespace isc { namespace dhcp {
 #line 2623 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 457:
-#line 1585 "dhcp6_parser.yy" // lalr1.cc:859
+  case 458:
+#line 1586 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2631 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 458:
-#line 1587 "dhcp6_parser.yy" // lalr1.cc:859
+  case 459:
+#line 1588 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr id(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("identifier", id);
@@ -2640,8 +2640,8 @@ namespace isc { namespace dhcp {
 #line 2641 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 459:
-#line 1593 "dhcp6_parser.yy" // lalr1.cc:859
+  case 460:
+#line 1594 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("time", time);
@@ -2649,8 +2649,8 @@ namespace isc { namespace dhcp {
 #line 2650 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 460:
-#line 1598 "dhcp6_parser.yy" // lalr1.cc:859
+  case 461:
+#line 1599 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("enterprise-id", time);
@@ -2658,8 +2658,8 @@ namespace isc { namespace dhcp {
 #line 2659 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 461:
-#line 1605 "dhcp6_parser.yy" // lalr1.cc:859
+  case 462:
+#line 1606 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("dhcp4o6-port", time);
@@ -2667,8 +2667,8 @@ namespace isc { namespace dhcp {
 #line 2668 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 462:
-#line 1612 "dhcp6_parser.yy" // lalr1.cc:859
+  case 463:
+#line 1613 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("control-socket", m);
@@ -2678,8 +2678,8 @@ namespace isc { namespace dhcp {
 #line 2679 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 463:
-#line 1617 "dhcp6_parser.yy" // lalr1.cc:859
+  case 464:
+#line 1618 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2687,16 +2687,16 @@ namespace isc { namespace dhcp {
 #line 2688 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 468:
-#line 1630 "dhcp6_parser.yy" // lalr1.cc:859
+  case 469:
+#line 1631 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2696 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 469:
-#line 1632 "dhcp6_parser.yy" // lalr1.cc:859
+  case 470:
+#line 1633 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr stype(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("socket-type", stype);
@@ -2705,16 +2705,16 @@ namespace isc { namespace dhcp {
 #line 2706 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 470:
-#line 1638 "dhcp6_parser.yy" // lalr1.cc:859
+  case 471:
+#line 1639 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2714 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 471:
-#line 1640 "dhcp6_parser.yy" // lalr1.cc:859
+  case 472:
+#line 1641 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("socket-name", name);
@@ -2723,8 +2723,8 @@ namespace isc { namespace dhcp {
 #line 2724 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 472:
-#line 1648 "dhcp6_parser.yy" // lalr1.cc:859
+  case 473:
+#line 1649 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("dhcp-ddns", m);
@@ -2734,8 +2734,8 @@ namespace isc { namespace dhcp {
 #line 2735 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 473:
-#line 1653 "dhcp6_parser.yy" // lalr1.cc:859
+  case 474:
+#line 1654 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2743,8 +2743,8 @@ namespace isc { namespace dhcp {
 #line 2744 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 474:
-#line 1658 "dhcp6_parser.yy" // lalr1.cc:859
+  case 475:
+#line 1659 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the dhcp-ddns map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2753,16 +2753,16 @@ namespace isc { namespace dhcp {
 #line 2754 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 475:
-#line 1662 "dhcp6_parser.yy" // lalr1.cc:859
+  case 476:
+#line 1663 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // parsing completed
 }
 #line 2762 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 493:
-#line 1687 "dhcp6_parser.yy" // lalr1.cc:859
+  case 494:
+#line 1688 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("enable-updates", b);
@@ -2770,16 +2770,16 @@ namespace isc { namespace dhcp {
 #line 2771 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 494:
-#line 1692 "dhcp6_parser.yy" // lalr1.cc:859
+  case 495:
+#line 1693 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2779 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 495:
-#line 1694 "dhcp6_parser.yy" // lalr1.cc:859
+  case 496:
+#line 1695 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("qualifying-suffix", s);
@@ -2788,16 +2788,16 @@ namespace isc { namespace dhcp {
 #line 2789 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 496:
-#line 1700 "dhcp6_parser.yy" // lalr1.cc:859
+  case 497:
+#line 1701 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2797 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 497:
-#line 1702 "dhcp6_parser.yy" // lalr1.cc:859
+  case 498:
+#line 1703 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-ip", s);
@@ -2806,8 +2806,8 @@ namespace isc { namespace dhcp {
 #line 2807 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 498:
-#line 1708 "dhcp6_parser.yy" // lalr1.cc:859
+  case 499:
+#line 1709 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-port", i);
@@ -2815,16 +2815,16 @@ namespace isc { namespace dhcp {
 #line 2816 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 499:
-#line 1713 "dhcp6_parser.yy" // lalr1.cc:859
+  case 500:
+#line 1714 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2824 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 500:
-#line 1715 "dhcp6_parser.yy" // lalr1.cc:859
+  case 501:
+#line 1716 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("sender-ip", s);
@@ -2833,8 +2833,8 @@ namespace isc { namespace dhcp {
 #line 2834 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 501:
-#line 1721 "dhcp6_parser.yy" // lalr1.cc:859
+  case 502:
+#line 1722 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("sender-port", i);
@@ -2842,8 +2842,8 @@ namespace isc { namespace dhcp {
 #line 2843 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 502:
-#line 1726 "dhcp6_parser.yy" // lalr1.cc:859
+  case 503:
+#line 1727 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("max-queue-size", i);
@@ -2851,16 +2851,16 @@ namespace isc { namespace dhcp {
 #line 2852 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 503:
-#line 1731 "dhcp6_parser.yy" // lalr1.cc:859
+  case 504:
+#line 1732 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NCR_PROTOCOL);
 }
 #line 2860 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 504:
-#line 1733 "dhcp6_parser.yy" // lalr1.cc:859
+  case 505:
+#line 1734 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2868,28 +2868,28 @@ namespace isc { namespace dhcp {
 #line 2869 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 505:
-#line 1739 "dhcp6_parser.yy" // lalr1.cc:859
+  case 506:
+#line 1740 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
 #line 2875 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 506:
-#line 1740 "dhcp6_parser.yy" // lalr1.cc:859
+  case 507:
+#line 1741 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
 #line 2881 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 507:
-#line 1743 "dhcp6_parser.yy" // lalr1.cc:859
+  case 508:
+#line 1744 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NCR_FORMAT);
 }
 #line 2889 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 508:
-#line 1745 "dhcp6_parser.yy" // lalr1.cc:859
+  case 509:
+#line 1746 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ncr-format", json);
@@ -2898,8 +2898,8 @@ namespace isc { namespace dhcp {
 #line 2899 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 509:
-#line 1751 "dhcp6_parser.yy" // lalr1.cc:859
+  case 510:
+#line 1752 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("always-include-fqdn", b);
@@ -2907,8 +2907,8 @@ namespace isc { namespace dhcp {
 #line 2908 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 510:
-#line 1756 "dhcp6_parser.yy" // lalr1.cc:859
+  case 511:
+#line 1757 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("override-no-update", b);
@@ -2916,8 +2916,8 @@ namespace isc { namespace dhcp {
 #line 2917 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 511:
-#line 1761 "dhcp6_parser.yy" // lalr1.cc:859
+  case 512:
+#line 1762 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("override-client-update", b);
@@ -2925,16 +2925,16 @@ namespace isc { namespace dhcp {
 #line 2926 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 512:
-#line 1766 "dhcp6_parser.yy" // lalr1.cc:859
+  case 513:
+#line 1767 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.REPLACE_CLIENT_NAME);
 }
 #line 2934 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 513:
-#line 1768 "dhcp6_parser.yy" // lalr1.cc:859
+  case 514:
+#line 1769 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2942,40 +2942,40 @@ namespace isc { namespace dhcp {
 #line 2943 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 514:
-#line 1774 "dhcp6_parser.yy" // lalr1.cc:859
+  case 515:
+#line 1775 "dhcp6_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); 
       }
 #line 2951 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 515:
-#line 1777 "dhcp6_parser.yy" // lalr1.cc:859
+  case 516:
+#line 1778 "dhcp6_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
       }
 #line 2959 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 516:
-#line 1780 "dhcp6_parser.yy" // lalr1.cc:859
+  case 517:
+#line 1781 "dhcp6_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
       }
 #line 2967 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 517:
-#line 1783 "dhcp6_parser.yy" // lalr1.cc:859
+  case 518:
+#line 1784 "dhcp6_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
       }
 #line 2975 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 518:
-#line 1786 "dhcp6_parser.yy" // lalr1.cc:859
+  case 519:
+#line 1787 "dhcp6_parser.yy" // lalr1.cc:859
     {
       error(yystack_[0].location, "boolean values for the replace-client-name are "
                 "no longer supported");
@@ -2983,16 +2983,16 @@ namespace isc { namespace dhcp {
 #line 2984 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 519:
-#line 1792 "dhcp6_parser.yy" // lalr1.cc:859
+  case 520:
+#line 1793 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2992 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 520:
-#line 1794 "dhcp6_parser.yy" // lalr1.cc:859
+  case 521:
+#line 1795 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("generated-prefix", s);
@@ -3001,16 +3001,16 @@ namespace isc { namespace dhcp {
 #line 3002 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 521:
-#line 1802 "dhcp6_parser.yy" // lalr1.cc:859
+  case 522:
+#line 1803 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3010 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 522:
-#line 1804 "dhcp6_parser.yy" // lalr1.cc:859
+  case 523:
+#line 1805 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("Dhcp4", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3018,16 +3018,16 @@ namespace isc { namespace dhcp {
 #line 3019 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 523:
-#line 1809 "dhcp6_parser.yy" // lalr1.cc:859
+  case 524:
+#line 1810 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3027 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 524:
-#line 1811 "dhcp6_parser.yy" // lalr1.cc:859
+  case 525:
+#line 1812 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3035,16 +3035,16 @@ namespace isc { namespace dhcp {
 #line 3036 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 525:
-#line 1816 "dhcp6_parser.yy" // lalr1.cc:859
+  case 526:
+#line 1817 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3044 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 526:
-#line 1818 "dhcp6_parser.yy" // lalr1.cc:859
+  case 527:
+#line 1819 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("Control-agent", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3052,8 +3052,8 @@ namespace isc { namespace dhcp {
 #line 3053 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 527:
-#line 1829 "dhcp6_parser.yy" // lalr1.cc:859
+  case 528:
+#line 1830 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("Logging", m);
@@ -3063,8 +3063,8 @@ namespace isc { namespace dhcp {
 #line 3064 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 528:
-#line 1834 "dhcp6_parser.yy" // lalr1.cc:859
+  case 529:
+#line 1835 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -3072,8 +3072,8 @@ namespace isc { namespace dhcp {
 #line 3073 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 532:
-#line 1851 "dhcp6_parser.yy" // lalr1.cc:859
+  case 533:
+#line 1852 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("loggers", l);
@@ -3083,8 +3083,8 @@ namespace isc { namespace dhcp {
 #line 3084 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 533:
-#line 1856 "dhcp6_parser.yy" // lalr1.cc:859
+  case 534:
+#line 1857 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -3092,8 +3092,8 @@ namespace isc { namespace dhcp {
 #line 3093 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 536:
-#line 1868 "dhcp6_parser.yy" // lalr1.cc:859
+  case 537:
+#line 1869 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(l);
@@ -3102,16 +3102,16 @@ namespace isc { namespace dhcp {
 #line 3103 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 537:
-#line 1872 "dhcp6_parser.yy" // lalr1.cc:859
+  case 538:
+#line 1873 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 3111 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 545:
-#line 1887 "dhcp6_parser.yy" // lalr1.cc:859
+  case 546:
+#line 1888 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("debuglevel", dl);
@@ -3119,16 +3119,16 @@ namespace isc { namespace dhcp {
 #line 3120 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 546:
-#line 1892 "dhcp6_parser.yy" // lalr1.cc:859
+  case 547:
+#line 1893 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3128 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 547:
-#line 1894 "dhcp6_parser.yy" // lalr1.cc:859
+  case 548:
+#line 1895 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("severity", sev);
@@ -3137,8 +3137,8 @@ namespace isc { namespace dhcp {
 #line 3138 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 548:
-#line 1900 "dhcp6_parser.yy" // lalr1.cc:859
+  case 549:
+#line 1901 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output_options", l);
@@ -3148,8 +3148,8 @@ namespace isc { namespace dhcp {
 #line 3149 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 549:
-#line 1905 "dhcp6_parser.yy" // lalr1.cc:859
+  case 550:
+#line 1906 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -3157,8 +3157,8 @@ namespace isc { namespace dhcp {
 #line 3158 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 552:
-#line 1914 "dhcp6_parser.yy" // lalr1.cc:859
+  case 553:
+#line 1915 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -3167,24 +3167,24 @@ namespace isc { namespace dhcp {
 #line 3168 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 553:
-#line 1918 "dhcp6_parser.yy" // lalr1.cc:859
+  case 554:
+#line 1919 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 3176 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 560:
-#line 1932 "dhcp6_parser.yy" // lalr1.cc:859
+  case 561:
+#line 1933 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3184 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 561:
-#line 1934 "dhcp6_parser.yy" // lalr1.cc:859
+  case 562:
+#line 1935 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output", sev);
@@ -3193,8 +3193,8 @@ namespace isc { namespace dhcp {
 #line 3194 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 562:
-#line 1940 "dhcp6_parser.yy" // lalr1.cc:859
+  case 563:
+#line 1941 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("flush", flush);
@@ -3202,8 +3202,8 @@ namespace isc { namespace dhcp {
 #line 3203 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 563:
-#line 1945 "dhcp6_parser.yy" // lalr1.cc:859
+  case 564:
+#line 1946 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr maxsize(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxsize", maxsize);
@@ -3211,8 +3211,8 @@ namespace isc { namespace dhcp {
 #line 3212 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 564:
-#line 1950 "dhcp6_parser.yy" // lalr1.cc:859
+  case 565:
+#line 1951 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr maxver(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxver", maxver);
@@ -3483,99 +3483,100 @@ namespace isc { namespace dhcp {
   const short int
   Dhcp6Parser::yypact_[] =
   {
-     113,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
-    -702,  -702,  -702,    32,    18,    33,    35,    70,    86,   110,
-     122,   143,   154,   168,   181,   183,  -702,  -702,  -702,  -702,
+     202,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
+    -702,  -702,  -702,    40,    18,    70,    78,   120,   122,   141,
+     147,   175,   183,   211,   219,   223,  -702,  -702,  -702,  -702,
     -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
     -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
     -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
-      18,  -120,    23,    30,    46,    22,     1,   194,   129,    62,
-      48,   -37,   240,  -702,    67,    72,   106,   174,   206,  -702,
-    -702,  -702,  -702,  -702,   237,  -702,    66,  -702,  -702,  -702,
-    -702,  -702,  -702,  -702,  -702,  -702,   270,   274,   297,   318,
-     323,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
-    -702,  -702,   330,  -702,  -702,  -702,    68,  -702,  -702,  -702,
+      18,  -120,    23,    30,    46,    22,     1,    35,   145,    62,
+     159,   -37,   140,  -702,    36,    72,   106,   154,   207,  -702,
+    -702,  -702,  -702,  -702,   228,  -702,    66,  -702,  -702,  -702,
+    -702,  -702,  -702,  -702,  -702,  -702,   230,   274,   275,   297,
+     299,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
+    -702,  -702,   306,  -702,  -702,  -702,    68,  -702,  -702,  -702,
     -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
     -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
-    -702,   331,   103,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
-    -702,  -702,   333,   334,  -702,  -702,  -702,  -702,  -702,  -702,
+    -702,   312,   103,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
+    -702,  -702,   328,   331,  -702,  -702,  -702,  -702,  -702,  -702,
     -702,  -702,  -702,   125,  -702,  -702,  -702,  -702,  -702,  -702,
     -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
-    -702,   144,  -702,  -702,  -702,  -702,   336,  -702,   337,   338,
-    -702,  -702,  -702,   145,  -702,  -702,  -702,  -702,  -702,  -702,
-    -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,   335,
-     356,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
-    -702,   357,  -702,  -702,  -702,   358,  -702,  -702,   352,   360,
+    -702,   144,  -702,  -702,  -702,  -702,   333,  -702,   334,   358,
+    -702,  -702,  -702,   171,  -702,  -702,  -702,  -702,  -702,  -702,
+    -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,   284,
+     360,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
+    -702,   361,  -702,  -702,  -702,   362,  -702,  -702,   356,   364,
     -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
-    -702,   361,   362,  -702,  -702,  -702,  -702,   359,   365,  -702,
-    -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,   171,
-    -702,  -702,  -702,   366,  -702,  -702,   367,  -702,   368,   369,
-    -702,  -702,   370,   371,   372,  -702,  -702,  -702,   173,  -702,
+    -702,   365,   366,  -702,  -702,  -702,  -702,   363,   369,  -702,
+    -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,   201,
+    -702,  -702,  -702,   370,  -702,  -702,   371,  -702,   372,   373,
+    -702,  -702,   374,   375,   376,  -702,  -702,  -702,   203,  -702,
     -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
-    -702,  -702,  -702,  -702,  -702,    18,    18,  -702,   219,   373,
-     374,   375,   376,   377,  -702,    23,  -702,   378,   379,   380,
-     213,   236,   238,   241,   242,   381,   382,   384,   387,   390,
-     391,   392,   393,   394,   395,   396,   250,   398,   399,    30,
-    -702,   400,   252,    46,  -702,    47,   402,   403,   404,   405,
-     406,   263,   258,   408,   409,   411,   412,    22,  -702,   413,
-     414,     1,  -702,   415,   273,   419,   275,   276,   194,  -702,
-     421,   424,   425,   426,   427,   428,   429,  -702,   129,   430,
-     431,   285,   433,   434,   435,   288,  -702,    62,   436,   289,
-     291,  -702,    48,   439,   441,    52,  -702,   293,   443,   444,
-     298,   446,   303,   307,   449,   453,   308,   309,   311,   455,
-     456,   240,  -702,  -702,  -702,   462,   460,   461,    18,    18,
-      18,  -702,   464,   465,   466,  -702,  -702,  -702,  -702,  -702,
-     470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
-     480,  -702,   481,   482,  -702,   485,  -702,  -702,  -702,  -702,
-    -702,  -702,   483,   489,  -702,  -702,  -702,   488,   490,   319,
-     344,   346,  -702,  -702,   137,   347,   493,   492,  -702,   350,
-     495,  -702,   353,  -702,   354,  -702,  -702,  -702,   485,   485,
-     485,   355,   363,   364,   383,  -702,   385,   386,  -702,   388,
-     389,   397,  -702,  -702,   401,  -702,  -702,  -702,   407,    18,
-    -702,  -702,   410,   416,  -702,   417,  -702,  -702,   101,   420,
-    -702,  -702,  -702,    71,   418,  -702,    18,    30,   422,  -702,
-    -702,  -702,    46,   116,   116,   499,   500,   501,   502,   -45,
-      18,   215,    42,   503,   139,    27,   211,   240,  -702,  -702,
-     507,  -702,    47,   505,   508,  -702,  -702,  -702,  -702,  -702,
-    -702,  -702,  -702,   509,   438,  -702,  -702,  -702,  -702,  -702,
+    -702,  -702,  -702,  -702,  -702,    18,    18,  -702,   218,   377,
+     378,   379,   380,   381,  -702,    23,  -702,   382,   383,   384,
+     222,   238,   239,   240,   241,   389,   390,   391,   392,   393,
+     394,   395,   396,   397,   398,   399,   253,   401,   402,    30,
+    -702,   403,   255,    46,  -702,    79,   405,   406,   407,   408,
+     409,   265,   261,   411,   413,   414,   415,    22,  -702,   419,
+     420,     1,  -702,   421,   276,   422,   277,   280,    35,  -702,
+     425,   426,   428,   429,   430,   431,   432,  -702,   145,   433,
+     434,   289,   435,   437,   438,   291,  -702,    62,   439,   292,
+     293,  -702,   159,   443,   444,     9,  -702,   296,   446,   449,
+     303,   453,   307,   308,   456,   457,   313,   314,   315,   458,
+     460,   140,  -702,  -702,  -702,   465,   464,   466,    18,    18,
+      18,  -702,   468,   469,   470,  -702,  -702,  -702,  -702,  -702,
+     467,   473,   474,   475,   476,   477,   478,   479,   481,   480,
+     482,  -702,   483,   484,  -702,   487,  -702,  -702,  -702,  -702,
+    -702,  -702,   485,   491,  -702,  -702,  -702,   490,   492,   338,
+     346,   348,  -702,  -702,    56,   349,   495,   496,  -702,   352,
+     497,  -702,   355,  -702,   357,  -702,  -702,  -702,   487,   487,
+     487,   359,   367,   385,   386,  -702,   387,   388,  -702,   400,
+     404,   410,  -702,  -702,   412,  -702,  -702,  -702,   416,    18,
+    -702,  -702,   417,   418,  -702,   423,  -702,  -702,    16,   424,
+    -702,  -702,  -702,   115,   427,  -702,    18,    30,   436,  -702,
+    -702,  -702,    46,   116,   116,   499,   501,   503,   504,   -45,
+      18,    99,    42,   505,   173,    27,   139,   140,  -702,  -702,
+     509,  -702,    79,   507,   508,  -702,  -702,  -702,  -702,  -702,
+    -702,  -702,  -702,   512,   440,  -702,  -702,  -702,  -702,  -702,
     -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
     -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
     -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
-     175,  -702,   214,  -702,  -702,   231,  -702,  -702,  -702,  -702,
-     513,   516,   517,   518,   519,  -702,  -702,  -702,   232,  -702,
+     225,  -702,   262,  -702,  -702,   264,  -702,  -702,  -702,  -702,
+     516,   518,   519,   520,   521,  -702,  -702,  -702,   266,  -702,
     -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
-    -702,  -702,   234,  -702,   520,   521,  -702,  -702,   522,   524,
-    -702,  -702,   523,   527,  -702,  -702,   525,   529,  -702,  -702,
-    -702,    45,  -702,  -702,  -702,   528,  -702,  -702,  -702,   151,
-    -702,  -702,  -702,  -702,   207,  -702,   531,   537,  -702,   538,
-     539,   540,   541,   542,   544,   260,  -702,  -702,  -702,  -702,
-    -702,  -702,  -702,  -702,  -702,   546,   548,   549,  -702,  -702,
-     261,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,   262,
-    -702,  -702,  -702,   264,   423,   432,  -702,  -702,   550,   551,
-    -702,  -702,   552,   556,  -702,  -702,   555,   559,  -702,  -702,
-     547,  -702,   560,   422,  -702,  -702,   561,   565,   566,   567,
-     437,   440,   445,   442,   447,   568,   570,   116,  -702,  -702,
-      22,  -702,   499,    62,  -702,   500,    48,  -702,   501,   153,
-    -702,   502,   -45,  -702,  -702,   215,  -702,    42,  -702,   -37,
-    -702,   503,   448,   450,   451,   452,   454,   457,   139,  -702,
-     571,   572,   458,   459,   463,    27,  -702,   573,   574,   211,
-    -702,  -702,  -702,   557,   576,  -702,     1,  -702,   505,   194,
-    -702,   508,   129,  -702,   509,   577,  -702,   575,  -702,   299,
-     467,   468,   469,  -702,  -702,  -702,  -702,  -702,   484,   486,
-    -702,   268,  -702,   578,  -702,   579,  -702,  -702,  -702,  -702,
-    -702,  -702,  -702,  -702,  -702,  -702,  -702,   272,  -702,  -702,
-    -702,  -702,  -702,  -702,  -702,  -702,   278,  -702,  -702,  -702,
-    -702,  -702,  -702,  -702,  -702,   235,   487,  -702,  -702,  -702,
-    -702,   491,   494,  -702,  -702,   496,   279,  -702,   287,  -702,
-     581,  -702,   497,   583,  -702,  -702,  -702,  -702,  -702,  -702,
-    -702,  -702,  -702,  -702,  -702,  -702,  -702,   153,  -702,  -702,
+    -702,  -702,   268,  -702,   510,   523,  -702,  -702,   522,   524,
+    -702,  -702,   525,   526,  -702,  -702,   527,   529,  -702,  -702,
+    -702,    45,  -702,  -702,  -702,   528,  -702,  -702,  -702,   150,
+    -702,  -702,  -702,  -702,   178,  -702,   533,   537,  -702,   538,
+     539,   540,   542,   543,   544,   272,  -702,  -702,  -702,  -702,
+    -702,  -702,  -702,  -702,  -702,   545,   547,   548,  -702,  -702,
+     278,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,   279,
+    -702,  -702,  -702,   290,   441,   442,  -702,  -702,   535,   550,
+    -702,  -702,   549,   553,  -702,  -702,   551,   555,  -702,  -702,
+     556,  -702,   557,   436,  -702,  -702,   561,   565,   566,   567,
+     445,   447,   448,   450,   451,   568,   570,   116,  -702,  -702,
+      22,  -702,   499,    62,  -702,   501,   159,  -702,   503,   155,
+    -702,   504,   -45,  -702,  -702,    99,  -702,    42,  -702,   -37,
+    -702,   505,   454,   455,   459,   461,   462,   463,   173,  -702,
+     571,   572,   471,   472,   486,    27,  -702,   574,   575,   139,
+    -702,  -702,  -702,   576,   577,  -702,     1,  -702,   507,    35,
+    -702,   508,   145,  -702,   512,   579,  -702,   554,  -702,   335,
+     488,   489,   493,  -702,  -702,  -702,  -702,  -702,   494,   498,
+    -702,   309,  -702,   573,  -702,   578,  -702,  -702,  -702,  -702,
+    -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,   310,  -702,
+    -702,  -702,  -702,  -702,  -702,  -702,  -702,   311,  -702,  -702,
+    -702,  -702,  -702,  -702,  -702,  -702,   263,   500,  -702,  -702,
+    -702,  -702,   502,   513,  -702,  -702,   534,   319,  -702,   320,
+    -702,   580,  -702,   536,   582,  -702,  -702,  -702,  -702,  -702,
+    -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,   155,  -702,
     -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
-    -702,  -702,  -702,   306,  -702,  -702,    88,   583,  -702,  -702,
-     580,  -702,  -702,  -702,   290,  -702,  -702,  -702,  -702,  -702,
-     587,   498,   588,    88,  -702,   589,  -702,   504,  -702,   590,
-    -702,  -702,   320,  -702,   -13,   590,  -702,  -702,   596,   600,
-     602,   302,  -702,  -702,  -702,  -702,  -702,  -702,   603,   510,
-     511,   532,   -13,  -702,   526,  -702,  -702,  -702,  -702,  -702
+    -702,  -702,  -702,  -702,   288,  -702,  -702,    77,   582,  -702,
+    -702,   581,  -702,  -702,  -702,   323,  -702,  -702,  -702,  -702,
+    -702,   583,   511,   586,    77,  -702,   588,  -702,   541,  -702,
+     587,  -702,  -702,   327,  -702,    63,   587,  -702,  -702,   591,
+     593,   594,   326,  -702,  -702,  -702,  -702,  -702,  -702,   597,
+     530,   546,   552,    63,  -702,   558,  -702,  -702,  -702,  -702,
+    -702
   };
 
   const unsigned short int
@@ -3585,134 +3586,135 @@ namespace isc { namespace dhcp {
       20,    22,    24,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     1,    41,    34,    30,
       29,    26,    27,    28,    33,     3,    31,    32,    54,     5,
-      66,     7,   100,     9,   213,    11,   343,    13,   363,    15,
-     390,    17,   280,    19,   315,    21,   178,    23,   474,    25,
-      43,    37,     0,     0,     0,     0,     0,     0,   392,   282,
-     317,     0,     0,    45,     0,    44,     0,     0,    38,    64,
-     527,   521,   523,   525,     0,    63,     0,    56,    58,    60,
+      66,     7,   100,     9,   213,    11,   344,    13,   364,    15,
+     391,    17,   281,    19,   316,    21,   178,    23,   475,    25,
+      43,    37,     0,     0,     0,     0,     0,     0,   393,   283,
+     318,     0,     0,    45,     0,    44,     0,     0,    38,    64,
+     528,   522,   524,   526,     0,    63,     0,    56,    58,    60,
       61,    62,    59,    98,   109,   111,     0,     0,     0,     0,
-       0,   205,   272,   307,   249,   151,   168,   159,   423,   170,
-     189,   440,     0,   462,   472,    92,     0,    68,    70,    71,
+       0,   205,   273,   308,   249,   151,   168,   159,   424,   170,
+     189,   441,     0,   463,   473,    92,     0,    68,    70,    71,
       72,    73,    74,    77,    78,    79,    80,    82,    81,    86,
       87,    75,    76,    84,    85,    83,    88,    89,    90,    91,
-     106,     0,     0,   102,   104,   105,   427,   335,   355,   234,
-     236,   238,     0,     0,   242,   240,   382,   419,   233,   217,
+     106,     0,     0,   102,   104,   105,   428,   336,   356,   234,
+     236,   238,     0,     0,   242,   240,   383,   420,   233,   217,
      218,   219,   220,     0,   215,   224,   225,   226,   229,   231,
-     227,   228,   221,   222,   223,   230,   232,   351,   353,   350,
-     348,     0,   345,   347,   349,   375,     0,   378,     0,     0,
-     374,   370,   373,     0,   365,   367,   368,   371,   372,   369,
-     417,   405,   407,   409,   411,   413,   415,   404,   403,     0,
-     393,   394,   398,   399,   396,   400,   401,   402,   397,   297,
-     141,     0,   301,   299,   304,     0,   293,   294,     0,   283,
-     284,   286,   296,   287,   288,   289,   303,   290,   291,   292,
-     329,     0,     0,   327,   328,   331,   332,     0,   318,   319,
-     321,   322,   323,   324,   325,   326,   185,   187,   182,     0,
-     180,   183,   184,     0,   494,   496,     0,   499,     0,     0,
-     503,   507,     0,     0,     0,   512,   519,   492,     0,   476,
-     478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
-     488,   489,   490,   491,    42,     0,     0,    35,     0,     0,
+     227,   228,   221,   222,   223,   230,   232,   352,   354,   351,
+     349,     0,   346,   348,   350,   376,     0,   379,     0,     0,
+     375,   371,   374,     0,   366,   368,   369,   372,   373,   370,
+     418,   406,   408,   410,   412,   414,   416,   405,   404,     0,
+     394,   395,   399,   400,   397,   401,   402,   403,   398,   298,
+     141,     0,   302,   300,   305,     0,   294,   295,     0,   284,
+     285,   287,   297,   288,   289,   290,   304,   291,   292,   293,
+     330,     0,     0,   328,   329,   332,   333,     0,   319,   320,
+     322,   323,   324,   325,   326,   327,   185,   187,   182,     0,
+     180,   183,   184,     0,   495,   497,     0,   500,     0,     0,
+     504,   508,     0,     0,     0,   513,   520,   493,     0,   477,
+     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
+     489,   490,   491,   492,    42,     0,     0,    35,     0,     0,
        0,     0,     0,     0,    53,     0,    55,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      67,     0,     0,     0,   101,   429,     0,     0,     0,     0,
+      67,     0,     0,     0,   101,   430,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,   214,     0,
-       0,     0,   344,     0,     0,     0,     0,     0,     0,   364,
-       0,     0,     0,     0,     0,     0,     0,   391,     0,     0,
-       0,     0,     0,     0,     0,     0,   281,     0,     0,     0,
-       0,   316,     0,     0,     0,     0,   179,     0,     0,     0,
+       0,     0,   345,     0,     0,     0,     0,     0,     0,   365,
+       0,     0,     0,     0,     0,     0,     0,   392,     0,     0,
+       0,     0,     0,     0,     0,     0,   282,     0,     0,     0,
+       0,   317,     0,     0,     0,     0,   179,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   475,    46,    39,     0,     0,     0,     0,     0,
+       0,     0,   476,    46,    39,     0,     0,     0,     0,     0,
        0,    57,     0,     0,     0,    93,    94,    95,    96,    97,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   461,     0,     0,    69,     0,   108,   103,   438,   436,
-     437,   435,     0,   430,   431,   433,   434,     0,     0,     0,
+       0,   462,     0,     0,    69,     0,   108,   103,   439,   437,
+     438,   436,     0,   431,   432,   434,   435,     0,     0,     0,
        0,     0,   247,   248,     0,     0,     0,     0,   216,     0,
-       0,   346,     0,   377,     0,   380,   381,   366,     0,     0,
-       0,     0,     0,     0,     0,   395,     0,     0,   295,     0,
-       0,     0,   306,   285,     0,   333,   334,   320,     0,     0,
-     181,   493,     0,     0,   498,     0,   501,   502,     0,     0,
-     509,   510,   511,     0,     0,   477,     0,     0,     0,   522,
-     524,   526,     0,     0,     0,   207,   274,   309,   251,     0,
+       0,   347,     0,   378,     0,   381,   382,   367,     0,     0,
+       0,     0,     0,     0,     0,   396,     0,     0,   296,     0,
+       0,     0,   307,   286,     0,   334,   335,   321,     0,     0,
+     181,   494,     0,     0,   499,     0,   502,   503,     0,     0,
+     510,   511,   512,     0,     0,   478,     0,     0,     0,   523,
+     525,   527,     0,     0,     0,   207,   275,   310,   251,     0,
       43,     0,     0,   172,     0,     0,     0,     0,    47,   107,
-       0,   428,     0,   337,   357,   235,   237,   239,   244,   245,
-     246,   243,   241,   384,     0,   352,    36,   354,   376,   379,
-     418,   406,   408,   410,   412,   414,   416,   298,   142,   302,
-     300,   305,   330,   186,   188,   495,   497,   500,   505,   506,
-     504,   508,   514,   515,   516,   517,   518,   513,   520,    40,
-       0,   532,     0,   529,   531,     0,   128,   134,   136,   138,
+       0,   429,     0,   338,   358,   235,   237,   239,   244,   245,
+     246,   243,   241,   385,     0,   353,    36,   355,   377,   380,
+     419,   407,   409,   411,   413,   415,   417,   299,   142,   303,
+     301,   306,   331,   186,   188,   496,   498,   501,   506,   507,
+     505,   509,   515,   516,   517,   518,   519,   514,   521,    40,
+       0,   533,     0,   530,   532,     0,   128,   134,   136,   138,
        0,     0,     0,     0,     0,   147,   149,   127,     0,   113,
      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
-     125,   126,     0,   211,     0,   208,   209,   278,     0,   275,
-     276,   313,     0,   310,   311,   255,     0,   252,   253,   157,
+     125,   126,     0,   211,     0,   208,   209,   279,     0,   276,
+     277,   314,     0,   311,   312,   255,     0,   252,   253,   157,
      158,     0,   153,   155,   156,     0,   166,   167,   163,     0,
-     161,   164,   165,   425,     0,   176,     0,   173,   174,     0,
+     161,   164,   165,   426,     0,   176,     0,   173,   174,     0,
        0,     0,     0,     0,     0,     0,   191,   193,   194,   195,
-     196,   197,   198,   451,   457,     0,     0,     0,   450,   449,
-       0,   442,   444,   447,   445,   446,   448,   468,   470,     0,
-     464,   466,   467,     0,    49,     0,   432,   341,     0,   338,
-     339,   361,     0,   358,   359,   388,     0,   385,   386,   421,
-       0,    65,     0,     0,   528,    99,     0,     0,     0,     0,
+     196,   197,   198,   452,   458,     0,     0,     0,   451,   450,
+       0,   443,   445,   448,   446,   447,   449,   469,   471,     0,
+     465,   467,   468,     0,    49,     0,   433,   342,     0,   339,
+     340,   362,     0,   359,   360,   389,     0,   386,   387,   422,
+       0,    65,     0,     0,   529,    99,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,   110,   112,
-       0,   206,     0,   282,   273,     0,   317,   308,     0,     0,
-     250,     0,     0,   152,   169,     0,   160,     0,   424,     0,
+       0,   206,     0,   283,   274,     0,   318,   309,     0,     0,
+     250,     0,     0,   152,   169,     0,   160,     0,   425,     0,
      171,     0,     0,     0,     0,     0,     0,     0,     0,   190,
-       0,     0,     0,     0,     0,     0,   441,     0,     0,     0,
-     463,   473,    51,     0,    50,   439,     0,   336,     0,     0,
-     356,     0,   392,   383,     0,     0,   420,     0,   530,     0,
+       0,     0,     0,     0,     0,     0,   442,     0,     0,     0,
+     464,   474,    51,     0,    50,   440,     0,   337,     0,     0,
+     357,     0,   393,   384,     0,     0,   421,     0,   531,     0,
        0,     0,     0,   140,   143,   144,   145,   146,     0,     0,
-     114,     0,   210,     0,   277,     0,   312,   271,   268,   270,
-     262,   263,   259,   260,   261,   266,   269,     0,   257,   264,
-     265,   267,   254,   154,   162,   426,     0,   175,   199,   200,
-     201,   202,   203,   204,   192,     0,     0,   456,   459,   460,
-     443,     0,     0,   465,    48,     0,     0,   340,     0,   360,
-       0,   387,     0,     0,   130,   131,   132,   133,   129,   135,
-     137,   139,   148,   150,   212,   279,   314,     0,   256,   177,
-     453,   454,   455,   452,   458,   469,   471,    52,   342,   362,
-     389,   422,   536,     0,   534,   258,     0,     0,   533,   548,
-       0,   546,   544,   540,     0,   538,   542,   543,   541,   535,
-       0,     0,     0,     0,   537,     0,   545,     0,   539,     0,
-     547,   552,     0,   550,     0,     0,   549,   560,     0,     0,
-       0,     0,   554,   556,   557,   558,   559,   551,     0,     0,
-       0,     0,     0,   553,     0,   562,   563,   564,   555,   561
+     114,     0,   210,     0,   278,     0,   313,   272,   269,   271,
+     263,   264,   259,   260,   261,   262,   267,   270,     0,   257,
+     265,   266,   268,   254,   154,   162,   427,     0,   175,   199,
+     200,   201,   202,   203,   204,   192,     0,     0,   457,   460,
+     461,   444,     0,     0,   466,    48,     0,     0,   341,     0,
+     361,     0,   388,     0,     0,   130,   131,   132,   133,   129,
+     135,   137,   139,   148,   150,   212,   280,   315,     0,   256,
+     177,   454,   455,   456,   453,   459,   470,   472,    52,   343,
+     363,   390,   423,   537,     0,   535,   258,     0,     0,   534,
+     549,     0,   547,   545,   541,     0,   539,   543,   544,   542,
+     536,     0,     0,     0,     0,   538,     0,   546,     0,   540,
+       0,   548,   553,     0,   551,     0,     0,   550,   561,     0,
+       0,     0,     0,   555,   557,   558,   559,   560,   552,     0,
+       0,     0,     0,     0,   554,     0,   563,   564,   565,   556,
+     562
   };
 
   const short int
   Dhcp6Parser::yypgoto_[] =
   {
     -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
-    -702,  -702,  -702,  -702,    12,  -702,    24,  -702,  -702,  -702,
-    -702,  -702,  -702,     5,  -702,  -137,  -702,  -702,  -702,   -62,
-    -702,  -702,  -702,   280,  -702,  -702,  -702,  -702,    76,   282,
-     -64,   -63,   -50,   -48,  -702,  -702,  -702,  -702,  -702,   100,
-     283,  -702,  -702,  -702,  -702,  -702,  -702,  -702,    99,  -102,
+    -702,  -702,  -702,  -702,    12,  -702,   124,  -702,  -702,  -702,
+    -702,  -702,  -702,    10,  -702,  -109,  -702,  -702,  -702,   -62,
+    -702,  -702,  -702,   302,  -702,  -702,  -702,  -702,    97,   282,
+     -64,   -63,   -50,   -48,  -702,  -702,  -702,  -702,  -702,    96,
+     283,  -702,  -702,  -702,  -702,  -702,  -702,  -702,    95,  -102,
     -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
      -58,  -702,  -511,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
-    -702,  -702,  -702,  -112,  -499,  -702,  -702,  -702,  -702,  -114,
-    -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -119,  -702,
-    -702,  -702,  -116,   239,  -702,  -702,  -702,  -702,  -702,  -702,
-    -702,  -123,  -702,  -702,  -702,  -702,  -702,  -702,  -701,  -702,
-    -702,  -702,   -96,  -702,  -702,  -702,   -93,   281,  -702,  -702,
-    -695,  -702,  -702,  -702,  -506,  -702,  -694,  -702,  -702,  -702,
-    -693,  -702,  -702,  -702,  -702,  -101,  -702,  -702,  -228,  -702,
-    -702,  -702,  -702,   -94,  -702,  -702,  -702,   -91,  -702,   256,
+    -702,  -702,  -702,  -115,  -499,  -702,  -702,  -702,  -702,  -117,
+    -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -122,  -702,
+    -702,  -702,  -119,   236,  -702,  -702,  -702,  -702,  -702,  -702,
+    -702,  -124,  -702,  -702,  -702,  -702,  -702,  -702,  -701,  -702,
+    -702,  -702,   -97,  -702,  -702,  -702,   -94,   281,  -702,  -702,
+    -697,  -702,  -695,  -702,  -506,  -702,  -694,  -702,  -702,  -702,
+    -693,  -702,  -702,  -702,  -702,  -104,  -702,  -702,  -229,  -702,
+    -702,  -702,  -702,   -95,  -702,  -702,  -702,   -92,  -702,   256,
     -702,   -57,  -702,  -702,  -702,  -702,  -702,   -46,  -702,  -702,
-    -702,  -702,  -702,   -47,  -702,  -702,  -702,   -90,  -702,  -702,
-    -702,   -87,  -702,   253,  -702,  -702,  -702,  -702,  -702,  -702,
-    -702,  -702,  -702,  -702,  -702,  -128,  -702,  -702,  -702,  -124,
-     292,  -702,  -702,   -56,  -702,  -702,  -702,  -702,  -702,  -126,
-    -702,  -702,  -702,  -121,   294,  -702,  -702,  -702,  -702,  -702,
-    -702,  -702,  -702,  -702,  -702,  -702,  -100,  -702,  -702,  -702,
-    -122,  -702,   310,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
+    -702,  -702,  -702,   -47,  -702,  -702,  -702,   -96,  -702,  -702,
+    -702,   -91,  -702,   252,  -702,  -702,  -702,  -702,  -702,  -702,
+    -702,  -702,  -702,  -702,  -702,  -132,  -702,  -702,  -702,  -126,
+     294,  -702,  -702,   -56,  -702,  -702,  -702,  -702,  -702,  -130,
+    -702,  -702,  -702,  -127,   295,  -702,  -702,  -702,  -702,  -702,
+    -702,  -702,  -702,  -702,  -702,  -702,  -128,  -702,  -702,  -702,
+    -125,  -702,   286,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
     -702,  -702,  -702,  -702,  -702,  -702,  -702,  -692,  -702,  -702,
-    -702,  -691,  -702,  -702,  -702,  -702,  -702,   119,  -702,  -702,
-    -702,  -702,  -702,  -702,   -95,  -702,  -702,  -702,  -702,  -702,
-    -702,  -702,  -702,  -702,  -702,  -702,  -702,  -106,  -702,  -702,
-    -702,  -702,  -702,  -702,  -702,  -702,   148,   284,  -702,  -702,
+    -702,  -691,  -702,  -702,  -702,  -702,  -702,   117,  -702,  -702,
+    -702,  -702,  -702,  -702,   -81,  -702,  -702,  -702,  -702,  -702,
+    -702,  -702,  -702,  -702,  -702,  -702,  -702,  -108,  -702,  -702,
+    -702,  -702,  -702,  -702,  -702,  -702,   133,   287,  -702,  -702,
     -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
     -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
     -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,  -702,
-     -19,  -702,  -702,  -702,  -191,  -702,  -702,  -206,  -702,  -702,
-    -702,  -702,  -702,  -702,  -217,  -702,  -702,  -233,  -702,  -702,
+     -28,  -702,  -702,  -702,  -202,  -702,  -702,  -216,  -702,  -702,
+    -702,  -702,  -702,  -702,  -221,  -702,  -702,  -236,  -702,  -702,
     -702,  -702,  -702
   };
 
@@ -3725,7 +3727,7 @@ namespace isc { namespace dhcp {
       39,    62,    86,    87,    88,   299,    41,    63,   116,   117,
      118,   119,   120,   121,   122,   123,   307,    43,    64,   142,
      143,   144,   331,   145,   124,   308,   125,   309,   598,   599,
-     600,   706,   848,   601,   707,   602,   708,   603,   709,   604,
+     600,   706,   849,   601,   707,   602,   708,   603,   709,   604,
      227,   370,   606,   607,   608,   609,   610,   715,   611,   716,
      126,   319,   631,   632,   633,   634,   127,   321,   639,   640,
      641,   642,   128,   320,   129,   323,   646,   647,   648,   739,
@@ -3733,7 +3735,7 @@ namespace isc { namespace dhcp {
      655,   656,   657,   658,   659,   660,   661,   662,   131,   315,
      614,   615,   616,   720,    45,    65,   163,   164,   165,   338,
      166,   339,   167,   340,   168,   344,   169,   343,   541,   170,
-     171,   132,   318,   626,   627,   628,   729,   807,   808,   133,
+     171,   132,   318,   626,   627,   628,   729,   808,   809,   133,
      316,   618,   619,   620,   723,    53,    69,   228,   229,   230,
      231,   232,   233,   234,   369,   235,   373,   236,   372,   237,
      238,   374,   239,   134,   317,   622,   623,   624,   726,    55,
@@ -3745,15 +3747,15 @@ namespace isc { namespace dhcp {
      209,   210,   211,   212,   361,   213,   362,   214,   363,   215,
      364,   216,   365,   217,   366,   218,   360,   176,   346,   700,
      775,   135,   322,   644,   335,   442,   443,   444,   445,   446,
-     530,   136,   325,   670,   671,   672,   750,   863,   673,   674,
+     530,   136,   325,   670,   671,   672,   750,   864,   673,   674,
      751,   675,   676,   137,   138,   327,   679,   680,   681,   757,
      682,   758,   139,   328,    59,    72,   278,   279,   280,   281,
      388,   282,   389,   283,   284,   391,   285,   286,   287,   394,
      570,   288,   395,   289,   290,   291,   292,   399,   577,   293,
      400,    89,   301,    90,   302,    91,   303,    92,   300,   582,
-     583,   584,   702,   873,   874,   876,   884,   885,   886,   887,
-     892,   888,   890,   902,   903,   904,   911,   912,   913,   918,
-     914,   915,   916
+     583,   584,   702,   874,   875,   877,   885,   886,   887,   888,
+     893,   889,   891,   903,   904,   905,   912,   913,   914,   919,
+     915,   916,   917
   };
 
   const unsigned short int
@@ -3762,74 +3764,74 @@ namespace isc { namespace dhcp {
       85,   159,   160,   158,   179,   190,   207,   226,   243,   258,
      277,   192,   244,   245,   669,   161,   643,   162,   172,   180,
      191,   208,   638,    27,   246,    28,    34,    29,   803,   146,
-      76,   629,    26,    79,   804,   805,   806,   810,   811,   103,
-      38,    93,    40,   663,    94,    95,   256,   257,   732,   146,
+      76,   629,   804,    79,   805,   806,   807,   811,   812,   103,
+      26,    93,   294,   663,    94,    95,   256,   257,   732,   146,
      177,   733,   591,    96,    97,    98,    99,   178,   140,   141,
      103,    96,    97,    98,    99,   100,   101,   102,   103,   305,
-     147,   329,   148,   294,   306,   295,   330,    42,   219,   149,
-     150,   151,   152,   153,   154,   103,   220,   220,   240,   221,
-     222,   241,   242,    44,   155,   156,   104,   105,   106,   107,
+     147,   329,   148,   103,   306,   295,   330,    38,   219,   149,
+     150,   151,   152,   153,   154,    40,   185,   186,   187,   188,
+     189,   178,   256,   257,   155,   156,   104,   105,   106,   107,
      108,   220,   157,   221,   222,   630,   333,   223,   224,   225,
-     296,   334,   109,    84,   155,   110,   907,    46,   438,   908,
-     909,   910,   111,   664,   665,   666,   667,   220,   347,    48,
-     112,   113,   586,   348,   114,   256,   257,   587,   588,   589,
-     590,   591,   592,   593,   594,   595,   596,   351,   358,    80,
-      50,    84,   352,   359,   735,   220,   803,   736,    81,    82,
-      83,    52,   804,   805,   806,   810,   811,   103,    30,    31,
-      32,    33,    84,    84,   385,    54,   401,    84,   329,   386,
-      84,   402,   297,   701,    96,    97,    98,    99,    56,   101,
-      58,   103,   220,   572,   573,   574,   575,    84,    84,   200,
-     538,   539,   540,   201,   202,   203,   204,   205,   206,   298,
-     737,   150,    84,   738,   153,   154,   879,   703,   880,   881,
-     568,   569,   704,   108,   576,   649,   650,   651,   652,   653,
-     654,   815,   103,   157,   333,   717,   638,   717,    84,   705,
-     718,   304,   719,    85,   669,   185,   186,   187,   188,   189,
-     178,     1,     2,     3,     4,     5,     6,     7,     8,     9,
-      10,    11,    12,   748,   755,   759,    84,   401,   749,   756,
-     760,   347,   761,   439,   310,   857,   854,   440,   311,    84,
-     858,   385,   351,   159,   160,   158,   859,   868,   441,   179,
-     358,   629,   636,   893,   637,   869,   190,   161,   894,   162,
-     172,   312,   192,    84,   180,   922,   207,   403,   404,   877,
-     923,   191,   878,   677,   678,   226,   844,   845,   846,   847,
-     243,   208,   313,   905,   244,   245,   906,   314,   860,   861,
-     862,   550,   551,   552,   326,   332,   246,   341,   342,   277,
-     354,   356,   357,   367,    84,   263,   264,   265,   266,   267,
-     268,   269,   270,   271,   272,   273,   274,   275,   276,   368,
-     376,   371,   375,   377,   415,   379,   380,   381,   382,   405,
-     387,   390,   392,   393,   396,   397,   398,   406,   407,   408,
-     409,   410,   412,   413,   414,   420,   421,   416,   422,   417,
-      84,   423,   418,   419,   424,   425,   426,   427,   428,   429,
-     430,   431,   432,   433,   435,   436,   447,   448,   449,   450,
-     451,   453,   454,   455,   452,   456,   457,   459,   460,   462,
-     509,   510,   511,   464,   463,   468,   465,   466,   469,   470,
-     471,   472,   473,   474,   476,   477,   478,   479,   480,   481,
-     484,   482,   485,   488,   486,   489,   491,   492,   493,   494,
-     495,   597,   597,   498,   496,   605,   605,   499,   497,   503,
-     504,   500,   501,   668,   502,   277,   506,   507,   508,   535,
-     439,   512,   513,   514,   440,   515,   516,   517,   518,   519,
-     520,   521,   522,   523,   546,   441,   524,   525,   526,   527,
-     528,   531,   532,   533,   536,   534,   537,   542,   543,   544,
-     545,   564,    28,   548,   549,   553,   613,   617,   621,   625,
-     645,   685,   687,   554,   555,   691,   695,   710,   579,   699,
-     711,   712,   713,   714,   722,   635,   721,   725,   724,   727,
-     728,   730,   731,   556,   734,   557,   558,   740,   559,   560,
-     741,   571,   742,   743,   744,   745,   746,   561,   747,   581,
-     752,   562,   753,   754,   768,   776,   767,   563,   770,   771,
-     565,   773,   774,   834,   777,   779,   566,   567,   578,   780,
-     781,   782,   788,   762,   789,   825,   826,   831,   832,   835,
-     843,   842,   765,   580,   891,   411,   855,   856,   783,   870,
-     872,   895,   897,   784,   899,   786,   785,   901,   787,   818,
-     919,   819,   820,   821,   920,   822,   921,   924,   823,   827,
-     828,   434,   585,   612,   829,   790,   437,   849,   850,   851,
-     813,   814,   817,   816,   490,   824,   792,   791,   458,   875,
-     812,   794,   793,   483,   852,   487,   853,   864,   796,   795,
-     837,   865,   836,   461,   866,   839,   867,   871,   838,   896,
-     840,   686,   467,   833,   900,   597,   159,   160,   158,   605,
-     830,   226,   926,   925,   243,   798,   799,   797,   244,   245,
-     161,   802,   162,   172,   841,   683,   929,   258,   475,   800,
-     246,   801,   809,   927,   778,   505,   889,   898,   917,   928,
-       0,     0,     0,   668,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   179,     0,     0,   190,     0,     0,
+     296,   334,   109,    84,   155,   110,   220,   103,   220,   538,
+     539,   540,   111,   664,   665,   666,   667,    42,   347,    44,
+     112,   113,   586,   348,   114,   568,   569,   587,   588,   589,
+     590,   591,   592,   593,   594,   595,   596,   351,    46,    80,
+     438,    84,   352,   735,    48,   220,   736,   803,    81,    82,
+      83,   804,   297,   805,   806,   807,   811,   812,    30,    31,
+      32,    33,    84,    84,   358,   629,   636,    84,   637,   359,
+      84,   737,    50,   103,   738,    84,    96,    97,    98,    99,
+      52,   101,   908,   103,   220,   909,   910,   911,   220,   240,
+     221,   222,   241,   242,   385,   880,   401,   881,   882,   386,
+     298,   402,    84,   150,   151,   200,   153,   154,    54,   201,
+     202,   203,   204,   205,   206,   108,    56,    84,   329,    84,
+      58,   816,   304,   701,   310,   157,   638,   572,   573,   574,
+     575,   677,   678,    85,   669,   263,   264,   265,   266,   267,
+     268,   269,   270,   271,   272,   273,   274,   275,   276,   649,
+     650,   651,   652,   653,   654,   703,    84,   333,   576,   717,
+     704,   717,   705,   439,   718,   748,   719,   440,   311,   312,
+     749,   755,   759,   159,   160,   158,   756,   760,   441,   179,
+      84,   878,   367,   401,   879,    84,   190,   161,   761,   162,
+     172,   313,   192,   314,   180,    84,   207,   403,   404,    84,
+     326,   191,   347,   858,   385,   226,   332,   855,   859,   860,
+     243,   208,   351,   358,   244,   245,   894,   869,   870,   923,
+     906,   895,   341,   907,   924,   342,   246,   354,   356,   277,
+       1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
+      11,    12,   845,   846,   847,   848,   861,   862,   863,   550,
+     551,   552,   357,   368,   376,   371,   375,   377,   405,   379,
+     380,   381,   382,   415,   387,   390,   392,   393,   396,   397,
+     398,   406,   407,   408,   409,   410,   412,   413,   414,   416,
+     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
+     427,   428,   429,   430,   431,   432,   433,   435,   436,   447,
+     448,   449,   450,   451,   453,   454,   452,   455,   456,   457,
+     509,   510,   511,   459,   460,   462,   464,   463,   465,   468,
+     469,   466,   470,   471,   472,   473,   474,   476,   477,   479,
+     478,   480,   481,   484,   482,   485,   486,   488,   489,   491,
+     492,   597,   597,   493,   494,   605,   605,   495,   496,   497,
+     498,   499,   503,   668,   504,   277,   500,   501,   502,   506,
+     439,   507,   515,   508,   440,   512,   513,   514,   516,   517,
+     518,   519,   520,   521,   522,   441,   523,   524,   535,   525,
+     526,   527,   528,   531,   532,   533,   536,   534,   537,   542,
+     543,   564,   545,   544,    28,   548,   613,   549,   617,   553,
+     621,   625,   645,   685,   687,   691,   721,   554,   579,   695,
+     710,   699,   711,   712,   713,   714,   722,   725,   724,   728,
+     635,   727,   731,   730,   734,   555,   556,   557,   558,   740,
+     741,   767,   742,   743,   744,   571,   745,   746,   747,   752,
+     559,   753,   754,   768,   560,   770,   771,   773,   774,   844,
+     561,   777,   562,   581,   776,   779,   563,   565,   566,   780,
+     781,   782,   788,   567,   789,   826,   827,   578,   832,   833,
+     836,   856,   835,   843,   546,   892,   857,   896,   871,   873,
+     898,   762,   765,   900,   902,   920,   783,   921,   922,   785,
+     784,   925,   787,   786,   580,   819,   820,   411,   585,   612,
+     821,   434,   822,   823,   824,   790,   437,   814,   815,   818,
+     817,   490,   828,   829,   825,   792,   791,   813,   458,   876,
+     794,   793,   796,   483,   487,   795,   838,   830,   850,   851,
+     837,   840,   839,   852,   853,   461,   842,   841,   854,   686,
+     865,   834,   866,   467,   475,   597,   159,   160,   158,   605,
+     683,   226,   897,   867,   243,   798,   799,   797,   244,   245,
+     161,   802,   162,   172,   831,   778,   890,   258,   899,   800,
+     246,   801,   810,   926,   868,   918,   872,   929,   505,     0,
+       0,   901,     0,   668,     0,     0,     0,   927,     0,     0,
+       0,     0,     0,   928,   179,     0,     0,   190,   930,     0,
      207,     0,     0,   192,     0,     0,     0,     0,     0,   180,
        0,     0,   191,     0,     0,   208,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
@@ -3838,11 +3840,11 @@ namespace isc { namespace dhcp {
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   798,   799,   797,     0,     0,     0,   802,
-       0,     0,     0,     0,     0,     0,     0,   800,     0,   801,
-     809,     0,     0,     0,   882,     0,     0,     0,   883,     0,
+       0,     0,     0,     0,   798,   799,   797,     0,     0,     0,
+     802,     0,     0,     0,     0,     0,     0,     0,   800,     0,
+     801,   810,     0,     0,     0,   883,     0,     0,     0,   884,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   882,     0,     0,     0,   883
+       0,     0,   883,     0,     0,     0,   884
   };
 
   const short int
@@ -3851,74 +3853,74 @@ namespace isc { namespace dhcp {
       62,    65,    65,    65,    66,    67,    68,    69,    70,    71,
       72,    67,    70,    70,   525,    65,   522,    65,    65,    66,
       67,    68,   521,     5,    70,     7,    14,     9,   729,     7,
-     150,    76,     0,    10,   729,   729,   729,   729,   729,    38,
-       7,    11,     7,    16,    14,    15,    83,    84,     3,     7,
+     150,    76,   729,    10,   729,   729,   729,   729,   729,    38,
+       0,    11,     6,    16,    14,    15,    83,    84,     3,     7,
       49,     6,    25,    31,    32,    33,    34,    56,    12,    13,
       38,    31,    32,    33,    34,    35,    36,    37,    38,     3,
-      48,     3,    50,     6,     8,     3,     8,     7,    16,    57,
-      58,    59,    60,    61,    62,    38,    39,    39,    40,    41,
-      42,    43,    44,     7,    72,    73,    66,    67,    68,    69,
+      48,     3,    50,    38,     8,     3,     8,     7,    16,    57,
+      58,    59,    60,    61,    62,     7,    51,    52,    53,    54,
+      55,    56,    83,    84,    72,    73,    66,    67,    68,    69,
       70,    39,    80,    41,    42,   150,     3,    45,    46,    47,
-       4,     8,    82,   150,    72,    85,   129,     7,    71,   132,
-     133,   134,    92,    96,    97,    98,    99,    39,     3,     7,
-     100,   101,    16,     8,   104,    83,    84,    21,    22,    23,
-      24,    25,    26,    27,    28,    29,    30,     3,     3,   126,
-       7,   150,     8,     8,     3,    39,   857,     6,   135,   136,
-     137,     7,   857,   857,   857,   857,   857,    38,   150,   151,
-     152,   153,   150,   150,     3,     7,     3,   150,     3,     8,
-     150,     8,     8,     8,    31,    32,    33,    34,     7,    36,
-       7,    38,    39,   122,   123,   124,   125,   150,   150,    70,
-      63,    64,    65,    74,    75,    76,    77,    78,    79,     3,
-       3,    58,   150,     6,    61,    62,   128,     3,   130,   131,
-     119,   120,     8,    70,   153,    86,    87,    88,    89,    90,
-      91,   737,    38,    80,     3,     3,   735,     3,   150,     8,
-       8,     4,     8,   305,   755,    51,    52,    53,    54,    55,
-      56,   138,   139,   140,   141,   142,   143,   144,   145,   146,
-     147,   148,   149,     3,     3,     3,   150,     3,     8,     8,
-       8,     3,     8,   335,     4,     3,     8,   335,     4,   150,
+       4,     8,    82,   150,    72,    85,    39,    38,    39,    63,
+      64,    65,    92,    96,    97,    98,    99,     7,     3,     7,
+     100,   101,    16,     8,   104,   119,   120,    21,    22,    23,
+      24,    25,    26,    27,    28,    29,    30,     3,     7,   126,
+      71,   150,     8,     3,     7,    39,     6,   858,   135,   136,
+     137,   858,     8,   858,   858,   858,   858,   858,   150,   151,
+     152,   153,   150,   150,     3,    76,    77,   150,    79,     8,
+     150,     3,     7,    38,     6,   150,    31,    32,    33,    34,
+       7,    36,   129,    38,    39,   132,   133,   134,    39,    40,
+      41,    42,    43,    44,     3,   128,     3,   130,   131,     8,
+       3,     8,   150,    58,    59,    70,    61,    62,     7,    74,
+      75,    76,    77,    78,    79,    70,     7,   150,     3,   150,
+       7,   737,     4,     8,     4,    80,   735,   122,   123,   124,
+     125,   102,   103,   305,   755,   105,   106,   107,   108,   109,
+     110,   111,   112,   113,   114,   115,   116,   117,   118,    86,
+      87,    88,    89,    90,    91,     3,   150,     3,   153,     3,
+       8,     3,     8,   335,     8,     3,     8,   335,     4,     4,
        8,     3,     3,   347,   347,   347,     8,     8,   335,   351,
-       3,    76,    77,     3,    79,     8,   358,   347,     8,   347,
-     347,     4,   358,   150,   351,     3,   368,   295,   296,     3,
-       8,   358,     6,   102,   103,   377,    17,    18,    19,    20,
-     382,   368,     4,     3,   382,   382,     6,     4,    93,    94,
-      95,   468,   469,   470,     4,     4,   382,     4,     4,   401,
-       4,     4,     4,     8,   150,   105,   106,   107,   108,   109,
-     110,   111,   112,   113,   114,   115,   116,   117,   118,     3,
-       8,     4,     4,     3,   151,     4,     4,     8,     3,   150,
-       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
-       4,     4,     4,     4,     4,     4,     4,   151,     4,   151,
-     150,     4,   151,   151,     4,     4,     4,     4,     4,     4,
-       4,   151,     4,     4,     4,   153,     4,     4,     4,     4,
-       4,   153,     4,     4,   151,     4,     4,     4,     4,     4,
-     408,   409,   410,     4,   151,     4,   151,   151,     4,     4,
-       4,     4,     4,     4,     4,     4,   151,     4,     4,     4,
-       4,   153,   153,     4,   153,     4,   153,     4,     4,   151,
-       4,   513,   514,     4,   151,   513,   514,     4,   151,     4,
-       4,   153,   153,   525,   153,   527,     4,     7,     7,   150,
-     532,     7,     7,     7,   532,     5,     5,     5,     5,     5,
-       5,     5,     5,     5,   460,   532,     7,     7,     7,     7,
-       5,     8,     3,     5,   150,     5,   150,   150,     5,     7,
-     150,   489,     7,   150,   150,   150,     7,     7,     7,     7,
-       7,     4,     7,   150,   150,     7,     7,     4,   506,    81,
-       4,     4,     4,     4,     3,   520,     6,     3,     6,     6,
-       3,     6,     3,   150,     6,   150,   150,     6,   150,   150,
-       3,   121,     4,     4,     4,     4,     4,   150,     4,   127,
-       4,   150,     4,     4,     3,     8,     6,   150,     6,     3,
-     150,     6,     3,     6,     4,     4,   150,   150,   150,     4,
-       4,     4,     4,   150,     4,     4,     4,     4,     4,     3,
-       5,     4,   150,   507,     4,   305,     8,     8,   151,     8,
-       7,     4,     4,   153,     5,   153,   151,     7,   151,   151,
-       4,   151,   151,   151,     4,   151,     4,     4,   151,   151,
-     151,   329,   512,   514,   151,   717,   333,   150,   150,   150,
-     732,   735,   741,   739,   385,   748,   722,   720,   347,   857,
-     731,   725,   723,   377,   150,   382,   150,   150,   728,   726,
-     768,   150,   766,   351,   150,   771,   150,   150,   769,   151,
-     772,   532,   358,   759,   150,   717,   720,   720,   720,   717,
-     755,   723,   151,   153,   726,   729,   729,   729,   726,   726,
-     720,   729,   720,   720,   774,   527,   150,   739,   368,   729,
-     726,   729,   729,   151,   703,   401,   877,   893,   905,   922,
-      -1,    -1,    -1,   755,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   766,    -1,    -1,   769,    -1,    -1,
+     150,     3,     8,     3,     6,   150,   358,   347,     8,   347,
+     347,     4,   358,     4,   351,   150,   368,   295,   296,   150,
+       4,   358,     3,     3,     3,   377,     4,     8,     8,     8,
+     382,   368,     3,     3,   382,   382,     3,     8,     8,     3,
+       3,     8,     4,     6,     8,     4,   382,     4,     4,   401,
+     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
+     148,   149,    17,    18,    19,    20,    93,    94,    95,   468,
+     469,   470,     4,     3,     8,     4,     4,     3,   150,     4,
+       4,     8,     3,   151,     4,     4,     4,     4,     4,     4,
+       4,     4,     4,     4,     4,     4,     4,     4,     4,   151,
+     151,   151,   151,     4,     4,     4,     4,     4,     4,     4,
+       4,     4,     4,     4,   151,     4,     4,     4,   153,     4,
+       4,     4,     4,     4,   153,     4,   151,     4,     4,     4,
+     408,   409,   410,     4,     4,     4,     4,   151,   151,     4,
+       4,   151,     4,     4,     4,     4,     4,     4,     4,     4,
+     151,     4,     4,     4,   153,   153,   153,     4,     4,   153,
+       4,   513,   514,     4,   151,   513,   514,     4,   151,   151,
+       4,     4,     4,   525,     4,   527,   153,   153,   153,     4,
+     532,     7,     5,     7,   532,     7,     7,     7,     5,     5,
+       5,     5,     5,     5,     5,   532,     5,     7,   150,     7,
+       7,     7,     5,     8,     3,     5,   150,     5,   150,   150,
+       5,   489,   150,     7,     7,   150,     7,   150,     7,   150,
+       7,     7,     7,     4,     7,     7,     6,   150,   506,     7,
+       4,    81,     4,     4,     4,     4,     3,     3,     6,     3,
+     520,     6,     3,     6,     6,   150,   150,   150,   150,     6,
+       3,     6,     4,     4,     4,   121,     4,     4,     4,     4,
+     150,     4,     4,     3,   150,     6,     3,     6,     3,     5,
+     150,     4,   150,   127,     8,     4,   150,   150,   150,     4,
+       4,     4,     4,   150,     4,     4,     4,   150,     4,     4,
+       3,     8,     6,     4,   460,     4,     8,     4,     8,     7,
+       4,   150,   150,     5,     7,     4,   151,     4,     4,   151,
+     153,     4,   151,   153,   507,   151,   151,   305,   512,   514,
+     151,   329,   151,   151,   151,   717,   333,   732,   735,   741,
+     739,   385,   151,   151,   748,   722,   720,   731,   347,   858,
+     725,   723,   728,   377,   382,   726,   768,   151,   150,   150,
+     766,   771,   769,   150,   150,   351,   774,   772,   150,   532,
+     150,   759,   150,   358,   368,   717,   720,   720,   720,   717,
+     527,   723,   151,   150,   726,   729,   729,   729,   726,   726,
+     720,   729,   720,   720,   755,   703,   878,   739,   894,   729,
+     726,   729,   729,   153,   150,   906,   150,   923,   401,    -1,
+      -1,   150,    -1,   755,    -1,    -1,    -1,   151,    -1,    -1,
+      -1,    -1,    -1,   151,   766,    -1,    -1,   769,   150,    -1,
      772,    -1,    -1,   769,    -1,    -1,    -1,    -1,    -1,   766,
       -1,    -1,   769,    -1,    -1,   772,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -3927,11 +3929,11 @@ namespace isc { namespace dhcp {
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   857,   857,   857,    -1,    -1,    -1,   857,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   857,    -1,   857,
-     857,    -1,    -1,    -1,   876,    -1,    -1,    -1,   876,    -1,
+      -1,    -1,    -1,    -1,   858,   858,   858,    -1,    -1,    -1,
+     858,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   858,    -1,
+     858,   858,    -1,    -1,    -1,   877,    -1,    -1,    -1,   877,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   893,    -1,    -1,    -1,   893
+      -1,    -1,   894,    -1,    -1,    -1,   894
   };
 
   const unsigned short int
@@ -4017,19 +4019,20 @@ namespace isc { namespace dhcp {
        6,     3,   381,     6,     3,   404,     8,     4,   474,     4,
        4,     4,     4,   151,   153,   151,   153,   151,     4,     4,
      213,   280,   276,   311,   307,   335,   331,   183,   194,   195,
-     196,   197,   224,   272,   284,   290,   294,   301,   302,   327,
-     401,   405,   299,   237,   243,   288,   256,   252,   151,   151,
-     151,   151,   151,   151,   265,     4,     4,   151,   151,   151,
-     418,     4,     4,   431,     6,     3,   353,   349,   367,   363,
-     384,   380,     4,     5,    17,    18,    19,    20,   216,   150,
-     150,   150,   150,   150,     8,     8,     8,     3,     8,     8,
-      93,    94,    95,   421,   150,   150,   150,   150,     8,     8,
-       8,   150,     7,   477,   478,   302,   479,     3,     6,   128,
-     130,   131,   183,   224,   480,   481,   482,   483,   485,   478,
-     486,     4,   484,     3,     8,     4,   151,     4,   481,     5,
-     150,     7,   487,   488,   489,     3,     6,   129,   132,   133,
-     134,   490,   491,   492,   494,   495,   496,   488,   493,     4,
-       4,     4,     3,     8,     4,   153,   151,   151,   491,   150
+     196,   197,   224,   272,   284,   286,   290,   294,   301,   302,
+     327,   401,   405,   299,   237,   243,   288,   256,   252,   151,
+     151,   151,   151,   151,   151,   265,     4,     4,   151,   151,
+     151,   418,     4,     4,   431,     6,     3,   353,   349,   367,
+     363,   384,   380,     4,     5,    17,    18,    19,    20,   216,
+     150,   150,   150,   150,   150,     8,     8,     8,     3,     8,
+       8,    93,    94,    95,   421,   150,   150,   150,   150,     8,
+       8,     8,   150,     7,   477,   478,   302,   479,     3,     6,
+     128,   130,   131,   183,   224,   480,   481,   482,   483,   485,
+     478,   486,     4,   484,     3,     8,     4,   151,     4,   481,
+       5,   150,     7,   487,   488,   489,     3,     6,   129,   132,
+     133,   134,   490,   491,   492,   494,   495,   496,   488,   493,
+       4,     4,     4,     3,     8,     4,   153,   151,   151,   491,
+     150
   };
 
   const unsigned short int
@@ -4062,36 +4065,36 @@ namespace isc { namespace dhcp {
      289,   288,   291,   290,   292,   292,   292,   293,   294,   296,
      295,   297,   297,   298,   298,   300,   299,   301,   301,   302,
      302,   302,   302,   302,   302,   302,   302,   302,   302,   302,
-     302,   302,   304,   303,   305,   305,   306,   306,   308,   307,
-     310,   309,   311,   311,   312,   312,   313,   313,   313,   313,
-     313,   313,   313,   313,   314,   315,   316,   318,   317,   320,
-     319,   322,   321,   323,   325,   324,   326,   328,   327,   329,
-     329,   330,   330,   332,   331,   334,   333,   335,   335,   336,
-     336,   337,   337,   337,   337,   337,   337,   337,   338,   340,
-     339,   341,   342,   343,   344,   346,   345,   347,   347,   348,
-     348,   350,   349,   352,   351,   353,   353,   354,   354,   354,
-     354,   356,   355,   358,   357,   360,   359,   361,   361,   362,
-     362,   364,   363,   366,   365,   367,   367,   368,   368,   368,
-     368,   368,   368,   368,   368,   370,   369,   371,   373,   372,
-     374,   375,   377,   376,   378,   378,   379,   379,   381,   380,
-     383,   382,   384,   384,   385,   385,   386,   386,   386,   386,
-     386,   386,   386,   386,   386,   388,   387,   390,   389,   392,
-     391,   394,   393,   396,   395,   398,   397,   400,   399,   402,
-     401,   404,   403,   406,   405,   407,   407,   408,   288,   409,
-     409,   410,   410,   411,   411,   411,   411,   412,   414,   413,
-     416,   415,   417,   417,   418,   418,   418,   418,   418,   418,
-     418,   420,   419,   421,   421,   421,   422,   424,   423,   425,
-     426,   427,   429,   428,   430,   430,   431,   431,   433,   432,
-     435,   434,   437,   436,   439,   438,   440,   440,   441,   441,
+     302,   302,   302,   304,   303,   305,   305,   306,   306,   308,
+     307,   310,   309,   311,   311,   312,   312,   313,   313,   313,
+     313,   313,   313,   313,   313,   314,   315,   316,   318,   317,
+     320,   319,   322,   321,   323,   325,   324,   326,   328,   327,
+     329,   329,   330,   330,   332,   331,   334,   333,   335,   335,
+     336,   336,   337,   337,   337,   337,   337,   337,   337,   338,
+     340,   339,   341,   342,   343,   344,   346,   345,   347,   347,
+     348,   348,   350,   349,   352,   351,   353,   353,   354,   354,
+     354,   354,   356,   355,   358,   357,   360,   359,   361,   361,
+     362,   362,   364,   363,   366,   365,   367,   367,   368,   368,
+     368,   368,   368,   368,   368,   368,   370,   369,   371,   373,
+     372,   374,   375,   377,   376,   378,   378,   379,   379,   381,
+     380,   383,   382,   384,   384,   385,   385,   386,   386,   386,
+     386,   386,   386,   386,   386,   386,   388,   387,   390,   389,
+     392,   391,   394,   393,   396,   395,   398,   397,   400,   399,
+     402,   401,   404,   403,   406,   405,   407,   407,   408,   288,
+     409,   409,   410,   410,   411,   411,   411,   411,   412,   414,
+     413,   416,   415,   417,   417,   418,   418,   418,   418,   418,
+     418,   418,   420,   419,   421,   421,   421,   422,   424,   423,
+     425,   426,   427,   429,   428,   430,   430,   431,   431,   433,
+     432,   435,   434,   437,   436,   439,   438,   440,   440,   441,
      441,   441,   441,   441,   441,   441,   441,   441,   441,   441,
-     441,   441,   441,   442,   444,   443,   446,   445,   447,   449,
-     448,   450,   451,   453,   452,   454,   454,   456,   455,   457,
-     458,   459,   461,   460,   462,   462,   462,   462,   462,   464,
-     463,   466,   465,   468,   467,   470,   469,   472,   471,   473,
-     473,   474,   476,   475,   477,   477,   479,   478,   480,   480,
-     481,   481,   481,   481,   481,   482,   484,   483,   486,   485,
-     487,   487,   489,   488,   490,   490,   491,   491,   491,   491,
-     493,   492,   494,   495,   496
+     441,   441,   441,   441,   442,   444,   443,   446,   445,   447,
+     449,   448,   450,   451,   453,   452,   454,   454,   456,   455,
+     457,   458,   459,   461,   460,   462,   462,   462,   462,   462,
+     464,   463,   466,   465,   468,   467,   470,   469,   472,   471,
+     473,   473,   474,   476,   475,   477,   477,   479,   478,   480,
+     480,   481,   481,   481,   481,   481,   482,   484,   483,   486,
+     485,   487,   487,   489,   488,   490,   490,   491,   491,   491,
+     491,   493,   492,   494,   495,   496
   };
 
   const unsigned char
@@ -4124,36 +4127,36 @@ namespace isc { namespace dhcp {
        0,     4,     0,     4,     1,     1,     1,     3,     3,     0,
        6,     0,     1,     1,     3,     0,     4,     1,     3,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     0,     6,     0,     1,     1,     3,     0,     4,
-       0,     4,     0,     1,     1,     3,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     3,     1,     0,     4,     0,
-       4,     0,     4,     1,     0,     4,     3,     0,     6,     0,
-       1,     1,     3,     0,     4,     0,     4,     0,     1,     1,
-       3,     1,     1,     1,     1,     1,     1,     1,     1,     0,
-       4,     1,     1,     3,     3,     0,     6,     0,     1,     1,
-       3,     0,     4,     0,     4,     1,     3,     1,     1,     1,
-       1,     0,     4,     0,     4,     0,     6,     0,     1,     1,
-       3,     0,     4,     0,     4,     1,     3,     1,     1,     1,
-       1,     1,     1,     1,     1,     0,     4,     3,     0,     4,
-       3,     3,     0,     6,     0,     1,     1,     3,     0,     4,
-       0,     4,     0,     1,     1,     3,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     0,     4,     0,     4,     0,
-       4,     0,     4,     0,     4,     0,     4,     0,     4,     0,
-       6,     0,     4,     0,     6,     1,     3,     0,     4,     0,
-       1,     1,     3,     1,     1,     1,     1,     1,     0,     4,
-       0,     6,     1,     3,     1,     1,     1,     1,     1,     1,
-       1,     0,     4,     1,     1,     1,     3,     0,     4,     3,
-       3,     3,     0,     6,     1,     3,     1,     1,     0,     4,
-       0,     4,     0,     6,     0,     4,     1,     3,     1,     1,
+       1,     1,     1,     0,     6,     0,     1,     1,     3,     0,
+       4,     0,     4,     0,     1,     1,     3,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     3,     1,     0,     4,
+       0,     4,     0,     4,     1,     0,     4,     3,     0,     6,
+       0,     1,     1,     3,     0,     4,     0,     4,     0,     1,
+       1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
+       0,     4,     1,     1,     3,     3,     0,     6,     0,     1,
+       1,     3,     0,     4,     0,     4,     1,     3,     1,     1,
+       1,     1,     0,     4,     0,     4,     0,     6,     0,     1,
+       1,     3,     0,     4,     0,     4,     1,     3,     1,     1,
+       1,     1,     1,     1,     1,     1,     0,     4,     3,     0,
+       4,     3,     3,     0,     6,     0,     1,     1,     3,     0,
+       4,     0,     4,     0,     1,     1,     3,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     0,     4,     0,     4,
+       0,     4,     0,     4,     0,     4,     0,     4,     0,     4,
+       0,     6,     0,     4,     0,     6,     1,     3,     0,     4,
+       0,     1,     1,     3,     1,     1,     1,     1,     1,     0,
+       4,     0,     6,     1,     3,     1,     1,     1,     1,     1,
+       1,     1,     0,     4,     1,     1,     1,     3,     0,     4,
+       3,     3,     3,     0,     6,     1,     3,     1,     1,     0,
+       4,     0,     4,     0,     6,     0,     4,     1,     3,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     3,     0,     4,     0,     4,     3,     0,
-       4,     3,     3,     0,     4,     1,     1,     0,     4,     3,
-       3,     3,     0,     4,     1,     1,     1,     1,     1,     0,
-       4,     0,     4,     0,     4,     0,     4,     0,     6,     1,
-       3,     1,     0,     6,     1,     3,     0,     4,     1,     3,
-       1,     1,     1,     1,     1,     3,     0,     4,     0,     6,
-       1,     3,     0,     4,     1,     3,     1,     1,     1,     1,
-       0,     4,     3,     3,     3
+       1,     1,     1,     1,     3,     0,     4,     0,     4,     3,
+       0,     4,     3,     3,     0,     4,     1,     1,     0,     4,
+       3,     3,     3,     0,     4,     1,     1,     1,     1,     1,
+       0,     4,     0,     4,     0,     4,     0,     4,     0,     6,
+       1,     3,     1,     0,     6,     1,     3,     0,     4,     1,
+       3,     1,     1,     1,     1,     1,     3,     0,     4,     0,
+       6,     1,     3,     0,     4,     1,     3,     1,     1,     1,
+       1,     0,     4,     3,     3,     3
   };
 
 
@@ -4320,36 +4323,36 @@ namespace isc { namespace dhcp {
      917,   917,   925,   925,   932,   933,   934,   937,   942,   950,
      950,   961,   962,   966,   967,   970,   970,   978,   979,   982,
      983,   984,   985,   986,   987,   988,   989,   990,   991,   992,
-     993,   994,  1001,  1001,  1013,  1014,  1017,  1018,  1023,  1023,
-    1034,  1034,  1044,  1045,  1048,  1049,  1052,  1053,  1054,  1055,
-    1056,  1057,  1058,  1059,  1062,  1064,  1069,  1071,  1071,  1079,
-    1079,  1087,  1087,  1095,  1097,  1097,  1105,  1114,  1114,  1126,
-    1127,  1132,  1133,  1138,  1138,  1149,  1149,  1160,  1161,  1166,
-    1167,  1172,  1173,  1174,  1175,  1176,  1177,  1178,  1181,  1183,
-    1183,  1191,  1193,  1195,  1200,  1208,  1208,  1220,  1221,  1224,
-    1225,  1228,  1228,  1236,  1236,  1244,  1245,  1248,  1249,  1250,
-    1251,  1254,  1254,  1262,  1262,  1272,  1272,  1284,  1285,  1288,
-    1289,  1292,  1292,  1300,  1300,  1308,  1309,  1312,  1313,  1314,
-    1315,  1316,  1317,  1318,  1319,  1322,  1322,  1330,  1335,  1335,
-    1343,  1348,  1356,  1356,  1366,  1367,  1370,  1371,  1374,  1374,
-    1382,  1382,  1390,  1391,  1394,  1395,  1399,  1400,  1401,  1402,
-    1403,  1404,  1405,  1406,  1407,  1410,  1410,  1420,  1420,  1430,
-    1430,  1438,  1438,  1446,  1446,  1454,  1454,  1462,  1462,  1475,
-    1475,  1485,  1485,  1496,  1496,  1506,  1507,  1510,  1510,  1518,
-    1519,  1522,  1523,  1526,  1527,  1528,  1529,  1532,  1534,  1534,
-    1545,  1545,  1555,  1556,  1559,  1560,  1561,  1562,  1563,  1564,
-    1565,  1568,  1568,  1575,  1576,  1577,  1580,  1585,  1585,  1593,
-    1598,  1605,  1612,  1612,  1622,  1623,  1626,  1627,  1630,  1630,
-    1638,  1638,  1648,  1648,  1658,  1658,  1666,  1667,  1670,  1671,
+     993,   994,   995,  1002,  1002,  1014,  1015,  1018,  1019,  1024,
+    1024,  1035,  1035,  1045,  1046,  1049,  1050,  1053,  1054,  1055,
+    1056,  1057,  1058,  1059,  1060,  1063,  1065,  1070,  1072,  1072,
+    1080,  1080,  1088,  1088,  1096,  1098,  1098,  1106,  1115,  1115,
+    1127,  1128,  1133,  1134,  1139,  1139,  1150,  1150,  1161,  1162,
+    1167,  1168,  1173,  1174,  1175,  1176,  1177,  1178,  1179,  1182,
+    1184,  1184,  1192,  1194,  1196,  1201,  1209,  1209,  1221,  1222,
+    1225,  1226,  1229,  1229,  1237,  1237,  1245,  1246,  1249,  1250,
+    1251,  1252,  1255,  1255,  1263,  1263,  1273,  1273,  1285,  1286,
+    1289,  1290,  1293,  1293,  1301,  1301,  1309,  1310,  1313,  1314,
+    1315,  1316,  1317,  1318,  1319,  1320,  1323,  1323,  1331,  1336,
+    1336,  1344,  1349,  1357,  1357,  1367,  1368,  1371,  1372,  1375,
+    1375,  1383,  1383,  1391,  1392,  1395,  1396,  1400,  1401,  1402,
+    1403,  1404,  1405,  1406,  1407,  1408,  1411,  1411,  1421,  1421,
+    1431,  1431,  1439,  1439,  1447,  1447,  1455,  1455,  1463,  1463,
+    1476,  1476,  1486,  1486,  1497,  1497,  1507,  1508,  1511,  1511,
+    1519,  1520,  1523,  1524,  1527,  1528,  1529,  1530,  1533,  1535,
+    1535,  1546,  1546,  1556,  1557,  1560,  1561,  1562,  1563,  1564,
+    1565,  1566,  1569,  1569,  1576,  1577,  1578,  1581,  1586,  1586,
+    1594,  1599,  1606,  1613,  1613,  1623,  1624,  1627,  1628,  1631,
+    1631,  1639,  1639,  1649,  1649,  1659,  1659,  1667,  1668,  1671,
     1672,  1673,  1674,  1675,  1676,  1677,  1678,  1679,  1680,  1681,
-    1682,  1683,  1684,  1687,  1692,  1692,  1700,  1700,  1708,  1713,
-    1713,  1721,  1726,  1731,  1731,  1739,  1740,  1743,  1743,  1751,
-    1756,  1761,  1766,  1766,  1774,  1777,  1780,  1783,  1786,  1792,
-    1792,  1802,  1802,  1809,  1809,  1816,  1816,  1829,  1829,  1842,
-    1843,  1847,  1851,  1851,  1863,  1864,  1868,  1868,  1876,  1877,
-    1880,  1881,  1882,  1883,  1884,  1887,  1892,  1892,  1900,  1900,
-    1910,  1911,  1914,  1914,  1922,  1923,  1926,  1927,  1928,  1929,
-    1932,  1932,  1940,  1945,  1950
+    1682,  1683,  1684,  1685,  1688,  1693,  1693,  1701,  1701,  1709,
+    1714,  1714,  1722,  1727,  1732,  1732,  1740,  1741,  1744,  1744,
+    1752,  1757,  1762,  1767,  1767,  1775,  1778,  1781,  1784,  1787,
+    1793,  1793,  1803,  1803,  1810,  1810,  1817,  1817,  1830,  1830,
+    1843,  1844,  1848,  1852,  1852,  1864,  1865,  1869,  1869,  1877,
+    1878,  1881,  1882,  1883,  1884,  1885,  1888,  1893,  1893,  1901,
+    1901,  1911,  1912,  1915,  1915,  1923,  1924,  1927,  1928,  1929,
+    1930,  1933,  1933,  1941,  1946,  1951
   };
 
   // Print the state stack on the debug stream.
@@ -4384,8 +4387,8 @@ namespace isc { namespace dhcp {
 
 #line 14 "dhcp6_parser.yy" // lalr1.cc:1167
 } } // isc::dhcp
-#line 4388 "dhcp6_parser.cc" // lalr1.cc:1167
-#line 1955 "dhcp6_parser.yy" // lalr1.cc:1168
+#line 4391 "dhcp6_parser.cc" // lalr1.cc:1167
+#line 1956 "dhcp6_parser.yy" // lalr1.cc:1168
 
 
 void
index 63d617555c46636868e1c7c15a3940b294854a80..5b20252f1649b3d0910b522b54b01cc5330eb4e1 100644 (file)
@@ -1425,7 +1425,7 @@ namespace isc { namespace dhcp {
     enum
     {
       yyeof_ = 0,
-      yylast_ = 835,     ///< Last index in yytable_.
+      yylast_ = 836,     ///< Last index in yytable_.
       yynnts_ = 343,  ///< Number of nonterminal symbols.
       yyfinal_ = 26, ///< Termination state number.
       yyterror_ = 1,