]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[trac5351] regen bison
authorFrancis Dupont <fdupont@isc.org>
Tue, 28 Nov 2017 15:47:33 +0000 (15:47 +0000)
committerFrancis Dupont <fdupont@isc.org>
Tue, 28 Nov 2017 15:47:33 +0000 (15:47 +0000)
src/bin/dhcp4/dhcp4_parser.cc
src/bin/dhcp4/dhcp4_parser.h
src/bin/dhcp4/location.hh
src/bin/dhcp4/position.hh
src/bin/dhcp4/stack.hh
src/bin/dhcp6/dhcp6_parser.cc
src/bin/dhcp6/dhcp6_parser.h
src/bin/dhcp6/location.hh
src/bin/dhcp6/position.hh
src/bin/dhcp6/stack.hh

index 37d9c351f714fbe69442a6f7fdd5ba8b3e1d5670..4052b0a8871667eded70b67fc58eaa0018281cce 100644 (file)
@@ -1950,8 +1950,8 @@ namespace isc { namespace dhcp {
 #line 1951 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 294:
-#line 1061 "dhcp4_parser.yy" // lalr1.cc:859
+  case 296:
+#line 1063 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("option-def", l);
@@ -1961,8 +1961,8 @@ namespace isc { namespace dhcp {
 #line 1962 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 295:
-#line 1066 "dhcp4_parser.yy" // lalr1.cc:859
+  case 297:
+#line 1068 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1970,8 +1970,8 @@ namespace isc { namespace dhcp {
 #line 1971 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 296:
-#line 1074 "dhcp4_parser.yy" // lalr1.cc:859
+  case 298:
+#line 1076 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
@@ -1979,16 +1979,16 @@ namespace isc { namespace dhcp {
 #line 1980 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 297:
-#line 1077 "dhcp4_parser.yy" // lalr1.cc:859
+  case 299:
+#line 1079 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // parsing completed
 }
 #line 1988 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 302:
-#line 1093 "dhcp4_parser.yy" // lalr1.cc:859
+  case 304:
+#line 1095 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -1997,8 +1997,8 @@ namespace isc { namespace dhcp {
 #line 1998 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 303:
-#line 1097 "dhcp4_parser.yy" // lalr1.cc:859
+  case 305:
+#line 1099 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // The name, code and type option def parameters are required.
     ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2009,8 +2009,8 @@ namespace isc { namespace dhcp {
 #line 2010 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 304:
-#line 1108 "dhcp4_parser.yy" // lalr1.cc:859
+  case 306:
+#line 1110 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // Parse the option-def list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2019,8 +2019,8 @@ namespace isc { namespace dhcp {
 #line 2020 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 305:
-#line 1112 "dhcp4_parser.yy" // lalr1.cc:859
+  case 307:
+#line 1114 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // The name, code and type option def parameters are required.
     ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2031,8 +2031,8 @@ namespace isc { namespace dhcp {
 #line 2032 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 319:
-#line 1142 "dhcp4_parser.yy" // lalr1.cc:859
+  case 321:
+#line 1144 "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);
@@ -2040,16 +2040,16 @@ namespace isc { namespace dhcp {
 #line 2041 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 321:
-#line 1149 "dhcp4_parser.yy" // lalr1.cc:859
+  case 323:
+#line 1151 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2049 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 322:
-#line 1151 "dhcp4_parser.yy" // lalr1.cc:859
+  case 324:
+#line 1153 "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);
@@ -2058,16 +2058,16 @@ namespace isc { namespace dhcp {
 #line 2059 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 323:
-#line 1157 "dhcp4_parser.yy" // lalr1.cc:859
+  case 325:
+#line 1159 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2067 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 324:
-#line 1159 "dhcp4_parser.yy" // lalr1.cc:859
+  case 326:
+#line 1161 "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);
@@ -2076,16 +2076,16 @@ namespace isc { namespace dhcp {
 #line 2077 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 325:
-#line 1165 "dhcp4_parser.yy" // lalr1.cc:859
+  case 327:
+#line 1167 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2085 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 326:
-#line 1167 "dhcp4_parser.yy" // lalr1.cc:859
+  case 328:
+#line 1169 "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);
@@ -2094,16 +2094,16 @@ namespace isc { namespace dhcp {
 #line 2095 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 328:
-#line 1175 "dhcp4_parser.yy" // lalr1.cc:859
+  case 330:
+#line 1177 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2103 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 329:
-#line 1177 "dhcp4_parser.yy" // lalr1.cc:859
+  case 331:
+#line 1179 "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);
@@ -2112,8 +2112,8 @@ namespace isc { namespace dhcp {
 #line 2113 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 330:
-#line 1183 "dhcp4_parser.yy" // lalr1.cc:859
+  case 332:
+#line 1185 "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);
@@ -2121,8 +2121,8 @@ namespace isc { namespace dhcp {
 #line 2122 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 331:
-#line 1192 "dhcp4_parser.yy" // lalr1.cc:859
+  case 333:
+#line 1194 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("option-data", l);
@@ -2132,8 +2132,8 @@ namespace isc { namespace dhcp {
 #line 2133 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 332:
-#line 1197 "dhcp4_parser.yy" // lalr1.cc:859
+  case 334:
+#line 1199 "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 337:
-#line 1216 "dhcp4_parser.yy" // lalr1.cc:859
+  case 339:
+#line 1218 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2151,8 +2151,8 @@ namespace isc { namespace dhcp {
 #line 2152 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 338:
-#line 1220 "dhcp4_parser.yy" // lalr1.cc:859
+  case 340:
+#line 1222 "dhcp4_parser.yy" // lalr1.cc:859
     {
     /// @todo: the code or name parameters are required.
     ctx.stack_.pop_back();
@@ -2160,8 +2160,8 @@ namespace isc { namespace dhcp {
 #line 2161 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 339:
-#line 1228 "dhcp4_parser.yy" // lalr1.cc:859
+  case 341:
+#line 1230 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // Parse the option-data list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2170,8 +2170,8 @@ namespace isc { namespace dhcp {
 #line 2171 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 340:
-#line 1232 "dhcp4_parser.yy" // lalr1.cc:859
+  case 342:
+#line 1234 "dhcp4_parser.yy" // lalr1.cc:859
     {
     /// @todo: the code or name parameters are required.
     // parsing completed
@@ -2179,16 +2179,16 @@ namespace isc { namespace dhcp {
 #line 2180 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 353:
-#line 1263 "dhcp4_parser.yy" // lalr1.cc:859
+  case 355:
+#line 1265 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2188 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 354:
-#line 1265 "dhcp4_parser.yy" // lalr1.cc:859
+  case 356:
+#line 1267 "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);
@@ -2197,8 +2197,8 @@ namespace isc { namespace dhcp {
 #line 2198 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 357:
-#line 1275 "dhcp4_parser.yy" // lalr1.cc:859
+  case 359:
+#line 1277 "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);
@@ -2206,8 +2206,8 @@ namespace isc { namespace dhcp {
 #line 2207 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 358:
-#line 1280 "dhcp4_parser.yy" // lalr1.cc:859
+  case 360:
+#line 1282 "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);
@@ -2215,8 +2215,8 @@ namespace isc { namespace dhcp {
 #line 2216 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 359:
-#line 1288 "dhcp4_parser.yy" // lalr1.cc:859
+  case 361:
+#line 1290 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pools", l);
@@ -2226,8 +2226,8 @@ namespace isc { namespace dhcp {
 #line 2227 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 360:
-#line 1293 "dhcp4_parser.yy" // lalr1.cc:859
+  case 362:
+#line 1295 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2235,8 +2235,8 @@ namespace isc { namespace dhcp {
 #line 2236 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 365:
-#line 1308 "dhcp4_parser.yy" // lalr1.cc:859
+  case 367:
+#line 1310 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2245,8 +2245,8 @@ namespace isc { namespace dhcp {
 #line 2246 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 366:
-#line 1312 "dhcp4_parser.yy" // lalr1.cc:859
+  case 368:
+#line 1314 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // The pool parameter is required.
     ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2255,8 +2255,8 @@ namespace isc { namespace dhcp {
 #line 2256 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 367:
-#line 1318 "dhcp4_parser.yy" // lalr1.cc:859
+  case 369:
+#line 1320 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // Parse the pool list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2265,8 +2265,8 @@ namespace isc { namespace dhcp {
 #line 2266 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 368:
-#line 1322 "dhcp4_parser.yy" // lalr1.cc:859
+  case 370:
+#line 1324 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // The pool parameter is required.
     ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2275,16 +2275,16 @@ namespace isc { namespace dhcp {
 #line 2276 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 376:
-#line 1339 "dhcp4_parser.yy" // lalr1.cc:859
+  case 378:
+#line 1341 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2284 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 377:
-#line 1341 "dhcp4_parser.yy" // lalr1.cc:859
+  case 379:
+#line 1343 "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);
@@ -2293,16 +2293,16 @@ namespace isc { namespace dhcp {
 #line 2294 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 378:
-#line 1347 "dhcp4_parser.yy" // lalr1.cc:859
+  case 380:
+#line 1349 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2302 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 379:
-#line 1349 "dhcp4_parser.yy" // lalr1.cc:859
+  case 381:
+#line 1351 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->combine_set("user-context", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2310,16 +2310,16 @@ namespace isc { namespace dhcp {
 #line 2311 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 380:
-#line 1354 "dhcp4_parser.yy" // lalr1.cc:859
+  case 382:
+#line 1356 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2319 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 381:
-#line 1356 "dhcp4_parser.yy" // lalr1.cc:859
+  case 383:
+#line 1358 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr e(new MapElement(ctx.loc2pos(yystack_[3].location)));
     e->set("comment", yystack_[0].value.as< ElementPtr > ());
@@ -2329,8 +2329,8 @@ namespace isc { namespace dhcp {
 #line 2330 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 382:
-#line 1366 "dhcp4_parser.yy" // lalr1.cc:859
+  case 384:
+#line 1368 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("reservations", l);
@@ -2340,8 +2340,8 @@ namespace isc { namespace dhcp {
 #line 2341 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 383:
-#line 1371 "dhcp4_parser.yy" // lalr1.cc:859
+  case 385:
+#line 1373 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2349,8 +2349,8 @@ namespace isc { namespace dhcp {
 #line 2350 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 388:
-#line 1384 "dhcp4_parser.yy" // lalr1.cc:859
+  case 390:
+#line 1386 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2359,8 +2359,8 @@ namespace isc { namespace dhcp {
 #line 2360 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 389:
-#line 1388 "dhcp4_parser.yy" // lalr1.cc:859
+  case 391:
+#line 1390 "dhcp4_parser.yy" // lalr1.cc:859
     {
     /// @todo: an identifier parameter is required.
     ctx.stack_.pop_back();
@@ -2368,8 +2368,8 @@ namespace isc { namespace dhcp {
 #line 2369 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 390:
-#line 1393 "dhcp4_parser.yy" // lalr1.cc:859
+  case 392:
+#line 1395 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // Parse the reservations list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2378,8 +2378,8 @@ namespace isc { namespace dhcp {
 #line 2379 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 391:
-#line 1397 "dhcp4_parser.yy" // lalr1.cc:859
+  case 393:
+#line 1399 "dhcp4_parser.yy" // lalr1.cc:859
     {
     /// @todo: an identifier parameter is required.
     // parsing completed
@@ -2387,16 +2387,16 @@ namespace isc { namespace dhcp {
 #line 2388 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 409:
-#line 1426 "dhcp4_parser.yy" // lalr1.cc:859
+  case 411:
+#line 1428 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2396 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 410:
-#line 1428 "dhcp4_parser.yy" // lalr1.cc:859
+  case 412:
+#line 1430 "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);
@@ -2405,16 +2405,16 @@ namespace isc { namespace dhcp {
 #line 2406 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 411:
-#line 1434 "dhcp4_parser.yy" // lalr1.cc:859
+  case 413:
+#line 1436 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2414 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 412:
-#line 1436 "dhcp4_parser.yy" // lalr1.cc:859
+  case 414:
+#line 1438 "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);
@@ -2423,16 +2423,16 @@ namespace isc { namespace dhcp {
 #line 2424 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 413:
-#line 1442 "dhcp4_parser.yy" // lalr1.cc:859
+  case 415:
+#line 1444 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2432 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 414:
-#line 1444 "dhcp4_parser.yy" // lalr1.cc:859
+  case 416:
+#line 1446 "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);
@@ -2441,16 +2441,16 @@ namespace isc { namespace dhcp {
 #line 2442 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 415:
-#line 1450 "dhcp4_parser.yy" // lalr1.cc:859
+  case 417:
+#line 1452 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2450 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 416:
-#line 1452 "dhcp4_parser.yy" // lalr1.cc:859
+  case 418:
+#line 1454 "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);
@@ -2459,16 +2459,16 @@ namespace isc { namespace dhcp {
 #line 2460 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 417:
-#line 1458 "dhcp4_parser.yy" // lalr1.cc:859
+  case 419:
+#line 1460 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2468 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 418:
-#line 1460 "dhcp4_parser.yy" // lalr1.cc:859
+  case 420:
+#line 1462 "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);
@@ -2477,16 +2477,16 @@ namespace isc { namespace dhcp {
 #line 2478 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 419:
-#line 1466 "dhcp4_parser.yy" // lalr1.cc:859
+  case 421:
+#line 1468 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2486 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 420:
-#line 1468 "dhcp4_parser.yy" // lalr1.cc:859
+  case 422:
+#line 1470 "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);
@@ -2495,16 +2495,16 @@ namespace isc { namespace dhcp {
 #line 2496 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 421:
-#line 1474 "dhcp4_parser.yy" // lalr1.cc:859
+  case 423:
+#line 1476 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2504 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 422:
-#line 1476 "dhcp4_parser.yy" // lalr1.cc:859
+  case 424:
+#line 1478 "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);
@@ -2513,16 +2513,16 @@ namespace isc { namespace dhcp {
 #line 2514 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 423:
-#line 1482 "dhcp4_parser.yy" // lalr1.cc:859
+  case 425:
+#line 1484 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2522 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 424:
-#line 1484 "dhcp4_parser.yy" // lalr1.cc:859
+  case 426:
+#line 1486 "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);
@@ -2531,16 +2531,16 @@ namespace isc { namespace dhcp {
 #line 2532 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 425:
-#line 1490 "dhcp4_parser.yy" // lalr1.cc:859
+  case 427:
+#line 1492 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2540 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 426:
-#line 1492 "dhcp4_parser.yy" // lalr1.cc:859
+  case 428:
+#line 1494 "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);
@@ -2549,16 +2549,16 @@ namespace isc { namespace dhcp {
 #line 2550 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 427:
-#line 1498 "dhcp4_parser.yy" // lalr1.cc:859
+  case 429:
+#line 1500 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2558 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 428:
-#line 1500 "dhcp4_parser.yy" // lalr1.cc:859
+  case 430:
+#line 1502 "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);
@@ -2567,8 +2567,8 @@ namespace isc { namespace dhcp {
 #line 2568 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 429:
-#line 1506 "dhcp4_parser.yy" // lalr1.cc:859
+  case 431:
+#line 1508 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-classes", c);
@@ -2578,8 +2578,8 @@ namespace isc { namespace dhcp {
 #line 2579 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 430:
-#line 1511 "dhcp4_parser.yy" // lalr1.cc:859
+  case 432:
+#line 1513 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2587,8 +2587,8 @@ namespace isc { namespace dhcp {
 #line 2588 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 431:
-#line 1519 "dhcp4_parser.yy" // lalr1.cc:859
+  case 433:
+#line 1521 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("relay", m);
@@ -2598,8 +2598,8 @@ namespace isc { namespace dhcp {
 #line 2599 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 432:
-#line 1524 "dhcp4_parser.yy" // lalr1.cc:859
+  case 434:
+#line 1526 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2607,16 +2607,16 @@ namespace isc { namespace dhcp {
 #line 2608 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 433:
-#line 1529 "dhcp4_parser.yy" // lalr1.cc:859
+  case 435:
+#line 1531 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2616 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 434:
-#line 1531 "dhcp4_parser.yy" // lalr1.cc:859
+  case 436:
+#line 1533 "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);
@@ -2625,8 +2625,8 @@ namespace isc { namespace dhcp {
 #line 2626 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 435:
-#line 1540 "dhcp4_parser.yy" // lalr1.cc:859
+  case 437:
+#line 1542 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-classes", l);
@@ -2636,8 +2636,8 @@ namespace isc { namespace dhcp {
 #line 2637 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 436:
-#line 1545 "dhcp4_parser.yy" // lalr1.cc:859
+  case 438:
+#line 1547 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2645,8 +2645,8 @@ namespace isc { namespace dhcp {
 #line 2646 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 439:
-#line 1554 "dhcp4_parser.yy" // lalr1.cc:859
+  case 441:
+#line 1556 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2655,8 +2655,8 @@ namespace isc { namespace dhcp {
 #line 2656 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 440:
-#line 1558 "dhcp4_parser.yy" // lalr1.cc:859
+  case 442:
+#line 1560 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // The name client class parameter is required.
     ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2665,16 +2665,16 @@ namespace isc { namespace dhcp {
 #line 2666 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 454:
-#line 1584 "dhcp4_parser.yy" // lalr1.cc:859
+  case 456:
+#line 1586 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2674 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 455:
-#line 1586 "dhcp4_parser.yy" // lalr1.cc:859
+  case 457:
+#line 1588 "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);
@@ -2683,8 +2683,8 @@ namespace isc { namespace dhcp {
 #line 2684 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 456:
-#line 1596 "dhcp4_parser.yy" // lalr1.cc:859
+  case 458:
+#line 1598 "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);
@@ -2692,8 +2692,8 @@ namespace isc { namespace dhcp {
 #line 2693 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 457:
-#line 1603 "dhcp4_parser.yy" // lalr1.cc:859
+  case 459:
+#line 1605 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("control-socket", m);
@@ -2703,8 +2703,8 @@ namespace isc { namespace dhcp {
 #line 2704 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 458:
-#line 1608 "dhcp4_parser.yy" // lalr1.cc:859
+  case 460:
+#line 1610 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2712,16 +2712,16 @@ namespace isc { namespace dhcp {
 #line 2713 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 463:
-#line 1621 "dhcp4_parser.yy" // lalr1.cc:859
+  case 465:
+#line 1623 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2721 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 464:
-#line 1623 "dhcp4_parser.yy" // lalr1.cc:859
+  case 466:
+#line 1625 "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);
@@ -2730,16 +2730,16 @@ namespace isc { namespace dhcp {
 #line 2731 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 465:
-#line 1629 "dhcp4_parser.yy" // lalr1.cc:859
+  case 467:
+#line 1631 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2739 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 466:
-#line 1631 "dhcp4_parser.yy" // lalr1.cc:859
+  case 468:
+#line 1633 "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);
@@ -2748,8 +2748,8 @@ namespace isc { namespace dhcp {
 #line 2749 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 467:
-#line 1639 "dhcp4_parser.yy" // lalr1.cc:859
+  case 469:
+#line 1641 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("dhcp-ddns", m);
@@ -2759,8 +2759,8 @@ namespace isc { namespace dhcp {
 #line 2760 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 468:
-#line 1644 "dhcp4_parser.yy" // lalr1.cc:859
+  case 470:
+#line 1646 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // The enable updates DHCP DDNS parameter is required.
     ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
@@ -2770,8 +2770,8 @@ namespace isc { namespace dhcp {
 #line 2771 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 469:
-#line 1651 "dhcp4_parser.yy" // lalr1.cc:859
+  case 471:
+#line 1653 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // Parse the dhcp-ddns map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2780,8 +2780,8 @@ namespace isc { namespace dhcp {
 #line 2781 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 470:
-#line 1655 "dhcp4_parser.yy" // lalr1.cc:859
+  case 472:
+#line 1657 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // The enable updates DHCP DDNS parameter is required.
     ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2790,8 +2790,8 @@ namespace isc { namespace dhcp {
 #line 2791 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 488:
-#line 1682 "dhcp4_parser.yy" // lalr1.cc:859
+  case 490:
+#line 1684 "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);
@@ -2799,16 +2799,16 @@ namespace isc { namespace dhcp {
 #line 2800 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 489:
-#line 1687 "dhcp4_parser.yy" // lalr1.cc:859
+  case 491:
+#line 1689 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2808 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 490:
-#line 1689 "dhcp4_parser.yy" // lalr1.cc:859
+  case 492:
+#line 1691 "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);
@@ -2817,16 +2817,16 @@ namespace isc { namespace dhcp {
 #line 2818 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 491:
-#line 1695 "dhcp4_parser.yy" // lalr1.cc:859
+  case 493:
+#line 1697 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2826 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 492:
-#line 1697 "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("server-ip", s);
@@ -2835,8 +2835,8 @@ namespace isc { namespace dhcp {
 #line 2836 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 493:
-#line 1703 "dhcp4_parser.yy" // lalr1.cc:859
+  case 495:
+#line 1705 "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);
@@ -2844,16 +2844,16 @@ namespace isc { namespace dhcp {
 #line 2845 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 494:
-#line 1708 "dhcp4_parser.yy" // lalr1.cc:859
+  case 496:
+#line 1710 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2853 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 495:
-#line 1710 "dhcp4_parser.yy" // lalr1.cc:859
+  case 497:
+#line 1712 "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);
@@ -2862,8 +2862,8 @@ namespace isc { namespace dhcp {
 #line 2863 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 496:
-#line 1716 "dhcp4_parser.yy" // lalr1.cc:859
+  case 498:
+#line 1718 "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);
@@ -2871,8 +2871,8 @@ namespace isc { namespace dhcp {
 #line 2872 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 497:
-#line 1721 "dhcp4_parser.yy" // lalr1.cc:859
+  case 499:
+#line 1723 "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);
@@ -2880,16 +2880,16 @@ namespace isc { namespace dhcp {
 #line 2881 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 498:
-#line 1726 "dhcp4_parser.yy" // lalr1.cc:859
+  case 500:
+#line 1728 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NCR_PROTOCOL);
 }
 #line 2889 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 499:
-#line 1728 "dhcp4_parser.yy" // lalr1.cc:859
+  case 501:
+#line 1730 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2897,28 +2897,28 @@ namespace isc { namespace dhcp {
 #line 2898 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 500:
-#line 1734 "dhcp4_parser.yy" // lalr1.cc:859
+  case 502:
+#line 1736 "dhcp4_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
 #line 2904 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 501:
-#line 1735 "dhcp4_parser.yy" // lalr1.cc:859
+  case 503:
+#line 1737 "dhcp4_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
 #line 2910 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 502:
-#line 1738 "dhcp4_parser.yy" // lalr1.cc:859
+  case 504:
+#line 1740 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NCR_FORMAT);
 }
 #line 2918 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 503:
-#line 1740 "dhcp4_parser.yy" // lalr1.cc:859
+  case 505:
+#line 1742 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ncr-format", json);
@@ -2927,8 +2927,8 @@ namespace isc { namespace dhcp {
 #line 2928 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 504:
-#line 1746 "dhcp4_parser.yy" // lalr1.cc:859
+  case 506:
+#line 1748 "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);
@@ -2936,8 +2936,8 @@ namespace isc { namespace dhcp {
 #line 2937 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 505:
-#line 1751 "dhcp4_parser.yy" // lalr1.cc:859
+  case 507:
+#line 1753 "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);
@@ -2945,8 +2945,8 @@ namespace isc { namespace dhcp {
 #line 2946 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 506:
-#line 1756 "dhcp4_parser.yy" // lalr1.cc:859
+  case 508:
+#line 1758 "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);
@@ -2954,16 +2954,16 @@ namespace isc { namespace dhcp {
 #line 2955 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 507:
-#line 1761 "dhcp4_parser.yy" // lalr1.cc:859
+  case 509:
+#line 1763 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.REPLACE_CLIENT_NAME);
 }
 #line 2963 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 508:
-#line 1763 "dhcp4_parser.yy" // lalr1.cc:859
+  case 510:
+#line 1765 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2971,40 +2971,40 @@ namespace isc { namespace dhcp {
 #line 2972 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 509:
-#line 1769 "dhcp4_parser.yy" // lalr1.cc:859
+  case 511:
+#line 1771 "dhcp4_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); 
       }
 #line 2980 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 510:
-#line 1772 "dhcp4_parser.yy" // lalr1.cc:859
+  case 512:
+#line 1774 "dhcp4_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
       }
 #line 2988 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 511:
-#line 1775 "dhcp4_parser.yy" // lalr1.cc:859
+  case 513:
+#line 1777 "dhcp4_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
       }
 #line 2996 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 512:
-#line 1778 "dhcp4_parser.yy" // lalr1.cc:859
+  case 514:
+#line 1780 "dhcp4_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
       }
 #line 3004 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 513:
-#line 1781 "dhcp4_parser.yy" // lalr1.cc:859
+  case 515:
+#line 1783 "dhcp4_parser.yy" // lalr1.cc:859
     {
       error(yystack_[0].location, "boolean values for the replace-client-name are "
                 "no longer supported");
@@ -3012,16 +3012,16 @@ namespace isc { namespace dhcp {
 #line 3013 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 514:
-#line 1787 "dhcp4_parser.yy" // lalr1.cc:859
+  case 516:
+#line 1789 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3021 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 515:
-#line 1789 "dhcp4_parser.yy" // lalr1.cc:859
+  case 517:
+#line 1791 "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);
@@ -3030,16 +3030,16 @@ namespace isc { namespace dhcp {
 #line 3031 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 516:
-#line 1797 "dhcp4_parser.yy" // lalr1.cc:859
+  case 518:
+#line 1799 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3039 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 517:
-#line 1799 "dhcp4_parser.yy" // lalr1.cc:859
+  case 519:
+#line 1801 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("Dhcp6", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3047,16 +3047,16 @@ namespace isc { namespace dhcp {
 #line 3048 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 518:
-#line 1804 "dhcp4_parser.yy" // lalr1.cc:859
+  case 520:
+#line 1806 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3056 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 519:
-#line 1806 "dhcp4_parser.yy" // lalr1.cc:859
+  case 521:
+#line 1808 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3064,16 +3064,16 @@ namespace isc { namespace dhcp {
 #line 3065 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 520:
-#line 1811 "dhcp4_parser.yy" // lalr1.cc:859
+  case 522:
+#line 1813 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3073 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 521:
-#line 1813 "dhcp4_parser.yy" // lalr1.cc:859
+  case 523:
+#line 1815 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("Control-agent", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3081,8 +3081,8 @@ namespace isc { namespace dhcp {
 #line 3082 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 522:
-#line 1823 "dhcp4_parser.yy" // lalr1.cc:859
+  case 524:
+#line 1825 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("Logging", m);
@@ -3092,8 +3092,8 @@ namespace isc { namespace dhcp {
 #line 3093 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 523:
-#line 1828 "dhcp4_parser.yy" // lalr1.cc:859
+  case 525:
+#line 1830 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -3101,8 +3101,8 @@ namespace isc { namespace dhcp {
 #line 3102 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 527:
-#line 1845 "dhcp4_parser.yy" // lalr1.cc:859
+  case 529:
+#line 1847 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("loggers", l);
@@ -3112,8 +3112,8 @@ namespace isc { namespace dhcp {
 #line 3113 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 528:
-#line 1850 "dhcp4_parser.yy" // lalr1.cc:859
+  case 530:
+#line 1852 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -3121,8 +3121,8 @@ namespace isc { namespace dhcp {
 #line 3122 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 531:
-#line 1862 "dhcp4_parser.yy" // lalr1.cc:859
+  case 533:
+#line 1864 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(l);
@@ -3131,16 +3131,16 @@ namespace isc { namespace dhcp {
 #line 3132 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 532:
-#line 1866 "dhcp4_parser.yy" // lalr1.cc:859
+  case 534:
+#line 1868 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 3140 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 540:
-#line 1881 "dhcp4_parser.yy" // lalr1.cc:859
+  case 542:
+#line 1883 "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);
@@ -3148,16 +3148,16 @@ namespace isc { namespace dhcp {
 #line 3149 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 541:
-#line 1886 "dhcp4_parser.yy" // lalr1.cc:859
+  case 543:
+#line 1888 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3157 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 542:
-#line 1888 "dhcp4_parser.yy" // lalr1.cc:859
+  case 544:
+#line 1890 "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);
@@ -3166,8 +3166,8 @@ namespace isc { namespace dhcp {
 #line 3167 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 543:
-#line 1894 "dhcp4_parser.yy" // lalr1.cc:859
+  case 545:
+#line 1896 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output_options", l);
@@ -3177,8 +3177,8 @@ namespace isc { namespace dhcp {
 #line 3178 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 544:
-#line 1899 "dhcp4_parser.yy" // lalr1.cc:859
+  case 546:
+#line 1901 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -3186,8 +3186,8 @@ namespace isc { namespace dhcp {
 #line 3187 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 547:
-#line 1908 "dhcp4_parser.yy" // lalr1.cc:859
+  case 549:
+#line 1910 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -3196,24 +3196,24 @@ namespace isc { namespace dhcp {
 #line 3197 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 548:
-#line 1912 "dhcp4_parser.yy" // lalr1.cc:859
+  case 550:
+#line 1914 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 3205 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 555:
-#line 1926 "dhcp4_parser.yy" // lalr1.cc:859
+  case 557:
+#line 1928 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3213 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 556:
-#line 1928 "dhcp4_parser.yy" // lalr1.cc:859
+  case 558:
+#line 1930 "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);
@@ -3222,8 +3222,8 @@ namespace isc { namespace dhcp {
 #line 3223 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 557:
-#line 1934 "dhcp4_parser.yy" // lalr1.cc:859
+  case 559:
+#line 1936 "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);
@@ -3231,8 +3231,8 @@ namespace isc { namespace dhcp {
 #line 3232 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 558:
-#line 1939 "dhcp4_parser.yy" // lalr1.cc:859
+  case 560:
+#line 1941 "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);
@@ -3240,8 +3240,8 @@ namespace isc { namespace dhcp {
 #line 3241 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 559:
-#line 1944 "dhcp4_parser.yy" // lalr1.cc:859
+  case 561:
+#line 1946 "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);
@@ -3505,104 +3505,104 @@ namespace isc { namespace dhcp {
   }
 
 
-  const short int Dhcp4Parser::yypact_ninf_ = -695;
+  const short int Dhcp4Parser::yypact_ninf_ = -713;
 
   const signed char Dhcp4Parser::yytable_ninf_ = -1;
 
   const short int
   Dhcp4Parser::yypact_[] =
   {
-     130,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,    12,    20,    62,    84,    97,    99,   108,
-     120,   126,   137,   144,   158,   180,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-      20,  -109,     9,   138,    63,    19,    75,    27,    49,   204,
-     193,   -25,   251,  -695,   131,   168,   196,   190,   215,  -695,
-    -695,  -695,  -695,  -695,   223,  -695,    31,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,   234,   240,  -695,  -695,  -695,  -695,
-    -695,   249,   253,   256,   257,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,   277,  -695,  -695,  -695,    92,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,   278,   121,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,   300,   302,  -695,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,   122,  -695,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,   147,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,   227,   276,  -695,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,   287,  -695,  -695,   315,
-    -695,  -695,  -695,   317,  -695,  -695,   299,   320,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,   323,
-     342,  -695,  -695,  -695,  -695,   339,   347,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,   182,  -695,  -695,
-    -695,   348,  -695,  -695,   374,  -695,   375,   376,  -695,  -695,
-     377,   378,   379,  -695,  -695,  -695,   183,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,    20,    20,  -695,   237,   381,   382,   383,
-     384,   385,  -695,     9,  -695,   386,   241,   242,   389,   390,
-     391,   392,   393,   252,   254,   255,   258,   395,   397,   400,
-     401,   403,   404,   405,   406,   263,   408,   409,   138,  -695,
-     410,   411,   412,   267,    63,  -695,    96,   414,   416,   417,
-     418,   419,   420,   421,   422,   423,   280,   279,   426,   427,
-     428,   429,    19,  -695,   430,    75,  -695,   431,   432,   433,
-     434,   435,   436,   437,   438,  -695,    27,  -695,   439,   440,
-     297,   442,   443,   444,   301,  -695,   204,   445,   306,   307,
-    -695,   193,   446,   448,   -42,  -695,   308,   449,   451,   311,
-     456,   316,   318,   459,   461,   322,   324,   325,   463,   466,
-     251,  -695,  -695,  -695,   469,   470,   471,    20,    20,    20,
-    -695,   473,  -695,  -695,   329,   337,   338,   474,   475,  -695,
-    -695,  -695,  -695,   482,   483,   484,   486,   487,   488,   489,
-     490,  -695,   491,   492,  -695,   495,   164,    42,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,   493,   500,
-    -695,  -695,  -695,   349,   357,   358,   501,   502,    20,   363,
-     364,   365,  -695,  -695,   303,   366,   509,   510,  -695,   369,
-    -695,   495,   371,   372,   373,   380,   387,   388,   394,  -695,
-     396,   398,  -695,   399,   402,   407,  -695,  -695,   413,  -695,
-    -695,  -695,   415,    20,  -695,  -695,   424,   425,  -695,   441,
-    -695,  -695,    18,   447,  -695,  -695,  -695,    73,   450,  -695,
-      20,   138,   452,  -695,  -695,  -695,    63,  -695,  -695,  -695,
-     169,   169,   514,   515,   516,   517,   -27,    45,   518,   194,
-     141,   251,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-     522,  -695,    96,  -695,  -695,  -695,   521,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,   523,   453,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,   208,  -695,   212,  -695,  -695,   216,  -695,  -695,
-    -695,  -695,   525,   527,   528,   529,   532,  -695,  -695,  -695,
-     231,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,   275,  -695,   531,   535,  -695,  -695,
-     533,   539,  -695,  -695,   538,   544,  -695,  -695,   542,   547,
-    -695,  -695,  -695,  -695,  -695,  -695,    74,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,   110,  -695,   545,   549,  -695,   551,
-     552,   553,   554,   555,   557,   289,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,   290,  -695,  -695,  -695,   291,
-     454,   455,  -695,  -695,   558,   550,  -695,  -695,   560,   564,
-    -695,  -695,   561,  -695,   559,   452,  -695,  -695,   566,   569,
-     570,   571,   457,   345,   458,   460,   464,   573,   574,   169,
-    -695,  -695,    19,  -695,   514,   204,  -695,   515,   193,  -695,
-     516,    50,  -695,   517,   -27,  -695,    45,  -695,   -25,  -695,
-     518,   465,   467,   468,   472,   476,   477,   194,  -695,   575,
-     576,   141,  -695,  -695,  -695,   562,   578,  -695,    75,  -695,
-     521,    27,  -695,   523,   579,  -695,   577,  -695,   343,   462,
-     479,   480,  -695,  -695,  -695,  -695,  -695,   481,   485,  -695,
-     305,  -695,   581,  -695,   582,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,   327,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,   333,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,   494,   496,  -695,  -695,   497,
-     334,  -695,   583,  -695,   498,   580,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,    50,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,   128,
-    -695,  -695,   105,   580,  -695,  -695,   588,  -695,  -695,  -695,
-     335,  -695,  -695,  -695,  -695,  -695,   589,   499,   590,   105,
-    -695,   591,  -695,   504,  -695,   592,  -695,  -695,   222,  -695,
-      46,   592,  -695,  -695,   594,   596,   599,   341,  -695,  -695,
-    -695,  -695,  -695,  -695,   600,   503,   506,   507,    46,  -695,
-     505,  -695,  -695,  -695,  -695,  -695
+     236,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,    58,    20,    40,    62,    84,    88,    93,
+      97,   106,   111,   113,   150,   158,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+      20,   -91,     8,   138,   114,    19,   -12,   210,   137,    92,
+      54,   -35,   159,  -713,   190,   195,   204,   223,   235,  -713,
+    -713,  -713,  -713,  -713,   256,  -713,    56,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,   284,   285,  -713,  -713,  -713,  -713,
+    -713,   294,   301,   303,   315,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,   316,  -713,  -713,  -713,    57,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,   317,    72,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,   319,   348,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,   129,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,   168,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,   271,   350,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,   346,  -713,  -713,   352,
+    -713,  -713,  -713,   354,  -713,  -713,   351,   357,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,   358,
+     359,  -713,  -713,  -713,  -713,   353,   361,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,   199,  -713,  -713,
+    -713,   362,  -713,  -713,   363,  -713,   379,   380,  -713,  -713,
+     381,   382,   383,  -713,  -713,  -713,   222,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,    20,    20,  -713,   218,   384,   385,   386,
+     387,   388,  -713,     8,  -713,   389,   246,   247,   390,   391,
+     394,   395,   396,   253,   254,   255,   257,   400,   402,   403,
+     404,   405,   406,   407,   408,   265,   410,   411,   138,  -713,
+     412,   413,   414,   270,   114,  -713,    26,   417,   418,   419,
+     420,   421,   422,   423,   424,   425,   282,   281,   428,   429,
+     430,   431,    19,  -713,   432,   -12,  -713,   433,   434,   435,
+     436,   437,   438,   439,   440,  -713,   210,  -713,   441,   442,
+     299,   444,   445,   446,   302,  -713,    92,   447,   306,   307,
+    -713,    54,   449,   451,    49,  -713,   308,   455,   456,   318,
+     459,   322,   324,   460,   461,   323,   325,   326,   463,   470,
+     159,  -713,  -713,  -713,   473,   471,   474,    20,    20,    20,
+    -713,   475,  -713,  -713,   337,   338,   340,   481,   482,  -713,
+    -713,  -713,  -713,   486,   487,   488,   489,   490,   491,   492,
+     493,  -713,   494,   496,  -713,   499,   171,   232,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,   472,   495,
+    -713,  -713,  -713,   364,   365,   366,   500,   502,    20,   367,
+     369,   370,  -713,  -713,   105,   371,   501,   503,  -713,   372,
+    -713,   499,   373,   374,   375,   376,   377,   378,   392,  -713,
+     393,   397,  -713,   398,   399,   401,  -713,  -713,   409,  -713,
+    -713,  -713,   415,    20,  -713,  -713,   416,   426,  -713,   427,
+    -713,  -713,    17,   443,  -713,  -713,  -713,     3,   448,  -713,
+      20,   138,   452,  -713,  -713,  -713,   114,  -713,  -713,  -713,
+     183,   183,   519,   520,   521,   522,   110,    38,   523,   149,
+     127,   159,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+     527,  -713,    26,  -713,  -713,  -713,   525,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,   526,   450,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,   244,  -713,   245,  -713,  -713,   273,  -713,  -713,
+    -713,  -713,   530,   531,   532,   534,   537,  -713,  -713,  -713,
+     275,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,   279,  -713,   536,   540,  -713,  -713,
+     541,   546,  -713,  -713,   544,   548,  -713,  -713,   547,   549,
+    -713,  -713,  -713,  -713,  -713,  -713,    31,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,    76,  -713,   551,   552,  -713,   550,
+     554,   555,   556,   560,   561,   296,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,   305,  -713,  -713,  -713,   332,
+     453,   454,  -713,  -713,   562,   563,  -713,  -713,   564,   566,
+    -713,  -713,   559,  -713,   567,   452,  -713,  -713,   568,   571,
+     573,   574,   457,   349,   458,   462,   465,   575,   576,   183,
+    -713,  -713,    19,  -713,   519,    92,  -713,   520,    54,  -713,
+     521,    50,  -713,   522,   110,  -713,    38,  -713,   -35,  -713,
+     523,   466,   467,   468,   469,   476,   477,   149,  -713,   577,
+     578,   127,  -713,  -713,  -713,   579,   580,  -713,   -12,  -713,
+     525,   210,  -713,   526,   582,  -713,   583,  -713,   228,   464,
+     479,   480,  -713,  -713,  -713,  -713,  -713,   483,   484,  -713,
+     333,  -713,   581,  -713,   584,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,   335,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,   339,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,   485,   497,  -713,
+    -713,   498,   341,  -713,   585,  -713,   504,   587,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,    50,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,   142,  -713,  -713,    47,   587,  -713,  -713,   586,  -713,
+    -713,  -713,   343,  -713,  -713,  -713,  -713,  -713,   592,   505,
+     593,    47,  -713,   594,  -713,   507,  -713,   591,  -713,  -713,
+     206,  -713,    74,   591,  -713,  -713,   598,   599,   600,   347,
+    -713,  -713,  -713,  -713,  -713,  -713,   603,   478,   508,   510,
+      74,  -713,   514,  -713,  -713,  -713,  -713,  -713
   };
 
   const unsigned short int
@@ -3612,132 +3612,132 @@ 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,   108,     9,   220,    11,   367,    13,   390,    15,
-     296,    17,   304,    19,   339,    21,   185,    23,   469,    25,
-      43,    37,     0,     0,     0,     0,     0,   392,     0,   306,
-     341,     0,     0,    45,     0,    44,     0,     0,    38,    64,
-     522,   516,   518,   520,     0,    63,     0,    56,    58,    60,
-      61,    62,    59,   100,     0,     0,   409,   411,   413,   121,
-     123,     0,     0,     0,     0,   212,   294,   331,   269,   163,
-     435,   177,   196,     0,   457,   467,    93,     0,    68,    70,
+      66,     7,   108,     9,   220,    11,   369,    13,   392,    15,
+     298,    17,   306,    19,   341,    21,   185,    23,   471,    25,
+      43,    37,     0,     0,     0,     0,     0,   394,     0,   308,
+     343,     0,     0,    45,     0,    44,     0,     0,    38,    64,
+     524,   518,   520,   522,     0,    63,     0,    56,    58,    60,
+      61,    62,    59,   100,     0,     0,   411,   413,   415,   121,
+     123,     0,     0,     0,     0,   212,   296,   333,   269,   163,
+     437,   177,   196,     0,   459,   469,    93,     0,    68,    70,
       71,    72,    73,    88,    89,    76,    77,    78,    79,    83,
       84,    74,    75,    81,    82,    90,    91,    92,    80,    85,
       86,    87,   110,   112,   116,     0,     0,   102,   104,   105,
-     106,   107,   439,   250,   252,   254,   359,   378,   380,   248,
-     256,   258,     0,     0,   262,   260,   382,   431,   247,   224,
+     106,   107,   441,   250,   252,   254,   361,   380,   382,   248,
+     256,   258,     0,     0,   262,   260,   384,   433,   247,   224,
      225,   226,   238,     0,   222,   229,   242,   243,   244,   230,
      231,   234,   236,   232,   233,   227,   228,   245,   246,   235,
-     239,   240,   241,   237,   376,   375,   372,     0,   369,   371,
-     373,   374,   429,   417,   419,   423,   421,   427,   425,   415,
-     408,   404,     0,   393,   394,   405,   406,   407,   401,   396,
-     402,   398,   399,   400,   403,   397,     0,   321,   153,     0,
-     325,   323,   328,     0,   317,   318,     0,   307,   308,   310,
-     320,   311,   312,   313,   327,   314,   315,   316,   353,     0,
-       0,   351,   352,   355,   356,     0,   342,   343,   345,   346,
-     347,   348,   349,   350,   192,   194,   189,     0,   187,   190,
-     191,     0,   489,   491,     0,   494,     0,     0,   498,   502,
-       0,     0,     0,   507,   514,   487,     0,   471,   473,   474,
-     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
-     485,   486,    42,     0,     0,    35,     0,     0,     0,     0,
+     239,   240,   241,   237,   378,   377,   374,     0,   371,   373,
+     375,   376,   431,   419,   421,   425,   423,   429,   427,   417,
+     410,   406,     0,   395,   396,   407,   408,   409,   403,   398,
+     404,   400,   401,   402,   405,   399,     0,   323,   153,     0,
+     327,   325,   330,     0,   319,   320,     0,   309,   310,   312,
+     322,   313,   314,   315,   329,   316,   317,   318,   355,     0,
+       0,   353,   354,   357,   358,     0,   344,   345,   347,   348,
+     349,   350,   351,   352,   192,   194,   189,     0,   187,   190,
+     191,     0,   491,   493,     0,   496,     0,     0,   500,   504,
+       0,     0,     0,   509,   516,   489,     0,   473,   475,   476,
+     477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
+     487,   488,    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,     0,    67,
-       0,     0,     0,     0,     0,   109,   441,     0,     0,     0,
+       0,     0,     0,     0,     0,   109,   443,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   221,     0,     0,   368,     0,     0,     0,
-       0,     0,     0,     0,     0,   391,     0,   297,     0,     0,
-       0,     0,     0,     0,     0,   305,     0,     0,     0,     0,
-     340,     0,     0,     0,     0,   186,     0,     0,     0,     0,
+       0,     0,     0,   221,     0,     0,   370,     0,     0,     0,
+       0,     0,     0,     0,     0,   393,     0,   299,     0,     0,
+       0,     0,     0,     0,     0,   307,     0,     0,     0,     0,
+     342,     0,     0,     0,     0,   186,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   470,    46,    39,     0,     0,     0,     0,     0,     0,
+       0,   472,    46,    39,     0,     0,     0,     0,     0,     0,
       57,     0,    98,    99,     0,     0,     0,     0,     0,    94,
       95,    96,    97,     0,     0,     0,     0,     0,     0,     0,
-       0,   456,     0,     0,    69,     0,     0,     0,   120,   103,
-     454,   452,   453,   447,   448,   449,   450,   451,     0,   442,
-     443,   445,   446,     0,     0,     0,     0,     0,     0,     0,
+       0,   458,     0,     0,    69,     0,     0,     0,   120,   103,
+     456,   454,   455,   449,   450,   451,   452,   453,     0,   444,
+     445,   447,   448,     0,     0,     0,     0,     0,     0,     0,
        0,     0,   267,   268,     0,     0,     0,     0,   223,     0,
-     370,     0,     0,     0,     0,     0,     0,     0,     0,   395,
-       0,     0,   319,     0,     0,     0,   330,   309,     0,   357,
-     358,   344,     0,     0,   188,   488,     0,     0,   493,     0,
-     496,   497,     0,     0,   504,   505,   506,     0,     0,   472,
-       0,     0,     0,   517,   519,   521,     0,   410,   412,   414,
-       0,     0,   214,   298,   333,   271,     0,     0,   179,     0,
+     372,     0,     0,     0,     0,     0,     0,     0,     0,   397,
+       0,     0,   321,     0,     0,     0,   332,   311,     0,   359,
+     360,   346,     0,     0,   188,   490,     0,     0,   495,     0,
+     498,   499,     0,     0,   506,   507,   508,     0,     0,   474,
+       0,     0,     0,   519,   521,   523,     0,   412,   414,   416,
+       0,     0,   214,   300,   335,   271,     0,     0,   179,     0,
        0,     0,    47,   111,   114,   115,   113,   118,   119,   117,
-       0,   440,     0,   251,   253,   255,   361,    36,   379,   381,
-     249,   257,   259,   264,   265,   266,   263,   261,   384,     0,
-     377,   430,   418,   420,   424,   422,   428,   426,   416,   322,
-     154,   326,   324,   329,   354,   193,   195,   490,   492,   495,
-     500,   501,   499,   503,   509,   510,   511,   512,   513,   508,
-     515,    40,     0,   527,     0,   524,   526,     0,   140,   146,
+       0,   442,     0,   251,   253,   255,   363,    36,   381,   383,
+     249,   257,   259,   264,   265,   266,   263,   261,   386,     0,
+     379,   432,   420,   422,   426,   424,   430,   428,   418,   324,
+     154,   328,   326,   331,   356,   193,   195,   492,   494,   497,
+     502,   503,   501,   505,   511,   512,   513,   514,   515,   510,
+     517,    40,     0,   529,     0,   526,   528,     0,   140,   146,
      148,   150,     0,     0,     0,     0,     0,   159,   161,   139,
        0,   125,   127,   128,   129,   130,   131,   132,   133,   134,
-     135,   136,   137,   138,     0,   218,     0,   215,   216,   302,
-       0,   299,   300,   337,     0,   334,   335,   275,     0,   272,
+     135,   136,   137,   138,     0,   218,     0,   215,   216,   304,
+       0,   301,   302,   339,     0,   336,   337,   275,     0,   272,
      273,   172,   173,   174,   175,   176,     0,   165,   167,   168,
-     169,   170,   171,   437,     0,   183,     0,   180,   181,     0,
+     169,   170,   171,   439,     0,   183,     0,   180,   181,     0,
        0,     0,     0,     0,     0,     0,   198,   200,   201,   202,
-     203,   204,   205,   463,   465,     0,   459,   461,   462,     0,
-      49,     0,   444,   365,     0,   362,   363,   388,     0,   385,
-     386,   433,     0,    65,     0,     0,   523,   101,     0,     0,
+     203,   204,   205,   465,   467,     0,   461,   463,   464,     0,
+      49,     0,   446,   367,     0,   364,   365,   390,     0,   387,
+     388,   435,     0,    65,     0,     0,   525,   101,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     122,   124,     0,   213,     0,   306,   295,     0,   341,   332,
-       0,     0,   270,     0,     0,   164,     0,   436,     0,   178,
+     122,   124,     0,   213,     0,   308,   297,     0,   343,   334,
+       0,     0,   270,     0,     0,   164,     0,   438,     0,   178,
        0,     0,     0,     0,     0,     0,     0,     0,   197,     0,
-       0,     0,   458,   468,    51,     0,    50,   455,     0,   360,
-       0,   392,   383,     0,     0,   432,     0,   525,     0,     0,
+       0,     0,   460,   470,    51,     0,    50,   457,     0,   362,
+       0,   394,   385,     0,     0,   434,     0,   527,     0,     0,
        0,     0,   152,   155,   156,   157,   158,     0,     0,   126,
-       0,   217,     0,   301,     0,   336,   293,   292,   282,   283,
-     285,   279,   280,   281,   291,   290,     0,   277,   284,   286,
-     287,   288,   289,   274,   166,   438,     0,   182,   206,   207,
-     208,   209,   210,   211,   199,     0,     0,   460,    48,     0,
-       0,   364,     0,   387,     0,     0,   142,   143,   144,   145,
-     141,   147,   149,   151,   160,   162,   219,   303,   338,     0,
-     276,   184,   464,   466,    52,   366,   389,   434,   531,     0,
-     529,   278,     0,     0,   528,   543,     0,   541,   539,   535,
-       0,   533,   537,   538,   536,   530,     0,     0,     0,     0,
-     532,     0,   540,     0,   534,     0,   542,   547,     0,   545,
-       0,     0,   544,   555,     0,     0,     0,     0,   549,   551,
-     552,   553,   554,   546,     0,     0,     0,     0,     0,   548,
-       0,   557,   558,   559,   550,   556
+       0,   217,     0,   303,     0,   338,   295,   292,   282,   283,
+     285,   279,   280,   281,   291,   290,     0,   277,   284,   293,
+     294,   286,   287,   288,   289,   274,   166,   440,     0,   182,
+     206,   207,   208,   209,   210,   211,   199,     0,     0,   462,
+      48,     0,     0,   366,     0,   389,     0,     0,   142,   143,
+     144,   145,   141,   147,   149,   151,   160,   162,   219,   305,
+     340,     0,   276,   184,   466,   468,    52,   368,   391,   436,
+     533,     0,   531,   278,     0,     0,   530,   545,     0,   543,
+     541,   537,     0,   535,   539,   540,   538,   532,     0,     0,
+       0,     0,   534,     0,   542,     0,   536,     0,   544,   549,
+       0,   547,     0,     0,   546,   557,     0,     0,     0,     0,
+     551,   553,   554,   555,   556,   548,     0,     0,     0,     0,
+       0,   550,     0,   559,   560,   561,   552,   558
   };
 
   const short int
   Dhcp4Parser::yypgoto_[] =
   {
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,   -49,  -695,   117,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,   104,  -695,  -695,  -695,   -62,
-    -695,  -695,  -695,   273,  -695,  -695,  -695,  -695,    86,   270,
-     -52,   -51,   -34,  -695,  -695,   -29,  -695,  -695,    69,   274,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,    80,  -105,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,   -69,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-    -117,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-    -121,  -695,  -695,  -695,  -116,   229,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,  -126,  -695,  -695,  -695,  -695,  -695,  -695,
-    -694,  -695,  -695,  -695,   -95,  -695,  -695,  -695,   -92,   269,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -687,  -695,
-    -695,  -695,  -519,  -695,  -686,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,  -100,  -695,  -695,  -205,   -66,  -695,  -695,
-    -695,  -695,  -695,   -91,  -695,  -695,  -695,   -90,  -695,   260,
-    -695,   -46,  -695,  -695,  -695,  -695,  -695,   -38,  -695,  -695,
-    -695,  -695,  -695,   -50,  -695,  -695,  -695,   -93,  -695,  -695,
-    -695,   -89,  -695,   247,  -695,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -120,  -695,  -695,  -695,  -110,
-     284,  -695,  -695,   -60,  -695,   -31,  -695,  -695,  -695,  -695,
-    -695,  -107,  -695,  -695,  -695,  -119,  -695,   282,   -45,  -695,
-     -44,  -695,   -37,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-    -685,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-     109,  -695,  -695,  -695,  -695,  -695,  -695,  -695,   -87,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,   124,   264,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-    -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,  -695,
-    -695,   -32,  -695,  -695,  -695,  -186,  -695,  -695,  -201,  -695,
-    -695,  -695,  -695,  -695,  -695,  -206,  -695,  -695,  -215,  -695,
-    -695,  -695,  -695,  -695
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,   -49,  -713,   117,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,   128,  -713,  -713,  -713,   -62,
+    -713,  -713,  -713,   274,  -713,  -713,  -713,  -713,    70,   272,
+     -52,   -51,   -34,  -713,  -713,   -29,  -713,  -713,    82,   276,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,    87,  -100,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,   -69,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -113,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -118,  -713,  -713,  -713,  -115,   239,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,  -112,  -713,  -713,  -713,  -713,  -713,  -713,
+    -712,  -713,  -713,  -713,   -95,  -713,  -713,  -713,   -88,   277,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -698,  -713,
+    -713,  -713,  -525,  -713,  -687,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,   -97,  -713,  -713,  -204,   -66,  -713,  -713,
+    -713,  -713,  -713,   -89,  -713,  -713,  -713,   -85,  -713,   260,
+    -713,   -64,  -713,  -713,  -713,  -713,  -713,   -46,  -713,  -713,
+    -713,  -713,  -713,   -50,  -713,  -713,  -713,   -87,  -713,  -713,
+    -713,   -86,  -713,   250,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -111,  -713,  -713,  -713,  -110,
+     287,  -713,  -713,   -31,  -713,   -28,  -713,  -713,  -713,  -713,
+    -713,  -116,  -713,  -713,  -713,  -106,  -713,   289,   -45,  -713,
+     -44,  -713,   -37,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -685,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+     115,  -713,  -713,  -713,  -713,  -713,  -713,  -713,   -83,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,   132,   264,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,  -713,
+    -713,   -30,  -713,  -713,  -713,  -172,  -713,  -713,  -187,  -713,
+    -713,  -713,  -713,  -713,  -713,  -194,  -713,  -713,  -210,  -713,
+    -713,  -713,  -713,  -713
   };
 
   const short int
@@ -3749,7 +3749,7 @@ namespace isc { namespace dhcp {
       39,    62,    86,    87,    88,   307,    41,    63,   117,   118,
      119,   120,   121,   122,   123,   124,   125,   315,   146,   147,
       43,    64,   148,   340,   149,   341,   546,   150,   342,   549,
-     151,   126,   321,   127,   322,   620,   621,   622,   708,   830,
+     151,   126,   321,   127,   322,   620,   621,   622,   708,   832,
      623,   709,   624,   710,   625,   711,   626,   235,   379,   628,
      629,   630,   631,   632,   717,   633,   718,   128,   331,   656,
      657,   658,   659,   660,   661,   662,   129,   333,   666,   667,
@@ -3774,183 +3774,183 @@ namespace isc { namespace dhcp {
      289,   397,   290,   398,   291,   292,   400,   293,   294,   295,
      403,   592,   296,   404,   297,   298,   299,   300,   408,   599,
      301,   409,    89,   309,    90,   310,    91,   311,    92,   308,
-     604,   605,   606,   704,   849,   850,   852,   860,   861,   862,
-     863,   868,   864,   866,   878,   879,   880,   887,   888,   889,
-     894,   890,   891,   892
+     604,   605,   606,   704,   851,   852,   854,   862,   863,   864,
+     865,   870,   866,   868,   880,   881,   882,   889,   890,   891,
+     896,   892,   893,   894
   };
 
   const unsigned short int
   Dhcp4Parser::yytable_[] =
   {
-      85,   252,   226,   168,   195,   210,   200,   234,   251,   266,
-     285,    73,    26,   169,   170,   185,   196,   211,   663,    79,
-     190,   191,   215,   216,   253,    27,   152,    28,   192,    29,
-     217,   171,   254,   590,   313,   201,   172,   792,    76,   314,
-      95,    96,    97,    98,   793,   795,   802,   264,   265,    96,
-      97,    98,   152,   651,   652,   653,   654,   152,   655,   547,
-     548,   101,   102,   103,   264,   265,   153,   154,   155,    38,
-     107,    95,    96,    97,    98,   142,   143,   734,   107,   144,
-     735,   156,   145,   157,   158,   159,   160,   161,   162,   163,
-     164,    40,   101,   102,   103,   338,   105,   165,   166,   106,
-     339,   107,   228,   202,    42,   167,    44,   203,   204,   205,
-     206,   207,   208,   736,   209,    46,   737,   160,    96,    97,
-      98,   164,    84,   165,   344,   362,   107,    48,   165,   345,
-     363,   853,    80,    50,   854,   591,   167,   302,   194,   157,
-     158,    81,    82,    83,    52,   792,   106,   107,   228,    93,
-     365,    54,   793,   795,   802,   366,    84,   228,    94,    95,
-      96,    97,    98,    99,   100,    56,    84,    30,    31,    32,
-      33,   303,   883,   450,    84,   884,   885,   886,   544,   545,
-     101,   102,   103,   104,   105,   394,   410,    58,   106,   107,
-     395,   411,   594,   595,   596,   597,   608,    84,   305,   108,
-     304,   609,   610,   611,   612,   613,   614,   615,   616,   617,
-     618,   338,   794,   109,   110,   705,   703,   805,   306,   344,
-     706,   228,    84,   598,   707,   881,   111,   312,   882,   112,
-     855,   227,   856,   857,   719,   375,   113,   114,   316,   720,
-     115,   683,   684,    84,   317,   228,   248,   229,   230,   249,
-     250,    85,    84,   323,   412,   413,   228,   324,   229,   230,
-     325,   326,   231,   232,   233,     1,     2,     3,     4,     5,
-       6,     7,     8,     9,    10,    11,    12,   452,   719,   376,
-     453,   335,   343,   721,   451,    84,   669,   670,   671,   672,
-     673,   674,   747,   751,   410,   377,   454,   748,   752,   753,
-     168,   455,   456,   195,   356,   200,   357,   385,   362,   457,
-     169,   170,   185,   836,   210,   196,    84,   190,   191,   380,
-     794,   384,   252,   386,   234,   192,   211,   388,   171,   251,
-     839,   215,   216,   172,   201,   840,   394,   365,   869,   217,
-      84,   841,   845,   870,   898,   253,   389,   390,   285,   899,
-     391,    84,   396,   254,   271,   272,   273,   274,   275,   276,
-     277,   278,   279,   280,   281,   282,   283,   284,   523,   524,
-     525,   826,   827,   828,   829,   563,   564,   565,   399,   401,
-     402,   405,   406,   407,   414,   415,   416,   417,   418,   419,
-     421,   422,   423,   424,   425,   426,   427,   428,    84,   433,
-     429,   434,   430,   431,   435,   436,   432,   437,   438,   439,
-     440,   441,   442,   443,   445,   446,   447,   448,   463,   559,
-     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
-     474,   475,   476,   477,   479,   481,   482,   483,   484,   485,
-     486,   487,   488,   490,   491,   492,   493,   494,   495,   498,
-     502,   496,   503,   506,   586,   507,   499,   500,   505,   508,
-     509,   627,   627,   512,   510,   513,   511,   517,   619,   619,
-     518,   601,   514,   520,   515,   516,   527,   521,   522,   285,
-     526,   530,   531,   452,   528,   529,   453,   532,   533,   534,
-     451,   535,   536,   537,   538,   773,   553,   539,   540,   541,
-     542,   551,   454,   552,   554,   555,   556,   455,   456,    28,
-     560,   561,   562,   567,   568,   457,   570,   569,   572,   573,
-     574,   635,   639,   643,   647,   665,   691,   575,   693,   712,
-     697,   713,   714,   715,   576,   577,   716,   723,   724,   726,
-     701,   578,   727,   579,   729,   580,   581,   730,   732,   582,
-     733,   739,   740,   760,   583,   741,   742,   743,   744,   745,
-     584,   746,   585,   766,   759,   593,   762,   763,   818,   765,
-     768,   587,   588,   769,   770,   771,   603,   777,   778,   815,
-     816,   819,   825,   824,   557,   571,   420,   848,   589,   837,
-     838,   846,   867,   871,   873,   607,   875,   600,   895,   877,
-     896,   754,   757,   897,   900,   772,   774,   602,   444,   831,
-     775,   634,   776,   808,   779,   809,   810,   804,   449,   807,
-     811,   814,   806,   504,   812,   813,   832,   833,   834,   781,
-     780,   478,   835,   803,   851,   782,   783,   785,   501,   784,
-     821,   842,   822,   843,   844,   847,   497,   872,   820,   480,
-     627,   876,   905,   901,   902,   903,   823,   619,   489,   252,
-     168,   692,   791,   234,   817,   689,   251,   865,   874,   786,
-     169,   170,   185,   767,   519,   893,   266,   190,   191,   787,
-     788,   798,   253,   904,     0,   192,   799,   800,   171,     0,
-     254,     0,     0,   172,   801,     0,   195,   789,   200,   210,
-       0,     0,   790,     0,     0,     0,     0,     0,   196,     0,
+      85,   252,   226,   168,   195,   210,   253,   234,   251,   266,
+     285,    73,   663,   169,   170,   185,   196,   211,    79,   792,
+     190,   191,   215,   216,   254,    27,   152,    28,   192,    29,
+     217,   171,   590,   793,   734,   200,   172,   735,   201,   107,
+      95,    96,    97,    98,   795,   152,   804,    38,    96,    97,
+      98,   194,   157,   158,   264,   265,    76,   152,    26,   313,
+     338,   101,   102,   103,   314,   339,   153,   154,   155,    40,
+     107,    95,    96,    97,    98,   344,   106,   107,   228,   736,
+     345,   156,   737,   157,   158,   159,   160,   161,   162,   163,
+     164,    42,   101,   102,   103,    44,   105,   165,   166,   228,
+      46,   107,   228,   450,    48,   167,   228,   248,   229,   230,
+     249,   250,    84,    50,   157,   158,   165,   160,    52,   227,
+      54,   164,   594,   595,   596,   597,   142,   143,   165,   792,
+     144,    80,   362,   145,   591,    84,   167,   363,   264,   265,
+      81,    82,    83,   793,   228,   855,   229,   230,   856,    93,
+     231,   232,   233,   598,   795,    84,   804,    56,    94,    95,
+      96,    97,    98,    99,   100,    58,    84,    30,    31,    32,
+      33,   365,   857,    84,   858,   859,   366,   563,   564,   565,
+     101,   102,   103,   104,   105,   544,   545,   106,   106,   107,
+     651,   652,   653,   654,    84,   655,   302,    84,   303,   108,
+     885,    84,   394,   886,   887,   888,   794,   395,   304,   883,
+     608,   807,   884,   109,   110,   609,   610,   611,   612,   613,
+     614,   615,   616,   617,   618,   410,   111,   683,   684,   112,
+     411,   305,    96,    97,    98,   228,   113,   114,   306,    84,
+     115,   669,   670,   671,   672,   673,   674,   338,   705,   547,
+     548,    85,   703,   706,   412,   413,   828,   829,   830,   831,
+     312,   107,   271,   272,   273,   274,   275,   276,   277,   278,
+     279,   280,   281,   282,   283,   284,   344,   452,   719,   375,
+     453,   707,   719,   720,   451,    84,   202,   721,   316,   317,
+     203,   204,   205,   206,   207,   208,   454,   209,   323,   747,
+     168,   455,   456,   195,   748,   324,    84,   325,   751,   457,
+     169,   170,   185,   752,   210,   196,   794,   190,   191,   326,
+     335,   343,   252,   356,   234,   192,   211,   253,   171,   251,
+      84,   215,   216,   172,   200,   410,   362,   201,   841,   217,
+     753,   838,   394,   842,   365,   254,   871,   843,   285,   847,
+     900,   872,   357,   376,   377,   901,   380,    84,   384,   385,
+     386,   390,   388,   389,   391,   414,   396,   399,   523,   524,
+     525,     1,     2,     3,     4,     5,     6,     7,     8,     9,
+      10,    11,    12,   401,   402,   405,   406,   407,   415,   416,
+     417,   418,   419,   421,   424,   425,   422,   423,   426,   427,
+     428,   429,   430,   431,   433,   432,   434,   435,   436,   437,
+     438,   439,   440,   441,   442,   443,   445,   446,   447,   559,
+     448,   463,   464,   465,   466,   467,   468,   469,   470,   471,
+     472,   473,   474,   475,   476,   477,   479,   481,   482,   483,
+     484,   485,   486,   487,   488,   490,   491,   492,   493,   494,
+     495,   498,   496,   502,   586,   503,   499,   500,   505,   506,
+     507,   627,   627,   509,   512,   513,   508,   517,   619,   619,
+     510,   601,   511,   514,   518,   515,   516,   520,   521,   285,
+     551,   522,   526,   452,   527,   528,   453,   529,   530,   531,
+     451,   532,   533,   534,   535,   536,   537,   538,   552,   773,
+     539,   540,   454,   541,   542,   556,   568,   455,   456,    28,
+     569,   553,   554,   555,   560,   457,   561,   562,   567,   570,
+     572,   573,   574,   575,   576,   577,   635,   639,   643,   647,
+     665,   691,   693,   697,   712,   713,   714,   701,   715,   578,
+     579,   716,   723,   724,   580,   581,   582,   726,   583,   727,
+     729,   730,   733,   732,   741,   740,   584,   739,   742,   743,
+     744,   593,   585,   587,   745,   746,   760,   765,   759,   763,
+     762,   766,   768,   588,   589,   769,   603,   770,   771,   777,
+     778,   817,   818,   821,   557,   820,   826,   420,   827,   839,
+     869,   602,   840,   848,   850,   600,   873,   875,   879,   877,
+     754,   757,   897,   898,   899,   772,   774,   902,   607,   571,
+     444,   833,   775,   776,   810,   811,   812,   813,   634,   779,
+     449,   806,   809,   808,   814,   815,   834,   835,   903,   781,
+     836,   837,   844,   504,   780,   816,   805,   853,   783,   478,
+     782,   501,   784,   785,   845,   846,   497,   825,   822,   823,
+     627,   849,   480,   874,   878,   824,   904,   619,   905,   252,
+     168,   907,   791,   234,   253,   489,   251,   692,   819,   786,
+     169,   170,   185,   689,   519,   767,   266,   190,   191,   787,
+     788,   798,   254,   867,   876,   192,   801,   802,   171,   895,
+     906,     0,     0,   172,   803,     0,   195,   789,     0,   210,
+     799,     0,   790,   800,     0,     0,     0,     0,   196,     0,
        0,   211,     0,     0,     0,     0,   215,   216,     0,     0,
-       0,     0,     0,     0,   217,     0,     0,   201,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   217,     0,     0,   200,     0,     0,
+     201,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     791,     0,     0,     0,     0,     0,     0,   786,     0,     0,
-       0,     0,     0,   859,     0,     0,     0,   787,   788,   798,
-     858,     0,     0,     0,   799,   800,     0,     0,     0,     0,
-     859,     0,   801,     0,     0,   789,     0,   858,     0,     0,
-     790
+       0,     0,   791,     0,     0,     0,     0,     0,     0,   786,
+       0,     0,     0,     0,     0,   861,     0,     0,     0,   787,
+     788,   798,   860,     0,     0,     0,   801,   802,     0,     0,
+       0,     0,   861,     0,   803,     0,     0,   789,     0,   860,
+     799,     0,   790,   800
   };
 
   const short int
   Dhcp4Parser::yycheck_[] =
   {
-      62,    70,    68,    65,    66,    67,    66,    69,    70,    71,
-      72,    60,     0,    65,    65,    65,    66,    67,   537,    10,
+      62,    70,    68,    65,    66,    67,    70,    69,    70,    71,
+      72,    60,   537,    65,    65,    65,    66,    67,    10,   731,
       65,    65,    67,    67,    70,     5,     7,     7,    65,     9,
-      67,    65,    70,    15,     3,    66,    65,   731,   147,     8,
-      21,    22,    23,    24,   731,   731,   731,    89,    90,    22,
-      23,    24,     7,    80,    81,    82,    83,     7,    85,    17,
-      18,    42,    43,    44,    89,    90,    47,    48,    49,     7,
-      51,    21,    22,    23,    24,    12,    13,     3,    51,    16,
-       6,    62,    19,    64,    65,    66,    67,    68,    69,    70,
-      71,     7,    42,    43,    44,     3,    46,    78,    79,    50,
-       8,    51,    52,    76,     7,    86,     7,    80,    81,    82,
-      83,    84,    85,     3,    87,     7,     6,    67,    22,    23,
-      24,    71,   147,    78,     3,     3,    51,     7,    78,     8,
-       8,     3,   123,     7,     6,   117,    86,     6,    63,    64,
-      65,   132,   133,   134,     7,   839,    50,    51,    52,    11,
-       3,     7,   839,   839,   839,     8,   147,    52,    20,    21,
+      67,    65,    15,   731,     3,    66,    65,     6,    66,    51,
+      21,    22,    23,    24,   731,     7,   731,     7,    22,    23,
+      24,    63,    64,    65,    89,    90,   147,     7,     0,     3,
+       3,    42,    43,    44,     8,     8,    47,    48,    49,     7,
+      51,    21,    22,    23,    24,     3,    50,    51,    52,     3,
+       8,    62,     6,    64,    65,    66,    67,    68,    69,    70,
+      71,     7,    42,    43,    44,     7,    46,    78,    79,    52,
+       7,    51,    52,    77,     7,    86,    52,    53,    54,    55,
+      56,    57,   147,     7,    64,    65,    78,    67,     7,    27,
+       7,    71,   119,   120,   121,   122,    12,    13,    78,   841,
+      16,   123,     3,    19,   117,   147,    86,     8,    89,    90,
+     132,   133,   134,   841,    52,     3,    54,    55,     6,    11,
+      58,    59,    60,   150,   841,   147,   841,     7,    20,    21,
       22,    23,    24,    25,    26,     7,   147,   147,   148,   149,
-     150,     3,   126,    77,   147,   129,   130,   131,    14,    15,
-      42,    43,    44,    45,    46,     3,     3,     7,    50,    51,
-       8,     8,   119,   120,   121,   122,    27,   147,     8,    61,
-       4,    32,    33,    34,    35,    36,    37,    38,    39,    40,
-      41,     3,   731,    75,    76,     3,     8,   736,     3,     3,
-       8,    52,   147,   150,     8,     3,    88,     4,     6,    91,
-     125,    27,   127,   128,     3,     8,    98,    99,     4,     8,
-     102,   100,   101,   147,     4,    52,    53,    54,    55,    56,
-      57,   313,   147,     4,   303,   304,    52,     4,    54,    55,
-       4,     4,    58,    59,    60,   135,   136,   137,   138,   139,
-     140,   141,   142,   143,   144,   145,   146,   346,     3,     3,
-     346,     4,     4,     8,   346,   147,    92,    93,    94,    95,
-      96,    97,     3,     3,     3,     8,   346,     8,     8,     8,
-     362,   346,   346,   365,     4,   365,     4,     8,     3,   346,
-     362,   362,   362,     8,   376,   365,   147,   362,   362,     4,
-     839,     4,   391,     3,   386,   362,   376,     4,   362,   391,
-       3,   376,   376,   362,   365,     8,     3,     3,     3,   376,
-     147,     8,     8,     8,     3,   391,     4,     8,   410,     8,
-       3,   147,     4,   391,   103,   104,   105,   106,   107,   108,
-     109,   110,   111,   112,   113,   114,   115,   116,   417,   418,
-     419,    28,    29,    30,    31,    72,    73,    74,     4,     4,
-       4,     4,     4,     4,   147,     4,     4,     4,     4,     4,
-       4,   150,   150,     4,     4,     4,     4,     4,   147,     4,
-     148,     4,   148,   148,     4,     4,   148,     4,     4,     4,
-       4,   148,     4,     4,     4,     4,     4,   150,     4,   468,
-       4,     4,     4,     4,     4,     4,     4,     4,   148,   150,
-       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
-       4,     4,     4,     4,     4,   148,     4,     4,     4,     4,
-       4,   150,     4,     4,   503,     4,   150,   150,   150,   148,
-       4,   530,   531,     4,   148,     4,   148,     4,   530,   531,
-       4,   520,   150,     4,   150,   150,   147,     7,     7,   541,
-       7,     7,     7,   552,   147,   147,   552,     5,     5,     5,
-     552,     5,     5,     5,     5,   150,   147,     7,     7,     7,
-       5,     8,   552,     3,   147,   147,     5,   552,   552,     7,
-     147,   147,   147,   147,     5,   552,   147,     7,   147,   147,
-     147,     7,     7,     7,     7,     7,     4,   147,     7,     4,
-       7,     4,     4,     4,   147,   147,     4,     6,     3,     6,
-      87,   147,     3,   147,     6,   147,   147,     3,     6,   147,
-       3,     6,     3,     3,   147,     4,     4,     4,     4,     4,
-     147,     4,   147,     4,     6,   118,     6,     3,     6,     8,
-       4,   147,   147,     4,     4,     4,   124,     4,     4,     4,
-       4,     3,     5,     4,   467,   481,   313,     7,   147,     8,
-       8,     8,     4,     4,     4,   526,     5,   147,     4,     7,
-       4,   147,   147,     4,     4,   148,   148,   521,   338,   147,
-     150,   531,   148,   148,   719,   148,   148,   734,   344,   740,
-     148,   747,   738,   394,   148,   148,   147,   147,   147,   724,
-     722,   362,   147,   733,   839,   725,   727,   730,   391,   728,
-     760,   147,   761,   147,   147,   147,   386,   148,   758,   365,
-     719,   147,   147,   150,   148,   148,   763,   719,   376,   728,
-     722,   552,   731,   725,   751,   541,   728,   853,   869,   731,
-     722,   722,   722,   705,   410,   881,   738,   722,   722,   731,
-     731,   731,   728,   898,    -1,   722,   731,   731,   722,    -1,
-     728,    -1,    -1,   722,   731,    -1,   758,   731,   758,   761,
-      -1,    -1,   731,    -1,    -1,    -1,    -1,    -1,   758,    -1,
+     150,     3,   125,   147,   127,   128,     8,    72,    73,    74,
+      42,    43,    44,    45,    46,    14,    15,    50,    50,    51,
+      80,    81,    82,    83,   147,    85,     6,   147,     3,    61,
+     126,   147,     3,   129,   130,   131,   731,     8,     4,     3,
+      27,   736,     6,    75,    76,    32,    33,    34,    35,    36,
+      37,    38,    39,    40,    41,     3,    88,   100,   101,    91,
+       8,     8,    22,    23,    24,    52,    98,    99,     3,   147,
+     102,    92,    93,    94,    95,    96,    97,     3,     3,    17,
+      18,   313,     8,     8,   303,   304,    28,    29,    30,    31,
+       4,    51,   103,   104,   105,   106,   107,   108,   109,   110,
+     111,   112,   113,   114,   115,   116,     3,   346,     3,     8,
+     346,     8,     3,     8,   346,   147,    76,     8,     4,     4,
+      80,    81,    82,    83,    84,    85,   346,    87,     4,     3,
+     362,   346,   346,   365,     8,     4,   147,     4,     3,   346,
+     362,   362,   362,     8,   376,   365,   841,   362,   362,     4,
+       4,     4,   391,     4,   386,   362,   376,   391,   362,   391,
+     147,   376,   376,   362,   365,     3,     3,   365,     3,   376,
+       8,     8,     3,     8,     3,   391,     3,     8,   410,     8,
+       3,     8,     4,     3,     8,     8,     4,   147,     4,     8,
+       3,     8,     4,     4,     3,   147,     4,     4,   417,   418,
+     419,   135,   136,   137,   138,   139,   140,   141,   142,   143,
+     144,   145,   146,     4,     4,     4,     4,     4,     4,     4,
+       4,     4,     4,     4,     4,     4,   150,   150,     4,     4,
+       4,   148,   148,   148,     4,   148,     4,     4,     4,     4,
+       4,     4,     4,   148,     4,     4,     4,     4,     4,   468,
+     150,     4,     4,     4,     4,     4,     4,     4,     4,     4,
+     148,   150,     4,     4,     4,     4,     4,     4,     4,     4,
+       4,     4,     4,     4,     4,     4,     4,   148,     4,     4,
+       4,     4,   150,     4,   503,     4,   150,   150,   150,     4,
+       4,   530,   531,     4,     4,     4,   148,     4,   530,   531,
+     148,   520,   148,   150,     4,   150,   150,     4,     7,   541,
+       8,     7,     7,   552,   147,   147,   552,   147,     7,     7,
+     552,     5,     5,     5,     5,     5,     5,     5,     3,   150,
+       7,     7,   552,     7,     5,     5,     5,   552,   552,     7,
+       7,   147,   147,   147,   147,   552,   147,   147,   147,   147,
+     147,   147,   147,   147,   147,   147,     7,     7,     7,     7,
+       7,     4,     7,     7,     4,     4,     4,    87,     4,   147,
+     147,     4,     6,     3,   147,   147,   147,     6,   147,     3,
+       6,     3,     3,     6,     4,     3,   147,     6,     4,     4,
+       4,   118,   147,   147,     4,     4,     3,     8,     6,     3,
+       6,     4,     4,   147,   147,     4,   124,     4,     4,     4,
+       4,     4,     4,     3,   467,     6,     4,   313,     5,     8,
+       4,   521,     8,     8,     7,   147,     4,     4,     7,     5,
+     147,   147,     4,     4,     4,   148,   148,     4,   526,   481,
+     338,   147,   150,   148,   148,   148,   148,   148,   531,   719,
+     344,   734,   740,   738,   148,   148,   147,   147,   150,   724,
+     147,   147,   147,   394,   722,   747,   733,   841,   727,   362,
+     725,   391,   728,   730,   147,   147,   386,   763,   758,   760,
+     719,   147,   365,   148,   147,   761,   148,   719,   148,   728,
+     722,   147,   731,   725,   728,   376,   728,   552,   751,   731,
+     722,   722,   722,   541,   410,   705,   738,   722,   722,   731,
+     731,   731,   728,   855,   871,   722,   731,   731,   722,   883,
+     900,    -1,    -1,   722,   731,    -1,   758,   731,    -1,   761,
+     731,    -1,   731,   731,    -1,    -1,    -1,    -1,   758,    -1,
       -1,   761,    -1,    -1,    -1,    -1,   761,   761,    -1,    -1,
       -1,    -1,    -1,    -1,   761,    -1,    -1,   758,    -1,    -1,
+     758,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     839,    -1,    -1,    -1,    -1,    -1,    -1,   839,    -1,    -1,
-      -1,    -1,    -1,   852,    -1,    -1,    -1,   839,   839,   839,
-     852,    -1,    -1,    -1,   839,   839,    -1,    -1,    -1,    -1,
-     869,    -1,   839,    -1,    -1,   839,    -1,   869,    -1,    -1,
-     839
+      -1,    -1,   841,    -1,    -1,    -1,    -1,    -1,    -1,   841,
+      -1,    -1,    -1,    -1,    -1,   854,    -1,    -1,    -1,   841,
+     841,   841,   854,    -1,    -1,    -1,   841,   841,    -1,    -1,
+      -1,    -1,   871,    -1,   841,    -1,    -1,   841,    -1,   871,
+     841,    -1,   841,   841
   };
 
   const unsigned short int
@@ -4035,18 +4035,18 @@ namespace isc { namespace dhcp {
        3,   373,     6,     3,   404,     8,     4,   462,     4,     4,
        4,     4,   148,   150,   148,   150,   148,     4,     4,   217,
      279,   275,   318,   314,   342,   338,   180,   191,   192,   193,
-     196,   228,   271,   289,   293,   295,   306,   307,   334,   379,
-     381,   383,   401,   304,   241,   293,   255,   251,   148,   148,
-     148,   148,   148,   148,   264,     4,     4,   419,     6,     3,
-     360,   356,   376,   372,     4,     5,    28,    29,    30,    31,
-     220,   147,   147,   147,   147,   147,     8,     8,     8,     3,
-       8,     8,   147,   147,   147,     8,     8,   147,     7,   465,
-     466,   307,   467,     3,     6,   125,   127,   128,   180,   228,
-     468,   469,   470,   471,   473,   466,   474,     4,   472,     3,
-       8,     4,   148,     4,   469,     5,   147,     7,   475,   476,
-     477,     3,     6,   126,   129,   130,   131,   478,   479,   480,
-     482,   483,   484,   476,   481,     4,     4,     4,     3,     8,
-       4,   150,   148,   148,   479,   147
+     196,   228,   271,   289,   293,   295,   306,   307,   334,   364,
+     366,   379,   381,   383,   401,   304,   241,   293,   255,   251,
+     148,   148,   148,   148,   148,   148,   264,     4,     4,   419,
+       6,     3,   360,   356,   376,   372,     4,     5,    28,    29,
+      30,    31,   220,   147,   147,   147,   147,   147,     8,     8,
+       8,     3,     8,     8,   147,   147,   147,     8,     8,   147,
+       7,   465,   466,   307,   467,     3,     6,   125,   127,   128,
+     180,   228,   468,   469,   470,   471,   473,   466,   474,     4,
+     472,     3,     8,     4,   148,     4,   469,     5,   147,     7,
+     475,   476,   477,     3,     6,   126,   129,   130,   131,   478,
+     479,   480,   482,   483,   484,   476,   481,     4,     4,     4,
+       3,     8,     4,   150,   148,   148,   479,   147
   };
 
   const unsigned short int
@@ -4081,33 +4081,34 @@ namespace isc { namespace dhcp {
      294,   293,   296,   295,   297,   297,   297,   298,   299,   301,
      300,   302,   302,   303,   303,   305,   304,   306,   306,   307,
      307,   307,   307,   307,   307,   307,   307,   307,   307,   307,
-     307,   307,   307,   307,   309,   308,   311,   310,   312,   312,
-     313,   313,   315,   314,   317,   316,   318,   318,   319,   319,
-     320,   320,   320,   320,   320,   320,   320,   320,   321,   322,
-     323,   325,   324,   327,   326,   329,   328,   330,   332,   331,
-     333,   335,   334,   336,   336,   337,   337,   339,   338,   341,
-     340,   342,   342,   343,   343,   344,   344,   344,   344,   344,
-     344,   344,   345,   347,   346,   348,   349,   350,   351,   353,
-     352,   354,   354,   355,   355,   357,   356,   359,   358,   360,
-     360,   361,   361,   361,   361,   361,   363,   362,   365,   364,
-     367,   366,   369,   368,   370,   370,   371,   371,   373,   372,
-     375,   374,   376,   376,   377,   377,   378,   378,   378,   378,
-     378,   378,   378,   378,   378,   378,   378,   378,   378,   380,
-     379,   382,   381,   384,   383,   386,   385,   388,   387,   390,
-     389,   392,   391,   394,   393,   396,   395,   398,   397,   400,
-     399,   402,   401,   404,   403,   406,   405,   407,   407,   408,
-     293,   409,   409,   410,   410,   411,   411,   411,   411,   411,
-     411,   411,   411,   412,   414,   413,   415,   417,   416,   418,
-     418,   419,   419,   421,   420,   423,   422,   425,   424,   427,
-     426,   428,   428,   429,   429,   429,   429,   429,   429,   429,
-     429,   429,   429,   429,   429,   429,   429,   429,   430,   432,
-     431,   434,   433,   435,   437,   436,   438,   439,   441,   440,
-     442,   442,   444,   443,   445,   446,   447,   449,   448,   450,
-     450,   450,   450,   450,   452,   451,   454,   453,   456,   455,
-     458,   457,   460,   459,   461,   461,   462,   464,   463,   465,
-     465,   467,   466,   468,   468,   469,   469,   469,   469,   469,
-     470,   472,   471,   474,   473,   475,   475,   477,   476,   478,
-     478,   479,   479,   479,   479,   481,   480,   482,   483,   484
+     307,   307,   307,   307,   307,   307,   309,   308,   311,   310,
+     312,   312,   313,   313,   315,   314,   317,   316,   318,   318,
+     319,   319,   320,   320,   320,   320,   320,   320,   320,   320,
+     321,   322,   323,   325,   324,   327,   326,   329,   328,   330,
+     332,   331,   333,   335,   334,   336,   336,   337,   337,   339,
+     338,   341,   340,   342,   342,   343,   343,   344,   344,   344,
+     344,   344,   344,   344,   345,   347,   346,   348,   349,   350,
+     351,   353,   352,   354,   354,   355,   355,   357,   356,   359,
+     358,   360,   360,   361,   361,   361,   361,   361,   363,   362,
+     365,   364,   367,   366,   369,   368,   370,   370,   371,   371,
+     373,   372,   375,   374,   376,   376,   377,   377,   378,   378,
+     378,   378,   378,   378,   378,   378,   378,   378,   378,   378,
+     378,   380,   379,   382,   381,   384,   383,   386,   385,   388,
+     387,   390,   389,   392,   391,   394,   393,   396,   395,   398,
+     397,   400,   399,   402,   401,   404,   403,   406,   405,   407,
+     407,   408,   293,   409,   409,   410,   410,   411,   411,   411,
+     411,   411,   411,   411,   411,   412,   414,   413,   415,   417,
+     416,   418,   418,   419,   419,   421,   420,   423,   422,   425,
+     424,   427,   426,   428,   428,   429,   429,   429,   429,   429,
+     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
+     430,   432,   431,   434,   433,   435,   437,   436,   438,   439,
+     441,   440,   442,   442,   444,   443,   445,   446,   447,   449,
+     448,   450,   450,   450,   450,   450,   452,   451,   454,   453,
+     456,   455,   458,   457,   460,   459,   461,   461,   462,   464,
+     463,   465,   465,   467,   466,   468,   468,   469,   469,   469,
+     469,   469,   470,   472,   471,   474,   473,   475,   475,   477,
+     476,   478,   478,   479,   479,   479,   479,   481,   480,   482,
+     483,   484
   };
 
   const unsigned char
@@ -4142,33 +4143,34 @@ 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,     1,     1,     0,     6,     0,     4,     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,
+       1,     1,     1,     1,     1,     1,     0,     6,     0,     4,
+       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,     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,     1,     0,     4,     0,     4,
-       0,     4,     0,     6,     0,     1,     1,     3,     0,     4,
-       0,     4,     0,     1,     1,     3,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
-       4,     0,     4,     0,     4,     0,     4,     0,     4,     0,
+       4,     1,     3,     1,     1,     1,     1,     1,     0,     4,
+       0,     4,     0,     4,     0,     6,     0,     1,     1,     3,
+       0,     4,     0,     4,     0,     1,     1,     3,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     0,     4,     0,     4,     0,     4,     0,     4,     0,
        4,     0,     4,     0,     4,     0,     4,     0,     4,     0,
-       4,     0,     6,     0,     4,     0,     6,     1,     3,     0,
-       4,     0,     1,     1,     3,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     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
+       4,     0,     4,     0,     6,     0,     4,     0,     6,     1,
+       3,     0,     4,     0,     1,     1,     3,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     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
   };
 
 
@@ -4336,33 +4338,34 @@ namespace isc { namespace dhcp {
      976,   976,   984,   984,   991,   992,   993,   996,  1001,  1008,
     1008,  1019,  1020,  1024,  1025,  1028,  1028,  1036,  1037,  1040,
     1041,  1042,  1043,  1044,  1045,  1046,  1047,  1048,  1049,  1050,
-    1051,  1052,  1053,  1054,  1061,  1061,  1074,  1074,  1083,  1084,
-    1087,  1088,  1093,  1093,  1108,  1108,  1122,  1123,  1126,  1127,
-    1130,  1131,  1132,  1133,  1134,  1135,  1136,  1137,  1140,  1142,
-    1147,  1149,  1149,  1157,  1157,  1165,  1165,  1173,  1175,  1175,
-    1183,  1192,  1192,  1204,  1205,  1210,  1211,  1216,  1216,  1228,
-    1228,  1240,  1241,  1246,  1247,  1252,  1253,  1254,  1255,  1256,
-    1257,  1258,  1261,  1263,  1263,  1271,  1273,  1275,  1280,  1288,
-    1288,  1300,  1301,  1304,  1305,  1308,  1308,  1318,  1318,  1328,
-    1329,  1332,  1333,  1334,  1335,  1336,  1339,  1339,  1347,  1347,
-    1354,  1354,  1366,  1366,  1376,  1377,  1380,  1381,  1384,  1384,
-    1393,  1393,  1402,  1403,  1406,  1407,  1411,  1412,  1413,  1414,
-    1415,  1416,  1417,  1418,  1419,  1420,  1421,  1422,  1423,  1426,
-    1426,  1434,  1434,  1442,  1442,  1450,  1450,  1458,  1458,  1466,
-    1466,  1474,  1474,  1482,  1482,  1490,  1490,  1498,  1498,  1506,
-    1506,  1519,  1519,  1529,  1529,  1540,  1540,  1550,  1551,  1554,
-    1554,  1564,  1565,  1568,  1569,  1572,  1573,  1574,  1575,  1576,
-    1577,  1578,  1579,  1582,  1584,  1584,  1596,  1603,  1603,  1613,
-    1614,  1617,  1618,  1621,  1621,  1629,  1629,  1639,  1639,  1651,
-    1651,  1661,  1662,  1665,  1666,  1667,  1668,  1669,  1670,  1671,
-    1672,  1673,  1674,  1675,  1676,  1677,  1678,  1679,  1682,  1687,
-    1687,  1695,  1695,  1703,  1708,  1708,  1716,  1721,  1726,  1726,
-    1734,  1735,  1738,  1738,  1746,  1751,  1756,  1761,  1761,  1769,
-    1772,  1775,  1778,  1781,  1787,  1787,  1797,  1797,  1804,  1804,
-    1811,  1811,  1823,  1823,  1836,  1837,  1841,  1845,  1845,  1857,
-    1858,  1862,  1862,  1870,  1871,  1874,  1875,  1876,  1877,  1878,
-    1881,  1886,  1886,  1894,  1894,  1904,  1905,  1908,  1908,  1916,
-    1917,  1920,  1921,  1922,  1923,  1926,  1926,  1934,  1939,  1944
+    1051,  1052,  1053,  1054,  1055,  1056,  1063,  1063,  1076,  1076,
+    1085,  1086,  1089,  1090,  1095,  1095,  1110,  1110,  1124,  1125,
+    1128,  1129,  1132,  1133,  1134,  1135,  1136,  1137,  1138,  1139,
+    1142,  1144,  1149,  1151,  1151,  1159,  1159,  1167,  1167,  1175,
+    1177,  1177,  1185,  1194,  1194,  1206,  1207,  1212,  1213,  1218,
+    1218,  1230,  1230,  1242,  1243,  1248,  1249,  1254,  1255,  1256,
+    1257,  1258,  1259,  1260,  1263,  1265,  1265,  1273,  1275,  1277,
+    1282,  1290,  1290,  1302,  1303,  1306,  1307,  1310,  1310,  1320,
+    1320,  1330,  1331,  1334,  1335,  1336,  1337,  1338,  1341,  1341,
+    1349,  1349,  1356,  1356,  1368,  1368,  1378,  1379,  1382,  1383,
+    1386,  1386,  1395,  1395,  1404,  1405,  1408,  1409,  1413,  1414,
+    1415,  1416,  1417,  1418,  1419,  1420,  1421,  1422,  1423,  1424,
+    1425,  1428,  1428,  1436,  1436,  1444,  1444,  1452,  1452,  1460,
+    1460,  1468,  1468,  1476,  1476,  1484,  1484,  1492,  1492,  1500,
+    1500,  1508,  1508,  1521,  1521,  1531,  1531,  1542,  1542,  1552,
+    1553,  1556,  1556,  1566,  1567,  1570,  1571,  1574,  1575,  1576,
+    1577,  1578,  1579,  1580,  1581,  1584,  1586,  1586,  1598,  1605,
+    1605,  1615,  1616,  1619,  1620,  1623,  1623,  1631,  1631,  1641,
+    1641,  1653,  1653,  1663,  1664,  1667,  1668,  1669,  1670,  1671,
+    1672,  1673,  1674,  1675,  1676,  1677,  1678,  1679,  1680,  1681,
+    1684,  1689,  1689,  1697,  1697,  1705,  1710,  1710,  1718,  1723,
+    1728,  1728,  1736,  1737,  1740,  1740,  1748,  1753,  1758,  1763,
+    1763,  1771,  1774,  1777,  1780,  1783,  1789,  1789,  1799,  1799,
+    1806,  1806,  1813,  1813,  1825,  1825,  1838,  1839,  1843,  1847,
+    1847,  1859,  1860,  1864,  1864,  1872,  1873,  1876,  1877,  1878,
+    1879,  1880,  1883,  1888,  1888,  1896,  1896,  1906,  1907,  1910,
+    1910,  1918,  1919,  1922,  1923,  1924,  1925,  1928,  1928,  1936,
+    1941,  1946
   };
 
   // Print the state stack on the debug stream.
@@ -4397,8 +4400,8 @@ namespace isc { namespace dhcp {
 
 #line 14 "dhcp4_parser.yy" // lalr1.cc:1167
 } } // isc::dhcp
-#line 4401 "dhcp4_parser.cc" // lalr1.cc:1167
-#line 1949 "dhcp4_parser.yy" // lalr1.cc:1168
+#line 4404 "dhcp4_parser.cc" // lalr1.cc:1167
+#line 1951 "dhcp4_parser.yy" // lalr1.cc:1168
 
 
 void
index 8bbe5039481f111de1f7b870e7b29619a6f329f6..cbcdbf363d38aa48b091a5e141ce9f5a18761dcb 100644 (file)
@@ -1411,7 +1411,7 @@ namespace isc { namespace dhcp {
     enum
     {
       yyeof_ = 0,
-      yylast_ = 810,     ///< Last index in yytable_.
+      yylast_ = 813,     ///< Last index in yytable_.
       yynnts_ = 334,  ///< Number of nonterminal symbols.
       yyfinal_ = 26, ///< Termination state number.
       yyterror_ = 1,
index 4328b95d4ddebe12df092347a3e94a67176fabbb..e53bb6128f5743554e5bdc2a3e16f23903458829 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201711280059
+// Generated 201711281547
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Locations for Bison parsers in C++
index 549d2421e1d93057493277ca44c6aef892b0ff04..ec7af0c43c8b707905299d76daf8450e2686b246 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201711280059
+// Generated 201711281547
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Positions for Bison parsers in C++
index ce2dce49d5fb2661452b5f1f869e590e3bffad93..ac11da06aa54faa097d398ece1b4dcabbb15bfc3 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201711280059
+// Generated 201711281547
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Stack handling for Bison parsers in C++
index 88f448da4ce796aaedc208880ba9a176d262a7c9..baf75236569795df748360dce02de47676c0bde9 100644 (file)
@@ -1852,8 +1852,8 @@ namespace isc { namespace dhcp {
 #line 1853 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 277:
-#line 1025 "dhcp6_parser.yy" // lalr1.cc:859
+  case 279:
+#line 1027 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("option-def", l);
@@ -1863,8 +1863,8 @@ namespace isc { namespace dhcp {
 #line 1864 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 278:
-#line 1030 "dhcp6_parser.yy" // lalr1.cc:859
+  case 280:
+#line 1032 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1872,8 +1872,8 @@ namespace isc { namespace dhcp {
 #line 1873 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 279:
-#line 1038 "dhcp6_parser.yy" // lalr1.cc:859
+  case 281:
+#line 1040 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
@@ -1881,16 +1881,16 @@ namespace isc { namespace dhcp {
 #line 1882 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 280:
-#line 1041 "dhcp6_parser.yy" // lalr1.cc:859
+  case 282:
+#line 1043 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // parsing completed
 }
 #line 1890 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 285:
-#line 1057 "dhcp6_parser.yy" // lalr1.cc:859
+  case 287:
+#line 1059 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -1899,8 +1899,8 @@ namespace isc { namespace dhcp {
 #line 1900 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 286:
-#line 1061 "dhcp6_parser.yy" // lalr1.cc:859
+  case 288:
+#line 1063 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The name, code and type option def parameters are required.
     ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -1911,8 +1911,8 @@ namespace isc { namespace dhcp {
 #line 1912 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 287:
-#line 1072 "dhcp6_parser.yy" // lalr1.cc:859
+  case 289:
+#line 1074 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the option-def list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1921,8 +1921,8 @@ namespace isc { namespace dhcp {
 #line 1922 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 288:
-#line 1076 "dhcp6_parser.yy" // lalr1.cc:859
+  case 290:
+#line 1078 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The name, code and type option def parameters are required.
     ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -1933,8 +1933,8 @@ namespace isc { namespace dhcp {
 #line 1934 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 302:
-#line 1106 "dhcp6_parser.yy" // lalr1.cc:859
+  case 304:
+#line 1108 "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);
@@ -1942,16 +1942,16 @@ namespace isc { namespace dhcp {
 #line 1943 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 304:
-#line 1113 "dhcp6_parser.yy" // lalr1.cc:859
+  case 306:
+#line 1115 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1951 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 305:
-#line 1115 "dhcp6_parser.yy" // lalr1.cc:859
+  case 307:
+#line 1117 "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);
@@ -1960,16 +1960,16 @@ namespace isc { namespace dhcp {
 #line 1961 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 306:
-#line 1121 "dhcp6_parser.yy" // lalr1.cc:859
+  case 308:
+#line 1123 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1969 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 307:
-#line 1123 "dhcp6_parser.yy" // lalr1.cc:859
+  case 309:
+#line 1125 "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);
@@ -1978,16 +1978,16 @@ namespace isc { namespace dhcp {
 #line 1979 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 308:
-#line 1129 "dhcp6_parser.yy" // lalr1.cc:859
+  case 310:
+#line 1131 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1987 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 309:
-#line 1131 "dhcp6_parser.yy" // lalr1.cc:859
+  case 311:
+#line 1133 "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);
@@ -1996,16 +1996,16 @@ namespace isc { namespace dhcp {
 #line 1997 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 311:
-#line 1139 "dhcp6_parser.yy" // lalr1.cc:859
+  case 313:
+#line 1141 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2005 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 312:
-#line 1141 "dhcp6_parser.yy" // lalr1.cc:859
+  case 314:
+#line 1143 "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);
@@ -2014,8 +2014,8 @@ namespace isc { namespace dhcp {
 #line 2015 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 313:
-#line 1147 "dhcp6_parser.yy" // lalr1.cc:859
+  case 315:
+#line 1149 "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);
@@ -2023,8 +2023,8 @@ namespace isc { namespace dhcp {
 #line 2024 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 314:
-#line 1156 "dhcp6_parser.yy" // lalr1.cc:859
+  case 316:
+#line 1158 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("option-data", l);
@@ -2034,8 +2034,8 @@ namespace isc { namespace dhcp {
 #line 2035 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 315:
-#line 1161 "dhcp6_parser.yy" // lalr1.cc:859
+  case 317:
+#line 1163 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2043,8 +2043,8 @@ namespace isc { namespace dhcp {
 #line 2044 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 320:
-#line 1180 "dhcp6_parser.yy" // lalr1.cc:859
+  case 322:
+#line 1182 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2053,8 +2053,8 @@ namespace isc { namespace dhcp {
 #line 2054 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 321:
-#line 1184 "dhcp6_parser.yy" // lalr1.cc:859
+  case 323:
+#line 1186 "dhcp6_parser.yy" // lalr1.cc:859
     {
     /// @todo: the code or name parameters are required.
     ctx.stack_.pop_back();
@@ -2062,8 +2062,8 @@ namespace isc { namespace dhcp {
 #line 2063 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 322:
-#line 1192 "dhcp6_parser.yy" // lalr1.cc:859
+  case 324:
+#line 1194 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the option-data list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2072,8 +2072,8 @@ namespace isc { namespace dhcp {
 #line 2073 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 323:
-#line 1196 "dhcp6_parser.yy" // lalr1.cc:859
+  case 325:
+#line 1198 "dhcp6_parser.yy" // lalr1.cc:859
     {
     /// @todo: the code or name parameters are required.
     // parsing completed
@@ -2081,16 +2081,16 @@ namespace isc { namespace dhcp {
 #line 2082 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 336:
-#line 1227 "dhcp6_parser.yy" // lalr1.cc:859
+  case 338:
+#line 1229 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2090 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 337:
-#line 1229 "dhcp6_parser.yy" // lalr1.cc:859
+  case 339:
+#line 1231 "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);
@@ -2099,8 +2099,8 @@ namespace isc { namespace dhcp {
 #line 2100 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 340:
-#line 1239 "dhcp6_parser.yy" // lalr1.cc:859
+  case 342:
+#line 1241 "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);
@@ -2108,8 +2108,8 @@ namespace isc { namespace dhcp {
 #line 2109 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 341:
-#line 1244 "dhcp6_parser.yy" // lalr1.cc:859
+  case 343:
+#line 1246 "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);
@@ -2117,8 +2117,8 @@ namespace isc { namespace dhcp {
 #line 2118 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 342:
-#line 1252 "dhcp6_parser.yy" // lalr1.cc:859
+  case 344:
+#line 1254 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pools", l);
@@ -2128,8 +2128,8 @@ namespace isc { namespace dhcp {
 #line 2129 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 343:
-#line 1257 "dhcp6_parser.yy" // lalr1.cc:859
+  case 345:
+#line 1259 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2137,8 +2137,8 @@ namespace isc { namespace dhcp {
 #line 2138 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 348:
-#line 1272 "dhcp6_parser.yy" // lalr1.cc:859
+  case 350:
+#line 1274 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2147,8 +2147,8 @@ namespace isc { namespace dhcp {
 #line 2148 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 349:
-#line 1276 "dhcp6_parser.yy" // lalr1.cc:859
+  case 351:
+#line 1278 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The pool parameter is required.
     ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2157,8 +2157,8 @@ namespace isc { namespace dhcp {
 #line 2158 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 350:
-#line 1282 "dhcp6_parser.yy" // lalr1.cc:859
+  case 352:
+#line 1284 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the pool list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2167,8 +2167,8 @@ namespace isc { namespace dhcp {
 #line 2168 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 351:
-#line 1286 "dhcp6_parser.yy" // lalr1.cc:859
+  case 353:
+#line 1288 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The pool parameter is required.
     ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2176,16 +2176,16 @@ namespace isc { namespace dhcp {
 #line 2177 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 359:
-#line 1302 "dhcp6_parser.yy" // lalr1.cc:859
+  case 361:
+#line 1304 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2185 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 360:
-#line 1304 "dhcp6_parser.yy" // lalr1.cc:859
+  case 362:
+#line 1306 "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);
@@ -2194,16 +2194,16 @@ namespace isc { namespace dhcp {
 #line 2195 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 361:
-#line 1310 "dhcp6_parser.yy" // lalr1.cc:859
+  case 363:
+#line 1312 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2203 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 362:
-#line 1312 "dhcp6_parser.yy" // lalr1.cc:859
+  case 364:
+#line 1314 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->combine_set("user-context", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2211,16 +2211,16 @@ namespace isc { namespace dhcp {
 #line 2212 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 363:
-#line 1317 "dhcp6_parser.yy" // lalr1.cc:859
+  case 365:
+#line 1319 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2220 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 364:
-#line 1319 "dhcp6_parser.yy" // lalr1.cc:859
+  case 366:
+#line 1321 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr e(new MapElement(ctx.loc2pos(yystack_[3].location)));
     e->set("comment", yystack_[0].value.as< ElementPtr > ());
@@ -2230,8 +2230,8 @@ namespace isc { namespace dhcp {
 #line 2231 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 365:
-#line 1329 "dhcp6_parser.yy" // lalr1.cc:859
+  case 367:
+#line 1331 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pd-pools", l);
@@ -2241,8 +2241,8 @@ namespace isc { namespace dhcp {
 #line 2242 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 366:
-#line 1334 "dhcp6_parser.yy" // lalr1.cc:859
+  case 368:
+#line 1336 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2250,8 +2250,8 @@ namespace isc { namespace dhcp {
 #line 2251 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 371:
-#line 1349 "dhcp6_parser.yy" // lalr1.cc:859
+  case 373:
+#line 1351 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2260,8 +2260,8 @@ namespace isc { namespace dhcp {
 #line 2261 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 372:
-#line 1353 "dhcp6_parser.yy" // lalr1.cc:859
+  case 374:
+#line 1355 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The prefix, prefix len and delegated len parameters are required.
     ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2272,8 +2272,8 @@ namespace isc { namespace dhcp {
 #line 2273 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 373:
-#line 1361 "dhcp6_parser.yy" // lalr1.cc:859
+  case 375:
+#line 1363 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the pd-pool list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2282,8 +2282,8 @@ namespace isc { namespace dhcp {
 #line 2283 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 374:
-#line 1365 "dhcp6_parser.yy" // lalr1.cc:859
+  case 376:
+#line 1367 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The prefix, prefix len and delegated len parameters are required.
     ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2294,16 +2294,16 @@ namespace isc { namespace dhcp {
 #line 2295 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 386:
-#line 1388 "dhcp6_parser.yy" // lalr1.cc:859
+  case 388:
+#line 1390 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2303 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 387:
-#line 1390 "dhcp6_parser.yy" // lalr1.cc:859
+  case 389:
+#line 1392 "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);
@@ -2312,8 +2312,8 @@ namespace isc { namespace dhcp {
 #line 2313 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 388:
-#line 1396 "dhcp6_parser.yy" // lalr1.cc:859
+  case 390:
+#line 1398 "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);
@@ -2321,16 +2321,16 @@ namespace isc { namespace dhcp {
 #line 2322 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 389:
-#line 1401 "dhcp6_parser.yy" // lalr1.cc:859
+  case 391:
+#line 1403 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2330 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 390:
-#line 1403 "dhcp6_parser.yy" // lalr1.cc:859
+  case 392:
+#line 1405 "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);
@@ -2339,8 +2339,8 @@ namespace isc { namespace dhcp {
 #line 2340 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 391:
-#line 1409 "dhcp6_parser.yy" // lalr1.cc:859
+  case 393:
+#line 1411 "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);
@@ -2348,8 +2348,8 @@ namespace isc { namespace dhcp {
 #line 2349 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 392:
-#line 1414 "dhcp6_parser.yy" // lalr1.cc:859
+  case 394:
+#line 1416 "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);
@@ -2357,8 +2357,8 @@ namespace isc { namespace dhcp {
 #line 2358 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 393:
-#line 1422 "dhcp6_parser.yy" // lalr1.cc:859
+  case 395:
+#line 1424 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("reservations", l);
@@ -2368,8 +2368,8 @@ namespace isc { namespace dhcp {
 #line 2369 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 394:
-#line 1427 "dhcp6_parser.yy" // lalr1.cc:859
+  case 396:
+#line 1429 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2377,8 +2377,8 @@ namespace isc { namespace dhcp {
 #line 2378 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 399:
-#line 1440 "dhcp6_parser.yy" // lalr1.cc:859
+  case 401:
+#line 1442 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2387,8 +2387,8 @@ namespace isc { namespace dhcp {
 #line 2388 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 400:
-#line 1444 "dhcp6_parser.yy" // lalr1.cc:859
+  case 402:
+#line 1446 "dhcp6_parser.yy" // lalr1.cc:859
     {
     /// @todo: an identifier parameter is required.
     ctx.stack_.pop_back();
@@ -2396,8 +2396,8 @@ namespace isc { namespace dhcp {
 #line 2397 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 401:
-#line 1449 "dhcp6_parser.yy" // lalr1.cc:859
+  case 403:
+#line 1451 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the reservations list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2406,8 +2406,8 @@ namespace isc { namespace dhcp {
 #line 2407 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 402:
-#line 1453 "dhcp6_parser.yy" // lalr1.cc:859
+  case 404:
+#line 1455 "dhcp6_parser.yy" // lalr1.cc:859
     {
     /// @todo: an identifier parameter is required.
     // parsing completed
@@ -2415,8 +2415,8 @@ namespace isc { namespace dhcp {
 #line 2416 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 416:
-#line 1478 "dhcp6_parser.yy" // lalr1.cc:859
+  case 418:
+#line 1480 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ip-addresses", l);
@@ -2426,8 +2426,8 @@ namespace isc { namespace dhcp {
 #line 2427 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 417:
-#line 1483 "dhcp6_parser.yy" // lalr1.cc:859
+  case 419:
+#line 1485 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2435,8 +2435,8 @@ namespace isc { namespace dhcp {
 #line 2436 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 418:
-#line 1488 "dhcp6_parser.yy" // lalr1.cc:859
+  case 420:
+#line 1490 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("prefixes", l);
@@ -2446,8 +2446,8 @@ namespace isc { namespace dhcp {
 #line 2447 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 419:
-#line 1493 "dhcp6_parser.yy" // lalr1.cc:859
+  case 421:
+#line 1495 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2455,16 +2455,16 @@ namespace isc { namespace dhcp {
 #line 2456 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 420:
-#line 1498 "dhcp6_parser.yy" // lalr1.cc:859
+  case 422:
+#line 1500 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2464 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 421:
-#line 1500 "dhcp6_parser.yy" // lalr1.cc:859
+  case 423:
+#line 1502 "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);
@@ -2473,16 +2473,16 @@ namespace isc { namespace dhcp {
 #line 2474 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 422:
-#line 1506 "dhcp6_parser.yy" // lalr1.cc:859
+  case 424:
+#line 1508 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2482 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 423:
-#line 1508 "dhcp6_parser.yy" // lalr1.cc:859
+  case 425:
+#line 1510 "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);
@@ -2491,16 +2491,16 @@ namespace isc { namespace dhcp {
 #line 2492 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 424:
-#line 1514 "dhcp6_parser.yy" // lalr1.cc:859
+  case 426:
+#line 1516 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2500 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 425:
-#line 1516 "dhcp6_parser.yy" // lalr1.cc:859
+  case 427:
+#line 1518 "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);
@@ -2509,16 +2509,16 @@ namespace isc { namespace dhcp {
 #line 2510 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 426:
-#line 1522 "dhcp6_parser.yy" // lalr1.cc:859
+  case 428:
+#line 1524 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2518 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 427:
-#line 1524 "dhcp6_parser.yy" // lalr1.cc:859
+  case 429:
+#line 1526 "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);
@@ -2527,8 +2527,8 @@ namespace isc { namespace dhcp {
 #line 2528 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 428:
-#line 1530 "dhcp6_parser.yy" // lalr1.cc:859
+  case 430:
+#line 1532 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-classes", c);
@@ -2538,8 +2538,8 @@ namespace isc { namespace dhcp {
 #line 2539 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 429:
-#line 1535 "dhcp6_parser.yy" // lalr1.cc:859
+  case 431:
+#line 1537 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2547,8 +2547,8 @@ namespace isc { namespace dhcp {
 #line 2548 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 430:
-#line 1543 "dhcp6_parser.yy" // lalr1.cc:859
+  case 432:
+#line 1545 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("relay", m);
@@ -2558,8 +2558,8 @@ namespace isc { namespace dhcp {
 #line 2559 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 431:
-#line 1548 "dhcp6_parser.yy" // lalr1.cc:859
+  case 433:
+#line 1550 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2567,16 +2567,16 @@ namespace isc { namespace dhcp {
 #line 2568 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 432:
-#line 1553 "dhcp6_parser.yy" // lalr1.cc:859
+  case 434:
+#line 1555 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2576 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 433:
-#line 1555 "dhcp6_parser.yy" // lalr1.cc:859
+  case 435:
+#line 1557 "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);
@@ -2585,8 +2585,8 @@ namespace isc { namespace dhcp {
 #line 2586 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 434:
-#line 1564 "dhcp6_parser.yy" // lalr1.cc:859
+  case 436:
+#line 1566 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-classes", l);
@@ -2596,8 +2596,8 @@ namespace isc { namespace dhcp {
 #line 2597 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 435:
-#line 1569 "dhcp6_parser.yy" // lalr1.cc:859
+  case 437:
+#line 1571 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2605,8 +2605,8 @@ namespace isc { namespace dhcp {
 #line 2606 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 438:
-#line 1578 "dhcp6_parser.yy" // lalr1.cc:859
+  case 440:
+#line 1580 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2615,8 +2615,8 @@ namespace isc { namespace dhcp {
 #line 2616 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 439:
-#line 1582 "dhcp6_parser.yy" // lalr1.cc:859
+  case 441:
+#line 1584 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The name client class parameter is required.
     ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2625,16 +2625,16 @@ namespace isc { namespace dhcp {
 #line 2626 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 449:
-#line 1604 "dhcp6_parser.yy" // lalr1.cc:859
+  case 451:
+#line 1606 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2634 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 450:
-#line 1606 "dhcp6_parser.yy" // lalr1.cc:859
+  case 452:
+#line 1608 "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);
@@ -2643,8 +2643,8 @@ namespace isc { namespace dhcp {
 #line 2644 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 451:
-#line 1615 "dhcp6_parser.yy" // lalr1.cc:859
+  case 453:
+#line 1617 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-id", m);
@@ -2654,8 +2654,8 @@ namespace isc { namespace dhcp {
 #line 2655 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 452:
-#line 1620 "dhcp6_parser.yy" // lalr1.cc:859
+  case 454:
+#line 1622 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The type parameter is required.
     ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
@@ -2665,16 +2665,16 @@ namespace isc { namespace dhcp {
 #line 2666 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 462:
-#line 1640 "dhcp6_parser.yy" // lalr1.cc:859
+  case 464:
+#line 1642 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.DUID_TYPE);
 }
 #line 2674 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 463:
-#line 1642 "dhcp6_parser.yy" // lalr1.cc:859
+  case 465:
+#line 1644 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2682,26 +2682,26 @@ namespace isc { namespace dhcp {
 #line 2683 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 464:
-#line 1647 "dhcp6_parser.yy" // lalr1.cc:859
+  case 466:
+#line 1649 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); }
 #line 2689 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 465:
-#line 1648 "dhcp6_parser.yy" // lalr1.cc:859
+  case 467:
+#line 1650 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); }
 #line 2695 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 466:
-#line 1649 "dhcp6_parser.yy" // lalr1.cc:859
+  case 468:
+#line 1651 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); }
 #line 2701 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 467:
-#line 1652 "dhcp6_parser.yy" // lalr1.cc:859
+  case 469:
+#line 1654 "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);
@@ -2709,16 +2709,16 @@ namespace isc { namespace dhcp {
 #line 2710 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 468:
-#line 1657 "dhcp6_parser.yy" // lalr1.cc:859
+  case 470:
+#line 1659 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2718 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 469:
-#line 1659 "dhcp6_parser.yy" // lalr1.cc:859
+  case 471:
+#line 1661 "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);
@@ -2727,8 +2727,8 @@ namespace isc { namespace dhcp {
 #line 2728 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 470:
-#line 1665 "dhcp6_parser.yy" // lalr1.cc:859
+  case 472:
+#line 1667 "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);
@@ -2736,8 +2736,8 @@ namespace isc { namespace dhcp {
 #line 2737 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 471:
-#line 1670 "dhcp6_parser.yy" // lalr1.cc:859
+  case 473:
+#line 1672 "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);
@@ -2745,8 +2745,8 @@ namespace isc { namespace dhcp {
 #line 2746 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 472:
-#line 1677 "dhcp6_parser.yy" // lalr1.cc:859
+  case 474:
+#line 1679 "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);
@@ -2754,8 +2754,8 @@ namespace isc { namespace dhcp {
 #line 2755 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 473:
-#line 1684 "dhcp6_parser.yy" // lalr1.cc:859
+  case 475:
+#line 1686 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("control-socket", m);
@@ -2765,8 +2765,8 @@ namespace isc { namespace dhcp {
 #line 2766 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 474:
-#line 1689 "dhcp6_parser.yy" // lalr1.cc:859
+  case 476:
+#line 1691 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2774,16 +2774,16 @@ namespace isc { namespace dhcp {
 #line 2775 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 479:
-#line 1702 "dhcp6_parser.yy" // lalr1.cc:859
+  case 481:
+#line 1704 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2783 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 480:
-#line 1704 "dhcp6_parser.yy" // lalr1.cc:859
+  case 482:
+#line 1706 "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);
@@ -2792,16 +2792,16 @@ namespace isc { namespace dhcp {
 #line 2793 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 481:
-#line 1710 "dhcp6_parser.yy" // lalr1.cc:859
+  case 483:
+#line 1712 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2801 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 482:
-#line 1712 "dhcp6_parser.yy" // lalr1.cc:859
+  case 484:
+#line 1714 "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);
@@ -2810,8 +2810,8 @@ namespace isc { namespace dhcp {
 #line 2811 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 483:
-#line 1720 "dhcp6_parser.yy" // lalr1.cc:859
+  case 485:
+#line 1722 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("dhcp-ddns", m);
@@ -2821,8 +2821,8 @@ namespace isc { namespace dhcp {
 #line 2822 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 484:
-#line 1725 "dhcp6_parser.yy" // lalr1.cc:859
+  case 486:
+#line 1727 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The enable updates DHCP DDNS parameter is required.
     ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
@@ -2832,8 +2832,8 @@ namespace isc { namespace dhcp {
 #line 2833 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 485:
-#line 1732 "dhcp6_parser.yy" // lalr1.cc:859
+  case 487:
+#line 1734 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the dhcp-ddns map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2842,8 +2842,8 @@ namespace isc { namespace dhcp {
 #line 2843 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 486:
-#line 1736 "dhcp6_parser.yy" // lalr1.cc:859
+  case 488:
+#line 1738 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The enable updates DHCP DDNS parameter is required.
     ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2852,8 +2852,8 @@ namespace isc { namespace dhcp {
 #line 2853 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 504:
-#line 1763 "dhcp6_parser.yy" // lalr1.cc:859
+  case 506:
+#line 1765 "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);
@@ -2861,16 +2861,16 @@ namespace isc { namespace dhcp {
 #line 2862 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 505:
-#line 1768 "dhcp6_parser.yy" // lalr1.cc:859
+  case 507:
+#line 1770 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2870 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 506:
-#line 1770 "dhcp6_parser.yy" // lalr1.cc:859
+  case 508:
+#line 1772 "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);
@@ -2879,16 +2879,16 @@ namespace isc { namespace dhcp {
 #line 2880 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 507:
-#line 1776 "dhcp6_parser.yy" // lalr1.cc:859
+  case 509:
+#line 1778 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2888 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 508:
-#line 1778 "dhcp6_parser.yy" // lalr1.cc:859
+  case 510:
+#line 1780 "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);
@@ -2897,8 +2897,8 @@ namespace isc { namespace dhcp {
 #line 2898 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 509:
-#line 1784 "dhcp6_parser.yy" // lalr1.cc:859
+  case 511:
+#line 1786 "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);
@@ -2906,16 +2906,16 @@ namespace isc { namespace dhcp {
 #line 2907 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 510:
-#line 1789 "dhcp6_parser.yy" // lalr1.cc:859
+  case 512:
+#line 1791 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2915 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 511:
-#line 1791 "dhcp6_parser.yy" // lalr1.cc:859
+  case 513:
+#line 1793 "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);
@@ -2924,8 +2924,8 @@ namespace isc { namespace dhcp {
 #line 2925 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 512:
-#line 1797 "dhcp6_parser.yy" // lalr1.cc:859
+  case 514:
+#line 1799 "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);
@@ -2933,8 +2933,8 @@ namespace isc { namespace dhcp {
 #line 2934 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 513:
-#line 1802 "dhcp6_parser.yy" // lalr1.cc:859
+  case 515:
+#line 1804 "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);
@@ -2942,16 +2942,16 @@ namespace isc { namespace dhcp {
 #line 2943 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 514:
-#line 1807 "dhcp6_parser.yy" // lalr1.cc:859
+  case 516:
+#line 1809 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NCR_PROTOCOL);
 }
 #line 2951 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 515:
-#line 1809 "dhcp6_parser.yy" // lalr1.cc:859
+  case 517:
+#line 1811 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2959,28 +2959,28 @@ namespace isc { namespace dhcp {
 #line 2960 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 516:
-#line 1815 "dhcp6_parser.yy" // lalr1.cc:859
+  case 518:
+#line 1817 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
 #line 2966 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 517:
-#line 1816 "dhcp6_parser.yy" // lalr1.cc:859
+  case 519:
+#line 1818 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
 #line 2972 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 518:
-#line 1819 "dhcp6_parser.yy" // lalr1.cc:859
+  case 520:
+#line 1821 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NCR_FORMAT);
 }
 #line 2980 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 519:
-#line 1821 "dhcp6_parser.yy" // lalr1.cc:859
+  case 521:
+#line 1823 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ncr-format", json);
@@ -2989,8 +2989,8 @@ namespace isc { namespace dhcp {
 #line 2990 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 520:
-#line 1827 "dhcp6_parser.yy" // lalr1.cc:859
+  case 522:
+#line 1829 "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);
@@ -2998,8 +2998,8 @@ namespace isc { namespace dhcp {
 #line 2999 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 521:
-#line 1832 "dhcp6_parser.yy" // lalr1.cc:859
+  case 523:
+#line 1834 "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);
@@ -3007,8 +3007,8 @@ namespace isc { namespace dhcp {
 #line 3008 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 522:
-#line 1837 "dhcp6_parser.yy" // lalr1.cc:859
+  case 524:
+#line 1839 "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);
@@ -3016,16 +3016,16 @@ namespace isc { namespace dhcp {
 #line 3017 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 523:
-#line 1842 "dhcp6_parser.yy" // lalr1.cc:859
+  case 525:
+#line 1844 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.REPLACE_CLIENT_NAME);
 }
 #line 3025 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 524:
-#line 1844 "dhcp6_parser.yy" // lalr1.cc:859
+  case 526:
+#line 1846 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3033,40 +3033,40 @@ namespace isc { namespace dhcp {
 #line 3034 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 525:
-#line 1850 "dhcp6_parser.yy" // lalr1.cc:859
+  case 527:
+#line 1852 "dhcp6_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); 
       }
 #line 3042 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 526:
-#line 1853 "dhcp6_parser.yy" // lalr1.cc:859
+  case 528:
+#line 1855 "dhcp6_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
       }
 #line 3050 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 527:
-#line 1856 "dhcp6_parser.yy" // lalr1.cc:859
+  case 529:
+#line 1858 "dhcp6_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
       }
 #line 3058 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 528:
-#line 1859 "dhcp6_parser.yy" // lalr1.cc:859
+  case 530:
+#line 1861 "dhcp6_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
       }
 #line 3066 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 529:
-#line 1862 "dhcp6_parser.yy" // lalr1.cc:859
+  case 531:
+#line 1864 "dhcp6_parser.yy" // lalr1.cc:859
     {
       error(yystack_[0].location, "boolean values for the replace-client-name are "
                 "no longer supported");
@@ -3074,16 +3074,16 @@ namespace isc { namespace dhcp {
 #line 3075 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 530:
-#line 1868 "dhcp6_parser.yy" // lalr1.cc:859
+  case 532:
+#line 1870 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3083 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 531:
-#line 1870 "dhcp6_parser.yy" // lalr1.cc:859
+  case 533:
+#line 1872 "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);
@@ -3092,16 +3092,16 @@ namespace isc { namespace dhcp {
 #line 3093 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 532:
-#line 1878 "dhcp6_parser.yy" // lalr1.cc:859
+  case 534:
+#line 1880 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3101 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 533:
-#line 1880 "dhcp6_parser.yy" // lalr1.cc:859
+  case 535:
+#line 1882 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("Dhcp4", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3109,16 +3109,16 @@ namespace isc { namespace dhcp {
 #line 3110 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 534:
-#line 1885 "dhcp6_parser.yy" // lalr1.cc:859
+  case 536:
+#line 1887 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3118 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 535:
-#line 1887 "dhcp6_parser.yy" // lalr1.cc:859
+  case 537:
+#line 1889 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3126,16 +3126,16 @@ namespace isc { namespace dhcp {
 #line 3127 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 536:
-#line 1892 "dhcp6_parser.yy" // lalr1.cc:859
+  case 538:
+#line 1894 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3135 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 537:
-#line 1894 "dhcp6_parser.yy" // lalr1.cc:859
+  case 539:
+#line 1896 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("Control-agent", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3143,8 +3143,8 @@ namespace isc { namespace dhcp {
 #line 3144 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 538:
-#line 1905 "dhcp6_parser.yy" // lalr1.cc:859
+  case 540:
+#line 1907 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("Logging", m);
@@ -3154,8 +3154,8 @@ namespace isc { namespace dhcp {
 #line 3155 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 539:
-#line 1910 "dhcp6_parser.yy" // lalr1.cc:859
+  case 541:
+#line 1912 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -3163,8 +3163,8 @@ namespace isc { namespace dhcp {
 #line 3164 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 543:
-#line 1927 "dhcp6_parser.yy" // lalr1.cc:859
+  case 545:
+#line 1929 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("loggers", l);
@@ -3174,8 +3174,8 @@ namespace isc { namespace dhcp {
 #line 3175 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 544:
-#line 1932 "dhcp6_parser.yy" // lalr1.cc:859
+  case 546:
+#line 1934 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -3183,8 +3183,8 @@ namespace isc { namespace dhcp {
 #line 3184 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 547:
-#line 1944 "dhcp6_parser.yy" // lalr1.cc:859
+  case 549:
+#line 1946 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(l);
@@ -3193,16 +3193,16 @@ namespace isc { namespace dhcp {
 #line 3194 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 548:
-#line 1948 "dhcp6_parser.yy" // lalr1.cc:859
+  case 550:
+#line 1950 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 3202 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 556:
-#line 1963 "dhcp6_parser.yy" // lalr1.cc:859
+  case 558:
+#line 1965 "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);
@@ -3210,16 +3210,16 @@ namespace isc { namespace dhcp {
 #line 3211 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 557:
-#line 1968 "dhcp6_parser.yy" // lalr1.cc:859
+  case 559:
+#line 1970 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3219 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 558:
-#line 1970 "dhcp6_parser.yy" // lalr1.cc:859
+  case 560:
+#line 1972 "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);
@@ -3228,8 +3228,8 @@ namespace isc { namespace dhcp {
 #line 3229 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 559:
-#line 1976 "dhcp6_parser.yy" // lalr1.cc:859
+  case 561:
+#line 1978 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output_options", l);
@@ -3239,8 +3239,8 @@ namespace isc { namespace dhcp {
 #line 3240 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 560:
-#line 1981 "dhcp6_parser.yy" // lalr1.cc:859
+  case 562:
+#line 1983 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -3248,8 +3248,8 @@ namespace isc { namespace dhcp {
 #line 3249 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 563:
-#line 1990 "dhcp6_parser.yy" // lalr1.cc:859
+  case 565:
+#line 1992 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -3258,24 +3258,24 @@ namespace isc { namespace dhcp {
 #line 3259 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 564:
-#line 1994 "dhcp6_parser.yy" // lalr1.cc:859
+  case 566:
+#line 1996 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 3267 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 571:
-#line 2008 "dhcp6_parser.yy" // lalr1.cc:859
+  case 573:
+#line 2010 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3275 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 572:
-#line 2010 "dhcp6_parser.yy" // lalr1.cc:859
+  case 574:
+#line 2012 "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);
@@ -3284,8 +3284,8 @@ namespace isc { namespace dhcp {
 #line 3285 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 573:
-#line 2016 "dhcp6_parser.yy" // lalr1.cc:859
+  case 575:
+#line 2018 "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);
@@ -3293,8 +3293,8 @@ namespace isc { namespace dhcp {
 #line 3294 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 574:
-#line 2021 "dhcp6_parser.yy" // lalr1.cc:859
+  case 576:
+#line 2023 "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);
@@ -3302,8 +3302,8 @@ namespace isc { namespace dhcp {
 #line 3303 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 575:
-#line 2026 "dhcp6_parser.yy" // lalr1.cc:859
+  case 577:
+#line 2028 "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);
@@ -3567,108 +3567,108 @@ namespace isc { namespace dhcp {
   }
 
 
-  const short int Dhcp6Parser::yypact_ninf_ = -705;
+  const short int Dhcp6Parser::yypact_ninf_ = -708;
 
   const signed char Dhcp6Parser::yytable_ninf_ = -1;
 
   const short int
   Dhcp6Parser::yypact_[] =
   {
-     234,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,  -705,  -705,    43,    22,    48,    62,    87,   106,
-     117,   166,   175,   198,   205,   227,   229,   231,  -705,  -705,
-    -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,  -705,  -705,    22,   -75,    20,   130,    50,    26,
-      74,    -6,    58,    44,    63,   110,   -46,   253,  -705,    95,
-     140,   155,   240,   254,  -705,  -705,  -705,  -705,  -705,   263,
-    -705,    53,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,   273,   291,   309,   313,   318,  -705,  -705,  -705,  -705,
-    -705,  -705,  -705,  -705,  -705,  -705,  -705,   319,  -705,  -705,
-    -705,    70,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,  -705,  -705,  -705,  -705,   328,    72,  -705,  -705,
-    -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,   329,
-     331,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-     112,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,   152,
-    -705,  -705,  -705,  -705,  -705,   338,  -705,   343,   345,  -705,
-    -705,  -705,  -705,   200,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,   248,
-     284,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,   267,
-    -705,  -705,   346,  -705,  -705,  -705,   347,  -705,  -705,   344,
-     350,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,   351,   352,  -705,  -705,  -705,  -705,   349,   383,
-    -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-     206,  -705,  -705,  -705,   384,  -705,  -705,   385,  -705,   386,
-     387,  -705,  -705,   388,   389,   390,  -705,  -705,  -705,   222,
-    -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,  -705,  -705,  -705,  -705,    22,    22,  -705,   202,
-     391,   392,   393,   394,   395,  -705,    20,  -705,   396,   397,
-     398,   250,   256,   257,   259,   260,   400,   402,   403,   404,
-     407,   410,   411,   412,   413,   414,   415,   269,   416,   417,
-     130,  -705,   419,   232,    50,  -705,    -4,   420,   421,   422,
-     423,   424,   425,   426,   279,   276,   429,   433,   434,   435,
-      26,  -705,   436,    74,  -705,   437,   289,   439,   292,   294,
-      -6,  -705,   440,   442,   444,   445,   446,   447,   448,  -705,
-      58,  -705,   451,   452,   304,   454,   455,   456,   308,  -705,
-      63,   460,   310,   311,  -705,   110,   463,   464,    32,  -705,
-     314,   466,   467,   321,   473,   326,   330,   474,   477,   327,
-     332,   333,   480,   481,   253,  -705,  -705,  -705,   482,   483,
-     484,    22,    22,    22,  -705,   486,   487,   488,  -705,  -705,
-    -705,  -705,  -705,   491,   492,   493,   494,   495,   496,   497,
-     498,   499,   500,   501,  -705,   502,   503,  -705,   506,  -705,
-    -705,  -705,  -705,  -705,  -705,   504,   510,  -705,  -705,  -705,
-     509,   512,   508,    22,   337,   353,   354,  -705,  -705,   272,
-     366,   514,   513,  -705,   369,  -705,   370,  -705,   371,  -705,
-    -705,  -705,   506,   506,   506,   372,   373,   374,   375,  -705,
-     376,   377,  -705,   378,   379,   380,  -705,  -705,   382,  -705,
-    -705,  -705,   399,    22,  -705,  -705,   401,   405,  -705,   406,
-    -705,  -705,   187,   418,  -705,  -705,  -705,    94,   408,  -705,
-      22,   130,   409,  -705,  -705,  -705,    50,   163,   163,   528,
-     529,   531,   532,   -41,    22,   144,    30,   534,   153,    28,
-      92,   253,  -705,  -705,   538,  -705,    -4,   536,   537,  -705,
-    -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-     539,   465,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,  -705,  -705,  -705,   225,  -705,   243,  -705,  -705,
-     244,  -705,  -705,  -705,  -705,   541,   544,   545,   546,   548,
-    -705,  -705,  -705,   251,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,  -705,  -705,  -705,  -705,  -705,   252,  -705,   549,
-     551,  -705,  -705,   550,   556,  -705,  -705,   555,   559,  -705,
-    -705,   557,   561,  -705,  -705,  -705,   136,  -705,  -705,  -705,
-     560,  -705,  -705,  -705,   285,  -705,  -705,  -705,  -705,   293,
-    -705,   562,   564,  -705,   565,   566,   567,   568,   569,   570,
-     255,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-     571,   572,   573,  -705,  -705,   258,  -705,  -705,  -705,  -705,
-    -705,  -705,  -705,  -705,   261,  -705,  -705,  -705,   262,   427,
-     428,  -705,  -705,   575,   579,  -705,  -705,   577,   581,  -705,
-    -705,   580,   582,  -705,  -705,   583,  -705,   574,   409,  -705,
-    -705,   584,   585,   586,   588,   441,   432,   443,   438,   449,
-     591,   593,   163,  -705,  -705,    26,  -705,   528,    63,  -705,
-     529,   110,  -705,   531,    59,  -705,   532,   -41,  -705,  -705,
-     144,  -705,    30,  -705,   -46,  -705,   534,   450,   453,   457,
-     458,   459,   461,   153,  -705,   594,   595,   462,   468,   469,
-      28,  -705,   596,   597,    92,  -705,  -705,  -705,   598,   602,
-    -705,    74,  -705,   536,    -6,  -705,   537,    58,  -705,   539,
-     603,  -705,   604,  -705,   283,   471,   472,   475,  -705,  -705,
-    -705,  -705,  -705,   476,   478,  -705,   265,  -705,   600,  -705,
-     605,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,  -705,  -705,   268,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,   271,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,   245,   479,  -705,  -705,  -705,  -705,   485,   489,  -705,
-    -705,   490,   275,  -705,   278,  -705,   608,  -705,   505,   558,
-    -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,  -705,    59,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,   324,
-    -705,  -705,    75,   558,  -705,  -705,   613,  -705,  -705,  -705,
-     281,  -705,  -705,  -705,  -705,  -705,   614,   507,   615,    75,
-    -705,   620,  -705,   511,  -705,   619,  -705,  -705,   325,  -705,
-     -63,   619,  -705,  -705,   616,   625,   628,   282,  -705,  -705,
-    -705,  -705,  -705,  -705,   629,   516,   521,   523,   -63,  -705,
-     527,  -705,  -705,  -705,  -705,  -705
+     227,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,    32,    24,    40,    47,    61,    78,
+      87,   112,   123,   131,   141,   167,   196,   216,  -708,  -708,
+    -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,    24,  -113,    20,   129,   142,    17,
+      65,     7,    49,    19,    54,    93,   -13,   246,  -708,   201,
+     230,   245,   217,   264,  -708,  -708,  -708,  -708,  -708,   297,
+    -708,    38,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,   299,   303,   311,   319,   324,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,  -708,  -708,  -708,   329,  -708,  -708,
+    -708,    89,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,  -708,  -708,   337,   177,  -708,  -708,
+    -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,   338,
+     340,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+     208,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,   210,
+    -708,  -708,  -708,  -708,  -708,   341,  -708,   342,   343,  -708,
+    -708,  -708,  -708,   211,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,   371,
+     346,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,   372,
+    -708,  -708,   377,  -708,  -708,  -708,   378,  -708,  -708,   375,
+     347,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,   380,   381,  -708,  -708,  -708,  -708,   379,   383,
+    -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+     218,  -708,  -708,  -708,   384,  -708,  -708,   385,  -708,   386,
+     387,  -708,  -708,   388,   389,   390,  -708,  -708,  -708,   221,
+    -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,  -708,  -708,    24,    24,  -708,   243,
+     392,   393,   395,   396,   397,  -708,    20,  -708,   398,   399,
+     400,   252,   253,   256,   259,   260,   403,   404,   406,   407,
+     410,   411,   412,   413,   414,   415,   416,   270,   417,   418,
+     129,  -708,   420,   276,   142,  -708,    -3,   421,   422,   426,
+     428,   429,   430,   431,   283,   282,   434,   435,   436,   437,
+      17,  -708,   438,    65,  -708,   439,   291,   441,   293,   294,
+       7,  -708,   444,   445,   446,   447,   448,   451,   452,  -708,
+      49,  -708,   453,   454,   306,   456,   459,   460,   310,  -708,
+      54,   462,   312,   313,  -708,    93,   466,   467,   200,  -708,
+     321,   470,   473,   325,   475,   328,   330,   478,   480,   331,
+     332,   333,   481,   485,   246,  -708,  -708,  -708,   486,   484,
+     487,    24,    24,    24,  -708,   488,   489,   490,  -708,  -708,
+    -708,  -708,  -708,   493,   494,   495,   496,   497,   498,   499,
+     500,   501,   503,   504,  -708,   505,   506,  -708,   502,  -708,
+    -708,  -708,  -708,  -708,  -708,   507,   511,  -708,  -708,  -708,
+     512,   513,   509,    24,   356,   367,   368,  -708,  -708,   266,
+     369,   517,   516,  -708,   373,  -708,   376,  -708,   382,  -708,
+    -708,  -708,   502,   502,   502,   391,   394,   401,   402,  -708,
+     405,   408,  -708,   409,   419,   423,  -708,  -708,   424,  -708,
+    -708,  -708,   425,    24,  -708,  -708,   427,   432,  -708,   433,
+    -708,  -708,   170,   440,  -708,  -708,  -708,    27,   442,  -708,
+      24,   129,   365,  -708,  -708,  -708,   142,   165,   165,   520,
+     522,   523,   524,   -11,    24,   222,    31,   525,   164,    18,
+     192,   246,  -708,  -708,   529,  -708,    -3,   528,   530,  -708,
+    -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+     531,   457,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,  -708,   224,  -708,   232,  -708,  -708,
+     238,  -708,  -708,  -708,  -708,   532,   536,   537,   538,   540,
+    -708,  -708,  -708,   239,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,  -708,  -708,  -708,   240,  -708,   518,
+     542,  -708,  -708,   541,   545,  -708,  -708,   543,   547,  -708,
+    -708,   546,   548,  -708,  -708,  -708,    99,  -708,  -708,  -708,
+     549,  -708,  -708,  -708,   105,  -708,  -708,  -708,  -708,   139,
+    -708,   550,   555,  -708,   559,   560,   561,   562,   563,   564,
+     254,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+     565,   566,   568,  -708,  -708,   255,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,   257,  -708,  -708,  -708,   258,   443,
+     449,  -708,  -708,   553,   570,  -708,  -708,   572,   571,  -708,
+    -708,   574,   578,  -708,  -708,   575,  -708,   582,   365,  -708,
+    -708,   583,   584,   585,   586,   450,   455,   458,   461,   464,
+     587,   588,   165,  -708,  -708,    17,  -708,   520,    54,  -708,
+     522,    93,  -708,   523,    50,  -708,   524,   -11,  -708,  -708,
+     222,  -708,    31,  -708,   -13,  -708,   525,   465,   468,   469,
+     471,   472,   474,   164,  -708,   589,   592,   476,   477,   479,
+      18,  -708,   593,   594,   192,  -708,  -708,  -708,   576,   596,
+    -708,    65,  -708,   528,     7,  -708,   530,    49,  -708,   531,
+     598,  -708,   595,  -708,   269,   463,   482,   483,  -708,  -708,
+    -708,  -708,  -708,   491,   492,  -708,   261,  -708,   597,  -708,
+     599,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,   265,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,   267,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,   241,   508,  -708,  -708,  -708,  -708,   510,
+     519,  -708,  -708,   527,   268,  -708,   271,  -708,   600,  -708,
+     535,   602,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,  -708,    50,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,   302,  -708,  -708,   107,   602,  -708,  -708,   608,  -708,
+    -708,  -708,   274,  -708,  -708,  -708,  -708,  -708,   609,   521,
+     610,   107,  -708,   601,  -708,   539,  -708,   612,  -708,  -708,
+     316,  -708,    75,   612,  -708,  -708,   616,   619,   622,   275,
+    -708,  -708,  -708,  -708,  -708,  -708,   624,   551,   544,   552,
+      75,  -708,   556,  -708,  -708,  -708,  -708,  -708
   };
 
   const unsigned short int
@@ -3678,137 +3678,137 @@ namespace isc { namespace dhcp {
       20,    22,    24,    26,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     1,    43,
       36,    32,    31,    28,    29,    30,    35,     3,    33,    34,
-      56,     5,    68,     7,   102,     9,   215,    11,   350,    13,
-     373,    15,   401,    17,   279,    19,   287,    21,   322,    23,
-     180,    25,   485,    27,    45,    39,     0,     0,     0,     0,
-       0,     0,   403,     0,   289,   324,     0,     0,    47,     0,
-      46,     0,     0,    40,    66,   538,   532,   534,   536,     0,
+      56,     5,    68,     7,   102,     9,   215,    11,   352,    13,
+     375,    15,   403,    17,   281,    19,   289,    21,   324,    23,
+     180,    25,   487,    27,    45,    39,     0,     0,     0,     0,
+       0,     0,   405,     0,   291,   326,     0,     0,    47,     0,
+      46,     0,     0,    40,    66,   540,   534,   536,   538,     0,
       65,     0,    58,    60,    62,    63,    64,    61,   100,   111,
-     113,     0,     0,     0,     0,     0,   207,   277,   314,   253,
-     153,   170,   161,   434,   172,   191,   451,     0,   473,   483,
+     113,     0,     0,     0,     0,     0,   207,   279,   316,   253,
+     153,   170,   161,   436,   172,   191,   453,     0,   475,   485,
       94,     0,    70,    72,    73,    74,    75,    76,    79,    80,
       81,    82,    84,    83,    88,    89,    77,    78,    86,    87,
       85,    90,    91,    92,    93,   108,     0,     0,   104,   106,
-     107,   438,   342,   365,   361,   363,   238,   240,   242,     0,
-       0,   246,   244,   393,   430,   237,   219,   220,   221,   222,
+     107,   440,   344,   367,   363,   365,   238,   240,   242,     0,
+       0,   246,   244,   395,   432,   237,   219,   220,   221,   222,
        0,   217,   226,   227,   228,   231,   233,   229,   230,   223,
-     224,   235,   236,   225,   232,   234,   359,   358,   355,     0,
-     352,   354,   356,   357,   386,     0,   389,     0,     0,   385,
-     380,   383,   384,     0,   375,   377,   378,   381,   382,   379,
-     428,   416,   418,   420,   422,   424,   426,   415,   414,     0,
-     404,   405,   409,   410,   407,   411,   412,   413,   408,     0,
-     304,   143,     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,   187,   189,   184,
-       0,   182,   185,   186,     0,   505,   507,     0,   510,     0,
-       0,   514,   518,     0,     0,     0,   523,   530,   503,     0,
-     487,   489,   490,   491,   492,   493,   494,   495,   496,   497,
-     498,   499,   500,   501,   502,    44,     0,     0,    37,     0,
+     224,   235,   236,   225,   232,   234,   361,   360,   357,     0,
+     354,   356,   358,   359,   388,     0,   391,     0,     0,   387,
+     382,   385,   386,     0,   377,   379,   380,   383,   384,   381,
+     430,   418,   420,   422,   424,   426,   428,   417,   416,     0,
+     406,   407,   411,   412,   409,   413,   414,   415,   410,     0,
+     306,   143,     0,   310,   308,   313,     0,   302,   303,     0,
+     292,   293,   295,   305,   296,   297,   298,   312,   299,   300,
+     301,   338,     0,     0,   336,   337,   340,   341,     0,   327,
+     328,   330,   331,   332,   333,   334,   335,   187,   189,   184,
+       0,   182,   185,   186,     0,   507,   509,     0,   512,     0,
+       0,   516,   520,     0,     0,     0,   525,   532,   505,     0,
+     489,   491,   492,   493,   494,   495,   496,   497,   498,   499,
+     500,   501,   502,   503,   504,    44,     0,     0,    37,     0,
        0,     0,     0,     0,     0,    55,     0,    57,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    69,     0,     0,     0,   103,   440,     0,     0,     0,
+       0,    69,     0,     0,     0,   103,   442,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   216,     0,     0,   351,     0,     0,     0,     0,     0,
-       0,   374,     0,     0,     0,     0,     0,     0,     0,   402,
-       0,   280,     0,     0,     0,     0,     0,     0,     0,   288,
-       0,     0,     0,     0,   323,     0,     0,     0,     0,   181,
+       0,   216,     0,     0,   353,     0,     0,     0,     0,     0,
+       0,   376,     0,     0,     0,     0,     0,     0,     0,   404,
+       0,   282,     0,     0,     0,     0,     0,     0,     0,   290,
+       0,     0,     0,     0,   325,     0,     0,     0,     0,   181,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   486,    48,    41,     0,     0,
+       0,     0,     0,     0,     0,   488,    48,    41,     0,     0,
        0,     0,     0,     0,    59,     0,     0,     0,    95,    96,
       97,    98,    99,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   472,     0,     0,    71,     0,   110,
-     105,   449,   447,   448,   446,     0,   441,   442,   444,   445,
+       0,     0,     0,     0,   474,     0,     0,    71,     0,   110,
+     105,   451,   449,   450,   448,     0,   443,   444,   446,   447,
        0,     0,     0,     0,     0,     0,     0,   251,   252,     0,
-       0,     0,     0,   218,     0,   353,     0,   388,     0,   391,
-     392,   376,     0,     0,     0,     0,     0,     0,     0,   406,
-       0,     0,   302,     0,     0,     0,   313,   292,     0,   340,
-     341,   327,     0,     0,   183,   504,     0,     0,   509,     0,
-     512,   513,     0,     0,   520,   521,   522,     0,     0,   488,
-       0,     0,     0,   533,   535,   537,     0,     0,     0,   209,
-     281,   316,   255,     0,    45,     0,     0,   174,     0,     0,
-       0,     0,    49,   109,     0,   439,     0,   344,   367,    38,
-     362,   364,   239,   241,   243,   248,   249,   250,   247,   245,
-     395,     0,   360,   387,   390,   429,   417,   419,   421,   423,
-     425,   427,   305,   144,   309,   307,   312,   337,   188,   190,
-     506,   508,   511,   516,   517,   515,   519,   525,   526,   527,
-     528,   529,   524,   531,    42,     0,   543,     0,   540,   542,
+       0,     0,     0,   218,     0,   355,     0,   390,     0,   393,
+     394,   378,     0,     0,     0,     0,     0,     0,     0,   408,
+       0,     0,   304,     0,     0,     0,   315,   294,     0,   342,
+     343,   329,     0,     0,   183,   506,     0,     0,   511,     0,
+     514,   515,     0,     0,   522,   523,   524,     0,     0,   490,
+       0,     0,     0,   535,   537,   539,     0,     0,     0,   209,
+     283,   318,   255,     0,    45,     0,     0,   174,     0,     0,
+       0,     0,    49,   109,     0,   441,     0,   346,   369,    38,
+     364,   366,   239,   241,   243,   248,   249,   250,   247,   245,
+     397,     0,   362,   389,   392,   431,   419,   421,   423,   425,
+     427,   429,   307,   144,   311,   309,   314,   339,   188,   190,
+     508,   510,   513,   518,   519,   517,   521,   527,   528,   529,
+     530,   531,   526,   533,    42,     0,   545,     0,   542,   544,
        0,   130,   136,   138,   140,     0,     0,     0,     0,     0,
      149,   151,   129,     0,   115,   117,   118,   119,   120,   121,
      122,   123,   124,   125,   126,   127,   128,     0,   213,     0,
-     210,   211,   285,     0,   282,   283,   320,     0,   317,   318,
+     210,   211,   287,     0,   284,   285,   322,     0,   319,   320,
      259,     0,   256,   257,   159,   160,     0,   155,   157,   158,
-       0,   168,   169,   165,     0,   163,   166,   167,   436,     0,
+       0,   168,   169,   165,     0,   163,   166,   167,   438,     0,
      178,     0,   175,   176,     0,     0,     0,     0,     0,     0,
-       0,   193,   195,   196,   197,   198,   199,   200,   462,   468,
-       0,     0,     0,   461,   460,     0,   453,   455,   458,   456,
-     457,   459,   479,   481,     0,   475,   477,   478,     0,    51,
-       0,   443,   348,     0,   345,   346,   371,     0,   368,   369,
-     399,     0,   396,   397,   432,     0,    67,     0,     0,   539,
+       0,   193,   195,   196,   197,   198,   199,   200,   464,   470,
+       0,     0,     0,   463,   462,     0,   455,   457,   460,   458,
+     459,   461,   481,   483,     0,   477,   479,   480,     0,    51,
+       0,   445,   350,     0,   347,   348,   373,     0,   370,   371,
+     401,     0,   398,   399,   434,     0,    67,     0,     0,   541,
      101,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   112,   114,     0,   208,     0,   289,   278,
-       0,   324,   315,     0,     0,   254,     0,     0,   154,   171,
-       0,   162,     0,   435,     0,   173,     0,     0,     0,     0,
+       0,     0,     0,   112,   114,     0,   208,     0,   291,   280,
+       0,   326,   317,     0,     0,   254,     0,     0,   154,   171,
+       0,   162,     0,   437,     0,   173,     0,     0,     0,     0,
        0,     0,     0,     0,   192,     0,     0,     0,     0,     0,
-       0,   452,     0,     0,     0,   474,   484,    53,     0,    52,
-     450,     0,   343,     0,     0,   366,     0,   403,   394,     0,
-       0,   431,     0,   541,     0,     0,     0,     0,   142,   145,
-     146,   147,   148,     0,     0,   116,     0,   212,     0,   284,
-       0,   319,   276,   273,   275,   267,   268,   263,   264,   265,
-     266,   272,   271,   274,     0,   261,   269,   270,   258,   156,
-     164,   437,     0,   177,   201,   202,   203,   204,   205,   206,
-     194,     0,     0,   467,   470,   471,   454,     0,     0,   476,
-      50,     0,     0,   347,     0,   370,     0,   398,     0,     0,
-     132,   133,   134,   135,   131,   137,   139,   141,   150,   152,
-     214,   286,   321,     0,   260,   179,   464,   465,   466,   463,
-     469,   480,   482,    54,   349,   372,   400,   433,   547,     0,
-     545,   262,     0,     0,   544,   559,     0,   557,   555,   551,
-       0,   549,   553,   554,   552,   546,     0,     0,     0,     0,
-     548,     0,   556,     0,   550,     0,   558,   563,     0,   561,
-       0,     0,   560,   571,     0,     0,     0,     0,   565,   567,
-     568,   569,   570,   562,     0,     0,     0,     0,     0,   564,
-       0,   573,   574,   575,   566,   572
+       0,   454,     0,     0,     0,   476,   486,    53,     0,    52,
+     452,     0,   345,     0,     0,   368,     0,   405,   396,     0,
+       0,   433,     0,   543,     0,     0,     0,     0,   142,   145,
+     146,   147,   148,     0,     0,   116,     0,   212,     0,   286,
+       0,   321,   278,   273,   275,   267,   268,   263,   264,   265,
+     266,   272,   271,   274,     0,   261,   269,   276,   277,   270,
+     258,   156,   164,   439,     0,   177,   201,   202,   203,   204,
+     205,   206,   194,     0,     0,   469,   472,   473,   456,     0,
+       0,   478,    50,     0,     0,   349,     0,   372,     0,   400,
+       0,     0,   132,   133,   134,   135,   131,   137,   139,   141,
+     150,   152,   214,   288,   323,     0,   260,   179,   466,   467,
+     468,   465,   471,   482,   484,    54,   351,   374,   402,   435,
+     549,     0,   547,   262,     0,     0,   546,   561,     0,   559,
+     557,   553,     0,   551,   555,   556,   554,   548,     0,     0,
+       0,     0,   550,     0,   558,     0,   552,     0,   560,   565,
+       0,   563,     0,     0,   562,   573,     0,     0,     0,     0,
+     567,   569,   570,   571,   572,   564,     0,     0,     0,     0,
+       0,   566,     0,   575,   576,   577,   568,   574
   };
 
   const short int
   Dhcp6Parser::yypgoto_[] =
   {
-    -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,  -705,  -705,  -705,    13,  -705,   172,  -705,  -705,
-    -705,  -705,  -705,  -705,   101,  -705,  -138,  -705,  -705,  -705,
-     -66,  -705,  -705,  -705,   320,  -705,  -705,  -705,  -705,   118,
-     298,   -67,   -62,   -50,   -49,  -705,  -705,  -705,  -705,  -705,
-     114,   299,  -705,  -705,  -705,  -705,  -705,  -705,  -705,   116,
-     -87,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,   -74,  -705,  -517,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,  -705,  -705,  -101,  -511,  -705,  -705,  -705,  -705,
-    -103,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -108,
-    -705,  -705,  -705,  -105,   264,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,  -113,  -705,  -705,  -705,  -705,  -705,  -705,  -704,
-    -705,  -705,  -705,   -86,  -705,  -705,  -705,   -83,   295,  -705,
-    -705,  -703,  -705,  -702,  -705,  -515,  -705,  -692,  -705,  -705,
-    -705,  -690,  -705,  -705,  -705,  -705,   -93,  -705,  -705,  -219,
-     592,  -705,  -705,  -705,  -705,  -705,   -84,  -705,  -705,  -705,
-     -79,  -705,   274,  -705,   -61,  -705,  -705,  -705,  -705,  -705,
-     -52,  -705,  -705,  -705,  -705,  -705,   -54,  -705,  -705,  -705,
-     -82,  -705,  -705,  -705,   -57,  -705,   288,  -705,  -705,  -705,
-    -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,   -96,  -705,
-    -705,  -705,   -90,   334,  -705,  -705,   -58,  -705,   -45,  -705,
-    -705,  -705,  -705,  -705,   -94,  -705,  -705,  -705,   -91,   335,
-    -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,   -89,  -705,  -705,  -705,   -88,  -705,   316,  -705,  -705,
-    -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,  -679,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,   156,  -705,  -705,  -705,  -705,  -705,  -705,   -72,
-    -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,   -73,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,   162,   296,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
-    -705,  -705,  -705,  -705,  -705,   -12,  -705,  -705,  -705,  -186,
-    -705,  -705,  -201,  -705,  -705,  -705,  -705,  -705,  -705,  -212,
-    -705,  -705,  -227,  -705,  -705,  -705,  -705,  -705
+    -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,  -708,     6,  -708,   169,  -708,  -708,
+    -708,  -708,  -708,  -708,    70,  -708,  -144,  -708,  -708,  -708,
+     -66,  -708,  -708,  -708,   317,  -708,  -708,  -708,  -708,   115,
+     298,   -67,   -62,   -50,   -49,  -708,  -708,  -708,  -708,  -708,
+     111,   295,  -708,  -708,  -708,  -708,  -708,  -708,  -708,   113,
+     -92,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,   -74,  -708,  -526,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,  -105,  -513,  -708,  -708,  -708,  -708,
+    -104,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -111,
+    -708,  -708,  -708,  -107,   250,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -114,  -708,  -708,  -708,  -708,  -708,  -708,  -707,
+    -708,  -708,  -708,   -87,  -708,  -708,  -708,   -84,   292,  -708,
+    -708,  -704,  -708,  -702,  -708,  -524,  -708,  -700,  -708,  -708,
+    -708,  -692,  -708,  -708,  -708,  -708,   -93,  -708,  -708,  -221,
+     590,  -708,  -708,  -708,  -708,  -708,   -85,  -708,  -708,  -708,
+     -82,  -708,   286,  -708,   -61,  -708,  -708,  -708,  -708,  -708,
+     -52,  -708,  -708,  -708,  -708,  -708,   -54,  -708,  -708,  -708,
+     -86,  -708,  -708,  -708,   -80,  -708,   288,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -124,  -708,
+    -708,  -708,  -117,   335,  -708,  -708,   -45,  -708,   -43,  -708,
+    -708,  -708,  -708,  -708,  -121,  -708,  -708,  -708,  -100,   322,
+    -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,   -96,  -708,  -708,  -708,   -91,  -708,   320,  -708,  -708,
+    -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -691,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,   156,  -708,  -708,  -708,  -708,  -708,  -708,   -63,
+    -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,   -71,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,   168,   296,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
+    -708,  -708,  -708,  -708,  -708,    -7,  -708,  -708,  -708,  -183,
+    -708,  -708,  -198,  -708,  -708,  -708,  -708,  -708,  -708,  -209,
+    -708,  -708,  -224,  -708,  -708,  -708,  -708,  -708
   };
 
   const short int
@@ -3820,7 +3820,7 @@ namespace isc { namespace dhcp {
      120,    41,    66,    91,    92,    93,   310,    43,    67,   121,
      122,   123,   124,   125,   126,   127,   128,   318,    45,    68,
      147,   148,   149,   342,   150,   129,   319,   130,   320,   613,
-     614,   615,   721,   864,   616,   722,   617,   723,   618,   724,
+     614,   615,   721,   866,   616,   722,   617,   723,   618,   724,
      619,   238,   383,   621,   622,   623,   624,   625,   730,   626,
      731,   131,   330,   646,   647,   648,   649,   132,   332,   654,
      655,   656,   657,   133,   331,   134,   334,   661,   662,   663,
@@ -3841,194 +3841,194 @@ namespace isc { namespace dhcp {
      223,   374,   224,   375,   225,   376,   226,   377,   227,   378,
      228,   372,   185,   359,   715,   790,   140,   333,   659,   346,
      455,   456,   457,   458,   459,   544,   141,   336,   685,   686,
-     687,   765,   879,   688,   689,   766,   690,   691,   142,   143,
+     687,   765,   881,   688,   689,   766,   690,   691,   142,   143,
      338,   694,   695,   696,   772,   697,   773,   144,   339,    63,
       77,   289,   290,   291,   292,   401,   293,   402,   294,   295,
      404,   296,   297,   298,   407,   585,   299,   408,   300,   301,
      302,   303,   412,   592,   304,   413,    94,   312,    95,   313,
-      96,   314,    97,   311,   597,   598,   599,   717,   889,   890,
-     892,   900,   901,   902,   903,   908,   904,   906,   918,   919,
-     920,   927,   928,   929,   934,   930,   931,   932
+      96,   314,    97,   311,   597,   598,   599,   717,   891,   892,
+     894,   902,   903,   904,   905,   910,   906,   908,   920,   921,
+     922,   929,   930,   931,   936,   932,   933,   934
   };
 
   const unsigned short int
   Dhcp6Parser::yytable_[] =
   {
       90,   255,   166,   165,   187,   199,   217,   167,   237,   254,
-     269,   288,   192,   201,   256,   179,   188,   200,   218,   168,
-     169,   658,   684,   257,   653,   193,   202,    29,    36,    30,
-      84,    31,   108,   151,   108,   231,   644,   151,   267,   268,
-     818,   819,   820,    28,   678,   194,   195,   196,   197,   198,
-     154,   155,   822,   606,   823,    40,   316,   101,   102,   103,
-     104,   317,   145,   146,   108,   827,   151,   923,   451,    42,
-     924,   925,   926,   340,   152,   344,   153,    81,   341,   230,
-     345,   107,   154,   155,   156,   157,   158,   159,   160,   161,
-     101,   102,   103,   104,    44,   106,   108,   108,   231,   162,
-     163,   305,   231,   162,   232,   233,    89,   164,   234,   235,
-     236,   645,   108,    46,   231,   360,   267,   268,   157,   158,
-     361,   160,   161,   186,    48,   679,   680,   681,   682,   210,
-     154,   155,   162,   211,   212,   213,   214,   215,   216,   747,
-     164,    98,   748,   306,    99,   100,    89,    85,    89,   231,
-     251,   232,   233,   252,   253,   363,    86,    87,    88,   307,
-     364,   101,   102,   103,   104,   105,   106,   107,   108,   818,
-     819,   820,    89,    50,    32,    33,    34,    35,    89,   601,
-      89,   822,    52,   823,   602,   603,   604,   605,   606,   607,
-     608,   609,   610,   611,   827,   692,   693,   109,   110,   111,
-     112,   113,   231,   370,   895,    54,   896,   897,   371,   398,
-      89,    89,    56,   114,   399,    89,   115,   587,   588,   589,
-     590,   644,   651,   116,   652,   414,    89,    89,   340,   821,
-     415,   117,   118,   716,    58,   119,    60,   831,    62,   653,
-     664,   665,   666,   667,   668,   669,   718,   344,   308,   591,
-      90,   719,   720,   684,   732,   732,   379,   309,   763,   733,
-     734,   770,    89,   764,   774,   414,   771,   315,   360,   775,
-     776,   873,   453,   870,   398,   381,   874,   321,   363,   875,
-     452,   370,    89,   884,   909,   938,   885,   380,   750,   910,
-     939,   751,   454,   166,   165,   322,   752,   187,   167,   753,
-     860,   861,   862,   863,   199,   192,   179,   583,   584,   188,
-     168,   169,   201,   323,   217,    89,   200,   324,   193,   416,
-     417,   255,   325,   337,   237,   202,   218,   893,   921,   254,
-     894,   922,   343,   354,   256,   355,   555,   556,   557,   876,
-     877,   878,   366,   257,   565,   566,   567,   368,   288,   369,
-     384,   388,   389,   390,   418,   392,   393,   394,   821,   274,
-     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
-     285,   286,   287,     1,     2,     3,     4,     5,     6,     7,
-       8,     9,    10,    11,    12,    13,   395,   449,   400,   403,
-     405,   406,   409,   410,   411,   419,   420,   421,   422,   423,
-     425,   426,   427,   428,   433,    89,   434,   435,   436,   429,
-     430,   437,   431,   432,   438,   439,   440,   441,   442,   443,
-     445,   446,   444,   448,   460,   461,   462,   463,   464,   465,
-     466,   468,   467,   469,   523,   524,   525,   470,   471,   472,
-     474,   476,   477,   478,   482,   479,   483,   480,   484,   485,
-     486,   487,   488,   620,   620,   490,   491,   492,   493,   494,
-     495,   612,   612,   496,   498,   499,   500,   502,   503,   505,
-     506,   507,   453,   683,   508,   288,   551,   509,   512,   510,
-     452,   513,   514,   511,   517,   518,   520,   515,   516,   552,
-     521,   522,   454,   526,   527,   528,   529,   530,   531,   532,
-     533,   534,   535,   536,   537,   553,   554,   538,   539,   540,
-     541,   542,   545,   546,   547,    30,   579,   548,   559,   560,
-     561,   562,   563,   564,   568,   569,   570,   571,   572,   573,
-     574,   575,   576,   594,   577,   628,   632,   596,   636,   640,
-     586,   660,   700,   702,   706,   725,   710,   714,   726,   727,
-     728,   578,   729,   580,   737,   736,   739,   581,   582,   740,
-     593,   742,   743,   745,   746,   888,   749,   756,   755,   757,
-     758,   759,   760,   761,   762,   767,   768,   769,   792,   777,
-     780,   782,   783,   785,   786,   789,   788,   799,   794,   795,
-     796,   791,   797,   801,   798,   803,   800,   804,   841,   842,
-     847,   848,   802,   834,   850,   851,   835,   858,   871,   859,
-     836,   837,   838,   872,   839,   843,   886,   907,   911,   913,
-     935,   844,   845,   865,   866,   915,   917,   867,   868,   936,
-     869,   880,   937,   940,   549,   650,   424,   881,   447,   595,
-     600,   882,   883,   450,   627,   805,   829,   830,   833,   832,
-     840,   807,   806,   828,   891,   473,   809,   887,   620,   808,
-     912,   811,   504,   916,   497,   229,   612,   255,   166,   165,
-     817,   941,   237,   167,   942,   254,   943,   813,   812,   945,
-     256,   179,   814,   501,   810,   168,   169,   853,   269,   257,
-     826,   852,   855,   854,   815,   816,   489,   475,   846,   856,
-     857,   849,   701,   698,   683,   481,   793,   905,   914,   933,
-     519,   944,     0,     0,     0,   187,     0,     0,   199,     0,
-       0,   217,     0,   192,     0,     0,   201,   188,     0,     0,
-     200,     0,     0,   218,     0,     0,   193,     0,     0,   202,
+     269,   288,   658,   684,   256,   179,   188,   200,   218,   168,
+     169,    36,   653,   257,   151,   192,   201,   193,   202,    29,
+      84,    30,    28,    31,   678,   108,   231,   818,   151,    81,
+     819,   316,   820,   606,   822,   108,   317,    40,   101,   102,
+     103,   104,   823,   829,    42,   108,   107,   151,   194,   195,
+     196,   197,   198,   154,   155,   152,   644,   153,    44,   451,
+     230,   267,   268,   154,   155,   156,   157,   158,   159,   160,
+     161,   101,   102,   103,   104,    46,   106,   108,   108,   231,
+     162,   163,   340,   231,    48,   232,   233,   341,   164,   234,
+     235,   236,   747,   108,   162,   748,   154,   155,   750,   157,
+     158,   751,   160,   161,   186,   679,   680,   681,   682,    50,
+     210,   154,   155,   162,   211,   212,   213,   214,   215,   216,
+      52,   164,   231,   251,   232,   233,   252,   253,    54,    89,
+      98,   645,   752,    99,   100,   753,   231,    85,    56,    89,
+     587,   588,   589,   590,   145,   146,    86,    87,    88,    89,
+     101,   102,   103,   104,   105,   106,   107,   108,   818,    89,
+      89,   819,    89,   820,    58,   822,    32,    33,    34,    35,
+     344,   601,   591,   823,   829,   345,   602,   603,   604,   605,
+     606,   607,   608,   609,   610,   611,   109,   110,   111,   112,
+     113,    89,    89,    60,   231,   925,    89,   305,   926,   927,
+     928,   360,   114,   363,   370,   115,   361,    89,   364,   371,
+     821,   398,   116,    62,   414,   308,   399,   340,   833,   415,
+     117,   118,   716,   306,   119,   718,   897,   653,   898,   899,
+     719,   344,   732,   732,   684,    89,   720,   733,   734,   307,
+      90,   664,   665,   666,   667,   668,   669,   763,   770,    89,
+     774,   414,   764,   771,   360,   775,   776,   309,   875,   872,
+     398,   363,   453,   876,   370,   877,   886,   911,   940,   887,
+     452,    89,   912,   941,   267,   268,   862,   863,   864,   865,
+     583,   584,   454,   166,   165,   692,   693,   187,   167,   644,
+     651,   315,   652,   321,   199,   895,   179,   322,   896,   188,
+     168,   169,   416,   417,   217,   323,   200,    89,   192,   923,
+     193,   255,   924,   324,   237,   201,   218,   202,   325,   254,
+     555,   556,   557,   337,   256,   878,   879,   880,   565,   566,
+     567,   343,   354,   257,   355,   366,   368,   369,   288,   380,
+     390,   821,   274,   275,   276,   277,   278,   279,   280,   281,
+     282,   283,   284,   285,   286,   287,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,   379,
+     381,   384,   388,   389,   392,   393,   395,   394,   400,   403,
+     405,   406,   409,   410,   411,   418,   419,   420,    89,   421,
+     422,   423,   425,   426,   427,   428,   429,   433,   434,   430,
+     435,   436,   431,   432,   437,   438,   439,   440,   441,   442,
+     443,   445,   446,   444,   448,   460,   461,   523,   524,   525,
+     462,   449,   463,   464,   465,   466,   467,   468,   469,   470,
+     471,   472,   474,   476,   477,   478,   479,   480,   482,   483,
+     484,   485,   486,   620,   620,   487,   488,   490,   491,   492,
+     493,   612,   612,   494,   495,   496,   498,   499,   500,   551,
+     502,   503,   453,   683,   506,   288,   505,   507,   508,   509,
+     452,   510,   512,   511,   513,   517,   514,   515,   516,   518,
+     520,   521,   454,   596,   522,   526,   527,   528,   529,   530,
+     531,   532,   533,   534,   535,   536,   537,   542,   552,   579,
+     538,   539,   540,   541,   546,   545,    30,   547,   548,   553,
+     554,   559,   560,   561,   736,   562,   594,   628,   563,   632,
+     636,   640,   660,   700,   564,   702,   725,   706,   710,   714,
+     726,   727,   728,   568,   729,   737,   569,   739,   740,   742,
+     743,   746,   745,   570,   571,   749,   755,   572,   756,   782,
+     573,   574,   586,   757,   758,   759,   760,   761,   762,   767,
+     768,   575,   769,   783,   786,   576,   577,   578,   785,   580,
+     788,   789,   852,   791,   581,   582,   792,   794,   795,   796,
+     797,   803,   804,   843,   593,   777,   844,   849,   850,   853,
+     861,   780,   860,   798,   650,   873,   917,   874,   888,   890,
+     799,   800,   909,   913,   915,   867,   801,   802,   836,   919,
+     937,   837,   838,   938,   839,   840,   939,   841,   942,   845,
+     846,   549,   847,   424,   868,   869,   595,   600,   447,   450,
+     805,   627,   831,   870,   871,   835,   832,   834,   504,   842,
+     807,   806,   473,   830,   893,   809,   808,   811,   620,   855,
+     882,   810,   883,   229,   854,   857,   612,   255,   166,   165,
+     817,   884,   237,   167,   914,   254,   497,   813,   812,   885,
+     256,   179,   814,   501,   856,   168,   169,   889,   269,   257,
+     826,   918,   481,   859,   815,   816,   858,   944,   475,   827,
+     489,   828,   701,   851,   683,   945,   943,   848,   947,   698,
+     519,   793,   907,   916,   935,   187,   946,     0,   199,     0,
+       0,   217,     0,     0,     0,     0,     0,   188,     0,     0,
+     200,     0,     0,   218,     0,     0,   192,     0,   193,   201,
+       0,   202,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   817,
-       0,     0,     0,     0,     0,     0,   813,   812,     0,     0,
-       0,   814,     0,     0,     0,     0,     0,     0,   899,   826,
-       0,     0,     0,   815,   816,     0,   898,     0,     0,     0,
-       0,     0,     0,     0,     0,   899,     0,     0,     0,     0,
-       0,     0,     0,   898
+       0,   817,     0,     0,     0,     0,     0,     0,   813,   812,
+       0,     0,     0,   814,     0,     0,     0,     0,     0,     0,
+     901,   826,     0,     0,     0,   815,   816,     0,   900,     0,
+     827,     0,   828,     0,     0,     0,     0,   901,     0,     0,
+       0,     0,     0,     0,     0,   900
   };
 
   const short int
   Dhcp6Parser::yycheck_[] =
   {
       66,    75,    69,    69,    70,    71,    72,    69,    74,    75,
-      76,    77,    70,    71,    75,    69,    70,    71,    72,    69,
-      69,   536,   539,    75,   535,    70,    71,     5,    15,     7,
-      10,     9,    38,     7,    38,    39,    77,     7,    84,    85,
-     744,   744,   744,     0,    16,    51,    52,    53,    54,    55,
-      56,    57,   744,    25,   744,     7,     3,    31,    32,    33,
-      34,     8,    12,    13,    38,   744,     7,   130,    72,     7,
-     133,   134,   135,     3,    48,     3,    50,   152,     8,    16,
-       8,    37,    56,    57,    58,    59,    60,    61,    62,    63,
-      31,    32,    33,    34,     7,    36,    38,    38,    39,    73,
-      74,     6,    39,    73,    41,    42,   152,    81,    45,    46,
-      47,   152,    38,     7,    39,     3,    84,    85,    59,    60,
-       8,    62,    63,    49,     7,    97,    98,    99,   100,    71,
-      56,    57,    73,    75,    76,    77,    78,    79,    80,     3,
-      81,    11,     6,     3,    14,    15,   152,   127,   152,    39,
-      40,    41,    42,    43,    44,     3,   136,   137,   138,     4,
-       8,    31,    32,    33,    34,    35,    36,    37,    38,   873,
-     873,   873,   152,     7,   152,   153,   154,   155,   152,    16,
-     152,   873,     7,   873,    21,    22,    23,    24,    25,    26,
-      27,    28,    29,    30,   873,   103,   104,    67,    68,    69,
-      70,    71,    39,     3,   129,     7,   131,   132,     8,     3,
-     152,   152,     7,    83,     8,   152,    86,   123,   124,   125,
-     126,    77,    78,    93,    80,     3,   152,   152,     3,   744,
-       8,   101,   102,     8,     7,   105,     7,   752,     7,   750,
-      87,    88,    89,    90,    91,    92,     3,     3,     8,   155,
-     316,     8,     8,   770,     3,     3,     8,     3,     3,     8,
-       8,     3,   152,     8,     3,     3,     8,     4,     3,     8,
-       8,     3,   346,     8,     3,     8,     8,     4,     3,     8,
-     346,     3,   152,     8,     3,     3,     8,     3,     3,     8,
-       8,     6,   346,   360,   360,     4,     3,   363,   360,     6,
-      17,    18,    19,    20,   370,   363,   360,   120,   121,   363,
-     360,   360,   370,     4,   380,   152,   370,     4,   363,   306,
-     307,   395,     4,     4,   390,   370,   380,     3,     3,   395,
-       6,     6,     4,     4,   395,     4,    64,    65,    66,    94,
-      95,    96,     4,   395,   482,   483,   484,     4,   414,     4,
-       4,     4,     8,     3,   152,     4,     4,     8,   873,   106,
-     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
-     117,   118,   119,   139,   140,   141,   142,   143,   144,   145,
-     146,   147,   148,   149,   150,   151,     3,   155,     4,     4,
-       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
-       4,     4,     4,   153,     4,   152,     4,     4,     4,   153,
-     153,     4,   153,   153,     4,     4,     4,     4,     4,     4,
-       4,     4,   153,     4,     4,     4,     4,     4,     4,     4,
-       4,   155,   153,     4,   421,   422,   423,     4,     4,     4,
-       4,     4,   153,     4,     4,   153,     4,   153,     4,     4,
-       4,     4,     4,   527,   528,     4,     4,   153,     4,     4,
-       4,   527,   528,   155,     4,   155,   155,     4,     4,   155,
-       4,     4,   546,   539,   153,   541,   463,     4,     4,   153,
-     546,     4,   155,   153,     4,     4,     4,   155,   155,   152,
-       7,     7,   546,     7,     7,     7,     5,     5,     5,     5,
-       5,     5,     5,     5,     5,   152,   152,     7,     7,     7,
-       7,     5,     8,     3,     5,     7,   503,     5,   152,     5,
-       7,   152,   152,   152,   152,   152,   152,   152,   152,   152,
-     152,   152,   152,   520,   152,     7,     7,   128,     7,     7,
-     122,     7,     4,     7,     7,     4,     7,    82,     4,     4,
-       4,   152,     4,   152,     3,     6,     6,   152,   152,     3,
-     152,     6,     3,     6,     3,     7,     6,     3,     6,     4,
-       4,     4,     4,     4,     4,     4,     4,     4,     4,   152,
-     152,     6,     3,     6,     3,     3,     6,   155,     4,     4,
-       4,     8,     4,   155,   153,     4,   153,     4,     4,     4,
-       4,     4,   153,   153,     6,     3,   153,     4,     8,     5,
-     153,   153,   153,     8,   153,   153,     8,     4,     4,     4,
-       4,   153,   153,   152,   152,     5,     7,   152,   152,     4,
-     152,   152,     4,     4,   462,   534,   316,   152,   340,   521,
-     526,   152,   152,   344,   528,   732,   747,   750,   756,   754,
-     763,   737,   735,   746,   873,   360,   740,   152,   732,   738,
-     153,   743,   398,   152,   390,    73,   732,   741,   735,   735,
-     744,   155,   738,   735,   153,   741,   153,   744,   744,   152,
-     741,   735,   744,   395,   741,   735,   735,   783,   754,   741,
-     744,   781,   786,   784,   744,   744,   380,   363,   770,   787,
-     789,   774,   546,   541,   770,   370,   718,   893,   909,   921,
-     414,   938,    -1,    -1,    -1,   781,    -1,    -1,   784,    -1,
-      -1,   787,    -1,   781,    -1,    -1,   784,   781,    -1,    -1,
-     784,    -1,    -1,   787,    -1,    -1,   781,    -1,    -1,   784,
+      76,    77,   536,   539,    75,    69,    70,    71,    72,    69,
+      69,    15,   535,    75,     7,    70,    71,    70,    71,     5,
+      10,     7,     0,     9,    16,    38,    39,   744,     7,   152,
+     744,     3,   744,    25,   744,    38,     8,     7,    31,    32,
+      33,    34,   744,   744,     7,    38,    37,     7,    51,    52,
+      53,    54,    55,    56,    57,    48,    77,    50,     7,    72,
+      16,    84,    85,    56,    57,    58,    59,    60,    61,    62,
+      63,    31,    32,    33,    34,     7,    36,    38,    38,    39,
+      73,    74,     3,    39,     7,    41,    42,     8,    81,    45,
+      46,    47,     3,    38,    73,     6,    56,    57,     3,    59,
+      60,     6,    62,    63,    49,    97,    98,    99,   100,     7,
+      71,    56,    57,    73,    75,    76,    77,    78,    79,    80,
+       7,    81,    39,    40,    41,    42,    43,    44,     7,   152,
+      11,   152,     3,    14,    15,     6,    39,   127,     7,   152,
+     123,   124,   125,   126,    12,    13,   136,   137,   138,   152,
+      31,    32,    33,    34,    35,    36,    37,    38,   875,   152,
+     152,   875,   152,   875,     7,   875,   152,   153,   154,   155,
+       3,    16,   155,   875,   875,     8,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    67,    68,    69,    70,
+      71,   152,   152,     7,    39,   130,   152,     6,   133,   134,
+     135,     3,    83,     3,     3,    86,     8,   152,     8,     8,
+     744,     3,    93,     7,     3,     8,     8,     3,   752,     8,
+     101,   102,     8,     3,   105,     3,   129,   750,   131,   132,
+       8,     3,     3,     3,   770,   152,     8,     8,     8,     4,
+     316,    87,    88,    89,    90,    91,    92,     3,     3,   152,
+       3,     3,     8,     8,     3,     8,     8,     3,     3,     8,
+       3,     3,   346,     8,     3,     8,     8,     3,     3,     8,
+     346,   152,     8,     8,    84,    85,    17,    18,    19,    20,
+     120,   121,   346,   360,   360,   103,   104,   363,   360,    77,
+      78,     4,    80,     4,   370,     3,   360,     4,     6,   363,
+     360,   360,   306,   307,   380,     4,   370,   152,   363,     3,
+     363,   395,     6,     4,   390,   370,   380,   370,     4,   395,
+      64,    65,    66,     4,   395,    94,    95,    96,   482,   483,
+     484,     4,     4,   395,     4,     4,     4,     4,   414,     3,
+       3,   875,   106,   107,   108,   109,   110,   111,   112,   113,
+     114,   115,   116,   117,   118,   119,   139,   140,   141,   142,
+     143,   144,   145,   146,   147,   148,   149,   150,   151,     8,
+       8,     4,     4,     8,     4,     4,     3,     8,     4,     4,
+       4,     4,     4,     4,     4,   152,     4,     4,   152,     4,
+       4,     4,     4,     4,     4,   153,   153,     4,     4,   153,
+       4,     4,   153,   153,     4,     4,     4,     4,     4,     4,
+       4,     4,     4,   153,     4,     4,     4,   421,   422,   423,
+       4,   155,     4,     4,     4,     4,   153,   155,     4,     4,
+       4,     4,     4,     4,   153,     4,   153,   153,     4,     4,
+       4,     4,     4,   527,   528,     4,     4,     4,     4,   153,
+       4,   527,   528,     4,     4,   155,     4,   155,   155,   463,
+       4,     4,   546,   539,     4,   541,   155,     4,   153,     4,
+     546,   153,     4,   153,     4,     4,   155,   155,   155,     4,
+       4,     7,   546,   128,     7,     7,     7,     7,     5,     5,
+       5,     5,     5,     5,     5,     5,     5,     5,   152,   503,
+       7,     7,     7,     7,     3,     8,     7,     5,     5,   152,
+     152,   152,     5,     7,     6,   152,   520,     7,   152,     7,
+       7,     7,     7,     4,   152,     7,     4,     7,     7,    82,
+       4,     4,     4,   152,     4,     3,   152,     6,     3,     6,
+       3,     3,     6,   152,   152,     6,     6,   152,     3,     6,
+     152,   152,   122,     4,     4,     4,     4,     4,     4,     4,
+       4,   152,     4,     3,     3,   152,   152,   152,     6,   152,
+       6,     3,     6,     8,   152,   152,     4,     4,     4,     4,
+       4,     4,     4,     4,   152,   152,     4,     4,     4,     3,
+       5,   152,     4,   153,   534,     8,     5,     8,     8,     7,
+     155,   153,     4,     4,     4,   152,   155,   153,   153,     7,
+       4,   153,   153,     4,   153,   153,     4,   153,     4,   153,
+     153,   462,   153,   316,   152,   152,   521,   526,   340,   344,
+     732,   528,   747,   152,   152,   756,   750,   754,   398,   763,
+     737,   735,   360,   746,   875,   740,   738,   743,   732,   783,
+     152,   741,   152,    73,   781,   786,   732,   741,   735,   735,
+     744,   152,   738,   735,   153,   741,   390,   744,   744,   152,
+     741,   735,   744,   395,   784,   735,   735,   152,   754,   741,
+     744,   152,   370,   789,   744,   744,   787,   153,   363,   744,
+     380,   744,   546,   774,   770,   153,   155,   770,   152,   541,
+     414,   718,   895,   911,   923,   781,   940,    -1,   784,    -1,
+      -1,   787,    -1,    -1,    -1,    -1,    -1,   781,    -1,    -1,
+     784,    -1,    -1,   787,    -1,    -1,   781,    -1,   781,   784,
+      -1,   784,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   873,
-      -1,    -1,    -1,    -1,    -1,    -1,   873,   873,    -1,    -1,
-      -1,   873,    -1,    -1,    -1,    -1,    -1,    -1,   892,   873,
-      -1,    -1,    -1,   873,   873,    -1,   892,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   909,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   909
+      -1,   875,    -1,    -1,    -1,    -1,    -1,    -1,   875,   875,
+      -1,    -1,    -1,   875,    -1,    -1,    -1,    -1,    -1,    -1,
+     894,   875,    -1,    -1,    -1,   875,   875,    -1,   894,    -1,
+     875,    -1,   875,    -1,    -1,    -1,    -1,   911,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   911
   };
 
   const unsigned short int
@@ -4116,19 +4116,19 @@ namespace isc { namespace dhcp {
      411,     8,     4,   481,     4,     4,     4,     4,   153,   155,
      153,   155,   153,     4,     4,   216,   283,   279,   316,   312,
      340,   336,   186,   197,   198,   199,   200,   227,   275,   287,
-     289,   291,   293,   297,   304,   305,   332,   408,   302,   240,
-     246,   291,   259,   255,   153,   153,   153,   153,   153,   153,
-     268,     4,     4,   153,   153,   153,   425,     4,     4,   438,
-       6,     3,   358,   354,   374,   370,   391,   387,     4,     5,
-      17,    18,    19,    20,   219,   152,   152,   152,   152,   152,
-       8,     8,     8,     3,     8,     8,    94,    95,    96,   428,
-     152,   152,   152,   152,     8,     8,     8,   152,     7,   484,
-     485,   305,   486,     3,     6,   129,   131,   132,   186,   227,
-     487,   488,   489,   490,   492,   485,   493,     4,   491,     3,
-       8,     4,   153,     4,   488,     5,   152,     7,   494,   495,
-     496,     3,     6,   130,   133,   134,   135,   497,   498,   499,
-     501,   502,   503,   495,   500,     4,     4,     4,     3,     8,
-       4,   155,   153,   153,   498,   152
+     289,   291,   293,   297,   304,   305,   332,   362,   364,   408,
+     302,   240,   246,   291,   259,   255,   153,   153,   153,   153,
+     153,   153,   268,     4,     4,   153,   153,   153,   425,     4,
+       4,   438,     6,     3,   358,   354,   374,   370,   391,   387,
+       4,     5,    17,    18,    19,    20,   219,   152,   152,   152,
+     152,   152,     8,     8,     8,     3,     8,     8,    94,    95,
+      96,   428,   152,   152,   152,   152,     8,     8,     8,   152,
+       7,   484,   485,   305,   486,     3,     6,   129,   131,   132,
+     186,   227,   487,   488,   489,   490,   492,   485,   493,     4,
+     491,     3,     8,     4,   153,     4,   488,     5,   152,     7,
+     494,   495,   496,     3,     6,   130,   133,   134,   135,   497,
+     498,   499,   501,   502,   503,   495,   500,     4,     4,     4,
+       3,     8,     4,   155,   153,   153,   498,   152
   };
 
   const unsigned short int
@@ -4161,37 +4161,37 @@ namespace isc { namespace dhcp {
      288,   287,   290,   289,   292,   291,   294,   293,   295,   295,
      295,   296,   297,   299,   298,   300,   300,   301,   301,   303,
      302,   304,   304,   305,   305,   305,   305,   305,   305,   305,
-     305,   305,   305,   305,   305,   305,   305,   307,   306,   309,
-     308,   310,   310,   311,   311,   313,   312,   315,   314,   316,
-     316,   317,   317,   318,   318,   318,   318,   318,   318,   318,
-     318,   319,   320,   321,   323,   322,   325,   324,   327,   326,
-     328,   330,   329,   331,   333,   332,   334,   334,   335,   335,
-     337,   336,   339,   338,   340,   340,   341,   341,   342,   342,
-     342,   342,   342,   342,   342,   343,   345,   344,   346,   347,
-     348,   349,   351,   350,   352,   352,   353,   353,   355,   354,
-     357,   356,   358,   358,   359,   359,   359,   359,   359,   361,
-     360,   363,   362,   365,   364,   367,   366,   368,   368,   369,
-     369,   371,   370,   373,   372,   374,   374,   375,   375,   375,
-     375,   375,   375,   375,   375,   375,   377,   376,   378,   380,
-     379,   381,   382,   384,   383,   385,   385,   386,   386,   388,
-     387,   390,   389,   391,   391,   392,   392,   393,   393,   393,
-     393,   393,   393,   393,   393,   393,   395,   394,   397,   396,
-     399,   398,   401,   400,   403,   402,   405,   404,   407,   406,
-     409,   408,   411,   410,   413,   412,   414,   414,   415,   291,
-     416,   416,   417,   417,   418,   418,   418,   418,   419,   421,
-     420,   423,   422,   424,   424,   425,   425,   425,   425,   425,
-     425,   425,   427,   426,   428,   428,   428,   429,   431,   430,
-     432,   433,   434,   436,   435,   437,   437,   438,   438,   440,
-     439,   442,   441,   444,   443,   446,   445,   447,   447,   448,
-     448,   448,   448,   448,   448,   448,   448,   448,   448,   448,
-     448,   448,   448,   448,   449,   451,   450,   453,   452,   454,
-     456,   455,   457,   458,   460,   459,   461,   461,   463,   462,
-     464,   465,   466,   468,   467,   469,   469,   469,   469,   469,
-     471,   470,   473,   472,   475,   474,   477,   476,   479,   478,
-     480,   480,   481,   483,   482,   484,   484,   486,   485,   487,
-     487,   488,   488,   488,   488,   488,   489,   491,   490,   493,
-     492,   494,   494,   496,   495,   497,   497,   498,   498,   498,
-     498,   500,   499,   501,   502,   503
+     305,   305,   305,   305,   305,   305,   305,   305,   305,   307,
+     306,   309,   308,   310,   310,   311,   311,   313,   312,   315,
+     314,   316,   316,   317,   317,   318,   318,   318,   318,   318,
+     318,   318,   318,   319,   320,   321,   323,   322,   325,   324,
+     327,   326,   328,   330,   329,   331,   333,   332,   334,   334,
+     335,   335,   337,   336,   339,   338,   340,   340,   341,   341,
+     342,   342,   342,   342,   342,   342,   342,   343,   345,   344,
+     346,   347,   348,   349,   351,   350,   352,   352,   353,   353,
+     355,   354,   357,   356,   358,   358,   359,   359,   359,   359,
+     359,   361,   360,   363,   362,   365,   364,   367,   366,   368,
+     368,   369,   369,   371,   370,   373,   372,   374,   374,   375,
+     375,   375,   375,   375,   375,   375,   375,   375,   377,   376,
+     378,   380,   379,   381,   382,   384,   383,   385,   385,   386,
+     386,   388,   387,   390,   389,   391,   391,   392,   392,   393,
+     393,   393,   393,   393,   393,   393,   393,   393,   395,   394,
+     397,   396,   399,   398,   401,   400,   403,   402,   405,   404,
+     407,   406,   409,   408,   411,   410,   413,   412,   414,   414,
+     415,   291,   416,   416,   417,   417,   418,   418,   418,   418,
+     419,   421,   420,   423,   422,   424,   424,   425,   425,   425,
+     425,   425,   425,   425,   427,   426,   428,   428,   428,   429,
+     431,   430,   432,   433,   434,   436,   435,   437,   437,   438,
+     438,   440,   439,   442,   441,   444,   443,   446,   445,   447,
+     447,   448,   448,   448,   448,   448,   448,   448,   448,   448,
+     448,   448,   448,   448,   448,   448,   449,   451,   450,   453,
+     452,   454,   456,   455,   457,   458,   460,   459,   461,   461,
+     463,   462,   464,   465,   466,   468,   467,   469,   469,   469,
+     469,   469,   471,   470,   473,   472,   475,   474,   477,   476,
+     479,   478,   480,   480,   481,   483,   482,   484,   484,   486,
+     485,   487,   487,   488,   488,   488,   488,   488,   489,   491,
+     490,   493,   492,   494,   494,   496,   495,   497,   497,   498,
+     498,   498,   498,   500,   499,   501,   502,   503
   };
 
   const unsigned char
@@ -4224,37 +4224,37 @@ namespace isc { namespace dhcp {
        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,
-       4,     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,     1,     0,
-       4,     0,     4,     0,     4,     0,     6,     0,     1,     1,
-       3,     0,     4,     0,     4,     1,     3,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     0,     4,     3,     0,
-       4,     3,     3,     0,     6,     0,     1,     1,     3,     0,
-       4,     0,     4,     0,     1,     1,     3,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     0,     4,     0,     4,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
+       6,     0,     4,     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,
+       1,     0,     4,     0,     4,     0,     4,     0,     6,     0,
+       1,     1,     3,     0,     4,     0,     4,     1,     3,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     0,     4,
+       3,     0,     4,     3,     3,     0,     6,     0,     1,     1,
+       3,     0,     4,     0,     4,     0,     1,     1,     3,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     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,     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
+       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,     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
   };
 
 
@@ -4424,37 +4424,37 @@ namespace isc { namespace dhcp {
      924,   924,   932,   932,   940,   940,   948,   948,   955,   956,
      957,   960,   965,   973,   973,   984,   985,   989,   990,   993,
      993,  1001,  1002,  1005,  1006,  1007,  1008,  1009,  1010,  1011,
-    1012,  1013,  1014,  1015,  1016,  1017,  1018,  1025,  1025,  1038,
-    1038,  1047,  1048,  1051,  1052,  1057,  1057,  1072,  1072,  1086,
-    1087,  1090,  1091,  1094,  1095,  1096,  1097,  1098,  1099,  1100,
-    1101,  1104,  1106,  1111,  1113,  1113,  1121,  1121,  1129,  1129,
-    1137,  1139,  1139,  1147,  1156,  1156,  1168,  1169,  1174,  1175,
-    1180,  1180,  1192,  1192,  1204,  1205,  1210,  1211,  1216,  1217,
-    1218,  1219,  1220,  1221,  1222,  1225,  1227,  1227,  1235,  1237,
-    1239,  1244,  1252,  1252,  1264,  1265,  1268,  1269,  1272,  1272,
-    1282,  1282,  1291,  1292,  1295,  1296,  1297,  1298,  1299,  1302,
-    1302,  1310,  1310,  1317,  1317,  1329,  1329,  1341,  1342,  1345,
-    1346,  1349,  1349,  1361,  1361,  1373,  1374,  1377,  1378,  1379,
-    1380,  1381,  1382,  1383,  1384,  1385,  1388,  1388,  1396,  1401,
-    1401,  1409,  1414,  1422,  1422,  1432,  1433,  1436,  1437,  1440,
-    1440,  1449,  1449,  1458,  1459,  1462,  1463,  1467,  1468,  1469,
-    1470,  1471,  1472,  1473,  1474,  1475,  1478,  1478,  1488,  1488,
-    1498,  1498,  1506,  1506,  1514,  1514,  1522,  1522,  1530,  1530,
-    1543,  1543,  1553,  1553,  1564,  1564,  1574,  1575,  1578,  1578,
-    1588,  1589,  1592,  1593,  1596,  1597,  1598,  1599,  1602,  1604,
-    1604,  1615,  1615,  1627,  1628,  1631,  1632,  1633,  1634,  1635,
-    1636,  1637,  1640,  1640,  1647,  1648,  1649,  1652,  1657,  1657,
-    1665,  1670,  1677,  1684,  1684,  1694,  1695,  1698,  1699,  1702,
-    1702,  1710,  1710,  1720,  1720,  1732,  1732,  1742,  1743,  1746,
-    1747,  1748,  1749,  1750,  1751,  1752,  1753,  1754,  1755,  1756,
-    1757,  1758,  1759,  1760,  1763,  1768,  1768,  1776,  1776,  1784,
-    1789,  1789,  1797,  1802,  1807,  1807,  1815,  1816,  1819,  1819,
-    1827,  1832,  1837,  1842,  1842,  1850,  1853,  1856,  1859,  1862,
-    1868,  1868,  1878,  1878,  1885,  1885,  1892,  1892,  1905,  1905,
-    1918,  1919,  1923,  1927,  1927,  1939,  1940,  1944,  1944,  1952,
-    1953,  1956,  1957,  1958,  1959,  1960,  1963,  1968,  1968,  1976,
-    1976,  1986,  1987,  1990,  1990,  1998,  1999,  2002,  2003,  2004,
-    2005,  2008,  2008,  2016,  2021,  2026
+    1012,  1013,  1014,  1015,  1016,  1017,  1018,  1019,  1020,  1027,
+    1027,  1040,  1040,  1049,  1050,  1053,  1054,  1059,  1059,  1074,
+    1074,  1088,  1089,  1092,  1093,  1096,  1097,  1098,  1099,  1100,
+    1101,  1102,  1103,  1106,  1108,  1113,  1115,  1115,  1123,  1123,
+    1131,  1131,  1139,  1141,  1141,  1149,  1158,  1158,  1170,  1171,
+    1176,  1177,  1182,  1182,  1194,  1194,  1206,  1207,  1212,  1213,
+    1218,  1219,  1220,  1221,  1222,  1223,  1224,  1227,  1229,  1229,
+    1237,  1239,  1241,  1246,  1254,  1254,  1266,  1267,  1270,  1271,
+    1274,  1274,  1284,  1284,  1293,  1294,  1297,  1298,  1299,  1300,
+    1301,  1304,  1304,  1312,  1312,  1319,  1319,  1331,  1331,  1343,
+    1344,  1347,  1348,  1351,  1351,  1363,  1363,  1375,  1376,  1379,
+    1380,  1381,  1382,  1383,  1384,  1385,  1386,  1387,  1390,  1390,
+    1398,  1403,  1403,  1411,  1416,  1424,  1424,  1434,  1435,  1438,
+    1439,  1442,  1442,  1451,  1451,  1460,  1461,  1464,  1465,  1469,
+    1470,  1471,  1472,  1473,  1474,  1475,  1476,  1477,  1480,  1480,
+    1490,  1490,  1500,  1500,  1508,  1508,  1516,  1516,  1524,  1524,
+    1532,  1532,  1545,  1545,  1555,  1555,  1566,  1566,  1576,  1577,
+    1580,  1580,  1590,  1591,  1594,  1595,  1598,  1599,  1600,  1601,
+    1604,  1606,  1606,  1617,  1617,  1629,  1630,  1633,  1634,  1635,
+    1636,  1637,  1638,  1639,  1642,  1642,  1649,  1650,  1651,  1654,
+    1659,  1659,  1667,  1672,  1679,  1686,  1686,  1696,  1697,  1700,
+    1701,  1704,  1704,  1712,  1712,  1722,  1722,  1734,  1734,  1744,
+    1745,  1748,  1749,  1750,  1751,  1752,  1753,  1754,  1755,  1756,
+    1757,  1758,  1759,  1760,  1761,  1762,  1765,  1770,  1770,  1778,
+    1778,  1786,  1791,  1791,  1799,  1804,  1809,  1809,  1817,  1818,
+    1821,  1821,  1829,  1834,  1839,  1844,  1844,  1852,  1855,  1858,
+    1861,  1864,  1870,  1870,  1880,  1880,  1887,  1887,  1894,  1894,
+    1907,  1907,  1920,  1921,  1925,  1929,  1929,  1941,  1942,  1946,
+    1946,  1954,  1955,  1958,  1959,  1960,  1961,  1962,  1965,  1970,
+    1970,  1978,  1978,  1988,  1989,  1992,  1992,  2000,  2001,  2004,
+    2005,  2006,  2007,  2010,  2010,  2018,  2023,  2028
   };
 
   // Print the state stack on the debug stream.
@@ -4490,7 +4490,7 @@ namespace isc { namespace dhcp {
 #line 14 "dhcp6_parser.yy" // lalr1.cc:1167
 } } // isc::dhcp
 #line 4493 "dhcp6_parser.cc" // lalr1.cc:1167
-#line 2031 "dhcp6_parser.yy" // lalr1.cc:1168
+#line 2033 "dhcp6_parser.yy" // lalr1.cc:1168
 
 
 void
index efed8b63954fde55198df3ca2000a6463303192d..246e134d4066db955dfd2e9ca3932e61330b9cba 100644 (file)
@@ -1435,7 +1435,7 @@ namespace isc { namespace dhcp {
     enum
     {
       yyeof_ = 0,
-      yylast_ = 843,     ///< Last index in yytable_.
+      yylast_ = 845,     ///< Last index in yytable_.
       yynnts_ = 348,  ///< Number of nonterminal symbols.
       yyfinal_ = 28, ///< Termination state number.
       yyterror_ = 1,
index 6b61d4926aa7e8d2bf8ab743ec8f97794f49c48b..1b61d6648769011d3beee4b0941f4419bb21c8f9 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201711280059
+// Generated 201711281547
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Locations for Bison parsers in C++
index 925bb1a257c5b4f6932cd89fbba28baffdcaf121..2e9dac9b7960c14f15fe7a54cff4bfef59b9b3e6 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201711280059
+// Generated 201711281547
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Positions for Bison parsers in C++
index fd51b0191bdabaed014b8c1fa4ca95303b442e09..08940a8dcf7428560a278546db0d32961efa5e21 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201711280059
+// Generated 201711281547
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Stack handling for Bison parsers in C++