From: Francis Dupont Date: Tue, 11 Jun 2019 00:13:37 +0000 (+0000) Subject: [#540,!374] regen flex/bison X-Git-Tag: Kea-1.6.0-beta2~296 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d94754cb9b5b706d7b924308d3b804351566e13d;p=thirdparty%2Fkea.git [#540,!374] regen flex/bison --- diff --git a/src/bin/dhcp6/dhcp6_parser.cc b/src/bin/dhcp6/dhcp6_parser.cc index e0e5df8afc..0bd927b957 100644 --- a/src/bin/dhcp6/dhcp6_parser.cc +++ b/src/bin/dhcp6/dhcp6_parser.cc @@ -1,4 +1,4 @@ -// A Bison parser, made by GNU Bison 3.3.2. +// A Bison parser, made by GNU Bison 3.4.1. // Skeleton implementation for Bison LALR(1) parsers in C++ @@ -43,11 +43,11 @@ // Unqualified %code blocks. -#line 34 "dhcp6_parser.yy" // lalr1.cc:435 +#line 34 "dhcp6_parser.yy" #include -#line 51 "dhcp6_parser.cc" // lalr1.cc:435 +#line 51 "dhcp6_parser.cc" #ifndef YY_ @@ -140,9 +140,10 @@ #define YYERROR goto yyerrorlab #define YYRECOVERING() (!!yyerrstatus_) -#line 14 "dhcp6_parser.yy" // lalr1.cc:510 +#line 14 "dhcp6_parser.yy" namespace isc { namespace dhcp { -#line 146 "dhcp6_parser.cc" // lalr1.cc:510 +#line 146 "dhcp6_parser.cc" + /* Return YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is @@ -398,69 +399,69 @@ namespace isc { namespace dhcp { switch (yytype) { case 177: // "constant string" -#line 256 "dhcp6_parser.yy" // lalr1.cc:676 +#line 256 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < std::string > (); } -#line 404 "dhcp6_parser.cc" // lalr1.cc:676 +#line 405 "dhcp6_parser.cc" break; case 178: // "integer" -#line 256 "dhcp6_parser.yy" // lalr1.cc:676 +#line 256 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < int64_t > (); } -#line 410 "dhcp6_parser.cc" // lalr1.cc:676 +#line 411 "dhcp6_parser.cc" break; case 179: // "floating point" -#line 256 "dhcp6_parser.yy" // lalr1.cc:676 +#line 256 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < double > (); } -#line 416 "dhcp6_parser.cc" // lalr1.cc:676 +#line 417 "dhcp6_parser.cc" break; case 180: // "boolean" -#line 256 "dhcp6_parser.yy" // lalr1.cc:676 +#line 256 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < bool > (); } -#line 422 "dhcp6_parser.cc" // lalr1.cc:676 +#line 423 "dhcp6_parser.cc" break; case 198: // value -#line 256 "dhcp6_parser.yy" // lalr1.cc:676 +#line 256 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 428 "dhcp6_parser.cc" // lalr1.cc:676 +#line 429 "dhcp6_parser.cc" break; case 202: // map_value -#line 256 "dhcp6_parser.yy" // lalr1.cc:676 +#line 256 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 434 "dhcp6_parser.cc" // lalr1.cc:676 +#line 435 "dhcp6_parser.cc" break; case 259: // db_type -#line 256 "dhcp6_parser.yy" // lalr1.cc:676 +#line 256 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 440 "dhcp6_parser.cc" // lalr1.cc:676 +#line 441 "dhcp6_parser.cc" break; case 352: // hr_mode -#line 256 "dhcp6_parser.yy" // lalr1.cc:676 +#line 256 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 446 "dhcp6_parser.cc" // lalr1.cc:676 +#line 447 "dhcp6_parser.cc" break; case 488: // duid_type -#line 256 "dhcp6_parser.yy" // lalr1.cc:676 +#line 256 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 452 "dhcp6_parser.cc" // lalr1.cc:676 +#line 453 "dhcp6_parser.cc" break; case 523: // ncr_protocol_value -#line 256 "dhcp6_parser.yy" // lalr1.cc:676 +#line 256 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 458 "dhcp6_parser.cc" // lalr1.cc:676 +#line 459 "dhcp6_parser.cc" break; case 530: // replace_client_name_value -#line 256 "dhcp6_parser.yy" // lalr1.cc:676 +#line 256 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 464 "dhcp6_parser.cc" // lalr1.cc:676 +#line 465 "dhcp6_parser.cc" break; default: @@ -724,286 +725,286 @@ namespace isc { namespace dhcp { switch (yyn) { case 2: -#line 265 "dhcp6_parser.yy" // lalr1.cc:919 +#line 265 "dhcp6_parser.yy" { ctx.ctx_ = ctx.NO_KEYWORD; } -#line 730 "dhcp6_parser.cc" // lalr1.cc:919 +#line 731 "dhcp6_parser.cc" break; case 4: -#line 266 "dhcp6_parser.yy" // lalr1.cc:919 +#line 266 "dhcp6_parser.yy" { ctx.ctx_ = ctx.CONFIG; } -#line 736 "dhcp6_parser.cc" // lalr1.cc:919 +#line 737 "dhcp6_parser.cc" break; case 6: -#line 267 "dhcp6_parser.yy" // lalr1.cc:919 +#line 267 "dhcp6_parser.yy" { ctx.ctx_ = ctx.DHCP6; } -#line 742 "dhcp6_parser.cc" // lalr1.cc:919 +#line 743 "dhcp6_parser.cc" break; case 8: -#line 268 "dhcp6_parser.yy" // lalr1.cc:919 +#line 268 "dhcp6_parser.yy" { ctx.ctx_ = ctx.INTERFACES_CONFIG; } -#line 748 "dhcp6_parser.cc" // lalr1.cc:919 +#line 749 "dhcp6_parser.cc" break; case 10: -#line 269 "dhcp6_parser.yy" // lalr1.cc:919 +#line 269 "dhcp6_parser.yy" { ctx.ctx_ = ctx.SUBNET6; } -#line 754 "dhcp6_parser.cc" // lalr1.cc:919 +#line 755 "dhcp6_parser.cc" break; case 12: -#line 270 "dhcp6_parser.yy" // lalr1.cc:919 +#line 270 "dhcp6_parser.yy" { ctx.ctx_ = ctx.POOLS; } -#line 760 "dhcp6_parser.cc" // lalr1.cc:919 +#line 761 "dhcp6_parser.cc" break; case 14: -#line 271 "dhcp6_parser.yy" // lalr1.cc:919 +#line 271 "dhcp6_parser.yy" { ctx.ctx_ = ctx.PD_POOLS; } -#line 766 "dhcp6_parser.cc" // lalr1.cc:919 +#line 767 "dhcp6_parser.cc" break; case 16: -#line 272 "dhcp6_parser.yy" // lalr1.cc:919 +#line 272 "dhcp6_parser.yy" { ctx.ctx_ = ctx.RESERVATIONS; } -#line 772 "dhcp6_parser.cc" // lalr1.cc:919 +#line 773 "dhcp6_parser.cc" break; case 18: -#line 273 "dhcp6_parser.yy" // lalr1.cc:919 +#line 273 "dhcp6_parser.yy" { ctx.ctx_ = ctx.DHCP6; } -#line 778 "dhcp6_parser.cc" // lalr1.cc:919 +#line 779 "dhcp6_parser.cc" break; case 20: -#line 274 "dhcp6_parser.yy" // lalr1.cc:919 +#line 274 "dhcp6_parser.yy" { ctx.ctx_ = ctx.OPTION_DEF; } -#line 784 "dhcp6_parser.cc" // lalr1.cc:919 +#line 785 "dhcp6_parser.cc" break; case 22: -#line 275 "dhcp6_parser.yy" // lalr1.cc:919 +#line 275 "dhcp6_parser.yy" { ctx.ctx_ = ctx.OPTION_DATA; } -#line 790 "dhcp6_parser.cc" // lalr1.cc:919 +#line 791 "dhcp6_parser.cc" break; case 24: -#line 276 "dhcp6_parser.yy" // lalr1.cc:919 +#line 276 "dhcp6_parser.yy" { ctx.ctx_ = ctx.HOOKS_LIBRARIES; } -#line 796 "dhcp6_parser.cc" // lalr1.cc:919 +#line 797 "dhcp6_parser.cc" break; case 26: -#line 277 "dhcp6_parser.yy" // lalr1.cc:919 +#line 277 "dhcp6_parser.yy" { ctx.ctx_ = ctx.DHCP_DDNS; } -#line 802 "dhcp6_parser.cc" // lalr1.cc:919 +#line 803 "dhcp6_parser.cc" break; case 28: -#line 278 "dhcp6_parser.yy" // lalr1.cc:919 +#line 278 "dhcp6_parser.yy" { ctx.ctx_ = ctx.LOGGING; } -#line 808 "dhcp6_parser.cc" // lalr1.cc:919 +#line 809 "dhcp6_parser.cc" break; case 30: -#line 279 "dhcp6_parser.yy" // lalr1.cc:919 +#line 279 "dhcp6_parser.yy" { ctx.ctx_ = ctx.CONFIG_CONTROL; } -#line 814 "dhcp6_parser.cc" // lalr1.cc:919 +#line 815 "dhcp6_parser.cc" break; case 32: -#line 287 "dhcp6_parser.yy" // lalr1.cc:919 +#line 287 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); } -#line 820 "dhcp6_parser.cc" // lalr1.cc:919 +#line 821 "dhcp6_parser.cc" break; case 33: -#line 288 "dhcp6_parser.yy" // lalr1.cc:919 +#line 288 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); } -#line 826 "dhcp6_parser.cc" // lalr1.cc:919 +#line 827 "dhcp6_parser.cc" break; case 34: -#line 289 "dhcp6_parser.yy" // lalr1.cc:919 +#line 289 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); } -#line 832 "dhcp6_parser.cc" // lalr1.cc:919 +#line 833 "dhcp6_parser.cc" break; case 35: -#line 290 "dhcp6_parser.yy" // lalr1.cc:919 +#line 290 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); } -#line 838 "dhcp6_parser.cc" // lalr1.cc:919 +#line 839 "dhcp6_parser.cc" break; case 36: -#line 291 "dhcp6_parser.yy" // lalr1.cc:919 +#line 291 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } -#line 844 "dhcp6_parser.cc" // lalr1.cc:919 +#line 845 "dhcp6_parser.cc" break; case 37: -#line 292 "dhcp6_parser.yy" // lalr1.cc:919 +#line 292 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } -#line 850 "dhcp6_parser.cc" // lalr1.cc:919 +#line 851 "dhcp6_parser.cc" break; case 38: -#line 293 "dhcp6_parser.yy" // lalr1.cc:919 +#line 293 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } -#line 856 "dhcp6_parser.cc" // lalr1.cc:919 +#line 857 "dhcp6_parser.cc" break; case 39: -#line 296 "dhcp6_parser.yy" // lalr1.cc:919 +#line 296 "dhcp6_parser.yy" { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ()); } -#line 865 "dhcp6_parser.cc" // lalr1.cc:919 +#line 866 "dhcp6_parser.cc" break; case 40: -#line 301 "dhcp6_parser.yy" // lalr1.cc:919 +#line 301 "dhcp6_parser.yy" { // This code is executed when we're about to start parsing // the content of the map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 876 "dhcp6_parser.cc" // lalr1.cc:919 +#line 877 "dhcp6_parser.cc" break; case 41: -#line 306 "dhcp6_parser.yy" // lalr1.cc:919 +#line 306 "dhcp6_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place // for it. } -#line 886 "dhcp6_parser.cc" // lalr1.cc:919 +#line 887 "dhcp6_parser.cc" break; case 42: -#line 312 "dhcp6_parser.yy" // lalr1.cc:919 +#line 312 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } -#line 892 "dhcp6_parser.cc" // lalr1.cc:919 +#line 893 "dhcp6_parser.cc" break; case 45: -#line 319 "dhcp6_parser.yy" // lalr1.cc:919 +#line 319 "dhcp6_parser.yy" { // map containing a single entry ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); } -#line 901 "dhcp6_parser.cc" // lalr1.cc:919 +#line 902 "dhcp6_parser.cc" break; case 46: -#line 323 "dhcp6_parser.yy" // lalr1.cc:919 +#line 323 "dhcp6_parser.yy" { // map consisting of a shorter map followed by // comma and string:value ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); } -#line 911 "dhcp6_parser.cc" // lalr1.cc:919 +#line 912 "dhcp6_parser.cc" break; case 47: -#line 330 "dhcp6_parser.yy" // lalr1.cc:919 +#line 330 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); } -#line 920 "dhcp6_parser.cc" // lalr1.cc:919 +#line 921 "dhcp6_parser.cc" break; case 48: -#line 333 "dhcp6_parser.yy" // lalr1.cc:919 +#line 333 "dhcp6_parser.yy" { // list parsing complete. Put any sanity checking here } -#line 928 "dhcp6_parser.cc" // lalr1.cc:919 +#line 929 "dhcp6_parser.cc" break; case 51: -#line 341 "dhcp6_parser.yy" // lalr1.cc:919 +#line 341 "dhcp6_parser.yy" { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); } -#line 937 "dhcp6_parser.cc" // lalr1.cc:919 +#line 938 "dhcp6_parser.cc" break; case 52: -#line 345 "dhcp6_parser.yy" // lalr1.cc:919 +#line 345 "dhcp6_parser.yy" { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); } -#line 946 "dhcp6_parser.cc" // lalr1.cc:919 +#line 947 "dhcp6_parser.cc" break; case 53: -#line 352 "dhcp6_parser.yy" // lalr1.cc:919 +#line 352 "dhcp6_parser.yy" { // List parsing about to start } -#line 954 "dhcp6_parser.cc" // lalr1.cc:919 +#line 955 "dhcp6_parser.cc" break; case 54: -#line 354 "dhcp6_parser.yy" // lalr1.cc:919 +#line 354 "dhcp6_parser.yy" { // list parsing complete. Put any sanity checking here //ctx.stack_.pop_back(); } -#line 963 "dhcp6_parser.cc" // lalr1.cc:919 +#line 964 "dhcp6_parser.cc" break; case 57: -#line 363 "dhcp6_parser.yy" // lalr1.cc:919 +#line 363 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); } -#line 972 "dhcp6_parser.cc" // lalr1.cc:919 +#line 973 "dhcp6_parser.cc" break; case 58: -#line 367 "dhcp6_parser.yy" // lalr1.cc:919 +#line 367 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); } -#line 981 "dhcp6_parser.cc" // lalr1.cc:919 +#line 982 "dhcp6_parser.cc" break; case 59: -#line 378 "dhcp6_parser.yy" // lalr1.cc:919 +#line 378 "dhcp6_parser.yy" { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as < std::string > (); error(yystack_[1].location, "got unexpected keyword \"" + keyword + "\" in " + where + " map."); } -#line 992 "dhcp6_parser.cc" // lalr1.cc:919 +#line 993 "dhcp6_parser.cc" break; case 60: -#line 388 "dhcp6_parser.yy" // lalr1.cc:919 +#line 388 "dhcp6_parser.yy" { // This code is executed when we're about to start parsing // the content of the map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1003 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1004 "dhcp6_parser.cc" break; case 61: -#line 393 "dhcp6_parser.yy" // lalr1.cc:919 +#line 393 "dhcp6_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -1012,11 +1013,11 @@ namespace isc { namespace dhcp { // Dhcp6 is required ctx.require("Dhcp6", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); } -#line 1016 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1017 "dhcp6_parser.cc" break; case 70: -#line 416 "dhcp6_parser.yy" // lalr1.cc:919 +#line 416 "dhcp6_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1025,604 +1026,604 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.DHCP6); } -#line 1029 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1030 "dhcp6_parser.cc" break; case 71: -#line 423 "dhcp6_parser.yy" // lalr1.cc:919 +#line 423 "dhcp6_parser.yy" { // No global parameter is required ctx.stack_.pop_back(); ctx.leave(); } -#line 1039 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1040 "dhcp6_parser.cc" break; case 72: -#line 431 "dhcp6_parser.yy" // lalr1.cc:919 +#line 431 "dhcp6_parser.yy" { // Parse the Dhcp6 map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1049 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1050 "dhcp6_parser.cc" break; case 73: -#line 435 "dhcp6_parser.yy" // lalr1.cc:919 +#line 435 "dhcp6_parser.yy" { // No global parameter is required // parsing completed } -#line 1058 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1059 "dhcp6_parser.cc" break; - case 113: -#line 485 "dhcp6_parser.yy" // lalr1.cc:919 + case 115: +#line 487 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1066 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1067 "dhcp6_parser.cc" break; - case 114: -#line 487 "dhcp6_parser.yy" // lalr1.cc:919 + case 116: +#line 489 "dhcp6_parser.yy" { ElementPtr datadir(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data-directory", datadir); ctx.leave(); } -#line 1076 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1077 "dhcp6_parser.cc" break; - case 115: -#line 493 "dhcp6_parser.yy" // lalr1.cc:919 + case 117: +#line 495 "dhcp6_parser.yy" { ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("preferred-lifetime", prf); } -#line 1085 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1086 "dhcp6_parser.cc" break; - case 116: -#line 498 "dhcp6_parser.yy" // lalr1.cc:919 + case 118: +#line 500 "dhcp6_parser.yy" { ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("valid-lifetime", prf); } -#line 1094 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1095 "dhcp6_parser.cc" break; - case 117: -#line 503 "dhcp6_parser.yy" // lalr1.cc:919 + case 119: +#line 505 "dhcp6_parser.yy" { ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("renew-timer", prf); } -#line 1103 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1104 "dhcp6_parser.cc" break; - case 118: -#line 508 "dhcp6_parser.yy" // lalr1.cc:919 + case 120: +#line 510 "dhcp6_parser.yy" { ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("rebind-timer", prf); } -#line 1112 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1113 "dhcp6_parser.cc" break; - case 119: -#line 513 "dhcp6_parser.yy" // lalr1.cc:919 + case 121: +#line 515 "dhcp6_parser.yy" { ElementPtr ctt(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("calculate-tee-times", ctt); } -#line 1121 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1122 "dhcp6_parser.cc" break; - case 120: -#line 518 "dhcp6_parser.yy" // lalr1.cc:919 + case 122: +#line 520 "dhcp6_parser.yy" { ElementPtr t1(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("t1-percent", t1); } -#line 1130 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1131 "dhcp6_parser.cc" break; - case 121: -#line 523 "dhcp6_parser.yy" // lalr1.cc:919 + case 123: +#line 525 "dhcp6_parser.yy" { ElementPtr t2(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("t2-percent", t2); } -#line 1139 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1140 "dhcp6_parser.cc" break; - case 122: -#line 528 "dhcp6_parser.yy" // lalr1.cc:919 + case 124: +#line 530 "dhcp6_parser.yy" { ElementPtr dpp(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("decline-probation-period", dpp); } -#line 1148 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1149 "dhcp6_parser.cc" break; - case 123: -#line 533 "dhcp6_parser.yy" // lalr1.cc:919 + case 125: +#line 535 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1156 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1157 "dhcp6_parser.cc" break; - case 124: -#line 535 "dhcp6_parser.yy" // lalr1.cc:919 + case 126: +#line 537 "dhcp6_parser.yy" { ElementPtr stag(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-tag", stag); ctx.leave(); } -#line 1166 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1167 "dhcp6_parser.cc" break; - case 125: -#line 541 "dhcp6_parser.yy" // lalr1.cc:919 + case 127: +#line 543 "dhcp6_parser.yy" { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interfaces-config", i); ctx.stack_.push_back(i); ctx.enter(ctx.INTERFACES_CONFIG); } -#line 1177 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1178 "dhcp6_parser.cc" break; - case 126: -#line 546 "dhcp6_parser.yy" // lalr1.cc:919 + case 128: +#line 548 "dhcp6_parser.yy" { // No interfaces config param is required ctx.stack_.pop_back(); ctx.leave(); } -#line 1187 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1188 "dhcp6_parser.cc" break; - case 127: -#line 552 "dhcp6_parser.yy" // lalr1.cc:919 + case 129: +#line 554 "dhcp6_parser.yy" { // Parse the interfaces-config map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1197 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1198 "dhcp6_parser.cc" break; - case 128: -#line 556 "dhcp6_parser.yy" // lalr1.cc:919 + case 130: +#line 558 "dhcp6_parser.yy" { // No interfaces config param is required // parsing completed } -#line 1206 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1207 "dhcp6_parser.cc" break; - case 136: -#line 572 "dhcp6_parser.yy" // lalr1.cc:919 + case 138: +#line 574 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interfaces", l); ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 1217 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1218 "dhcp6_parser.cc" break; - case 137: -#line 577 "dhcp6_parser.yy" // lalr1.cc:919 + case 139: +#line 579 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1226 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1227 "dhcp6_parser.cc" break; - case 138: -#line 582 "dhcp6_parser.yy" // lalr1.cc:919 + case 140: +#line 584 "dhcp6_parser.yy" { ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("re-detect", b); } -#line 1235 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1236 "dhcp6_parser.cc" break; - case 139: -#line 588 "dhcp6_parser.yy" // lalr1.cc:919 + case 141: +#line 590 "dhcp6_parser.yy" { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lease-database", i); ctx.stack_.push_back(i); ctx.enter(ctx.LEASE_DATABASE); } -#line 1246 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1247 "dhcp6_parser.cc" break; - case 140: -#line 593 "dhcp6_parser.yy" // lalr1.cc:919 + case 142: +#line 595 "dhcp6_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1257 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1258 "dhcp6_parser.cc" break; - case 141: -#line 600 "dhcp6_parser.yy" // lalr1.cc:919 + case 143: +#line 602 "dhcp6_parser.yy" { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hosts-database", i); ctx.stack_.push_back(i); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1268 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1269 "dhcp6_parser.cc" break; - case 142: -#line 605 "dhcp6_parser.yy" // lalr1.cc:919 + case 144: +#line 607 "dhcp6_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1279 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1280 "dhcp6_parser.cc" break; - case 143: -#line 612 "dhcp6_parser.yy" // lalr1.cc:919 + case 145: +#line 614 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hosts-databases", l); ctx.stack_.push_back(l); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1290 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1291 "dhcp6_parser.cc" break; - case 144: -#line 617 "dhcp6_parser.yy" // lalr1.cc:919 + case 146: +#line 619 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1299 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1300 "dhcp6_parser.cc" break; - case 149: -#line 630 "dhcp6_parser.yy" // lalr1.cc:919 + case 151: +#line 632 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1309 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1310 "dhcp6_parser.cc" break; - case 150: -#line 634 "dhcp6_parser.yy" // lalr1.cc:919 + case 152: +#line 636 "dhcp6_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 1319 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1320 "dhcp6_parser.cc" break; - case 173: -#line 666 "dhcp6_parser.yy" // lalr1.cc:919 + case 175: +#line 668 "dhcp6_parser.yy" { ctx.enter(ctx.DATABASE_TYPE); } -#line 1327 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1328 "dhcp6_parser.cc" break; - case 174: -#line 668 "dhcp6_parser.yy" // lalr1.cc:919 + case 176: +#line 670 "dhcp6_parser.yy" { ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1336 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1337 "dhcp6_parser.cc" break; - case 175: -#line 673 "dhcp6_parser.yy" // lalr1.cc:919 + case 177: +#line 675 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); } -#line 1342 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1343 "dhcp6_parser.cc" break; - case 176: -#line 674 "dhcp6_parser.yy" // lalr1.cc:919 + case 178: +#line 676 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); } -#line 1348 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1349 "dhcp6_parser.cc" break; - case 177: -#line 675 "dhcp6_parser.yy" // lalr1.cc:919 + case 179: +#line 677 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); } -#line 1354 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1355 "dhcp6_parser.cc" break; - case 178: -#line 676 "dhcp6_parser.yy" // lalr1.cc:919 + case 180: +#line 678 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); } -#line 1360 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1361 "dhcp6_parser.cc" break; - case 179: -#line 679 "dhcp6_parser.yy" // lalr1.cc:919 + case 181: +#line 681 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1368 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1369 "dhcp6_parser.cc" break; - case 180: -#line 681 "dhcp6_parser.yy" // lalr1.cc:919 + case 182: +#line 683 "dhcp6_parser.yy" { ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("user", user); ctx.leave(); } -#line 1378 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1379 "dhcp6_parser.cc" break; - case 181: -#line 687 "dhcp6_parser.yy" // lalr1.cc:919 + case 183: +#line 689 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1386 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1387 "dhcp6_parser.cc" break; - case 182: -#line 689 "dhcp6_parser.yy" // lalr1.cc:919 + case 184: +#line 691 "dhcp6_parser.yy" { ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("password", pwd); ctx.leave(); } -#line 1396 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1397 "dhcp6_parser.cc" break; - case 183: -#line 695 "dhcp6_parser.yy" // lalr1.cc:919 + case 185: +#line 697 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1404 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1405 "dhcp6_parser.cc" break; - case 184: -#line 697 "dhcp6_parser.yy" // lalr1.cc:919 + case 186: +#line 699 "dhcp6_parser.yy" { ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host", h); ctx.leave(); } -#line 1414 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1415 "dhcp6_parser.cc" break; - case 185: -#line 703 "dhcp6_parser.yy" // lalr1.cc:919 + case 187: +#line 705 "dhcp6_parser.yy" { ElementPtr p(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("port", p); } -#line 1423 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1424 "dhcp6_parser.cc" break; - case 186: -#line 708 "dhcp6_parser.yy" // lalr1.cc:919 + case 188: +#line 710 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1431 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1432 "dhcp6_parser.cc" break; - case 187: -#line 710 "dhcp6_parser.yy" // lalr1.cc:919 + case 189: +#line 712 "dhcp6_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("name", name); ctx.leave(); } -#line 1441 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1442 "dhcp6_parser.cc" break; - case 188: -#line 716 "dhcp6_parser.yy" // lalr1.cc:919 + case 190: +#line 718 "dhcp6_parser.yy" { ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("persist", n); } -#line 1450 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1451 "dhcp6_parser.cc" break; - case 189: -#line 721 "dhcp6_parser.yy" // lalr1.cc:919 + case 191: +#line 723 "dhcp6_parser.yy" { ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lfc-interval", n); } -#line 1459 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1460 "dhcp6_parser.cc" break; - case 190: -#line 726 "dhcp6_parser.yy" // lalr1.cc:919 + case 192: +#line 728 "dhcp6_parser.yy" { ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("readonly", n); } -#line 1468 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1469 "dhcp6_parser.cc" break; - case 191: -#line 731 "dhcp6_parser.yy" // lalr1.cc:919 + case 193: +#line 733 "dhcp6_parser.yy" { ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("connect-timeout", n); } -#line 1477 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1478 "dhcp6_parser.cc" break; - case 192: -#line 736 "dhcp6_parser.yy" // lalr1.cc:919 + case 194: +#line 738 "dhcp6_parser.yy" { ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reconnect-wait-time", n); } -#line 1486 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1487 "dhcp6_parser.cc" break; - case 193: -#line 741 "dhcp6_parser.yy" // lalr1.cc:919 + case 195: +#line 743 "dhcp6_parser.yy" { ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("request-timeout", n); } -#line 1495 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1496 "dhcp6_parser.cc" break; - case 194: -#line 746 "dhcp6_parser.yy" // lalr1.cc:919 + case 196: +#line 748 "dhcp6_parser.yy" { ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-keepalive", n); } -#line 1504 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1505 "dhcp6_parser.cc" break; - case 195: -#line 751 "dhcp6_parser.yy" // lalr1.cc:919 + case 197: +#line 753 "dhcp6_parser.yy" { ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-nodelay", n); } -#line 1513 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1514 "dhcp6_parser.cc" break; - case 196: -#line 756 "dhcp6_parser.yy" // lalr1.cc:919 + case 198: +#line 758 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1521 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1522 "dhcp6_parser.cc" break; - case 197: -#line 758 "dhcp6_parser.yy" // lalr1.cc:919 + case 199: +#line 760 "dhcp6_parser.yy" { ElementPtr cp(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("contact-points", cp); ctx.leave(); } -#line 1531 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1532 "dhcp6_parser.cc" break; - case 198: -#line 764 "dhcp6_parser.yy" // lalr1.cc:919 + case 200: +#line 766 "dhcp6_parser.yy" { ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reconnect-tries", n); } -#line 1540 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1541 "dhcp6_parser.cc" break; - case 199: -#line 769 "dhcp6_parser.yy" // lalr1.cc:919 + case 201: +#line 771 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1548 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1549 "dhcp6_parser.cc" break; - case 200: -#line 771 "dhcp6_parser.yy" // lalr1.cc:919 + case 202: +#line 773 "dhcp6_parser.yy" { ElementPtr ks(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("keyspace", ks); ctx.leave(); } -#line 1558 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1559 "dhcp6_parser.cc" break; - case 201: -#line 777 "dhcp6_parser.yy" // lalr1.cc:919 + case 203: +#line 779 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1566 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1567 "dhcp6_parser.cc" break; - case 202: -#line 779 "dhcp6_parser.yy" // lalr1.cc:919 + case 204: +#line 781 "dhcp6_parser.yy" { ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("consistency", c); ctx.leave(); } -#line 1576 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1577 "dhcp6_parser.cc" break; - case 203: -#line 785 "dhcp6_parser.yy" // lalr1.cc:919 + case 205: +#line 787 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1584 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1585 "dhcp6_parser.cc" break; - case 204: -#line 787 "dhcp6_parser.yy" // lalr1.cc:919 + case 206: +#line 789 "dhcp6_parser.yy" { ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("serial-consistency", c); ctx.leave(); } -#line 1594 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1595 "dhcp6_parser.cc" break; - case 205: -#line 793 "dhcp6_parser.yy" // lalr1.cc:919 + case 207: +#line 795 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sanity-checks", m); ctx.stack_.push_back(m); ctx.enter(ctx.SANITY_CHECKS); } -#line 1605 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1606 "dhcp6_parser.cc" break; - case 206: -#line 798 "dhcp6_parser.yy" // lalr1.cc:919 + case 208: +#line 800 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1614 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1615 "dhcp6_parser.cc" break; - case 210: -#line 808 "dhcp6_parser.yy" // lalr1.cc:919 + case 212: +#line 810 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1622 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1623 "dhcp6_parser.cc" break; - case 211: -#line 810 "dhcp6_parser.yy" // lalr1.cc:919 + case 213: +#line 812 "dhcp6_parser.yy" { if ( (string(yystack_[0].value.as < std::string > ()) == "none") || @@ -1638,307 +1639,307 @@ namespace isc { namespace dhcp { ", supported values are: none, warn, fix, fix-del, del"); } } -#line 1642 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1643 "dhcp6_parser.cc" break; - case 212: -#line 826 "dhcp6_parser.yy" // lalr1.cc:919 + case 214: +#line 828 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("mac-sources", l); ctx.stack_.push_back(l); ctx.enter(ctx.MAC_SOURCES); } -#line 1653 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1654 "dhcp6_parser.cc" break; - case 213: -#line 831 "dhcp6_parser.yy" // lalr1.cc:919 + case 215: +#line 833 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1662 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1663 "dhcp6_parser.cc" break; - case 218: -#line 844 "dhcp6_parser.yy" // lalr1.cc:919 + case 220: +#line 846 "dhcp6_parser.yy" { ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); } -#line 1671 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1672 "dhcp6_parser.cc" break; - case 219: -#line 849 "dhcp6_parser.yy" // lalr1.cc:919 + case 221: +#line 851 "dhcp6_parser.yy" { ElementPtr duid(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); } -#line 1680 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1681 "dhcp6_parser.cc" break; - case 220: -#line 854 "dhcp6_parser.yy" // lalr1.cc:919 + case 222: +#line 856 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host-reservation-identifiers", l); ctx.stack_.push_back(l); ctx.enter(ctx.HOST_RESERVATION_IDENTIFIERS); } -#line 1691 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1692 "dhcp6_parser.cc" break; - case 221: -#line 859 "dhcp6_parser.yy" // lalr1.cc:919 + case 223: +#line 861 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1700 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1701 "dhcp6_parser.cc" break; - case 227: -#line 873 "dhcp6_parser.yy" // lalr1.cc:919 + case 229: +#line 875 "dhcp6_parser.yy" { ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(hwaddr); } -#line 1709 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1710 "dhcp6_parser.cc" break; - case 228: -#line 878 "dhcp6_parser.yy" // lalr1.cc:919 + case 230: +#line 880 "dhcp6_parser.yy" { ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(flex_id); } -#line 1718 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1719 "dhcp6_parser.cc" break; - case 229: -#line 885 "dhcp6_parser.yy" // lalr1.cc:919 + case 231: +#line 887 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("relay-supplied-options", l); ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 1729 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1730 "dhcp6_parser.cc" break; - case 230: -#line 890 "dhcp6_parser.yy" // lalr1.cc:919 + case 232: +#line 892 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1738 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1739 "dhcp6_parser.cc" break; - case 231: -#line 895 "dhcp6_parser.yy" // lalr1.cc:919 + case 233: +#line 897 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hooks-libraries", l); ctx.stack_.push_back(l); ctx.enter(ctx.HOOKS_LIBRARIES); } -#line 1749 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1750 "dhcp6_parser.cc" break; - case 232: -#line 900 "dhcp6_parser.yy" // lalr1.cc:919 + case 234: +#line 902 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1758 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1759 "dhcp6_parser.cc" break; - case 237: -#line 913 "dhcp6_parser.yy" // lalr1.cc:919 + case 239: +#line 915 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1768 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1769 "dhcp6_parser.cc" break; - case 238: -#line 917 "dhcp6_parser.yy" // lalr1.cc:919 + case 240: +#line 919 "dhcp6_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 1778 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1779 "dhcp6_parser.cc" break; - case 239: -#line 923 "dhcp6_parser.yy" // lalr1.cc:919 + case 241: +#line 925 "dhcp6_parser.yy" { // Parse the hooks-libraries list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1788 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1789 "dhcp6_parser.cc" break; - case 240: -#line 927 "dhcp6_parser.yy" // lalr1.cc:919 + case 242: +#line 929 "dhcp6_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 1798 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1799 "dhcp6_parser.cc" break; - case 246: -#line 942 "dhcp6_parser.yy" // lalr1.cc:919 + case 248: +#line 944 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1806 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1807 "dhcp6_parser.cc" break; - case 247: -#line 944 "dhcp6_parser.yy" // lalr1.cc:919 + case 249: +#line 946 "dhcp6_parser.yy" { ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("library", lib); ctx.leave(); } -#line 1816 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1817 "dhcp6_parser.cc" break; - case 248: -#line 950 "dhcp6_parser.yy" // lalr1.cc:919 + case 250: +#line 952 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1824 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1825 "dhcp6_parser.cc" break; - case 249: -#line 952 "dhcp6_parser.yy" // lalr1.cc:919 + case 251: +#line 954 "dhcp6_parser.yy" { ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1833 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1834 "dhcp6_parser.cc" break; - case 250: -#line 958 "dhcp6_parser.yy" // lalr1.cc:919 + case 252: +#line 960 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("expired-leases-processing", m); ctx.stack_.push_back(m); ctx.enter(ctx.EXPIRED_LEASES_PROCESSING); } -#line 1844 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1845 "dhcp6_parser.cc" break; - case 251: -#line 963 "dhcp6_parser.yy" // lalr1.cc:919 + case 253: +#line 965 "dhcp6_parser.yy" { // No expired lease parameter is required ctx.stack_.pop_back(); ctx.leave(); } -#line 1854 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1855 "dhcp6_parser.cc" break; - case 260: -#line 981 "dhcp6_parser.yy" // lalr1.cc:919 + case 262: +#line 983 "dhcp6_parser.yy" { ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reclaim-timer-wait-time", value); } -#line 1863 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1864 "dhcp6_parser.cc" break; - case 261: -#line 986 "dhcp6_parser.yy" // lalr1.cc:919 + case 263: +#line 988 "dhcp6_parser.yy" { ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush-reclaimed-timer-wait-time", value); } -#line 1872 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1873 "dhcp6_parser.cc" break; - case 262: -#line 991 "dhcp6_parser.yy" // lalr1.cc:919 + case 264: +#line 993 "dhcp6_parser.yy" { ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hold-reclaimed-time", value); } -#line 1881 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1882 "dhcp6_parser.cc" break; - case 263: -#line 996 "dhcp6_parser.yy" // lalr1.cc:919 + case 265: +#line 998 "dhcp6_parser.yy" { ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-leases", value); } -#line 1890 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1891 "dhcp6_parser.cc" break; - case 264: -#line 1001 "dhcp6_parser.yy" // lalr1.cc:919 + case 266: +#line 1003 "dhcp6_parser.yy" { ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-time", value); } -#line 1899 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1900 "dhcp6_parser.cc" break; - case 265: -#line 1006 "dhcp6_parser.yy" // lalr1.cc:919 + case 267: +#line 1008 "dhcp6_parser.yy" { ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("unwarned-reclaim-cycles", value); } -#line 1908 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1909 "dhcp6_parser.cc" break; - case 266: -#line 1014 "dhcp6_parser.yy" // lalr1.cc:919 + case 268: +#line 1016 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet6", l); ctx.stack_.push_back(l); ctx.enter(ctx.SUBNET6); } -#line 1919 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1920 "dhcp6_parser.cc" break; - case 267: -#line 1019 "dhcp6_parser.yy" // lalr1.cc:919 + case 269: +#line 1021 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1928 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1929 "dhcp6_parser.cc" break; - case 272: -#line 1039 "dhcp6_parser.yy" // lalr1.cc:919 + case 274: +#line 1041 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1938 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1939 "dhcp6_parser.cc" break; - case 273: -#line 1043 "dhcp6_parser.yy" // lalr1.cc:919 + case 275: +#line 1045 "dhcp6_parser.yy" { // Once we reached this place, the subnet parsing is now complete. // If we want to, we can implement default values here. @@ -1960,267 +1961,267 @@ namespace isc { namespace dhcp { ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 1964 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1965 "dhcp6_parser.cc" break; - case 274: -#line 1065 "dhcp6_parser.yy" // lalr1.cc:919 + case 276: +#line 1067 "dhcp6_parser.yy" { // Parse the subnet6 list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1974 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1975 "dhcp6_parser.cc" break; - case 275: -#line 1069 "dhcp6_parser.yy" // lalr1.cc:919 + case 277: +#line 1071 "dhcp6_parser.yy" { // The subnet subnet6 parameter is required ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 1984 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1985 "dhcp6_parser.cc" break; - case 301: -#line 1106 "dhcp6_parser.yy" // lalr1.cc:919 + case 303: +#line 1108 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 1992 "dhcp6_parser.cc" // lalr1.cc:919 +#line 1993 "dhcp6_parser.cc" break; - case 302: -#line 1108 "dhcp6_parser.yy" // lalr1.cc:919 + case 304: +#line 1110 "dhcp6_parser.yy" { ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet", subnet); ctx.leave(); } -#line 2002 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2003 "dhcp6_parser.cc" break; - case 303: -#line 1114 "dhcp6_parser.yy" // lalr1.cc:919 + case 305: +#line 1116 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 2010 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2011 "dhcp6_parser.cc" break; - case 304: -#line 1116 "dhcp6_parser.yy" // lalr1.cc:919 + case 306: +#line 1118 "dhcp6_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface", iface); ctx.leave(); } -#line 2020 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2021 "dhcp6_parser.cc" break; - case 305: -#line 1122 "dhcp6_parser.yy" // lalr1.cc:919 + case 307: +#line 1124 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 2028 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2029 "dhcp6_parser.cc" break; - case 306: -#line 1124 "dhcp6_parser.yy" // lalr1.cc:919 + case 308: +#line 1126 "dhcp6_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface-id", iface); ctx.leave(); } -#line 2038 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2039 "dhcp6_parser.cc" break; - case 307: -#line 1130 "dhcp6_parser.yy" // lalr1.cc:919 + case 309: +#line 1132 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 2046 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2047 "dhcp6_parser.cc" break; - case 308: -#line 1132 "dhcp6_parser.yy" // lalr1.cc:919 + case 310: +#line 1134 "dhcp6_parser.yy" { ElementPtr cls(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-class", cls); ctx.leave(); } -#line 2056 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2057 "dhcp6_parser.cc" break; - case 309: -#line 1138 "dhcp6_parser.yy" // lalr1.cc:919 + case 311: +#line 1140 "dhcp6_parser.yy" { ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("require-client-classes", c); ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 2067 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2068 "dhcp6_parser.cc" break; - case 310: -#line 1143 "dhcp6_parser.yy" // lalr1.cc:919 + case 312: +#line 1145 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2076 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2077 "dhcp6_parser.cc" break; - case 311: -#line 1148 "dhcp6_parser.yy" // lalr1.cc:919 + case 313: +#line 1150 "dhcp6_parser.yy" { ctx.enter(ctx.RESERVATION_MODE); } -#line 2084 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2085 "dhcp6_parser.cc" break; - case 312: -#line 1150 "dhcp6_parser.yy" // lalr1.cc:919 + case 314: +#line 1152 "dhcp6_parser.yy" { ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2093 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2094 "dhcp6_parser.cc" break; - case 313: -#line 1155 "dhcp6_parser.yy" // lalr1.cc:919 + case 315: +#line 1157 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); } -#line 2099 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2100 "dhcp6_parser.cc" break; - case 314: -#line 1156 "dhcp6_parser.yy" // lalr1.cc:919 + case 316: +#line 1158 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); } -#line 2105 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2106 "dhcp6_parser.cc" break; - case 315: -#line 1157 "dhcp6_parser.yy" // lalr1.cc:919 + case 317: +#line 1159 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); } -#line 2111 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2112 "dhcp6_parser.cc" break; - case 316: -#line 1158 "dhcp6_parser.yy" // lalr1.cc:919 + case 318: +#line 1160 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); } -#line 2117 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2118 "dhcp6_parser.cc" break; - case 317: -#line 1161 "dhcp6_parser.yy" // lalr1.cc:919 + case 319: +#line 1163 "dhcp6_parser.yy" { ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("id", id); } -#line 2126 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2127 "dhcp6_parser.cc" break; - case 318: -#line 1166 "dhcp6_parser.yy" // lalr1.cc:919 + case 320: +#line 1168 "dhcp6_parser.yy" { ElementPtr rc(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("rapid-commit", rc); } -#line 2135 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2136 "dhcp6_parser.cc" break; - case 319: -#line 1174 "dhcp6_parser.yy" // lalr1.cc:919 + case 321: +#line 1176 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("shared-networks", l); ctx.stack_.push_back(l); ctx.enter(ctx.SHARED_NETWORK); } -#line 2146 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2147 "dhcp6_parser.cc" break; - case 320: -#line 1179 "dhcp6_parser.yy" // lalr1.cc:919 + case 322: +#line 1181 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2155 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2156 "dhcp6_parser.cc" break; - case 325: -#line 1194 "dhcp6_parser.yy" // lalr1.cc:919 + case 327: +#line 1196 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2165 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2166 "dhcp6_parser.cc" break; - case 326: -#line 1198 "dhcp6_parser.yy" // lalr1.cc:919 + case 328: +#line 1200 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } -#line 2173 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2174 "dhcp6_parser.cc" break; - case 349: -#line 1232 "dhcp6_parser.yy" // lalr1.cc:919 + case 351: +#line 1234 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("option-def", l); ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DEF); } -#line 2184 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2185 "dhcp6_parser.cc" break; - case 350: -#line 1237 "dhcp6_parser.yy" // lalr1.cc:919 + case 352: +#line 1239 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2193 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2194 "dhcp6_parser.cc" break; - case 351: -#line 1245 "dhcp6_parser.yy" // lalr1.cc:919 + case 353: +#line 1247 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2202 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2203 "dhcp6_parser.cc" break; - case 352: -#line 1248 "dhcp6_parser.yy" // lalr1.cc:919 + case 354: +#line 1250 "dhcp6_parser.yy" { // parsing completed } -#line 2210 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2211 "dhcp6_parser.cc" break; - case 357: -#line 1264 "dhcp6_parser.yy" // lalr1.cc:919 + case 359: +#line 1266 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2220 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2221 "dhcp6_parser.cc" break; - case 358: -#line 1268 "dhcp6_parser.yy" // lalr1.cc:919 + case 360: +#line 1270 "dhcp6_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2228,21 +2229,21 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2232 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2233 "dhcp6_parser.cc" break; - case 359: -#line 1279 "dhcp6_parser.yy" // lalr1.cc:919 + case 361: +#line 1281 "dhcp6_parser.yy" { // Parse the option-def list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2242 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2243 "dhcp6_parser.cc" break; - case 360: -#line 1283 "dhcp6_parser.yy" // lalr1.cc:919 + case 362: +#line 1285 "dhcp6_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2250,280 +2251,280 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2254 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2255 "dhcp6_parser.cc" break; - case 376: -#line 1315 "dhcp6_parser.yy" // lalr1.cc:919 + case 378: +#line 1317 "dhcp6_parser.yy" { ElementPtr code(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("code", code); } -#line 2263 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2264 "dhcp6_parser.cc" break; - case 378: -#line 1322 "dhcp6_parser.yy" // lalr1.cc:919 + case 380: +#line 1324 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 2271 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2272 "dhcp6_parser.cc" break; - case 379: -#line 1324 "dhcp6_parser.yy" // lalr1.cc:919 + case 381: +#line 1326 "dhcp6_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("type", prf); ctx.leave(); } -#line 2281 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2282 "dhcp6_parser.cc" break; - case 380: -#line 1330 "dhcp6_parser.yy" // lalr1.cc:919 + case 382: +#line 1332 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 2289 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2290 "dhcp6_parser.cc" break; - case 381: -#line 1332 "dhcp6_parser.yy" // lalr1.cc:919 + case 383: +#line 1334 "dhcp6_parser.yy" { ElementPtr rtypes(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("record-types", rtypes); ctx.leave(); } -#line 2299 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2300 "dhcp6_parser.cc" break; - case 382: -#line 1338 "dhcp6_parser.yy" // lalr1.cc:919 + case 384: +#line 1340 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 2307 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2308 "dhcp6_parser.cc" break; - case 383: -#line 1340 "dhcp6_parser.yy" // lalr1.cc:919 + case 385: +#line 1342 "dhcp6_parser.yy" { ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("space", space); ctx.leave(); } -#line 2317 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2318 "dhcp6_parser.cc" break; - case 385: -#line 1348 "dhcp6_parser.yy" // lalr1.cc:919 + case 387: +#line 1350 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 2325 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2326 "dhcp6_parser.cc" break; - case 386: -#line 1350 "dhcp6_parser.yy" // lalr1.cc:919 + case 388: +#line 1352 "dhcp6_parser.yy" { ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("encapsulate", encap); ctx.leave(); } -#line 2335 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2336 "dhcp6_parser.cc" break; - case 387: -#line 1356 "dhcp6_parser.yy" // lalr1.cc:919 + case 389: +#line 1358 "dhcp6_parser.yy" { ElementPtr array(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("array", array); } -#line 2344 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2345 "dhcp6_parser.cc" break; - case 388: -#line 1365 "dhcp6_parser.yy" // lalr1.cc:919 + case 390: +#line 1367 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("option-data", l); ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DATA); } -#line 2355 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2356 "dhcp6_parser.cc" break; - case 389: -#line 1370 "dhcp6_parser.yy" // lalr1.cc:919 + case 391: +#line 1372 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2364 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2365 "dhcp6_parser.cc" break; - case 394: -#line 1389 "dhcp6_parser.yy" // lalr1.cc:919 + case 396: +#line 1391 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2374 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2375 "dhcp6_parser.cc" break; - case 395: -#line 1393 "dhcp6_parser.yy" // lalr1.cc:919 + case 397: +#line 1395 "dhcp6_parser.yy" { /// @todo: the code or name parameters are required. ctx.stack_.pop_back(); } -#line 2383 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2384 "dhcp6_parser.cc" break; - case 396: -#line 1401 "dhcp6_parser.yy" // lalr1.cc:919 + case 398: +#line 1403 "dhcp6_parser.yy" { // Parse the option-data list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2393 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2394 "dhcp6_parser.cc" break; - case 397: -#line 1405 "dhcp6_parser.yy" // lalr1.cc:919 + case 399: +#line 1407 "dhcp6_parser.yy" { /// @todo: the code or name parameters are required. // parsing completed } -#line 2402 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2403 "dhcp6_parser.cc" break; - case 412: -#line 1438 "dhcp6_parser.yy" // lalr1.cc:919 + case 414: +#line 1440 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 2410 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2411 "dhcp6_parser.cc" break; - case 413: -#line 1440 "dhcp6_parser.yy" // lalr1.cc:919 + case 415: +#line 1442 "dhcp6_parser.yy" { ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data", data); ctx.leave(); } -#line 2420 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2421 "dhcp6_parser.cc" break; - case 416: -#line 1450 "dhcp6_parser.yy" // lalr1.cc:919 + case 418: +#line 1452 "dhcp6_parser.yy" { ElementPtr space(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("csv-format", space); } -#line 2429 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2430 "dhcp6_parser.cc" break; - case 417: -#line 1455 "dhcp6_parser.yy" // lalr1.cc:919 + case 419: +#line 1457 "dhcp6_parser.yy" { ElementPtr persist(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("always-send", persist); } -#line 2438 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2439 "dhcp6_parser.cc" break; - case 418: -#line 1463 "dhcp6_parser.yy" // lalr1.cc:919 + case 420: +#line 1465 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pools", l); ctx.stack_.push_back(l); ctx.enter(ctx.POOLS); } -#line 2449 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2450 "dhcp6_parser.cc" break; - case 419: -#line 1468 "dhcp6_parser.yy" // lalr1.cc:919 + case 421: +#line 1470 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2458 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2459 "dhcp6_parser.cc" break; - case 424: -#line 1483 "dhcp6_parser.yy" // lalr1.cc:919 + case 426: +#line 1485 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2468 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2469 "dhcp6_parser.cc" break; - case 425: -#line 1487 "dhcp6_parser.yy" // lalr1.cc:919 + case 427: +#line 1489 "dhcp6_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2478 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2479 "dhcp6_parser.cc" break; - case 426: -#line 1493 "dhcp6_parser.yy" // lalr1.cc:919 + case 428: +#line 1495 "dhcp6_parser.yy" { // Parse the pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2488 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2489 "dhcp6_parser.cc" break; - case 427: -#line 1497 "dhcp6_parser.yy" // lalr1.cc:919 + case 429: +#line 1499 "dhcp6_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); } -#line 2497 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2498 "dhcp6_parser.cc" break; - case 437: -#line 1515 "dhcp6_parser.yy" // lalr1.cc:919 + case 439: +#line 1517 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 2505 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2506 "dhcp6_parser.cc" break; - case 438: -#line 1517 "dhcp6_parser.yy" // lalr1.cc:919 + case 440: +#line 1519 "dhcp6_parser.yy" { ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool", pool); ctx.leave(); } -#line 2515 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2516 "dhcp6_parser.cc" break; - case 439: -#line 1523 "dhcp6_parser.yy" // lalr1.cc:919 + case 441: +#line 1525 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 2523 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2524 "dhcp6_parser.cc" break; - case 440: -#line 1525 "dhcp6_parser.yy" // lalr1.cc:919 + case 442: +#line 1527 "dhcp6_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context = yystack_[0].value.as < ElementPtr > (); @@ -2546,19 +2547,19 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 2550 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2551 "dhcp6_parser.cc" break; - case 441: -#line 1548 "dhcp6_parser.yy" // lalr1.cc:919 + case 443: +#line 1550 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 2558 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2559 "dhcp6_parser.cc" break; - case 442: -#line 1550 "dhcp6_parser.yy" // lalr1.cc:919 + case 444: +#line 1552 "dhcp6_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location))); @@ -2583,41 +2584,41 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 2587 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2588 "dhcp6_parser.cc" break; - case 443: -#line 1578 "dhcp6_parser.yy" // lalr1.cc:919 + case 445: +#line 1580 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pd-pools", l); ctx.stack_.push_back(l); ctx.enter(ctx.PD_POOLS); } -#line 2598 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2599 "dhcp6_parser.cc" break; - case 444: -#line 1583 "dhcp6_parser.yy" // lalr1.cc:919 + case 446: +#line 1585 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2607 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2608 "dhcp6_parser.cc" break; - case 449: -#line 1598 "dhcp6_parser.yy" // lalr1.cc:919 + case 451: +#line 1600 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2617 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2618 "dhcp6_parser.cc" break; - case 450: -#line 1602 "dhcp6_parser.yy" // lalr1.cc:919 + case 452: +#line 1604 "dhcp6_parser.yy" { // The prefix, prefix len and delegated len parameters are required. ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2625,21 +2626,21 @@ namespace isc { namespace dhcp { ctx.require("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2629 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2630 "dhcp6_parser.cc" break; - case 451: -#line 1610 "dhcp6_parser.yy" // lalr1.cc:919 + case 453: +#line 1612 "dhcp6_parser.yy" { // Parse the pd-pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2639 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2640 "dhcp6_parser.cc" break; - case 452: -#line 1614 "dhcp6_parser.yy" // lalr1.cc:919 + case 454: +#line 1616 "dhcp6_parser.yy" { // The prefix, prefix len and delegated len parameters are required. ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2647,544 +2648,544 @@ namespace isc { namespace dhcp { ctx.require("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2651 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2652 "dhcp6_parser.cc" break; - case 466: -#line 1639 "dhcp6_parser.yy" // lalr1.cc:919 + case 468: +#line 1641 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 2659 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2660 "dhcp6_parser.cc" break; - case 467: -#line 1641 "dhcp6_parser.yy" // lalr1.cc:919 + case 469: +#line 1643 "dhcp6_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("prefix", prf); ctx.leave(); } -#line 2669 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2670 "dhcp6_parser.cc" break; - case 468: -#line 1647 "dhcp6_parser.yy" // lalr1.cc:919 + case 470: +#line 1649 "dhcp6_parser.yy" { ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("prefix-len", prf); } -#line 2678 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2679 "dhcp6_parser.cc" break; - case 469: -#line 1652 "dhcp6_parser.yy" // lalr1.cc:919 + case 471: +#line 1654 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 2686 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2687 "dhcp6_parser.cc" break; - case 470: -#line 1654 "dhcp6_parser.yy" // lalr1.cc:919 + case 472: +#line 1656 "dhcp6_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("excluded-prefix", prf); ctx.leave(); } -#line 2696 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2697 "dhcp6_parser.cc" break; - case 471: -#line 1660 "dhcp6_parser.yy" // lalr1.cc:919 + case 473: +#line 1662 "dhcp6_parser.yy" { ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("excluded-prefix-len", prf); } -#line 2705 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2706 "dhcp6_parser.cc" break; - case 472: -#line 1665 "dhcp6_parser.yy" // lalr1.cc:919 + case 474: +#line 1667 "dhcp6_parser.yy" { ElementPtr deleg(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("delegated-len", deleg); } -#line 2714 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2715 "dhcp6_parser.cc" break; - case 473: -#line 1673 "dhcp6_parser.yy" // lalr1.cc:919 + case 475: +#line 1675 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations", l); ctx.stack_.push_back(l); ctx.enter(ctx.RESERVATIONS); } -#line 2725 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2726 "dhcp6_parser.cc" break; - case 474: -#line 1678 "dhcp6_parser.yy" // lalr1.cc:919 + case 476: +#line 1680 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2734 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2735 "dhcp6_parser.cc" break; - case 479: -#line 1691 "dhcp6_parser.yy" // lalr1.cc:919 + case 481: +#line 1693 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2744 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2745 "dhcp6_parser.cc" break; - case 480: -#line 1695 "dhcp6_parser.yy" // lalr1.cc:919 + case 482: +#line 1697 "dhcp6_parser.yy" { /// @todo: an identifier parameter is required. ctx.stack_.pop_back(); } -#line 2753 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2754 "dhcp6_parser.cc" break; - case 481: -#line 1700 "dhcp6_parser.yy" // lalr1.cc:919 + case 483: +#line 1702 "dhcp6_parser.yy" { // Parse the reservations list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2763 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2764 "dhcp6_parser.cc" break; - case 482: -#line 1704 "dhcp6_parser.yy" // lalr1.cc:919 + case 484: +#line 1706 "dhcp6_parser.yy" { /// @todo: an identifier parameter is required. // parsing completed } -#line 2772 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2773 "dhcp6_parser.cc" break; - case 498: -#line 1731 "dhcp6_parser.yy" // lalr1.cc:919 + case 500: +#line 1733 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-addresses", l); ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 2783 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2784 "dhcp6_parser.cc" break; - case 499: -#line 1736 "dhcp6_parser.yy" // lalr1.cc:919 + case 501: +#line 1738 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2792 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2793 "dhcp6_parser.cc" break; - case 500: -#line 1741 "dhcp6_parser.yy" // lalr1.cc:919 + case 502: +#line 1743 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("prefixes", l); ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 2803 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2804 "dhcp6_parser.cc" break; - case 501: -#line 1746 "dhcp6_parser.yy" // lalr1.cc:919 + case 503: +#line 1748 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2812 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2813 "dhcp6_parser.cc" break; - case 502: -#line 1751 "dhcp6_parser.yy" // lalr1.cc:919 + case 504: +#line 1753 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 2820 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2821 "dhcp6_parser.cc" break; - case 503: -#line 1753 "dhcp6_parser.yy" // lalr1.cc:919 + case 505: +#line 1755 "dhcp6_parser.yy" { ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("duid", d); ctx.leave(); } -#line 2830 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2831 "dhcp6_parser.cc" break; - case 504: -#line 1759 "dhcp6_parser.yy" // lalr1.cc:919 + case 506: +#line 1761 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 2838 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2839 "dhcp6_parser.cc" break; - case 505: -#line 1761 "dhcp6_parser.yy" // lalr1.cc:919 + case 507: +#line 1763 "dhcp6_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hw-address", hw); ctx.leave(); } -#line 2848 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2849 "dhcp6_parser.cc" break; - case 506: -#line 1767 "dhcp6_parser.yy" // lalr1.cc:919 + case 508: +#line 1769 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 2856 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2857 "dhcp6_parser.cc" break; - case 507: -#line 1769 "dhcp6_parser.yy" // lalr1.cc:919 + case 509: +#line 1771 "dhcp6_parser.yy" { ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname", host); ctx.leave(); } -#line 2866 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2867 "dhcp6_parser.cc" break; - case 508: -#line 1775 "dhcp6_parser.yy" // lalr1.cc:919 + case 510: +#line 1777 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 2874 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2875 "dhcp6_parser.cc" break; - case 509: -#line 1777 "dhcp6_parser.yy" // lalr1.cc:919 + case 511: +#line 1779 "dhcp6_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flex-id", hw); ctx.leave(); } -#line 2884 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2885 "dhcp6_parser.cc" break; - case 510: -#line 1783 "dhcp6_parser.yy" // lalr1.cc:919 + case 512: +#line 1785 "dhcp6_parser.yy" { ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-classes", c); ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 2895 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2896 "dhcp6_parser.cc" break; - case 511: -#line 1788 "dhcp6_parser.yy" // lalr1.cc:919 + case 513: +#line 1790 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2904 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2905 "dhcp6_parser.cc" break; - case 512: -#line 1796 "dhcp6_parser.yy" // lalr1.cc:919 + case 514: +#line 1798 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("relay", m); ctx.stack_.push_back(m); ctx.enter(ctx.RELAY); } -#line 2915 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2916 "dhcp6_parser.cc" break; - case 513: -#line 1801 "dhcp6_parser.yy" // lalr1.cc:919 + case 515: +#line 1803 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2924 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2925 "dhcp6_parser.cc" break; - case 516: -#line 1810 "dhcp6_parser.yy" // lalr1.cc:919 + case 518: +#line 1812 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 2932 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2933 "dhcp6_parser.cc" break; - case 517: -#line 1812 "dhcp6_parser.yy" // lalr1.cc:919 + case 519: +#line 1814 "dhcp6_parser.yy" { ElementPtr addr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-address", addr); ctx.leave(); } -#line 2942 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2943 "dhcp6_parser.cc" break; - case 518: -#line 1821 "dhcp6_parser.yy" // lalr1.cc:919 + case 520: +#line 1823 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-classes", l); ctx.stack_.push_back(l); ctx.enter(ctx.CLIENT_CLASSES); } -#line 2953 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2954 "dhcp6_parser.cc" break; - case 519: -#line 1826 "dhcp6_parser.yy" // lalr1.cc:919 + case 521: +#line 1828 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2962 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2963 "dhcp6_parser.cc" break; - case 522: -#line 1835 "dhcp6_parser.yy" // lalr1.cc:919 + case 524: +#line 1837 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2972 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2973 "dhcp6_parser.cc" break; - case 523: -#line 1839 "dhcp6_parser.yy" // lalr1.cc:919 + case 525: +#line 1841 "dhcp6_parser.yy" { // The name client class parameter is required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2982 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2983 "dhcp6_parser.cc" break; - case 536: -#line 1864 "dhcp6_parser.yy" // lalr1.cc:919 + case 538: +#line 1866 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 2990 "dhcp6_parser.cc" // lalr1.cc:919 +#line 2991 "dhcp6_parser.cc" break; - case 537: -#line 1866 "dhcp6_parser.yy" // lalr1.cc:919 + case 539: +#line 1868 "dhcp6_parser.yy" { ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("test", test); ctx.leave(); } -#line 3000 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3001 "dhcp6_parser.cc" break; - case 538: -#line 1872 "dhcp6_parser.yy" // lalr1.cc:919 + case 540: +#line 1874 "dhcp6_parser.yy" { ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("only-if-required", b); } -#line 3009 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3010 "dhcp6_parser.cc" break; - case 539: -#line 1880 "dhcp6_parser.yy" // lalr1.cc:919 + case 541: +#line 1882 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-id", m); ctx.stack_.push_back(m); ctx.enter(ctx.SERVER_ID); } -#line 3020 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3021 "dhcp6_parser.cc" break; - case 540: -#line 1885 "dhcp6_parser.yy" // lalr1.cc:919 + case 542: +#line 1887 "dhcp6_parser.yy" { // The type parameter is required. ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 3031 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3032 "dhcp6_parser.cc" break; - case 552: -#line 1907 "dhcp6_parser.yy" // lalr1.cc:919 + case 554: +#line 1909 "dhcp6_parser.yy" { ctx.enter(ctx.DUID_TYPE); } -#line 3039 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3040 "dhcp6_parser.cc" break; - case 553: -#line 1909 "dhcp6_parser.yy" // lalr1.cc:919 + case 555: +#line 1911 "dhcp6_parser.yy" { ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3048 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3049 "dhcp6_parser.cc" break; - case 554: -#line 1914 "dhcp6_parser.yy" // lalr1.cc:919 + case 556: +#line 1916 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); } -#line 3054 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3055 "dhcp6_parser.cc" break; - case 555: -#line 1915 "dhcp6_parser.yy" // lalr1.cc:919 + case 557: +#line 1917 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); } -#line 3060 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3061 "dhcp6_parser.cc" break; - case 556: -#line 1916 "dhcp6_parser.yy" // lalr1.cc:919 + case 558: +#line 1918 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); } -#line 3066 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3067 "dhcp6_parser.cc" break; - case 557: -#line 1919 "dhcp6_parser.yy" // lalr1.cc:919 + case 559: +#line 1921 "dhcp6_parser.yy" { ElementPtr htype(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("htype", htype); } -#line 3075 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3076 "dhcp6_parser.cc" break; - case 558: -#line 1924 "dhcp6_parser.yy" // lalr1.cc:919 + case 560: +#line 1926 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3083 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3084 "dhcp6_parser.cc" break; - case 559: -#line 1926 "dhcp6_parser.yy" // lalr1.cc:919 + case 561: +#line 1928 "dhcp6_parser.yy" { ElementPtr id(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("identifier", id); ctx.leave(); } -#line 3093 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3094 "dhcp6_parser.cc" break; - case 560: -#line 1932 "dhcp6_parser.yy" // lalr1.cc:919 + case 562: +#line 1934 "dhcp6_parser.yy" { ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("time", time); } -#line 3102 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3103 "dhcp6_parser.cc" break; - case 561: -#line 1937 "dhcp6_parser.yy" // lalr1.cc:919 + case 563: +#line 1939 "dhcp6_parser.yy" { ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enterprise-id", time); } -#line 3111 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3112 "dhcp6_parser.cc" break; - case 562: -#line 1944 "dhcp6_parser.yy" // lalr1.cc:919 + case 564: +#line 1946 "dhcp6_parser.yy" { ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp4o6-port", time); } -#line 3120 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3121 "dhcp6_parser.cc" break; - case 563: -#line 1951 "dhcp6_parser.yy" // lalr1.cc:919 + case 565: +#line 1953 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("control-socket", m); ctx.stack_.push_back(m); ctx.enter(ctx.CONTROL_SOCKET); } -#line 3131 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3132 "dhcp6_parser.cc" break; - case 564: -#line 1956 "dhcp6_parser.yy" // lalr1.cc:919 + case 566: +#line 1958 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3140 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3141 "dhcp6_parser.cc" break; - case 572: -#line 1972 "dhcp6_parser.yy" // lalr1.cc:919 + case 574: +#line 1974 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3148 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3149 "dhcp6_parser.cc" break; - case 573: -#line 1974 "dhcp6_parser.yy" // lalr1.cc:919 + case 575: +#line 1976 "dhcp6_parser.yy" { ElementPtr stype(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-type", stype); ctx.leave(); } -#line 3158 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3159 "dhcp6_parser.cc" break; - case 574: -#line 1980 "dhcp6_parser.yy" // lalr1.cc:919 + case 576: +#line 1982 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3166 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3167 "dhcp6_parser.cc" break; - case 575: -#line 1982 "dhcp6_parser.yy" // lalr1.cc:919 + case 577: +#line 1984 "dhcp6_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-name", name); ctx.leave(); } -#line 3176 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3177 "dhcp6_parser.cc" break; - case 576: -#line 1990 "dhcp6_parser.yy" // lalr1.cc:919 + case 578: +#line 1992 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3184 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3185 "dhcp6_parser.cc" break; - case 577: -#line 1992 "dhcp6_parser.yy" // lalr1.cc:919 + case 579: +#line 1994 "dhcp6_parser.yy" { ElementPtr qc = yystack_[0].value.as < ElementPtr > (); ctx.stack_.back()->set("dhcp-queue-control", qc); @@ -3220,626 +3221,627 @@ namespace isc { namespace dhcp { ctx.leave(); } -#line 3224 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3225 "dhcp6_parser.cc" break; - case 578: -#line 2030 "dhcp6_parser.yy" // lalr1.cc:919 + case 580: +#line 2032 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp-ddns", m); ctx.stack_.push_back(m); ctx.enter(ctx.DHCP_DDNS); } -#line 3235 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3236 "dhcp6_parser.cc" break; - case 579: -#line 2035 "dhcp6_parser.yy" // lalr1.cc:919 + case 581: +#line 2037 "dhcp6_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 3246 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3247 "dhcp6_parser.cc" break; - case 580: -#line 2042 "dhcp6_parser.yy" // lalr1.cc:919 + case 582: +#line 2044 "dhcp6_parser.yy" { // Parse the dhcp-ddns map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3256 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3257 "dhcp6_parser.cc" break; - case 581: -#line 2046 "dhcp6_parser.yy" // lalr1.cc:919 + case 583: +#line 2048 "dhcp6_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3266 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3267 "dhcp6_parser.cc" break; - case 602: -#line 2076 "dhcp6_parser.yy" // lalr1.cc:919 + case 604: +#line 2078 "dhcp6_parser.yy" { ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-updates", b); } -#line 3275 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3276 "dhcp6_parser.cc" break; - case 603: -#line 2081 "dhcp6_parser.yy" // lalr1.cc:919 + case 605: +#line 2083 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3283 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3284 "dhcp6_parser.cc" break; - case 604: -#line 2083 "dhcp6_parser.yy" // lalr1.cc:919 + case 606: +#line 2085 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("qualifying-suffix", s); ctx.leave(); } -#line 3293 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3294 "dhcp6_parser.cc" break; - case 605: -#line 2089 "dhcp6_parser.yy" // lalr1.cc:919 + case 607: +#line 2091 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3301 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3302 "dhcp6_parser.cc" break; - case 606: -#line 2091 "dhcp6_parser.yy" // lalr1.cc:919 + case 608: +#line 2093 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-ip", s); ctx.leave(); } -#line 3311 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3312 "dhcp6_parser.cc" break; - case 607: -#line 2097 "dhcp6_parser.yy" // lalr1.cc:919 + case 609: +#line 2099 "dhcp6_parser.yy" { ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-port", i); } -#line 3320 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3321 "dhcp6_parser.cc" break; - case 608: -#line 2102 "dhcp6_parser.yy" // lalr1.cc:919 + case 610: +#line 2104 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3328 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3329 "dhcp6_parser.cc" break; - case 609: -#line 2104 "dhcp6_parser.yy" // lalr1.cc:919 + case 611: +#line 2106 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-ip", s); ctx.leave(); } -#line 3338 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3339 "dhcp6_parser.cc" break; - case 610: -#line 2110 "dhcp6_parser.yy" // lalr1.cc:919 + case 612: +#line 2112 "dhcp6_parser.yy" { ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-port", i); } -#line 3347 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3348 "dhcp6_parser.cc" break; - case 611: -#line 2115 "dhcp6_parser.yy" // lalr1.cc:919 + case 613: +#line 2117 "dhcp6_parser.yy" { ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-queue-size", i); } -#line 3356 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3357 "dhcp6_parser.cc" break; - case 612: -#line 2120 "dhcp6_parser.yy" // lalr1.cc:919 + case 614: +#line 2122 "dhcp6_parser.yy" { ctx.enter(ctx.NCR_PROTOCOL); } -#line 3364 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3365 "dhcp6_parser.cc" break; - case 613: -#line 2122 "dhcp6_parser.yy" // lalr1.cc:919 + case 615: +#line 2124 "dhcp6_parser.yy" { ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3373 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3374 "dhcp6_parser.cc" break; - case 614: -#line 2128 "dhcp6_parser.yy" // lalr1.cc:919 + case 616: +#line 2130 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); } -#line 3379 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3380 "dhcp6_parser.cc" break; - case 615: -#line 2129 "dhcp6_parser.yy" // lalr1.cc:919 + case 617: +#line 2131 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); } -#line 3385 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3386 "dhcp6_parser.cc" break; - case 616: -#line 2132 "dhcp6_parser.yy" // lalr1.cc:919 + case 618: +#line 2134 "dhcp6_parser.yy" { ctx.enter(ctx.NCR_FORMAT); } -#line 3393 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3394 "dhcp6_parser.cc" break; - case 617: -#line 2134 "dhcp6_parser.yy" // lalr1.cc:919 + case 619: +#line 2136 "dhcp6_parser.yy" { ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ncr-format", json); ctx.leave(); } -#line 3403 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3404 "dhcp6_parser.cc" break; - case 618: -#line 2140 "dhcp6_parser.yy" // lalr1.cc:919 + case 620: +#line 2142 "dhcp6_parser.yy" { ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-no-update", b); } -#line 3412 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3413 "dhcp6_parser.cc" break; - case 619: -#line 2145 "dhcp6_parser.yy" // lalr1.cc:919 + case 621: +#line 2147 "dhcp6_parser.yy" { ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-client-update", b); } -#line 3421 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3422 "dhcp6_parser.cc" break; - case 620: -#line 2150 "dhcp6_parser.yy" // lalr1.cc:919 + case 622: +#line 2152 "dhcp6_parser.yy" { ctx.enter(ctx.REPLACE_CLIENT_NAME); } -#line 3429 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3430 "dhcp6_parser.cc" break; - case 621: -#line 2152 "dhcp6_parser.yy" // lalr1.cc:919 + case 623: +#line 2154 "dhcp6_parser.yy" { ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3438 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3439 "dhcp6_parser.cc" break; - case 622: -#line 2158 "dhcp6_parser.yy" // lalr1.cc:919 + case 624: +#line 2160 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); } -#line 3446 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3447 "dhcp6_parser.cc" break; - case 623: -#line 2161 "dhcp6_parser.yy" // lalr1.cc:919 + case 625: +#line 2163 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location))); } -#line 3454 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3455 "dhcp6_parser.cc" break; - case 624: -#line 2164 "dhcp6_parser.yy" // lalr1.cc:919 + case 626: +#line 2166 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location))); } -#line 3462 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3463 "dhcp6_parser.cc" break; - case 625: -#line 2167 "dhcp6_parser.yy" // lalr1.cc:919 + case 627: +#line 2169 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location))); } -#line 3470 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3471 "dhcp6_parser.cc" break; - case 626: -#line 2170 "dhcp6_parser.yy" // lalr1.cc:919 + case 628: +#line 2172 "dhcp6_parser.yy" { error(yystack_[0].location, "boolean values for the replace-client-name are " "no longer supported"); } -#line 3479 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3480 "dhcp6_parser.cc" break; - case 627: -#line 2176 "dhcp6_parser.yy" // lalr1.cc:919 + case 629: +#line 2178 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3487 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3488 "dhcp6_parser.cc" break; - case 628: -#line 2178 "dhcp6_parser.yy" // lalr1.cc:919 + case 630: +#line 2180 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("generated-prefix", s); ctx.leave(); } -#line 3497 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3498 "dhcp6_parser.cc" break; - case 629: -#line 2184 "dhcp6_parser.yy" // lalr1.cc:919 + case 631: +#line 2186 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3505 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3506 "dhcp6_parser.cc" break; - case 630: -#line 2186 "dhcp6_parser.yy" // lalr1.cc:919 + case 632: +#line 2188 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-set", s); ctx.leave(); } -#line 3515 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3516 "dhcp6_parser.cc" break; - case 631: -#line 2192 "dhcp6_parser.yy" // lalr1.cc:919 + case 633: +#line 2194 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3523 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3524 "dhcp6_parser.cc" break; - case 632: -#line 2194 "dhcp6_parser.yy" // lalr1.cc:919 + case 634: +#line 2196 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-replacement", s); ctx.leave(); } -#line 3533 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3534 "dhcp6_parser.cc" break; - case 633: -#line 2202 "dhcp6_parser.yy" // lalr1.cc:919 + case 635: +#line 2204 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3541 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3542 "dhcp6_parser.cc" break; - case 634: -#line 2204 "dhcp6_parser.yy" // lalr1.cc:919 + case 636: +#line 2206 "dhcp6_parser.yy" { ctx.stack_.back()->set("Dhcp4", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3550 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3551 "dhcp6_parser.cc" break; - case 635: -#line 2209 "dhcp6_parser.yy" // lalr1.cc:919 + case 637: +#line 2211 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3558 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3559 "dhcp6_parser.cc" break; - case 636: -#line 2211 "dhcp6_parser.yy" // lalr1.cc:919 + case 638: +#line 2213 "dhcp6_parser.yy" { ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3567 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3568 "dhcp6_parser.cc" break; - case 637: -#line 2216 "dhcp6_parser.yy" // lalr1.cc:919 + case 639: +#line 2218 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3575 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3576 "dhcp6_parser.cc" break; - case 638: -#line 2218 "dhcp6_parser.yy" // lalr1.cc:919 + case 640: +#line 2220 "dhcp6_parser.yy" { ctx.stack_.back()->set("Control-agent", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3584 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3585 "dhcp6_parser.cc" break; - case 639: -#line 2225 "dhcp6_parser.yy" // lalr1.cc:919 + case 641: +#line 2227 "dhcp6_parser.yy" { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("config-control", i); ctx.stack_.push_back(i); ctx.enter(ctx.CONFIG_CONTROL); } -#line 3595 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3596 "dhcp6_parser.cc" break; - case 640: -#line 2230 "dhcp6_parser.yy" // lalr1.cc:919 + case 642: +#line 2232 "dhcp6_parser.yy" { // No config control params are required ctx.stack_.pop_back(); ctx.leave(); } -#line 3605 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3606 "dhcp6_parser.cc" break; - case 641: -#line 2236 "dhcp6_parser.yy" // lalr1.cc:919 + case 643: +#line 2238 "dhcp6_parser.yy" { // Parse the config-control map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3615 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3616 "dhcp6_parser.cc" break; - case 642: -#line 2240 "dhcp6_parser.yy" // lalr1.cc:919 + case 644: +#line 2242 "dhcp6_parser.yy" { // No config_control params are required // parsing completed } -#line 3624 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3625 "dhcp6_parser.cc" break; - case 647: -#line 2255 "dhcp6_parser.yy" // lalr1.cc:919 + case 649: +#line 2257 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("config-databases", l); ctx.stack_.push_back(l); ctx.enter(ctx.CONFIG_DATABASE); } -#line 3635 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3636 "dhcp6_parser.cc" break; - case 648: -#line 2260 "dhcp6_parser.yy" // lalr1.cc:919 + case 650: +#line 2262 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3644 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3645 "dhcp6_parser.cc" break; - case 649: -#line 2265 "dhcp6_parser.yy" // lalr1.cc:919 + case 651: +#line 2267 "dhcp6_parser.yy" { ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("config-fetch-wait-time", value); } -#line 3653 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3654 "dhcp6_parser.cc" break; - case 650: -#line 2275 "dhcp6_parser.yy" // lalr1.cc:919 + case 652: +#line 2277 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("Logging", m); ctx.stack_.push_back(m); ctx.enter(ctx.LOGGING); } -#line 3664 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3665 "dhcp6_parser.cc" break; - case 651: -#line 2280 "dhcp6_parser.yy" // lalr1.cc:919 + case 653: +#line 2282 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3673 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3674 "dhcp6_parser.cc" break; - case 652: -#line 2285 "dhcp6_parser.yy" // lalr1.cc:919 + case 654: +#line 2287 "dhcp6_parser.yy" { // Parse the Logging map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3683 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3684 "dhcp6_parser.cc" break; - case 653: -#line 2289 "dhcp6_parser.yy" // lalr1.cc:919 + case 655: +#line 2291 "dhcp6_parser.yy" { // parsing completed } -#line 3691 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3692 "dhcp6_parser.cc" break; - case 657: -#line 2305 "dhcp6_parser.yy" // lalr1.cc:919 + case 659: +#line 2307 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("loggers", l); ctx.stack_.push_back(l); ctx.enter(ctx.LOGGERS); } -#line 3702 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3703 "dhcp6_parser.cc" break; - case 658: -#line 2310 "dhcp6_parser.yy" // lalr1.cc:919 + case 660: +#line 2312 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3711 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3712 "dhcp6_parser.cc" break; - case 661: -#line 2322 "dhcp6_parser.yy" // lalr1.cc:919 + case 663: +#line 2324 "dhcp6_parser.yy" { ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(l); ctx.stack_.push_back(l); } -#line 3721 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3722 "dhcp6_parser.cc" break; - case 662: -#line 2326 "dhcp6_parser.yy" // lalr1.cc:919 + case 664: +#line 2328 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } -#line 3729 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3730 "dhcp6_parser.cc" break; - case 672: -#line 2343 "dhcp6_parser.yy" // lalr1.cc:919 + case 674: +#line 2345 "dhcp6_parser.yy" { ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("debuglevel", dl); } -#line 3738 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3739 "dhcp6_parser.cc" break; - case 673: -#line 2348 "dhcp6_parser.yy" // lalr1.cc:919 + case 675: +#line 2350 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3746 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3747 "dhcp6_parser.cc" break; - case 674: -#line 2350 "dhcp6_parser.yy" // lalr1.cc:919 + case 676: +#line 2352 "dhcp6_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("severity", sev); ctx.leave(); } -#line 3756 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3757 "dhcp6_parser.cc" break; - case 675: -#line 2356 "dhcp6_parser.yy" // lalr1.cc:919 + case 677: +#line 2358 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output_options", l); ctx.stack_.push_back(l); ctx.enter(ctx.OUTPUT_OPTIONS); } -#line 3767 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3768 "dhcp6_parser.cc" break; - case 676: -#line 2361 "dhcp6_parser.yy" // lalr1.cc:919 + case 678: +#line 2363 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3776 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3777 "dhcp6_parser.cc" break; - case 679: -#line 2370 "dhcp6_parser.yy" // lalr1.cc:919 + case 681: +#line 2372 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3786 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3787 "dhcp6_parser.cc" break; - case 680: -#line 2374 "dhcp6_parser.yy" // lalr1.cc:919 + case 682: +#line 2376 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } -#line 3794 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3795 "dhcp6_parser.cc" break; - case 687: -#line 2388 "dhcp6_parser.yy" // lalr1.cc:919 + case 689: +#line 2390 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3802 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3803 "dhcp6_parser.cc" break; - case 688: -#line 2390 "dhcp6_parser.yy" // lalr1.cc:919 + case 690: +#line 2392 "dhcp6_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output", sev); ctx.leave(); } -#line 3812 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3813 "dhcp6_parser.cc" break; - case 689: -#line 2396 "dhcp6_parser.yy" // lalr1.cc:919 + case 691: +#line 2398 "dhcp6_parser.yy" { ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush", flush); } -#line 3821 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3822 "dhcp6_parser.cc" break; - case 690: -#line 2401 "dhcp6_parser.yy" // lalr1.cc:919 + case 692: +#line 2403 "dhcp6_parser.yy" { ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxsize", maxsize); } -#line 3830 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3831 "dhcp6_parser.cc" break; - case 691: -#line 2406 "dhcp6_parser.yy" // lalr1.cc:919 + case 693: +#line 2408 "dhcp6_parser.yy" { ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxver", maxver); } -#line 3839 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3840 "dhcp6_parser.cc" break; -#line 3843 "dhcp6_parser.cc" // lalr1.cc:919 +#line 3844 "dhcp6_parser.cc" + default: break; } @@ -4109,126 +4111,126 @@ namespace isc { namespace dhcp { } - const short Dhcp6Parser::yypact_ninf_ = -864; + const short Dhcp6Parser::yypact_ninf_ = -855; const signed char Dhcp6Parser::yytable_ninf_ = -1; const short Dhcp6Parser::yypact_[] = { - 356, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, 43, 35, 51, 112, - 118, 120, 128, 140, 163, 178, 191, 194, 201, 231, - 233, 235, -864, -864, -864, -864, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -864, -864, 35, -94, 23, 175, 32, 64, 202, 108, - 386, 200, 59, 278, -54, 364, 104, 143, -864, 251, - 266, 276, 273, 285, -864, -864, -864, -864, -864, 299, - -864, 126, -864, -864, -864, -864, -864, -864, -864, -864, - -864, -864, -864, -864, 303, 313, 320, 323, 324, 337, - 343, 349, -864, -864, -864, -864, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, -864, -864, -864, 351, - -864, -864, -864, -864, -864, 141, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -864, -864, -864, -864, 352, -864, 157, -864, -864, -864, - -864, -864, -864, -864, -864, -864, -864, 355, 363, -864, - -864, -864, -864, -864, -864, -864, -864, -864, -864, -864, - 164, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -864, -864, 236, -864, -864, -864, -864, -864, 370, -864, - 371, 381, -864, -864, -864, -864, -864, -864, 268, -864, - -864, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, 394, 406, -864, -864, - -864, -864, -864, -864, -864, -864, 404, -864, -864, 385, - -864, -864, -864, 422, -864, -864, 420, 435, -864, -864, - -864, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -864, 438, 448, -864, -864, -864, -864, 445, 453, -864, - -864, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -864, 269, -864, -864, -864, 462, -864, -864, 467, -864, - 468, 469, -864, -864, 471, 473, -864, -864, -864, -864, - -864, -864, -864, 275, -864, -864, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, -864, -864, -864, -864, - 283, -864, -864, -864, 474, 284, -864, -864, -864, -864, - 35, 35, -864, 280, 475, 476, 477, 484, 485, -864, - 23, -864, 486, 487, 501, 502, 503, 504, 331, 332, - 333, 336, 357, 359, 360, 358, 529, 530, 536, 539, - 540, 541, 542, 543, 544, 546, 547, 548, 549, 550, - 551, 552, 553, 384, 554, 555, 557, 560, 175, -864, - 561, 392, 32, -864, 562, 565, 567, 569, 570, 397, - 396, 573, 574, 575, 64, -864, 576, 202, -864, 577, - 405, 578, 409, 411, 108, -864, 580, 586, 587, 588, - 589, 590, 591, -864, 386, -864, 592, 593, 425, 594, - 596, 598, 426, -864, 59, 600, 427, 428, -864, 278, - 601, 605, 86, -864, 430, 607, 608, 436, 609, 437, - 439, 612, 614, 440, 442, 615, 619, 620, 621, 364, - -864, 104, -864, 624, 452, 143, -864, -864, -864, 627, - 625, 626, 35, 35, 35, -864, 457, 628, 629, 630, - 631, 634, -864, -864, -864, -864, -864, -864, -864, -864, - 463, 636, 637, 638, 639, 470, 380, 640, 643, 644, - 645, 646, 647, 649, 650, 651, 652, -864, 653, 639, - 654, 657, -864, 658, -864, -864, 659, 660, 479, 480, - 489, -864, -864, 658, 490, 661, -864, 492, -864, 493, - -864, 494, -864, -864, -864, 658, 658, 658, 495, 496, - 497, 498, -864, 499, 500, -864, 505, 506, 507, -864, - -864, 508, -864, -864, -864, 509, 35, -864, -864, 510, - 511, -864, 512, -864, -864, 75, 535, -864, -864, 185, - 513, 514, 515, -864, -864, 674, -864, -864, 35, 175, - 104, -864, -864, -864, -864, 143, 32, 60, 60, 673, - -864, 686, 687, 688, -864, -864, -864, -864, -864, -864, - -864, -864, 689, -53, 35, 366, 610, 690, 691, 693, - 122, 131, 81, -864, 364, 694, -864, -864, 695, 696, - -864, -864, -864, -864, -864, 30, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, -864, -864, -864, -864, - 673, -864, 287, 291, 297, 301, -864, -864, -864, -864, - 677, 700, 701, 702, 703, -864, 704, 705, -864, -864, - -864, 706, 707, 708, -864, 315, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, 317, -864, 709, 641, - -864, -864, 710, 648, -864, -864, 711, 715, -864, -864, - 713, 717, -864, -864, 716, 718, -864, -864, -864, 63, - -864, -864, -864, 719, -864, -864, -864, 76, -864, -864, - -864, -864, 346, -864, -864, -864, 100, -864, -864, 720, - 721, -864, -864, 722, 724, -864, 725, 726, 727, 728, - 729, 730, 354, -864, -864, -864, -864, -864, -864, -864, - -864, -864, 731, 732, 733, -864, -864, -864, -864, 365, - -864, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -864, 369, -864, -864, -864, 379, -864, 142, -864, 537, - -864, 734, 735, -864, -864, 736, 738, -864, -864, -864, - 737, -864, 740, -864, -864, -864, -864, 739, 743, 744, - 745, 545, 533, 566, 559, 572, 747, 579, 581, 748, - 749, 750, 582, 583, 584, 60, -864, -864, 60, -864, - 673, 64, -864, 686, 59, -864, 687, 278, -864, 688, - 267, -864, 689, -53, -864, -864, 366, -864, 751, 610, - -864, 96, 690, -864, 386, -864, 691, -54, -864, 693, - 585, 595, 597, 599, 602, 603, 122, -864, 752, 754, - 604, 606, 611, 131, -864, 758, 761, 81, -864, -864, - 91, 694, -864, -864, 760, 764, 202, -864, 695, 108, - -864, 696, 765, -864, -864, 423, 613, 616, 617, -864, - -864, -864, -864, -864, 618, -864, -864, 622, 635, 642, - -864, -864, -864, -864, 383, -864, 389, -864, 762, -864, - 763, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, -864, -864, 391, -864, - -864, -864, -864, -864, -864, -864, -864, 667, -864, -864, - 768, -864, -864, -864, -864, -864, 766, 773, -864, -864, - -864, -864, -864, 770, -864, 402, -864, -864, -864, -864, - -864, -864, -864, -864, 353, 670, -864, -864, -864, -864, - 671, 676, -864, -864, 775, -864, -864, -864, -864, -864, - 403, -864, -864, -864, -864, -864, -864, 681, 413, -864, - 417, -864, 692, -864, -864, -864, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, -864, -864, -864, 267, - -864, -864, 779, 698, -864, 96, -864, -864, -864, -864, - -864, -864, -864, -864, -864, 781, 633, 782, 91, -864, - -864, -864, -864, -864, -864, 712, -864, -864, 783, -864, - 723, -864, -864, 780, -864, -864, 168, -864, -103, 780, - -864, -864, 787, 788, 792, 424, -864, -864, -864, -864, - -864, -864, 794, 714, 697, 741, -103, -864, 753, -864, - -864, -864, -864, -864 + 317, -855, -855, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -855, -855, 46, 70, 63, 65, + 71, 100, 169, 170, 201, 212, 217, 245, 270, 271, + 280, 298, -855, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -855, -855, -855, -855, -855, -855, + -855, -855, 70, -33, 32, 74, 27, 216, 249, 229, + 377, 149, 76, 398, -10, 391, 105, 138, -855, 252, + 303, 311, 305, 313, -855, -855, -855, -855, -855, 321, + -855, 37, -855, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -855, -855, 322, 330, 331, 343, 347, 351, + 365, 367, -855, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -855, -855, -855, -855, -855, 368, + -855, -855, -855, -855, -855, -855, -855, 73, -855, -855, + -855, -855, -855, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -855, -855, -855, -855, 375, -855, + 127, -855, -855, -855, -855, -855, -855, -855, -855, -855, + -855, 385, 397, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -855, -855, 133, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -855, -855, 137, -855, -855, -855, + -855, -855, 407, -855, 428, 438, -855, -855, -855, -855, + -855, -855, 160, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -855, -855, -855, -855, -855, -855, + 346, 378, -855, -855, -855, -855, -855, -855, -855, -855, + 440, -855, -855, 442, -855, -855, -855, 447, -855, -855, + 451, 457, -855, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -855, 461, 462, -855, -855, -855, + -855, 460, 466, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -855, 171, -855, -855, -855, 468, + -855, -855, 490, -855, 491, 492, -855, -855, 493, 494, + -855, -855, -855, -855, -855, 172, -855, -855, -855, -855, + -855, -855, -855, -855, -855, -855, -855, -855, -855, -855, + -855, -855, 181, -855, -855, -855, 495, 182, -855, -855, + -855, -855, 70, 70, -855, 323, 497, 498, 499, 500, + 501, -855, 32, -855, 502, 504, 507, 508, 509, 510, + 337, 339, 340, 356, 336, 354, 357, 360, 531, 537, + 538, 539, 544, 545, 546, 547, 548, 549, 551, 552, + 553, 554, 555, 556, 557, 384, 559, 562, 563, 567, + 570, 572, 74, -855, 573, 399, 27, -855, 574, 576, + 577, 578, 579, 406, 405, 582, 583, 584, 216, -855, + 588, 249, -855, 590, 418, 593, 420, 421, 229, -855, + 596, 597, 598, 599, 600, 601, 602, -855, 377, -855, + 603, 604, 431, 606, 607, 608, 433, -855, 76, 612, + 439, 441, -855, 398, 614, 616, -18, -855, 443, 618, + 620, 448, 621, 449, 450, 625, 626, 452, 453, 630, + 631, 391, -855, 105, -855, 632, 459, 138, -855, -855, + -855, 634, 633, 635, 70, 70, 70, -855, 464, 636, + 637, 638, 639, 642, -855, -855, -855, -855, -855, -855, + -855, -855, 471, 644, 645, 647, 646, 477, 33, 650, + 651, 652, 653, 654, 655, 657, 658, 659, 660, -855, + 661, 646, 662, 482, 487, 665, -855, 666, -855, -855, + 667, 668, 488, 503, 505, -855, -855, 666, 506, 669, + -855, 511, -855, 512, -855, 513, -855, -855, -855, 666, + 666, 666, 514, 515, 516, 517, -855, 518, 519, -855, + 520, 521, 522, -855, -855, 523, -855, -855, -855, 524, + 70, -855, -855, 525, 526, -855, 527, -855, -855, 24, + 496, -855, -855, 26, 528, -855, -855, 670, -855, -855, + 70, 74, 105, -855, -855, -855, -855, 138, 27, 200, + 200, 671, -855, 672, 674, 677, -855, -855, -855, -855, + -855, -855, -855, -855, 678, -27, 70, 324, 585, 679, + 680, 699, 163, 36, 18, -855, 391, -855, -855, 700, + -855, -855, 701, 702, -855, -855, -855, -855, -855, -44, + -855, -855, -855, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -855, -855, -855, -855, -855, -855, + -855, -855, 671, -855, 191, 195, 202, 208, -855, -855, + -855, -855, 673, 706, 707, 708, 709, -855, 710, 711, + -855, -855, -855, 712, 713, 714, -855, 276, -855, -855, + -855, -855, -855, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -855, -855, -855, -855, 278, -855, + 715, 716, -855, -855, 717, 719, -855, -855, 718, 722, + -855, -855, 720, 724, -855, -855, 723, 725, -855, -855, + -855, 126, -855, -855, -855, 726, -855, -855, -855, 180, + -855, -855, -855, -855, 301, -855, -855, -855, 214, -855, + -855, 727, 728, -855, -855, 729, 731, -855, 732, 733, + 734, 735, 736, 737, 309, -855, -855, -855, -855, -855, + -855, -855, -855, -855, 738, 739, 740, -855, -855, -855, + -855, 316, -855, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -855, 334, -855, -855, -855, 338, -855, 251, + -855, 543, -855, 741, 742, -855, -855, 743, 745, -855, + -855, -855, 744, -855, 747, -855, -855, -855, -855, 746, + 750, 751, 752, 568, 550, 580, 571, 581, 753, 586, + 587, 756, 757, 758, 589, 591, 592, 200, -855, -855, + 200, -855, 671, 216, -855, 672, 76, -855, 674, 398, + -855, 677, 284, -855, 678, -27, -855, -855, 324, -855, + 759, 585, -855, 10, 679, -855, 377, -855, 680, -10, + -855, 699, 595, 605, 609, 610, 611, 613, 163, -855, + 762, 764, 615, 617, 619, 36, -855, 766, 767, 18, + -855, -855, 355, 700, -855, -855, 768, 772, 249, -855, + 701, 229, -855, 702, 773, -855, -855, 221, 623, 624, + 627, -855, -855, -855, -855, -855, 629, -855, -855, 640, + 641, 675, -855, -855, -855, -855, 341, -855, 342, -855, + 770, -855, 771, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -855, -855, -855, -855, -855, -855, + 350, -855, -855, -855, -855, -855, -855, -855, -855, 686, + -855, -855, 776, -855, -855, -855, -855, -855, 774, 778, + -855, -855, -855, -855, -855, 777, -855, 358, -855, -855, + -855, -855, -855, -855, -855, -855, 318, 697, -855, -855, + -855, -855, 703, 704, -855, -855, 780, -855, -855, -855, + -855, -855, 362, -855, -855, -855, -855, -855, -855, 705, + 379, -855, 388, -855, 721, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -855, -855, -855, -855, -855, -855, + -855, 284, -855, -855, 782, 648, -855, 10, -855, -855, + -855, -855, -855, -855, -855, -855, -855, 786, 643, 788, + 355, -855, -855, -855, -855, -855, -855, 730, -855, -855, + 789, -855, 748, -855, -855, 769, -855, -855, 263, -855, + -52, 769, -855, -855, 792, 794, 803, 400, -855, -855, + -855, -855, -855, -855, 805, 749, 656, 754, -52, -855, + 760, -855, -855, -855, -855, -855 }; const unsigned short @@ -4238,160 +4240,160 @@ namespace isc { namespace dhcp { 20, 22, 24, 26, 28, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 47, 40, 36, 35, 32, 33, 34, - 39, 3, 37, 38, 60, 5, 72, 7, 127, 9, - 274, 11, 426, 13, 451, 15, 481, 17, 351, 19, - 359, 21, 396, 23, 239, 25, 580, 27, 652, 29, - 641, 31, 49, 43, 0, 0, 0, 0, 0, 0, - 483, 0, 361, 398, 0, 0, 0, 0, 51, 0, - 50, 0, 0, 44, 70, 650, 633, 635, 637, 0, - 69, 0, 62, 64, 66, 67, 68, 65, 113, 639, - 125, 139, 141, 143, 0, 0, 0, 0, 0, 0, - 0, 0, 123, 266, 349, 388, 439, 441, 311, 319, - 212, 229, 220, 205, 518, 473, 231, 250, 539, 0, - 563, 576, 578, 657, 112, 0, 74, 76, 77, 78, - 79, 80, 108, 109, 110, 81, 106, 84, 85, 86, - 87, 103, 88, 90, 89, 94, 95, 82, 107, 83, - 92, 93, 101, 102, 104, 91, 96, 97, 98, 99, - 100, 105, 111, 136, 0, 135, 0, 129, 131, 132, - 133, 134, 418, 443, 301, 303, 305, 0, 0, 309, - 307, 512, 300, 278, 279, 280, 281, 297, 298, 299, - 0, 276, 285, 286, 287, 290, 291, 293, 288, 289, - 282, 283, 295, 296, 284, 292, 294, 437, 436, 432, - 433, 431, 0, 428, 430, 434, 435, 466, 0, 469, - 0, 0, 465, 459, 460, 458, 463, 464, 0, 453, - 455, 456, 461, 462, 457, 510, 498, 500, 502, 504, - 506, 508, 497, 494, 495, 496, 0, 484, 485, 489, - 490, 487, 491, 492, 493, 488, 0, 378, 186, 0, - 382, 380, 385, 0, 374, 375, 0, 362, 363, 365, - 377, 366, 367, 368, 384, 369, 370, 371, 372, 373, - 412, 0, 0, 410, 411, 414, 415, 0, 399, 400, - 402, 403, 404, 405, 406, 407, 408, 409, 246, 248, - 243, 0, 241, 244, 245, 0, 603, 605, 0, 608, - 0, 0, 612, 616, 0, 0, 620, 627, 629, 631, - 601, 599, 600, 0, 582, 584, 585, 586, 587, 588, + 39, 3, 37, 38, 60, 5, 72, 7, 129, 9, + 276, 11, 428, 13, 453, 15, 483, 17, 353, 19, + 361, 21, 398, 23, 241, 25, 582, 27, 654, 29, + 643, 31, 49, 43, 0, 0, 0, 0, 0, 0, + 485, 0, 363, 400, 0, 0, 0, 0, 51, 0, + 50, 0, 0, 44, 70, 652, 635, 637, 639, 0, + 69, 0, 62, 64, 66, 67, 68, 65, 115, 641, + 127, 141, 143, 145, 0, 0, 0, 0, 0, 0, + 0, 0, 125, 268, 351, 390, 441, 443, 313, 321, + 214, 231, 222, 207, 520, 475, 233, 252, 541, 0, + 565, 578, 580, 631, 633, 659, 114, 0, 74, 76, + 77, 78, 79, 80, 108, 109, 110, 81, 106, 84, + 85, 86, 87, 103, 88, 90, 89, 94, 95, 82, + 107, 83, 92, 93, 101, 102, 104, 91, 96, 97, + 98, 99, 100, 112, 113, 105, 111, 138, 0, 137, + 0, 131, 133, 134, 135, 136, 420, 445, 303, 305, + 307, 0, 0, 311, 309, 514, 302, 280, 281, 282, + 283, 299, 300, 301, 0, 278, 287, 288, 289, 292, + 293, 295, 290, 291, 284, 285, 297, 298, 286, 294, + 296, 439, 438, 434, 435, 433, 0, 430, 432, 436, + 437, 468, 0, 471, 0, 0, 467, 461, 462, 460, + 465, 466, 0, 455, 457, 458, 463, 464, 459, 512, + 500, 502, 504, 506, 508, 510, 499, 496, 497, 498, + 0, 486, 487, 491, 492, 489, 493, 494, 495, 490, + 0, 380, 188, 0, 384, 382, 387, 0, 376, 377, + 0, 364, 365, 367, 379, 368, 369, 370, 386, 371, + 372, 373, 374, 375, 414, 0, 0, 412, 413, 416, + 417, 0, 401, 402, 404, 405, 406, 407, 408, 409, + 410, 411, 248, 250, 245, 0, 243, 246, 247, 0, + 605, 607, 0, 610, 0, 0, 614, 618, 0, 0, + 622, 629, 603, 601, 602, 0, 584, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, - 0, 654, 656, 647, 0, 0, 643, 645, 646, 48, - 0, 0, 41, 0, 0, 0, 0, 0, 0, 59, - 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, + 599, 600, 0, 656, 658, 649, 0, 0, 645, 647, + 648, 48, 0, 0, 41, 0, 0, 0, 0, 0, + 0, 59, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, - 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 275, 0, 0, 427, 0, - 0, 0, 0, 0, 0, 452, 0, 0, 0, 0, - 0, 0, 0, 482, 0, 352, 0, 0, 0, 0, - 0, 0, 0, 360, 0, 0, 0, 0, 397, 0, - 0, 0, 0, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 581, 0, 653, 0, 0, 0, 642, 52, 45, 0, - 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, - 0, 0, 115, 116, 117, 118, 119, 120, 121, 122, + 0, 0, 0, 73, 0, 0, 0, 130, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, + 0, 0, 429, 0, 0, 0, 0, 0, 0, 454, + 0, 0, 0, 0, 0, 0, 0, 484, 0, 354, + 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, + 0, 0, 399, 0, 0, 0, 0, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 562, 0, 0, - 0, 0, 75, 0, 138, 130, 0, 0, 0, 0, - 0, 317, 318, 0, 0, 0, 277, 0, 429, 0, - 468, 0, 471, 472, 454, 0, 0, 0, 0, 0, - 0, 0, 486, 0, 0, 376, 0, 0, 0, 387, - 364, 0, 416, 417, 401, 0, 0, 242, 602, 0, - 0, 607, 0, 610, 611, 0, 0, 618, 619, 0, - 0, 0, 0, 583, 655, 0, 649, 644, 0, 0, - 0, 634, 636, 638, 114, 0, 0, 0, 0, 145, - 124, 268, 353, 390, 42, 440, 442, 313, 314, 315, - 316, 312, 321, 0, 49, 0, 0, 0, 475, 233, - 0, 0, 0, 577, 0, 0, 53, 137, 420, 445, - 302, 304, 306, 310, 308, 0, 438, 467, 470, 511, - 499, 501, 503, 505, 507, 509, 379, 187, 383, 381, - 386, 413, 247, 249, 604, 606, 609, 614, 615, 613, - 617, 622, 623, 624, 625, 626, 621, 628, 630, 632, - 145, 46, 0, 0, 0, 0, 173, 179, 181, 183, - 0, 0, 0, 0, 0, 196, 0, 0, 199, 201, - 203, 0, 0, 0, 172, 0, 151, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 165, 166, 167, - 168, 163, 164, 169, 170, 171, 0, 149, 0, 146, - 147, 272, 0, 269, 270, 357, 0, 354, 355, 394, - 0, 391, 392, 325, 0, 322, 323, 218, 219, 0, - 214, 216, 217, 0, 227, 228, 224, 0, 222, 225, - 226, 210, 0, 207, 209, 522, 0, 520, 479, 0, - 476, 477, 237, 0, 234, 235, 0, 0, 0, 0, - 0, 0, 0, 252, 254, 255, 256, 257, 258, 259, - 552, 558, 0, 0, 0, 551, 548, 549, 550, 0, - 541, 543, 546, 544, 545, 547, 572, 574, 571, 569, - 570, 0, 565, 567, 568, 0, 661, 0, 659, 55, - 424, 0, 421, 422, 449, 0, 446, 447, 516, 515, - 0, 514, 0, 71, 651, 640, 126, 0, 0, 0, + 0, 0, 583, 0, 655, 0, 0, 0, 644, 52, + 45, 0, 0, 0, 0, 0, 0, 63, 0, 0, + 0, 0, 0, 0, 117, 118, 119, 120, 121, 122, + 123, 124, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, + 0, 0, 0, 0, 0, 0, 75, 0, 140, 132, + 0, 0, 0, 0, 0, 319, 320, 0, 0, 0, + 279, 0, 431, 0, 470, 0, 473, 474, 456, 0, + 0, 0, 0, 0, 0, 0, 488, 0, 0, 378, + 0, 0, 0, 389, 366, 0, 418, 419, 403, 0, + 0, 244, 604, 0, 0, 609, 0, 612, 613, 0, + 0, 620, 621, 0, 0, 585, 657, 0, 651, 646, + 0, 0, 0, 636, 638, 640, 116, 0, 0, 0, + 0, 147, 126, 270, 355, 392, 42, 442, 444, 315, + 316, 317, 318, 314, 323, 0, 49, 0, 0, 0, + 477, 235, 0, 0, 0, 579, 0, 632, 634, 0, + 53, 139, 422, 447, 304, 306, 308, 312, 310, 0, + 440, 469, 472, 513, 501, 503, 505, 507, 509, 511, + 381, 189, 385, 383, 388, 415, 249, 251, 606, 608, + 611, 616, 617, 615, 619, 624, 625, 626, 627, 628, + 623, 630, 147, 46, 0, 0, 0, 0, 175, 181, + 183, 185, 0, 0, 0, 0, 0, 198, 0, 0, + 201, 203, 205, 0, 0, 0, 174, 0, 153, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 167, + 168, 169, 170, 165, 166, 171, 172, 173, 0, 151, + 0, 148, 149, 274, 0, 271, 272, 359, 0, 356, + 357, 396, 0, 393, 394, 327, 0, 324, 325, 220, + 221, 0, 216, 218, 219, 0, 229, 230, 226, 0, + 224, 227, 228, 212, 0, 209, 211, 524, 0, 522, + 481, 0, 478, 479, 239, 0, 236, 237, 0, 0, + 0, 0, 0, 0, 0, 254, 256, 257, 258, 259, + 260, 261, 554, 560, 0, 0, 0, 553, 550, 551, + 552, 0, 543, 545, 548, 546, 547, 549, 574, 576, + 573, 571, 572, 0, 567, 569, 570, 0, 663, 0, + 661, 55, 426, 0, 423, 424, 451, 0, 448, 449, + 518, 517, 0, 516, 0, 71, 653, 642, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 140, 142, 0, 144, - 0, 0, 267, 0, 361, 350, 0, 398, 389, 0, - 0, 320, 0, 0, 213, 230, 0, 221, 0, 0, - 206, 524, 0, 519, 483, 474, 0, 0, 232, 0, - 0, 0, 0, 0, 0, 0, 0, 251, 0, 0, - 0, 0, 0, 0, 540, 0, 0, 0, 564, 579, - 0, 0, 658, 57, 0, 56, 0, 419, 0, 0, - 444, 0, 0, 513, 648, 0, 0, 0, 0, 185, - 188, 189, 190, 191, 0, 198, 192, 0, 0, 0, - 193, 194, 195, 152, 0, 148, 0, 271, 0, 356, - 0, 393, 348, 340, 342, 333, 334, 345, 346, 347, - 329, 330, 331, 332, 338, 339, 337, 341, 0, 327, - 335, 343, 344, 336, 324, 215, 223, 0, 208, 536, - 0, 534, 535, 531, 532, 533, 0, 525, 526, 528, - 529, 530, 521, 0, 478, 0, 236, 260, 261, 262, - 263, 264, 265, 253, 0, 0, 557, 560, 561, 542, - 0, 0, 566, 675, 0, 673, 671, 665, 669, 670, - 0, 663, 667, 668, 666, 660, 54, 0, 0, 423, - 0, 448, 0, 175, 176, 177, 178, 174, 180, 182, - 184, 197, 200, 202, 204, 150, 273, 358, 395, 0, - 326, 211, 0, 0, 523, 0, 480, 238, 554, 555, - 556, 553, 559, 573, 575, 0, 0, 0, 0, 662, - 58, 425, 450, 517, 328, 0, 538, 527, 0, 672, - 0, 664, 537, 0, 674, 679, 0, 677, 0, 0, - 676, 687, 0, 0, 0, 0, 681, 683, 684, 685, - 686, 678, 0, 0, 0, 0, 0, 680, 0, 689, - 690, 691, 682, 688 + 0, 0, 0, 0, 0, 0, 0, 0, 142, 144, + 0, 146, 0, 0, 269, 0, 363, 352, 0, 400, + 391, 0, 0, 322, 0, 0, 215, 232, 0, 223, + 0, 0, 208, 526, 0, 521, 485, 476, 0, 0, + 234, 0, 0, 0, 0, 0, 0, 0, 0, 253, + 0, 0, 0, 0, 0, 0, 542, 0, 0, 0, + 566, 581, 0, 0, 660, 57, 0, 56, 0, 421, + 0, 0, 446, 0, 0, 515, 650, 0, 0, 0, + 0, 187, 190, 191, 192, 193, 0, 200, 194, 0, + 0, 0, 195, 196, 197, 154, 0, 150, 0, 273, + 0, 358, 0, 395, 350, 342, 344, 335, 336, 347, + 348, 349, 331, 332, 333, 334, 340, 341, 339, 343, + 0, 329, 337, 345, 346, 338, 326, 217, 225, 0, + 210, 538, 0, 536, 537, 533, 534, 535, 0, 527, + 528, 530, 531, 532, 523, 0, 480, 0, 238, 262, + 263, 264, 265, 266, 267, 255, 0, 0, 559, 562, + 563, 544, 0, 0, 568, 677, 0, 675, 673, 667, + 671, 672, 0, 665, 669, 670, 668, 662, 54, 0, + 0, 425, 0, 450, 0, 177, 178, 179, 180, 176, + 182, 184, 186, 199, 202, 204, 206, 152, 275, 360, + 397, 0, 328, 213, 0, 0, 525, 0, 482, 240, + 556, 557, 558, 555, 561, 575, 577, 0, 0, 0, + 0, 664, 58, 427, 452, 519, 330, 0, 540, 529, + 0, 674, 0, 666, 539, 0, 676, 681, 0, 679, + 0, 0, 678, 689, 0, 0, 0, 0, 683, 685, + 686, 687, 688, 680, 0, 0, 0, 0, 0, 682, + 0, 691, 692, 693, 684, 690 }; const short Dhcp6Parser::yypgoto_[] = { - -864, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, -864, 13, -864, -483, - -864, 229, -864, -864, -864, -864, 170, -864, -494, -864, - -864, -864, -74, -864, -864, -864, 434, -864, -864, -864, - -864, 193, 387, -864, -864, -70, -58, -38, -31, -30, - -20, -17, -864, -864, -864, -864, -864, -864, -864, 209, - 407, -864, -864, -864, -864, -864, -864, -864, -864, -864, - 117, -864, -43, -864, -602, -49, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, -46, -864, -629, -864, - -864, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, -864, -864, -59, -864, - -864, -864, -864, -864, -57, -622, -864, -864, -864, -864, - -19, -864, -864, -864, -864, -864, -864, -864, -864, -62, - -864, -864, -864, -26, 408, -864, -864, -864, -864, -864, - -864, -864, -40, -864, -864, -864, -864, -864, -864, -863, - -864, -864, -864, 10, -864, -864, -864, 16, 450, -864, - -864, -862, -864, -852, -864, -44, -864, 6, -864, 1, - -864, -864, -864, -849, -864, -864, -864, -864, 8, -864, - -864, -167, 812, -864, -864, -864, -864, -864, 19, -864, - -864, -864, 22, -864, 433, -864, -68, -864, -864, -864, - -864, -864, -45, -864, -864, -864, -864, -864, -3, -864, - -864, -864, 20, -864, -864, -864, 24, -864, 441, -864, - -864, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -25, -864, -864, -864, -22, 472, -864, -864, -56, -864, - -15, -864, -864, -864, -864, -864, -24, -864, -864, -864, - -23, 464, -864, -864, -864, -864, -864, -864, -864, -63, - -864, -864, -864, 17, -864, -864, -864, 18, -864, 461, - 261, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -864, -864, -864, -864, -848, -864, -864, -864, -864, -864, - -864, -864, 25, -864, -864, -864, -147, -864, -864, -864, - -864, -864, -864, -864, 7, -864, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, -864, 4, -864, -864, - -864, -864, -864, -864, -864, -864, -864, -864, 281, 444, - -864, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, -864, -864, -864, -864, - -864, -864, -864, -864, -864, -864, 307, 429, -864, -864, - -864, -864, -864, -864, -864, 318, 443, -61, -864, -864, - 15, -864, -864, -151, -864, -864, -864, -864, -864, -864, - -170, -864, -864, -185, -864, -864, -864, -864, -864 + -855, -855, -855, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -855, -855, -855, 41, -855, -457, + -855, 273, -855, -855, -855, -855, 194, -855, -459, -855, + -855, -855, -74, -855, -855, -855, 434, -855, -855, -855, + -855, 220, 410, -855, -855, -70, -46, -40, -36, -22, + -17, -14, -855, -855, -855, -855, -855, -855, -855, 231, + 413, -855, -855, -855, -855, -855, -855, -855, -855, -855, + 187, -855, 11, -855, -602, 17, -855, -855, -855, -855, + -855, -855, -855, -855, -855, -855, -21, -855, -630, -855, + -855, -855, -855, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -855, -855, -855, -855, -4, -855, + -855, -855, -855, -855, 4, -621, -855, -855, -855, -855, + 0, -855, -855, -855, -855, -855, -855, -855, -855, -9, + -855, -855, -855, -8, 419, -855, -855, -855, -855, -855, + -855, -855, -12, -855, -855, -855, -855, -855, -855, -854, + -855, -855, -855, 19, -855, -855, -855, 30, 467, -855, + -855, -849, -855, -847, -855, -11, -855, -5, -855, 3, + -855, -855, -855, -846, -855, -855, -855, -855, 13, -855, + -855, -161, 823, -855, -855, -855, -855, -855, 28, -855, + -855, -855, 34, -855, 444, -855, -69, -855, -855, -855, + -855, -855, -66, -855, -855, -855, -855, -855, -58, -855, + -855, -855, 35, -855, -855, -855, 29, -855, 436, -855, + -855, -855, -855, -855, -855, -855, -855, -855, -855, -855, + -19, -855, -855, -855, -15, 473, -855, -855, -53, -855, + -29, -855, -855, -855, -855, -855, -6, -855, -855, -855, + -16, 470, -855, -855, -855, -855, -855, -855, -855, -62, + -855, -855, -855, 21, -855, -855, -855, 25, -855, 472, + 265, -855, -855, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -843, -855, -855, -855, -855, -855, + -855, -855, 39, -855, -855, -855, -145, -855, -855, -855, + -855, -855, -855, -855, 16, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -855, -855, -855, 9, -855, -855, + -855, -855, -855, -855, -855, -855, -855, -855, 288, 445, + -855, -855, -855, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -855, -855, -855, -855, -855, -855, + -855, -855, -73, -855, -51, -855, -855, -855, -855, -855, + -855, -855, -855, -855, -855, -855, 325, 446, -855, -855, + -855, -855, -855, -855, -855, 326, 454, -48, -855, -855, + 12, -855, -855, -141, -855, -855, -855, -855, -855, -855, + -160, -855, -855, -178, -855, -855, -855, -855, -855 }; const short @@ -4399,268 +4401,268 @@ namespace isc { namespace dhcp { { -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 88, 41, 42, - 73, 625, 92, 93, 43, 72, 89, 90, 647, 829, - 924, 925, 714, 45, 74, 101, 102, 103, 374, 47, - 75, 145, 146, 147, 382, 148, 149, 150, 151, 152, - 153, 154, 155, 156, 396, 157, 384, 49, 76, 186, - 187, 188, 420, 189, 158, 385, 159, 386, 160, 387, - 738, 739, 740, 868, 715, 716, 717, 847, 1047, 718, - 848, 719, 849, 720, 850, 721, 722, 457, 723, 724, - 725, 726, 727, 728, 729, 730, 731, 856, 732, 733, - 859, 734, 860, 735, 861, 161, 407, 772, 773, 774, - 888, 162, 404, 759, 760, 761, 762, 163, 406, 767, - 768, 769, 770, 164, 405, 165, 410, 783, 784, 785, - 897, 65, 84, 321, 322, 323, 470, 324, 471, 166, - 411, 792, 793, 794, 795, 796, 797, 798, 799, 167, - 397, 742, 743, 744, 871, 51, 77, 210, 211, 212, - 426, 213, 427, 214, 428, 215, 432, 216, 431, 168, - 402, 631, 218, 219, 169, 403, 754, 755, 756, 880, - 978, 979, 170, 398, 59, 81, 746, 747, 748, 874, - 61, 82, 286, 287, 288, 289, 290, 291, 292, 456, - 293, 460, 294, 459, 295, 296, 461, 297, 171, 399, - 750, 751, 752, 877, 63, 83, 307, 308, 309, 310, - 311, 465, 312, 313, 314, 315, 221, 424, 831, 832, - 833, 926, 53, 78, 232, 233, 234, 436, 172, 400, - 173, 401, 224, 425, 835, 836, 837, 929, 55, 79, - 248, 249, 250, 439, 251, 252, 441, 253, 254, 174, - 409, 779, 780, 781, 894, 57, 80, 266, 267, 268, - 269, 447, 270, 448, 271, 449, 272, 450, 273, 451, - 274, 452, 275, 446, 226, 433, 840, 841, 932, 175, - 408, 776, 777, 891, 996, 997, 998, 999, 1000, 1062, - 1001, 176, 412, 809, 810, 811, 908, 1071, 812, 813, - 909, 814, 815, 177, 178, 414, 821, 822, 823, 915, - 824, 916, 179, 415, 180, 416, 67, 85, 343, 344, - 345, 346, 475, 347, 476, 348, 349, 478, 350, 351, - 352, 481, 679, 353, 482, 354, 355, 356, 485, 686, - 357, 486, 358, 487, 359, 488, 104, 376, 105, 377, - 106, 378, 181, 383, 71, 87, 365, 366, 367, 493, - 368, 107, 375, 69, 86, 360, 361, 182, 417, 827, - 828, 920, 1030, 1031, 1032, 1033, 1077, 1034, 1075, 1096, - 1097, 1098, 1105, 1106, 1107, 1112, 1108, 1109, 1110 + 73, 627, 92, 93, 43, 72, 89, 90, 651, 831, + 926, 927, 716, 45, 74, 101, 102, 103, 376, 47, + 75, 147, 148, 149, 384, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 398, 159, 386, 49, 76, 190, + 191, 192, 424, 193, 160, 387, 161, 388, 162, 389, + 740, 741, 742, 870, 717, 718, 719, 849, 1049, 720, + 850, 721, 851, 722, 852, 723, 724, 461, 725, 726, + 727, 728, 729, 730, 731, 732, 733, 858, 734, 735, + 861, 736, 862, 737, 863, 163, 409, 774, 775, 776, + 890, 164, 406, 761, 762, 763, 764, 165, 408, 769, + 770, 771, 772, 166, 407, 167, 412, 785, 786, 787, + 899, 65, 84, 325, 326, 327, 474, 328, 475, 168, + 413, 794, 795, 796, 797, 798, 799, 800, 801, 169, + 399, 744, 745, 746, 873, 51, 77, 214, 215, 216, + 430, 217, 431, 218, 432, 219, 436, 220, 435, 170, + 404, 633, 222, 223, 171, 405, 756, 757, 758, 882, + 980, 981, 172, 400, 59, 81, 748, 749, 750, 876, + 61, 82, 290, 291, 292, 293, 294, 295, 296, 460, + 297, 464, 298, 463, 299, 300, 465, 301, 173, 401, + 752, 753, 754, 879, 63, 83, 311, 312, 313, 314, + 315, 469, 316, 317, 318, 319, 225, 428, 833, 834, + 835, 928, 53, 78, 236, 237, 238, 440, 174, 402, + 175, 403, 228, 429, 837, 838, 839, 931, 55, 79, + 252, 253, 254, 443, 255, 256, 445, 257, 258, 176, + 411, 781, 782, 783, 896, 57, 80, 270, 271, 272, + 273, 451, 274, 452, 275, 453, 276, 454, 277, 455, + 278, 456, 279, 450, 230, 437, 842, 843, 934, 177, + 410, 778, 779, 893, 998, 999, 1000, 1001, 1002, 1064, + 1003, 178, 414, 811, 812, 813, 910, 1073, 814, 815, + 911, 816, 817, 179, 180, 416, 823, 824, 825, 917, + 826, 918, 181, 417, 182, 418, 67, 85, 345, 346, + 347, 348, 479, 349, 480, 350, 351, 482, 352, 353, + 354, 485, 683, 355, 486, 356, 357, 358, 489, 690, + 359, 490, 183, 419, 184, 420, 104, 378, 105, 379, + 106, 380, 185, 385, 71, 87, 367, 368, 369, 495, + 370, 107, 377, 69, 86, 362, 363, 186, 421, 829, + 830, 922, 1032, 1033, 1034, 1035, 1079, 1036, 1077, 1098, + 1099, 1100, 1107, 1108, 1109, 1114, 1110, 1111, 1112 }; const unsigned short Dhcp6Parser::yytable_[] = { - 100, 144, 185, 202, 228, 242, 262, 203, 284, 303, - 320, 340, 806, 766, 225, 305, 736, 971, 972, 204, - 190, 222, 235, 246, 264, 362, 298, 316, 973, 341, - 40, 977, 983, 94, 229, 243, 285, 304, 306, 205, - 33, 624, 34, 32, 35, 757, 206, 207, 183, 184, - 1101, 318, 319, 1102, 1103, 1104, 624, 208, 44, 653, - 209, 191, 223, 236, 247, 265, 883, 299, 317, 884, - 342, 659, 660, 661, 220, 231, 245, 263, 217, 886, - 277, 696, 887, 91, 230, 244, 697, 698, 699, 700, - 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, - 711, 712, 713, 892, 126, 127, 893, 114, 115, 116, - 117, 118, 119, 120, 278, 278, 279, 280, 125, 46, - 281, 282, 283, 99, 758, 48, 256, 50, 192, 380, - 193, 126, 127, 838, 381, 52, 126, 127, 194, 195, - 196, 197, 198, 128, 418, 921, 278, 54, 922, 419, - 125, 278, 800, 126, 127, 199, 363, 364, 200, 135, - 422, 701, 125, 126, 127, 423, 201, 434, 126, 127, - 56, 1099, 435, 95, 1100, 237, 238, 239, 240, 241, - 126, 127, 96, 97, 98, 58, 108, 109, 989, 990, - 110, 318, 319, 111, 112, 113, 971, 972, 60, 199, - 99, 62, 200, 126, 127, 816, 817, 973, 64, 99, - 977, 983, 36, 37, 38, 39, 677, 678, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 786, 787, 788, 789, 790, 791, 99, 99, 66, 437, - 68, 99, 70, 1023, 438, 1024, 1025, 126, 127, 801, - 802, 803, 804, 124, 128, 143, 125, 369, 99, 129, - 130, 131, 132, 133, 766, 134, 954, 227, 99, 370, - 135, 444, 472, 99, 126, 127, 445, 473, 489, 136, - 371, 372, 137, 490, 806, 99, 491, 495, 373, 138, - 418, 492, 496, 199, 491, 843, 200, 139, 140, 844, - 495, 141, 142, 379, 422, 845, 100, 388, 99, 846, - 114, 115, 116, 117, 118, 119, 120, 389, 865, 123, - 865, 125, 278, 866, 390, 867, 143, 391, 392, 681, - 682, 683, 684, 278, 300, 279, 280, 301, 302, 126, - 127, 393, 195, 196, 144, 198, 128, 394, 185, 889, - 126, 127, 99, 395, 890, 413, 421, 906, 199, 429, - 202, 200, 907, 228, 203, 685, 190, 430, 913, 201, - 242, 225, 917, 914, 440, 442, 204, 918, 222, 99, - 262, 235, 489, 497, 498, 443, 865, 919, 246, 458, - 284, 1055, 434, 229, 1059, 303, 205, 1056, 264, 1060, - 243, 305, 453, 206, 207, 472, 1078, 191, 298, 454, - 1067, 1079, 455, 316, 208, 340, 437, 209, 285, 223, - 444, 1081, 236, 304, 306, 1082, 462, 1116, 463, 247, - 362, 220, 1117, 341, 231, 217, 126, 127, 464, 265, - 125, 245, 466, 230, 99, 1043, 1044, 1045, 1046, 299, - 244, 263, 467, 468, 317, 99, 469, 499, 126, 127, - 627, 628, 629, 630, 757, 764, 474, 765, 1068, 1069, - 1070, 477, 479, 480, 342, 483, 255, 484, 494, 500, - 501, 502, 256, 257, 258, 259, 260, 261, 503, 504, - 506, 507, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, 337, 508, 509, 510, 511, 512, - 513, 514, 338, 339, 515, 611, 612, 613, 1, 2, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 520, 521, 144, 519, 516, 517, 518, - 522, 99, 185, 523, 524, 525, 526, 527, 528, 362, - 529, 530, 531, 532, 533, 534, 535, 536, 538, 539, - 190, 540, 537, 99, 541, 543, 546, 805, 818, 547, - 340, 548, 544, 549, 550, 551, 552, 553, 554, 555, - 557, 559, 561, 560, 565, 807, 819, 562, 341, 563, - 566, 567, 568, 569, 570, 571, 573, 574, 576, 673, - 577, 191, 578, 575, 581, 585, 579, 582, 583, 586, - 588, 589, 590, 592, 591, 593, 595, 594, 596, 599, - 597, 691, 598, 600, 601, 602, 808, 820, 605, 342, - 606, 608, 609, 610, 614, 615, 616, 617, 618, 619, - 620, 621, 622, 623, 870, 632, 34, 626, 633, 634, - 635, 873, 637, 636, 638, 639, 650, 651, 640, 641, - 642, 644, 645, 646, 648, 649, 652, 654, 655, 656, - 657, 658, 662, 663, 664, 665, 666, 667, 680, 690, - 737, 851, 668, 669, 670, 671, 672, 674, 675, 676, - 687, 688, 689, 741, 745, 749, 753, 775, 778, 771, - 782, 826, 830, 834, 852, 853, 854, 855, 857, 858, - 862, 863, 864, 940, 923, 869, 872, 875, 876, 878, - 879, 882, 881, 939, 896, 885, 895, 899, 898, 900, - 901, 902, 903, 904, 905, 910, 911, 912, 928, 942, - 927, 931, 930, 935, 941, 933, 934, 936, 937, 938, - 943, 944, 947, 948, 949, 987, 1014, 945, 1015, 946, - 950, 951, 1020, 1007, 952, 1021, 1036, 1037, 643, 1042, - 1057, 1058, 1063, 1008, 1064, 1009, 1065, 1010, 1066, 1076, - 1011, 1012, 1016, 1085, 1017, 1088, 1090, 1095, 1093, 1018, - 1048, 1113, 1114, 1049, 1050, 1051, 1115, 202, 1118, 1052, - 284, 203, 692, 303, 763, 542, 962, 842, 225, 305, - 963, 1089, 1053, 204, 505, 222, 953, 991, 298, 1054, - 262, 316, 964, 320, 981, 695, 985, 955, 285, 545, - 988, 304, 306, 205, 970, 994, 974, 1006, 264, 805, - 206, 207, 965, 818, 1061, 992, 1026, 1072, 1073, 966, - 967, 208, 228, 1074, 209, 242, 223, 807, 1080, 299, - 968, 819, 317, 969, 1028, 982, 1013, 986, 220, 1083, - 235, 1005, 217, 246, 1027, 1120, 995, 980, 1086, 265, - 587, 976, 229, 957, 556, 243, 975, 956, 993, 1092, - 984, 263, 1084, 276, 1119, 959, 958, 580, 808, 961, - 1094, 960, 820, 1039, 1038, 1029, 1040, 1041, 564, 558, - 584, 236, 1003, 1004, 247, 572, 839, 1002, 1087, 1121, - 1019, 1022, 694, 231, 607, 825, 245, 1091, 693, 1111, - 1123, 1122, 230, 603, 604, 244, 1035, 0, 0, 0, + 100, 146, 189, 206, 232, 246, 266, 207, 288, 307, + 324, 342, 360, 808, 309, 229, 768, 310, 738, 224, + 235, 249, 267, 194, 226, 239, 250, 268, 973, 302, + 320, 208, 343, 974, 361, 975, 979, 209, 364, 985, + 382, 210, 94, 187, 188, 383, 32, 195, 227, 240, + 251, 269, 260, 303, 321, 211, 344, 802, 40, 840, + 212, 289, 308, 213, 125, 282, 703, 233, 247, 626, + 44, 759, 46, 234, 248, 33, 422, 34, 48, 35, + 221, 423, 126, 127, 626, 108, 109, 322, 323, 110, + 126, 127, 111, 112, 113, 322, 323, 281, 657, 126, + 127, 1103, 991, 992, 1104, 1105, 1106, 50, 126, 127, + 663, 664, 665, 629, 630, 631, 632, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 885, + 426, 282, 886, 283, 284, 427, 438, 285, 286, 287, + 441, 439, 818, 819, 91, 442, 126, 127, 126, 127, + 760, 365, 366, 128, 803, 804, 805, 806, 129, 130, + 131, 132, 133, 448, 134, 681, 682, 99, 449, 135, + 685, 686, 687, 688, 476, 491, 52, 54, 136, 477, + 492, 137, 95, 888, 493, 497, 889, 99, 138, 494, + 498, 96, 97, 98, 422, 99, 139, 140, 493, 845, + 141, 142, 124, 846, 99, 497, 689, 973, 56, 99, + 847, 426, 974, 99, 975, 979, 848, 894, 985, 58, + 895, 698, 143, 144, 60, 145, 699, 700, 701, 702, + 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, + 713, 714, 715, 1045, 1046, 1047, 1048, 36, 37, 38, + 39, 99, 62, 99, 923, 282, 145, 924, 371, 114, + 115, 116, 117, 118, 119, 120, 1101, 768, 956, 1102, + 125, 788, 789, 790, 791, 792, 793, 64, 66, 867, + 196, 867, 197, 125, 868, 808, 869, 68, 126, 127, + 198, 199, 200, 201, 202, 128, 241, 242, 243, 244, + 245, 126, 127, 125, 891, 70, 372, 203, 100, 892, + 204, 135, 908, 374, 231, 373, 375, 909, 205, 915, + 203, 126, 127, 204, 916, 381, 390, 114, 115, 116, + 117, 118, 119, 120, 391, 392, 123, 919, 125, 282, + 203, 491, 920, 204, 867, 438, 921, 393, 146, 1057, + 1058, 394, 189, 1061, 457, 395, 126, 127, 1062, 199, + 200, 476, 202, 128, 206, 1080, 1069, 232, 207, 396, + 1081, 397, 415, 194, 246, 203, 229, 99, 204, 425, + 224, 458, 441, 235, 266, 226, 205, 1083, 239, 433, + 249, 448, 208, 99, 288, 250, 1084, 195, 209, 307, + 267, 434, 210, 1118, 309, 268, 99, 310, 1119, 227, + 282, 444, 240, 499, 500, 302, 211, 342, 360, 251, + 320, 212, 759, 766, 213, 767, 99, 126, 127, 269, + 233, 125, 446, 1070, 1071, 1072, 234, 247, 343, 303, + 361, 221, 447, 248, 321, 364, 462, 289, 459, 126, + 127, 466, 308, 282, 304, 283, 284, 305, 306, 467, + 468, 99, 344, 126, 127, 470, 471, 259, 472, 473, + 126, 127, 478, 260, 261, 262, 263, 264, 265, 1, + 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 481, 483, 484, 487, 488, 496, + 501, 502, 503, 504, 505, 506, 508, 1025, 509, 1026, + 1027, 510, 511, 512, 513, 514, 518, 515, 516, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 341, 99, 519, 517, 522, 520, 146, 521, 143, + 144, 523, 524, 525, 189, 613, 614, 615, 526, 527, + 528, 529, 530, 531, 99, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 364, 194, 541, 542, 99, 807, + 820, 543, 342, 360, 544, 99, 545, 547, 550, 548, + 551, 552, 553, 554, 555, 556, 557, 558, 559, 195, + 809, 821, 561, 343, 563, 361, 564, 565, 566, 567, + 569, 570, 571, 572, 573, 574, 575, 577, 578, 579, + 580, 581, 582, 583, 810, 822, 585, 344, 589, 586, + 590, 587, 593, 592, 594, 596, 595, 597, 598, 599, + 600, 677, 601, 602, 603, 604, 607, 608, 610, 684, + 611, 616, 612, 617, 618, 619, 620, 621, 622, 623, + 624, 693, 625, 34, 628, 634, 635, 636, 637, 647, + 639, 638, 640, 641, 648, 654, 642, 643, 644, 646, + 649, 650, 652, 653, 773, 692, 659, 853, 739, 743, + 655, 747, 656, 658, 751, 755, 777, 780, 660, 661, + 662, 666, 667, 668, 669, 670, 671, 672, 673, 674, + 675, 676, 678, 679, 680, 691, 784, 828, 832, 836, + 854, 855, 856, 857, 859, 860, 864, 865, 866, 872, + 925, 871, 875, 874, 877, 878, 880, 881, 884, 883, + 942, 898, 887, 897, 901, 900, 902, 903, 904, 905, + 906, 907, 912, 913, 914, 930, 941, 929, 933, 932, + 937, 944, 935, 936, 938, 939, 940, 946, 943, 945, + 949, 950, 951, 989, 947, 948, 1016, 952, 1017, 953, + 1022, 1023, 954, 1009, 1038, 1039, 1097, 1044, 1059, 1060, + 1065, 1067, 1066, 1010, 1078, 1068, 1087, 1011, 1012, 1013, + 1090, 1014, 1092, 1018, 1095, 1019, 1115, 1020, 1116, 206, + 1050, 1051, 288, 207, 1052, 307, 1053, 1117, 964, 1120, + 309, 229, 965, 310, 645, 224, 507, 1054, 1055, 993, + 226, 1091, 266, 302, 982, 324, 320, 208, 1088, 983, + 765, 694, 546, 209, 1122, 995, 966, 210, 267, 549, + 996, 807, 967, 268, 227, 820, 968, 303, 1028, 697, + 321, 211, 1056, 984, 232, 289, 212, 246, 308, 213, + 969, 972, 809, 1063, 997, 970, 821, 269, 971, 1030, + 235, 976, 994, 249, 1074, 239, 221, 977, 250, 844, + 1075, 1076, 1082, 957, 955, 978, 810, 990, 988, 987, + 822, 1007, 1008, 1031, 959, 591, 1015, 986, 1085, 240, + 1086, 1029, 251, 958, 280, 560, 961, 1094, 962, 588, + 960, 1041, 584, 1040, 562, 1042, 963, 233, 568, 1006, + 247, 1005, 1089, 234, 841, 1096, 248, 1043, 1024, 1121, + 576, 1021, 1123, 1004, 827, 1037, 605, 1125, 695, 1093, + 1124, 1113, 696, 609, 0, 0, 0, 606, 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, 962, 0, 0, 0, 963, - 0, 991, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 964, 0, 981, 1026, 0, 0, 0, 0, 994, - 0, 0, 0, 970, 0, 974, 0, 0, 0, 992, - 0, 965, 1028, 0, 0, 0, 0, 0, 966, 967, - 0, 0, 1027, 0, 0, 0, 0, 0, 0, 968, - 0, 0, 969, 0, 982, 0, 0, 0, 0, 0, - 995, 0, 0, 0, 0, 0, 980, 0, 0, 0, - 976, 0, 993, 1029, 0, 975 + 0, 0, 0, 0, 0, 0, 0, 964, 0, 0, + 0, 965, 0, 993, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 982, 0, 0, 1028, 0, 983, 995, + 0, 0, 0, 0, 996, 966, 0, 0, 0, 0, + 0, 967, 0, 0, 0, 968, 0, 1030, 0, 0, + 0, 0, 984, 0, 0, 0, 0, 0, 997, 969, + 972, 0, 0, 0, 970, 0, 994, 971, 0, 0, + 976, 1031, 0, 0, 0, 0, 977, 0, 0, 1029, + 0, 0, 0, 0, 978 }; const short Dhcp6Parser::yycheck_[] = { 74, 75, 76, 77, 78, 79, 80, 77, 82, 83, - 84, 85, 641, 635, 77, 83, 618, 880, 880, 77, - 76, 77, 78, 79, 80, 86, 82, 83, 880, 85, - 17, 880, 880, 10, 78, 79, 82, 83, 83, 77, - 5, 524, 7, 0, 9, 98, 77, 77, 16, 17, - 153, 105, 106, 156, 157, 158, 539, 77, 7, 553, - 77, 76, 77, 78, 79, 80, 3, 82, 83, 6, - 85, 565, 566, 567, 77, 78, 79, 80, 77, 3, - 21, 21, 6, 177, 78, 79, 26, 27, 28, 29, + 84, 85, 85, 643, 83, 77, 637, 83, 620, 77, + 78, 79, 80, 76, 77, 78, 79, 80, 882, 82, + 83, 77, 85, 882, 85, 882, 882, 77, 86, 882, + 3, 77, 10, 16, 17, 8, 0, 76, 77, 78, + 79, 80, 96, 82, 83, 77, 85, 21, 17, 103, + 77, 82, 83, 77, 54, 55, 30, 78, 79, 526, + 7, 98, 7, 78, 79, 5, 3, 7, 7, 9, + 77, 8, 72, 73, 541, 11, 12, 105, 106, 15, + 72, 73, 18, 19, 20, 105, 106, 21, 557, 72, + 73, 153, 92, 93, 156, 157, 158, 7, 72, 73, + 569, 570, 571, 80, 81, 82, 83, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 3, + 3, 55, 6, 57, 58, 8, 3, 61, 62, 63, + 3, 8, 124, 125, 177, 8, 72, 73, 72, 73, + 177, 13, 14, 79, 118, 119, 120, 121, 84, 85, + 86, 87, 88, 3, 90, 141, 142, 177, 8, 95, + 144, 145, 146, 147, 3, 3, 7, 7, 104, 8, + 8, 107, 150, 3, 3, 3, 6, 177, 114, 8, + 8, 159, 160, 161, 3, 177, 122, 123, 3, 8, + 126, 127, 53, 8, 177, 3, 180, 1061, 7, 177, + 8, 3, 1061, 177, 1061, 1061, 8, 3, 1061, 7, + 6, 21, 148, 149, 7, 151, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 72, 73, 6, 43, 44, 45, - 46, 47, 48, 49, 55, 55, 57, 58, 54, 7, - 61, 62, 63, 177, 177, 7, 96, 7, 64, 3, - 66, 72, 73, 103, 8, 7, 72, 73, 74, 75, - 76, 77, 78, 79, 3, 3, 55, 7, 6, 8, - 54, 55, 21, 72, 73, 91, 13, 14, 94, 95, - 3, 30, 54, 72, 73, 8, 102, 3, 72, 73, - 7, 3, 8, 150, 6, 67, 68, 69, 70, 71, - 72, 73, 159, 160, 161, 7, 11, 12, 92, 93, - 15, 105, 106, 18, 19, 20, 1059, 1059, 7, 91, - 177, 7, 94, 72, 73, 124, 125, 1059, 7, 177, - 1059, 1059, 177, 178, 179, 180, 141, 142, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 108, 109, 110, 111, 112, 113, 177, 177, 7, 3, - 7, 177, 7, 152, 8, 154, 155, 72, 73, 118, - 119, 120, 121, 53, 79, 151, 54, 6, 177, 84, - 85, 86, 87, 88, 886, 90, 868, 65, 177, 3, - 95, 3, 3, 177, 72, 73, 8, 8, 3, 104, - 4, 8, 107, 8, 913, 177, 3, 3, 3, 114, - 3, 8, 8, 91, 3, 8, 94, 122, 123, 8, - 3, 126, 127, 4, 3, 8, 380, 4, 177, 8, - 43, 44, 45, 46, 47, 48, 49, 4, 3, 52, - 3, 54, 55, 8, 4, 8, 151, 4, 4, 144, - 145, 146, 147, 55, 56, 57, 58, 59, 60, 72, - 73, 4, 75, 76, 418, 78, 79, 4, 422, 3, - 72, 73, 177, 4, 8, 4, 4, 3, 91, 4, - 434, 94, 8, 437, 434, 180, 422, 4, 3, 102, - 444, 434, 3, 8, 4, 4, 434, 8, 434, 177, - 454, 437, 3, 370, 371, 4, 3, 8, 444, 4, - 464, 8, 3, 437, 3, 469, 434, 8, 454, 8, - 444, 469, 8, 434, 434, 3, 3, 422, 464, 3, - 8, 8, 8, 469, 434, 489, 3, 434, 464, 434, - 3, 8, 437, 469, 469, 8, 4, 3, 8, 444, - 491, 434, 8, 489, 437, 434, 72, 73, 3, 454, - 54, 444, 4, 437, 177, 22, 23, 24, 25, 464, - 444, 454, 4, 8, 469, 177, 3, 177, 72, 73, - 80, 81, 82, 83, 98, 99, 4, 101, 115, 116, - 117, 4, 4, 4, 489, 4, 90, 4, 4, 4, - 4, 4, 96, 97, 98, 99, 100, 101, 4, 4, - 4, 4, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 4, 4, 4, 4, 178, - 178, 178, 148, 149, 178, 502, 503, 504, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, - 174, 175, 176, 4, 4, 609, 178, 180, 179, 179, - 4, 177, 616, 4, 4, 4, 4, 4, 4, 610, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 616, 4, 178, 177, 4, 4, 4, 641, 642, 4, - 644, 4, 180, 4, 4, 178, 180, 4, 4, 4, - 4, 4, 4, 178, 4, 641, 642, 178, 644, 178, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 586, - 4, 616, 4, 178, 4, 4, 180, 180, 180, 4, - 180, 4, 4, 4, 178, 178, 4, 178, 4, 4, - 180, 608, 180, 4, 4, 4, 641, 642, 4, 644, - 178, 4, 7, 7, 177, 7, 7, 7, 7, 5, - 177, 5, 5, 5, 3, 5, 7, 177, 5, 5, - 5, 3, 5, 7, 5, 5, 177, 177, 7, 7, - 7, 7, 5, 5, 5, 5, 177, 177, 7, 177, - 177, 177, 177, 177, 177, 177, 177, 177, 143, 5, - 7, 4, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 7, 7, 7, 7, 7, 7, 89, - 7, 7, 7, 7, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 180, 177, 6, 6, 6, 3, 6, - 3, 3, 6, 178, 3, 6, 6, 3, 6, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 3, 180, - 6, 3, 6, 4, 178, 8, 6, 4, 4, 4, - 178, 4, 4, 4, 4, 4, 4, 178, 4, 178, - 178, 178, 4, 178, 180, 4, 6, 3, 539, 4, - 8, 8, 4, 178, 8, 178, 3, 178, 8, 4, - 178, 178, 178, 4, 178, 4, 4, 7, 5, 178, - 177, 4, 4, 177, 177, 177, 4, 871, 4, 177, - 874, 871, 609, 877, 634, 418, 880, 690, 871, 877, - 880, 178, 177, 871, 380, 871, 865, 891, 874, 177, - 894, 877, 880, 897, 880, 616, 883, 870, 874, 422, - 889, 877, 877, 871, 880, 891, 880, 899, 894, 913, - 871, 871, 880, 917, 177, 891, 920, 177, 177, 880, - 880, 871, 926, 177, 871, 929, 871, 913, 177, 874, - 880, 917, 877, 880, 920, 880, 906, 886, 871, 177, - 926, 897, 871, 929, 920, 178, 891, 880, 180, 894, - 472, 880, 926, 873, 434, 929, 880, 871, 891, 177, - 882, 894, 1059, 81, 180, 876, 874, 464, 913, 879, - 177, 877, 917, 928, 926, 920, 929, 931, 444, 437, - 469, 926, 894, 896, 929, 454, 655, 892, 1065, 178, - 913, 917, 615, 926, 495, 644, 929, 1078, 610, 1099, - 177, 1116, 926, 489, 491, 929, 921, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 40, 41, 42, 22, 23, 24, 25, 177, 178, 179, + 180, 177, 7, 177, 3, 55, 151, 6, 6, 43, + 44, 45, 46, 47, 48, 49, 3, 888, 870, 6, + 54, 108, 109, 110, 111, 112, 113, 7, 7, 3, + 64, 3, 66, 54, 8, 915, 8, 7, 72, 73, + 74, 75, 76, 77, 78, 79, 67, 68, 69, 70, + 71, 72, 73, 54, 3, 7, 3, 91, 382, 8, + 94, 95, 3, 8, 65, 4, 3, 8, 102, 3, + 91, 72, 73, 94, 8, 4, 4, 43, 44, 45, + 46, 47, 48, 49, 4, 4, 52, 3, 54, 55, + 91, 3, 8, 94, 3, 3, 8, 4, 422, 8, + 8, 4, 426, 3, 8, 4, 72, 73, 8, 75, + 76, 3, 78, 79, 438, 3, 8, 441, 438, 4, + 8, 4, 4, 426, 448, 91, 438, 177, 94, 4, + 438, 3, 3, 441, 458, 438, 102, 8, 441, 4, + 448, 3, 438, 177, 468, 448, 8, 426, 438, 473, + 458, 4, 438, 3, 473, 458, 177, 473, 8, 438, + 55, 4, 441, 372, 373, 468, 438, 491, 491, 448, + 473, 438, 98, 99, 438, 101, 177, 72, 73, 458, + 441, 54, 4, 115, 116, 117, 441, 448, 491, 468, + 491, 438, 4, 448, 473, 493, 4, 468, 8, 72, + 73, 4, 473, 55, 56, 57, 58, 59, 60, 8, + 3, 177, 491, 72, 73, 4, 4, 90, 8, 3, + 72, 73, 4, 96, 97, 98, 99, 100, 101, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 174, 175, 176, 4, 4, 4, 4, 4, 4, + 177, 4, 4, 4, 4, 4, 4, 152, 4, 154, + 155, 4, 4, 4, 4, 178, 180, 178, 178, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 177, 179, 178, 4, 179, 611, 178, 148, + 149, 4, 4, 4, 618, 504, 505, 506, 4, 4, + 4, 4, 4, 4, 177, 4, 4, 4, 4, 4, + 4, 4, 178, 4, 612, 618, 4, 4, 177, 643, + 644, 4, 646, 646, 4, 177, 4, 4, 4, 180, + 4, 4, 4, 4, 178, 180, 4, 4, 4, 618, + 643, 644, 4, 646, 4, 646, 178, 4, 178, 178, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 178, + 4, 4, 4, 180, 643, 644, 4, 646, 4, 180, + 4, 180, 4, 180, 4, 4, 178, 178, 178, 4, + 4, 590, 180, 180, 4, 4, 4, 178, 4, 143, + 7, 177, 7, 7, 7, 7, 7, 5, 177, 5, + 5, 610, 5, 7, 177, 5, 5, 5, 5, 177, + 5, 7, 5, 5, 177, 177, 7, 7, 7, 7, + 5, 5, 5, 5, 89, 5, 7, 4, 7, 7, + 177, 7, 177, 177, 7, 7, 7, 7, 177, 177, + 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, + 177, 177, 177, 177, 177, 177, 7, 7, 7, 7, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, + 177, 6, 3, 6, 6, 3, 6, 3, 3, 6, + 180, 3, 6, 6, 3, 6, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 3, 178, 6, 3, 6, + 4, 180, 8, 6, 4, 4, 4, 4, 178, 178, + 4, 4, 4, 4, 178, 178, 4, 178, 4, 178, + 4, 4, 180, 178, 6, 3, 7, 4, 8, 8, + 4, 3, 8, 178, 4, 8, 4, 178, 178, 178, + 4, 178, 4, 178, 5, 178, 4, 178, 4, 873, + 177, 177, 876, 873, 177, 879, 177, 4, 882, 4, + 879, 873, 882, 879, 541, 873, 382, 177, 177, 893, + 873, 178, 896, 876, 882, 899, 879, 873, 180, 882, + 636, 611, 422, 873, 178, 893, 882, 873, 896, 426, + 893, 915, 882, 896, 873, 919, 882, 876, 922, 618, + 879, 873, 177, 882, 928, 876, 873, 931, 879, 873, + 882, 882, 915, 177, 893, 882, 919, 896, 882, 922, + 928, 882, 893, 931, 177, 928, 873, 882, 931, 692, + 177, 177, 177, 872, 867, 882, 915, 891, 888, 885, + 919, 899, 901, 922, 875, 476, 908, 884, 177, 928, + 1061, 922, 931, 873, 81, 438, 878, 177, 879, 473, + 876, 930, 468, 928, 441, 931, 881, 928, 448, 898, + 931, 896, 1067, 928, 659, 177, 931, 933, 919, 180, + 458, 915, 178, 894, 646, 923, 491, 177, 612, 1080, + 1118, 1101, 617, 497, -1, -1, -1, 493, -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, 1059, -1, -1, -1, 1059, - -1, 1065, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1059, -1, 1059, 1078, -1, -1, -1, -1, 1065, - -1, -1, -1, 1059, -1, 1059, -1, -1, -1, 1065, - -1, 1059, 1078, -1, -1, -1, -1, -1, 1059, 1059, - -1, -1, 1078, -1, -1, -1, -1, -1, -1, 1059, - -1, -1, 1059, -1, 1059, -1, -1, -1, -1, -1, - 1065, -1, -1, -1, -1, -1, 1059, -1, -1, -1, - 1059, -1, 1065, 1078, -1, 1059 + -1, -1, -1, -1, -1, -1, -1, 1061, -1, -1, + -1, 1061, -1, 1067, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1061, -1, -1, 1080, -1, 1061, 1067, + -1, -1, -1, -1, 1067, 1061, -1, -1, -1, -1, + -1, 1061, -1, -1, -1, 1061, -1, 1080, -1, -1, + -1, -1, 1061, -1, -1, -1, -1, -1, 1067, 1061, + 1061, -1, -1, -1, 1061, -1, 1067, 1061, -1, -1, + 1061, 1080, -1, -1, -1, -1, 1061, -1, -1, 1080, + -1, -1, -1, -1, 1061 }; const unsigned short @@ -4680,105 +4682,105 @@ namespace isc { namespace dhcp { 15, 18, 19, 20, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 72, 73, 79, 84, 85, 86, 87, 88, 90, 95, 104, 107, 114, 122, - 123, 126, 127, 151, 213, 222, 223, 224, 226, 227, - 228, 229, 230, 231, 232, 233, 234, 236, 245, 247, - 249, 286, 292, 298, 304, 306, 320, 330, 350, 355, - 363, 389, 419, 421, 440, 470, 482, 494, 495, 503, - 505, 543, 558, 16, 17, 213, 240, 241, 242, 244, - 419, 421, 64, 66, 74, 75, 76, 77, 78, 91, - 94, 102, 213, 226, 227, 228, 229, 230, 231, 232, - 338, 339, 340, 342, 344, 346, 348, 350, 353, 354, - 389, 407, 419, 421, 423, 440, 465, 65, 213, 346, - 348, 389, 415, 416, 417, 419, 421, 67, 68, 69, - 70, 71, 213, 346, 348, 389, 419, 421, 431, 432, - 433, 435, 436, 438, 439, 90, 96, 97, 98, 99, - 100, 101, 213, 389, 419, 421, 448, 449, 450, 451, - 453, 455, 457, 459, 461, 463, 363, 21, 55, 57, - 58, 61, 62, 63, 213, 267, 373, 374, 375, 376, - 377, 378, 379, 381, 383, 385, 386, 388, 419, 421, - 56, 59, 60, 213, 267, 377, 383, 397, 398, 399, - 400, 401, 403, 404, 405, 406, 419, 421, 105, 106, - 213, 314, 315, 316, 318, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 148, 149, - 213, 419, 421, 509, 510, 511, 512, 514, 516, 517, - 519, 520, 521, 524, 526, 527, 528, 531, 533, 535, - 556, 557, 558, 13, 14, 547, 548, 549, 551, 6, - 3, 4, 8, 3, 219, 553, 538, 540, 542, 4, - 3, 8, 225, 544, 237, 246, 248, 250, 4, 4, - 4, 4, 4, 4, 4, 4, 235, 331, 364, 390, - 420, 422, 351, 356, 293, 305, 299, 287, 471, 441, - 307, 321, 483, 4, 496, 504, 506, 559, 3, 8, - 243, 4, 3, 8, 408, 424, 341, 343, 345, 4, - 4, 349, 347, 466, 3, 8, 418, 3, 8, 434, - 4, 437, 4, 4, 3, 8, 464, 452, 454, 456, - 458, 460, 462, 8, 3, 8, 380, 268, 4, 384, - 382, 387, 4, 8, 3, 402, 4, 4, 8, 3, - 317, 319, 3, 8, 4, 513, 515, 4, 518, 4, - 4, 522, 525, 4, 4, 529, 532, 534, 536, 3, - 8, 3, 8, 550, 4, 3, 8, 198, 198, 177, - 4, 4, 4, 4, 4, 217, 4, 4, 4, 4, - 4, 4, 178, 178, 178, 178, 180, 179, 179, 178, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 178, 4, 4, - 4, 4, 223, 4, 180, 241, 4, 4, 4, 4, - 4, 178, 180, 4, 4, 4, 339, 4, 416, 4, - 178, 4, 178, 178, 432, 4, 4, 4, 4, 4, - 4, 4, 450, 4, 4, 178, 4, 4, 4, 180, - 375, 4, 180, 180, 399, 4, 4, 315, 180, 4, - 4, 178, 4, 178, 178, 4, 4, 180, 180, 4, - 4, 4, 4, 510, 557, 4, 178, 548, 4, 7, - 7, 198, 198, 198, 177, 7, 7, 7, 7, 5, - 177, 5, 5, 5, 200, 202, 177, 80, 81, 82, - 83, 352, 5, 5, 5, 5, 7, 5, 5, 5, - 7, 7, 7, 202, 7, 5, 5, 209, 5, 5, - 177, 177, 177, 209, 177, 7, 177, 177, 177, 209, - 209, 209, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 198, 177, 177, 177, 141, 142, 523, - 143, 144, 145, 146, 147, 180, 530, 177, 177, 177, - 5, 198, 222, 556, 547, 240, 21, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 213, 255, 256, 257, 260, 262, - 264, 266, 267, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 279, 280, 282, 284, 255, 7, 251, 252, - 253, 7, 332, 333, 334, 7, 367, 368, 369, 7, - 391, 392, 393, 7, 357, 358, 359, 98, 177, 294, - 295, 296, 297, 207, 99, 101, 296, 300, 301, 302, - 303, 89, 288, 289, 290, 7, 472, 473, 7, 442, - 443, 444, 7, 308, 309, 310, 108, 109, 110, 111, - 112, 113, 322, 323, 324, 325, 326, 327, 328, 329, - 21, 118, 119, 120, 121, 213, 269, 419, 421, 484, - 485, 486, 489, 490, 492, 493, 124, 125, 213, 419, - 421, 497, 498, 499, 501, 509, 7, 560, 561, 210, - 7, 409, 410, 411, 7, 425, 426, 427, 103, 451, - 467, 468, 251, 8, 8, 8, 8, 258, 261, 263, - 265, 4, 4, 4, 4, 4, 278, 4, 4, 281, - 283, 285, 4, 4, 4, 3, 8, 8, 254, 6, - 3, 335, 6, 3, 370, 6, 3, 394, 6, 3, - 360, 6, 3, 3, 6, 6, 3, 6, 291, 3, - 8, 474, 3, 6, 445, 6, 3, 311, 6, 3, - 4, 4, 4, 4, 4, 4, 3, 8, 487, 491, - 4, 4, 4, 3, 8, 500, 502, 3, 8, 8, - 562, 3, 6, 177, 211, 212, 412, 6, 3, 428, - 6, 3, 469, 8, 6, 4, 4, 4, 4, 178, - 180, 178, 180, 178, 4, 178, 178, 4, 4, 4, - 178, 178, 180, 256, 255, 253, 338, 334, 373, 369, - 397, 393, 213, 226, 227, 228, 229, 230, 231, 232, - 267, 330, 342, 344, 346, 348, 350, 354, 361, 362, - 389, 419, 421, 465, 359, 295, 301, 4, 289, 92, - 93, 213, 267, 389, 419, 421, 475, 476, 477, 478, - 479, 481, 473, 448, 444, 314, 310, 178, 178, 178, - 178, 178, 178, 323, 4, 4, 178, 178, 178, 485, - 4, 4, 498, 152, 154, 155, 213, 267, 419, 421, - 563, 564, 565, 566, 568, 561, 6, 3, 415, 411, - 431, 427, 4, 22, 23, 24, 25, 259, 177, 177, - 177, 177, 177, 177, 177, 8, 8, 8, 8, 3, - 8, 177, 480, 4, 8, 3, 8, 8, 115, 116, - 117, 488, 177, 177, 177, 569, 4, 567, 3, 8, - 177, 8, 8, 177, 362, 4, 180, 477, 4, 178, - 4, 564, 177, 5, 177, 7, 570, 571, 572, 3, - 6, 153, 156, 157, 158, 573, 574, 575, 577, 578, - 579, 571, 576, 4, 4, 4, 3, 8, 4, 180, - 178, 178, 574, 177 + 123, 126, 127, 148, 149, 151, 213, 222, 223, 224, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 236, + 245, 247, 249, 286, 292, 298, 304, 306, 320, 330, + 350, 355, 363, 389, 419, 421, 440, 470, 482, 494, + 495, 503, 505, 533, 535, 543, 558, 16, 17, 213, + 240, 241, 242, 244, 419, 421, 64, 66, 74, 75, + 76, 77, 78, 91, 94, 102, 213, 226, 227, 228, + 229, 230, 231, 232, 338, 339, 340, 342, 344, 346, + 348, 350, 353, 354, 389, 407, 419, 421, 423, 440, + 465, 65, 213, 346, 348, 389, 415, 416, 417, 419, + 421, 67, 68, 69, 70, 71, 213, 346, 348, 389, + 419, 421, 431, 432, 433, 435, 436, 438, 439, 90, + 96, 97, 98, 99, 100, 101, 213, 389, 419, 421, + 448, 449, 450, 451, 453, 455, 457, 459, 461, 463, + 363, 21, 55, 57, 58, 61, 62, 63, 213, 267, + 373, 374, 375, 376, 377, 378, 379, 381, 383, 385, + 386, 388, 419, 421, 56, 59, 60, 213, 267, 377, + 383, 397, 398, 399, 400, 401, 403, 404, 405, 406, + 419, 421, 105, 106, 213, 314, 315, 316, 318, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 213, 419, 421, 509, 510, 511, 512, 514, + 516, 517, 519, 520, 521, 524, 526, 527, 528, 531, + 533, 535, 556, 557, 558, 13, 14, 547, 548, 549, + 551, 6, 3, 4, 8, 3, 219, 553, 538, 540, + 542, 4, 3, 8, 225, 544, 237, 246, 248, 250, + 4, 4, 4, 4, 4, 4, 4, 4, 235, 331, + 364, 390, 420, 422, 351, 356, 293, 305, 299, 287, + 471, 441, 307, 321, 483, 4, 496, 504, 506, 534, + 536, 559, 3, 8, 243, 4, 3, 8, 408, 424, + 341, 343, 345, 4, 4, 349, 347, 466, 3, 8, + 418, 3, 8, 434, 4, 437, 4, 4, 3, 8, + 464, 452, 454, 456, 458, 460, 462, 8, 3, 8, + 380, 268, 4, 384, 382, 387, 4, 8, 3, 402, + 4, 4, 8, 3, 317, 319, 3, 8, 4, 513, + 515, 4, 518, 4, 4, 522, 525, 4, 4, 529, + 532, 3, 8, 3, 8, 550, 4, 3, 8, 198, + 198, 177, 4, 4, 4, 4, 4, 217, 4, 4, + 4, 4, 4, 4, 178, 178, 178, 178, 180, 179, + 179, 178, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 178, + 4, 4, 4, 4, 4, 4, 223, 4, 180, 241, + 4, 4, 4, 4, 4, 178, 180, 4, 4, 4, + 339, 4, 416, 4, 178, 4, 178, 178, 432, 4, + 4, 4, 4, 4, 4, 4, 450, 4, 4, 178, + 4, 4, 4, 180, 375, 4, 180, 180, 399, 4, + 4, 315, 180, 4, 4, 178, 4, 178, 178, 4, + 4, 180, 180, 4, 4, 510, 557, 4, 178, 548, + 4, 7, 7, 198, 198, 198, 177, 7, 7, 7, + 7, 5, 177, 5, 5, 5, 200, 202, 177, 80, + 81, 82, 83, 352, 5, 5, 5, 5, 7, 5, + 5, 5, 7, 7, 7, 202, 7, 177, 177, 5, + 5, 209, 5, 5, 177, 177, 177, 209, 177, 7, + 177, 177, 177, 209, 209, 209, 177, 177, 177, 177, + 177, 177, 177, 177, 177, 177, 177, 198, 177, 177, + 177, 141, 142, 523, 143, 144, 145, 146, 147, 180, + 530, 177, 5, 198, 222, 556, 547, 240, 21, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 213, 255, 256, 257, + 260, 262, 264, 266, 267, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 279, 280, 282, 284, 255, 7, + 251, 252, 253, 7, 332, 333, 334, 7, 367, 368, + 369, 7, 391, 392, 393, 7, 357, 358, 359, 98, + 177, 294, 295, 296, 297, 207, 99, 101, 296, 300, + 301, 302, 303, 89, 288, 289, 290, 7, 472, 473, + 7, 442, 443, 444, 7, 308, 309, 310, 108, 109, + 110, 111, 112, 113, 322, 323, 324, 325, 326, 327, + 328, 329, 21, 118, 119, 120, 121, 213, 269, 419, + 421, 484, 485, 486, 489, 490, 492, 493, 124, 125, + 213, 419, 421, 497, 498, 499, 501, 509, 7, 560, + 561, 210, 7, 409, 410, 411, 7, 425, 426, 427, + 103, 451, 467, 468, 251, 8, 8, 8, 8, 258, + 261, 263, 265, 4, 4, 4, 4, 4, 278, 4, + 4, 281, 283, 285, 4, 4, 4, 3, 8, 8, + 254, 6, 3, 335, 6, 3, 370, 6, 3, 394, + 6, 3, 360, 6, 3, 3, 6, 6, 3, 6, + 291, 3, 8, 474, 3, 6, 445, 6, 3, 311, + 6, 3, 4, 4, 4, 4, 4, 4, 3, 8, + 487, 491, 4, 4, 4, 3, 8, 500, 502, 3, + 8, 8, 562, 3, 6, 177, 211, 212, 412, 6, + 3, 428, 6, 3, 469, 8, 6, 4, 4, 4, + 4, 178, 180, 178, 180, 178, 4, 178, 178, 4, + 4, 4, 178, 178, 180, 256, 255, 253, 338, 334, + 373, 369, 397, 393, 213, 226, 227, 228, 229, 230, + 231, 232, 267, 330, 342, 344, 346, 348, 350, 354, + 361, 362, 389, 419, 421, 465, 359, 295, 301, 4, + 289, 92, 93, 213, 267, 389, 419, 421, 475, 476, + 477, 478, 479, 481, 473, 448, 444, 314, 310, 178, + 178, 178, 178, 178, 178, 323, 4, 4, 178, 178, + 178, 485, 4, 4, 498, 152, 154, 155, 213, 267, + 419, 421, 563, 564, 565, 566, 568, 561, 6, 3, + 415, 411, 431, 427, 4, 22, 23, 24, 25, 259, + 177, 177, 177, 177, 177, 177, 177, 8, 8, 8, + 8, 3, 8, 177, 480, 4, 8, 3, 8, 8, + 115, 116, 117, 488, 177, 177, 177, 569, 4, 567, + 3, 8, 177, 8, 8, 177, 362, 4, 180, 477, + 4, 178, 4, 564, 177, 5, 177, 7, 570, 571, + 572, 3, 6, 153, 156, 157, 158, 573, 574, 575, + 577, 578, 579, 571, 576, 4, 4, 4, 3, 8, + 4, 180, 178, 178, 574, 177 }; const unsigned short @@ -4795,65 +4797,65 @@ namespace isc { namespace dhcp { 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, - 223, 223, 223, 225, 224, 226, 227, 228, 229, 230, - 231, 232, 233, 235, 234, 237, 236, 239, 238, 240, - 240, 241, 241, 241, 241, 241, 243, 242, 244, 246, - 245, 248, 247, 250, 249, 251, 251, 252, 252, 254, - 253, 255, 255, 256, 256, 256, 256, 256, 256, 256, + 223, 223, 223, 223, 223, 225, 224, 226, 227, 228, + 229, 230, 231, 232, 233, 235, 234, 237, 236, 239, + 238, 240, 240, 241, 241, 241, 241, 241, 243, 242, + 244, 246, 245, 248, 247, 250, 249, 251, 251, 252, + 252, 254, 253, 255, 255, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 258, 257, 259, 259, 259, 259, 261, - 260, 263, 262, 265, 264, 266, 268, 267, 269, 270, - 271, 272, 273, 274, 275, 276, 278, 277, 279, 281, - 280, 283, 282, 285, 284, 287, 286, 288, 288, 289, - 291, 290, 293, 292, 294, 294, 295, 295, 296, 297, - 299, 298, 300, 300, 301, 301, 301, 302, 303, 305, - 304, 307, 306, 308, 308, 309, 309, 311, 310, 313, - 312, 314, 314, 314, 315, 315, 317, 316, 319, 318, - 321, 320, 322, 322, 323, 323, 323, 323, 323, 323, - 324, 325, 326, 327, 328, 329, 331, 330, 332, 332, - 333, 333, 335, 334, 337, 336, 338, 338, 339, 339, + 256, 256, 256, 256, 256, 258, 257, 259, 259, 259, + 259, 261, 260, 263, 262, 265, 264, 266, 268, 267, + 269, 270, 271, 272, 273, 274, 275, 276, 278, 277, + 279, 281, 280, 283, 282, 285, 284, 287, 286, 288, + 288, 289, 291, 290, 293, 292, 294, 294, 295, 295, + 296, 297, 299, 298, 300, 300, 301, 301, 301, 302, + 303, 305, 304, 307, 306, 308, 308, 309, 309, 311, + 310, 313, 312, 314, 314, 314, 315, 315, 317, 316, + 319, 318, 321, 320, 322, 322, 323, 323, 323, 323, + 323, 323, 324, 325, 326, 327, 328, 329, 331, 330, + 332, 332, 333, 333, 335, 334, 337, 336, 338, 338, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, - 339, 341, 340, 343, 342, 345, 344, 347, 346, 349, - 348, 351, 350, 352, 352, 352, 352, 353, 354, 356, - 355, 357, 357, 358, 358, 360, 359, 361, 361, 362, + 339, 339, 339, 341, 340, 343, 342, 345, 344, 347, + 346, 349, 348, 351, 350, 352, 352, 352, 352, 353, + 354, 356, 355, 357, 357, 358, 358, 360, 359, 361, + 361, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 364, - 363, 366, 365, 367, 367, 368, 368, 370, 369, 372, - 371, 373, 373, 374, 374, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 376, 377, 378, 380, 379, - 382, 381, 384, 383, 385, 387, 386, 388, 390, 389, - 391, 391, 392, 392, 394, 393, 396, 395, 397, 397, - 398, 398, 399, 399, 399, 399, 399, 399, 399, 399, - 399, 400, 402, 401, 403, 404, 405, 406, 408, 407, - 409, 409, 410, 410, 412, 411, 414, 413, 415, 415, - 416, 416, 416, 416, 416, 416, 416, 418, 417, 420, - 419, 422, 421, 424, 423, 425, 425, 426, 426, 428, - 427, 430, 429, 431, 431, 432, 432, 432, 432, 432, - 432, 432, 432, 432, 432, 432, 434, 433, 435, 437, - 436, 438, 439, 441, 440, 442, 442, 443, 443, 445, - 444, 447, 446, 448, 448, 449, 449, 450, 450, 450, - 450, 450, 450, 450, 450, 450, 450, 450, 452, 451, - 454, 453, 456, 455, 458, 457, 460, 459, 462, 461, - 464, 463, 466, 465, 467, 467, 469, 468, 471, 470, - 472, 472, 474, 473, 475, 475, 476, 476, 477, 477, - 477, 477, 477, 477, 477, 478, 480, 479, 481, 483, - 482, 484, 484, 485, 485, 485, 485, 485, 485, 485, - 485, 485, 487, 486, 488, 488, 488, 489, 491, 490, - 492, 493, 494, 496, 495, 497, 497, 498, 498, 498, - 498, 498, 500, 499, 502, 501, 504, 503, 506, 505, - 508, 507, 509, 509, 510, 510, 510, 510, 510, 510, + 362, 364, 363, 366, 365, 367, 367, 368, 368, 370, + 369, 372, 371, 373, 373, 374, 374, 375, 375, 375, + 375, 375, 375, 375, 375, 375, 375, 376, 377, 378, + 380, 379, 382, 381, 384, 383, 385, 387, 386, 388, + 390, 389, 391, 391, 392, 392, 394, 393, 396, 395, + 397, 397, 398, 398, 399, 399, 399, 399, 399, 399, + 399, 399, 399, 400, 402, 401, 403, 404, 405, 406, + 408, 407, 409, 409, 410, 410, 412, 411, 414, 413, + 415, 415, 416, 416, 416, 416, 416, 416, 416, 418, + 417, 420, 419, 422, 421, 424, 423, 425, 425, 426, + 426, 428, 427, 430, 429, 431, 431, 432, 432, 432, + 432, 432, 432, 432, 432, 432, 432, 432, 434, 433, + 435, 437, 436, 438, 439, 441, 440, 442, 442, 443, + 443, 445, 444, 447, 446, 448, 448, 449, 449, 450, + 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, + 452, 451, 454, 453, 456, 455, 458, 457, 460, 459, + 462, 461, 464, 463, 466, 465, 467, 467, 469, 468, + 471, 470, 472, 472, 474, 473, 475, 475, 476, 476, + 477, 477, 477, 477, 477, 477, 477, 478, 480, 479, + 481, 483, 482, 484, 484, 485, 485, 485, 485, 485, + 485, 485, 485, 485, 487, 486, 488, 488, 488, 489, + 491, 490, 492, 493, 494, 496, 495, 497, 497, 498, + 498, 498, 498, 498, 500, 499, 502, 501, 504, 503, + 506, 505, 508, 507, 509, 509, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, - 510, 510, 511, 513, 512, 515, 514, 516, 518, 517, - 519, 520, 522, 521, 523, 523, 525, 524, 526, 527, - 529, 528, 530, 530, 530, 530, 530, 532, 531, 534, - 533, 536, 535, 538, 537, 540, 539, 542, 541, 544, - 543, 546, 545, 547, 547, 548, 548, 550, 549, 551, - 553, 552, 555, 554, 556, 556, 557, 559, 558, 560, - 560, 562, 561, 563, 563, 564, 564, 564, 564, 564, - 564, 564, 565, 567, 566, 569, 568, 570, 570, 572, - 571, 573, 573, 574, 574, 574, 574, 576, 575, 577, - 578, 579 + 510, 510, 510, 510, 511, 513, 512, 515, 514, 516, + 518, 517, 519, 520, 522, 521, 523, 523, 525, 524, + 526, 527, 529, 528, 530, 530, 530, 530, 530, 532, + 531, 534, 533, 536, 535, 538, 537, 540, 539, 542, + 541, 544, 543, 546, 545, 547, 547, 548, 548, 550, + 549, 551, 553, 552, 555, 554, 556, 556, 557, 559, + 558, 560, 560, 562, 561, 563, 563, 564, 564, 564, + 564, 564, 564, 564, 565, 567, 566, 569, 568, 570, + 570, 572, 571, 573, 573, 574, 574, 574, 574, 576, + 575, 577, 578, 579 }; const unsigned char @@ -4870,65 +4872,65 @@ namespace isc { namespace dhcp { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 0, 4, 3, 3, 3, 3, 3, - 3, 3, 3, 0, 4, 0, 6, 0, 4, 1, - 3, 1, 1, 1, 1, 1, 0, 4, 3, 0, - 6, 0, 6, 0, 6, 0, 1, 1, 3, 0, - 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 0, 4, 3, 3, 3, + 3, 3, 3, 3, 3, 0, 4, 0, 6, 0, + 4, 1, 3, 1, 1, 1, 1, 1, 0, 4, + 3, 0, 6, 0, 6, 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, - 1, 1, 1, 0, 4, 1, 1, 1, 1, 0, - 4, 0, 4, 0, 4, 3, 0, 4, 3, 3, - 3, 3, 3, 3, 3, 3, 0, 4, 3, 0, - 4, 0, 4, 0, 4, 0, 6, 1, 3, 1, + 1, 1, 1, 1, 1, 0, 4, 1, 1, 1, + 1, 0, 4, 0, 4, 0, 4, 3, 0, 4, + 3, 3, 3, 3, 3, 3, 3, 3, 0, 4, + 3, 0, 4, 0, 4, 0, 4, 0, 6, 1, + 3, 1, 0, 4, 0, 6, 1, 3, 1, 1, + 1, 1, 0, 6, 1, 3, 1, 1, 1, 1, + 1, 0, 6, 0, 6, 0, 1, 1, 3, 0, + 4, 0, 4, 1, 3, 1, 1, 1, 0, 4, 0, 4, 0, 6, 1, 3, 1, 1, 1, 1, - 0, 6, 1, 3, 1, 1, 1, 1, 1, 0, - 6, 0, 6, 0, 1, 1, 3, 0, 4, 0, - 4, 1, 3, 1, 1, 1, 0, 4, 0, 4, - 0, 6, 1, 3, 1, 1, 1, 1, 1, 1, - 3, 3, 3, 3, 3, 3, 0, 6, 0, 1, - 1, 3, 0, 4, 0, 4, 1, 3, 1, 1, + 1, 1, 3, 3, 3, 3, 3, 3, 0, 6, + 0, 1, 1, 3, 0, 4, 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 4, 0, 4, 0, 4, 0, 4, 0, - 4, 0, 4, 1, 1, 1, 1, 3, 3, 0, - 6, 0, 1, 1, 3, 0, 4, 1, 3, 1, + 1, 1, 1, 0, 4, 0, 4, 0, 4, 0, + 4, 0, 4, 0, 4, 1, 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, 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, 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, - 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, 1, 1, 0, 4, 0, - 4, 0, 4, 0, 6, 0, 1, 1, 3, 0, - 4, 0, 4, 1, 3, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 4, 3, 0, - 4, 3, 3, 0, 6, 0, 1, 1, 3, 0, + 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, 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, 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, 1, 1, 0, + 4, 0, 4, 0, 4, 0, 6, 0, 1, 1, + 3, 0, 4, 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, + 3, 0, 4, 3, 3, 0, 6, 0, 1, 1, + 3, 0, 4, 0, 4, 0, 1, 1, 3, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, - 0, 4, 0, 6, 1, 1, 0, 4, 0, 6, - 1, 3, 0, 4, 0, 1, 1, 3, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 4, 3, 0, - 6, 1, 3, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 4, 1, 1, 1, 3, 0, 4, - 3, 3, 3, 0, 6, 1, 3, 1, 1, 1, - 1, 1, 0, 4, 0, 4, 0, 4, 0, 6, - 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, + 0, 4, 0, 4, 0, 6, 1, 1, 0, 4, + 0, 6, 1, 3, 0, 4, 0, 1, 1, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, + 3, 0, 6, 1, 3, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 4, 1, 1, 1, 3, + 0, 4, 3, 3, 3, 0, 6, 1, 3, 1, + 1, 1, 1, 1, 0, 4, 0, 4, 0, 4, + 0, 6, 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 0, 4, 0, 4, 3, 0, 4, - 3, 3, 0, 4, 1, 1, 0, 4, 3, 3, - 0, 4, 1, 1, 1, 1, 1, 0, 4, 0, + 1, 1, 1, 1, 3, 0, 4, 0, 4, 3, + 0, 4, 3, 3, 0, 4, 1, 1, 0, 4, + 3, 3, 0, 4, 1, 1, 1, 1, 1, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, - 6, 0, 4, 1, 3, 1, 1, 0, 6, 3, - 0, 6, 0, 4, 1, 3, 1, 0, 6, 1, - 3, 0, 4, 1, 3, 1, 1, 1, 1, 1, - 1, 1, 3, 0, 4, 0, 6, 1, 3, 0, - 4, 1, 3, 1, 1, 1, 1, 0, 4, 3, - 3, 3 + 4, 0, 6, 0, 4, 1, 3, 1, 1, 0, + 6, 3, 0, 6, 0, 4, 1, 3, 1, 0, + 6, 1, 3, 0, 4, 1, 3, 1, 1, 1, + 1, 1, 1, 1, 3, 0, 4, 0, 6, 1, + 3, 0, 4, 1, 3, 1, 1, 1, 1, 0, + 4, 3, 3, 3 }; @@ -5100,65 +5102,65 @@ namespace isc { namespace dhcp { 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 482, 485, 485, 493, 498, 503, 508, 513, - 518, 523, 528, 533, 533, 541, 541, 552, 552, 561, - 562, 565, 566, 567, 568, 569, 572, 572, 582, 588, - 588, 600, 600, 612, 612, 622, 623, 626, 627, 630, - 630, 640, 641, 644, 645, 646, 647, 648, 649, 650, + 480, 481, 482, 483, 484, 487, 487, 495, 500, 505, + 510, 515, 520, 525, 530, 535, 535, 543, 543, 554, + 554, 563, 564, 567, 568, 569, 570, 571, 574, 574, + 584, 590, 590, 602, 602, 614, 614, 624, 625, 628, + 629, 632, 632, 642, 643, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, - 661, 662, 663, 666, 666, 673, 674, 675, 676, 679, - 679, 687, 687, 695, 695, 703, 708, 708, 716, 721, - 726, 731, 736, 741, 746, 751, 756, 756, 764, 769, - 769, 777, 777, 785, 785, 793, 793, 803, 804, 806, - 808, 808, 826, 826, 836, 837, 840, 841, 844, 849, - 854, 854, 864, 865, 868, 869, 870, 873, 878, 885, - 885, 895, 895, 905, 906, 909, 910, 913, 913, 923, - 923, 933, 934, 935, 938, 939, 942, 942, 950, 950, - 958, 958, 969, 970, 973, 974, 975, 976, 977, 978, - 981, 986, 991, 996, 1001, 1006, 1014, 1014, 1027, 1028, - 1031, 1032, 1039, 1039, 1065, 1065, 1076, 1077, 1081, 1082, + 661, 662, 663, 664, 665, 668, 668, 675, 676, 677, + 678, 681, 681, 689, 689, 697, 697, 705, 710, 710, + 718, 723, 728, 733, 738, 743, 748, 753, 758, 758, + 766, 771, 771, 779, 779, 787, 787, 795, 795, 805, + 806, 808, 810, 810, 828, 828, 838, 839, 842, 843, + 846, 851, 856, 856, 866, 867, 870, 871, 872, 875, + 880, 887, 887, 897, 897, 907, 908, 911, 912, 915, + 915, 925, 925, 935, 936, 937, 940, 941, 944, 944, + 952, 952, 960, 960, 971, 972, 975, 976, 977, 978, + 979, 980, 983, 988, 993, 998, 1003, 1008, 1016, 1016, + 1029, 1030, 1033, 1034, 1041, 1041, 1067, 1067, 1078, 1079, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, - 1103, 1106, 1106, 1114, 1114, 1122, 1122, 1130, 1130, 1138, - 1138, 1148, 1148, 1155, 1156, 1157, 1158, 1161, 1166, 1174, - 1174, 1185, 1186, 1190, 1191, 1194, 1194, 1202, 1203, 1206, - 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, - 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1232, - 1232, 1245, 1245, 1254, 1255, 1258, 1259, 1264, 1264, 1279, - 1279, 1293, 1294, 1297, 1298, 1301, 1302, 1303, 1304, 1305, - 1306, 1307, 1308, 1309, 1310, 1313, 1315, 1320, 1322, 1322, - 1330, 1330, 1338, 1338, 1346, 1348, 1348, 1356, 1365, 1365, - 1377, 1378, 1383, 1384, 1389, 1389, 1401, 1401, 1413, 1414, - 1419, 1420, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, - 1433, 1436, 1438, 1438, 1446, 1448, 1450, 1455, 1463, 1463, - 1475, 1476, 1479, 1480, 1483, 1483, 1493, 1493, 1502, 1503, - 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1515, 1515, 1523, - 1523, 1548, 1548, 1578, 1578, 1590, 1591, 1594, 1595, 1598, - 1598, 1610, 1610, 1622, 1623, 1626, 1627, 1628, 1629, 1630, - 1631, 1632, 1633, 1634, 1635, 1636, 1639, 1639, 1647, 1652, - 1652, 1660, 1665, 1673, 1673, 1683, 1684, 1687, 1688, 1691, - 1691, 1700, 1700, 1709, 1710, 1713, 1714, 1718, 1719, 1720, - 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1731, 1731, - 1741, 1741, 1751, 1751, 1759, 1759, 1767, 1767, 1775, 1775, - 1783, 1783, 1796, 1796, 1806, 1807, 1810, 1810, 1821, 1821, - 1831, 1832, 1835, 1835, 1845, 1846, 1849, 1850, 1853, 1854, - 1855, 1856, 1857, 1858, 1859, 1862, 1864, 1864, 1872, 1880, - 1880, 1892, 1893, 1896, 1897, 1898, 1899, 1900, 1901, 1902, - 1903, 1904, 1907, 1907, 1914, 1915, 1916, 1919, 1924, 1924, - 1932, 1937, 1944, 1951, 1951, 1961, 1962, 1965, 1966, 1967, - 1968, 1969, 1972, 1972, 1980, 1980, 1990, 1990, 2030, 2030, - 2042, 2042, 2052, 2053, 2056, 2057, 2058, 2059, 2060, 2061, + 1103, 1104, 1105, 1108, 1108, 1116, 1116, 1124, 1124, 1132, + 1132, 1140, 1140, 1150, 1150, 1157, 1158, 1159, 1160, 1163, + 1168, 1176, 1176, 1187, 1188, 1192, 1193, 1196, 1196, 1204, + 1205, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, + 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, + 1227, 1234, 1234, 1247, 1247, 1256, 1257, 1260, 1261, 1266, + 1266, 1281, 1281, 1295, 1296, 1299, 1300, 1303, 1304, 1305, + 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1315, 1317, 1322, + 1324, 1324, 1332, 1332, 1340, 1340, 1348, 1350, 1350, 1358, + 1367, 1367, 1379, 1380, 1385, 1386, 1391, 1391, 1403, 1403, + 1415, 1416, 1421, 1422, 1427, 1428, 1429, 1430, 1431, 1432, + 1433, 1434, 1435, 1438, 1440, 1440, 1448, 1450, 1452, 1457, + 1465, 1465, 1477, 1478, 1481, 1482, 1485, 1485, 1495, 1495, + 1504, 1505, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1517, + 1517, 1525, 1525, 1550, 1550, 1580, 1580, 1592, 1593, 1596, + 1597, 1600, 1600, 1612, 1612, 1624, 1625, 1628, 1629, 1630, + 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1641, 1641, + 1649, 1654, 1654, 1662, 1667, 1675, 1675, 1685, 1686, 1689, + 1690, 1693, 1693, 1702, 1702, 1711, 1712, 1715, 1716, 1720, + 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, + 1733, 1733, 1743, 1743, 1753, 1753, 1761, 1761, 1769, 1769, + 1777, 1777, 1785, 1785, 1798, 1798, 1808, 1809, 1812, 1812, + 1823, 1823, 1833, 1834, 1837, 1837, 1847, 1848, 1851, 1852, + 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1864, 1866, 1866, + 1874, 1882, 1882, 1894, 1895, 1898, 1899, 1900, 1901, 1902, + 1903, 1904, 1905, 1906, 1909, 1909, 1916, 1917, 1918, 1921, + 1926, 1926, 1934, 1939, 1946, 1953, 1953, 1963, 1964, 1967, + 1968, 1969, 1970, 1971, 1974, 1974, 1982, 1982, 1992, 1992, + 2032, 2032, 2044, 2044, 2054, 2055, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, - 2072, 2073, 2076, 2081, 2081, 2089, 2089, 2097, 2102, 2102, - 2110, 2115, 2120, 2120, 2128, 2129, 2132, 2132, 2140, 2145, - 2150, 2150, 2158, 2161, 2164, 2167, 2170, 2176, 2176, 2184, - 2184, 2192, 2192, 2202, 2202, 2209, 2209, 2216, 2216, 2225, - 2225, 2236, 2236, 2246, 2247, 2251, 2252, 2255, 2255, 2265, - 2275, 2275, 2285, 2285, 2296, 2297, 2301, 2305, 2305, 2317, - 2318, 2322, 2322, 2330, 2331, 2334, 2335, 2336, 2337, 2338, - 2339, 2340, 2343, 2348, 2348, 2356, 2356, 2366, 2367, 2370, - 2370, 2378, 2379, 2382, 2383, 2384, 2385, 2388, 2388, 2396, - 2401, 2406 + 2072, 2073, 2074, 2075, 2078, 2083, 2083, 2091, 2091, 2099, + 2104, 2104, 2112, 2117, 2122, 2122, 2130, 2131, 2134, 2134, + 2142, 2147, 2152, 2152, 2160, 2163, 2166, 2169, 2172, 2178, + 2178, 2186, 2186, 2194, 2194, 2204, 2204, 2211, 2211, 2218, + 2218, 2227, 2227, 2238, 2238, 2248, 2249, 2253, 2254, 2257, + 2257, 2267, 2277, 2277, 2287, 2287, 2298, 2299, 2303, 2307, + 2307, 2319, 2320, 2324, 2324, 2332, 2333, 2336, 2337, 2338, + 2339, 2340, 2341, 2342, 2345, 2350, 2350, 2358, 2358, 2368, + 2369, 2372, 2372, 2380, 2381, 2384, 2385, 2386, 2387, 2390, + 2390, 2398, 2403, 2408 }; // Print the state stack on the debug stream. @@ -5191,10 +5193,11 @@ namespace isc { namespace dhcp { #endif // PARSER6_DEBUG -#line 14 "dhcp6_parser.yy" // lalr1.cc:1242 +#line 14 "dhcp6_parser.yy" } } // isc::dhcp -#line 5197 "dhcp6_parser.cc" // lalr1.cc:1242 -#line 2411 "dhcp6_parser.yy" // lalr1.cc:1243 +#line 5199 "dhcp6_parser.cc" + +#line 2413 "dhcp6_parser.yy" void diff --git a/src/bin/dhcp6/dhcp6_parser.h b/src/bin/dhcp6/dhcp6_parser.h index ffbcb760ef..6b224c4b6b 100644 --- a/src/bin/dhcp6/dhcp6_parser.h +++ b/src/bin/dhcp6/dhcp6_parser.h @@ -1,4 +1,4 @@ -// A Bison parser, made by GNU Bison 3.3.2. +// A Bison parser, made by GNU Bison 3.4.1. // Skeleton interface for Bison LALR(1) parsers in C++ @@ -44,7 +44,7 @@ #ifndef YY_PARSER6_DHCP6_PARSER_H_INCLUDED # define YY_PARSER6_DHCP6_PARSER_H_INCLUDED // // "%code requires" blocks. -#line 17 "dhcp6_parser.yy" // lalr1.cc:401 +#line 17 "dhcp6_parser.yy" #include #include @@ -56,7 +56,7 @@ using namespace isc::dhcp; using namespace isc::data; using namespace std; -#line 60 "dhcp6_parser.h" // lalr1.cc:401 +#line 60 "dhcp6_parser.h" # include # include // std::abort @@ -178,9 +178,10 @@ using namespace std; # endif /* ! defined YYDEBUG */ #endif /* ! defined PARSER6_DEBUG */ -#line 14 "dhcp6_parser.yy" // lalr1.cc:401 +#line 14 "dhcp6_parser.yy" namespace isc { namespace dhcp { -#line 184 "dhcp6_parser.h" // lalr1.cc:401 +#line 184 "dhcp6_parser.h" + @@ -3964,7 +3965,7 @@ switch (yytype) enum { yyeof_ = 0, - yylast_ = 1065, ///< Last index in yytable_. + yylast_ = 1064, ///< Last index in yytable_. yynnts_ = 399, ///< Number of nonterminal symbols. yyfinal_ = 32, ///< Termination state number. yyterror_ = 1, @@ -4255,9 +4256,10 @@ switch (yytype) return token_type (yytoken_number_[type]); } -#line 14 "dhcp6_parser.yy" // lalr1.cc:401 +#line 14 "dhcp6_parser.yy" } } // isc::dhcp -#line 4261 "dhcp6_parser.h" // lalr1.cc:401 +#line 4262 "dhcp6_parser.h" + diff --git a/src/bin/dhcp6/location.hh b/src/bin/dhcp6/location.hh index 46a3c9fcc7..f60c610d0d 100644 --- a/src/bin/dhcp6/location.hh +++ b/src/bin/dhcp6/location.hh @@ -1,8 +1,5 @@ -// Generated 201906101912 -// Generated 201906101912 -// Generated 201906101912 -// Generated 201905221354 -// A Bison parser, made by GNU Bison 3.3.2. +// Generated 201906110013 +// A Bison parser, made by GNU Bison 3.4.1. // Locations for Bison parsers in C++ @@ -58,9 +55,10 @@ # endif # endif -#line 14 "dhcp6_parser.yy" // location.cc:339 +#line 14 "dhcp6_parser.yy" namespace isc { namespace dhcp { -#line 60 "location.hh" // location.cc:339 +#line 60 "location.hh" + /// A point in a source file. class position { @@ -320,7 +318,8 @@ namespace isc { namespace dhcp { return ostr; } -#line 14 "dhcp6_parser.yy" // location.cc:339 +#line 14 "dhcp6_parser.yy" } } // isc::dhcp -#line 322 "location.hh" // location.cc:339 +#line 323 "location.hh" + #endif // !YY_PARSER6_LOCATION_HH_INCLUDED diff --git a/src/bin/dhcp6/position.hh b/src/bin/dhcp6/position.hh index 4c3fffaabf..62237de497 100644 --- a/src/bin/dhcp6/position.hh +++ b/src/bin/dhcp6/position.hh @@ -1,8 +1,5 @@ -// Generated 201906101912 -// Generated 201906101912 -// Generated 201906101912 -// Generated 201905221354 -// A Bison parser, made by GNU Bison 3.3.2. +// Generated 201906110013 +// A Bison parser, made by GNU Bison 3.4.1. // Starting with Bison 3.2, this file is useless: the structure it // used to define is now defined in "location.hh". diff --git a/src/bin/dhcp6/stack.hh b/src/bin/dhcp6/stack.hh index 008e119a17..5c0b9bdb0e 100644 --- a/src/bin/dhcp6/stack.hh +++ b/src/bin/dhcp6/stack.hh @@ -1,8 +1,5 @@ -// Generated 201906101912 -// Generated 201906101912 -// Generated 201906101912 -// Generated 201905221354 -// A Bison parser, made by GNU Bison 3.3.2. +// Generated 201906110013 +// A Bison parser, made by GNU Bison 3.4.1. // Starting with Bison 3.2, this file is useless: the structure it // used to define is now defined with the parser itself.