]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[trac5351] regen flex/bison
authorFrancis Dupont <fdupont@isc.org>
Fri, 1 Dec 2017 10:36:07 +0000 (10:36 +0000)
committerFrancis Dupont <fdupont@isc.org>
Fri, 1 Dec 2017 10:36:07 +0000 (10:36 +0000)
12 files changed:
src/bin/dhcp4/dhcp4_lexer.cc
src/bin/dhcp4/dhcp4_parser.cc
src/bin/dhcp4/dhcp4_parser.h
src/bin/dhcp4/location.hh
src/bin/dhcp4/position.hh
src/bin/dhcp4/stack.hh
src/bin/dhcp6/dhcp6_lexer.cc
src/bin/dhcp6/dhcp6_parser.cc
src/bin/dhcp6/dhcp6_parser.h
src/bin/dhcp6/location.hh
src/bin/dhcp6/position.hh
src/bin/dhcp6/stack.hh

index 478a9a5a03cc160eda465e2176fe4cc53a7a651f..0aa46ef2296563e567a94ac2475cf06c9d96d92f 100644 (file)
@@ -1588,18 +1588,18 @@ static const flex_int16_t yy_rule_linenum[159] =
       269,  278,  287,  296,  305,  316,  325,  334,  343,  352,
       362,  372,  382,  392,  402,  412,  422,  432,  442,  453,
       464,  475,  484,  494,  503,  513,  528,  544,  553,  562,
-      571,  580,  595,  610,  619,  629,  638,  647,  656,  666,
-      675,  684,  693,  702,  712,  721,  730,  739,  748,  757,
-      766,  775,  784,  793,  802,  812,  823,  833,  842,  852,
-      862,  872,  882,  892,  901,  911,  920,  929,  938,  947,
-      957,  967,  977,  986,  995, 1004, 1013, 1022, 1031, 1040,
-
-     1049, 1058, 1067, 1076, 1085, 1094, 1103, 1112, 1121, 1130,
-     1139, 1148, 1157, 1166, 1175, 1184, 1193, 1202, 1211, 1220,
-     1229, 1239, 1249, 1259, 1269, 1279, 1289, 1299, 1309, 1319,
-     1328, 1337, 1346, 1355, 1364, 1373, 1382, 1393, 1406, 1419,
-     1434, 1532, 1537, 1542, 1547, 1548, 1549, 1550, 1551, 1552,
-     1554, 1572, 1585, 1590, 1594, 1596, 1598, 1600
+      571,  580,  602,  624,  633,  643,  652,  661,  670,  680,
+      689,  698,  707,  716,  726,  735,  744,  753,  762,  771,
+      780,  789,  798,  807,  816,  826,  837,  847,  856,  866,
+      876,  886,  896,  906,  915,  925,  934,  943,  952,  961,
+      971,  981,  991, 1000, 1009, 1018, 1027, 1036, 1045, 1054,
+
+     1063, 1072, 1081, 1090, 1099, 1108, 1117, 1126, 1135, 1144,
+     1153, 1162, 1171, 1180, 1189, 1198, 1207, 1216, 1225, 1234,
+     1243, 1253, 1263, 1273, 1283, 1293, 1303, 1313, 1323, 1333,
+     1342, 1351, 1360, 1369, 1378, 1387, 1396, 1407, 1420, 1433,
+     1448, 1546, 1551, 1556, 1561, 1562, 1563, 1564, 1565, 1566,
+     1568, 1586, 1599, 1604, 1608, 1610, 1612, 1614
     } ;
 
 /* The intent behind this definition is that it'll catch
@@ -2688,12 +2688,19 @@ YY_RULE_SETUP
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
+    case isc::dhcp::Parser4Context::INTERFACES_CONFIG:
+    case isc::dhcp::Parser4Context::LEASE_DATABASE:
+    case isc::dhcp::Parser4Context::HOSTS_DATABASE:
+    case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
     case isc::dhcp::Parser4Context::SUBNET4:
     case isc::dhcp::Parser4Context::POOLS:
     case isc::dhcp::Parser4Context::SHARED_NETWORK:
     case isc::dhcp::Parser4Context::OPTION_DEF:
     case isc::dhcp::Parser4Context::OPTION_DATA:
+    case isc::dhcp::Parser4Context::RESERVATIONS:
     case isc::dhcp::Parser4Context::CLIENT_CLASSES:
+    case isc::dhcp::Parser4Context::LOGGERS:
+    case isc::dhcp::Parser4Context::DHCP_DDNS:
         return isc::dhcp::Dhcp4Parser::make_USER_CONTEXT(driver.loc_);
     default:
         return isc::dhcp::Dhcp4Parser::make_STRING("user-context", driver.loc_);
@@ -2702,16 +2709,23 @@ YY_RULE_SETUP
        YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 595 "dhcp4_lexer.ll"
+#line 602 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
+    case isc::dhcp::Parser4Context::INTERFACES_CONFIG:
+    case isc::dhcp::Parser4Context::LEASE_DATABASE:
+    case isc::dhcp::Parser4Context::HOSTS_DATABASE:
+    case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
     case isc::dhcp::Parser4Context::SUBNET4:
     case isc::dhcp::Parser4Context::POOLS:
     case isc::dhcp::Parser4Context::SHARED_NETWORK:
     case isc::dhcp::Parser4Context::OPTION_DEF:
     case isc::dhcp::Parser4Context::OPTION_DATA:
+    case isc::dhcp::Parser4Context::RESERVATIONS:
     case isc::dhcp::Parser4Context::CLIENT_CLASSES:
+    case isc::dhcp::Parser4Context::LOGGERS:
+    case isc::dhcp::Parser4Context::DHCP_DDNS:
         return isc::dhcp::Dhcp4Parser::make_COMMENT(driver.loc_);
     default:
         return isc::dhcp::Dhcp4Parser::make_STRING("comment", driver.loc_);
@@ -2720,7 +2734,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 54:
 YY_RULE_SETUP
-#line 610 "dhcp4_lexer.ll"
+#line 624 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -2732,7 +2746,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 55:
 YY_RULE_SETUP
-#line 619 "dhcp4_lexer.ll"
+#line 633 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -2745,7 +2759,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 56:
 YY_RULE_SETUP
-#line 629 "dhcp4_lexer.ll"
+#line 643 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -2757,7 +2771,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 57:
 YY_RULE_SETUP
-#line 638 "dhcp4_lexer.ll"
+#line 652 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -2769,7 +2783,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 58:
 YY_RULE_SETUP
-#line 647 "dhcp4_lexer.ll"
+#line 661 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -2781,7 +2795,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 59:
 YY_RULE_SETUP
-#line 656 "dhcp4_lexer.ll"
+#line 670 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -2794,7 +2808,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 60:
 YY_RULE_SETUP
-#line 666 "dhcp4_lexer.ll"
+#line 680 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RESERVATION_MODE:
@@ -2806,7 +2820,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 675 "dhcp4_lexer.ll"
+#line 689 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RESERVATION_MODE:
@@ -2818,7 +2832,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 62:
 YY_RULE_SETUP
-#line 684 "dhcp4_lexer.ll"
+#line 698 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RESERVATION_MODE:
@@ -2830,7 +2844,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 63:
 YY_RULE_SETUP
-#line 693 "dhcp4_lexer.ll"
+#line 707 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RESERVATION_MODE:
@@ -2842,7 +2856,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 64:
 YY_RULE_SETUP
-#line 702 "dhcp4_lexer.ll"
+#line 716 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DEF:
@@ -2855,7 +2869,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 65:
 YY_RULE_SETUP
-#line 712 "dhcp4_lexer.ll"
+#line 726 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -2867,7 +2881,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 66:
 YY_RULE_SETUP
-#line 721 "dhcp4_lexer.ll"
+#line 735 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONFIG:
@@ -2879,7 +2893,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 67:
 YY_RULE_SETUP
-#line 730 "dhcp4_lexer.ll"
+#line 744 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LOGGING:
@@ -2891,7 +2905,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 68:
 YY_RULE_SETUP
-#line 739 "dhcp4_lexer.ll"
+#line 753 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LOGGERS:
@@ -2903,7 +2917,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 69:
 YY_RULE_SETUP
-#line 748 "dhcp4_lexer.ll"
+#line 762 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
@@ -2915,7 +2929,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 70:
 YY_RULE_SETUP
-#line 757 "dhcp4_lexer.ll"
+#line 771 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LOGGERS:
@@ -2927,7 +2941,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 71:
 YY_RULE_SETUP
-#line 766 "dhcp4_lexer.ll"
+#line 780 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
@@ -2939,7 +2953,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 72:
 YY_RULE_SETUP
-#line 775 "dhcp4_lexer.ll"
+#line 789 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
@@ -2951,7 +2965,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 73:
 YY_RULE_SETUP
-#line 784 "dhcp4_lexer.ll"
+#line 798 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
@@ -2963,7 +2977,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 74:
 YY_RULE_SETUP
-#line 793 "dhcp4_lexer.ll"
+#line 807 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LOGGERS:
@@ -2975,7 +2989,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 75:
 YY_RULE_SETUP
-#line 802 "dhcp4_lexer.ll"
+#line 816 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -2988,7 +3002,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 76:
 YY_RULE_SETUP
-#line 812 "dhcp4_lexer.ll"
+#line 826 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3002,7 +3016,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 77:
 YY_RULE_SETUP
-#line 823 "dhcp4_lexer.ll"
+#line 837 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CLIENT_CLASSES:
@@ -3015,7 +3029,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 78:
 YY_RULE_SETUP
-#line 833 "dhcp4_lexer.ll"
+#line 847 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3027,7 +3041,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 79:
 YY_RULE_SETUP
-#line 842 "dhcp4_lexer.ll"
+#line 856 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3040,7 +3054,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 852 "dhcp4_lexer.ll"
+#line 866 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3053,7 +3067,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 81:
 YY_RULE_SETUP
-#line 862 "dhcp4_lexer.ll"
+#line 876 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3066,7 +3080,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 82:
 YY_RULE_SETUP
-#line 872 "dhcp4_lexer.ll"
+#line 886 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3079,7 +3093,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 83:
 YY_RULE_SETUP
-#line 882 "dhcp4_lexer.ll"
+#line 896 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3092,7 +3106,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 84:
 YY_RULE_SETUP
-#line 892 "dhcp4_lexer.ll"
+#line 906 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RESERVATIONS:
@@ -3104,7 +3118,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 85:
 YY_RULE_SETUP
-#line 901 "dhcp4_lexer.ll"
+#line 915 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DEF:
@@ -3117,7 +3131,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 86:
 YY_RULE_SETUP
-#line 911 "dhcp4_lexer.ll"
+#line 925 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DATA:
@@ -3129,7 +3143,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 87:
 YY_RULE_SETUP
-#line 920 "dhcp4_lexer.ll"
+#line 934 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DEF:
@@ -3141,7 +3155,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 88:
 YY_RULE_SETUP
-#line 929 "dhcp4_lexer.ll"
+#line 943 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DEF:
@@ -3153,7 +3167,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 938 "dhcp4_lexer.ll"
+#line 952 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DEF:
@@ -3165,7 +3179,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 947 "dhcp4_lexer.ll"
+#line 961 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3178,7 +3192,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 91:
 YY_RULE_SETUP
-#line 957 "dhcp4_lexer.ll"
+#line 971 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RELAY:
@@ -3191,7 +3205,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 967 "dhcp4_lexer.ll"
+#line 981 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3203,7 +3217,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 93:
 YY_RULE_SETUP
-#line 977 "dhcp4_lexer.ll"
+#line 991 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
@@ -3215,7 +3229,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 986 "dhcp4_lexer.ll"
+#line 1000 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
@@ -3227,7 +3241,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 995 "dhcp4_lexer.ll"
+#line 1009 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3239,7 +3253,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 1004 "dhcp4_lexer.ll"
+#line 1018 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3251,7 +3265,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 1013 "dhcp4_lexer.ll"
+#line 1027 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3263,7 +3277,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 1022 "dhcp4_lexer.ll"
+#line 1036 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3275,7 +3289,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 99:
 YY_RULE_SETUP
-#line 1031 "dhcp4_lexer.ll"
+#line 1045 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3287,7 +3301,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 100:
 YY_RULE_SETUP
-#line 1040 "dhcp4_lexer.ll"
+#line 1054 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3299,7 +3313,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 101:
 YY_RULE_SETUP
-#line 1049 "dhcp4_lexer.ll"
+#line 1063 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3311,7 +3325,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 102:
 YY_RULE_SETUP
-#line 1058 "dhcp4_lexer.ll"
+#line 1072 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3323,7 +3337,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 103:
 YY_RULE_SETUP
-#line 1067 "dhcp4_lexer.ll"
+#line 1081 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3335,7 +3349,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 104:
 YY_RULE_SETUP
-#line 1076 "dhcp4_lexer.ll"
+#line 1090 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONTROL_SOCKET:
@@ -3347,7 +3361,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 105:
 YY_RULE_SETUP
-#line 1085 "dhcp4_lexer.ll"
+#line 1099 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONTROL_SOCKET:
@@ -3359,7 +3373,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 106:
 YY_RULE_SETUP
-#line 1094 "dhcp4_lexer.ll"
+#line 1108 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3371,7 +3385,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 107:
 YY_RULE_SETUP
-#line 1103 "dhcp4_lexer.ll"
+#line 1117 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3383,7 +3397,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 108:
 YY_RULE_SETUP
-#line 1112 "dhcp4_lexer.ll"
+#line 1126 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3395,7 +3409,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 109:
 YY_RULE_SETUP
-#line 1121 "dhcp4_lexer.ll"
+#line 1135 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3407,7 +3421,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 110:
 YY_RULE_SETUP
-#line 1130 "dhcp4_lexer.ll"
+#line 1144 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3419,7 +3433,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 1139 "dhcp4_lexer.ll"
+#line 1153 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3431,7 +3445,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 112:
 YY_RULE_SETUP
-#line 1148 "dhcp4_lexer.ll"
+#line 1162 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3443,7 +3457,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 113:
 YY_RULE_SETUP
-#line 1157 "dhcp4_lexer.ll"
+#line 1171 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3455,7 +3469,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 114:
 YY_RULE_SETUP
-#line 1166 "dhcp4_lexer.ll"
+#line 1180 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3467,7 +3481,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 115:
 YY_RULE_SETUP
-#line 1175 "dhcp4_lexer.ll"
+#line 1189 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3479,7 +3493,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 116:
 YY_RULE_SETUP
-#line 1184 "dhcp4_lexer.ll"
+#line 1198 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3491,7 +3505,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 117:
 YY_RULE_SETUP
-#line 1193 "dhcp4_lexer.ll"
+#line 1207 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3503,7 +3517,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 118:
 YY_RULE_SETUP
-#line 1202 "dhcp4_lexer.ll"
+#line 1216 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3515,7 +3529,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 119:
 YY_RULE_SETUP
-#line 1211 "dhcp4_lexer.ll"
+#line 1225 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3527,7 +3541,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 120:
 YY_RULE_SETUP
-#line 1220 "dhcp4_lexer.ll"
+#line 1234 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3539,7 +3553,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 121:
 YY_RULE_SETUP
-#line 1229 "dhcp4_lexer.ll"
+#line 1243 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) {
@@ -3552,7 +3566,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 122:
 YY_RULE_SETUP
-#line 1239 "dhcp4_lexer.ll"
+#line 1253 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) {
@@ -3565,7 +3579,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 123:
 YY_RULE_SETUP
-#line 1249 "dhcp4_lexer.ll"
+#line 1263 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_FORMAT) {
@@ -3578,7 +3592,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 124:
 YY_RULE_SETUP
-#line 1259 "dhcp4_lexer.ll"
+#line 1273 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3591,7 +3605,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 125:
 YY_RULE_SETUP
-#line 1269 "dhcp4_lexer.ll"
+#line 1283 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3604,7 +3618,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 126:
 YY_RULE_SETUP
-#line 1279 "dhcp4_lexer.ll"
+#line 1293 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3617,7 +3631,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 127:
 YY_RULE_SETUP
-#line 1289 "dhcp4_lexer.ll"
+#line 1303 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3630,7 +3644,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 128:
 YY_RULE_SETUP
-#line 1299 "dhcp4_lexer.ll"
+#line 1313 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3643,7 +3657,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 129:
 YY_RULE_SETUP
-#line 1309 "dhcp4_lexer.ll"
+#line 1323 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3656,7 +3670,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 130:
 YY_RULE_SETUP
-#line 1319 "dhcp4_lexer.ll"
+#line 1333 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONFIG:
@@ -3668,7 +3682,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 131:
 YY_RULE_SETUP
-#line 1328 "dhcp4_lexer.ll"
+#line 1342 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONFIG:
@@ -3680,7 +3694,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 132:
 YY_RULE_SETUP
-#line 1337 "dhcp4_lexer.ll"
+#line 1351 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONFIG:
@@ -3692,7 +3706,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 133:
 YY_RULE_SETUP
-#line 1346 "dhcp4_lexer.ll"
+#line 1360 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3704,7 +3718,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 134:
 YY_RULE_SETUP
-#line 1355 "dhcp4_lexer.ll"
+#line 1369 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3716,7 +3730,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 135:
 YY_RULE_SETUP
-#line 1364 "dhcp4_lexer.ll"
+#line 1378 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3728,7 +3742,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 136:
 YY_RULE_SETUP
-#line 1373 "dhcp4_lexer.ll"
+#line 1387 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3740,7 +3754,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 137:
 YY_RULE_SETUP
-#line 1382 "dhcp4_lexer.ll"
+#line 1396 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3754,7 +3768,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 138:
 YY_RULE_SETUP
-#line 1393 "dhcp4_lexer.ll"
+#line 1407 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3770,7 +3784,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 139:
 YY_RULE_SETUP
-#line 1406 "dhcp4_lexer.ll"
+#line 1420 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3786,7 +3800,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 140:
 YY_RULE_SETUP
-#line 1419 "dhcp4_lexer.ll"
+#line 1433 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3802,7 +3816,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 141:
 YY_RULE_SETUP
-#line 1434 "dhcp4_lexer.ll"
+#line 1448 "dhcp4_lexer.ll"
 {
     /* A string has been matched. It contains the actual string and single quotes.
        We need to get those quotes out of the way and just use its content, e.g.
@@ -3904,7 +3918,7 @@ YY_RULE_SETUP
 case 142:
 /* rule 142 can match eol */
 YY_RULE_SETUP
-#line 1532 "dhcp4_lexer.ll"
+#line 1546 "dhcp4_lexer.ll"
 {
     /* Bad string with a forbidden control character inside */
     driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
@@ -3913,7 +3927,7 @@ YY_RULE_SETUP
 case 143:
 /* rule 143 can match eol */
 YY_RULE_SETUP
-#line 1537 "dhcp4_lexer.ll"
+#line 1551 "dhcp4_lexer.ll"
 {
     /* Bad string with a bad escape inside */
     driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
@@ -3921,7 +3935,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 144:
 YY_RULE_SETUP
-#line 1542 "dhcp4_lexer.ll"
+#line 1556 "dhcp4_lexer.ll"
 {
     /* Bad string with an open escape at the end */
     driver.error(driver.loc_, "Overflow escape in " + std::string(yytext));
@@ -3929,37 +3943,37 @@ YY_RULE_SETUP
        YY_BREAK
 case 145:
 YY_RULE_SETUP
-#line 1547 "dhcp4_lexer.ll"
+#line 1561 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
 case 146:
 YY_RULE_SETUP
-#line 1548 "dhcp4_lexer.ll"
+#line 1562 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
 case 147:
 YY_RULE_SETUP
-#line 1549 "dhcp4_lexer.ll"
+#line 1563 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); }
        YY_BREAK
 case 148:
 YY_RULE_SETUP
-#line 1550 "dhcp4_lexer.ll"
+#line 1564 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); }
        YY_BREAK
 case 149:
 YY_RULE_SETUP
-#line 1551 "dhcp4_lexer.ll"
+#line 1565 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); }
        YY_BREAK
 case 150:
 YY_RULE_SETUP
-#line 1552 "dhcp4_lexer.ll"
+#line 1566 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); }
        YY_BREAK
 case 151:
 YY_RULE_SETUP
-#line 1554 "dhcp4_lexer.ll"
+#line 1568 "dhcp4_lexer.ll"
 {
     /* An integer was found. */
     std::string tmp(yytext);
@@ -3980,7 +3994,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 152:
 YY_RULE_SETUP
-#line 1572 "dhcp4_lexer.ll"
+#line 1586 "dhcp4_lexer.ll"
 {
     /* A floating point was found. */
     std::string tmp(yytext);
@@ -3996,7 +4010,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 153:
 YY_RULE_SETUP
-#line 1585 "dhcp4_lexer.ll"
+#line 1599 "dhcp4_lexer.ll"
 {
     string tmp(yytext);
     return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_);
@@ -4004,33 +4018,33 @@ YY_RULE_SETUP
        YY_BREAK
 case 154:
 YY_RULE_SETUP
-#line 1590 "dhcp4_lexer.ll"
+#line 1604 "dhcp4_lexer.ll"
 {
    return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_);
 }
        YY_BREAK
 case 155:
 YY_RULE_SETUP
-#line 1594 "dhcp4_lexer.ll"
+#line 1608 "dhcp4_lexer.ll"
 driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
        YY_BREAK
 case 156:
 YY_RULE_SETUP
-#line 1596 "dhcp4_lexer.ll"
+#line 1610 "dhcp4_lexer.ll"
 driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
        YY_BREAK
 case 157:
 YY_RULE_SETUP
-#line 1598 "dhcp4_lexer.ll"
+#line 1612 "dhcp4_lexer.ll"
 driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
        YY_BREAK
 case 158:
 YY_RULE_SETUP
-#line 1600 "dhcp4_lexer.ll"
+#line 1614 "dhcp4_lexer.ll"
 driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 1602 "dhcp4_lexer.ll"
+#line 1616 "dhcp4_lexer.ll"
 {
     if (driver.states_.empty()) {
         return isc::dhcp::Dhcp4Parser::make_END(driver.loc_);
@@ -4056,10 +4070,10 @@ case YY_STATE_EOF(INITIAL):
        YY_BREAK
 case 159:
 YY_RULE_SETUP
-#line 1625 "dhcp4_lexer.ll"
+#line 1639 "dhcp4_lexer.ll"
 ECHO;
        YY_BREAK
-#line 4062 "dhcp4_lexer.cc"
+#line 4076 "dhcp4_lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
@@ -5164,7 +5178,7 @@ void yyfree (void * ptr )
 
 /* %ok-for-header */
 
-#line 1625 "dhcp4_lexer.ll"
+#line 1639 "dhcp4_lexer.ll"
 
 
 using namespace isc::dhcp;
index 3ab20f0f34be634ecb7b84fb75351a8151d06786..97a129ee1e49347a1c1c95b214df0b960f60a497 100644 (file)
@@ -1074,8 +1074,8 @@ namespace isc { namespace dhcp {
 #line 1075 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 110:
-#line 493 "dhcp4_parser.yy" // lalr1.cc:859
+  case 113:
+#line 496 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // Parse the interfaces-config map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1084,8 +1084,8 @@ namespace isc { namespace dhcp {
 #line 1085 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 111:
-#line 497 "dhcp4_parser.yy" // lalr1.cc:859
+  case 114:
+#line 500 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // No interfaces config param is required
     // parsing completed
@@ -1093,8 +1093,8 @@ namespace isc { namespace dhcp {
 #line 1094 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 112:
-#line 502 "dhcp4_parser.yy" // lalr1.cc:859
+  case 115:
+#line 505 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("interfaces", l);
@@ -1104,8 +1104,8 @@ namespace isc { namespace dhcp {
 #line 1105 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 113:
-#line 507 "dhcp4_parser.yy" // lalr1.cc:859
+  case 116:
+#line 510 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1113,16 +1113,16 @@ namespace isc { namespace dhcp {
 #line 1114 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 114:
-#line 512 "dhcp4_parser.yy" // lalr1.cc:859
+  case 117:
+#line 515 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.DHCP_SOCKET_TYPE);
 }
 #line 1122 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 115:
-#line 514 "dhcp4_parser.yy" // lalr1.cc:859
+  case 118:
+#line 517 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("dhcp-socket-type", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -1130,28 +1130,28 @@ namespace isc { namespace dhcp {
 #line 1131 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 116:
-#line 519 "dhcp4_parser.yy" // lalr1.cc:859
+  case 119:
+#line 522 "dhcp4_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("raw", ctx.loc2pos(yystack_[0].location))); }
 #line 1137 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 117:
-#line 520 "dhcp4_parser.yy" // lalr1.cc:859
+  case 120:
+#line 523 "dhcp4_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("udp", ctx.loc2pos(yystack_[0].location))); }
 #line 1143 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 118:
-#line 523 "dhcp4_parser.yy" // lalr1.cc:859
+  case 121:
+#line 526 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.OUTBOUND_INTERFACE);
 }
 #line 1151 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 119:
-#line 525 "dhcp4_parser.yy" // lalr1.cc:859
+  case 122:
+#line 528 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("outbound-interface", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -1159,24 +1159,24 @@ namespace isc { namespace dhcp {
 #line 1160 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 120:
-#line 530 "dhcp4_parser.yy" // lalr1.cc:859
+  case 123:
+#line 533 "dhcp4_parser.yy" // lalr1.cc:859
     {
     yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("same-as-inbound", ctx.loc2pos(yystack_[0].location)));
 }
 #line 1168 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 121:
-#line 532 "dhcp4_parser.yy" // lalr1.cc:859
+  case 124:
+#line 535 "dhcp4_parser.yy" // lalr1.cc:859
     {
     yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("use-routing", ctx.loc2pos(yystack_[0].location)));
     }
 #line 1176 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 122:
-#line 536 "dhcp4_parser.yy" // lalr1.cc:859
+  case 125:
+#line 539 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("re-detect", b);
@@ -1184,8 +1184,8 @@ namespace isc { namespace dhcp {
 #line 1185 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 123:
-#line 542 "dhcp4_parser.yy" // lalr1.cc:859
+  case 126:
+#line 545 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("lease-database", i);
@@ -1195,8 +1195,8 @@ namespace isc { namespace dhcp {
 #line 1196 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 124:
-#line 547 "dhcp4_parser.yy" // lalr1.cc:859
+  case 127:
+#line 550 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // The type parameter is required
     ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
@@ -1206,8 +1206,8 @@ namespace isc { namespace dhcp {
 #line 1207 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 125:
-#line 554 "dhcp4_parser.yy" // lalr1.cc:859
+  case 128:
+#line 557 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hosts-database", i);
@@ -1217,8 +1217,8 @@ namespace isc { namespace dhcp {
 #line 1218 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 126:
-#line 559 "dhcp4_parser.yy" // lalr1.cc:859
+  case 129:
+#line 562 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // The type parameter is required
     ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
@@ -1228,16 +1228,16 @@ namespace isc { namespace dhcp {
 #line 1229 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 142:
-#line 585 "dhcp4_parser.yy" // lalr1.cc:859
+  case 147:
+#line 590 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.DATABASE_TYPE);
 }
 #line 1237 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 143:
-#line 587 "dhcp4_parser.yy" // lalr1.cc:859
+  case 148:
+#line 592 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -1245,40 +1245,40 @@ namespace isc { namespace dhcp {
 #line 1246 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 144:
-#line 592 "dhcp4_parser.yy" // lalr1.cc:859
+  case 149:
+#line 597 "dhcp4_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); }
 #line 1252 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 145:
-#line 593 "dhcp4_parser.yy" // lalr1.cc:859
+  case 150:
+#line 598 "dhcp4_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); }
 #line 1258 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 146:
-#line 594 "dhcp4_parser.yy" // lalr1.cc:859
+  case 151:
+#line 599 "dhcp4_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); }
 #line 1264 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 147:
-#line 595 "dhcp4_parser.yy" // lalr1.cc:859
+  case 152:
+#line 600 "dhcp4_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); }
 #line 1270 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 148:
-#line 598 "dhcp4_parser.yy" // lalr1.cc:859
+  case 153:
+#line 603 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1278 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 149:
-#line 600 "dhcp4_parser.yy" // lalr1.cc:859
+  case 154:
+#line 605 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr user(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("user", user);
@@ -1287,16 +1287,16 @@ namespace isc { namespace dhcp {
 #line 1288 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 150:
-#line 606 "dhcp4_parser.yy" // lalr1.cc:859
+  case 155:
+#line 611 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1296 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 151:
-#line 608 "dhcp4_parser.yy" // lalr1.cc:859
+  case 156:
+#line 613 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr pwd(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("password", pwd);
@@ -1305,16 +1305,16 @@ namespace isc { namespace dhcp {
 #line 1306 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 152:
-#line 614 "dhcp4_parser.yy" // lalr1.cc:859
+  case 157:
+#line 619 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1314 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 153:
-#line 616 "dhcp4_parser.yy" // lalr1.cc:859
+  case 158:
+#line 621 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr h(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("host", h);
@@ -1323,8 +1323,8 @@ namespace isc { namespace dhcp {
 #line 1324 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 154:
-#line 622 "dhcp4_parser.yy" // lalr1.cc:859
+  case 159:
+#line 627 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr p(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("port", p);
@@ -1332,16 +1332,16 @@ namespace isc { namespace dhcp {
 #line 1333 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 155:
-#line 627 "dhcp4_parser.yy" // lalr1.cc:859
+  case 160:
+#line 632 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1341 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 156:
-#line 629 "dhcp4_parser.yy" // lalr1.cc:859
+  case 161:
+#line 634 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("name", name);
@@ -1350,8 +1350,8 @@ namespace isc { namespace dhcp {
 #line 1351 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 157:
-#line 635 "dhcp4_parser.yy" // lalr1.cc:859
+  case 162:
+#line 640 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("persist", n);
@@ -1359,8 +1359,8 @@ namespace isc { namespace dhcp {
 #line 1360 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 158:
-#line 640 "dhcp4_parser.yy" // lalr1.cc:859
+  case 163:
+#line 645 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("lfc-interval", n);
@@ -1368,8 +1368,8 @@ namespace isc { namespace dhcp {
 #line 1369 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 159:
-#line 645 "dhcp4_parser.yy" // lalr1.cc:859
+  case 164:
+#line 650 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("readonly", n);
@@ -1377,8 +1377,8 @@ namespace isc { namespace dhcp {
 #line 1378 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 160:
-#line 650 "dhcp4_parser.yy" // lalr1.cc:859
+  case 165:
+#line 655 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("connect-timeout", n);
@@ -1386,16 +1386,16 @@ namespace isc { namespace dhcp {
 #line 1387 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 161:
-#line 655 "dhcp4_parser.yy" // lalr1.cc:859
+  case 166:
+#line 660 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1395 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 162:
-#line 657 "dhcp4_parser.yy" // lalr1.cc:859
+  case 167:
+#line 662 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr cp(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("contact-points", cp);
@@ -1404,16 +1404,16 @@ namespace isc { namespace dhcp {
 #line 1405 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 163:
-#line 663 "dhcp4_parser.yy" // lalr1.cc:859
+  case 168:
+#line 668 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1413 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 164:
-#line 665 "dhcp4_parser.yy" // lalr1.cc:859
+  case 169:
+#line 670 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr ks(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("keyspace", ks);
@@ -1422,8 +1422,8 @@ namespace isc { namespace dhcp {
 #line 1423 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 165:
-#line 672 "dhcp4_parser.yy" // lalr1.cc:859
+  case 170:
+#line 677 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("host-reservation-identifiers", l);
@@ -1433,8 +1433,8 @@ namespace isc { namespace dhcp {
 #line 1434 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 166:
-#line 677 "dhcp4_parser.yy" // lalr1.cc:859
+  case 171:
+#line 682 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1442,8 +1442,8 @@ namespace isc { namespace dhcp {
 #line 1443 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 174:
-#line 693 "dhcp4_parser.yy" // lalr1.cc:859
+  case 179:
+#line 698 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(duid);
@@ -1451,8 +1451,8 @@ namespace isc { namespace dhcp {
 #line 1452 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 175:
-#line 698 "dhcp4_parser.yy" // lalr1.cc:859
+  case 180:
+#line 703 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(hwaddr);
@@ -1460,8 +1460,8 @@ namespace isc { namespace dhcp {
 #line 1461 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 176:
-#line 703 "dhcp4_parser.yy" // lalr1.cc:859
+  case 181:
+#line 708 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr circuit(new StringElement("circuit-id", ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(circuit);
@@ -1469,8 +1469,8 @@ namespace isc { namespace dhcp {
 #line 1470 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 177:
-#line 708 "dhcp4_parser.yy" // lalr1.cc:859
+  case 182:
+#line 713 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr client(new StringElement("client-id", ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(client);
@@ -1478,8 +1478,8 @@ namespace isc { namespace dhcp {
 #line 1479 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 178:
-#line 713 "dhcp4_parser.yy" // lalr1.cc:859
+  case 183:
+#line 718 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(flex_id);
@@ -1487,8 +1487,8 @@ namespace isc { namespace dhcp {
 #line 1488 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 179:
-#line 718 "dhcp4_parser.yy" // lalr1.cc:859
+  case 184:
+#line 723 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hooks-libraries", l);
@@ -1498,8 +1498,8 @@ namespace isc { namespace dhcp {
 #line 1499 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 180:
-#line 723 "dhcp4_parser.yy" // lalr1.cc:859
+  case 185:
+#line 728 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1507,8 +1507,8 @@ namespace isc { namespace dhcp {
 #line 1508 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 185:
-#line 736 "dhcp4_parser.yy" // lalr1.cc:859
+  case 190:
+#line 741 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -1517,8 +1517,8 @@ namespace isc { namespace dhcp {
 #line 1518 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 186:
-#line 740 "dhcp4_parser.yy" // lalr1.cc:859
+  case 191:
+#line 745 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // The library hooks parameter is required
     ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -1527,8 +1527,8 @@ namespace isc { namespace dhcp {
 #line 1528 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 187:
-#line 746 "dhcp4_parser.yy" // lalr1.cc:859
+  case 192:
+#line 751 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // Parse the hooks-libraries list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1537,8 +1537,8 @@ namespace isc { namespace dhcp {
 #line 1538 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 188:
-#line 750 "dhcp4_parser.yy" // lalr1.cc:859
+  case 193:
+#line 755 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // The library hooks parameter is required
     ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -1547,16 +1547,16 @@ namespace isc { namespace dhcp {
 #line 1548 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 194:
-#line 765 "dhcp4_parser.yy" // lalr1.cc:859
+  case 201:
+#line 772 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1556 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 195:
-#line 767 "dhcp4_parser.yy" // lalr1.cc:859
+  case 202:
+#line 774 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr lib(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("library", lib);
@@ -1565,16 +1565,16 @@ namespace isc { namespace dhcp {
 #line 1566 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 196:
-#line 773 "dhcp4_parser.yy" // lalr1.cc:859
+  case 203:
+#line 780 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1574 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 197:
-#line 775 "dhcp4_parser.yy" // lalr1.cc:859
+  case 204:
+#line 782 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("parameters", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -1582,8 +1582,8 @@ namespace isc { namespace dhcp {
 #line 1583 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 198:
-#line 781 "dhcp4_parser.yy" // lalr1.cc:859
+  case 205:
+#line 788 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("expired-leases-processing", m);
@@ -1593,8 +1593,8 @@ namespace isc { namespace dhcp {
 #line 1594 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 199:
-#line 786 "dhcp4_parser.yy" // lalr1.cc:859
+  case 206:
+#line 793 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // No expired lease parameter is required
     ctx.stack_.pop_back();
@@ -1603,8 +1603,8 @@ namespace isc { namespace dhcp {
 #line 1604 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 208:
-#line 804 "dhcp4_parser.yy" // lalr1.cc:859
+  case 215:
+#line 811 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("reclaim-timer-wait-time", value);
@@ -1612,8 +1612,8 @@ namespace isc { namespace dhcp {
 #line 1613 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 209:
-#line 809 "dhcp4_parser.yy" // lalr1.cc:859
+  case 216:
+#line 816 "dhcp4_parser.yy" // lalr1.cc:859
     {
     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);
@@ -1621,8 +1621,8 @@ namespace isc { namespace dhcp {
 #line 1622 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 210:
-#line 814 "dhcp4_parser.yy" // lalr1.cc:859
+  case 217:
+#line 821 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hold-reclaimed-time", value);
@@ -1630,8 +1630,8 @@ namespace isc { namespace dhcp {
 #line 1631 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 211:
-#line 819 "dhcp4_parser.yy" // lalr1.cc:859
+  case 218:
+#line 826 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("max-reclaim-leases", value);
@@ -1639,8 +1639,8 @@ namespace isc { namespace dhcp {
 #line 1640 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 212:
-#line 824 "dhcp4_parser.yy" // lalr1.cc:859
+  case 219:
+#line 831 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("max-reclaim-time", value);
@@ -1648,8 +1648,8 @@ namespace isc { namespace dhcp {
 #line 1649 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 213:
-#line 829 "dhcp4_parser.yy" // lalr1.cc:859
+  case 220:
+#line 836 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("unwarned-reclaim-cycles", value);
@@ -1657,8 +1657,8 @@ namespace isc { namespace dhcp {
 #line 1658 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 214:
-#line 837 "dhcp4_parser.yy" // lalr1.cc:859
+  case 221:
+#line 844 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("subnet4", l);
@@ -1668,8 +1668,8 @@ namespace isc { namespace dhcp {
 #line 1669 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 215:
-#line 842 "dhcp4_parser.yy" // lalr1.cc:859
+  case 222:
+#line 849 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1677,8 +1677,8 @@ namespace isc { namespace dhcp {
 #line 1678 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 220:
-#line 862 "dhcp4_parser.yy" // lalr1.cc:859
+  case 227:
+#line 869 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -1687,8 +1687,8 @@ namespace isc { namespace dhcp {
 #line 1688 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 221:
-#line 866 "dhcp4_parser.yy" // lalr1.cc:859
+  case 228:
+#line 873 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // Once we reached this place, the subnet parsing is now complete.
     // If we want to, we can implement default values here.
@@ -1713,8 +1713,8 @@ namespace isc { namespace dhcp {
 #line 1714 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 222:
-#line 888 "dhcp4_parser.yy" // lalr1.cc:859
+  case 229:
+#line 895 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // Parse the subnet4 list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1723,8 +1723,8 @@ namespace isc { namespace dhcp {
 #line 1724 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 223:
-#line 892 "dhcp4_parser.yy" // lalr1.cc:859
+  case 230:
+#line 899 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // The subnet subnet4 parameter is required
     ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -1733,16 +1733,16 @@ namespace isc { namespace dhcp {
 #line 1734 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 250:
-#line 930 "dhcp4_parser.yy" // lalr1.cc:859
+  case 257:
+#line 937 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1742 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 251:
-#line 932 "dhcp4_parser.yy" // lalr1.cc:859
+  case 258:
+#line 939 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr subnet(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("subnet", subnet);
@@ -1751,16 +1751,16 @@ namespace isc { namespace dhcp {
 #line 1752 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 252:
-#line 938 "dhcp4_parser.yy" // lalr1.cc:859
+  case 259:
+#line 945 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1760 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 253:
-#line 940 "dhcp4_parser.yy" // lalr1.cc:859
+  case 260:
+#line 947 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("4o6-interface", iface);
@@ -1769,16 +1769,16 @@ namespace isc { namespace dhcp {
 #line 1770 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 254:
-#line 946 "dhcp4_parser.yy" // lalr1.cc:859
+  case 261:
+#line 953 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1778 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 255:
-#line 948 "dhcp4_parser.yy" // lalr1.cc:859
+  case 262:
+#line 955 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("4o6-interface-id", iface);
@@ -1787,16 +1787,16 @@ namespace isc { namespace dhcp {
 #line 1788 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 256:
-#line 954 "dhcp4_parser.yy" // lalr1.cc:859
+  case 263:
+#line 961 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1796 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 257:
-#line 956 "dhcp4_parser.yy" // lalr1.cc:859
+  case 264:
+#line 963 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("4o6-subnet", iface);
@@ -1805,16 +1805,16 @@ namespace isc { namespace dhcp {
 #line 1806 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 258:
-#line 962 "dhcp4_parser.yy" // lalr1.cc:859
+  case 265:
+#line 969 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1814 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 259:
-#line 964 "dhcp4_parser.yy" // lalr1.cc:859
+  case 266:
+#line 971 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("interface", iface);
@@ -1823,16 +1823,16 @@ namespace isc { namespace dhcp {
 #line 1824 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 260:
-#line 970 "dhcp4_parser.yy" // lalr1.cc:859
+  case 267:
+#line 977 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1832 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 261:
-#line 972 "dhcp4_parser.yy" // lalr1.cc:859
+  case 268:
+#line 979 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("interface-id", iface);
@@ -1841,16 +1841,16 @@ namespace isc { namespace dhcp {
 #line 1842 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 262:
-#line 978 "dhcp4_parser.yy" // lalr1.cc:859
+  case 269:
+#line 985 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.CLIENT_CLASS);
 }
 #line 1850 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 263:
-#line 980 "dhcp4_parser.yy" // lalr1.cc:859
+  case 270:
+#line 987 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr cls(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-class", cls);
@@ -1859,16 +1859,16 @@ namespace isc { namespace dhcp {
 #line 1860 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 264:
-#line 986 "dhcp4_parser.yy" // lalr1.cc:859
+  case 271:
+#line 993 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.RESERVATION_MODE);
 }
 #line 1868 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 265:
-#line 988 "dhcp4_parser.yy" // lalr1.cc:859
+  case 272:
+#line 995 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -1876,26 +1876,26 @@ namespace isc { namespace dhcp {
 #line 1877 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 266:
-#line 993 "dhcp4_parser.yy" // lalr1.cc:859
+  case 273:
+#line 1000 "dhcp4_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); }
 #line 1883 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 267:
-#line 994 "dhcp4_parser.yy" // lalr1.cc:859
+  case 274:
+#line 1001 "dhcp4_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); }
 #line 1889 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 268:
-#line 995 "dhcp4_parser.yy" // lalr1.cc:859
+  case 275:
+#line 1002 "dhcp4_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); }
 #line 1895 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 269:
-#line 998 "dhcp4_parser.yy" // lalr1.cc:859
+  case 276:
+#line 1005 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr id(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("id", id);
@@ -1903,8 +1903,8 @@ namespace isc { namespace dhcp {
 #line 1904 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 270:
-#line 1003 "dhcp4_parser.yy" // lalr1.cc:859
+  case 277:
+#line 1010 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr rc(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("rapid-commit", rc);
@@ -1912,8 +1912,8 @@ namespace isc { namespace dhcp {
 #line 1913 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 271:
-#line 1010 "dhcp4_parser.yy" // lalr1.cc:859
+  case 278:
+#line 1017 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("shared-networks", l);
@@ -1923,8 +1923,8 @@ namespace isc { namespace dhcp {
 #line 1924 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 272:
-#line 1015 "dhcp4_parser.yy" // lalr1.cc:859
+  case 279:
+#line 1022 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1932,8 +1932,8 @@ namespace isc { namespace dhcp {
 #line 1933 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 277:
-#line 1030 "dhcp4_parser.yy" // lalr1.cc:859
+  case 284:
+#line 1037 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -1942,16 +1942,16 @@ namespace isc { namespace dhcp {
 #line 1943 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 278:
-#line 1034 "dhcp4_parser.yy" // lalr1.cc:859
+  case 285:
+#line 1041 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 1951 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 298:
-#line 1065 "dhcp4_parser.yy" // lalr1.cc:859
+  case 305:
+#line 1072 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("option-def", l);
@@ -1961,8 +1961,8 @@ namespace isc { namespace dhcp {
 #line 1962 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 299:
-#line 1070 "dhcp4_parser.yy" // lalr1.cc:859
+  case 306:
+#line 1077 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1970,8 +1970,8 @@ namespace isc { namespace dhcp {
 #line 1971 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 300:
-#line 1078 "dhcp4_parser.yy" // lalr1.cc:859
+  case 307:
+#line 1085 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
@@ -1979,16 +1979,16 @@ namespace isc { namespace dhcp {
 #line 1980 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 301:
-#line 1081 "dhcp4_parser.yy" // lalr1.cc:859
+  case 308:
+#line 1088 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // parsing completed
 }
 #line 1988 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 306:
-#line 1097 "dhcp4_parser.yy" // lalr1.cc:859
+  case 313:
+#line 1104 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -1997,8 +1997,8 @@ namespace isc { namespace dhcp {
 #line 1998 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 307:
-#line 1101 "dhcp4_parser.yy" // lalr1.cc:859
+  case 314:
+#line 1108 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // The name, code and type option def parameters are required.
     ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2009,8 +2009,8 @@ namespace isc { namespace dhcp {
 #line 2010 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 308:
-#line 1112 "dhcp4_parser.yy" // lalr1.cc:859
+  case 315:
+#line 1119 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // Parse the option-def list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2019,8 +2019,8 @@ namespace isc { namespace dhcp {
 #line 2020 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 309:
-#line 1116 "dhcp4_parser.yy" // lalr1.cc:859
+  case 316:
+#line 1123 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // The name, code and type option def parameters are required.
     ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2031,8 +2031,8 @@ namespace isc { namespace dhcp {
 #line 2032 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 325:
-#line 1148 "dhcp4_parser.yy" // lalr1.cc:859
+  case 332:
+#line 1155 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr code(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("code", code);
@@ -2040,16 +2040,16 @@ namespace isc { namespace dhcp {
 #line 2041 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 327:
-#line 1155 "dhcp4_parser.yy" // lalr1.cc:859
+  case 334:
+#line 1162 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2049 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 328:
-#line 1157 "dhcp4_parser.yy" // lalr1.cc:859
+  case 335:
+#line 1164 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("type", prf);
@@ -2058,16 +2058,16 @@ namespace isc { namespace dhcp {
 #line 2059 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 329:
-#line 1163 "dhcp4_parser.yy" // lalr1.cc:859
+  case 336:
+#line 1170 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2067 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 330:
-#line 1165 "dhcp4_parser.yy" // lalr1.cc:859
+  case 337:
+#line 1172 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr rtypes(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("record-types", rtypes);
@@ -2076,16 +2076,16 @@ namespace isc { namespace dhcp {
 #line 2077 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 331:
-#line 1171 "dhcp4_parser.yy" // lalr1.cc:859
+  case 338:
+#line 1178 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2085 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 332:
-#line 1173 "dhcp4_parser.yy" // lalr1.cc:859
+  case 339:
+#line 1180 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr space(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("space", space);
@@ -2094,16 +2094,16 @@ namespace isc { namespace dhcp {
 #line 2095 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 334:
-#line 1181 "dhcp4_parser.yy" // lalr1.cc:859
+  case 341:
+#line 1188 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2103 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 335:
-#line 1183 "dhcp4_parser.yy" // lalr1.cc:859
+  case 342:
+#line 1190 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr encap(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("encapsulate", encap);
@@ -2112,8 +2112,8 @@ namespace isc { namespace dhcp {
 #line 2113 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 336:
-#line 1189 "dhcp4_parser.yy" // lalr1.cc:859
+  case 343:
+#line 1196 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr array(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("array", array);
@@ -2121,8 +2121,8 @@ namespace isc { namespace dhcp {
 #line 2122 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 337:
-#line 1198 "dhcp4_parser.yy" // lalr1.cc:859
+  case 344:
+#line 1205 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("option-data", l);
@@ -2132,8 +2132,8 @@ namespace isc { namespace dhcp {
 #line 2133 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 338:
-#line 1203 "dhcp4_parser.yy" // lalr1.cc:859
+  case 345:
+#line 1210 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2141,8 +2141,8 @@ namespace isc { namespace dhcp {
 #line 2142 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 343:
-#line 1222 "dhcp4_parser.yy" // lalr1.cc:859
+  case 350:
+#line 1229 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2151,8 +2151,8 @@ namespace isc { namespace dhcp {
 #line 2152 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 344:
-#line 1226 "dhcp4_parser.yy" // lalr1.cc:859
+  case 351:
+#line 1233 "dhcp4_parser.yy" // lalr1.cc:859
     {
     /// @todo: the code or name parameters are required.
     ctx.stack_.pop_back();
@@ -2160,8 +2160,8 @@ namespace isc { namespace dhcp {
 #line 2161 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 345:
-#line 1234 "dhcp4_parser.yy" // lalr1.cc:859
+  case 352:
+#line 1241 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // Parse the option-data list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2170,8 +2170,8 @@ namespace isc { namespace dhcp {
 #line 2171 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 346:
-#line 1238 "dhcp4_parser.yy" // lalr1.cc:859
+  case 353:
+#line 1245 "dhcp4_parser.yy" // lalr1.cc:859
     {
     /// @todo: the code or name parameters are required.
     // parsing completed
@@ -2179,16 +2179,16 @@ namespace isc { namespace dhcp {
 #line 2180 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 361:
-#line 1271 "dhcp4_parser.yy" // lalr1.cc:859
+  case 368:
+#line 1278 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2188 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 362:
-#line 1273 "dhcp4_parser.yy" // lalr1.cc:859
+  case 369:
+#line 1280 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr data(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("data", data);
@@ -2197,8 +2197,8 @@ namespace isc { namespace dhcp {
 #line 2198 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 365:
-#line 1283 "dhcp4_parser.yy" // lalr1.cc:859
+  case 372:
+#line 1290 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr space(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("csv-format", space);
@@ -2206,8 +2206,8 @@ namespace isc { namespace dhcp {
 #line 2207 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 366:
-#line 1288 "dhcp4_parser.yy" // lalr1.cc:859
+  case 373:
+#line 1295 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr persist(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("always-send", persist);
@@ -2215,8 +2215,8 @@ namespace isc { namespace dhcp {
 #line 2216 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 367:
-#line 1296 "dhcp4_parser.yy" // lalr1.cc:859
+  case 374:
+#line 1303 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pools", l);
@@ -2226,8 +2226,8 @@ namespace isc { namespace dhcp {
 #line 2227 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 368:
-#line 1301 "dhcp4_parser.yy" // lalr1.cc:859
+  case 375:
+#line 1308 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2235,8 +2235,8 @@ namespace isc { namespace dhcp {
 #line 2236 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 373:
-#line 1316 "dhcp4_parser.yy" // lalr1.cc:859
+  case 380:
+#line 1323 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2245,8 +2245,8 @@ namespace isc { namespace dhcp {
 #line 2246 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 374:
-#line 1320 "dhcp4_parser.yy" // lalr1.cc:859
+  case 381:
+#line 1327 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // The pool parameter is required.
     ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2255,8 +2255,8 @@ namespace isc { namespace dhcp {
 #line 2256 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 375:
-#line 1326 "dhcp4_parser.yy" // lalr1.cc:859
+  case 382:
+#line 1333 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // Parse the pool list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2265,8 +2265,8 @@ namespace isc { namespace dhcp {
 #line 2266 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 376:
-#line 1330 "dhcp4_parser.yy" // lalr1.cc:859
+  case 383:
+#line 1337 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // The pool parameter is required.
     ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2275,16 +2275,16 @@ namespace isc { namespace dhcp {
 #line 2276 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 384:
-#line 1347 "dhcp4_parser.yy" // lalr1.cc:859
+  case 391:
+#line 1354 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2284 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 385:
-#line 1349 "dhcp4_parser.yy" // lalr1.cc:859
+  case 392:
+#line 1356 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr pool(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pool", pool);
@@ -2293,16 +2293,16 @@ namespace isc { namespace dhcp {
 #line 2294 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 386:
-#line 1355 "dhcp4_parser.yy" // lalr1.cc:859
+  case 393:
+#line 1362 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2302 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 387:
-#line 1357 "dhcp4_parser.yy" // lalr1.cc:859
+  case 394:
+#line 1364 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->combine_set("user-context", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2310,16 +2310,16 @@ namespace isc { namespace dhcp {
 #line 2311 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 388:
-#line 1362 "dhcp4_parser.yy" // lalr1.cc:859
+  case 395:
+#line 1369 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2319 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 389:
-#line 1364 "dhcp4_parser.yy" // lalr1.cc:859
+  case 396:
+#line 1371 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr e(new MapElement(ctx.loc2pos(yystack_[3].location)));
     e->set("comment", yystack_[0].value.as< ElementPtr > ());
@@ -2329,8 +2329,8 @@ namespace isc { namespace dhcp {
 #line 2330 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 390:
-#line 1374 "dhcp4_parser.yy" // lalr1.cc:859
+  case 397:
+#line 1381 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("reservations", l);
@@ -2340,8 +2340,8 @@ namespace isc { namespace dhcp {
 #line 2341 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 391:
-#line 1379 "dhcp4_parser.yy" // lalr1.cc:859
+  case 398:
+#line 1386 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2349,8 +2349,8 @@ namespace isc { namespace dhcp {
 #line 2350 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 396:
-#line 1392 "dhcp4_parser.yy" // lalr1.cc:859
+  case 403:
+#line 1399 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2359,8 +2359,8 @@ namespace isc { namespace dhcp {
 #line 2360 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 397:
-#line 1396 "dhcp4_parser.yy" // lalr1.cc:859
+  case 404:
+#line 1403 "dhcp4_parser.yy" // lalr1.cc:859
     {
     /// @todo: an identifier parameter is required.
     ctx.stack_.pop_back();
@@ -2368,8 +2368,8 @@ namespace isc { namespace dhcp {
 #line 2369 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 398:
-#line 1401 "dhcp4_parser.yy" // lalr1.cc:859
+  case 405:
+#line 1408 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // Parse the reservations list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2378,8 +2378,8 @@ namespace isc { namespace dhcp {
 #line 2379 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 399:
-#line 1405 "dhcp4_parser.yy" // lalr1.cc:859
+  case 406:
+#line 1412 "dhcp4_parser.yy" // lalr1.cc:859
     {
     /// @todo: an identifier parameter is required.
     // parsing completed
@@ -2387,16 +2387,16 @@ namespace isc { namespace dhcp {
 #line 2388 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 417:
-#line 1434 "dhcp4_parser.yy" // lalr1.cc:859
+  case 426:
+#line 1443 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2396 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 418:
-#line 1436 "dhcp4_parser.yy" // lalr1.cc:859
+  case 427:
+#line 1445 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr next_server(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("next-server", next_server);
@@ -2405,16 +2405,16 @@ namespace isc { namespace dhcp {
 #line 2406 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 419:
-#line 1442 "dhcp4_parser.yy" // lalr1.cc:859
+  case 428:
+#line 1451 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2414 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 420:
-#line 1444 "dhcp4_parser.yy" // lalr1.cc:859
+  case 429:
+#line 1453 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr srv(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-hostname", srv);
@@ -2423,16 +2423,16 @@ namespace isc { namespace dhcp {
 #line 2424 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 421:
-#line 1450 "dhcp4_parser.yy" // lalr1.cc:859
+  case 430:
+#line 1459 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2432 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 422:
-#line 1452 "dhcp4_parser.yy" // lalr1.cc:859
+  case 431:
+#line 1461 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr bootfile(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("boot-file-name", bootfile);
@@ -2441,16 +2441,16 @@ namespace isc { namespace dhcp {
 #line 2442 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 423:
-#line 1458 "dhcp4_parser.yy" // lalr1.cc:859
+  case 432:
+#line 1467 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2450 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 424:
-#line 1460 "dhcp4_parser.yy" // lalr1.cc:859
+  case 433:
+#line 1469 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr addr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ip-address", addr);
@@ -2459,16 +2459,16 @@ namespace isc { namespace dhcp {
 #line 2460 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 425:
-#line 1466 "dhcp4_parser.yy" // lalr1.cc:859
+  case 434:
+#line 1475 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2468 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 426:
-#line 1468 "dhcp4_parser.yy" // lalr1.cc:859
+  case 435:
+#line 1477 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr d(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("duid", d);
@@ -2477,16 +2477,16 @@ namespace isc { namespace dhcp {
 #line 2478 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 427:
-#line 1474 "dhcp4_parser.yy" // lalr1.cc:859
+  case 436:
+#line 1483 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2486 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 428:
-#line 1476 "dhcp4_parser.yy" // lalr1.cc:859
+  case 437:
+#line 1485 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hw-address", hw);
@@ -2495,16 +2495,16 @@ namespace isc { namespace dhcp {
 #line 2496 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 429:
-#line 1482 "dhcp4_parser.yy" // lalr1.cc:859
+  case 438:
+#line 1491 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2504 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 430:
-#line 1484 "dhcp4_parser.yy" // lalr1.cc:859
+  case 439:
+#line 1493 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-id", hw);
@@ -2513,16 +2513,16 @@ namespace isc { namespace dhcp {
 #line 2514 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 431:
-#line 1490 "dhcp4_parser.yy" // lalr1.cc:859
+  case 440:
+#line 1499 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2522 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 432:
-#line 1492 "dhcp4_parser.yy" // lalr1.cc:859
+  case 441:
+#line 1501 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("circuit-id", hw);
@@ -2531,16 +2531,16 @@ namespace isc { namespace dhcp {
 #line 2532 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 433:
-#line 1498 "dhcp4_parser.yy" // lalr1.cc:859
+  case 442:
+#line 1507 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2540 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 434:
-#line 1500 "dhcp4_parser.yy" // lalr1.cc:859
+  case 443:
+#line 1509 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("flex-id", hw);
@@ -2549,16 +2549,16 @@ namespace isc { namespace dhcp {
 #line 2550 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 435:
-#line 1506 "dhcp4_parser.yy" // lalr1.cc:859
+  case 444:
+#line 1515 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2558 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 436:
-#line 1508 "dhcp4_parser.yy" // lalr1.cc:859
+  case 445:
+#line 1517 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr host(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hostname", host);
@@ -2567,8 +2567,8 @@ namespace isc { namespace dhcp {
 #line 2568 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 437:
-#line 1514 "dhcp4_parser.yy" // lalr1.cc:859
+  case 446:
+#line 1523 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-classes", c);
@@ -2578,8 +2578,8 @@ namespace isc { namespace dhcp {
 #line 2579 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 438:
-#line 1519 "dhcp4_parser.yy" // lalr1.cc:859
+  case 447:
+#line 1528 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2587,8 +2587,8 @@ namespace isc { namespace dhcp {
 #line 2588 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 439:
-#line 1527 "dhcp4_parser.yy" // lalr1.cc:859
+  case 448:
+#line 1536 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("relay", m);
@@ -2598,8 +2598,8 @@ namespace isc { namespace dhcp {
 #line 2599 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 440:
-#line 1532 "dhcp4_parser.yy" // lalr1.cc:859
+  case 449:
+#line 1541 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2607,16 +2607,16 @@ namespace isc { namespace dhcp {
 #line 2608 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 441:
-#line 1537 "dhcp4_parser.yy" // lalr1.cc:859
+  case 450:
+#line 1546 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2616 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 442:
-#line 1539 "dhcp4_parser.yy" // lalr1.cc:859
+  case 451:
+#line 1548 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr ip(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ip-address", ip);
@@ -2625,8 +2625,8 @@ namespace isc { namespace dhcp {
 #line 2626 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 443:
-#line 1548 "dhcp4_parser.yy" // lalr1.cc:859
+  case 452:
+#line 1557 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-classes", l);
@@ -2636,8 +2636,8 @@ namespace isc { namespace dhcp {
 #line 2637 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 444:
-#line 1553 "dhcp4_parser.yy" // lalr1.cc:859
+  case 453:
+#line 1562 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2645,8 +2645,8 @@ namespace isc { namespace dhcp {
 #line 2646 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 447:
-#line 1562 "dhcp4_parser.yy" // lalr1.cc:859
+  case 456:
+#line 1571 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2655,8 +2655,8 @@ namespace isc { namespace dhcp {
 #line 2656 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 448:
-#line 1566 "dhcp4_parser.yy" // lalr1.cc:859
+  case 457:
+#line 1575 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // The name client class parameter is required.
     ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2665,16 +2665,16 @@ namespace isc { namespace dhcp {
 #line 2666 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 464:
-#line 1594 "dhcp4_parser.yy" // lalr1.cc:859
+  case 473:
+#line 1603 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2674 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 465:
-#line 1596 "dhcp4_parser.yy" // lalr1.cc:859
+  case 474:
+#line 1605 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr test(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("test", test);
@@ -2683,8 +2683,8 @@ namespace isc { namespace dhcp {
 #line 2684 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 466:
-#line 1606 "dhcp4_parser.yy" // lalr1.cc:859
+  case 475:
+#line 1615 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("dhcp4o6-port", time);
@@ -2692,8 +2692,8 @@ namespace isc { namespace dhcp {
 #line 2693 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 467:
-#line 1613 "dhcp4_parser.yy" // lalr1.cc:859
+  case 476:
+#line 1622 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("control-socket", m);
@@ -2703,8 +2703,8 @@ namespace isc { namespace dhcp {
 #line 2704 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 468:
-#line 1618 "dhcp4_parser.yy" // lalr1.cc:859
+  case 477:
+#line 1627 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2712,16 +2712,16 @@ namespace isc { namespace dhcp {
 #line 2713 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 473:
-#line 1631 "dhcp4_parser.yy" // lalr1.cc:859
+  case 482:
+#line 1640 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2721 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 474:
-#line 1633 "dhcp4_parser.yy" // lalr1.cc:859
+  case 483:
+#line 1642 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr stype(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("socket-type", stype);
@@ -2730,16 +2730,16 @@ namespace isc { namespace dhcp {
 #line 2731 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 475:
-#line 1639 "dhcp4_parser.yy" // lalr1.cc:859
+  case 484:
+#line 1648 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2739 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 476:
-#line 1641 "dhcp4_parser.yy" // lalr1.cc:859
+  case 485:
+#line 1650 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("socket-name", name);
@@ -2748,8 +2748,8 @@ namespace isc { namespace dhcp {
 #line 2749 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 477:
-#line 1649 "dhcp4_parser.yy" // lalr1.cc:859
+  case 486:
+#line 1658 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("dhcp-ddns", m);
@@ -2759,8 +2759,8 @@ namespace isc { namespace dhcp {
 #line 2760 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 478:
-#line 1654 "dhcp4_parser.yy" // lalr1.cc:859
+  case 487:
+#line 1663 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // The enable updates DHCP DDNS parameter is required.
     ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
@@ -2770,8 +2770,8 @@ namespace isc { namespace dhcp {
 #line 2771 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 479:
-#line 1661 "dhcp4_parser.yy" // lalr1.cc:859
+  case 488:
+#line 1670 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // Parse the dhcp-ddns map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2780,8 +2780,8 @@ namespace isc { namespace dhcp {
 #line 2781 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 480:
-#line 1665 "dhcp4_parser.yy" // lalr1.cc:859
+  case 489:
+#line 1674 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // The enable updates DHCP DDNS parameter is required.
     ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2790,8 +2790,8 @@ namespace isc { namespace dhcp {
 #line 2791 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 498:
-#line 1692 "dhcp4_parser.yy" // lalr1.cc:859
+  case 509:
+#line 1703 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("enable-updates", b);
@@ -2799,16 +2799,16 @@ namespace isc { namespace dhcp {
 #line 2800 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 499:
-#line 1697 "dhcp4_parser.yy" // lalr1.cc:859
+  case 510:
+#line 1708 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2808 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 500:
-#line 1699 "dhcp4_parser.yy" // lalr1.cc:859
+  case 511:
+#line 1710 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("qualifying-suffix", s);
@@ -2817,16 +2817,16 @@ namespace isc { namespace dhcp {
 #line 2818 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 501:
-#line 1705 "dhcp4_parser.yy" // lalr1.cc:859
+  case 512:
+#line 1716 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2826 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 502:
-#line 1707 "dhcp4_parser.yy" // lalr1.cc:859
+  case 513:
+#line 1718 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-ip", s);
@@ -2835,8 +2835,8 @@ namespace isc { namespace dhcp {
 #line 2836 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 503:
-#line 1713 "dhcp4_parser.yy" // lalr1.cc:859
+  case 514:
+#line 1724 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-port", i);
@@ -2844,16 +2844,16 @@ namespace isc { namespace dhcp {
 #line 2845 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 504:
-#line 1718 "dhcp4_parser.yy" // lalr1.cc:859
+  case 515:
+#line 1729 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2853 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 505:
-#line 1720 "dhcp4_parser.yy" // lalr1.cc:859
+  case 516:
+#line 1731 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("sender-ip", s);
@@ -2862,8 +2862,8 @@ namespace isc { namespace dhcp {
 #line 2863 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 506:
-#line 1726 "dhcp4_parser.yy" // lalr1.cc:859
+  case 517:
+#line 1737 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("sender-port", i);
@@ -2871,8 +2871,8 @@ namespace isc { namespace dhcp {
 #line 2872 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 507:
-#line 1731 "dhcp4_parser.yy" // lalr1.cc:859
+  case 518:
+#line 1742 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("max-queue-size", i);
@@ -2880,16 +2880,16 @@ namespace isc { namespace dhcp {
 #line 2881 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 508:
-#line 1736 "dhcp4_parser.yy" // lalr1.cc:859
+  case 519:
+#line 1747 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NCR_PROTOCOL);
 }
 #line 2889 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 509:
-#line 1738 "dhcp4_parser.yy" // lalr1.cc:859
+  case 520:
+#line 1749 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2897,28 +2897,28 @@ namespace isc { namespace dhcp {
 #line 2898 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 510:
-#line 1744 "dhcp4_parser.yy" // lalr1.cc:859
+  case 521:
+#line 1755 "dhcp4_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
 #line 2904 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 511:
-#line 1745 "dhcp4_parser.yy" // lalr1.cc:859
+  case 522:
+#line 1756 "dhcp4_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
 #line 2910 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 512:
-#line 1748 "dhcp4_parser.yy" // lalr1.cc:859
+  case 523:
+#line 1759 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NCR_FORMAT);
 }
 #line 2918 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 513:
-#line 1750 "dhcp4_parser.yy" // lalr1.cc:859
+  case 524:
+#line 1761 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ncr-format", json);
@@ -2927,8 +2927,8 @@ namespace isc { namespace dhcp {
 #line 2928 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 514:
-#line 1756 "dhcp4_parser.yy" // lalr1.cc:859
+  case 525:
+#line 1767 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("always-include-fqdn", b);
@@ -2936,8 +2936,8 @@ namespace isc { namespace dhcp {
 #line 2937 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 515:
-#line 1761 "dhcp4_parser.yy" // lalr1.cc:859
+  case 526:
+#line 1772 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("override-no-update", b);
@@ -2945,8 +2945,8 @@ namespace isc { namespace dhcp {
 #line 2946 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 516:
-#line 1766 "dhcp4_parser.yy" // lalr1.cc:859
+  case 527:
+#line 1777 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("override-client-update", b);
@@ -2954,16 +2954,16 @@ namespace isc { namespace dhcp {
 #line 2955 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 517:
-#line 1771 "dhcp4_parser.yy" // lalr1.cc:859
+  case 528:
+#line 1782 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.REPLACE_CLIENT_NAME);
 }
 #line 2963 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 518:
-#line 1773 "dhcp4_parser.yy" // lalr1.cc:859
+  case 529:
+#line 1784 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2971,40 +2971,40 @@ namespace isc { namespace dhcp {
 #line 2972 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 519:
-#line 1779 "dhcp4_parser.yy" // lalr1.cc:859
+  case 530:
+#line 1790 "dhcp4_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); 
       }
 #line 2980 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 520:
-#line 1782 "dhcp4_parser.yy" // lalr1.cc:859
+  case 531:
+#line 1793 "dhcp4_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
       }
 #line 2988 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 521:
-#line 1785 "dhcp4_parser.yy" // lalr1.cc:859
+  case 532:
+#line 1796 "dhcp4_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
       }
 #line 2996 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 522:
-#line 1788 "dhcp4_parser.yy" // lalr1.cc:859
+  case 533:
+#line 1799 "dhcp4_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
       }
 #line 3004 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 523:
-#line 1791 "dhcp4_parser.yy" // lalr1.cc:859
+  case 534:
+#line 1802 "dhcp4_parser.yy" // lalr1.cc:859
     {
       error(yystack_[0].location, "boolean values for the replace-client-name are "
                 "no longer supported");
@@ -3012,16 +3012,16 @@ namespace isc { namespace dhcp {
 #line 3013 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 524:
-#line 1797 "dhcp4_parser.yy" // lalr1.cc:859
+  case 535:
+#line 1808 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3021 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 525:
-#line 1799 "dhcp4_parser.yy" // lalr1.cc:859
+  case 536:
+#line 1810 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("generated-prefix", s);
@@ -3030,16 +3030,16 @@ namespace isc { namespace dhcp {
 #line 3031 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 526:
-#line 1807 "dhcp4_parser.yy" // lalr1.cc:859
+  case 537:
+#line 1818 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3039 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 527:
-#line 1809 "dhcp4_parser.yy" // lalr1.cc:859
+  case 538:
+#line 1820 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("Dhcp6", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3047,16 +3047,16 @@ namespace isc { namespace dhcp {
 #line 3048 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 528:
-#line 1814 "dhcp4_parser.yy" // lalr1.cc:859
+  case 539:
+#line 1825 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3056 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 529:
-#line 1816 "dhcp4_parser.yy" // lalr1.cc:859
+  case 540:
+#line 1827 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3064,16 +3064,16 @@ namespace isc { namespace dhcp {
 #line 3065 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 530:
-#line 1821 "dhcp4_parser.yy" // lalr1.cc:859
+  case 541:
+#line 1832 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3073 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 531:
-#line 1823 "dhcp4_parser.yy" // lalr1.cc:859
+  case 542:
+#line 1834 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("Control-agent", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3081,8 +3081,8 @@ namespace isc { namespace dhcp {
 #line 3082 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 532:
-#line 1833 "dhcp4_parser.yy" // lalr1.cc:859
+  case 543:
+#line 1844 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("Logging", m);
@@ -3092,8 +3092,8 @@ namespace isc { namespace dhcp {
 #line 3093 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 533:
-#line 1838 "dhcp4_parser.yy" // lalr1.cc:859
+  case 544:
+#line 1849 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -3101,8 +3101,8 @@ namespace isc { namespace dhcp {
 #line 3102 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 537:
-#line 1855 "dhcp4_parser.yy" // lalr1.cc:859
+  case 548:
+#line 1866 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("loggers", l);
@@ -3112,8 +3112,8 @@ namespace isc { namespace dhcp {
 #line 3113 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 538:
-#line 1860 "dhcp4_parser.yy" // lalr1.cc:859
+  case 549:
+#line 1871 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -3121,8 +3121,8 @@ namespace isc { namespace dhcp {
 #line 3122 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 541:
-#line 1872 "dhcp4_parser.yy" // lalr1.cc:859
+  case 552:
+#line 1883 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(l);
@@ -3131,16 +3131,16 @@ namespace isc { namespace dhcp {
 #line 3132 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 542:
-#line 1876 "dhcp4_parser.yy" // lalr1.cc:859
+  case 553:
+#line 1887 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 3140 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 550:
-#line 1891 "dhcp4_parser.yy" // lalr1.cc:859
+  case 563:
+#line 1904 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("debuglevel", dl);
@@ -3148,16 +3148,16 @@ namespace isc { namespace dhcp {
 #line 3149 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 551:
-#line 1896 "dhcp4_parser.yy" // lalr1.cc:859
+  case 564:
+#line 1909 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3157 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 552:
-#line 1898 "dhcp4_parser.yy" // lalr1.cc:859
+  case 565:
+#line 1911 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("severity", sev);
@@ -3166,8 +3166,8 @@ namespace isc { namespace dhcp {
 #line 3167 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 553:
-#line 1904 "dhcp4_parser.yy" // lalr1.cc:859
+  case 566:
+#line 1917 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output_options", l);
@@ -3177,8 +3177,8 @@ namespace isc { namespace dhcp {
 #line 3178 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 554:
-#line 1909 "dhcp4_parser.yy" // lalr1.cc:859
+  case 567:
+#line 1922 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -3186,8 +3186,8 @@ namespace isc { namespace dhcp {
 #line 3187 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 557:
-#line 1918 "dhcp4_parser.yy" // lalr1.cc:859
+  case 570:
+#line 1931 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -3196,24 +3196,24 @@ namespace isc { namespace dhcp {
 #line 3197 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 558:
-#line 1922 "dhcp4_parser.yy" // lalr1.cc:859
+  case 571:
+#line 1935 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 3205 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 565:
-#line 1936 "dhcp4_parser.yy" // lalr1.cc:859
+  case 578:
+#line 1949 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3213 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 566:
-#line 1938 "dhcp4_parser.yy" // lalr1.cc:859
+  case 579:
+#line 1951 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output", sev);
@@ -3222,8 +3222,8 @@ namespace isc { namespace dhcp {
 #line 3223 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 567:
-#line 1944 "dhcp4_parser.yy" // lalr1.cc:859
+  case 580:
+#line 1957 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("flush", flush);
@@ -3231,8 +3231,8 @@ namespace isc { namespace dhcp {
 #line 3232 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 568:
-#line 1949 "dhcp4_parser.yy" // lalr1.cc:859
+  case 581:
+#line 1962 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr maxsize(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxsize", maxsize);
@@ -3240,8 +3240,8 @@ namespace isc { namespace dhcp {
 #line 3241 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 569:
-#line 1954 "dhcp4_parser.yy" // lalr1.cc:859
+  case 582:
+#line 1967 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ElementPtr maxver(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxver", maxver);
@@ -3505,105 +3505,106 @@ namespace isc { namespace dhcp {
   }
 
 
-  const short int Dhcp4Parser::yypact_ninf_ = -734;
+  const short int Dhcp4Parser::yypact_ninf_ = -728;
 
   const signed char Dhcp4Parser::yytable_ninf_ = -1;
 
   const short int
   Dhcp4Parser::yypact_[] =
   {
-     281,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,    42,    32,    55,    57,    66,    75,   101,
-     139,   148,   155,   177,   192,   206,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-      32,     4,    10,   143,    35,    36,    76,   178,   125,    11,
-     319,   -22,   299,  -734,   216,   221,   205,   228,   240,  -734,
-    -734,  -734,  -734,  -734,   260,  -734,    37,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,   264,   268,  -734,  -734,  -734,  -734,
-    -734,   280,   285,   291,   309,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,   311,  -734,  -734,  -734,    53,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,   315,
-      69,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,   322,   323,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,    78,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,   109,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,   279,   326,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,   328,  -734,
-    -734,   330,  -734,  -734,  -734,   338,  -734,  -734,   336,   345,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,   351,   352,  -734,  -734,  -734,  -734,   341,
-     356,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,   144,  -734,  -734,  -734,   358,  -734,  -734,
-     359,  -734,   360,   361,  -734,  -734,   362,   364,   365,  -734,
-    -734,  -734,   202,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,    32,
-      32,  -734,   223,   373,   374,   375,   381,   382,  -734,    10,
-    -734,   383,   210,   238,   386,   387,   388,   389,   390,   247,
-     248,   251,   252,   393,   394,   424,   425,   426,   427,   428,
-     429,   430,   431,   288,   433,   434,   143,  -734,   435,   436,
-     437,   292,    35,  -734,   126,   439,   440,   441,   443,   444,
-     445,   446,   303,   304,   448,   449,   451,   452,    36,  -734,
-     453,    76,  -734,   454,   455,   456,   457,   458,   459,   460,
-     461,  -734,   178,  -734,   463,   467,   324,   469,   470,   471,
-     329,  -734,    11,   474,   331,   332,  -734,   319,   476,   479,
-     -57,  -734,   334,   482,   483,   340,   485,   343,   344,   489,
-     491,   346,   348,   349,   496,   498,   299,  -734,  -734,  -734,
-     499,   497,   500,    32,    32,    32,  -734,   501,  -734,  -734,
-     363,   366,   367,   504,   505,  -734,  -734,  -734,  -734,   510,
-     512,   513,   514,   515,    32,   516,   518,   519,   521,  -734,
-     522,   523,  -734,   520,   106,   253,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,   525,   502,
-    -734,  -734,  -734,   379,   384,   391,   529,   392,   396,   397,
-    -734,  -734,    56,   398,   530,   533,  -734,   399,  -734,   520,
-     400,   402,   403,   404,   405,   406,   407,  -734,   408,   409,
-    -734,   410,   411,   412,  -734,  -734,   413,  -734,  -734,  -734,
-     414,    32,  -734,  -734,   415,   416,  -734,   417,  -734,  -734,
-       9,   418,  -734,  -734,  -734,   -27,   419,  -734,    32,   143,
-     447,  -734,  -734,  -734,    35,  -734,  -734,  -734,   242,   242,
-     534,   558,   560,   561,  -734,  -734,  -734,   145,    46,   562,
-     154,   211,   299,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,   566,  -734,   126,  -734,  -734,  -734,   565,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,   567,   450,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-     203,  -734,   212,  -734,  -734,   213,  -734,  -734,  -734,  -734,
-     569,   571,   572,   573,   574,  -734,  -734,  -734,   229,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,   230,  -734,   575,   503,  -734,  -734,   576,   517,
-    -734,  -734,   577,   581,  -734,  -734,   579,   583,  -734,  -734,
-    -734,  -734,  -734,  -734,    93,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,   168,  -734,   582,   584,  -734,   585,   586,   587,
-     588,   589,   590,   232,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,   236,  -734,  -734,  -734,   283,   432,   462,
-    -734,  -734,   591,   592,  -734,  -734,   593,   595,  -734,  -734,
-     594,  -734,   596,   447,  -734,  -734,   597,   599,   600,   601,
-     464,   465,   466,   468,   472,   602,   603,   242,  -734,  -734,
-      36,  -734,   534,    11,  -734,   558,   319,  -734,   560,    67,
-    -734,   561,   145,  -734,    46,  -734,   -22,  -734,   562,   473,
-     475,   477,   478,   480,   481,   154,  -734,   604,   606,   211,
-    -734,  -734,  -734,   605,   610,  -734,    76,  -734,   565,   178,
-    -734,   567,   612,  -734,   614,  -734,   167,   484,   486,   487,
-    -734,  -734,  -734,  -734,  -734,   488,   490,  -734,   290,  -734,
-     609,  -734,   616,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,   293,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,   294,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,   492,   493,  -734,  -734,   494,
-     296,  -734,   619,  -734,   495,   615,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,    67,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,   249,
-    -734,  -734,    45,   615,  -734,  -734,   626,  -734,  -734,  -734,
-     300,  -734,  -734,  -734,  -734,  -734,   628,   506,   632,    45,
-    -734,   633,  -734,   508,  -734,   636,  -734,  -734,   250,  -734,
-      30,   636,  -734,  -734,   640,   641,   642,   302,  -734,  -734,
-    -734,  -734,  -734,  -734,   643,   507,   511,   524,    30,  -734,
-     509,  -734,  -734,  -734,  -734,  -734
+     310,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,    44,    13,    43,    78,    82,    91,   104,
+     141,   143,   151,   158,   162,   165,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+      13,    29,     9,   172,    26,    52,   177,   203,   130,    28,
+     369,   122,   474,  -728,   178,   179,   184,   183,   207,  -728,
+    -728,  -728,  -728,  -728,   209,  -728,    25,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,   217,   251,  -728,  -728,  -728,  -728,
+    -728,   258,   276,   277,   278,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,   285,  -728,  -728,  -728,    53,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   287,
+    -728,    59,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,   288,   289,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,    62,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,    69,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   223,
+     242,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,   290,  -728,  -728,   293,  -728,  -728,  -728,
+     296,  -728,  -728,   295,   309,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   316,   318,
+    -728,  -728,  -728,  -728,   317,   325,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,    76,  -728,
+    -728,  -728,  -728,  -728,   327,  -728,  -728,   328,  -728,   330,
+     331,  -728,  -728,   332,   334,   342,  -728,  -728,  -728,  -728,
+    -728,    94,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,    13,    13,
+    -728,   206,   350,   351,   353,   354,   356,  -728,     9,  -728,
+     361,   218,   222,   370,   371,   378,   382,   383,   228,   245,
+     246,   248,   385,   386,   393,   394,   400,   401,   423,   424,
+     426,   428,   291,   431,   432,   172,  -728,   433,   434,   436,
+     292,    26,  -728,   155,   437,   453,   454,   455,   456,   457,
+     458,   315,   314,   461,   462,   463,   464,    52,  -728,   465,
+     177,  -728,   466,   467,   468,   469,   470,   471,   472,   473,
+    -728,   203,  -728,   475,   476,   335,   478,   480,   483,   338,
+    -728,    28,   487,   343,   344,  -728,   369,   488,   491,   122,
+    -728,   347,   494,   496,   358,   497,   363,   364,   498,   500,
+     359,   365,   367,   514,   515,   474,  -728,  -728,  -728,   516,
+     517,   520,    13,    13,    13,  -728,   521,  -728,  -728,   376,
+     384,   387,   526,   528,  -728,  -728,  -728,  -728,   531,   532,
+     535,   536,   537,    13,   540,   541,   542,   543,  -728,   544,
+     545,  -728,   548,    49,   247,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,   534,   546,  -728,
+    -728,  -728,   408,   409,   410,   553,   412,   413,   414,  -728,
+    -728,   128,   415,   558,   557,  -728,   419,  -728,   548,   420,
+     421,   422,   425,   427,   444,   445,  -728,   446,   447,  -728,
+     448,   449,   450,  -728,  -728,   451,  -728,  -728,  -728,   452,
+      13,  -728,  -728,   459,   460,  -728,   477,  -728,  -728,    -2,
+     360,  -728,  -728,  -728,   -15,   479,  -728,    13,   172,   481,
+    -728,  -728,  -728,    26,  -728,  -728,  -728,   379,   379,   563,
+     564,   568,   593,  -728,  -728,  -728,   176,    50,   594,   214,
+     152,   474,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+     598,  -728,   155,  -728,  -728,  -728,   596,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,   597,   522,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   105,
+    -728,   126,  -728,  -728,   149,  -728,  -728,  -728,  -728,   604,
+     606,   607,   608,   609,  -728,  -728,  -728,   156,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,   163,  -728,   610,   611,  -728,  -728,   612,
+     614,  -728,  -728,   613,   617,  -728,  -728,   616,   620,  -728,
+    -728,  -728,  -728,  -728,  -728,    75,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,   106,  -728,   619,   624,  -728,   625,   626,
+     627,   628,   629,   630,   182,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,   200,  -728,  -728,  -728,   221,   489,
+     490,  -728,  -728,   622,   632,  -728,  -728,   633,   635,  -728,
+    -728,   634,  -728,   636,   481,  -728,  -728,   637,   639,   640,
+     641,   499,   398,   501,   502,   503,   642,   644,   379,  -728,
+    -728,    52,  -728,   563,    28,  -728,   564,   369,  -728,   568,
+     103,  -728,   593,   176,  -728,    50,  -728,   122,  -728,   594,
+     505,   506,   507,   508,   509,   510,   214,  -728,   646,   655,
+     152,  -728,  -728,  -728,   654,   658,  -728,   177,  -728,   596,
+     203,  -728,   597,   659,  -728,   657,  -728,   372,   518,   519,
+     523,  -728,  -728,  -728,  -728,  -728,   524,   525,  -728,   227,
+    -728,   656,  -728,   660,  -728,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,   231,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,   235,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,   527,   530,  -728,  -728,
+     539,   241,  -728,   661,  -728,   547,   666,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+     103,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+     133,  -728,  -728,   252,   666,  -728,  -728,   663,  -728,  -728,
+    -728,  -728,  -728,   243,  -728,  -728,  -728,  -728,  -728,   671,
+     533,   674,   252,  -728,   679,  -728,   549,  -728,   680,  -728,
+    -728,   134,  -728,   146,   680,  -728,  -728,   689,   698,   699,
+     270,  -728,  -728,  -728,  -728,  -728,  -728,   701,   559,   560,
+     566,   146,  -728,   572,  -728,  -728,  -728,  -728,  -728
   };
 
   const unsigned short int
@@ -3613,350 +3614,359 @@ namespace isc { namespace dhcp {
       20,    22,    24,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     1,    41,    34,    30,
       29,    26,    27,    28,    33,     3,    31,    32,    54,     5,
-      66,     7,   110,     9,   222,    11,   375,    13,   398,    15,
-     300,    17,   308,    19,   345,    21,   187,    23,   479,    25,
-      43,    37,     0,     0,     0,     0,     0,   400,     0,   310,
-     347,     0,     0,    45,     0,    44,     0,     0,    38,    64,
-     532,   526,   528,   530,     0,    63,     0,    56,    58,    60,
-      61,    62,    59,   102,     0,     0,   417,   419,   421,   123,
-     125,     0,     0,     0,     0,   214,   298,   337,   271,   386,
-     388,   165,   443,   179,   198,     0,   467,   477,    95,     0,
+      66,     7,   113,     9,   229,    11,   382,    13,   405,    15,
+     307,    17,   315,    19,   352,    21,   192,    23,   488,    25,
+      43,    37,     0,     0,     0,     0,     0,   407,     0,   317,
+     354,     0,     0,    45,     0,    44,     0,     0,    38,    64,
+     543,   537,   539,   541,     0,    63,     0,    56,    58,    60,
+      61,    62,    59,   102,     0,     0,   426,   428,   430,   126,
+     128,     0,     0,     0,     0,   221,   305,   344,   278,   393,
+     395,   170,   452,   184,   205,     0,   476,   486,    95,     0,
       68,    70,    71,    72,    73,    88,    89,    76,    77,    78,
       79,    83,    84,    74,    75,    81,    82,    93,    94,    90,
-      91,    92,    80,    85,    86,    87,   112,   114,   118,     0,
-       0,   104,   106,   107,   108,   109,   447,   252,   254,   256,
-     367,   250,   258,   260,     0,     0,   264,   262,   390,   439,
-     249,   226,   227,   228,   240,     0,   224,   231,   244,   245,
-     246,   232,   233,   236,   238,   234,   235,   229,   230,   247,
-     248,   237,   241,   242,   243,   239,   384,   383,   380,     0,
-     377,   379,   381,   382,   437,   425,   427,   431,   429,   435,
-     433,   423,   416,   412,     0,   401,   402,   413,   414,   415,
-     409,   404,   410,   406,   407,   408,   411,   405,     0,   327,
-     155,     0,   331,   329,   334,     0,   323,   324,     0,   311,
-     312,   314,   326,   315,   316,   317,   333,   318,   319,   320,
-     321,   322,   361,     0,     0,   359,   360,   363,   364,     0,
-     348,   349,   351,   352,   353,   354,   355,   356,   357,   358,
-     194,   196,   191,     0,   189,   192,   193,     0,   499,   501,
-       0,   504,     0,     0,   508,   512,     0,     0,     0,   517,
-     524,   497,     0,   481,   483,   484,   485,   486,   487,   488,
-     489,   490,   491,   492,   493,   494,   495,   496,    42,     0,
-       0,    35,     0,     0,     0,     0,     0,     0,    53,     0,
-      55,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      91,    92,    80,    85,    86,    87,   115,   117,   121,     0,
+     112,     0,   104,   106,   107,   108,   109,   110,   111,   456,
+     259,   261,   263,   374,   257,   265,   267,     0,     0,   271,
+     269,   397,   448,   256,   233,   234,   235,   247,     0,   231,
+     238,   251,   252,   253,   239,   240,   243,   245,   241,   242,
+     236,   237,   254,   255,   244,   248,   249,   250,   246,   391,
+     390,   387,     0,   384,   386,   388,   389,   446,   434,   436,
+     440,   438,   444,   442,   432,   425,   419,   423,   424,     0,
+     408,   409,   420,   421,   422,   416,   411,   417,   413,   414,
+     415,   418,   412,     0,   334,   160,     0,   338,   336,   341,
+       0,   330,   331,     0,   318,   319,   321,   333,   322,   323,
+     324,   340,   325,   326,   327,   328,   329,   368,     0,     0,
+     366,   367,   370,   371,     0,   355,   356,   358,   359,   360,
+     361,   362,   363,   364,   365,   201,   203,   200,     0,   194,
+     196,   197,   198,   199,     0,   510,   512,     0,   515,     0,
+       0,   519,   523,     0,     0,     0,   528,   535,   508,   506,
+     507,     0,   490,   492,   493,   494,   495,   496,   497,   498,
+     499,   500,   501,   502,   503,   504,   505,    42,     0,     0,
+      35,     0,     0,     0,     0,     0,     0,    53,     0,    55,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    67,     0,     0,
-       0,     0,     0,   111,   449,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   223,
-       0,     0,   376,     0,     0,     0,     0,     0,     0,     0,
-       0,   399,     0,   301,     0,     0,     0,     0,     0,     0,
-       0,   309,     0,     0,     0,     0,   346,     0,     0,     0,
-       0,   188,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   480,    46,    39,
-       0,     0,     0,     0,     0,     0,    57,     0,   100,   101,
-       0,     0,     0,     0,     0,    96,    97,    98,    99,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   466,
-       0,     0,    69,     0,     0,     0,   122,   105,   464,   462,
-     463,   455,   456,   460,   461,   457,   458,   459,     0,   450,
-     451,   453,   454,     0,     0,     0,     0,     0,     0,     0,
-     269,   270,     0,     0,     0,     0,   225,     0,   378,     0,
-       0,     0,     0,     0,     0,     0,     0,   403,     0,     0,
-     325,     0,     0,     0,   336,   313,     0,   365,   366,   350,
-       0,     0,   190,   498,     0,     0,   503,     0,   506,   507,
-       0,     0,   514,   515,   516,     0,     0,   482,     0,     0,
-       0,   527,   529,   531,     0,   418,   420,   422,     0,     0,
-     216,   302,   339,   273,    36,   387,   389,     0,     0,   181,
-       0,     0,     0,    47,   113,   116,   117,   115,   120,   121,
-     119,     0,   448,     0,   253,   255,   257,   369,   251,   259,
-     261,   266,   267,   268,   265,   263,   392,     0,   385,   438,
-     426,   428,   432,   430,   436,   434,   424,   328,   156,   332,
-     330,   335,   362,   195,   197,   500,   502,   505,   510,   511,
-     509,   513,   519,   520,   521,   522,   523,   518,   525,    40,
-       0,   537,     0,   534,   536,     0,   142,   148,   150,   152,
-       0,     0,     0,     0,     0,   161,   163,   141,     0,   127,
-     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
-     139,   140,     0,   220,     0,   217,   218,   306,     0,   303,
-     304,   343,     0,   340,   341,   277,     0,   274,   275,   174,
-     175,   176,   177,   178,     0,   167,   169,   170,   171,   172,
-     173,   445,     0,   185,     0,   182,   183,     0,     0,     0,
-       0,     0,     0,     0,   200,   202,   203,   204,   205,   206,
-     207,   473,   475,     0,   469,   471,   472,     0,    49,     0,
-     452,   373,     0,   370,   371,   396,     0,   393,   394,   441,
-       0,    65,     0,     0,   533,   103,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   124,   126,
-       0,   215,     0,   310,   299,     0,   347,   338,     0,     0,
-     272,     0,     0,   166,     0,   444,     0,   180,     0,     0,
-       0,     0,     0,     0,     0,     0,   199,     0,     0,     0,
-     468,   478,    51,     0,    50,   465,     0,   368,     0,   400,
-     391,     0,     0,   440,     0,   535,     0,     0,     0,     0,
-     154,   157,   158,   159,   160,     0,     0,   128,     0,   219,
-       0,   305,     0,   342,   297,   294,   284,   285,   287,   281,
-     282,   283,   293,   292,     0,   279,   286,   295,   296,   288,
-     289,   290,   291,   276,   168,   446,     0,   184,   208,   209,
-     210,   211,   212,   213,   201,     0,     0,   470,    48,     0,
-       0,   372,     0,   395,     0,     0,   144,   145,   146,   147,
-     143,   149,   151,   153,   162,   164,   221,   307,   344,     0,
-     278,   186,   474,   476,    52,   374,   397,   442,   541,     0,
-     539,   280,     0,     0,   538,   553,     0,   551,   549,   545,
-       0,   543,   547,   548,   546,   540,     0,     0,     0,     0,
-     542,     0,   550,     0,   544,     0,   552,   557,     0,   555,
-       0,     0,   554,   565,     0,     0,     0,     0,   559,   561,
-     562,   563,   564,   556,     0,     0,     0,     0,     0,   558,
-       0,   567,   568,   569,   560,   566
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    67,     0,     0,     0,
+       0,     0,   114,   458,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   230,     0,
+       0,   383,     0,     0,     0,     0,     0,     0,     0,     0,
+     406,     0,   308,     0,     0,     0,     0,     0,     0,     0,
+     316,     0,     0,     0,     0,   353,     0,     0,     0,     0,
+     193,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   489,    46,    39,     0,
+       0,     0,     0,     0,     0,    57,     0,   100,   101,     0,
+       0,     0,     0,     0,    96,    97,    98,    99,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   475,     0,
+       0,    69,     0,     0,     0,   125,   105,   473,   471,   472,
+     464,   465,   469,   470,   466,   467,   468,     0,   459,   460,
+     462,   463,     0,     0,     0,     0,     0,     0,     0,   276,
+     277,     0,     0,     0,     0,   232,     0,   385,     0,     0,
+       0,     0,     0,     0,     0,     0,   410,     0,     0,   332,
+       0,     0,     0,   343,   320,     0,   372,   373,   357,     0,
+       0,   195,   509,     0,     0,   514,     0,   517,   518,     0,
+       0,   525,   526,   527,     0,     0,   491,     0,     0,     0,
+     538,   540,   542,     0,   427,   429,   431,     0,     0,   223,
+     309,   346,   280,    36,   394,   396,     0,     0,   186,     0,
+       0,     0,    47,   116,   119,   120,   118,   123,   124,   122,
+       0,   457,     0,   260,   262,   264,   376,   258,   266,   268,
+     273,   274,   275,   272,   270,   399,     0,   392,   447,   435,
+     437,   441,   439,   445,   443,   433,   335,   161,   339,   337,
+     342,   369,   202,   204,   511,   513,   516,   521,   522,   520,
+     524,   530,   531,   532,   533,   534,   529,   536,    40,     0,
+     548,     0,   545,   547,     0,   147,   153,   155,   157,     0,
+       0,     0,     0,     0,   166,   168,   146,     0,   130,   132,
+     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
+     143,   144,   145,     0,   227,     0,   224,   225,   313,     0,
+     310,   311,   350,     0,   347,   348,   284,     0,   281,   282,
+     179,   180,   181,   182,   183,     0,   172,   174,   175,   176,
+     177,   178,   454,     0,   190,     0,   187,   188,     0,     0,
+       0,     0,     0,     0,     0,   207,   209,   210,   211,   212,
+     213,   214,   482,   484,     0,   478,   480,   481,     0,    49,
+       0,   461,   380,     0,   377,   378,   403,     0,   400,   401,
+     450,     0,    65,     0,     0,   544,   103,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   127,
+     129,     0,   222,     0,   317,   306,     0,   354,   345,     0,
+       0,   279,     0,     0,   171,     0,   453,     0,   185,     0,
+       0,     0,     0,     0,     0,     0,     0,   206,     0,     0,
+       0,   477,   487,    51,     0,    50,   474,     0,   375,     0,
+     407,   398,     0,     0,   449,     0,   546,     0,     0,     0,
+       0,   159,   162,   163,   164,   165,     0,     0,   131,     0,
+     226,     0,   312,     0,   349,   304,   301,   291,   292,   294,
+     288,   289,   290,   300,   299,     0,   286,   293,   302,   303,
+     295,   296,   297,   298,   283,   173,   455,     0,   189,   215,
+     216,   217,   218,   219,   220,   208,     0,     0,   479,    48,
+       0,     0,   379,     0,   402,     0,     0,   149,   150,   151,
+     152,   148,   154,   156,   158,   167,   169,   228,   314,   351,
+       0,   285,   191,   483,   485,    52,   381,   404,   451,   552,
+       0,   550,   287,     0,     0,   549,   566,     0,   564,   562,
+     556,   560,   561,     0,   554,   558,   559,   557,   551,     0,
+       0,     0,     0,   553,     0,   563,     0,   555,     0,   565,
+     570,     0,   568,     0,     0,   567,   578,     0,     0,     0,
+       0,   572,   574,   575,   576,   577,   569,     0,     0,     0,
+       0,     0,   571,     0,   580,   581,   582,   573,   579
   };
 
   const short int
   Dhcp4Parser::yypgoto_[] =
   {
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,   -43,  -734,   137,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,   107,  -734,  -734,  -734,   -62,
-    -734,  -734,  -734,   333,  -734,  -734,  -734,  -734,   119,   305,
-     -52,   -37,   -16,  -734,  -734,   -10,  -734,  -734,   115,   298,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,   114,   -67,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,   -69,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-     -81,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-     -86,  -734,  -734,  -734,   -83,   266,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,   -91,  -734,  -734,  -734,  -734,  -734,  -734,
-    -733,  -734,  -734,  -734,   -63,  -734,  -734,  -734,   -55,   313,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -714,  -734,
-    -734,  -734,  -527,  -734,  -713,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,   -68,  -734,  -734,  -161,   -66,  -734,  -734,
-    -734,  -734,  -734,   -45,  -734,  -734,  -734,   -42,  -734,   306,
-    -734,   -56,  -734,  -734,  -734,  -734,  -734,   -40,  -734,  -734,
-    -734,  -734,  -734,   -31,  -734,  -734,  -734,   -41,  -734,  -734,
-    -734,   -35,  -734,   308,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,   -73,  -734,  -734,  -734,   -60,
-     339,  -734,  -734,   -54,  -734,   -47,  -734,  -734,  -734,  -734,
-    -734,   -71,  -734,  -734,  -734,   -58,  -734,   335,   -36,  -734,
-     -21,  -734,   -15,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-    -712,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-     150,  -734,  -734,  -734,  -734,  -734,  -734,  -734,   -38,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,   164,   310,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,  -734,
-    -734,    12,  -734,  -734,  -734,  -141,  -734,  -734,  -152,  -734,
-    -734,  -734,  -734,  -734,  -734,  -163,  -734,  -734,  -178,  -734,
-    -734,  -734,  -734,  -734
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,   -24,  -728,   259,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,   117,  -728,  -728,  -728,   -62,
+    -728,  -728,  -728,   396,  -728,  -728,  -728,  -728,   190,   366,
+     -51,   -44,   -28,  -728,  -728,   -25,  -728,  -728,   188,   374,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,   185,     0,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,   -58,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+     -17,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+     -13,  -728,  -728,  -728,   -16,   339,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,   -22,  -728,  -728,  -728,  -728,  -728,  -728,
+    -727,  -728,  -728,  -728,     6,  -728,  -728,  -728,    11,   373,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -716,  -728,
+    -728,  -728,  -546,  -728,  -709,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,    -5,  -728,  -728,  -107,   -67,  -728,  -728,
+    -728,  -728,  -728,    10,  -728,  -728,  -728,    14,  -728,   362,
+    -728,   -64,  -728,  -728,  -728,  -728,  -728,   -35,  -728,  -728,
+    -728,  -728,  -728,   -50,  -728,  -728,  -728,     8,  -728,  -728,
+    -728,    17,  -728,   349,  -728,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,   -19,  -728,  -728,  -728,   -12,
+     381,  -728,  -728,   -40,  -728,   -18,  -728,  -728,  -728,  -728,
+    -728,   -14,  -728,  -728,  -728,   -11,  -728,   375,    -7,  -728,
+       1,  -728,     4,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+    -707,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+     195,  -728,  -728,  -728,  -728,  -728,  -728,  -728,     2,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,   210,   345,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
+    -728,    51,  -728,  -728,  -728,  -100,  -728,  -728,  -116,  -728,
+    -728,  -728,  -728,  -728,  -728,  -127,  -728,  -728,  -143,  -728,
+    -728,  -728,  -728,  -728
   };
 
   const short int
   Dhcp4Parser::yydefgoto_[] =
   {
       -1,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,    25,    34,    35,    36,    61,   545,    77,
-      78,    37,    60,    74,    75,   554,   698,   763,   764,   118,
-      39,    62,    86,    87,    88,   313,    41,    63,   119,   120,
-     121,   122,   123,   124,   125,   126,   127,   321,   150,   151,
-      43,    64,   152,   348,   153,   349,   557,   154,   350,   560,
-     155,   128,   327,   129,   328,   628,   629,   630,   716,   840,
-     631,   717,   632,   718,   633,   719,   634,   237,   385,   636,
-     637,   638,   639,   640,   725,   641,   726,   130,   339,   664,
-     665,   666,   667,   668,   669,   670,   131,   341,   674,   675,
-     676,   746,    57,    71,   273,   274,   275,   398,   276,   399,
-     132,   342,   683,   684,   685,   686,   687,   688,   689,   690,
-     133,   333,   644,   645,   646,   730,    45,    65,   175,   176,
-     177,   359,   178,   355,   179,   356,   180,   357,   181,   360,
-     182,   361,   183,   365,   184,   364,   574,   185,   186,   134,
-     336,   656,   657,   658,   739,   804,   805,   135,   334,    51,
-      68,   648,   649,   650,   733,    53,    69,   238,   239,   240,
-     241,   242,   243,   244,   384,   245,   388,   246,   387,   247,
-     248,   389,   249,   136,   335,   652,   653,   654,   736,    55,
-      70,   259,   260,   261,   262,   263,   393,   264,   265,   266,
-     267,   188,   358,   702,   703,   704,   766,    47,    66,   199,
-     200,   201,   370,   137,   337,   138,   338,   191,   366,   706,
-     707,   708,   769,    49,    67,   214,   215,   216,   139,   324,
-     140,   325,   141,   326,   220,   380,   221,   374,   222,   375,
-     223,   377,   224,   376,   225,   379,   226,   378,   227,   373,
-     195,   367,   710,   772,   142,   340,   672,   354,   468,   469,
-     470,   471,   472,   561,   143,   144,   344,   693,   694,   695,
-     757,   696,   758,   145,   345,    59,    72,   292,   293,   294,
-     295,   403,   296,   404,   297,   298,   406,   299,   300,   301,
-     409,   600,   302,   410,   303,   304,   305,   306,   414,   607,
-     307,   415,    89,   315,    90,   316,    91,   317,    92,   314,
-     612,   613,   614,   712,   859,   860,   862,   870,   871,   872,
-     873,   878,   874,   876,   888,   889,   890,   897,   898,   899,
-     904,   900,   901,   902
+      22,    23,    24,    25,    34,    35,    36,    61,   554,    77,
+      78,    37,    60,    74,    75,   563,   709,   774,   775,   118,
+      39,    62,    86,    87,    88,   322,    41,    63,   119,   120,
+     121,   122,   123,   124,   125,   126,   127,   330,   151,   152,
+      43,    64,   153,   357,   154,   358,   566,   155,   359,   569,
+     156,   128,   336,   129,   337,   637,   638,   639,   727,   851,
+     640,   728,   641,   729,   642,   730,   643,   242,   394,   645,
+     646,   647,   648,   649,   736,   650,   737,   130,   348,   675,
+     676,   677,   678,   679,   680,   681,   131,   350,   685,   686,
+     687,   757,    57,    71,   278,   279,   280,   407,   281,   408,
+     132,   351,   694,   695,   696,   697,   698,   699,   700,   701,
+     133,   342,   655,   656,   657,   741,    45,    65,   178,   179,
+     180,   368,   181,   364,   182,   365,   183,   366,   184,   369,
+     185,   370,   186,   374,   187,   373,   583,   188,   189,   134,
+     345,   667,   668,   669,   750,   815,   816,   135,   343,    51,
+      68,   659,   660,   661,   744,    53,    69,   243,   244,   245,
+     246,   247,   248,   249,   393,   250,   397,   251,   396,   252,
+     253,   398,   254,   136,   344,   663,   664,   665,   747,    55,
+      70,   264,   265,   266,   267,   268,   402,   269,   270,   271,
+     272,   191,   367,   713,   714,   715,   777,    47,    66,   202,
+     203,   204,   379,   137,   346,   138,   347,   194,   375,   717,
+     718,   719,   780,    49,    67,   219,   220,   221,   139,   333,
+     140,   334,   141,   335,   225,   389,   226,   383,   227,   384,
+     228,   386,   229,   385,   230,   388,   231,   387,   232,   382,
+     198,   376,   721,   783,   142,   349,   683,   363,   477,   478,
+     479,   480,   481,   570,   143,   144,   353,   704,   705,   706,
+     768,   707,   769,   145,   354,    59,    72,   301,   302,   303,
+     304,   412,   305,   413,   306,   307,   415,   308,   309,   310,
+     418,   609,   311,   419,   312,   313,   314,   315,   423,   616,
+     316,   424,    89,   324,    90,   325,    91,   326,    92,   323,
+     621,   622,   623,   723,   870,   871,   873,   883,   884,   885,
+     886,   891,   887,   889,   901,   902,   903,   910,   911,   912,
+     917,   913,   914,   915
   };
 
   const unsigned short int
   Dhcp4Parser::yytable_[] =
   {
-      85,   256,   228,   170,   197,   212,   800,   236,   255,   272,
-     291,   189,   202,   171,   257,   250,   268,    73,   190,   203,
-      79,   671,   251,   269,   598,   801,   803,   812,   172,   192,
-     258,   217,   270,   271,   187,   198,   213,    27,   229,    28,
-     319,    29,    26,   156,   193,   320,   218,   146,   147,   173,
-     194,   148,   219,   156,   149,   174,   346,    95,    96,    97,
-      98,   347,    38,   230,    40,   231,   232,   270,   271,   233,
-     234,   235,   352,    42,   156,   109,   110,   353,   101,   102,
-     103,   368,    44,   157,   158,   159,   369,   107,    95,    96,
-      97,    98,   602,   603,   604,   605,   742,   230,   160,   743,
-     109,   110,   161,   162,   163,   164,   165,   166,    46,   101,
-     102,   103,   371,   105,   167,   168,   800,   372,   107,   230,
-     555,   556,   169,   606,   167,    84,   599,   107,   571,   572,
-     573,   109,   110,    80,   162,   801,   803,   812,   166,   196,
-     109,   110,    81,    82,    83,   167,    48,   400,    96,    97,
-      98,    76,   401,   169,    93,    50,   893,    84,    84,   894,
-     895,   896,    52,    94,    95,    96,    97,    98,    99,   100,
-     865,   744,   866,   867,   745,   106,   106,   107,   230,    30,
-      31,    32,    33,    84,    54,   101,   102,   103,   104,   105,
-     109,   110,    84,   106,   107,   836,   837,   838,   839,    56,
-      96,    97,    98,   458,   108,   416,   346,   109,   110,   310,
-     417,   711,   802,    58,    84,   713,   352,   815,   111,   112,
-     714,   715,   308,    84,   309,   659,   660,   661,   662,   107,
-     663,   113,   727,   727,   114,   755,   311,   728,   729,   759,
-     756,   115,   116,   312,   760,   117,   677,   678,   679,   680,
-     681,   682,   863,   891,   204,   864,   892,    85,   205,   206,
-     207,   208,   209,   210,   318,   211,   418,   419,   322,   616,
-     558,   559,   323,    84,   617,   618,   619,   620,   621,   622,
-     623,   624,   625,   626,   329,   460,   416,   381,   461,   330,
-      84,   761,   459,   368,   230,   331,   849,   400,   846,   371,
-     463,   850,   851,   879,   855,   908,   170,   464,   880,   197,
-     909,   691,   692,   332,   189,   343,   171,   202,   465,   351,
-     212,   190,   802,   462,   203,    84,   362,   363,   256,   382,
-     236,   172,   192,   466,   386,   255,   383,   187,   250,   467,
-     198,   257,   390,   268,   391,   251,   217,   193,   392,   396,
-     269,   213,   173,   194,   291,   394,   395,   258,   174,   397,
-     428,   218,   402,   405,   407,   408,   411,   219,   412,   413,
-     420,   230,   252,   231,   232,   253,   254,   421,   422,   423,
-     531,   532,   533,   109,   110,   424,   425,   427,   429,    84,
-     430,   431,   432,   433,   434,   435,   436,   439,   440,   437,
-     438,   546,   277,   278,   279,   280,   281,   282,   283,   284,
-     285,   286,   287,   288,   289,   290,     1,     2,     3,     4,
-       5,     6,     7,     8,     9,    10,    11,    12,   441,   442,
-     443,   444,   445,   446,   447,   448,   449,   450,   451,   453,
-     454,   455,   456,   473,   474,   475,    84,   476,   477,   478,
-     479,   480,   482,   483,   481,   484,   485,   487,   489,   490,
-     491,   492,   493,   494,   495,   496,    84,   498,   594,   635,
-     635,   499,   500,   501,   502,   503,   627,   627,   506,   504,
-     510,   507,   508,   511,   513,   609,   514,   515,   516,   517,
-     291,   518,   519,   520,   460,   521,   522,   461,   523,   524,
-     525,   459,   526,   528,   529,   563,   732,   530,   534,   463,
-     535,   538,   539,   536,   537,   540,   464,   541,   542,   543,
-     735,   547,    28,   548,   549,   553,   564,   465,   550,   551,
-     552,   565,   462,   562,   567,   576,   601,   709,   566,   568,
-     577,   643,   466,   569,   570,   575,   578,   580,   467,   581,
-     582,   583,   584,   585,   586,   587,   588,   589,   590,   591,
-     592,   593,   595,   596,   597,   647,   608,   651,   655,   673,
-     699,   611,   701,   720,   705,   721,   722,   723,   724,   762,
-     544,   731,   734,   737,   738,   740,   741,   748,   747,   749,
-     750,   751,   752,   753,   754,   768,   579,   767,   771,   770,
-     774,   776,   773,   777,   778,   779,   785,   786,   825,   765,
-     826,   828,   780,   829,   782,   781,   834,   847,   783,   835,
-     784,   818,   858,   819,   848,   820,   821,   856,   822,   823,
-     877,   841,   881,   842,   843,   844,   883,   845,   885,   852,
-     853,   854,   857,   887,   905,   906,   907,   910,   610,   615,
-     457,   452,   426,   642,   882,   886,   915,   911,   635,   912,
-     787,   814,   817,   816,   824,   627,   512,   256,   170,   789,
-     799,   236,   913,   813,   255,   788,   189,   794,   171,   250,
-     257,   486,   268,   190,   272,   807,   251,   795,   861,   269,
-     791,   790,   808,   172,   192,   831,   258,   793,   505,   187,
-     833,   792,   796,   809,   197,   509,   830,   212,   806,   193,
-     488,   832,   202,   700,   173,   194,   697,   497,   810,   203,
-     174,   827,   875,   797,   811,   775,   527,   884,   903,   798,
-     914,     0,     0,   217,     0,   198,     0,     0,   213,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   218,     0,
-       0,     0,     0,     0,   219,     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,
-     799,     0,     0,     0,     0,     0,     0,   794,     0,     0,
-       0,     0,     0,   869,     0,   807,     0,   795,     0,     0,
-     868,     0,   808,     0,     0,     0,     0,     0,     0,     0,
-     869,     0,   796,   809,     0,     0,     0,   868,   806,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   810,     0,
-       0,     0,     0,   797,   811,     0,     0,     0,     0,   798
+      85,   233,   150,   173,   200,   215,   262,   241,   260,   277,
+     298,   682,   261,   607,   174,   190,   201,   216,    27,    79,
+      28,   175,    29,   811,   157,   192,   205,   217,   328,   255,
+     273,   282,   299,   329,   812,   263,    73,   176,   146,   147,
+     177,   814,   148,   823,    26,   149,   158,   193,   206,   218,
+      38,   256,   274,   283,   300,   234,   355,   159,   195,   159,
+     222,   356,   361,   564,   565,   377,   196,   362,   223,   197,
+     378,   224,   380,    95,    96,    97,    98,   381,   753,   409,
+     235,   754,   236,   237,   410,    40,   238,   239,   240,    42,
+     109,   110,   109,   110,   101,   102,   103,   425,    44,   160,
+     161,   162,   426,   107,   611,   612,   613,   614,   355,   755,
+     159,    46,   756,   722,   163,   608,   109,   110,   164,   165,
+     166,   167,   168,   169,    95,    96,    97,    98,   170,   724,
+     170,   171,    80,   811,   725,   615,   874,   904,   172,   875,
+     905,    81,    82,    83,   812,   101,   102,   103,    48,   105,
+      50,   814,   361,   823,   107,   235,    84,   726,    52,   738,
+      30,    31,    32,    33,   739,    54,   738,   109,   110,    56,
+     165,   740,    58,    84,   169,    84,    76,    96,    97,    98,
+     106,   170,   318,    93,   317,   766,   109,   110,   319,   172,
+     767,   320,    94,    95,    96,    97,    98,    99,   100,    84,
+     580,   581,   582,   770,   813,   106,   107,   235,   771,   826,
+     321,   275,   276,   327,   101,   102,   103,   104,   105,   109,
+     110,   331,   106,   107,   425,    96,    97,    98,   107,   772,
+     377,   390,   467,   108,   860,   857,   109,   110,   409,   861,
+     199,   109,   110,   862,   380,   391,   892,   111,   112,   866,
+      84,   893,   702,   703,   107,   332,   670,   671,   672,   673,
+     113,   674,   338,   114,   567,   568,    85,   109,   110,    84,
+     115,   116,   906,   921,   117,   907,   908,   909,   922,   207,
+     339,   340,   341,   208,   209,   210,   211,   212,   213,   352,
+     214,   360,   371,   372,   427,   428,   470,   395,   392,   150,
+     399,   468,    84,   400,   235,   469,   688,   689,   690,   691,
+     692,   693,   401,   471,   813,   173,   109,   110,   200,    84,
+     403,   157,   404,   472,    84,   405,   174,   190,   406,   215,
+     201,   411,   414,   175,   416,   417,   420,   192,   421,   241,
+     205,   216,   262,   158,   260,   473,   422,   277,   261,   176,
+      84,   217,   177,   429,   430,   431,   474,   432,   433,   193,
+     434,   255,   206,   298,   475,   436,   273,   476,   437,   282,
+     195,   263,   438,   218,   439,   440,   444,   876,   196,   877,
+     878,   197,   441,   256,   222,   299,   442,   443,   274,   448,
+     449,   283,   223,   445,   446,   224,   447,   450,   451,    84,
+     847,   848,   849,   850,   452,   453,   625,   300,   540,   541,
+     542,   626,   627,   628,   629,   630,   631,   632,   633,   634,
+     635,   235,   257,   236,   237,   258,   259,   454,   455,   555,
+     456,   235,   457,   109,   110,   459,   460,   462,   463,   458,
+     464,   482,   465,   109,   110,     1,     2,     3,     4,     5,
+       6,     7,     8,     9,    10,    11,    12,   483,   484,   485,
+     486,   487,   488,   489,   490,   491,   492,   493,   494,   496,
+     498,   499,   500,   501,   502,   503,   504,   505,   610,   507,
+     508,   150,   510,   509,   511,   636,   636,   512,   513,   644,
+     644,   515,   519,   516,   517,   520,   603,   522,   523,   298,
+     524,   526,   529,   157,   530,   470,   525,   651,   651,   531,
+     468,   527,   528,   618,   469,   532,    84,   533,   534,   535,
+     537,   299,   471,   544,   538,   158,    84,   539,   543,   652,
+     652,   545,   472,   547,   546,   548,   549,   550,   109,   110,
+     551,   552,   571,   300,    28,   556,   557,   558,   792,   572,
+     559,   560,   561,   562,   473,   573,   574,   575,   576,   577,
+     578,   579,   584,   585,   586,   474,   587,   589,   590,   591,
+     654,   658,   592,   475,   593,   662,   476,   284,   285,   286,
+     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
+     297,   594,   595,   596,   597,   598,   599,   600,   601,   602,
+     666,   684,   710,   712,   716,   620,   604,   605,   731,   720,
+     732,   733,   734,   735,   743,   588,   742,   746,   745,   748,
+     749,    84,   751,   752,   606,   758,   617,   759,   778,   760,
+     761,   762,   763,   764,   765,   779,   773,   776,   782,   781,
+     785,   787,   784,   788,   789,   790,   796,   791,   797,   793,
+     836,   795,   794,   829,   830,   831,   832,   833,   834,   837,
+     839,   840,   846,   845,   858,   852,   853,   890,   859,   867,
+     854,   855,   856,   869,   863,   894,   636,   864,   896,   173,
+     644,   895,   241,   262,   898,   260,   865,   900,   805,   261,
+     174,   190,   810,   918,   868,   277,   899,   175,   651,   806,
+     817,   192,   919,   920,   255,   923,   807,   273,   925,   924,
+     818,   553,   263,   176,   926,   200,   177,   282,   215,   928,
+     652,   461,   808,   193,   435,   809,   256,   201,   619,   274,
+     216,   624,   819,   653,   195,   466,   825,   205,   798,   283,
+     217,   827,   196,   820,   835,   197,   828,   824,   521,   800,
+     495,   821,   799,   872,   822,   518,   802,   804,   801,   206,
+     842,   497,   218,   514,   803,   841,   506,   711,   844,   843,
+     536,   708,   838,   222,   888,   786,   897,   916,   927,     0,
+       0,   223,     0,     0,   224,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   805,     0,
+       0,     0,   810,     0,     0,     0,     0,     0,     0,   806,
+     817,   879,     0,     0,     0,   880,   807,     0,     0,     0,
+     818,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     879,     0,   808,   881,   880,   809,     0,     0,     0,     0,
+       0,     0,   819,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   881,   820,     0,   882,     0,     0,     0,     0,
+       0,   821,     0,     0,   822,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   882
   };
 
   const short int
   Dhcp4Parser::yycheck_[] =
   {
-      62,    70,    68,    65,    66,    67,   739,    69,    70,    71,
-      72,    65,    66,    65,    70,    69,    70,    60,    65,    66,
-      10,   548,    69,    70,    15,   739,   739,   739,    65,    65,
-      70,    67,    89,    90,    65,    66,    67,     5,    27,     7,
-       3,     9,     0,     7,    65,     8,    67,    12,    13,    65,
-      65,    16,    67,     7,    19,    65,     3,    21,    22,    23,
-      24,     8,     7,    52,     7,    54,    55,    89,    90,    58,
-      59,    60,     3,     7,     7,    64,    65,     8,    42,    43,
-      44,     3,     7,    47,    48,    49,     8,    51,    21,    22,
-      23,    24,   119,   120,   121,   122,     3,    52,    62,     6,
-      64,    65,    66,    67,    68,    69,    70,    71,     7,    42,
-      43,    44,     3,    46,    78,    79,   849,     8,    51,    52,
-      14,    15,    86,   150,    78,   147,   117,    51,    72,    73,
-      74,    64,    65,   123,    67,   849,   849,   849,    71,    63,
-      64,    65,   132,   133,   134,    78,     7,     3,    22,    23,
-      24,   147,     8,    86,    11,     7,   126,   147,   147,   129,
-     130,   131,     7,    20,    21,    22,    23,    24,    25,    26,
-     125,     3,   127,   128,     6,    50,    50,    51,    52,   147,
-     148,   149,   150,   147,     7,    42,    43,    44,    45,    46,
-      64,    65,   147,    50,    51,    28,    29,    30,    31,     7,
-      22,    23,    24,    77,    61,     3,     3,    64,    65,     4,
-       8,     8,   739,     7,   147,     3,     3,   744,    75,    76,
-       8,     8,     6,   147,     3,    80,    81,    82,    83,    51,
-      85,    88,     3,     3,    91,     3,     8,     8,     8,     3,
-       8,    98,    99,     3,     8,   102,    92,    93,    94,    95,
-      96,    97,     3,     3,    76,     6,     6,   319,    80,    81,
-      82,    83,    84,    85,     4,    87,   309,   310,     4,    27,
-      17,    18,     4,   147,    32,    33,    34,    35,    36,    37,
-      38,    39,    40,    41,     4,   354,     3,     8,   354,     4,
-     147,     8,   354,     3,    52,     4,     3,     3,     8,     3,
-     354,     8,     8,     3,     8,     3,   368,   354,     8,   371,
-       8,   100,   101,     4,   368,     4,   368,   371,   354,     4,
-     382,   368,   849,   354,   371,   147,     4,     4,   397,     3,
-     392,   368,   368,   354,     4,   397,     8,   368,   392,   354,
-     371,   397,     4,   397,     8,   392,   382,   368,     3,     8,
-     397,   382,   368,   368,   416,     4,     4,   397,   368,     3,
-     150,   382,     4,     4,     4,     4,     4,   382,     4,     4,
-     147,    52,    53,    54,    55,    56,    57,     4,     4,     4,
-     423,   424,   425,    64,    65,     4,     4,     4,   150,   147,
-       4,     4,     4,     4,     4,   148,   148,     4,     4,   148,
-     148,   444,   103,   104,   105,   106,   107,   108,   109,   110,
-     111,   112,   113,   114,   115,   116,   135,   136,   137,   138,
-     139,   140,   141,   142,   143,   144,   145,   146,     4,     4,
-       4,     4,     4,     4,     4,     4,   148,     4,     4,     4,
-       4,     4,   150,     4,     4,     4,   147,     4,     4,     4,
-       4,   148,     4,     4,   150,     4,     4,     4,     4,     4,
-       4,     4,     4,     4,     4,     4,   147,     4,   511,   538,
-     539,     4,   148,     4,     4,     4,   538,   539,     4,   150,
-       4,   150,   150,     4,   150,   528,     4,     4,   148,     4,
-     552,   148,   148,     4,   563,     4,   150,   563,   150,   150,
-       4,   563,     4,     4,     7,     3,     3,     7,     7,   563,
-     147,     7,     7,   147,   147,     5,   563,     5,     5,     5,
-       3,     5,     7,     5,     5,     5,   147,   563,     7,     7,
-       7,   147,   563,     8,     5,     5,   118,    87,   147,   147,
-       7,     7,   563,   147,   147,   147,   147,   147,   563,   147,
-     147,   147,   147,   147,   147,   147,   147,   147,   147,   147,
-     147,   147,   147,   147,   147,     7,   147,     7,     7,     7,
-       4,   124,     7,     4,     7,     4,     4,     4,     4,   147,
-     443,     6,     6,     6,     3,     6,     3,     3,     6,     4,
-       4,     4,     4,     4,     4,     3,   489,     6,     3,     6,
-       4,     4,     8,     4,     4,     4,     4,     4,     4,   147,
-       4,     6,   148,     3,   148,   150,     4,     8,   150,     5,
-     148,   148,     7,   148,     8,   148,   148,     8,   148,   148,
-       4,   147,     4,   147,   147,   147,     4,   147,     5,   147,
-     147,   147,   147,     7,     4,     4,     4,     4,   529,   534,
-     352,   346,   319,   539,   148,   147,   147,   150,   727,   148,
-     727,   742,   748,   746,   755,   727,   400,   736,   730,   732,
-     739,   733,   148,   741,   736,   730,   730,   739,   730,   733,
-     736,   368,   736,   730,   746,   739,   733,   739,   849,   736,
-     735,   733,   739,   730,   730,   768,   736,   738,   392,   730,
-     771,   736,   739,   739,   766,   397,   766,   769,   739,   730,
-     371,   769,   766,   563,   730,   730,   552,   382,   739,   766,
-     730,   759,   863,   739,   739,   713,   416,   879,   891,   739,
-     908,    -1,    -1,   769,    -1,   766,    -1,    -1,   769,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   769,    -1,
-      -1,    -1,    -1,    -1,   769,    -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,
-     849,    -1,    -1,    -1,    -1,    -1,    -1,   849,    -1,    -1,
-      -1,    -1,    -1,   862,    -1,   849,    -1,   849,    -1,    -1,
-     862,    -1,   849,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     879,    -1,   849,   849,    -1,    -1,    -1,   879,   849,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   849,    -1,
-      -1,    -1,    -1,   849,   849,    -1,    -1,    -1,    -1,   849
+      62,    68,    64,    65,    66,    67,    70,    69,    70,    71,
+      72,   557,    70,    15,    65,    65,    66,    67,     5,    10,
+       7,    65,     9,   750,    64,    65,    66,    67,     3,    69,
+      70,    71,    72,     8,   750,    70,    60,    65,    12,    13,
+      65,   750,    16,   750,     0,    19,    64,    65,    66,    67,
+       7,    69,    70,    71,    72,    27,     3,     7,    65,     7,
+      67,     8,     3,    14,    15,     3,    65,     8,    67,    65,
+       8,    67,     3,    21,    22,    23,    24,     8,     3,     3,
+      52,     6,    54,    55,     8,     7,    58,    59,    60,     7,
+      64,    65,    64,    65,    42,    43,    44,     3,     7,    47,
+      48,    49,     8,    51,   119,   120,   121,   122,     3,     3,
+       7,     7,     6,     8,    62,   117,    64,    65,    66,    67,
+      68,    69,    70,    71,    21,    22,    23,    24,    78,     3,
+      78,    79,   123,   860,     8,   150,     3,     3,    86,     6,
+       6,   132,   133,   134,   860,    42,    43,    44,     7,    46,
+       7,   860,     3,   860,    51,    52,   147,     8,     7,     3,
+     147,   148,   149,   150,     8,     7,     3,    64,    65,     7,
+      67,     8,     7,   147,    71,   147,   147,    22,    23,    24,
+      50,    78,     3,    11,     6,     3,    64,    65,     4,    86,
+       8,     8,    20,    21,    22,    23,    24,    25,    26,   147,
+      72,    73,    74,     3,   750,    50,    51,    52,     8,   755,
+       3,    89,    90,     4,    42,    43,    44,    45,    46,    64,
+      65,     4,    50,    51,     3,    22,    23,    24,    51,     8,
+       3,     8,    77,    61,     3,     8,    64,    65,     3,     8,
+      63,    64,    65,     8,     3,     3,     3,    75,    76,     8,
+     147,     8,   100,   101,    51,     4,    80,    81,    82,    83,
+      88,    85,     4,    91,    17,    18,   328,    64,    65,   147,
+      98,    99,   126,     3,   102,   129,   130,   131,     8,    76,
+       4,     4,     4,    80,    81,    82,    83,    84,    85,     4,
+      87,     4,     4,     4,   318,   319,   363,     4,     8,   361,
+       4,   363,   147,     8,    52,   363,    92,    93,    94,    95,
+      96,    97,     3,   363,   860,   377,    64,    65,   380,   147,
+       4,   361,     4,   363,   147,     8,   377,   377,     3,   391,
+     380,     4,     4,   377,     4,     4,     4,   377,     4,   401,
+     380,   391,   406,   361,   406,   363,     4,   409,   406,   377,
+     147,   391,   377,   147,     4,     4,   363,     4,     4,   377,
+       4,   401,   380,   425,   363,     4,   406,   363,   150,   409,
+     377,   406,   150,   391,     4,     4,   148,   125,   377,   127,
+     128,   377,     4,   401,   391,   425,     4,     4,   406,     4,
+       4,   409,   391,   148,   148,   391,   148,     4,     4,   147,
+      28,    29,    30,    31,     4,     4,    27,   425,   432,   433,
+     434,    32,    33,    34,    35,    36,    37,    38,    39,    40,
+      41,    52,    53,    54,    55,    56,    57,     4,     4,   453,
+       4,    52,     4,    64,    65,     4,     4,     4,     4,   148,
+       4,     4,   150,    64,    65,   135,   136,   137,   138,   139,
+     140,   141,   142,   143,   144,   145,   146,     4,     4,     4,
+       4,     4,     4,   148,   150,     4,     4,     4,     4,     4,
+       4,     4,     4,     4,     4,     4,     4,     4,   118,     4,
+       4,   543,     4,   148,     4,   547,   548,     4,   150,   547,
+     548,     4,     4,   150,   150,     4,   520,   150,     4,   561,
+       4,     4,     4,   543,     4,   572,   148,   547,   548,   150,
+     572,   148,   148,   537,   572,   150,   147,   150,     4,     4,
+       4,   561,   572,   147,     7,   543,   147,     7,     7,   547,
+     548,   147,   572,     7,   147,     7,     5,     5,    64,    65,
+       5,     5,     8,   561,     7,     5,     5,     5,   150,     3,
+       7,     7,     7,     5,   572,   147,   147,   147,     5,   147,
+     147,   147,   147,     5,     7,   572,   147,   147,   147,   147,
+       7,     7,   147,   572,   147,     7,   572,   103,   104,   105,
+     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
+     116,   147,   147,   147,   147,   147,   147,   147,   147,   147,
+       7,     7,     4,     7,     7,   124,   147,   147,     4,    87,
+       4,     4,     4,     4,     3,   498,     6,     3,     6,     6,
+       3,   147,     6,     3,   147,     6,   147,     3,     6,     4,
+       4,     4,     4,     4,     4,     3,   147,   147,     3,     6,
+       4,     4,     8,     4,     4,     4,     4,   148,     4,   148,
+       4,   148,   150,   148,   148,   148,   148,   148,   148,     4,
+       6,     3,     5,     4,     8,   147,   147,     4,     8,     8,
+     147,   147,   147,     7,   147,     4,   738,   147,     4,   741,
+     738,   148,   744,   747,     5,   747,   147,     7,   750,   747,
+     741,   741,   750,     4,   147,   757,   147,   741,   738,   750,
+     750,   741,     4,     4,   744,     4,   750,   747,   148,   150,
+     750,   452,   747,   741,   148,   777,   741,   757,   780,   147,
+     738,   355,   750,   741,   328,   750,   744,   777,   538,   747,
+     780,   543,   750,   548,   741,   361,   753,   777,   738,   757,
+     780,   757,   741,   750,   766,   741,   759,   752,   409,   743,
+     377,   750,   741,   860,   750,   406,   746,   749,   744,   777,
+     779,   380,   780,   401,   747,   777,   391,   572,   782,   780,
+     425,   561,   770,   780,   874,   724,   892,   904,   921,    -1,
+      -1,   780,    -1,    -1,   780,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   860,    -1,
+      -1,    -1,   860,    -1,    -1,    -1,    -1,    -1,    -1,   860,
+     860,   873,    -1,    -1,    -1,   873,   860,    -1,    -1,    -1,
+     860,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     892,    -1,   860,   873,   892,   860,    -1,    -1,    -1,    -1,
+      -1,    -1,   860,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   892,   860,    -1,   873,    -1,    -1,    -1,    -1,
+      -1,   860,    -1,    -1,   860,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   892
   };
 
   const unsigned short int
@@ -3977,83 +3987,84 @@ namespace isc { namespace dhcp {
      190,   191,   192,   193,   194,   195,   196,   197,   212,   214,
      238,   247,   261,   271,   300,   308,   334,   364,   366,   379,
      381,   383,   405,   415,   416,   424,    12,    13,    16,    19,
-     199,   200,   203,   205,   208,   211,     7,    47,    48,    49,
-      62,    66,    67,    68,    69,    70,    71,    78,    79,    86,
-     180,   191,   192,   193,   196,   279,   280,   281,   283,   285,
-     287,   289,   291,   293,   295,   298,   299,   334,   352,   364,
-     366,   368,   379,   381,   383,   401,    63,   180,   334,   360,
-     361,   362,   364,   366,    76,    80,    81,    82,    83,    84,
-      85,    87,   180,   334,   376,   377,   378,   379,   381,   383,
-     385,   387,   389,   391,   393,   395,   397,   399,   308,    27,
-      52,    54,    55,    58,    59,    60,   180,   228,   318,   319,
-     320,   321,   322,   323,   324,   326,   328,   330,   331,   333,
-     364,   366,    53,    56,    57,   180,   228,   322,   328,   342,
-     343,   344,   345,   346,   348,   349,   350,   351,   364,   366,
-      89,    90,   180,   255,   256,   257,   259,   103,   104,   105,
-     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-     116,   180,   428,   429,   430,   431,   433,   435,   436,   438,
-     439,   440,   443,   445,   446,   447,   448,   451,     6,     3,
-       4,     8,     3,   186,   460,   454,   456,   458,     4,     3,
-       8,   198,     4,     4,   380,   382,   384,   213,   215,     4,
-       4,     4,     4,   272,   309,   335,   301,   365,   367,   239,
-     406,   248,   262,     4,   417,   425,     3,     8,   204,   206,
-     209,     4,     3,     8,   408,   284,   286,   288,   353,   282,
-     290,   292,     4,     4,   296,   294,   369,   402,     3,     8,
-     363,     3,     8,   400,   388,   390,   394,   392,   398,   396,
-     386,     8,     3,     8,   325,   229,     4,   329,   327,   332,
-       4,     8,     3,   347,     4,     4,     8,     3,   258,   260,
-       3,     8,     4,   432,   434,     4,   437,     4,     4,   441,
-     444,     4,     4,     4,   449,   452,     3,     8,   165,   165,
-     147,     4,     4,     4,     4,     4,   184,     4,   150,   150,
-       4,     4,     4,     4,     4,   148,   148,   148,   148,     4,
-       4,     4,     4,     4,     4,     4,     4,     4,     4,   148,
-       4,     4,   190,     4,     4,     4,   150,   200,    77,   180,
-     228,   308,   334,   364,   366,   379,   381,   383,   409,   410,
-     411,   412,   413,     4,     4,     4,     4,     4,     4,     4,
-     148,   150,     4,     4,     4,     4,   280,     4,   361,     4,
-       4,     4,     4,     4,     4,     4,     4,   378,     4,     4,
-     148,     4,     4,     4,   150,   320,     4,   150,   150,   344,
-       4,     4,   256,   150,     4,     4,   148,     4,   148,   148,
-       4,     4,   150,   150,   150,     4,     4,   429,     4,     7,
-       7,   165,   165,   165,     7,   147,   147,   147,     7,     7,
-       5,     5,     5,     5,   167,   169,   165,     5,     5,     5,
-       7,     7,     7,     5,   176,    14,    15,   207,    17,    18,
-     210,   414,     8,     3,   147,   147,   147,     5,   147,   147,
-     147,    72,    73,    74,   297,   147,     5,     7,   147,   176,
+     180,   199,   200,   203,   205,   208,   211,   364,   366,     7,
+      47,    48,    49,    62,    66,    67,    68,    69,    70,    71,
+      78,    79,    86,   180,   191,   192,   193,   196,   279,   280,
+     281,   283,   285,   287,   289,   291,   293,   295,   298,   299,
+     334,   352,   364,   366,   368,   379,   381,   383,   401,    63,
+     180,   334,   360,   361,   362,   364,   366,    76,    80,    81,
+      82,    83,    84,    85,    87,   180,   334,   364,   366,   376,
+     377,   378,   379,   381,   383,   385,   387,   389,   391,   393,
+     395,   397,   399,   308,    27,    52,    54,    55,    58,    59,
+      60,   180,   228,   318,   319,   320,   321,   322,   323,   324,
+     326,   328,   330,   331,   333,   364,   366,    53,    56,    57,
+     180,   228,   322,   328,   342,   343,   344,   345,   346,   348,
+     349,   350,   351,   364,   366,    89,    90,   180,   255,   256,
+     257,   259,   364,   366,   103,   104,   105,   106,   107,   108,
+     109,   110,   111,   112,   113,   114,   115,   116,   180,   364,
+     366,   428,   429,   430,   431,   433,   435,   436,   438,   439,
+     440,   443,   445,   446,   447,   448,   451,     6,     3,     4,
+       8,     3,   186,   460,   454,   456,   458,     4,     3,     8,
+     198,     4,     4,   380,   382,   384,   213,   215,     4,     4,
+       4,     4,   272,   309,   335,   301,   365,   367,   239,   406,
+     248,   262,     4,   417,   425,     3,     8,   204,   206,   209,
+       4,     3,     8,   408,   284,   286,   288,   353,   282,   290,
+     292,     4,     4,   296,   294,   369,   402,     3,     8,   363,
+       3,     8,   400,   388,   390,   394,   392,   398,   396,   386,
+       8,     3,     8,   325,   229,     4,   329,   327,   332,     4,
+       8,     3,   347,     4,     4,     8,     3,   258,   260,     3,
+       8,     4,   432,   434,     4,   437,     4,     4,   441,   444,
+       4,     4,     4,   449,   452,     3,     8,   165,   165,   147,
+       4,     4,     4,     4,     4,   184,     4,   150,   150,     4,
+       4,     4,     4,     4,   148,   148,   148,   148,     4,     4,
+       4,     4,     4,     4,     4,     4,     4,     4,   148,     4,
+       4,   190,     4,     4,     4,   150,   200,    77,   180,   228,
+     308,   334,   364,   366,   379,   381,   383,   409,   410,   411,
+     412,   413,     4,     4,     4,     4,     4,     4,     4,   148,
+     150,     4,     4,     4,     4,   280,     4,   361,     4,     4,
+       4,     4,     4,     4,     4,     4,   378,     4,     4,   148,
+       4,     4,     4,   150,   320,     4,   150,   150,   344,     4,
+       4,   256,   150,     4,     4,   148,     4,   148,   148,     4,
+       4,   150,   150,   150,     4,     4,   429,     4,     7,     7,
+     165,   165,   165,     7,   147,   147,   147,     7,     7,     5,
+       5,     5,     5,   167,   169,   165,     5,     5,     5,     7,
+       7,     7,     5,   176,    14,    15,   207,    17,    18,   210,
+     414,     8,     3,   147,   147,   147,     5,   147,   147,   147,
+      72,    73,    74,   297,   147,     5,     7,   147,   176,   147,
      147,   147,   147,   147,   147,   147,   147,   147,   147,   147,
-     147,   147,   147,   147,   165,   147,   147,   147,    15,   117,
-     442,   118,   119,   120,   121,   122,   150,   450,   147,   165,
-     189,   124,   461,   462,   463,   199,    27,    32,    33,    34,
-      35,    36,    37,    38,    39,    40,    41,   180,   216,   217,
-     218,   221,   223,   225,   227,   228,   230,   231,   232,   233,
-     234,   236,   216,     7,   273,   274,   275,     7,   312,   313,
-     314,     7,   336,   337,   338,     7,   302,   303,   304,    80,
-      81,    82,    83,    85,   240,   241,   242,   243,   244,   245,
-     246,   293,   407,     7,   249,   250,   251,    92,    93,    94,
-      95,    96,    97,   263,   264,   265,   266,   267,   268,   269,
-     270,   100,   101,   418,   419,   420,   422,   428,   177,     4,
-     411,     7,   354,   355,   356,     7,   370,   371,   372,    87,
-     403,     8,   464,     3,     8,     8,   219,   222,   224,   226,
-       4,     4,     4,     4,     4,   235,   237,     3,     8,     8,
-     276,     6,     3,   315,     6,     3,   339,     6,     3,   305,
-       6,     3,     3,     6,     3,     6,   252,     6,     3,     4,
-       4,     4,     4,     4,     4,     3,     8,   421,   423,     3,
-       8,     8,   147,   178,   179,   147,   357,     6,     3,   373,
-       6,     3,   404,     8,     4,   462,     4,     4,     4,     4,
-     148,   150,   148,   150,   148,     4,     4,   217,   279,   275,
-     318,   314,   342,   338,   180,   191,   192,   193,   196,   228,
-     271,   289,   293,   295,   306,   307,   334,   364,   366,   379,
-     381,   383,   401,   304,   241,   293,   255,   251,   148,   148,
-     148,   148,   148,   148,   264,     4,     4,   419,     6,     3,
-     360,   356,   376,   372,     4,     5,    28,    29,    30,    31,
-     220,   147,   147,   147,   147,   147,     8,     8,     8,     3,
-       8,     8,   147,   147,   147,     8,     8,   147,     7,   465,
-     466,   307,   467,     3,     6,   125,   127,   128,   180,   228,
-     468,   469,   470,   471,   473,   466,   474,     4,   472,     3,
-       8,     4,   148,     4,   469,     5,   147,     7,   475,   476,
-     477,     3,     6,   126,   129,   130,   131,   478,   479,   480,
-     482,   483,   484,   476,   481,     4,     4,     4,     3,     8,
-       4,   150,   148,   148,   479,   147
+     147,   147,   147,   165,   147,   147,   147,    15,   117,   442,
+     118,   119,   120,   121,   122,   150,   450,   147,   165,   189,
+     124,   461,   462,   463,   199,    27,    32,    33,    34,    35,
+      36,    37,    38,    39,    40,    41,   180,   216,   217,   218,
+     221,   223,   225,   227,   228,   230,   231,   232,   233,   234,
+     236,   364,   366,   216,     7,   273,   274,   275,     7,   312,
+     313,   314,     7,   336,   337,   338,     7,   302,   303,   304,
+      80,    81,    82,    83,    85,   240,   241,   242,   243,   244,
+     245,   246,   293,   407,     7,   249,   250,   251,    92,    93,
+      94,    95,    96,    97,   263,   264,   265,   266,   267,   268,
+     269,   270,   100,   101,   418,   419,   420,   422,   428,   177,
+       4,   411,     7,   354,   355,   356,     7,   370,   371,   372,
+      87,   403,     8,   464,     3,     8,     8,   219,   222,   224,
+     226,     4,     4,     4,     4,     4,   235,   237,     3,     8,
+       8,   276,     6,     3,   315,     6,     3,   339,     6,     3,
+     305,     6,     3,     3,     6,     3,     6,   252,     6,     3,
+       4,     4,     4,     4,     4,     4,     3,     8,   421,   423,
+       3,     8,     8,   147,   178,   179,   147,   357,     6,     3,
+     373,     6,     3,   404,     8,     4,   462,     4,     4,     4,
+       4,   148,   150,   148,   150,   148,     4,     4,   217,   279,
+     275,   318,   314,   342,   338,   180,   191,   192,   193,   196,
+     228,   271,   289,   293,   295,   306,   307,   334,   364,   366,
+     379,   381,   383,   401,   304,   241,   293,   255,   251,   148,
+     148,   148,   148,   148,   148,   264,     4,     4,   419,     6,
+       3,   360,   356,   376,   372,     4,     5,    28,    29,    30,
+      31,   220,   147,   147,   147,   147,   147,     8,     8,     8,
+       3,     8,     8,   147,   147,   147,     8,     8,   147,     7,
+     465,   466,   307,   467,     3,     6,   125,   127,   128,   180,
+     228,   364,   366,   468,   469,   470,   471,   473,   466,   474,
+       4,   472,     3,     8,     4,   148,     4,   469,     5,   147,
+       7,   475,   476,   477,     3,     6,   126,   129,   130,   131,
+     478,   479,   480,   482,   483,   484,   476,   481,     4,     4,
+       4,     3,     8,     4,   150,   148,   148,   479,   147
   };
 
   const unsigned short int
@@ -4070,52 +4081,54 @@ namespace isc { namespace dhcp {
      190,   190,   190,   190,   190,   190,   190,   190,   190,   190,
      190,   190,   190,   190,   190,   190,   191,   192,   193,   194,
      195,   196,   198,   197,   199,   199,   200,   200,   200,   200,
-     202,   201,   204,   203,   206,   205,   207,   207,   209,   208,
-     210,   210,   211,   213,   212,   215,   214,   216,   216,   217,
-     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
-     217,   217,   219,   218,   220,   220,   220,   220,   222,   221,
-     224,   223,   226,   225,   227,   229,   228,   230,   231,   232,
-     233,   235,   234,   237,   236,   239,   238,   240,   240,   241,
-     241,   241,   241,   241,   242,   243,   244,   245,   246,   248,
-     247,   249,   249,   250,   250,   252,   251,   254,   253,   255,
-     255,   255,   256,   256,   258,   257,   260,   259,   262,   261,
-     263,   263,   264,   264,   264,   264,   264,   264,   265,   266,
-     267,   268,   269,   270,   272,   271,   273,   273,   274,   274,
-     276,   275,   278,   277,   279,   279,   280,   280,   280,   280,
+     200,   200,   200,   202,   201,   204,   203,   206,   205,   207,
+     207,   209,   208,   210,   210,   211,   213,   212,   215,   214,
+     216,   216,   217,   217,   217,   217,   217,   217,   217,   217,
+     217,   217,   217,   217,   217,   217,   217,   219,   218,   220,
+     220,   220,   220,   222,   221,   224,   223,   226,   225,   227,
+     229,   228,   230,   231,   232,   233,   235,   234,   237,   236,
+     239,   238,   240,   240,   241,   241,   241,   241,   241,   242,
+     243,   244,   245,   246,   248,   247,   249,   249,   250,   250,
+     252,   251,   254,   253,   255,   255,   256,   256,   256,   256,
+     256,   258,   257,   260,   259,   262,   261,   263,   263,   264,
+     264,   264,   264,   264,   264,   265,   266,   267,   268,   269,
+     270,   272,   271,   273,   273,   274,   274,   276,   275,   278,
+     277,   279,   279,   280,   280,   280,   280,   280,   280,   280,
      280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
-     280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
-     282,   281,   284,   283,   286,   285,   288,   287,   290,   289,
-     292,   291,   294,   293,   296,   295,   297,   297,   297,   298,
-     299,   301,   300,   302,   302,   303,   303,   305,   304,   306,
-     306,   307,   307,   307,   307,   307,   307,   307,   307,   307,
-     307,   307,   307,   307,   307,   307,   307,   307,   309,   308,
-     311,   310,   312,   312,   313,   313,   315,   314,   317,   316,
-     318,   318,   319,   319,   320,   320,   320,   320,   320,   320,
-     320,   320,   320,   320,   321,   322,   323,   325,   324,   327,
-     326,   329,   328,   330,   332,   331,   333,   335,   334,   336,
-     336,   337,   337,   339,   338,   341,   340,   342,   342,   343,
-     343,   344,   344,   344,   344,   344,   344,   344,   344,   344,
-     345,   347,   346,   348,   349,   350,   351,   353,   352,   354,
-     354,   355,   355,   357,   356,   359,   358,   360,   360,   361,
-     361,   361,   361,   361,   363,   362,   365,   364,   367,   366,
-     369,   368,   370,   370,   371,   371,   373,   372,   375,   374,
-     376,   376,   377,   377,   378,   378,   378,   378,   378,   378,
-     378,   378,   378,   378,   378,   378,   378,   380,   379,   382,
-     381,   384,   383,   386,   385,   388,   387,   390,   389,   392,
-     391,   394,   393,   396,   395,   398,   397,   400,   399,   402,
-     401,   404,   403,   406,   405,   407,   407,   408,   293,   409,
-     409,   410,   410,   411,   411,   411,   411,   411,   411,   411,
-     411,   411,   411,   412,   414,   413,   415,   417,   416,   418,
-     418,   419,   419,   421,   420,   423,   422,   425,   424,   427,
-     426,   428,   428,   429,   429,   429,   429,   429,   429,   429,
-     429,   429,   429,   429,   429,   429,   429,   429,   430,   432,
-     431,   434,   433,   435,   437,   436,   438,   439,   441,   440,
-     442,   442,   444,   443,   445,   446,   447,   449,   448,   450,
-     450,   450,   450,   450,   452,   451,   454,   453,   456,   455,
-     458,   457,   460,   459,   461,   461,   462,   464,   463,   465,
-     465,   467,   466,   468,   468,   469,   469,   469,   469,   469,
-     470,   472,   471,   474,   473,   475,   475,   477,   476,   478,
-     478,   479,   479,   479,   479,   481,   480,   482,   483,   484
+     280,   280,   280,   280,   280,   280,   280,   282,   281,   284,
+     283,   286,   285,   288,   287,   290,   289,   292,   291,   294,
+     293,   296,   295,   297,   297,   297,   298,   299,   301,   300,
+     302,   302,   303,   303,   305,   304,   306,   306,   307,   307,
+     307,   307,   307,   307,   307,   307,   307,   307,   307,   307,
+     307,   307,   307,   307,   307,   309,   308,   311,   310,   312,
+     312,   313,   313,   315,   314,   317,   316,   318,   318,   319,
+     319,   320,   320,   320,   320,   320,   320,   320,   320,   320,
+     320,   321,   322,   323,   325,   324,   327,   326,   329,   328,
+     330,   332,   331,   333,   335,   334,   336,   336,   337,   337,
+     339,   338,   341,   340,   342,   342,   343,   343,   344,   344,
+     344,   344,   344,   344,   344,   344,   344,   345,   347,   346,
+     348,   349,   350,   351,   353,   352,   354,   354,   355,   355,
+     357,   356,   359,   358,   360,   360,   361,   361,   361,   361,
+     361,   363,   362,   365,   364,   367,   366,   369,   368,   370,
+     370,   371,   371,   373,   372,   375,   374,   376,   376,   377,
+     377,   378,   378,   378,   378,   378,   378,   378,   378,   378,
+     378,   378,   378,   378,   378,   378,   380,   379,   382,   381,
+     384,   383,   386,   385,   388,   387,   390,   389,   392,   391,
+     394,   393,   396,   395,   398,   397,   400,   399,   402,   401,
+     404,   403,   406,   405,   407,   407,   408,   293,   409,   409,
+     410,   410,   411,   411,   411,   411,   411,   411,   411,   411,
+     411,   411,   412,   414,   413,   415,   417,   416,   418,   418,
+     419,   419,   421,   420,   423,   422,   425,   424,   427,   426,
+     428,   428,   429,   429,   429,   429,   429,   429,   429,   429,
+     429,   429,   429,   429,   429,   429,   429,   429,   429,   430,
+     432,   431,   434,   433,   435,   437,   436,   438,   439,   441,
+     440,   442,   442,   444,   443,   445,   446,   447,   449,   448,
+     450,   450,   450,   450,   450,   452,   451,   454,   453,   456,
+     455,   458,   457,   460,   459,   461,   461,   462,   464,   463,
+     465,   465,   467,   466,   468,   468,   469,   469,   469,   469,
+     469,   469,   469,   470,   472,   471,   474,   473,   475,   475,
+     477,   476,   478,   478,   479,   479,   479,   479,   481,   480,
+     482,   483,   484
   };
 
   const unsigned char
@@ -4132,52 +4145,54 @@ namespace isc { namespace dhcp {
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     3,     3,     3,     3,
        3,     3,     0,     6,     1,     3,     1,     1,     1,     1,
-       0,     4,     0,     4,     0,     4,     1,     1,     0,     4,
-       1,     1,     3,     0,     6,     0,     6,     1,     3,     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,     0,     4,     0,     4,     0,     6,     1,     3,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     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,
+       1,     1,     1,     0,     4,     0,     4,     0,     4,     1,
+       1,     0,     4,     1,     1,     3,     0,     6,     0,     6,
+       1,     3,     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,     0,     4,     0,     4,
+       0,     6,     1,     3,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     0,     6,     0,     1,     1,     3,
        0,     4,     0,     4,     1,     3,     1,     1,     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,     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,     0,
+       4,     0,     4,     1,     1,     1,     3,     3,     0,     6,
+       0,     1,     1,     3,     0,     4,     1,     3,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       0,     4,     0,     4,     0,     4,     0,     4,     0,     4,
-       0,     4,     0,     4,     0,     4,     1,     1,     1,     3,
-       3,     0,     6,     0,     1,     1,     3,     0,     4,     1,
+       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,     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,     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,     0,     4,     0,     4,     0,     4,     0,     6,     0,
        1,     1,     3,     0,     4,     0,     4,     0,     1,     1,
        3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     0,     4,     1,     1,     3,     3,     0,     6,     0,
-       1,     1,     3,     0,     4,     0,     4,     1,     3,     1,
-       1,     1,     1,     1,     0,     4,     0,     4,     0,     4,
-       0,     6,     0,     1,     1,     3,     0,     4,     0,     4,
-       0,     1,     1,     3,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     0,     4,     0,
-       4,     0,     4,     0,     4,     0,     4,     0,     4,     0,
-       4,     0,     4,     0,     4,     0,     4,     0,     4,     0,
-       6,     0,     4,     0,     6,     1,     3,     0,     4,     0,
-       1,     1,     3,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     0,     4,     3,     0,     6,     1,
-       3,     1,     1,     0,     4,     0,     4,     0,     6,     0,
-       4,     1,     3,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     3,     0,
-       4,     0,     4,     3,     0,     4,     3,     3,     0,     4,
-       1,     1,     0,     4,     3,     3,     3,     0,     4,     1,
-       1,     1,     1,     1,     0,     4,     0,     4,     0,     4,
-       0,     4,     0,     6,     1,     3,     1,     0,     6,     1,
-       3,     0,     4,     1,     3,     1,     1,     1,     1,     1,
-       3,     0,     4,     0,     6,     1,     3,     0,     4,     1,
-       3,     1,     1,     1,     1,     0,     4,     3,     3,     3
+       1,     1,     1,     1,     1,     1,     0,     4,     0,     4,
+       0,     4,     0,     4,     0,     4,     0,     4,     0,     4,
+       0,     4,     0,     4,     0,     4,     0,     4,     0,     6,
+       0,     4,     0,     6,     1,     3,     0,     4,     0,     1,
+       1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     0,     4,     3,     0,     6,     1,     3,
+       1,     1,     0,     4,     0,     4,     0,     6,     0,     4,
+       1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
+       0,     4,     0,     4,     3,     0,     4,     3,     3,     0,
+       4,     1,     1,     0,     4,     3,     3,     3,     0,     4,
+       1,     1,     1,     1,     1,     0,     4,     0,     4,     0,
+       4,     0,     4,     0,     6,     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
   };
 
 
@@ -4327,52 +4342,54 @@ namespace isc { namespace dhcp {
      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
      433,   434,   435,   436,   437,   438,   441,   446,   451,   456,
      461,   466,   472,   472,   483,   484,   487,   488,   489,   490,
-     493,   493,   502,   502,   512,   512,   519,   520,   523,   523,
-     530,   532,   536,   542,   542,   554,   554,   566,   567,   570,
-     571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
-     581,   582,   585,   585,   592,   593,   594,   595,   598,   598,
-     606,   606,   614,   614,   622,   627,   627,   635,   640,   645,
-     650,   655,   655,   663,   663,   672,   672,   682,   683,   686,
-     687,   688,   689,   690,   693,   698,   703,   708,   713,   718,
-     718,   728,   729,   732,   733,   736,   736,   746,   746,   756,
-     757,   758,   761,   762,   765,   765,   773,   773,   781,   781,
-     792,   793,   796,   797,   798,   799,   800,   801,   804,   809,
-     814,   819,   824,   829,   837,   837,   850,   851,   854,   855,
-     862,   862,   888,   888,   899,   900,   904,   905,   906,   907,
-     908,   909,   910,   911,   912,   913,   914,   915,   916,   917,
+     491,   492,   493,   496,   496,   505,   505,   515,   515,   522,
+     523,   526,   526,   533,   535,   539,   545,   545,   557,   557,
+     569,   570,   573,   574,   575,   576,   577,   578,   579,   580,
+     581,   582,   583,   584,   585,   586,   587,   590,   590,   597,
+     598,   599,   600,   603,   603,   611,   611,   619,   619,   627,
+     632,   632,   640,   645,   650,   655,   660,   660,   668,   668,
+     677,   677,   687,   688,   691,   692,   693,   694,   695,   698,
+     703,   708,   713,   718,   723,   723,   733,   734,   737,   738,
+     741,   741,   751,   751,   761,   762,   765,   766,   767,   768,
+     769,   772,   772,   780,   780,   788,   788,   799,   800,   803,
+     804,   805,   806,   807,   808,   811,   816,   821,   826,   831,
+     836,   844,   844,   857,   858,   861,   862,   869,   869,   895,
+     895,   906,   907,   911,   912,   913,   914,   915,   916,   917,
      918,   919,   920,   921,   922,   923,   924,   925,   926,   927,
-     930,   930,   938,   938,   946,   946,   954,   954,   962,   962,
-     970,   970,   978,   978,   986,   986,   993,   994,   995,   998,
-    1003,  1010,  1010,  1021,  1022,  1026,  1027,  1030,  1030,  1038,
-    1039,  1042,  1043,  1044,  1045,  1046,  1047,  1048,  1049,  1050,
-    1051,  1052,  1053,  1054,  1055,  1056,  1057,  1058,  1065,  1065,
-    1078,  1078,  1087,  1088,  1091,  1092,  1097,  1097,  1112,  1112,
-    1126,  1127,  1130,  1131,  1134,  1135,  1136,  1137,  1138,  1139,
-    1140,  1141,  1142,  1143,  1146,  1148,  1153,  1155,  1155,  1163,
-    1163,  1171,  1171,  1179,  1181,  1181,  1189,  1198,  1198,  1210,
-    1211,  1216,  1217,  1222,  1222,  1234,  1234,  1246,  1247,  1252,
-    1253,  1258,  1259,  1260,  1261,  1262,  1263,  1264,  1265,  1266,
-    1269,  1271,  1271,  1279,  1281,  1283,  1288,  1296,  1296,  1308,
-    1309,  1312,  1313,  1316,  1316,  1326,  1326,  1336,  1337,  1340,
-    1341,  1342,  1343,  1344,  1347,  1347,  1355,  1355,  1362,  1362,
-    1374,  1374,  1384,  1385,  1388,  1389,  1392,  1392,  1401,  1401,
-    1410,  1411,  1414,  1415,  1419,  1420,  1421,  1422,  1423,  1424,
-    1425,  1426,  1427,  1428,  1429,  1430,  1431,  1434,  1434,  1442,
-    1442,  1450,  1450,  1458,  1458,  1466,  1466,  1474,  1474,  1482,
-    1482,  1490,  1490,  1498,  1498,  1506,  1506,  1514,  1514,  1527,
-    1527,  1537,  1537,  1548,  1548,  1558,  1559,  1562,  1562,  1572,
-    1573,  1576,  1577,  1580,  1581,  1582,  1583,  1584,  1585,  1586,
-    1587,  1588,  1589,  1592,  1594,  1594,  1606,  1613,  1613,  1623,
-    1624,  1627,  1628,  1631,  1631,  1639,  1639,  1649,  1649,  1661,
-    1661,  1671,  1672,  1675,  1676,  1677,  1678,  1679,  1680,  1681,
-    1682,  1683,  1684,  1685,  1686,  1687,  1688,  1689,  1692,  1697,
-    1697,  1705,  1705,  1713,  1718,  1718,  1726,  1731,  1736,  1736,
-    1744,  1745,  1748,  1748,  1756,  1761,  1766,  1771,  1771,  1779,
-    1782,  1785,  1788,  1791,  1797,  1797,  1807,  1807,  1814,  1814,
-    1821,  1821,  1833,  1833,  1846,  1847,  1851,  1855,  1855,  1867,
-    1868,  1872,  1872,  1880,  1881,  1884,  1885,  1886,  1887,  1888,
-    1891,  1896,  1896,  1904,  1904,  1914,  1915,  1918,  1918,  1926,
-    1927,  1930,  1931,  1932,  1933,  1936,  1936,  1944,  1949,  1954
+     928,   929,   930,   931,   932,   933,   934,   937,   937,   945,
+     945,   953,   953,   961,   961,   969,   969,   977,   977,   985,
+     985,   993,   993,  1000,  1001,  1002,  1005,  1010,  1017,  1017,
+    1028,  1029,  1033,  1034,  1037,  1037,  1045,  1046,  1049,  1050,
+    1051,  1052,  1053,  1054,  1055,  1056,  1057,  1058,  1059,  1060,
+    1061,  1062,  1063,  1064,  1065,  1072,  1072,  1085,  1085,  1094,
+    1095,  1098,  1099,  1104,  1104,  1119,  1119,  1133,  1134,  1137,
+    1138,  1141,  1142,  1143,  1144,  1145,  1146,  1147,  1148,  1149,
+    1150,  1153,  1155,  1160,  1162,  1162,  1170,  1170,  1178,  1178,
+    1186,  1188,  1188,  1196,  1205,  1205,  1217,  1218,  1223,  1224,
+    1229,  1229,  1241,  1241,  1253,  1254,  1259,  1260,  1265,  1266,
+    1267,  1268,  1269,  1270,  1271,  1272,  1273,  1276,  1278,  1278,
+    1286,  1288,  1290,  1295,  1303,  1303,  1315,  1316,  1319,  1320,
+    1323,  1323,  1333,  1333,  1343,  1344,  1347,  1348,  1349,  1350,
+    1351,  1354,  1354,  1362,  1362,  1369,  1369,  1381,  1381,  1391,
+    1392,  1395,  1396,  1399,  1399,  1408,  1408,  1417,  1418,  1421,
+    1422,  1426,  1427,  1428,  1429,  1430,  1431,  1432,  1433,  1434,
+    1435,  1436,  1437,  1438,  1439,  1440,  1443,  1443,  1451,  1451,
+    1459,  1459,  1467,  1467,  1475,  1475,  1483,  1483,  1491,  1491,
+    1499,  1499,  1507,  1507,  1515,  1515,  1523,  1523,  1536,  1536,
+    1546,  1546,  1557,  1557,  1567,  1568,  1571,  1571,  1581,  1582,
+    1585,  1586,  1589,  1590,  1591,  1592,  1593,  1594,  1595,  1596,
+    1597,  1598,  1601,  1603,  1603,  1615,  1622,  1622,  1632,  1633,
+    1636,  1637,  1640,  1640,  1648,  1648,  1658,  1658,  1670,  1670,
+    1680,  1681,  1684,  1685,  1686,  1687,  1688,  1689,  1690,  1691,
+    1692,  1693,  1694,  1695,  1696,  1697,  1698,  1699,  1700,  1703,
+    1708,  1708,  1716,  1716,  1724,  1729,  1729,  1737,  1742,  1747,
+    1747,  1755,  1756,  1759,  1759,  1767,  1772,  1777,  1782,  1782,
+    1790,  1793,  1796,  1799,  1802,  1808,  1808,  1818,  1818,  1825,
+    1825,  1832,  1832,  1844,  1844,  1857,  1858,  1862,  1866,  1866,
+    1878,  1879,  1883,  1883,  1891,  1892,  1895,  1896,  1897,  1898,
+    1899,  1900,  1901,  1904,  1909,  1909,  1917,  1917,  1927,  1928,
+    1931,  1931,  1939,  1940,  1943,  1944,  1945,  1946,  1949,  1949,
+    1957,  1962,  1967
   };
 
   // Print the state stack on the debug stream.
@@ -4407,8 +4424,8 @@ namespace isc { namespace dhcp {
 
 #line 14 "dhcp4_parser.yy" // lalr1.cc:1167
 } } // isc::dhcp
-#line 4411 "dhcp4_parser.cc" // lalr1.cc:1167
-#line 1959 "dhcp4_parser.yy" // lalr1.cc:1168
+#line 4428 "dhcp4_parser.cc" // lalr1.cc:1167
+#line 1972 "dhcp4_parser.yy" // lalr1.cc:1168
 
 
 void
index e031d24e230f5dec9468cc55922c6675479c57f6..61f5b284252de75f1089d2dd02a4e86b8bc18b8c 100644 (file)
@@ -1411,7 +1411,7 @@ namespace isc { namespace dhcp {
     enum
     {
       yyeof_ = 0,
-      yylast_ = 839,     ///< Last index in yytable_.
+      yylast_ = 874,     ///< Last index in yytable_.
       yynnts_ = 334,  ///< Number of nonterminal symbols.
       yyfinal_ = 26, ///< Termination state number.
       yyterror_ = 1,
index fdfd16170a78bac96d4a64833da66d397b036e2a..2ffbc45b4ede4fed7682d7ff0534da0b476478bd 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201711290839
+// Generated 201712011031
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Locations for Bison parsers in C++
index ec8e1612b81b6f3c38342e495c88780bcc3225f1..88c31399573723e24afc6d2fa66c7fb17e5874a9 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201711290839
+// Generated 201712011031
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Positions for Bison parsers in C++
index 212517c69517b735a476fc210c13edeff7e60921..b528193940f54681b8dd29d4f3af6bb8080ad6c7 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201711290839
+// Generated 201712011031
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Stack handling for Bison parsers in C++
index 48bd38db46df1d4c2b8d9e8fb48f6ae614b2485a..ce3023d1cde20447aa1a54900fde2d6af7496a0f 100644 (file)
@@ -1577,17 +1577,17 @@ static const flex_int16_t yy_rule_linenum[162] =
       459,  468,  480,  489,  498,  507,  516,  526,  536,  546,
       556,  567,  577,  587,  597,  607,  618,  629,  640,  651,
       660,  670,  679,  688,  704,  720,  729,  738,  747,  756,
-      765,  774,  783,  792,  801,  810,  826,  842,  851,  861,
-      871,  880,  890,  900,  909,  918,  927,  936,  946,  955,
-      964,  973,  982,  991, 1000, 1009, 1018, 1027, 1037, 1046,
-
-     1055, 1065, 1076, 1086, 1095, 1104, 1113, 1124, 1134, 1143,
-     1153, 1163, 1172, 1181, 1190, 1199, 1209, 1218, 1228, 1237,
-     1246, 1255, 1264, 1273, 1282, 1291, 1300, 1309, 1318, 1327,
-     1336, 1345, 1354, 1363, 1372, 1381, 1390, 1399, 1408, 1417,
-     1426, 1435, 1444, 1454, 1552, 1557, 1562, 1567, 1568, 1569,
-     1570, 1571, 1572, 1574, 1592, 1605, 1610, 1614, 1616, 1618,
-     1620
+      765,  774,  783,  792,  801,  810,  834,  858,  867,  877,
+      887,  896,  906,  916,  925,  934,  943,  952,  962,  971,
+      980,  989,  998, 1007, 1016, 1025, 1034, 1043, 1053, 1062,
+
+     1071, 1081, 1092, 1102, 1111, 1120, 1129, 1140, 1150, 1159,
+     1169, 1179, 1188, 1197, 1206, 1215, 1225, 1234, 1244, 1253,
+     1262, 1271, 1280, 1289, 1298, 1307, 1316, 1325, 1334, 1343,
+     1352, 1361, 1370, 1379, 1388, 1397, 1406, 1415, 1424, 1433,
+     1442, 1451, 1460, 1470, 1568, 1573, 1578, 1583, 1584, 1585,
+     1586, 1587, 1588, 1590, 1608, 1621, 1626, 1630, 1632, 1634,
+     1636
     } ;
 
 /* The intent behind this definition is that it'll catch
@@ -2978,13 +2978,21 @@ YY_RULE_SETUP
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
-    case isc::dhcp::Parser6Context::POOLS:
-    case isc::dhcp::Parser6Context::PD_POOLS:
+    case isc::dhcp::Parser6Context::INTERFACES_CONFIG:
+    case isc::dhcp::Parser6Context::LEASE_DATABASE:
+    case isc::dhcp::Parser6Context::HOSTS_DATABASE:
+    case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
     case isc::dhcp::Parser6Context::SUBNET6:
     case isc::dhcp::Parser6Context::SHARED_NETWORK:
     case isc::dhcp::Parser6Context::OPTION_DEF:
     case isc::dhcp::Parser6Context::OPTION_DATA:
     case isc::dhcp::Parser6Context::CLIENT_CLASSES:
+    case isc::dhcp::Parser6Context::SERVER_ID:
+    case isc::dhcp::Parser6Context::POOLS:
+    case isc::dhcp::Parser6Context::PD_POOLS:
+    case isc::dhcp::Parser6Context::RESERVATIONS:
+    case isc::dhcp::Parser6Context::LOGGERS:
+    case isc::dhcp::Parser6Context::DHCP_DDNS:
         return isc::dhcp::Dhcp6Parser::make_USER_CONTEXT(driver.loc_);
     default:
         return isc::dhcp::Dhcp6Parser::make_STRING("user-context", driver.loc_);
@@ -2993,17 +3001,25 @@ YY_RULE_SETUP
        YY_BREAK
 case 77:
 YY_RULE_SETUP
-#line 826 "dhcp6_lexer.ll"
+#line 834 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
-    case isc::dhcp::Parser6Context::POOLS:
-    case isc::dhcp::Parser6Context::PD_POOLS:
+    case isc::dhcp::Parser6Context::INTERFACES_CONFIG:
+    case isc::dhcp::Parser6Context::LEASE_DATABASE:
+    case isc::dhcp::Parser6Context::HOSTS_DATABASE:
+    case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
     case isc::dhcp::Parser6Context::SUBNET6:
     case isc::dhcp::Parser6Context::SHARED_NETWORK:
     case isc::dhcp::Parser6Context::OPTION_DEF:
     case isc::dhcp::Parser6Context::OPTION_DATA:
     case isc::dhcp::Parser6Context::CLIENT_CLASSES:
+    case isc::dhcp::Parser6Context::SERVER_ID:
+    case isc::dhcp::Parser6Context::POOLS:
+    case isc::dhcp::Parser6Context::PD_POOLS:
+    case isc::dhcp::Parser6Context::RESERVATIONS:
+    case isc::dhcp::Parser6Context::LOGGERS:
+    case isc::dhcp::Parser6Context::DHCP_DDNS:
         return isc::dhcp::Dhcp6Parser::make_COMMENT(driver.loc_);
     default:
         return isc::dhcp::Dhcp6Parser::make_STRING("comment", driver.loc_);
@@ -3012,7 +3028,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 78:
 YY_RULE_SETUP
-#line 842 "dhcp6_lexer.ll"
+#line 858 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3024,7 +3040,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 79:
 YY_RULE_SETUP
-#line 851 "dhcp6_lexer.ll"
+#line 867 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3037,7 +3053,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 861 "dhcp6_lexer.ll"
+#line 877 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3050,7 +3066,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 81:
 YY_RULE_SETUP
-#line 871 "dhcp6_lexer.ll"
+#line 887 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3062,7 +3078,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 82:
 YY_RULE_SETUP
-#line 880 "dhcp6_lexer.ll"
+#line 896 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3075,7 +3091,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 83:
 YY_RULE_SETUP
-#line 890 "dhcp6_lexer.ll"
+#line 906 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3088,7 +3104,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 84:
 YY_RULE_SETUP
-#line 900 "dhcp6_lexer.ll"
+#line 916 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATION_MODE:
@@ -3100,7 +3116,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 85:
 YY_RULE_SETUP
-#line 909 "dhcp6_lexer.ll"
+#line 925 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATION_MODE:
@@ -3112,7 +3128,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 86:
 YY_RULE_SETUP
-#line 918 "dhcp6_lexer.ll"
+#line 934 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATION_MODE:
@@ -3124,7 +3140,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 87:
 YY_RULE_SETUP
-#line 927 "dhcp6_lexer.ll"
+#line 943 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATION_MODE:
@@ -3136,7 +3152,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 88:
 YY_RULE_SETUP
-#line 936 "dhcp6_lexer.ll"
+#line 952 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3149,7 +3165,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 946 "dhcp6_lexer.ll"
+#line 962 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3161,7 +3177,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 955 "dhcp6_lexer.ll"
+#line 971 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3173,7 +3189,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 91:
 YY_RULE_SETUP
-#line 964 "dhcp6_lexer.ll"
+#line 980 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3185,7 +3201,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 973 "dhcp6_lexer.ll"
+#line 989 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG:
@@ -3197,7 +3213,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 93:
 YY_RULE_SETUP
-#line 982 "dhcp6_lexer.ll"
+#line 998 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LOGGING:
@@ -3209,7 +3225,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 991 "dhcp6_lexer.ll"
+#line 1007 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LOGGERS:
@@ -3221,7 +3237,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 1000 "dhcp6_lexer.ll"
+#line 1016 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
@@ -3233,7 +3249,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 1009 "dhcp6_lexer.ll"
+#line 1025 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
@@ -3245,7 +3261,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 1018 "dhcp6_lexer.ll"
+#line 1034 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
@@ -3257,7 +3273,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 1027 "dhcp6_lexer.ll"
+#line 1043 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
@@ -3269,7 +3285,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 99:
 YY_RULE_SETUP
-#line 1037 "dhcp6_lexer.ll"
+#line 1053 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LOGGERS:
@@ -3281,7 +3297,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 100:
 YY_RULE_SETUP
-#line 1046 "dhcp6_lexer.ll"
+#line 1062 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LOGGERS:
@@ -3293,7 +3309,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 101:
 YY_RULE_SETUP
-#line 1055 "dhcp6_lexer.ll"
+#line 1071 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3306,7 +3322,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 102:
 YY_RULE_SETUP
-#line 1065 "dhcp6_lexer.ll"
+#line 1081 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3320,7 +3336,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 103:
 YY_RULE_SETUP
-#line 1076 "dhcp6_lexer.ll"
+#line 1092 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CLIENT_CLASSES:
@@ -3333,7 +3349,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 104:
 YY_RULE_SETUP
-#line 1086 "dhcp6_lexer.ll"
+#line 1102 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3345,7 +3361,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 105:
 YY_RULE_SETUP
-#line 1095 "dhcp6_lexer.ll"
+#line 1111 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATIONS:
@@ -3357,7 +3373,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 106:
 YY_RULE_SETUP
-#line 1104 "dhcp6_lexer.ll"
+#line 1120 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATIONS:
@@ -3369,7 +3385,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 107:
 YY_RULE_SETUP
-#line 1113 "dhcp6_lexer.ll"
+#line 1129 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::MAC_SOURCES:
@@ -3383,7 +3399,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 108:
 YY_RULE_SETUP
-#line 1124 "dhcp6_lexer.ll"
+#line 1140 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3396,7 +3412,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 109:
 YY_RULE_SETUP
-#line 1134 "dhcp6_lexer.ll"
+#line 1150 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATIONS:
@@ -3408,7 +3424,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 110:
 YY_RULE_SETUP
-#line 1143 "dhcp6_lexer.ll"
+#line 1159 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3421,7 +3437,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 1153 "dhcp6_lexer.ll"
+#line 1169 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3434,7 +3450,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 112:
 YY_RULE_SETUP
-#line 1163 "dhcp6_lexer.ll"
+#line 1179 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DATA:
@@ -3446,7 +3462,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 113:
 YY_RULE_SETUP
-#line 1172 "dhcp6_lexer.ll"
+#line 1188 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3458,7 +3474,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 114:
 YY_RULE_SETUP
-#line 1181 "dhcp6_lexer.ll"
+#line 1197 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3470,7 +3486,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 115:
 YY_RULE_SETUP
-#line 1190 "dhcp6_lexer.ll"
+#line 1206 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3482,7 +3498,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 116:
 YY_RULE_SETUP
-#line 1199 "dhcp6_lexer.ll"
+#line 1215 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3495,7 +3511,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 117:
 YY_RULE_SETUP
-#line 1209 "dhcp6_lexer.ll"
+#line 1225 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RELAY:
@@ -3507,7 +3523,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 118:
 YY_RULE_SETUP
-#line 1218 "dhcp6_lexer.ll"
+#line 1234 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3519,7 +3535,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 119:
 YY_RULE_SETUP
-#line 1228 "dhcp6_lexer.ll"
+#line 1244 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
@@ -3531,7 +3547,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 120:
 YY_RULE_SETUP
-#line 1237 "dhcp6_lexer.ll"
+#line 1253 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
@@ -3543,7 +3559,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 121:
 YY_RULE_SETUP
-#line 1246 "dhcp6_lexer.ll"
+#line 1262 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3555,7 +3571,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 122:
 YY_RULE_SETUP
-#line 1255 "dhcp6_lexer.ll"
+#line 1271 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DUID_TYPE:
@@ -3567,7 +3583,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 123:
 YY_RULE_SETUP
-#line 1264 "dhcp6_lexer.ll"
+#line 1280 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DUID_TYPE:
@@ -3579,7 +3595,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 124:
 YY_RULE_SETUP
-#line 1273 "dhcp6_lexer.ll"
+#line 1289 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DUID_TYPE:
@@ -3591,7 +3607,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 125:
 YY_RULE_SETUP
-#line 1282 "dhcp6_lexer.ll"
+#line 1298 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -3603,7 +3619,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 126:
 YY_RULE_SETUP
-#line 1291 "dhcp6_lexer.ll"
+#line 1307 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -3615,7 +3631,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 127:
 YY_RULE_SETUP
-#line 1300 "dhcp6_lexer.ll"
+#line 1316 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -3627,7 +3643,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 128:
 YY_RULE_SETUP
-#line 1309 "dhcp6_lexer.ll"
+#line 1325 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -3639,7 +3655,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 129:
 YY_RULE_SETUP
-#line 1318 "dhcp6_lexer.ll"
+#line 1334 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3651,7 +3667,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 130:
 YY_RULE_SETUP
-#line 1327 "dhcp6_lexer.ll"
+#line 1343 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3663,7 +3679,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 131:
 YY_RULE_SETUP
-#line 1336 "dhcp6_lexer.ll"
+#line 1352 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3675,7 +3691,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 132:
 YY_RULE_SETUP
-#line 1345 "dhcp6_lexer.ll"
+#line 1361 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3687,7 +3703,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 133:
 YY_RULE_SETUP
-#line 1354 "dhcp6_lexer.ll"
+#line 1370 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3699,7 +3715,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 134:
 YY_RULE_SETUP
-#line 1363 "dhcp6_lexer.ll"
+#line 1379 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3711,7 +3727,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 135:
 YY_RULE_SETUP
-#line 1372 "dhcp6_lexer.ll"
+#line 1388 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3723,7 +3739,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 136:
 YY_RULE_SETUP
-#line 1381 "dhcp6_lexer.ll"
+#line 1397 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3735,7 +3751,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 137:
 YY_RULE_SETUP
-#line 1390 "dhcp6_lexer.ll"
+#line 1406 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3747,7 +3763,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 138:
 YY_RULE_SETUP
-#line 1399 "dhcp6_lexer.ll"
+#line 1415 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONTROL_SOCKET:
@@ -3759,7 +3775,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 139:
 YY_RULE_SETUP
-#line 1408 "dhcp6_lexer.ll"
+#line 1424 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONTROL_SOCKET:
@@ -3771,7 +3787,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 140:
 YY_RULE_SETUP
-#line 1417 "dhcp6_lexer.ll"
+#line 1433 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3783,7 +3799,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 141:
 YY_RULE_SETUP
-#line 1426 "dhcp6_lexer.ll"
+#line 1442 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG:
@@ -3795,7 +3811,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 142:
 YY_RULE_SETUP
-#line 1435 "dhcp6_lexer.ll"
+#line 1451 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG:
@@ -3807,7 +3823,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 143:
 YY_RULE_SETUP
-#line 1444 "dhcp6_lexer.ll"
+#line 1460 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG:
@@ -3819,7 +3835,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 144:
 YY_RULE_SETUP
-#line 1454 "dhcp6_lexer.ll"
+#line 1470 "dhcp6_lexer.ll"
 {
     /* A string has been matched. It contains the actual string and single quotes.
        We need to get those quotes out of the way and just use its content, e.g.
@@ -3921,7 +3937,7 @@ YY_RULE_SETUP
 case 145:
 /* rule 145 can match eol */
 YY_RULE_SETUP
-#line 1552 "dhcp6_lexer.ll"
+#line 1568 "dhcp6_lexer.ll"
 {
     /* Bad string with a forbidden control character inside */
     driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
@@ -3930,7 +3946,7 @@ YY_RULE_SETUP
 case 146:
 /* rule 146 can match eol */
 YY_RULE_SETUP
-#line 1557 "dhcp6_lexer.ll"
+#line 1573 "dhcp6_lexer.ll"
 {
     /* Bad string with a bad escape inside */
     driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
@@ -3938,7 +3954,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 147:
 YY_RULE_SETUP
-#line 1562 "dhcp6_lexer.ll"
+#line 1578 "dhcp6_lexer.ll"
 {
     /* Bad string with an open escape at the end */
     driver.error(driver.loc_, "Overflow escape in " + std::string(yytext));
@@ -3946,37 +3962,37 @@ YY_RULE_SETUP
        YY_BREAK
 case 148:
 YY_RULE_SETUP
-#line 1567 "dhcp6_lexer.ll"
+#line 1583 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
 case 149:
 YY_RULE_SETUP
-#line 1568 "dhcp6_lexer.ll"
+#line 1584 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
 case 150:
 YY_RULE_SETUP
-#line 1569 "dhcp6_lexer.ll"
+#line 1585 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); }
        YY_BREAK
 case 151:
 YY_RULE_SETUP
-#line 1570 "dhcp6_lexer.ll"
+#line 1586 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); }
        YY_BREAK
 case 152:
 YY_RULE_SETUP
-#line 1571 "dhcp6_lexer.ll"
+#line 1587 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); }
        YY_BREAK
 case 153:
 YY_RULE_SETUP
-#line 1572 "dhcp6_lexer.ll"
+#line 1588 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); }
        YY_BREAK
 case 154:
 YY_RULE_SETUP
-#line 1574 "dhcp6_lexer.ll"
+#line 1590 "dhcp6_lexer.ll"
 {
     /* An integer was found. */
     std::string tmp(yytext);
@@ -3997,7 +4013,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 155:
 YY_RULE_SETUP
-#line 1592 "dhcp6_lexer.ll"
+#line 1608 "dhcp6_lexer.ll"
 {
     /* A floating point was found. */
     std::string tmp(yytext);
@@ -4013,7 +4029,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 156:
 YY_RULE_SETUP
-#line 1605 "dhcp6_lexer.ll"
+#line 1621 "dhcp6_lexer.ll"
 {
     string tmp(yytext);
     return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_);
@@ -4021,33 +4037,33 @@ YY_RULE_SETUP
        YY_BREAK
 case 157:
 YY_RULE_SETUP
-#line 1610 "dhcp6_lexer.ll"
+#line 1626 "dhcp6_lexer.ll"
 {
    return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_);
 }
        YY_BREAK
 case 158:
 YY_RULE_SETUP
-#line 1614 "dhcp6_lexer.ll"
+#line 1630 "dhcp6_lexer.ll"
 driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
        YY_BREAK
 case 159:
 YY_RULE_SETUP
-#line 1616 "dhcp6_lexer.ll"
+#line 1632 "dhcp6_lexer.ll"
 driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
        YY_BREAK
 case 160:
 YY_RULE_SETUP
-#line 1618 "dhcp6_lexer.ll"
+#line 1634 "dhcp6_lexer.ll"
 driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
        YY_BREAK
 case 161:
 YY_RULE_SETUP
-#line 1620 "dhcp6_lexer.ll"
+#line 1636 "dhcp6_lexer.ll"
 driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 1622 "dhcp6_lexer.ll"
+#line 1638 "dhcp6_lexer.ll"
 {
     if (driver.states_.empty()) {
         return isc::dhcp::Dhcp6Parser::make_END(driver.loc_);
@@ -4073,10 +4089,10 @@ case YY_STATE_EOF(INITIAL):
        YY_BREAK
 case 162:
 YY_RULE_SETUP
-#line 1645 "dhcp6_lexer.ll"
+#line 1661 "dhcp6_lexer.ll"
 ECHO;
        YY_BREAK
-#line 4079 "dhcp6_lexer.cc"
+#line 4095 "dhcp6_lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
@@ -5181,7 +5197,7 @@ void yyfree (void * ptr )
 
 /* %ok-for-header */
 
-#line 1645 "dhcp6_lexer.ll"
+#line 1661 "dhcp6_lexer.ll"
 
 
 using namespace isc::dhcp;
index dfb373a4c24360c95996cef3f88675b012581475..aa5af5c36d73cdaa0a5c5eca1efc5aa92977aebb 100644 (file)
@@ -1080,8 +1080,8 @@ namespace isc { namespace dhcp {
 #line 1081 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 110:
-#line 496 "dhcp6_parser.yy" // lalr1.cc:859
+  case 113:
+#line 499 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("interfaces", l);
@@ -1091,8 +1091,8 @@ namespace isc { namespace dhcp {
 #line 1092 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 111:
-#line 501 "dhcp6_parser.yy" // lalr1.cc:859
+  case 114:
+#line 504 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1100,8 +1100,8 @@ namespace isc { namespace dhcp {
 #line 1101 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 112:
-#line 506 "dhcp6_parser.yy" // lalr1.cc:859
+  case 115:
+#line 509 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("re-detect", b);
@@ -1109,8 +1109,8 @@ namespace isc { namespace dhcp {
 #line 1110 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 113:
-#line 512 "dhcp6_parser.yy" // lalr1.cc:859
+  case 116:
+#line 515 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("lease-database", i);
@@ -1120,8 +1120,8 @@ namespace isc { namespace dhcp {
 #line 1121 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 114:
-#line 517 "dhcp6_parser.yy" // lalr1.cc:859
+  case 117:
+#line 520 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The type parameter is required
     ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
@@ -1131,8 +1131,8 @@ namespace isc { namespace dhcp {
 #line 1132 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 115:
-#line 524 "dhcp6_parser.yy" // lalr1.cc:859
+  case 118:
+#line 527 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hosts-database", i);
@@ -1142,8 +1142,8 @@ namespace isc { namespace dhcp {
 #line 1143 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 116:
-#line 529 "dhcp6_parser.yy" // lalr1.cc:859
+  case 119:
+#line 532 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The type parameter is required
     ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
@@ -1153,16 +1153,16 @@ namespace isc { namespace dhcp {
 #line 1154 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 132:
-#line 555 "dhcp6_parser.yy" // lalr1.cc:859
+  case 137:
+#line 560 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.DATABASE_TYPE);
 }
 #line 1162 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 133:
-#line 557 "dhcp6_parser.yy" // lalr1.cc:859
+  case 138:
+#line 562 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -1170,40 +1170,40 @@ namespace isc { namespace dhcp {
 #line 1171 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 134:
-#line 562 "dhcp6_parser.yy" // lalr1.cc:859
+  case 139:
+#line 567 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); }
 #line 1177 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 135:
-#line 563 "dhcp6_parser.yy" // lalr1.cc:859
+  case 140:
+#line 568 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); }
 #line 1183 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 136:
-#line 564 "dhcp6_parser.yy" // lalr1.cc:859
+  case 141:
+#line 569 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); }
 #line 1189 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 137:
-#line 565 "dhcp6_parser.yy" // lalr1.cc:859
+  case 142:
+#line 570 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); }
 #line 1195 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 138:
-#line 568 "dhcp6_parser.yy" // lalr1.cc:859
+  case 143:
+#line 573 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1203 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 139:
-#line 570 "dhcp6_parser.yy" // lalr1.cc:859
+  case 144:
+#line 575 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr user(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("user", user);
@@ -1212,16 +1212,16 @@ namespace isc { namespace dhcp {
 #line 1213 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 140:
-#line 576 "dhcp6_parser.yy" // lalr1.cc:859
+  case 145:
+#line 581 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1221 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 141:
-#line 578 "dhcp6_parser.yy" // lalr1.cc:859
+  case 146:
+#line 583 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr pwd(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("password", pwd);
@@ -1230,16 +1230,16 @@ namespace isc { namespace dhcp {
 #line 1231 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 142:
-#line 584 "dhcp6_parser.yy" // lalr1.cc:859
+  case 147:
+#line 589 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1239 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 143:
-#line 586 "dhcp6_parser.yy" // lalr1.cc:859
+  case 148:
+#line 591 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr h(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("host", h);
@@ -1248,8 +1248,8 @@ namespace isc { namespace dhcp {
 #line 1249 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 144:
-#line 592 "dhcp6_parser.yy" // lalr1.cc:859
+  case 149:
+#line 597 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr p(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("port", p);
@@ -1257,16 +1257,16 @@ namespace isc { namespace dhcp {
 #line 1258 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 145:
-#line 597 "dhcp6_parser.yy" // lalr1.cc:859
+  case 150:
+#line 602 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1266 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 146:
-#line 599 "dhcp6_parser.yy" // lalr1.cc:859
+  case 151:
+#line 604 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("name", name);
@@ -1275,8 +1275,8 @@ namespace isc { namespace dhcp {
 #line 1276 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 147:
-#line 605 "dhcp6_parser.yy" // lalr1.cc:859
+  case 152:
+#line 610 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("persist", n);
@@ -1284,8 +1284,8 @@ namespace isc { namespace dhcp {
 #line 1285 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 148:
-#line 610 "dhcp6_parser.yy" // lalr1.cc:859
+  case 153:
+#line 615 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("lfc-interval", n);
@@ -1293,8 +1293,8 @@ namespace isc { namespace dhcp {
 #line 1294 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 149:
-#line 615 "dhcp6_parser.yy" // lalr1.cc:859
+  case 154:
+#line 620 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("readonly", n);
@@ -1302,8 +1302,8 @@ namespace isc { namespace dhcp {
 #line 1303 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 150:
-#line 620 "dhcp6_parser.yy" // lalr1.cc:859
+  case 155:
+#line 625 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("connect-timeout", n);
@@ -1311,16 +1311,16 @@ namespace isc { namespace dhcp {
 #line 1312 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 151:
-#line 625 "dhcp6_parser.yy" // lalr1.cc:859
+  case 156:
+#line 630 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1320 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 152:
-#line 627 "dhcp6_parser.yy" // lalr1.cc:859
+  case 157:
+#line 632 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr cp(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("contact-points", cp);
@@ -1329,16 +1329,16 @@ namespace isc { namespace dhcp {
 #line 1330 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 153:
-#line 633 "dhcp6_parser.yy" // lalr1.cc:859
+  case 158:
+#line 638 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1338 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 154:
-#line 635 "dhcp6_parser.yy" // lalr1.cc:859
+  case 159:
+#line 640 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr ks(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("keyspace", ks);
@@ -1347,8 +1347,8 @@ namespace isc { namespace dhcp {
 #line 1348 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 155:
-#line 642 "dhcp6_parser.yy" // lalr1.cc:859
+  case 160:
+#line 647 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("mac-sources", l);
@@ -1358,8 +1358,8 @@ namespace isc { namespace dhcp {
 #line 1359 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 156:
-#line 647 "dhcp6_parser.yy" // lalr1.cc:859
+  case 161:
+#line 652 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1367,8 +1367,8 @@ namespace isc { namespace dhcp {
 #line 1368 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 161:
-#line 660 "dhcp6_parser.yy" // lalr1.cc:859
+  case 166:
+#line 665 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(duid);
@@ -1376,8 +1376,8 @@ namespace isc { namespace dhcp {
 #line 1377 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 162:
-#line 665 "dhcp6_parser.yy" // lalr1.cc:859
+  case 167:
+#line 670 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr duid(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(duid);
@@ -1385,8 +1385,8 @@ namespace isc { namespace dhcp {
 #line 1386 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 163:
-#line 670 "dhcp6_parser.yy" // lalr1.cc:859
+  case 168:
+#line 675 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("host-reservation-identifiers", l);
@@ -1396,8 +1396,8 @@ namespace isc { namespace dhcp {
 #line 1397 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 164:
-#line 675 "dhcp6_parser.yy" // lalr1.cc:859
+  case 169:
+#line 680 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1405,8 +1405,8 @@ namespace isc { namespace dhcp {
 #line 1406 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 170:
-#line 689 "dhcp6_parser.yy" // lalr1.cc:859
+  case 175:
+#line 694 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(hwaddr);
@@ -1414,8 +1414,8 @@ namespace isc { namespace dhcp {
 #line 1415 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 171:
-#line 694 "dhcp6_parser.yy" // lalr1.cc:859
+  case 176:
+#line 699 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(flex_id);
@@ -1423,8 +1423,8 @@ namespace isc { namespace dhcp {
 #line 1424 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 172:
-#line 701 "dhcp6_parser.yy" // lalr1.cc:859
+  case 177:
+#line 706 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("relay-supplied-options", l);
@@ -1434,8 +1434,8 @@ namespace isc { namespace dhcp {
 #line 1435 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 173:
-#line 706 "dhcp6_parser.yy" // lalr1.cc:859
+  case 178:
+#line 711 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1443,8 +1443,8 @@ namespace isc { namespace dhcp {
 #line 1444 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 174:
-#line 711 "dhcp6_parser.yy" // lalr1.cc:859
+  case 179:
+#line 716 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hooks-libraries", l);
@@ -1454,8 +1454,8 @@ namespace isc { namespace dhcp {
 #line 1455 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 175:
-#line 716 "dhcp6_parser.yy" // lalr1.cc:859
+  case 180:
+#line 721 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1463,8 +1463,8 @@ namespace isc { namespace dhcp {
 #line 1464 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 180:
-#line 729 "dhcp6_parser.yy" // lalr1.cc:859
+  case 185:
+#line 734 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -1473,8 +1473,8 @@ namespace isc { namespace dhcp {
 #line 1474 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 181:
-#line 733 "dhcp6_parser.yy" // lalr1.cc:859
+  case 186:
+#line 738 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The library hooks parameter is required
     ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -1483,8 +1483,8 @@ namespace isc { namespace dhcp {
 #line 1484 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 182:
-#line 739 "dhcp6_parser.yy" // lalr1.cc:859
+  case 187:
+#line 744 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the hooks-libraries list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1493,8 +1493,8 @@ namespace isc { namespace dhcp {
 #line 1494 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 183:
-#line 743 "dhcp6_parser.yy" // lalr1.cc:859
+  case 188:
+#line 748 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The library hooks parameter is required
     ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -1503,16 +1503,16 @@ namespace isc { namespace dhcp {
 #line 1504 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 189:
-#line 758 "dhcp6_parser.yy" // lalr1.cc:859
+  case 196:
+#line 765 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1512 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 190:
-#line 760 "dhcp6_parser.yy" // lalr1.cc:859
+  case 197:
+#line 767 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr lib(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("library", lib);
@@ -1521,16 +1521,16 @@ namespace isc { namespace dhcp {
 #line 1522 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 191:
-#line 766 "dhcp6_parser.yy" // lalr1.cc:859
+  case 198:
+#line 773 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1530 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 192:
-#line 768 "dhcp6_parser.yy" // lalr1.cc:859
+  case 199:
+#line 775 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("parameters", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -1538,8 +1538,8 @@ namespace isc { namespace dhcp {
 #line 1539 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 193:
-#line 774 "dhcp6_parser.yy" // lalr1.cc:859
+  case 200:
+#line 781 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("expired-leases-processing", m);
@@ -1549,8 +1549,8 @@ namespace isc { namespace dhcp {
 #line 1550 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 194:
-#line 779 "dhcp6_parser.yy" // lalr1.cc:859
+  case 201:
+#line 786 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // No expired lease parameter is required
     ctx.stack_.pop_back();
@@ -1559,8 +1559,8 @@ namespace isc { namespace dhcp {
 #line 1560 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 203:
-#line 797 "dhcp6_parser.yy" // lalr1.cc:859
+  case 210:
+#line 804 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("reclaim-timer-wait-time", value);
@@ -1568,8 +1568,8 @@ namespace isc { namespace dhcp {
 #line 1569 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 204:
-#line 802 "dhcp6_parser.yy" // lalr1.cc:859
+  case 211:
+#line 809 "dhcp6_parser.yy" // lalr1.cc:859
     {
     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);
@@ -1577,8 +1577,8 @@ namespace isc { namespace dhcp {
 #line 1578 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 205:
-#line 807 "dhcp6_parser.yy" // lalr1.cc:859
+  case 212:
+#line 814 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hold-reclaimed-time", value);
@@ -1586,8 +1586,8 @@ namespace isc { namespace dhcp {
 #line 1587 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 206:
-#line 812 "dhcp6_parser.yy" // lalr1.cc:859
+  case 213:
+#line 819 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("max-reclaim-leases", value);
@@ -1595,8 +1595,8 @@ namespace isc { namespace dhcp {
 #line 1596 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 207:
-#line 817 "dhcp6_parser.yy" // lalr1.cc:859
+  case 214:
+#line 824 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("max-reclaim-time", value);
@@ -1604,8 +1604,8 @@ namespace isc { namespace dhcp {
 #line 1605 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 208:
-#line 822 "dhcp6_parser.yy" // lalr1.cc:859
+  case 215:
+#line 829 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("unwarned-reclaim-cycles", value);
@@ -1613,8 +1613,8 @@ namespace isc { namespace dhcp {
 #line 1614 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 209:
-#line 830 "dhcp6_parser.yy" // lalr1.cc:859
+  case 216:
+#line 837 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("subnet6", l);
@@ -1624,8 +1624,8 @@ namespace isc { namespace dhcp {
 #line 1625 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 210:
-#line 835 "dhcp6_parser.yy" // lalr1.cc:859
+  case 217:
+#line 842 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1633,8 +1633,8 @@ namespace isc { namespace dhcp {
 #line 1634 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 215:
-#line 855 "dhcp6_parser.yy" // lalr1.cc:859
+  case 222:
+#line 862 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -1643,8 +1643,8 @@ namespace isc { namespace dhcp {
 #line 1644 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 216:
-#line 859 "dhcp6_parser.yy" // lalr1.cc:859
+  case 223:
+#line 866 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Once we reached this place, the subnet parsing is now complete.
     // If we want to, we can implement default values here.
@@ -1669,8 +1669,8 @@ namespace isc { namespace dhcp {
 #line 1670 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 217:
-#line 881 "dhcp6_parser.yy" // lalr1.cc:859
+  case 224:
+#line 888 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the subnet6 list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1679,8 +1679,8 @@ namespace isc { namespace dhcp {
 #line 1680 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 218:
-#line 885 "dhcp6_parser.yy" // lalr1.cc:859
+  case 225:
+#line 892 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The subnet subnet6 parameter is required
     ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -1689,16 +1689,16 @@ namespace isc { namespace dhcp {
 #line 1690 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 240:
-#line 918 "dhcp6_parser.yy" // lalr1.cc:859
+  case 247:
+#line 925 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1698 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 241:
-#line 920 "dhcp6_parser.yy" // lalr1.cc:859
+  case 248:
+#line 927 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr subnet(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("subnet", subnet);
@@ -1707,16 +1707,16 @@ namespace isc { namespace dhcp {
 #line 1708 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 242:
-#line 926 "dhcp6_parser.yy" // lalr1.cc:859
+  case 249:
+#line 933 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1716 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 243:
-#line 928 "dhcp6_parser.yy" // lalr1.cc:859
+  case 250:
+#line 935 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("interface", iface);
@@ -1725,16 +1725,16 @@ namespace isc { namespace dhcp {
 #line 1726 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 244:
-#line 934 "dhcp6_parser.yy" // lalr1.cc:859
+  case 251:
+#line 941 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1734 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 245:
-#line 936 "dhcp6_parser.yy" // lalr1.cc:859
+  case 252:
+#line 943 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("interface-id", iface);
@@ -1743,16 +1743,16 @@ namespace isc { namespace dhcp {
 #line 1744 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 246:
-#line 942 "dhcp6_parser.yy" // lalr1.cc:859
+  case 253:
+#line 949 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.CLIENT_CLASS);
 }
 #line 1752 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 247:
-#line 944 "dhcp6_parser.yy" // lalr1.cc:859
+  case 254:
+#line 951 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr cls(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-class", cls);
@@ -1761,16 +1761,16 @@ namespace isc { namespace dhcp {
 #line 1762 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 248:
-#line 950 "dhcp6_parser.yy" // lalr1.cc:859
+  case 255:
+#line 957 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.RESERVATION_MODE);
 }
 #line 1770 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 249:
-#line 952 "dhcp6_parser.yy" // lalr1.cc:859
+  case 256:
+#line 959 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -1778,26 +1778,26 @@ namespace isc { namespace dhcp {
 #line 1779 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 250:
-#line 957 "dhcp6_parser.yy" // lalr1.cc:859
+  case 257:
+#line 964 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); }
 #line 1785 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 251:
-#line 958 "dhcp6_parser.yy" // lalr1.cc:859
+  case 258:
+#line 965 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); }
 #line 1791 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 252:
-#line 959 "dhcp6_parser.yy" // lalr1.cc:859
+  case 259:
+#line 966 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); }
 #line 1797 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 253:
-#line 962 "dhcp6_parser.yy" // lalr1.cc:859
+  case 260:
+#line 969 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr id(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("id", id);
@@ -1805,8 +1805,8 @@ namespace isc { namespace dhcp {
 #line 1806 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 254:
-#line 967 "dhcp6_parser.yy" // lalr1.cc:859
+  case 261:
+#line 974 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr rc(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("rapid-commit", rc);
@@ -1814,8 +1814,8 @@ namespace isc { namespace dhcp {
 #line 1815 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 255:
-#line 975 "dhcp6_parser.yy" // lalr1.cc:859
+  case 262:
+#line 982 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("shared-networks", l);
@@ -1825,8 +1825,8 @@ namespace isc { namespace dhcp {
 #line 1826 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 256:
-#line 980 "dhcp6_parser.yy" // lalr1.cc:859
+  case 263:
+#line 987 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1834,8 +1834,8 @@ namespace isc { namespace dhcp {
 #line 1835 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 261:
-#line 995 "dhcp6_parser.yy" // lalr1.cc:859
+  case 268:
+#line 1002 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -1844,16 +1844,16 @@ namespace isc { namespace dhcp {
 #line 1845 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 262:
-#line 999 "dhcp6_parser.yy" // lalr1.cc:859
+  case 269:
+#line 1006 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 1853 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 281:
-#line 1029 "dhcp6_parser.yy" // lalr1.cc:859
+  case 288:
+#line 1036 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("option-def", l);
@@ -1863,8 +1863,8 @@ namespace isc { namespace dhcp {
 #line 1864 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 282:
-#line 1034 "dhcp6_parser.yy" // lalr1.cc:859
+  case 289:
+#line 1041 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -1872,8 +1872,8 @@ namespace isc { namespace dhcp {
 #line 1873 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 283:
-#line 1042 "dhcp6_parser.yy" // lalr1.cc:859
+  case 290:
+#line 1049 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
@@ -1881,16 +1881,16 @@ namespace isc { namespace dhcp {
 #line 1882 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 284:
-#line 1045 "dhcp6_parser.yy" // lalr1.cc:859
+  case 291:
+#line 1052 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // parsing completed
 }
 #line 1890 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 289:
-#line 1061 "dhcp6_parser.yy" // lalr1.cc:859
+  case 296:
+#line 1068 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -1899,8 +1899,8 @@ namespace isc { namespace dhcp {
 #line 1900 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 290:
-#line 1065 "dhcp6_parser.yy" // lalr1.cc:859
+  case 297:
+#line 1072 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The name, code and type option def parameters are required.
     ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -1911,8 +1911,8 @@ namespace isc { namespace dhcp {
 #line 1912 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 291:
-#line 1076 "dhcp6_parser.yy" // lalr1.cc:859
+  case 298:
+#line 1083 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the option-def list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -1921,8 +1921,8 @@ namespace isc { namespace dhcp {
 #line 1922 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 292:
-#line 1080 "dhcp6_parser.yy" // lalr1.cc:859
+  case 299:
+#line 1087 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The name, code and type option def parameters are required.
     ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -1933,8 +1933,8 @@ namespace isc { namespace dhcp {
 #line 1934 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 308:
-#line 1112 "dhcp6_parser.yy" // lalr1.cc:859
+  case 315:
+#line 1119 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr code(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("code", code);
@@ -1942,16 +1942,16 @@ namespace isc { namespace dhcp {
 #line 1943 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 310:
-#line 1119 "dhcp6_parser.yy" // lalr1.cc:859
+  case 317:
+#line 1126 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1951 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 311:
-#line 1121 "dhcp6_parser.yy" // lalr1.cc:859
+  case 318:
+#line 1128 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("type", prf);
@@ -1960,16 +1960,16 @@ namespace isc { namespace dhcp {
 #line 1961 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 312:
-#line 1127 "dhcp6_parser.yy" // lalr1.cc:859
+  case 319:
+#line 1134 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1969 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 313:
-#line 1129 "dhcp6_parser.yy" // lalr1.cc:859
+  case 320:
+#line 1136 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr rtypes(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("record-types", rtypes);
@@ -1978,16 +1978,16 @@ namespace isc { namespace dhcp {
 #line 1979 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 314:
-#line 1135 "dhcp6_parser.yy" // lalr1.cc:859
+  case 321:
+#line 1142 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1987 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 315:
-#line 1137 "dhcp6_parser.yy" // lalr1.cc:859
+  case 322:
+#line 1144 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr space(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("space", space);
@@ -1996,16 +1996,16 @@ namespace isc { namespace dhcp {
 #line 1997 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 317:
-#line 1145 "dhcp6_parser.yy" // lalr1.cc:859
+  case 324:
+#line 1152 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2005 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 318:
-#line 1147 "dhcp6_parser.yy" // lalr1.cc:859
+  case 325:
+#line 1154 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr encap(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("encapsulate", encap);
@@ -2014,8 +2014,8 @@ namespace isc { namespace dhcp {
 #line 2015 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 319:
-#line 1153 "dhcp6_parser.yy" // lalr1.cc:859
+  case 326:
+#line 1160 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr array(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("array", array);
@@ -2023,8 +2023,8 @@ namespace isc { namespace dhcp {
 #line 2024 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 320:
-#line 1162 "dhcp6_parser.yy" // lalr1.cc:859
+  case 327:
+#line 1169 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("option-data", l);
@@ -2034,8 +2034,8 @@ namespace isc { namespace dhcp {
 #line 2035 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 321:
-#line 1167 "dhcp6_parser.yy" // lalr1.cc:859
+  case 328:
+#line 1174 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2043,8 +2043,8 @@ namespace isc { namespace dhcp {
 #line 2044 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 326:
-#line 1186 "dhcp6_parser.yy" // lalr1.cc:859
+  case 333:
+#line 1193 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2053,8 +2053,8 @@ namespace isc { namespace dhcp {
 #line 2054 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 327:
-#line 1190 "dhcp6_parser.yy" // lalr1.cc:859
+  case 334:
+#line 1197 "dhcp6_parser.yy" // lalr1.cc:859
     {
     /// @todo: the code or name parameters are required.
     ctx.stack_.pop_back();
@@ -2062,8 +2062,8 @@ namespace isc { namespace dhcp {
 #line 2063 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 328:
-#line 1198 "dhcp6_parser.yy" // lalr1.cc:859
+  case 335:
+#line 1205 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the option-data list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2072,8 +2072,8 @@ namespace isc { namespace dhcp {
 #line 2073 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 329:
-#line 1202 "dhcp6_parser.yy" // lalr1.cc:859
+  case 336:
+#line 1209 "dhcp6_parser.yy" // lalr1.cc:859
     {
     /// @todo: the code or name parameters are required.
     // parsing completed
@@ -2081,16 +2081,16 @@ namespace isc { namespace dhcp {
 #line 2082 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 344:
-#line 1235 "dhcp6_parser.yy" // lalr1.cc:859
+  case 351:
+#line 1242 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2090 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 345:
-#line 1237 "dhcp6_parser.yy" // lalr1.cc:859
+  case 352:
+#line 1244 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr data(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("data", data);
@@ -2099,8 +2099,8 @@ namespace isc { namespace dhcp {
 #line 2100 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 348:
-#line 1247 "dhcp6_parser.yy" // lalr1.cc:859
+  case 355:
+#line 1254 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr space(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("csv-format", space);
@@ -2108,8 +2108,8 @@ namespace isc { namespace dhcp {
 #line 2109 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 349:
-#line 1252 "dhcp6_parser.yy" // lalr1.cc:859
+  case 356:
+#line 1259 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr persist(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("always-send", persist);
@@ -2117,8 +2117,8 @@ namespace isc { namespace dhcp {
 #line 2118 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 350:
-#line 1260 "dhcp6_parser.yy" // lalr1.cc:859
+  case 357:
+#line 1267 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pools", l);
@@ -2128,8 +2128,8 @@ namespace isc { namespace dhcp {
 #line 2129 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 351:
-#line 1265 "dhcp6_parser.yy" // lalr1.cc:859
+  case 358:
+#line 1272 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2137,8 +2137,8 @@ namespace isc { namespace dhcp {
 #line 2138 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 356:
-#line 1280 "dhcp6_parser.yy" // lalr1.cc:859
+  case 363:
+#line 1287 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2147,8 +2147,8 @@ namespace isc { namespace dhcp {
 #line 2148 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 357:
-#line 1284 "dhcp6_parser.yy" // lalr1.cc:859
+  case 364:
+#line 1291 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The pool parameter is required.
     ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2157,8 +2157,8 @@ namespace isc { namespace dhcp {
 #line 2158 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 358:
-#line 1290 "dhcp6_parser.yy" // lalr1.cc:859
+  case 365:
+#line 1297 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the pool list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2167,8 +2167,8 @@ namespace isc { namespace dhcp {
 #line 2168 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 359:
-#line 1294 "dhcp6_parser.yy" // lalr1.cc:859
+  case 366:
+#line 1301 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The pool parameter is required.
     ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2176,16 +2176,16 @@ namespace isc { namespace dhcp {
 #line 2177 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 367:
-#line 1310 "dhcp6_parser.yy" // lalr1.cc:859
+  case 374:
+#line 1317 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2185 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 368:
-#line 1312 "dhcp6_parser.yy" // lalr1.cc:859
+  case 375:
+#line 1319 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr pool(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pool", pool);
@@ -2194,16 +2194,16 @@ namespace isc { namespace dhcp {
 #line 2195 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 369:
-#line 1318 "dhcp6_parser.yy" // lalr1.cc:859
+  case 376:
+#line 1325 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2203 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 370:
-#line 1320 "dhcp6_parser.yy" // lalr1.cc:859
+  case 377:
+#line 1327 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->combine_set("user-context", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2211,16 +2211,16 @@ namespace isc { namespace dhcp {
 #line 2212 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 371:
-#line 1325 "dhcp6_parser.yy" // lalr1.cc:859
+  case 378:
+#line 1332 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2220 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 372:
-#line 1327 "dhcp6_parser.yy" // lalr1.cc:859
+  case 379:
+#line 1334 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr e(new MapElement(ctx.loc2pos(yystack_[3].location)));
     e->set("comment", yystack_[0].value.as< ElementPtr > ());
@@ -2230,8 +2230,8 @@ namespace isc { namespace dhcp {
 #line 2231 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 373:
-#line 1337 "dhcp6_parser.yy" // lalr1.cc:859
+  case 380:
+#line 1344 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pd-pools", l);
@@ -2241,8 +2241,8 @@ namespace isc { namespace dhcp {
 #line 2242 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 374:
-#line 1342 "dhcp6_parser.yy" // lalr1.cc:859
+  case 381:
+#line 1349 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2250,8 +2250,8 @@ namespace isc { namespace dhcp {
 #line 2251 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 379:
-#line 1357 "dhcp6_parser.yy" // lalr1.cc:859
+  case 386:
+#line 1364 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2260,8 +2260,8 @@ namespace isc { namespace dhcp {
 #line 2261 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 380:
-#line 1361 "dhcp6_parser.yy" // lalr1.cc:859
+  case 387:
+#line 1368 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The prefix, prefix len and delegated len parameters are required.
     ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2272,8 +2272,8 @@ namespace isc { namespace dhcp {
 #line 2273 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 381:
-#line 1369 "dhcp6_parser.yy" // lalr1.cc:859
+  case 388:
+#line 1376 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the pd-pool list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2282,8 +2282,8 @@ namespace isc { namespace dhcp {
 #line 2283 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 382:
-#line 1373 "dhcp6_parser.yy" // lalr1.cc:859
+  case 389:
+#line 1380 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The prefix, prefix len and delegated len parameters are required.
     ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2294,16 +2294,16 @@ namespace isc { namespace dhcp {
 #line 2295 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 394:
-#line 1396 "dhcp6_parser.yy" // lalr1.cc:859
+  case 401:
+#line 1403 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2303 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 395:
-#line 1398 "dhcp6_parser.yy" // lalr1.cc:859
+  case 402:
+#line 1405 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("prefix", prf);
@@ -2312,8 +2312,8 @@ namespace isc { namespace dhcp {
 #line 2313 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 396:
-#line 1404 "dhcp6_parser.yy" // lalr1.cc:859
+  case 403:
+#line 1411 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("prefix-len", prf);
@@ -2321,16 +2321,16 @@ namespace isc { namespace dhcp {
 #line 2322 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 397:
-#line 1409 "dhcp6_parser.yy" // lalr1.cc:859
+  case 404:
+#line 1416 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2330 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 398:
-#line 1411 "dhcp6_parser.yy" // lalr1.cc:859
+  case 405:
+#line 1418 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("excluded-prefix", prf);
@@ -2339,8 +2339,8 @@ namespace isc { namespace dhcp {
 #line 2340 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 399:
-#line 1417 "dhcp6_parser.yy" // lalr1.cc:859
+  case 406:
+#line 1424 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("excluded-prefix-len", prf);
@@ -2348,8 +2348,8 @@ namespace isc { namespace dhcp {
 #line 2349 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 400:
-#line 1422 "dhcp6_parser.yy" // lalr1.cc:859
+  case 407:
+#line 1429 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr deleg(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("delegated-len", deleg);
@@ -2357,8 +2357,8 @@ namespace isc { namespace dhcp {
 #line 2358 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 401:
-#line 1430 "dhcp6_parser.yy" // lalr1.cc:859
+  case 408:
+#line 1437 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("reservations", l);
@@ -2368,8 +2368,8 @@ namespace isc { namespace dhcp {
 #line 2369 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 402:
-#line 1435 "dhcp6_parser.yy" // lalr1.cc:859
+  case 409:
+#line 1442 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2377,8 +2377,8 @@ namespace isc { namespace dhcp {
 #line 2378 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 407:
-#line 1448 "dhcp6_parser.yy" // lalr1.cc:859
+  case 414:
+#line 1455 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2387,8 +2387,8 @@ namespace isc { namespace dhcp {
 #line 2388 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 408:
-#line 1452 "dhcp6_parser.yy" // lalr1.cc:859
+  case 415:
+#line 1459 "dhcp6_parser.yy" // lalr1.cc:859
     {
     /// @todo: an identifier parameter is required.
     ctx.stack_.pop_back();
@@ -2396,8 +2396,8 @@ namespace isc { namespace dhcp {
 #line 2397 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 409:
-#line 1457 "dhcp6_parser.yy" // lalr1.cc:859
+  case 416:
+#line 1464 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the reservations list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2406,8 +2406,8 @@ namespace isc { namespace dhcp {
 #line 2407 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 410:
-#line 1461 "dhcp6_parser.yy" // lalr1.cc:859
+  case 417:
+#line 1468 "dhcp6_parser.yy" // lalr1.cc:859
     {
     /// @todo: an identifier parameter is required.
     // parsing completed
@@ -2415,8 +2415,8 @@ namespace isc { namespace dhcp {
 #line 2416 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 424:
-#line 1486 "dhcp6_parser.yy" // lalr1.cc:859
+  case 433:
+#line 1495 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ip-addresses", l);
@@ -2426,8 +2426,8 @@ namespace isc { namespace dhcp {
 #line 2427 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 425:
-#line 1491 "dhcp6_parser.yy" // lalr1.cc:859
+  case 434:
+#line 1500 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2435,8 +2435,8 @@ namespace isc { namespace dhcp {
 #line 2436 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 426:
-#line 1496 "dhcp6_parser.yy" // lalr1.cc:859
+  case 435:
+#line 1505 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("prefixes", l);
@@ -2446,8 +2446,8 @@ namespace isc { namespace dhcp {
 #line 2447 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 427:
-#line 1501 "dhcp6_parser.yy" // lalr1.cc:859
+  case 436:
+#line 1510 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2455,16 +2455,16 @@ namespace isc { namespace dhcp {
 #line 2456 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 428:
-#line 1506 "dhcp6_parser.yy" // lalr1.cc:859
+  case 437:
+#line 1515 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2464 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 429:
-#line 1508 "dhcp6_parser.yy" // lalr1.cc:859
+  case 438:
+#line 1517 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr d(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("duid", d);
@@ -2473,16 +2473,16 @@ namespace isc { namespace dhcp {
 #line 2474 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 430:
-#line 1514 "dhcp6_parser.yy" // lalr1.cc:859
+  case 439:
+#line 1523 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2482 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 431:
-#line 1516 "dhcp6_parser.yy" // lalr1.cc:859
+  case 440:
+#line 1525 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hw-address", hw);
@@ -2491,16 +2491,16 @@ namespace isc { namespace dhcp {
 #line 2492 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 432:
-#line 1522 "dhcp6_parser.yy" // lalr1.cc:859
+  case 441:
+#line 1531 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2500 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 433:
-#line 1524 "dhcp6_parser.yy" // lalr1.cc:859
+  case 442:
+#line 1533 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr host(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hostname", host);
@@ -2509,16 +2509,16 @@ namespace isc { namespace dhcp {
 #line 2510 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 434:
-#line 1530 "dhcp6_parser.yy" // lalr1.cc:859
+  case 443:
+#line 1539 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2518 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 435:
-#line 1532 "dhcp6_parser.yy" // lalr1.cc:859
+  case 444:
+#line 1541 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("flex-id", hw);
@@ -2527,8 +2527,8 @@ namespace isc { namespace dhcp {
 #line 2528 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 436:
-#line 1538 "dhcp6_parser.yy" // lalr1.cc:859
+  case 445:
+#line 1547 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-classes", c);
@@ -2538,8 +2538,8 @@ namespace isc { namespace dhcp {
 #line 2539 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 437:
-#line 1543 "dhcp6_parser.yy" // lalr1.cc:859
+  case 446:
+#line 1552 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2547,8 +2547,8 @@ namespace isc { namespace dhcp {
 #line 2548 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 438:
-#line 1551 "dhcp6_parser.yy" // lalr1.cc:859
+  case 447:
+#line 1560 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("relay", m);
@@ -2558,8 +2558,8 @@ namespace isc { namespace dhcp {
 #line 2559 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 439:
-#line 1556 "dhcp6_parser.yy" // lalr1.cc:859
+  case 448:
+#line 1565 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2567,16 +2567,16 @@ namespace isc { namespace dhcp {
 #line 2568 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 440:
-#line 1561 "dhcp6_parser.yy" // lalr1.cc:859
+  case 449:
+#line 1570 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2576 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 441:
-#line 1563 "dhcp6_parser.yy" // lalr1.cc:859
+  case 450:
+#line 1572 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr ip(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ip-address", ip);
@@ -2585,8 +2585,8 @@ namespace isc { namespace dhcp {
 #line 2586 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 442:
-#line 1572 "dhcp6_parser.yy" // lalr1.cc:859
+  case 451:
+#line 1581 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-classes", l);
@@ -2596,8 +2596,8 @@ namespace isc { namespace dhcp {
 #line 2597 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 443:
-#line 1577 "dhcp6_parser.yy" // lalr1.cc:859
+  case 452:
+#line 1586 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2605,8 +2605,8 @@ namespace isc { namespace dhcp {
 #line 2606 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 446:
-#line 1586 "dhcp6_parser.yy" // lalr1.cc:859
+  case 455:
+#line 1595 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -2615,8 +2615,8 @@ namespace isc { namespace dhcp {
 #line 2616 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 447:
-#line 1590 "dhcp6_parser.yy" // lalr1.cc:859
+  case 456:
+#line 1599 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The name client class parameter is required.
     ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2625,16 +2625,16 @@ namespace isc { namespace dhcp {
 #line 2626 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 459:
-#line 1614 "dhcp6_parser.yy" // lalr1.cc:859
+  case 468:
+#line 1623 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2634 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 460:
-#line 1616 "dhcp6_parser.yy" // lalr1.cc:859
+  case 469:
+#line 1625 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr test(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("test", test);
@@ -2643,8 +2643,8 @@ namespace isc { namespace dhcp {
 #line 2644 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 461:
-#line 1625 "dhcp6_parser.yy" // lalr1.cc:859
+  case 470:
+#line 1634 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-id", m);
@@ -2654,8 +2654,8 @@ namespace isc { namespace dhcp {
 #line 2655 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 462:
-#line 1630 "dhcp6_parser.yy" // lalr1.cc:859
+  case 471:
+#line 1639 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The type parameter is required.
     ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
@@ -2665,16 +2665,16 @@ namespace isc { namespace dhcp {
 #line 2666 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 472:
-#line 1650 "dhcp6_parser.yy" // lalr1.cc:859
+  case 483:
+#line 1661 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.DUID_TYPE);
 }
 #line 2674 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 473:
-#line 1652 "dhcp6_parser.yy" // lalr1.cc:859
+  case 484:
+#line 1663 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2682,26 +2682,26 @@ namespace isc { namespace dhcp {
 #line 2683 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 474:
-#line 1657 "dhcp6_parser.yy" // lalr1.cc:859
+  case 485:
+#line 1668 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); }
 #line 2689 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 475:
-#line 1658 "dhcp6_parser.yy" // lalr1.cc:859
+  case 486:
+#line 1669 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); }
 #line 2695 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 476:
-#line 1659 "dhcp6_parser.yy" // lalr1.cc:859
+  case 487:
+#line 1670 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); }
 #line 2701 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 477:
-#line 1662 "dhcp6_parser.yy" // lalr1.cc:859
+  case 488:
+#line 1673 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr htype(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("htype", htype);
@@ -2709,16 +2709,16 @@ namespace isc { namespace dhcp {
 #line 2710 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 478:
-#line 1667 "dhcp6_parser.yy" // lalr1.cc:859
+  case 489:
+#line 1678 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2718 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 479:
-#line 1669 "dhcp6_parser.yy" // lalr1.cc:859
+  case 490:
+#line 1680 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr id(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("identifier", id);
@@ -2727,8 +2727,8 @@ namespace isc { namespace dhcp {
 #line 2728 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 480:
-#line 1675 "dhcp6_parser.yy" // lalr1.cc:859
+  case 491:
+#line 1686 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("time", time);
@@ -2736,8 +2736,8 @@ namespace isc { namespace dhcp {
 #line 2737 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 481:
-#line 1680 "dhcp6_parser.yy" // lalr1.cc:859
+  case 492:
+#line 1691 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("enterprise-id", time);
@@ -2745,8 +2745,8 @@ namespace isc { namespace dhcp {
 #line 2746 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 482:
-#line 1687 "dhcp6_parser.yy" // lalr1.cc:859
+  case 493:
+#line 1698 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("dhcp4o6-port", time);
@@ -2754,8 +2754,8 @@ namespace isc { namespace dhcp {
 #line 2755 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 483:
-#line 1694 "dhcp6_parser.yy" // lalr1.cc:859
+  case 494:
+#line 1705 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("control-socket", m);
@@ -2765,8 +2765,8 @@ namespace isc { namespace dhcp {
 #line 2766 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 484:
-#line 1699 "dhcp6_parser.yy" // lalr1.cc:859
+  case 495:
+#line 1710 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -2774,16 +2774,16 @@ namespace isc { namespace dhcp {
 #line 2775 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 489:
-#line 1712 "dhcp6_parser.yy" // lalr1.cc:859
+  case 500:
+#line 1723 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2783 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 490:
-#line 1714 "dhcp6_parser.yy" // lalr1.cc:859
+  case 501:
+#line 1725 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr stype(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("socket-type", stype);
@@ -2792,16 +2792,16 @@ namespace isc { namespace dhcp {
 #line 2793 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 491:
-#line 1720 "dhcp6_parser.yy" // lalr1.cc:859
+  case 502:
+#line 1731 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2801 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 492:
-#line 1722 "dhcp6_parser.yy" // lalr1.cc:859
+  case 503:
+#line 1733 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("socket-name", name);
@@ -2810,8 +2810,8 @@ namespace isc { namespace dhcp {
 #line 2811 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 493:
-#line 1730 "dhcp6_parser.yy" // lalr1.cc:859
+  case 504:
+#line 1741 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("dhcp-ddns", m);
@@ -2821,8 +2821,8 @@ namespace isc { namespace dhcp {
 #line 2822 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 494:
-#line 1735 "dhcp6_parser.yy" // lalr1.cc:859
+  case 505:
+#line 1746 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The enable updates DHCP DDNS parameter is required.
     ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
@@ -2832,8 +2832,8 @@ namespace isc { namespace dhcp {
 #line 2833 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 495:
-#line 1742 "dhcp6_parser.yy" // lalr1.cc:859
+  case 506:
+#line 1753 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // Parse the dhcp-ddns map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
@@ -2842,8 +2842,8 @@ namespace isc { namespace dhcp {
 #line 2843 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 496:
-#line 1746 "dhcp6_parser.yy" // lalr1.cc:859
+  case 507:
+#line 1757 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // The enable updates DHCP DDNS parameter is required.
     ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2852,8 +2852,8 @@ namespace isc { namespace dhcp {
 #line 2853 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 514:
-#line 1773 "dhcp6_parser.yy" // lalr1.cc:859
+  case 527:
+#line 1786 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("enable-updates", b);
@@ -2861,16 +2861,16 @@ namespace isc { namespace dhcp {
 #line 2862 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 515:
-#line 1778 "dhcp6_parser.yy" // lalr1.cc:859
+  case 528:
+#line 1791 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2870 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 516:
-#line 1780 "dhcp6_parser.yy" // lalr1.cc:859
+  case 529:
+#line 1793 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("qualifying-suffix", s);
@@ -2879,16 +2879,16 @@ namespace isc { namespace dhcp {
 #line 2880 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 517:
-#line 1786 "dhcp6_parser.yy" // lalr1.cc:859
+  case 530:
+#line 1799 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2888 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 518:
-#line 1788 "dhcp6_parser.yy" // lalr1.cc:859
+  case 531:
+#line 1801 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-ip", s);
@@ -2897,8 +2897,8 @@ namespace isc { namespace dhcp {
 #line 2898 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 519:
-#line 1794 "dhcp6_parser.yy" // lalr1.cc:859
+  case 532:
+#line 1807 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-port", i);
@@ -2906,16 +2906,16 @@ namespace isc { namespace dhcp {
 #line 2907 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 520:
-#line 1799 "dhcp6_parser.yy" // lalr1.cc:859
+  case 533:
+#line 1812 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2915 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 521:
-#line 1801 "dhcp6_parser.yy" // lalr1.cc:859
+  case 534:
+#line 1814 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("sender-ip", s);
@@ -2924,8 +2924,8 @@ namespace isc { namespace dhcp {
 #line 2925 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 522:
-#line 1807 "dhcp6_parser.yy" // lalr1.cc:859
+  case 535:
+#line 1820 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("sender-port", i);
@@ -2933,8 +2933,8 @@ namespace isc { namespace dhcp {
 #line 2934 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 523:
-#line 1812 "dhcp6_parser.yy" // lalr1.cc:859
+  case 536:
+#line 1825 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("max-queue-size", i);
@@ -2942,16 +2942,16 @@ namespace isc { namespace dhcp {
 #line 2943 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 524:
-#line 1817 "dhcp6_parser.yy" // lalr1.cc:859
+  case 537:
+#line 1830 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NCR_PROTOCOL);
 }
 #line 2951 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 525:
-#line 1819 "dhcp6_parser.yy" // lalr1.cc:859
+  case 538:
+#line 1832 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -2959,28 +2959,28 @@ namespace isc { namespace dhcp {
 #line 2960 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 526:
-#line 1825 "dhcp6_parser.yy" // lalr1.cc:859
+  case 539:
+#line 1838 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
 #line 2966 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 527:
-#line 1826 "dhcp6_parser.yy" // lalr1.cc:859
+  case 540:
+#line 1839 "dhcp6_parser.yy" // lalr1.cc:859
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
 #line 2972 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 528:
-#line 1829 "dhcp6_parser.yy" // lalr1.cc:859
+  case 541:
+#line 1842 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NCR_FORMAT);
 }
 #line 2980 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 529:
-#line 1831 "dhcp6_parser.yy" // lalr1.cc:859
+  case 542:
+#line 1844 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ncr-format", json);
@@ -2989,8 +2989,8 @@ namespace isc { namespace dhcp {
 #line 2990 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 530:
-#line 1837 "dhcp6_parser.yy" // lalr1.cc:859
+  case 543:
+#line 1850 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("always-include-fqdn", b);
@@ -2998,8 +2998,8 @@ namespace isc { namespace dhcp {
 #line 2999 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 531:
-#line 1842 "dhcp6_parser.yy" // lalr1.cc:859
+  case 544:
+#line 1855 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("override-no-update", b);
@@ -3007,8 +3007,8 @@ namespace isc { namespace dhcp {
 #line 3008 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 532:
-#line 1847 "dhcp6_parser.yy" // lalr1.cc:859
+  case 545:
+#line 1860 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("override-client-update", b);
@@ -3016,16 +3016,16 @@ namespace isc { namespace dhcp {
 #line 3017 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 533:
-#line 1852 "dhcp6_parser.yy" // lalr1.cc:859
+  case 546:
+#line 1865 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.REPLACE_CLIENT_NAME);
 }
 #line 3025 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 534:
-#line 1854 "dhcp6_parser.yy" // lalr1.cc:859
+  case 547:
+#line 1867 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3033,40 +3033,40 @@ namespace isc { namespace dhcp {
 #line 3034 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 535:
-#line 1860 "dhcp6_parser.yy" // lalr1.cc:859
+  case 548:
+#line 1873 "dhcp6_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); 
       }
 #line 3042 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 536:
-#line 1863 "dhcp6_parser.yy" // lalr1.cc:859
+  case 549:
+#line 1876 "dhcp6_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
       }
 #line 3050 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 537:
-#line 1866 "dhcp6_parser.yy" // lalr1.cc:859
+  case 550:
+#line 1879 "dhcp6_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
       }
 #line 3058 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 538:
-#line 1869 "dhcp6_parser.yy" // lalr1.cc:859
+  case 551:
+#line 1882 "dhcp6_parser.yy" // lalr1.cc:859
     {
       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
       }
 #line 3066 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 539:
-#line 1872 "dhcp6_parser.yy" // lalr1.cc:859
+  case 552:
+#line 1885 "dhcp6_parser.yy" // lalr1.cc:859
     {
       error(yystack_[0].location, "boolean values for the replace-client-name are "
                 "no longer supported");
@@ -3074,16 +3074,16 @@ namespace isc { namespace dhcp {
 #line 3075 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 540:
-#line 1878 "dhcp6_parser.yy" // lalr1.cc:859
+  case 553:
+#line 1891 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3083 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 541:
-#line 1880 "dhcp6_parser.yy" // lalr1.cc:859
+  case 554:
+#line 1893 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("generated-prefix", s);
@@ -3092,16 +3092,16 @@ namespace isc { namespace dhcp {
 #line 3093 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 542:
-#line 1888 "dhcp6_parser.yy" // lalr1.cc:859
+  case 555:
+#line 1901 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3101 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 543:
-#line 1890 "dhcp6_parser.yy" // lalr1.cc:859
+  case 556:
+#line 1903 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("Dhcp4", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3109,16 +3109,16 @@ namespace isc { namespace dhcp {
 #line 3110 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 544:
-#line 1895 "dhcp6_parser.yy" // lalr1.cc:859
+  case 557:
+#line 1908 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3118 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 545:
-#line 1897 "dhcp6_parser.yy" // lalr1.cc:859
+  case 558:
+#line 1910 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3126,16 +3126,16 @@ namespace isc { namespace dhcp {
 #line 3127 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 546:
-#line 1902 "dhcp6_parser.yy" // lalr1.cc:859
+  case 559:
+#line 1915 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3135 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 547:
-#line 1904 "dhcp6_parser.yy" // lalr1.cc:859
+  case 560:
+#line 1917 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.back()->set("Control-agent", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
@@ -3143,8 +3143,8 @@ namespace isc { namespace dhcp {
 #line 3144 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 548:
-#line 1915 "dhcp6_parser.yy" // lalr1.cc:859
+  case 561:
+#line 1928 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("Logging", m);
@@ -3154,8 +3154,8 @@ namespace isc { namespace dhcp {
 #line 3155 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 549:
-#line 1920 "dhcp6_parser.yy" // lalr1.cc:859
+  case 562:
+#line 1933 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -3163,8 +3163,8 @@ namespace isc { namespace dhcp {
 #line 3164 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 553:
-#line 1937 "dhcp6_parser.yy" // lalr1.cc:859
+  case 566:
+#line 1950 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("loggers", l);
@@ -3174,8 +3174,8 @@ namespace isc { namespace dhcp {
 #line 3175 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 554:
-#line 1942 "dhcp6_parser.yy" // lalr1.cc:859
+  case 567:
+#line 1955 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -3183,8 +3183,8 @@ namespace isc { namespace dhcp {
 #line 3184 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 557:
-#line 1954 "dhcp6_parser.yy" // lalr1.cc:859
+  case 570:
+#line 1967 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(l);
@@ -3193,16 +3193,16 @@ namespace isc { namespace dhcp {
 #line 3194 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 558:
-#line 1958 "dhcp6_parser.yy" // lalr1.cc:859
+  case 571:
+#line 1971 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 3202 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 566:
-#line 1973 "dhcp6_parser.yy" // lalr1.cc:859
+  case 581:
+#line 1988 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("debuglevel", dl);
@@ -3210,16 +3210,16 @@ namespace isc { namespace dhcp {
 #line 3211 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 567:
-#line 1978 "dhcp6_parser.yy" // lalr1.cc:859
+  case 582:
+#line 1993 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3219 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 568:
-#line 1980 "dhcp6_parser.yy" // lalr1.cc:859
+  case 583:
+#line 1995 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("severity", sev);
@@ -3228,8 +3228,8 @@ namespace isc { namespace dhcp {
 #line 3229 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 569:
-#line 1986 "dhcp6_parser.yy" // lalr1.cc:859
+  case 584:
+#line 2001 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output_options", l);
@@ -3239,8 +3239,8 @@ namespace isc { namespace dhcp {
 #line 3240 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 570:
-#line 1991 "dhcp6_parser.yy" // lalr1.cc:859
+  case 585:
+#line 2006 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
     ctx.leave();
@@ -3248,8 +3248,8 @@ namespace isc { namespace dhcp {
 #line 3249 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 573:
-#line 2000 "dhcp6_parser.yy" // lalr1.cc:859
+  case 588:
+#line 2015 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
@@ -3258,24 +3258,24 @@ namespace isc { namespace dhcp {
 #line 3259 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 574:
-#line 2004 "dhcp6_parser.yy" // lalr1.cc:859
+  case 589:
+#line 2019 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 3267 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 581:
-#line 2018 "dhcp6_parser.yy" // lalr1.cc:859
+  case 596:
+#line 2033 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3275 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 582:
-#line 2020 "dhcp6_parser.yy" // lalr1.cc:859
+  case 597:
+#line 2035 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output", sev);
@@ -3284,8 +3284,8 @@ namespace isc { namespace dhcp {
 #line 3285 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 583:
-#line 2026 "dhcp6_parser.yy" // lalr1.cc:859
+  case 598:
+#line 2041 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("flush", flush);
@@ -3293,8 +3293,8 @@ namespace isc { namespace dhcp {
 #line 3294 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 584:
-#line 2031 "dhcp6_parser.yy" // lalr1.cc:859
+  case 599:
+#line 2046 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr maxsize(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxsize", maxsize);
@@ -3302,8 +3302,8 @@ namespace isc { namespace dhcp {
 #line 3303 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 585:
-#line 2036 "dhcp6_parser.yy" // lalr1.cc:859
+  case 600:
+#line 2051 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ElementPtr maxver(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxver", maxver);
@@ -3567,109 +3567,111 @@ namespace isc { namespace dhcp {
   }
 
 
-  const short int Dhcp6Parser::yypact_ninf_ = -712;
+  const short int Dhcp6Parser::yypact_ninf_ = -744;
 
   const signed char Dhcp6Parser::yytable_ninf_ = -1;
 
   const short int
   Dhcp6Parser::yypact_[] =
   {
-     242,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,  -712,  -712,    31,    21,    30,    39,    45,    73,
-      94,    98,   109,   120,   128,   131,   135,   142,  -712,  -712,
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,  -712,  -712,    21,   -29,    10,   149,   184,    25,
-     174,    15,   123,   153,    87,   204,   -30,   261,  -712,   134,
-     208,   203,   207,   221,  -712,  -712,  -712,  -712,  -712,   222,
-    -712,    92,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,   224,   230,   237,   245,   251,  -712,  -712,  -712,  -712,
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,   255,
-    -712,  -712,  -712,    99,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-     266,   101,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,   272,   301,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,   116,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,   122,  -712,  -712,  -712,  -712,  -712,   321,  -712,   325,
-     338,  -712,  -712,  -712,  -712,   133,  -712,  -712,  -712,  -712,
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,   299,   284,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,   345,  -712,  -712,   342,  -712,  -712,  -712,   400,  -712,
-    -712,   397,   306,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,  -712,  -712,  -712,  -712,   402,   403,  -712,  -712,
-    -712,  -712,   401,   405,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,  -712,  -712,  -712,  -712,   205,  -712,  -712,  -712,
-     406,  -712,  -712,   407,  -712,   408,   410,  -712,  -712,   411,
-     412,   413,  -712,  -712,  -712,   206,  -712,  -712,  -712,  -712,
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,    21,    21,  -712,   267,   414,   416,   417,   418,
-     419,  -712,    10,  -712,   420,   421,   422,   276,   277,   278,
-     281,   287,   423,   424,   428,   429,   431,   435,   437,   438,
-     439,   440,   441,   442,   443,   295,   445,   446,   149,  -712,
-     447,   298,   184,  -712,   132,   450,   451,   452,   453,   454,
-     307,   308,   455,   460,   461,   462,    25,  -712,   463,   174,
-    -712,   464,   318,   468,   322,   323,    15,  -712,   469,   470,
-     473,   474,   475,   476,   477,  -712,   123,  -712,   478,   481,
-     334,   484,   485,   486,   337,  -712,    87,   489,   339,   340,
-    -712,   204,   492,   493,   279,  -712,   343,   495,   496,   348,
-     498,   350,   351,   502,   503,   353,   354,   355,   507,   508,
-     261,  -712,  -712,  -712,   509,   510,   511,    21,    21,    21,
-    -712,   512,   514,   516,  -712,  -712,  -712,  -712,  -712,   519,
-     520,   521,   522,    21,   523,   525,   526,   527,   528,   529,
-     531,   532,  -712,   533,   534,  -712,   530,  -712,  -712,  -712,
-    -712,  -712,  -712,  -712,  -712,   506,   513,  -712,  -712,  -712,
-     537,   538,   363,   375,   392,  -712,  -712,   231,   393,   541,
-     540,  -712,   396,  -712,   398,  -712,   399,  -712,  -712,  -712,
-     530,   530,   530,   404,   409,   415,   425,  -712,   426,   427,
-    -712,   430,   432,   433,  -712,  -712,   434,  -712,  -712,  -712,
-     436,    21,  -712,  -712,   444,   448,  -712,   449,  -712,  -712,
-     195,   458,  -712,  -712,  -712,   -81,   456,  -712,    21,   149,
-     459,  -712,  -712,  -712,   184,   129,   129,   542,   545,   546,
-    -712,  -712,  -712,   547,   -44,    21,   280,    20,   548,   175,
-      13,   292,   261,  -712,  -712,   553,  -712,   132,   551,   552,
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,   555,   482,
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,  -712,   219,  -712,   249,  -712,  -712,   250,  -712,
-    -712,  -712,  -712,   556,   559,   561,   562,   564,  -712,  -712,
-    -712,   265,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,  -712,  -712,  -712,   271,  -712,   563,   567,  -712,
-    -712,   565,   569,  -712,  -712,   568,   570,  -712,  -712,   575,
-     572,  -712,  -712,  -712,   163,  -712,  -712,  -712,   577,  -712,
-    -712,  -712,   333,  -712,  -712,  -712,  -712,   344,  -712,   583,
-     573,  -712,   586,   587,   588,   589,   590,   591,   274,  -712,
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,   593,   594,
-     595,  -712,  -712,   275,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,   282,  -712,  -712,  -712,   283,   457,   465,  -712,
-    -712,   596,   600,  -712,  -712,   598,   602,  -712,  -712,   601,
-     603,  -712,  -712,   604,  -712,   606,   459,  -712,  -712,   607,
-     609,   610,   611,   466,   467,   471,   472,   479,   612,   614,
-     129,  -712,  -712,    25,  -712,   542,    87,  -712,   545,   204,
-    -712,   546,    58,  -712,   547,   -44,  -712,  -712,   280,  -712,
-      20,  -712,   -30,  -712,   548,   480,   483,   487,   488,   490,
-     491,   175,  -712,   616,   617,   494,   497,   499,    13,  -712,
-     619,   621,   292,  -712,  -712,  -712,   620,   625,  -712,   174,
-    -712,   551,    15,  -712,   552,   123,  -712,   555,   626,  -712,
-     624,  -712,    59,   501,   504,   505,  -712,  -712,  -712,  -712,
-    -712,   515,   517,  -712,   286,  -712,   623,  -712,   627,  -712,
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,   290,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,   303,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,   304,   518,  -712,  -712,  -712,  -712,   535,   549,  -712,
-    -712,   550,   305,  -712,   320,  -712,   629,  -712,   554,   631,
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,  -712,    58,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,   356,
-    -712,  -712,   140,   631,  -712,  -712,   630,  -712,  -712,  -712,
-     329,  -712,  -712,  -712,  -712,  -712,   635,   539,   638,   140,
-    -712,   640,  -712,   557,  -712,   639,  -712,  -712,   391,  -712,
-     103,   639,  -712,  -712,   644,   645,   647,   335,  -712,  -712,
-    -712,  -712,  -712,  -712,   650,   500,   560,   566,   103,  -712,
-     558,  -712,  -712,  -712,  -712,  -712
+     403,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,    55,    16,    62,    73,    75,    83,
+     104,   106,   121,   133,   147,   149,   165,   181,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,    16,   -58,    14,   148,    39,    43,
+     189,    91,   308,    61,   151,   237,   -25,   305,  -744,   219,
+     155,   235,   240,   261,  -744,  -744,  -744,  -744,  -744,   292,
+    -744,    45,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,   294,   306,   307,   314,   323,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,   350,
+    -744,  -744,  -744,    46,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+     352,  -744,    89,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,   354,   362,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,   122,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,   123,  -744,  -744,  -744,  -744,  -744,
+     363,  -744,   368,   369,  -744,  -744,  -744,  -744,   152,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,   284,   335,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,   372,  -744,  -744,   373,
+    -744,  -744,  -744,   378,  -744,  -744,   382,   389,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,   391,   392,  -744,  -744,  -744,  -744,   385,   399,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,   170,  -744,  -744,  -744,  -744,  -744,   404,  -744,  -744,
+     406,  -744,   425,   426,  -744,  -744,   427,   428,   429,  -744,
+    -744,  -744,  -744,  -744,   186,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,    16,    16,  -744,   163,   430,   431,   432,   436,   438,
+    -744,    14,  -744,   441,   442,   443,   223,   295,   297,   298,
+     299,   445,   450,   451,   452,   454,   455,   457,   458,   459,
+     461,   462,   463,   464,   316,   468,   469,   148,  -744,   470,
+     320,    39,  -744,   164,   472,   476,   477,   478,   479,   332,
+     329,   482,   483,   484,   485,    43,  -744,   486,   189,  -744,
+     487,   341,   492,   344,   345,    91,  -744,   495,   497,   498,
+     499,   500,   501,   502,  -744,   308,  -744,   503,   507,   359,
+     509,   510,   511,   361,  -744,   151,   513,   364,   365,  -744,
+     237,   514,   518,   -25,  -744,   370,   523,   524,   376,   526,
+     379,   380,   530,   531,   381,   401,   405,   533,   554,   305,
+    -744,  -744,  -744,   555,   400,   556,    16,    16,    16,  -744,
+     557,   558,   559,  -744,  -744,  -744,  -744,  -744,   562,   563,
+     564,   565,    16,   566,   568,   569,   570,   571,   572,   573,
+     574,  -744,   575,   576,  -744,   579,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,   553,   567,  -744,  -744,  -744,   580,
+     581,   435,   437,   439,  -744,  -744,   334,   440,   583,   586,
+    -744,   444,  -744,   446,  -744,   447,  -744,  -744,  -744,   579,
+     579,   579,   448,   449,   453,   456,  -744,   460,   465,  -744,
+     466,   467,   471,  -744,  -744,   473,  -744,  -744,  -744,   474,
+      16,  -744,  -744,   475,   480,  -744,   481,  -744,  -744,    44,
+     488,  -744,  -744,  -744,    87,   489,  -744,    16,   148,   493,
+    -744,  -744,  -744,    39,   245,   245,   587,   588,   590,  -744,
+    -744,  -744,   595,   -34,    16,   253,    50,   596,    -3,    22,
+      96,   305,  -744,  -744,   600,  -744,   164,   599,   602,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,   604,   496,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,   198,  -744,   206,  -744,  -744,   221,  -744,  -744,
+    -744,  -744,   603,   609,   610,   611,   612,  -744,  -744,  -744,
+     229,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,   232,  -744,   584,   617,
+    -744,  -744,   616,   621,  -744,  -744,   622,   626,  -744,  -744,
+     624,   628,  -744,  -744,  -744,   131,  -744,  -744,  -744,   629,
+    -744,  -744,  -744,   220,  -744,  -744,  -744,  -744,   311,  -744,
+     630,   631,  -744,   633,   634,   635,   636,   638,   639,   244,
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,   640,
+     641,   642,  -744,  -744,  -744,  -744,   248,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,   251,  -744,  -744,  -744,   252,
+     504,   505,  -744,  -744,   643,   644,  -744,  -744,   645,   647,
+    -744,  -744,   646,   650,  -744,  -744,   651,  -744,   654,   493,
+    -744,  -744,   656,   657,   658,   659,   512,   424,   515,   516,
+     517,   660,   662,   245,  -744,  -744,    43,  -744,   587,   151,
+    -744,   588,   237,  -744,   590,    76,  -744,   595,   -34,  -744,
+    -744,   253,  -744,    50,  -744,   -25,  -744,   596,   519,   520,
+     521,   522,   525,   527,    -3,  -744,   663,   665,   528,   529,
+     532,    22,  -744,   672,   673,    96,  -744,  -744,  -744,   648,
+     652,  -744,   189,  -744,   599,    91,  -744,   602,   308,  -744,
+     604,   679,  -744,   681,  -744,   288,   537,   540,   543,  -744,
+    -744,  -744,  -744,  -744,   545,   546,  -744,   254,  -744,   676,
+    -744,   692,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,   255,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,   279,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,   309,   552,  -744,  -744,  -744,  -744,
+     560,   577,  -744,  -744,   582,   280,  -744,   282,  -744,   700,
+    -744,   585,   703,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,    76,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,   331,  -744,  -744,   312,   703,  -744,  -744,   712,
+    -744,  -744,  -744,  -744,  -744,   283,  -744,  -744,  -744,  -744,
+    -744,   713,   578,   715,   312,  -744,   718,  -744,   589,  -744,
+     719,  -744,  -744,   342,  -744,   -72,   719,  -744,  -744,   716,
+     724,   728,   296,  -744,  -744,  -744,  -744,  -744,  -744,   729,
+     591,   592,   594,   -72,  -744,   598,  -744,  -744,  -744,  -744,
+    -744
   };
 
   const unsigned short int
@@ -3679,362 +3681,378 @@ namespace isc { namespace dhcp {
       20,    22,    24,    26,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     1,    43,
       36,    32,    31,    28,    29,    30,    35,     3,    33,    34,
-      56,     5,    68,     7,   104,     9,   217,    11,   358,    13,
-     381,    15,   409,    17,   283,    19,   291,    21,   328,    23,
-     182,    25,   495,    27,    45,    39,     0,     0,     0,     0,
-       0,     0,   411,     0,   293,   330,     0,     0,    47,     0,
-      46,     0,     0,    40,    66,   548,   542,   544,   546,     0,
-      65,     0,    58,    60,    62,    63,    64,    61,   102,   113,
-     115,     0,     0,     0,     0,     0,   209,   281,   320,   369,
-     371,   255,   155,   172,   163,   442,   174,   193,   461,     0,
-     483,   493,    96,     0,    70,    72,    73,    74,    75,    76,
+      56,     5,    68,     7,   104,     9,   224,    11,   365,    13,
+     388,    15,   416,    17,   290,    19,   298,    21,   335,    23,
+     187,    25,   506,    27,    45,    39,     0,     0,     0,     0,
+       0,     0,   418,     0,   300,   337,     0,     0,    47,     0,
+      46,     0,     0,    40,    66,   561,   555,   557,   559,     0,
+      65,     0,    58,    60,    62,    63,    64,    61,   102,   116,
+     118,     0,     0,     0,     0,     0,   216,   288,   327,   376,
+     378,   262,   160,   177,   168,   451,   179,   200,   470,     0,
+     494,   504,    96,     0,    70,    72,    73,    74,    75,    76,
       79,    80,    81,    82,    84,    83,    88,    89,    77,    78,
-      86,    87,    94,    95,    85,    90,    91,    92,    93,   110,
-       0,     0,   106,   108,   109,   446,   350,   373,   240,   242,
-     244,     0,     0,   248,   246,   401,   438,   239,   221,   222,
-     223,   224,     0,   219,   228,   229,   230,   233,   235,   231,
-     232,   225,   226,   237,   238,   227,   234,   236,   367,   366,
-     363,     0,   360,   362,   364,   365,   394,     0,   397,     0,
-       0,   393,   388,   391,   392,     0,   383,   385,   386,   389,
-     390,   387,   436,   424,   426,   428,   430,   432,   434,   423,
-     422,     0,   412,   413,   417,   418,   415,   419,   420,   421,
-     416,     0,   310,   145,     0,   314,   312,   317,     0,   306,
-     307,     0,   294,   295,   297,   309,   298,   299,   300,   316,
-     301,   302,   303,   304,   305,   344,     0,     0,   342,   343,
-     346,   347,     0,   331,   332,   334,   335,   336,   337,   338,
-     339,   340,   341,   189,   191,   186,     0,   184,   187,   188,
-       0,   515,   517,     0,   520,     0,     0,   524,   528,     0,
-       0,     0,   533,   540,   513,     0,   497,   499,   500,   501,
-     502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
-     512,    44,     0,     0,    37,     0,     0,     0,     0,     0,
-       0,    55,     0,    57,     0,     0,     0,     0,     0,     0,
+      86,    87,    94,    95,    85,    90,    91,    92,    93,   113,
+       0,   112,     0,   106,   108,   109,   110,   111,   455,   357,
+     380,   247,   249,   251,     0,     0,   255,   253,   408,   447,
+     246,   228,   229,   230,   231,     0,   226,   235,   236,   237,
+     240,   242,   238,   239,   232,   233,   244,   245,   234,   241,
+     243,   374,   373,   370,     0,   367,   369,   371,   372,   401,
+       0,   404,     0,     0,   400,   395,   398,   399,     0,   390,
+     392,   393,   396,   397,   394,   445,   433,   435,   437,   439,
+     441,   443,   432,   429,   430,   431,     0,   419,   420,   424,
+     425,   422,   426,   427,   428,   423,     0,   317,   150,     0,
+     321,   319,   324,     0,   313,   314,     0,   301,   302,   304,
+     316,   305,   306,   307,   323,   308,   309,   310,   311,   312,
+     351,     0,     0,   349,   350,   353,   354,     0,   338,   339,
+     341,   342,   343,   344,   345,   346,   347,   348,   196,   198,
+     195,     0,   189,   191,   192,   193,   194,     0,   528,   530,
+       0,   533,     0,     0,   537,   541,     0,     0,     0,   546,
+     553,   526,   524,   525,     0,   508,   510,   511,   512,   513,
+     514,   515,   516,   517,   518,   519,   520,   521,   522,   523,
+      44,     0,     0,    37,     0,     0,     0,     0,     0,     0,
+      55,     0,    57,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    69,
-       0,     0,     0,   105,   448,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   218,     0,     0,
-     359,     0,     0,     0,     0,     0,     0,   382,     0,     0,
-       0,     0,     0,     0,     0,   410,     0,   284,     0,     0,
-       0,     0,     0,     0,     0,   292,     0,     0,     0,     0,
-     329,     0,     0,     0,     0,   183,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    69,     0,
+       0,     0,   105,   457,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   225,     0,     0,   366,
+       0,     0,     0,     0,     0,     0,   389,     0,     0,     0,
+       0,     0,     0,     0,   417,     0,   291,     0,     0,     0,
+       0,     0,     0,     0,   299,     0,     0,     0,     0,   336,
+       0,     0,     0,     0,   188,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   496,    48,    41,     0,     0,     0,     0,     0,     0,
-      59,     0,     0,     0,    97,    98,    99,   100,   101,     0,
+     507,    48,    41,     0,     0,     0,     0,     0,     0,    59,
+       0,     0,     0,    97,    98,    99,   100,   101,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   482,     0,     0,    71,     0,   112,   107,   459,
-     457,   458,   454,   455,   456,     0,   449,   450,   452,   453,
-       0,     0,     0,     0,     0,   253,   254,     0,     0,     0,
-       0,   220,     0,   361,     0,   396,     0,   399,   400,   384,
-       0,     0,     0,     0,     0,     0,     0,   414,     0,     0,
-     308,     0,     0,     0,   319,   296,     0,   348,   349,   333,
-       0,     0,   185,   514,     0,     0,   519,     0,   522,   523,
-       0,     0,   530,   531,   532,     0,     0,   498,     0,     0,
-       0,   543,   545,   547,     0,     0,     0,   211,   285,   322,
-      38,   370,   372,   257,     0,    45,     0,     0,   176,     0,
-       0,     0,     0,    49,   111,     0,   447,     0,   352,   375,
-     241,   243,   245,   250,   251,   252,   249,   247,   403,     0,
-     368,   395,   398,   437,   425,   427,   429,   431,   433,   435,
-     311,   146,   315,   313,   318,   345,   190,   192,   516,   518,
-     521,   526,   527,   525,   529,   535,   536,   537,   538,   539,
-     534,   541,    42,     0,   553,     0,   550,   552,     0,   132,
-     138,   140,   142,     0,     0,     0,     0,     0,   151,   153,
-     131,     0,   117,   119,   120,   121,   122,   123,   124,   125,
-     126,   127,   128,   129,   130,     0,   215,     0,   212,   213,
-     289,     0,   286,   287,   326,     0,   323,   324,   261,     0,
-     258,   259,   161,   162,     0,   157,   159,   160,     0,   170,
-     171,   167,     0,   165,   168,   169,   444,     0,   180,     0,
-     177,   178,     0,     0,     0,     0,     0,     0,     0,   195,
-     197,   198,   199,   200,   201,   202,   472,   478,     0,     0,
-       0,   471,   470,     0,   463,   465,   468,   466,   467,   469,
-     489,   491,     0,   485,   487,   488,     0,    51,     0,   451,
-     356,     0,   353,   354,   379,     0,   376,   377,   407,     0,
-     404,   405,   440,     0,    67,     0,     0,   549,   103,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   114,   116,     0,   210,     0,   293,   282,     0,   330,
-     321,     0,     0,   256,     0,     0,   156,   173,     0,   164,
-       0,   443,     0,   175,     0,     0,     0,     0,     0,     0,
-       0,     0,   194,     0,     0,     0,     0,     0,     0,   462,
-       0,     0,     0,   484,   494,    53,     0,    52,   460,     0,
-     351,     0,     0,   374,     0,   411,   402,     0,     0,   439,
-       0,   551,     0,     0,     0,     0,   144,   147,   148,   149,
-     150,     0,     0,   118,     0,   214,     0,   288,     0,   325,
-     280,   275,   277,   269,   270,   265,   266,   267,   268,   274,
-     273,   276,     0,   263,   271,   278,   279,   272,   260,   158,
-     166,   445,     0,   179,   203,   204,   205,   206,   207,   208,
-     196,     0,     0,   477,   480,   481,   464,     0,     0,   486,
-      50,     0,     0,   355,     0,   378,     0,   406,     0,     0,
-     134,   135,   136,   137,   133,   139,   141,   143,   152,   154,
-     216,   290,   327,     0,   262,   181,   474,   475,   476,   473,
-     479,   490,   492,    54,   357,   380,   408,   441,   557,     0,
-     555,   264,     0,     0,   554,   569,     0,   567,   565,   561,
-       0,   559,   563,   564,   562,   556,     0,     0,     0,     0,
-     558,     0,   566,     0,   560,     0,   568,   573,     0,   571,
-       0,     0,   570,   581,     0,     0,     0,     0,   575,   577,
-     578,   579,   580,   572,     0,     0,     0,     0,     0,   574,
-       0,   583,   584,   585,   576,   582
+       0,   493,     0,     0,    71,     0,   115,   107,   468,   466,
+     467,   463,   464,   465,     0,   458,   459,   461,   462,     0,
+       0,     0,     0,     0,   260,   261,     0,     0,     0,     0,
+     227,     0,   368,     0,   403,     0,   406,   407,   391,     0,
+       0,     0,     0,     0,     0,     0,   421,     0,     0,   315,
+       0,     0,     0,   326,   303,     0,   355,   356,   340,     0,
+       0,   190,   527,     0,     0,   532,     0,   535,   536,     0,
+       0,   543,   544,   545,     0,     0,   509,     0,     0,     0,
+     556,   558,   560,     0,     0,     0,   218,   292,   329,    38,
+     377,   379,   264,     0,    45,     0,     0,   181,     0,     0,
+       0,     0,    49,   114,     0,   456,     0,   359,   382,   248,
+     250,   252,   257,   258,   259,   256,   254,   410,     0,   375,
+     402,   405,   446,   434,   436,   438,   440,   442,   444,   318,
+     151,   322,   320,   325,   352,   197,   199,   529,   531,   534,
+     539,   540,   538,   542,   548,   549,   550,   551,   552,   547,
+     554,    42,     0,   566,     0,   563,   565,     0,   137,   143,
+     145,   147,     0,     0,     0,     0,     0,   156,   158,   136,
+       0,   120,   122,   123,   124,   125,   126,   127,   128,   129,
+     130,   131,   132,   133,   134,   135,     0,   222,     0,   219,
+     220,   296,     0,   293,   294,   333,     0,   330,   331,   268,
+       0,   265,   266,   166,   167,     0,   162,   164,   165,     0,
+     175,   176,   172,     0,   170,   173,   174,   453,     0,   185,
+       0,   182,   183,     0,     0,     0,     0,     0,     0,     0,
+     202,   204,   205,   206,   207,   208,   209,   483,   489,     0,
+       0,     0,   482,   479,   480,   481,     0,   472,   474,   477,
+     475,   476,   478,   500,   502,     0,   496,   498,   499,     0,
+      51,     0,   460,   363,     0,   360,   361,   386,     0,   383,
+     384,   414,     0,   411,   412,   449,     0,    67,     0,     0,
+     562,   103,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   117,   119,     0,   217,     0,   300,
+     289,     0,   337,   328,     0,     0,   263,     0,     0,   161,
+     178,     0,   169,     0,   452,     0,   180,     0,     0,     0,
+       0,     0,     0,     0,     0,   201,     0,     0,     0,     0,
+       0,     0,   471,     0,     0,     0,   495,   505,    53,     0,
+      52,   469,     0,   358,     0,     0,   381,     0,   418,   409,
+       0,     0,   448,     0,   564,     0,     0,     0,     0,   149,
+     152,   153,   154,   155,     0,     0,   121,     0,   221,     0,
+     295,     0,   332,   287,   282,   284,   276,   277,   272,   273,
+     274,   275,   281,   280,   283,     0,   270,   278,   285,   286,
+     279,   267,   163,   171,   454,     0,   184,   210,   211,   212,
+     213,   214,   215,   203,     0,     0,   488,   491,   492,   473,
+       0,     0,   497,    50,     0,     0,   362,     0,   385,     0,
+     413,     0,     0,   139,   140,   141,   142,   138,   144,   146,
+     148,   157,   159,   223,   297,   334,     0,   269,   186,   485,
+     486,   487,   484,   490,   501,   503,    54,   364,   387,   415,
+     450,   570,     0,   568,   271,     0,     0,   567,   584,     0,
+     582,   580,   574,   578,   579,     0,   572,   576,   577,   575,
+     569,     0,     0,     0,     0,   571,     0,   581,     0,   573,
+       0,   583,   588,     0,   586,     0,     0,   585,   596,     0,
+       0,     0,     0,   590,   592,   593,   594,   595,   587,     0,
+       0,     0,     0,     0,   589,     0,   598,   599,   600,   591,
+     597
   };
 
   const short int
   Dhcp6Parser::yypgoto_[] =
   {
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,  -712,  -712,  -712,     9,  -712,   216,  -712,  -712,
-    -712,  -712,  -712,  -712,   114,  -712,   -89,  -712,  -712,  -712,
-     -66,  -712,  -712,  -712,   341,  -712,  -712,  -712,  -712,   136,
-     312,   -67,   -62,   -54,   -48,  -712,  -712,  -712,  -712,  -712,
-     127,   310,  -712,  -712,  -712,  -712,  -712,  -712,  -712,   137,
-     -76,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,   -74,  -712,  -538,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,  -712,  -712,   -87,  -533,  -712,  -712,  -712,  -712,
-     -86,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,   -93,
-    -712,  -712,  -712,   -83,   289,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,   -68,  -712,  -712,  -712,  -712,  -712,  -712,  -711,
-    -712,  -712,  -712,   -63,  -712,  -712,  -712,   -59,   349,  -712,
-    -712,  -705,  -712,  -692,  -712,  -531,  -712,  -691,  -712,  -712,
-    -712,  -690,  -712,  -712,  -712,  -712,   -49,  -712,  -712,  -176,
-     643,  -712,  -712,  -712,  -712,  -712,   -28,  -712,  -712,  -712,
-     -25,  -712,   328,  -712,   -61,  -712,  -712,  -712,  -712,  -712,
-     -50,  -712,  -712,  -712,  -712,  -712,   -21,  -712,  -712,  -712,
-     -33,  -712,  -712,  -712,   -24,  -712,   326,  -712,  -712,  -712,
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,   -58,  -712,
-    -712,  -712,   -57,   359,  -712,  -712,   -52,  -712,   -35,  -712,
-    -712,  -712,  -712,  -712,   -64,  -712,  -712,  -712,   -56,   358,
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,   -55,  -712,  -712,  -712,   -60,  -712,   352,  -712,  -712,
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,  -688,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,   182,  -712,  -712,  -712,  -712,  -712,  -712,   -37,
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,   -39,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,   192,   327,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,
-    -712,  -712,  -712,  -712,  -712,    19,  -712,  -712,  -712,  -157,
-    -712,  -712,  -171,  -712,  -712,  -712,  -712,  -712,  -712,  -182,
-    -712,  -712,  -198,  -712,  -712,  -712,  -712,  -712
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,     1,  -744,   197,  -744,  -744,
+    -744,  -744,  -744,  -744,   184,  -744,   -73,  -744,  -744,  -744,
+     -66,  -744,  -744,  -744,   412,  -744,  -744,  -744,  -744,   210,
+     387,   -62,   -54,   -51,   -50,  -744,  -744,  -744,  -744,  -744,
+     192,   390,  -744,  -744,  -744,  -744,  -744,  -744,  -744,   208,
+       4,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,   -74,  -744,  -547,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,   -14,  -538,  -744,  -744,  -744,  -744,
+     -11,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,   -13,
+    -744,  -744,  -744,   -12,   353,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,   -16,  -744,  -744,  -744,  -744,  -744,  -744,  -743,
+    -744,  -744,  -744,    11,  -744,  -744,  -744,    18,   397,  -744,
+    -744,  -735,  -744,  -721,  -744,  -543,  -744,  -720,  -744,  -744,
+    -744,  -719,  -744,  -744,  -744,  -744,     8,  -744,  -744,  -120,
+     704,  -744,  -744,  -744,  -744,  -744,    17,  -744,  -744,  -744,
+      20,  -744,   375,  -744,   -61,  -744,  -744,  -744,  -744,  -744,
+     -55,  -744,  -744,  -744,  -744,  -744,   -43,  -744,  -744,  -744,
+      19,  -744,  -744,  -744,    23,  -744,   371,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,   -22,  -744,
+    -744,  -744,   -18,   408,  -744,  -744,   -35,  -744,    -4,  -744,
+    -744,  -744,  -744,  -744,   -19,  -744,  -744,  -744,   -15,   407,
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,   -21,  -744,  -744,  -744,   -17,  -744,   398,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,  -709,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,   228,  -744,  -744,  -744,  -744,  -744,  -744,     5,
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,     0,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,   236,   374,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
+    -744,  -744,  -744,  -744,  -744,    60,  -744,  -744,  -744,  -116,
+    -744,  -744,  -132,  -744,  -744,  -744,  -744,  -744,  -744,  -141,
+    -744,  -744,  -157,  -744,  -744,  -744,  -744,  -744
   };
 
   const short int
   Dhcp6Parser::yydefgoto_[] =
   {
       -1,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      23,    24,    25,    26,    27,    78,    37,    38,    65,   541,
-      82,    83,    39,    64,    79,    80,   554,   707,   786,   787,
-     122,    41,    66,    91,    92,    93,   316,    43,    67,   123,
-     124,   125,   126,   127,   128,   129,   130,   324,    45,    68,
-     151,   152,   153,   350,   154,   131,   325,   132,   326,   621,
-     622,   623,   729,   874,   624,   730,   625,   731,   626,   732,
-     627,   240,   389,   629,   630,   631,   632,   633,   738,   634,
-     739,   133,   338,   654,   655,   656,   657,   134,   340,   662,
-     663,   664,   665,   135,   339,   136,   342,   669,   670,   671,
-     762,    61,    76,   276,   277,   278,   402,   279,   403,   137,
-     343,   678,   679,   680,   681,   682,   683,   684,   685,   138,
-     332,   637,   638,   639,   743,    47,    69,   172,   173,   174,
-     357,   175,   358,   176,   359,   177,   363,   178,   362,   566,
-     179,   180,   139,   337,   649,   650,   651,   752,   832,   833,
-     140,   333,    55,    73,   641,   642,   643,   746,    57,    74,
-     241,   242,   243,   244,   245,   246,   247,   388,   248,   392,
-     249,   391,   250,   251,   393,   252,   141,   334,   645,   646,
-     647,   749,    59,    75,   262,   263,   264,   265,   266,   397,
-     267,   268,   269,   270,   182,   355,   711,   712,   713,   789,
-      49,    70,   191,   192,   193,   368,   142,   335,   143,   336,
-     185,   356,   715,   716,   717,   792,    51,    71,   205,   206,
-     207,   371,   208,   209,   373,   210,   211,   186,   364,   719,
-     720,   721,   795,    53,    72,   221,   222,   223,   224,   379,
-     225,   380,   226,   381,   227,   382,   228,   383,   229,   384,
-     230,   378,   187,   365,   723,   798,   144,   341,   667,   354,
-     465,   466,   467,   468,   469,   555,   145,   344,   693,   694,
-     695,   773,   889,   696,   697,   774,   698,   699,   146,   147,
-     346,   702,   703,   704,   780,   705,   781,   148,   347,    63,
-      77,   295,   296,   297,   298,   407,   299,   408,   300,   301,
-     410,   302,   303,   304,   413,   593,   305,   414,   306,   307,
-     308,   309,   418,   600,   310,   419,    94,   318,    95,   319,
-      96,   320,    97,   317,   605,   606,   607,   725,   899,   900,
-     902,   910,   911,   912,   913,   918,   914,   916,   928,   929,
-     930,   937,   938,   939,   944,   940,   941,   942
+      23,    24,    25,    26,    27,    78,    37,    38,    65,   550,
+      82,    83,    39,    64,    79,    80,   563,   720,   799,   800,
+     122,    41,    66,    91,    92,    93,   325,    43,    67,   123,
+     124,   125,   126,   127,   128,   129,   130,   333,    45,    68,
+     152,   153,   154,   359,   155,   131,   334,   132,   335,   630,
+     631,   632,   742,   887,   633,   743,   634,   744,   635,   745,
+     636,   245,   398,   638,   639,   640,   641,   642,   751,   643,
+     752,   133,   347,   665,   666,   667,   668,   134,   349,   673,
+     674,   675,   676,   135,   348,   136,   351,   680,   681,   682,
+     775,    61,    76,   281,   282,   283,   411,   284,   412,   137,
+     352,   689,   690,   691,   692,   693,   694,   695,   696,   138,
+     341,   648,   649,   650,   756,    47,    69,   175,   176,   177,
+     366,   178,   367,   179,   368,   180,   372,   181,   371,   575,
+     182,   183,   139,   346,   660,   661,   662,   765,   845,   846,
+     140,   342,    55,    73,   652,   653,   654,   759,    57,    74,
+     246,   247,   248,   249,   250,   251,   252,   397,   253,   401,
+     254,   400,   255,   256,   402,   257,   141,   343,   656,   657,
+     658,   762,    59,    75,   267,   268,   269,   270,   271,   406,
+     272,   273,   274,   275,   185,   364,   724,   725,   726,   802,
+      49,    70,   194,   195,   196,   377,   142,   344,   143,   345,
+     188,   365,   728,   729,   730,   805,    51,    71,   208,   209,
+     210,   380,   211,   212,   382,   213,   214,   189,   373,   732,
+     733,   734,   808,    53,    72,   226,   227,   228,   229,   388,
+     230,   389,   231,   390,   232,   391,   233,   392,   234,   393,
+     235,   387,   190,   374,   736,   811,   144,   350,   678,   363,
+     474,   475,   476,   477,   478,   564,   145,   353,   706,   707,
+     708,   786,   902,   709,   710,   787,   711,   712,   146,   147,
+     355,   715,   716,   717,   793,   718,   794,   148,   356,    63,
+      77,   304,   305,   306,   307,   416,   308,   417,   309,   310,
+     419,   311,   312,   313,   422,   602,   314,   423,   315,   316,
+     317,   318,   427,   609,   319,   428,    94,   327,    95,   328,
+      96,   329,    97,   326,   614,   615,   616,   738,   912,   913,
+     915,   925,   926,   927,   928,   933,   929,   931,   943,   944,
+     945,   952,   953,   954,   959,   955,   956,   957
   };
 
   const unsigned short int
   Dhcp6Parser::yytable_[] =
   {
-      90,   259,   168,   167,   189,   201,   219,   169,   239,   258,
-     275,   294,   692,   661,   260,   170,   666,   183,   194,   203,
-      84,   171,   253,   271,    36,   261,    29,   155,    30,   686,
-      31,    28,   155,   652,   184,   195,   204,    40,   614,   254,
-     272,   826,   595,   596,   597,   598,    42,   827,   181,   190,
-     202,   220,    44,   108,   273,   274,   101,   102,   103,   104,
-     828,   830,   831,   108,   837,   155,   196,   197,   198,   199,
-     200,   109,   110,   156,   599,   157,   870,   871,   872,   873,
-      46,   109,   110,   158,   159,   160,   161,   162,   163,   101,
-     102,   103,   104,   164,   106,   322,   108,   233,   164,   165,
-     323,    48,   348,   232,   352,    50,   166,   349,   653,   353,
-     687,   688,   689,   690,   109,   110,    52,   159,   160,   366,
-     162,   163,    89,    81,   367,   369,   233,    54,   234,   235,
-     370,   164,   236,   237,   238,    56,   376,    85,    58,   166,
-     311,   377,    60,   109,   110,   609,    86,    87,    88,    62,
-     610,   611,   612,   613,   614,   615,   616,   617,   618,   619,
-      98,   108,    89,    99,   100,    89,   755,    89,   233,   756,
-     108,   233,   826,    32,    33,    34,    35,    89,   827,   233,
-     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
-     107,   828,   830,   831,   212,   837,   149,   150,   213,   214,
-     215,   216,   217,   218,   459,   109,   110,   313,   404,   420,
-      89,   312,   108,   405,   421,   314,   111,   112,   113,   114,
-     115,   829,   348,   188,   315,   661,   321,   724,   327,   841,
-     109,   110,   116,   933,   328,   117,   934,   935,   936,    89,
-     692,   329,   118,   233,   255,   234,   235,   256,   257,   330,
-     119,   120,   726,   352,   121,   331,    90,   727,   728,   345,
-     109,   110,   672,   673,   674,   675,   676,   677,   740,   905,
-     351,   906,   907,   741,   740,    89,   360,   771,   778,   742,
-     461,    89,   772,   779,    89,   782,   420,   386,   460,   366,
-     783,   784,    89,   883,   880,   563,   564,   565,   884,   168,
-     167,    89,   463,   189,   169,   361,   404,   385,   369,   396,
-     201,   885,   170,   894,   183,   591,   592,   194,   171,   464,
-     219,   422,   423,   376,   203,   372,    89,   259,   895,   374,
-     239,   184,   919,   462,   195,   258,   758,   920,   948,   759,
-     260,   204,   375,   949,   253,   181,   390,   760,   190,   271,
-     761,   261,   829,   387,   294,   202,    89,   652,   659,   903,
-     660,   254,   904,   273,   274,   220,   272,   280,   281,   282,
-     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
-     293,     1,     2,     3,     4,     5,     6,     7,     8,     9,
-      10,    11,    12,    13,   931,   700,   701,   932,   886,   887,
-     888,   573,   574,   575,   394,   395,   398,   399,   401,   400,
-     406,   409,   411,    89,   412,   415,   416,   417,   425,   424,
-     426,   427,   428,   429,   431,   432,   433,   439,   440,   434,
-     435,   436,   441,   442,   437,   443,   531,   532,   533,   444,
-     438,   445,   446,   447,   448,   449,   450,   451,   452,   453,
-     454,   456,   542,   457,   470,   471,   472,   473,   474,   477,
-     475,   628,   628,   476,   478,   479,   480,   482,   484,   620,
-     620,   485,   486,   490,   491,   487,   488,   492,   493,   494,
-     495,   496,   498,   461,   691,   499,   294,   500,   501,   502,
-     503,   460,   504,   506,   507,   508,   510,   511,   513,   514,
-     515,   516,   517,   518,   519,   463,   520,   521,   522,   523,
-     524,   525,   526,   528,   556,   560,   557,   529,   530,   534,
-     587,   535,   464,   536,   537,   538,   539,   561,   543,    30,
-     544,   545,   546,   547,   548,   553,   462,   602,   549,   550,
-     551,   552,   558,   559,   562,   567,   568,   569,   570,   636,
-     571,   572,   640,   644,   648,   668,   576,   708,   710,   714,
-     733,   577,   718,   734,   722,   735,   736,   578,   737,   744,
-     745,   747,   748,   751,   750,   754,   764,   579,   580,   581,
-     594,   753,   582,   757,   583,   584,   585,   604,   586,   763,
-     765,   766,   767,   768,   769,   770,   588,   775,   776,   777,
-     589,   590,   790,   791,   793,   794,   797,   796,   601,   785,
-     800,   802,   799,   803,   804,   805,   811,   788,   812,   806,
-     851,   852,   807,   857,   808,   858,   860,   809,   861,   869,
-     868,   881,   810,   844,   917,   882,   845,   896,   898,   921,
-     846,   847,   923,   848,   849,   925,   927,   853,   945,   946,
-     854,   947,   855,   875,   950,   951,   876,   877,   540,   658,
-     455,   608,   458,   430,   813,   603,   628,   878,   839,   879,
-     890,   843,   840,   635,   620,   259,   168,   167,   825,   842,
-     239,   169,   815,   258,   814,   821,   820,   891,   260,   170,
-     822,   183,   922,   512,   253,   171,   275,   271,   823,   261,
-     835,   892,   893,   850,   824,   838,   897,   901,   184,   926,
-     955,   254,   691,   952,   272,   481,   231,   836,   819,   953,
-     817,   816,   181,   189,   505,   818,   201,   509,   483,   219,
-     865,   834,   862,   863,   489,   866,   864,   194,   497,   709,
-     203,   856,   867,   859,   706,   801,   915,   527,   924,   943,
-     954,     0,     0,     0,   195,     0,     0,   204,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   190,     0,
-       0,   202,     0,     0,   220,     0,     0,     0,     0,     0,
+      90,   264,   151,   170,   192,   204,   222,   171,   244,   263,
+     280,   301,   703,   677,   265,   172,    36,   672,   173,   174,
+     266,    29,   839,    30,    84,    31,   184,   193,   205,   223,
+     840,   109,   110,   156,   186,   197,   206,   224,   697,   258,
+     276,   285,   302,   663,   841,   843,   844,   623,   331,   357,
+     158,   149,   150,   332,   358,    28,   850,   158,   948,   278,
+     279,   949,   950,   951,   157,   187,   198,   207,   225,    40,
+     259,   277,   286,   303,   101,   102,   103,   104,   109,   110,
+      42,   108,    44,   158,   683,   684,   685,   686,   687,   688,
+      46,   159,   361,   160,    81,   109,   110,   362,   107,   109,
+     110,   161,   162,   163,   164,   165,   166,   101,   102,   103,
+     104,    48,   106,    50,   108,   238,   167,   168,   664,   698,
+     699,   700,   701,   167,   169,   375,   378,    89,    52,   108,
+     376,   379,   109,   110,   768,   162,   163,   769,   165,   166,
+      54,    85,   199,   200,   201,   202,   203,   109,   110,   167,
+      86,    87,    88,   839,    56,   385,    58,   169,   321,    98,
+     386,   840,    99,   100,   600,   601,    89,   237,    32,    33,
+      34,    35,    60,   413,    89,   841,   843,   844,   414,   101,
+     102,   103,   104,   105,   106,   107,   108,   850,    62,   429,
+     238,    89,   239,   240,   430,    89,   241,   242,   243,   713,
+     714,   357,   108,   238,   109,   110,   737,   109,   110,   739,
+     604,   605,   606,   607,   740,   111,   112,   113,   114,   115,
+     109,   110,   842,   771,   361,   320,   772,   108,    89,   741,
+     854,   116,   753,   672,   117,   753,   468,   754,   191,   322,
+     755,   118,   608,    89,   703,   109,   110,   784,   323,   119,
+     120,   791,   785,   121,   795,   429,   792,   375,   896,   796,
+     797,   618,   893,   897,   324,    90,   619,   620,   621,   622,
+     623,   624,   625,   626,   627,   628,   238,   260,   239,   240,
+     261,   262,   413,   378,   238,   385,   934,   898,   907,   470,
+     908,   935,   394,   109,   110,   151,   330,   469,   336,   963,
+      89,   109,   110,    89,   964,   883,   884,   885,   886,   170,
+     337,   338,   192,   171,   773,   433,    89,   774,   339,   204,
+     471,   172,   431,   432,   173,   174,   156,   340,   472,   222,
+     663,   670,   184,   671,   916,   193,   264,   917,   395,   244,
+     186,    89,   205,   197,   263,   946,   108,   280,   947,   265,
+     206,   238,   223,   842,   354,   266,   360,   157,   369,   473,
+     224,   109,   110,   301,   109,   110,   370,   381,   109,   110,
+     258,   187,   383,   384,   198,   276,   443,   399,   285,   215,
+     396,   207,   403,   216,   217,   218,   219,   220,   221,    89,
+     404,   225,   405,   409,   302,   407,   408,    89,   572,   573,
+     574,   259,   410,   899,   900,   901,   277,   538,   415,   286,
+     418,   287,   288,   289,   290,   291,   292,   293,   294,   295,
+     296,   297,   298,   299,   300,   303,   582,   583,   584,   420,
+     421,   424,   425,   426,   434,   435,   436,   540,   541,   542,
+     437,   918,   438,   919,   920,   440,   441,   442,   444,   448,
+     445,   446,   447,   551,   449,   450,   451,    89,   452,   453,
+      89,   454,   455,   456,    89,   457,   458,   459,   460,   461,
+     637,   637,   462,   463,   465,   466,   479,   151,   629,   629,
+     480,   481,   482,   483,   485,   484,   486,   487,   488,   489,
+     491,   493,   470,   702,   494,   301,   495,   496,   497,   499,
+     469,   500,   501,   502,   503,   504,   505,   507,   156,   644,
+     644,   508,   509,   510,   511,   512,   513,   515,   519,   516,
+     517,   596,   520,   471,   704,   522,   302,   523,   524,   525,
+     526,   472,   527,   528,   529,   530,   531,   534,   611,   157,
+     645,   645,     1,     2,     3,     4,     5,     6,     7,     8,
+       9,    10,    11,    12,    13,   705,   532,   303,   535,   537,
+     533,   565,   473,   539,   543,   544,   545,   546,   547,   548,
+     566,   552,    30,   553,   554,   555,   556,   557,   735,   820,
+     558,   559,   560,   561,   562,   567,   568,   569,   577,   570,
+     757,   571,   576,   578,   647,   651,   579,   655,   580,   581,
+     585,   586,   659,   679,   721,   587,   723,   746,   588,   727,
+     603,   731,   589,   747,   748,   749,   750,   590,   591,   592,
+     758,   613,   760,   593,   761,   594,   595,   597,   763,   764,
+     766,   767,   598,   599,   777,   770,   776,   778,   779,   780,
+     781,   610,   782,   783,   788,   789,   790,   804,   549,   803,
+     807,   806,   809,   810,   873,   874,   798,   801,   813,   812,
+     815,   816,   817,   818,   824,   819,   825,   864,   821,   865,
+     823,   822,   857,   858,   859,   860,   870,   871,   861,   637,
+     862,   866,   867,   881,   894,   868,   882,   629,   264,   888,
+     170,   838,   889,   244,   171,   890,   263,   891,   892,   833,
+     895,   265,   172,   834,   903,   173,   174,   266,   909,   280,
+     911,   835,   904,   184,   836,   837,   932,   936,   644,   938,
+     960,   186,   847,   940,   258,   702,   942,   276,   961,   905,
+     848,   937,   962,   965,   906,   617,   192,   910,   669,   204,
+     285,   941,   222,   439,   464,   967,   966,   968,   612,   645,
+     970,   467,   187,   646,   852,   259,   704,   826,   277,   193,
+     853,   849,   205,   855,   856,   223,   521,   197,   863,   828,
+     206,   286,   490,   224,   827,   851,   914,   236,   830,   829,
+     514,   518,   876,   832,   875,   831,   492,   705,   878,   880,
+     877,   879,   498,   506,   722,   872,   869,   719,   198,   814,
+     930,   207,   939,   536,   225,   958,   969,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   838,     0,     0,     0,     0,     0,     0,     0,
+     833,     0,     0,     0,   834,     0,     0,     0,     0,     0,
+       0,   922,   835,     0,     0,   836,   837,     0,     0,   921,
+       0,     0,     0,   847,     0,     0,     0,     0,     0,     0,
+     922,   848,     0,     0,     0,     0,     0,     0,   921,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     923,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   849,     0,     0,     0,     0,     0,     0,   923,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   924,     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,   825,
-       0,     0,     0,     0,     0,     0,   821,   820,     0,     0,
-       0,   822,     0,     0,     0,     0,     0,     0,   909,   823,
-       0,   835,     0,     0,     0,   824,   908,     0,     0,     0,
-       0,     0,     0,     0,     0,   909,     0,     0,   836,     0,
-       0,     0,     0,   908,     0,     0,     0,     0,     0,     0,
-       0,     0,   834
+     924
   };
 
   const short int
   Dhcp6Parser::yycheck_[] =
   {
-      66,    75,    69,    69,    70,    71,    72,    69,    74,    75,
-      76,    77,   550,   546,    75,    69,   547,    69,    70,    71,
-      10,    69,    74,    75,    15,    75,     5,     7,     7,    16,
-       9,     0,     7,    77,    69,    70,    71,     7,    25,    74,
-      75,   752,   123,   124,   125,   126,     7,   752,    69,    70,
-      71,    72,     7,    38,    84,    85,    31,    32,    33,    34,
-     752,   752,   752,    38,   752,     7,    51,    52,    53,    54,
-      55,    56,    57,    48,   155,    50,    17,    18,    19,    20,
-       7,    56,    57,    58,    59,    60,    61,    62,    63,    31,
-      32,    33,    34,    73,    36,     3,    38,    39,    73,    74,
-       8,     7,     3,    16,     3,     7,    81,     8,   152,     8,
-      97,    98,    99,   100,    56,    57,     7,    59,    60,     3,
-      62,    63,   152,   152,     8,     3,    39,     7,    41,    42,
-       8,    73,    45,    46,    47,     7,     3,   127,     7,    81,
-       6,     8,     7,    56,    57,    16,   136,   137,   138,     7,
-      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
-      11,    38,   152,    14,    15,   152,     3,   152,    39,     6,
-      38,    39,   883,   152,   153,   154,   155,   152,   883,    39,
-      31,    32,    33,    34,    35,    36,    37,    38,    56,    57,
-      37,   883,   883,   883,    71,   883,    12,    13,    75,    76,
-      77,    78,    79,    80,    72,    56,    57,     4,     3,     3,
-     152,     3,    38,     8,     8,     8,    67,    68,    69,    70,
-      71,   752,     3,    49,     3,   758,     4,     8,     4,   760,
-      56,    57,    83,   130,     4,    86,   133,   134,   135,   152,
-     778,     4,    93,    39,    40,    41,    42,    43,    44,     4,
-     101,   102,     3,     3,   105,     4,   322,     8,     8,     4,
-      56,    57,    87,    88,    89,    90,    91,    92,     3,   129,
-       4,   131,   132,     8,     3,   152,     4,     3,     3,     8,
-     354,   152,     8,     8,   152,     3,     3,     3,   354,     3,
-       8,     8,   152,     3,     8,    64,    65,    66,     8,   366,
-     366,   152,   354,   369,   366,     4,     3,     8,     3,     3,
-     376,     8,   366,     8,   366,   120,   121,   369,   366,   354,
-     386,   312,   313,     3,   376,     4,   152,   401,     8,     4,
-     396,   366,     3,   354,   369,   401,     3,     8,     3,     6,
-     401,   376,     4,     8,   396,   366,     4,     3,   369,   401,
-       6,   401,   883,     8,   420,   376,   152,    77,    78,     3,
-      80,   396,     6,    84,    85,   386,   401,   106,   107,   108,
-     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-     119,   139,   140,   141,   142,   143,   144,   145,   146,   147,
-     148,   149,   150,   151,     3,   103,   104,     6,    94,    95,
-      96,   490,   491,   492,     4,     8,     4,     4,     3,     8,
-       4,     4,     4,   152,     4,     4,     4,     4,     4,   152,
-       4,     4,     4,     4,     4,     4,     4,     4,     4,   153,
-     153,   153,     4,     4,   153,     4,   427,   428,   429,     4,
-     153,     4,     4,     4,     4,     4,     4,     4,   153,     4,
-       4,     4,   443,   155,     4,     4,     4,     4,     4,     4,
-     153,   535,   536,   155,     4,     4,     4,     4,     4,   535,
-     536,   153,     4,     4,     4,   153,   153,     4,     4,     4,
-       4,     4,     4,   557,   550,     4,   552,   153,     4,     4,
-       4,   557,   155,     4,   155,   155,     4,     4,   155,     4,
-       4,   153,     4,   153,   153,   557,     4,     4,   155,   155,
-     155,     4,     4,     4,     8,   152,     3,     7,     7,     7,
-     511,     7,   557,     7,     5,     5,     5,   152,     5,     7,
-       5,     5,     5,     5,     5,     5,   557,   528,     7,     7,
-       7,     7,     5,     5,   152,   152,     5,     7,   152,     7,
-     152,   152,     7,     7,     7,     7,   152,     4,     7,     7,
-       4,   152,     7,     4,    82,     4,     4,   152,     4,     6,
-       3,     6,     3,     3,     6,     3,     3,   152,   152,   152,
-     122,     6,   152,     6,   152,   152,   152,   128,   152,     6,
-       4,     4,     4,     4,     4,     4,   152,     4,     4,     4,
-     152,   152,     6,     3,     6,     3,     3,     6,   152,   152,
-       4,     4,     8,     4,     4,     4,     4,   152,     4,   153,
-       4,     4,   155,     4,   153,     4,     6,   155,     3,     5,
-       4,     8,   153,   153,     4,     8,   153,     8,     7,     4,
-     153,   153,     4,   153,   153,     5,     7,   153,     4,     4,
-     153,     4,   153,   152,     4,   155,   152,   152,   442,   545,
-     348,   534,   352,   322,   740,   529,   740,   152,   755,   152,
-     152,   764,   758,   536,   740,   749,   743,   743,   752,   762,
-     746,   743,   745,   749,   743,   752,   752,   152,   749,   743,
-     752,   743,   153,   404,   746,   743,   762,   749,   752,   749,
-     752,   152,   152,   771,   752,   754,   152,   883,   743,   152,
-     152,   746,   778,   153,   749,   366,    73,   752,   751,   153,
-     748,   746,   743,   789,   396,   749,   792,   401,   369,   795,
-     794,   752,   789,   791,   376,   795,   792,   789,   386,   557,
-     792,   778,   797,   782,   552,   726,   903,   420,   919,   931,
-     948,    -1,    -1,    -1,   789,    -1,    -1,   792,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   789,    -1,
-      -1,   792,    -1,    -1,   795,    -1,    -1,    -1,    -1,    -1,
+      66,    75,    68,    69,    70,    71,    72,    69,    74,    75,
+      76,    77,   559,   556,    75,    69,    15,   555,    69,    69,
+      75,     5,   765,     7,    10,     9,    69,    70,    71,    72,
+     765,    56,    57,    68,    69,    70,    71,    72,    16,    74,
+      75,    76,    77,    77,   765,   765,   765,    25,     3,     3,
+       7,    12,    13,     8,     8,     0,   765,     7,   130,    84,
+      85,   133,   134,   135,    68,    69,    70,    71,    72,     7,
+      74,    75,    76,    77,    31,    32,    33,    34,    56,    57,
+       7,    38,     7,     7,    87,    88,    89,    90,    91,    92,
+       7,    48,     3,    50,   152,    56,    57,     8,    37,    56,
+      57,    58,    59,    60,    61,    62,    63,    31,    32,    33,
+      34,     7,    36,     7,    38,    39,    73,    74,   152,    97,
+      98,    99,   100,    73,    81,     3,     3,   152,     7,    38,
+       8,     8,    56,    57,     3,    59,    60,     6,    62,    63,
+       7,   127,    51,    52,    53,    54,    55,    56,    57,    73,
+     136,   137,   138,   896,     7,     3,     7,    81,     3,    11,
+       8,   896,    14,    15,   120,   121,   152,    16,   152,   153,
+     154,   155,     7,     3,   152,   896,   896,   896,     8,    31,
+      32,    33,    34,    35,    36,    37,    38,   896,     7,     3,
+      39,   152,    41,    42,     8,   152,    45,    46,    47,   103,
+     104,     3,    38,    39,    56,    57,     8,    56,    57,     3,
+     123,   124,   125,   126,     8,    67,    68,    69,    70,    71,
+      56,    57,   765,     3,     3,     6,     6,    38,   152,     8,
+     773,    83,     3,   771,    86,     3,    72,     8,    49,     4,
+       8,    93,   155,   152,   791,    56,    57,     3,     8,   101,
+     102,     3,     8,   105,     3,     3,     8,     3,     3,     8,
+       8,    16,     8,     8,     3,   331,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    39,    40,    41,    42,
+      43,    44,     3,     3,    39,     3,     3,     8,     8,   363,
+       8,     8,     8,    56,    57,   361,     4,   363,     4,     3,
+     152,    56,    57,   152,     8,    17,    18,    19,    20,   375,
+       4,     4,   378,   375,     3,   152,   152,     6,     4,   385,
+     363,   375,   321,   322,   375,   375,   361,     4,   363,   395,
+      77,    78,   375,    80,     3,   378,   410,     6,     3,   405,
+     375,   152,   385,   378,   410,     3,    38,   413,     6,   410,
+     385,    39,   395,   896,     4,   410,     4,   361,     4,   363,
+     395,    56,    57,   429,    56,    57,     4,     4,    56,    57,
+     405,   375,     4,     4,   378,   410,   153,     4,   413,    71,
+       8,   385,     4,    75,    76,    77,    78,    79,    80,   152,
+       8,   395,     3,     8,   429,     4,     4,   152,    64,    65,
+      66,   405,     3,    94,    95,    96,   410,     7,     4,   413,
+       4,   106,   107,   108,   109,   110,   111,   112,   113,   114,
+     115,   116,   117,   118,   119,   429,   499,   500,   501,     4,
+       4,     4,     4,     4,     4,     4,     4,   436,   437,   438,
+       4,   129,     4,   131,   132,     4,     4,     4,   153,     4,
+     153,   153,   153,   452,     4,     4,     4,   152,     4,     4,
+     152,     4,     4,     4,   152,     4,     4,     4,     4,   153,
+     544,   545,     4,     4,     4,   155,     4,   543,   544,   545,
+       4,     4,     4,     4,   155,   153,     4,     4,     4,     4,
+       4,     4,   566,   559,   153,   561,     4,   153,   153,     4,
+     566,     4,     4,     4,     4,     4,     4,     4,   543,   544,
+     545,     4,   153,     4,     4,     4,   155,     4,     4,   155,
+     155,   520,     4,   566,   559,   155,   561,     4,     4,   153,
+       4,   566,   153,   153,     4,     4,   155,     4,   537,   543,
+     544,   545,   139,   140,   141,   142,   143,   144,   145,   146,
+     147,   148,   149,   150,   151,   559,   155,   561,     4,     4,
+     155,     8,   566,     7,     7,     7,     7,     5,     5,     5,
+       3,     5,     7,     5,     5,     5,     5,     5,    82,   155,
+       7,     7,     7,     7,     5,     5,     5,   152,     5,   152,
+       6,   152,   152,     7,     7,     7,   152,     7,   152,   152,
+     152,   152,     7,     7,     4,   152,     7,     4,   152,     7,
+     122,     7,   152,     4,     4,     4,     4,   152,   152,   152,
+       3,   128,     6,   152,     3,   152,   152,   152,     6,     3,
+       6,     3,   152,   152,     3,     6,     6,     4,     4,     4,
+       4,   152,     4,     4,     4,     4,     4,     3,   451,     6,
+       3,     6,     6,     3,     6,     3,   152,   152,     4,     8,
+       4,     4,     4,     4,     4,   153,     4,     4,   153,     4,
+     153,   155,   153,   153,   153,   153,     4,     4,   153,   753,
+     153,   153,   153,     4,     8,   153,     5,   753,   762,   152,
+     756,   765,   152,   759,   756,   152,   762,   152,   152,   765,
+       8,   762,   756,   765,   152,   756,   756,   762,     8,   775,
+       7,   765,   152,   756,   765,   765,     4,     4,   753,     4,
+       4,   756,   765,     5,   759,   791,     7,   762,     4,   152,
+     765,   153,     4,     4,   152,   543,   802,   152,   554,   805,
+     775,   152,   808,   331,   357,   153,   155,   153,   538,   753,
+     152,   361,   756,   545,   768,   759,   791,   753,   762,   802,
+     771,   765,   805,   775,   777,   808,   413,   802,   784,   758,
+     805,   775,   375,   808,   756,   767,   896,    73,   761,   759,
+     405,   410,   804,   764,   802,   762,   378,   791,   807,   810,
+     805,   808,   385,   395,   566,   795,   791,   561,   802,   739,
+     916,   805,   934,   429,   808,   946,   963,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   896,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     896,    -1,    -1,    -1,   896,    -1,    -1,    -1,    -1,    -1,
+      -1,   915,   896,    -1,    -1,   896,   896,    -1,    -1,   915,
+      -1,    -1,    -1,   896,    -1,    -1,    -1,    -1,    -1,    -1,
+     934,   896,    -1,    -1,    -1,    -1,    -1,    -1,   934,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     915,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   896,    -1,    -1,    -1,    -1,    -1,    -1,   934,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   915,    -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,   883,
-      -1,    -1,    -1,    -1,    -1,    -1,   883,   883,    -1,    -1,
-      -1,   883,    -1,    -1,    -1,    -1,    -1,    -1,   902,   883,
-      -1,   883,    -1,    -1,    -1,   883,   902,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   919,    -1,    -1,   883,    -1,
-      -1,    -1,    -1,   919,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   883
+     934
   };
 
   const unsigned short int
@@ -4055,87 +4073,89 @@ namespace isc { namespace dhcp {
      102,   105,   186,   195,   196,   197,   198,   199,   200,   201,
      202,   211,   213,   237,   243,   249,   251,   265,   275,   298,
      306,   332,   362,   364,   412,   422,   434,   435,   443,    12,
-      13,   206,   207,   208,   210,     7,    48,    50,    58,    59,
-      60,    61,    62,    63,    73,    74,    81,   186,   197,   198,
-     199,   200,   283,   284,   285,   287,   289,   291,   293,   296,
-     297,   332,   350,   362,   364,   366,   383,   408,    49,   186,
-     332,   358,   359,   360,   362,   364,    51,    52,    53,    54,
-      55,   186,   332,   362,   364,   374,   375,   376,   378,   379,
-     381,   382,    71,    75,    76,    77,    78,    79,    80,   186,
-     332,   391,   392,   393,   394,   396,   398,   400,   402,   404,
-     406,   306,    16,    39,    41,    42,    45,    46,    47,   186,
-     227,   316,   317,   318,   319,   320,   321,   322,   324,   326,
-     328,   329,   331,   362,   364,    40,    43,    44,   186,   227,
-     320,   326,   340,   341,   342,   343,   344,   346,   347,   348,
-     349,   362,   364,    84,    85,   186,   259,   260,   261,   263,
-     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-     116,   117,   118,   119,   186,   447,   448,   449,   450,   452,
-     454,   455,   457,   458,   459,   462,   464,   465,   466,   467,
-     470,     6,     3,     4,     8,     3,   192,   479,   473,   475,
-     477,     4,     3,     8,   203,   212,   214,     4,     4,     4,
-       4,     4,   276,   307,   333,   363,   365,   299,   238,   250,
-     244,   413,   252,   266,   423,     4,   436,   444,     3,     8,
-     209,     4,     3,     8,   415,   351,   367,   286,   288,   290,
-       4,     4,   294,   292,   384,   409,     3,     8,   361,     3,
-       8,   377,     4,   380,     4,     4,     3,     8,   407,   395,
-     397,   399,   401,   403,   405,     8,     3,     8,   323,   228,
-       4,   327,   325,   330,     4,     8,     3,   345,     4,     4,
-       8,     3,   262,   264,     3,     8,     4,   451,   453,     4,
-     456,     4,     4,   460,   463,     4,     4,     4,   468,   471,
-       3,     8,   171,   171,   152,     4,     4,     4,     4,     4,
-     190,     4,     4,     4,   153,   153,   153,   153,   153,     4,
+      13,   186,   206,   207,   208,   210,   362,   364,     7,    48,
+      50,    58,    59,    60,    61,    62,    63,    73,    74,    81,
+     186,   197,   198,   199,   200,   283,   284,   285,   287,   289,
+     291,   293,   296,   297,   332,   350,   362,   364,   366,   383,
+     408,    49,   186,   332,   358,   359,   360,   362,   364,    51,
+      52,    53,    54,    55,   186,   332,   362,   364,   374,   375,
+     376,   378,   379,   381,   382,    71,    75,    76,    77,    78,
+      79,    80,   186,   332,   362,   364,   391,   392,   393,   394,
+     396,   398,   400,   402,   404,   406,   306,    16,    39,    41,
+      42,    45,    46,    47,   186,   227,   316,   317,   318,   319,
+     320,   321,   322,   324,   326,   328,   329,   331,   362,   364,
+      40,    43,    44,   186,   227,   320,   326,   340,   341,   342,
+     343,   344,   346,   347,   348,   349,   362,   364,    84,    85,
+     186,   259,   260,   261,   263,   362,   364,   106,   107,   108,
+     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
+     119,   186,   362,   364,   447,   448,   449,   450,   452,   454,
+     455,   457,   458,   459,   462,   464,   465,   466,   467,   470,
+       6,     3,     4,     8,     3,   192,   479,   473,   475,   477,
+       4,     3,     8,   203,   212,   214,     4,     4,     4,     4,
+       4,   276,   307,   333,   363,   365,   299,   238,   250,   244,
+     413,   252,   266,   423,     4,   436,   444,     3,     8,   209,
+       4,     3,     8,   415,   351,   367,   286,   288,   290,     4,
+       4,   294,   292,   384,   409,     3,     8,   361,     3,     8,
+     377,     4,   380,     4,     4,     3,     8,   407,   395,   397,
+     399,   401,   403,   405,     8,     3,     8,   323,   228,     4,
+     327,   325,   330,     4,     8,     3,   345,     4,     4,     8,
+       3,   262,   264,     3,     8,     4,   451,   453,     4,   456,
+       4,     4,   460,   463,     4,     4,     4,   468,   471,     3,
+       8,   171,   171,   152,     4,     4,     4,     4,     4,   190,
+       4,     4,     4,   153,   153,   153,   153,   153,     4,     4,
        4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
-       4,     4,   153,     4,     4,   196,     4,   155,   207,    72,
-     186,   227,   332,   362,   364,   416,   417,   418,   419,   420,
-       4,     4,     4,     4,     4,   153,   155,     4,     4,     4,
-       4,   284,     4,   359,     4,   153,     4,   153,   153,   375,
-       4,     4,     4,     4,     4,     4,     4,   393,     4,     4,
-     153,     4,     4,     4,   155,   318,     4,   155,   155,   342,
-       4,     4,   260,   155,     4,     4,   153,     4,   153,   153,
-       4,     4,   155,   155,   155,     4,     4,   448,     4,     7,
-       7,   171,   171,   171,     7,     7,     7,     5,     5,     5,
-     173,   175,   171,     5,     5,     5,     5,     5,     5,     7,
-       7,     7,     7,     5,   182,   421,     8,     3,     5,     5,
-     152,   152,   152,    64,    65,    66,   295,   152,     5,     7,
-     152,   152,   152,   182,   182,   182,   152,   152,   152,   152,
-     152,   152,   152,   152,   152,   152,   152,   171,   152,   152,
-     152,   120,   121,   461,   122,   123,   124,   125,   126,   155,
-     469,   152,   171,   195,   128,   480,   481,   482,   206,    16,
-      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
-     186,   215,   216,   217,   220,   222,   224,   226,   227,   229,
-     230,   231,   232,   233,   235,   215,     7,   277,   278,   279,
-       7,   310,   311,   312,     7,   334,   335,   336,     7,   300,
-     301,   302,    77,   152,   239,   240,   241,   242,   180,    78,
-      80,   241,   245,   246,   247,   248,   291,   414,     7,   253,
-     254,   255,    87,    88,    89,    90,    91,    92,   267,   268,
-     269,   270,   271,   272,   273,   274,    16,    97,    98,    99,
-     100,   186,   229,   424,   425,   426,   429,   430,   432,   433,
-     103,   104,   437,   438,   439,   441,   447,   183,     4,   418,
-       7,   352,   353,   354,     7,   368,   369,   370,     7,   385,
-     386,   387,    82,   410,     8,   483,     3,     8,     8,   218,
-     221,   223,   225,     4,     4,     4,     4,     4,   234,   236,
-       3,     8,     8,   280,     6,     3,   313,     6,     3,   337,
-       6,     3,   303,     6,     3,     3,     6,     6,     3,     6,
-       3,     6,   256,     6,     3,     4,     4,     4,     4,     4,
-       4,     3,     8,   427,   431,     4,     4,     4,     3,     8,
-     440,   442,     3,     8,     8,   152,   184,   185,   152,   355,
-       6,     3,   371,     6,     3,   388,     6,     3,   411,     8,
-       4,   481,     4,     4,     4,     4,   153,   155,   153,   155,
-     153,     4,     4,   216,   283,   279,   316,   312,   340,   336,
-     186,   197,   198,   199,   200,   227,   275,   287,   289,   291,
-     293,   297,   304,   305,   332,   362,   364,   408,   302,   240,
-     246,   291,   259,   255,   153,   153,   153,   153,   153,   153,
-     268,     4,     4,   153,   153,   153,   425,     4,     4,   438,
-       6,     3,   358,   354,   374,   370,   391,   387,     4,     5,
-      17,    18,    19,    20,   219,   152,   152,   152,   152,   152,
-       8,     8,     8,     3,     8,     8,    94,    95,    96,   428,
-     152,   152,   152,   152,     8,     8,     8,   152,     7,   484,
-     485,   305,   486,     3,     6,   129,   131,   132,   186,   227,
-     487,   488,   489,   490,   492,   485,   493,     4,   491,     3,
-       8,     4,   153,     4,   488,     5,   152,     7,   494,   495,
-     496,     3,     6,   130,   133,   134,   135,   497,   498,   499,
-     501,   502,   503,   495,   500,     4,     4,     4,     3,     8,
-       4,   155,   153,   153,   498,   152
+       4,   153,     4,     4,   196,     4,   155,   207,    72,   186,
+     227,   332,   362,   364,   416,   417,   418,   419,   420,     4,
+       4,     4,     4,     4,   153,   155,     4,     4,     4,     4,
+     284,     4,   359,     4,   153,     4,   153,   153,   375,     4,
+       4,     4,     4,     4,     4,     4,   393,     4,     4,   153,
+       4,     4,     4,   155,   318,     4,   155,   155,   342,     4,
+       4,   260,   155,     4,     4,   153,     4,   153,   153,     4,
+       4,   155,   155,   155,     4,     4,   448,     4,     7,     7,
+     171,   171,   171,     7,     7,     7,     5,     5,     5,   173,
+     175,   171,     5,     5,     5,     5,     5,     5,     7,     7,
+       7,     7,     5,   182,   421,     8,     3,     5,     5,   152,
+     152,   152,    64,    65,    66,   295,   152,     5,     7,   152,
+     152,   152,   182,   182,   182,   152,   152,   152,   152,   152,
+     152,   152,   152,   152,   152,   152,   171,   152,   152,   152,
+     120,   121,   461,   122,   123,   124,   125,   126,   155,   469,
+     152,   171,   195,   128,   480,   481,   482,   206,    16,    21,
+      22,    23,    24,    25,    26,    27,    28,    29,    30,   186,
+     215,   216,   217,   220,   222,   224,   226,   227,   229,   230,
+     231,   232,   233,   235,   362,   364,   215,     7,   277,   278,
+     279,     7,   310,   311,   312,     7,   334,   335,   336,     7,
+     300,   301,   302,    77,   152,   239,   240,   241,   242,   180,
+      78,    80,   241,   245,   246,   247,   248,   291,   414,     7,
+     253,   254,   255,    87,    88,    89,    90,    91,    92,   267,
+     268,   269,   270,   271,   272,   273,   274,    16,    97,    98,
+      99,   100,   186,   229,   362,   364,   424,   425,   426,   429,
+     430,   432,   433,   103,   104,   437,   438,   439,   441,   447,
+     183,     4,   418,     7,   352,   353,   354,     7,   368,   369,
+     370,     7,   385,   386,   387,    82,   410,     8,   483,     3,
+       8,     8,   218,   221,   223,   225,     4,     4,     4,     4,
+       4,   234,   236,     3,     8,     8,   280,     6,     3,   313,
+       6,     3,   337,     6,     3,   303,     6,     3,     3,     6,
+       6,     3,     6,     3,     6,   256,     6,     3,     4,     4,
+       4,     4,     4,     4,     3,     8,   427,   431,     4,     4,
+       4,     3,     8,   440,   442,     3,     8,     8,   152,   184,
+     185,   152,   355,     6,     3,   371,     6,     3,   388,     6,
+       3,   411,     8,     4,   481,     4,     4,     4,     4,   153,
+     155,   153,   155,   153,     4,     4,   216,   283,   279,   316,
+     312,   340,   336,   186,   197,   198,   199,   200,   227,   275,
+     287,   289,   291,   293,   297,   304,   305,   332,   362,   364,
+     408,   302,   240,   246,   291,   259,   255,   153,   153,   153,
+     153,   153,   153,   268,     4,     4,   153,   153,   153,   425,
+       4,     4,   438,     6,     3,   358,   354,   374,   370,   391,
+     387,     4,     5,    17,    18,    19,    20,   219,   152,   152,
+     152,   152,   152,     8,     8,     8,     3,     8,     8,    94,
+      95,    96,   428,   152,   152,   152,   152,     8,     8,     8,
+     152,     7,   484,   485,   305,   486,     3,     6,   129,   131,
+     132,   186,   227,   362,   364,   487,   488,   489,   490,   492,
+     485,   493,     4,   491,     3,     8,     4,   153,     4,   488,
+       5,   152,     7,   494,   495,   496,     3,     6,   130,   133,
+     134,   135,   497,   498,   499,   501,   502,   503,   495,   500,
+       4,     4,     4,     3,     8,     4,   155,   153,   153,   498,
+     152
   };
 
   const unsigned short int
@@ -4152,54 +4172,56 @@ namespace isc { namespace dhcp {
      196,   196,   196,   196,   196,   196,   196,   196,   196,   196,
      196,   196,   196,   196,   196,   196,   196,   197,   198,   199,
      200,   201,   203,   202,   205,   204,   206,   206,   207,   207,
-     209,   208,   210,   212,   211,   214,   213,   215,   215,   216,
-     216,   216,   216,   216,   216,   216,   216,   216,   216,   216,
-     216,   216,   218,   217,   219,   219,   219,   219,   221,   220,
-     223,   222,   225,   224,   226,   228,   227,   229,   230,   231,
-     232,   234,   233,   236,   235,   238,   237,   239,   239,   240,
-     240,   241,   242,   244,   243,   245,   245,   246,   246,   246,
-     247,   248,   250,   249,   252,   251,   253,   253,   254,   254,
-     256,   255,   258,   257,   259,   259,   259,   260,   260,   262,
-     261,   264,   263,   266,   265,   267,   267,   268,   268,   268,
-     268,   268,   268,   269,   270,   271,   272,   273,   274,   276,
-     275,   277,   277,   278,   278,   280,   279,   282,   281,   283,
-     283,   284,   284,   284,   284,   284,   284,   284,   284,   284,
+     207,   207,   207,   209,   208,   210,   212,   211,   214,   213,
+     215,   215,   216,   216,   216,   216,   216,   216,   216,   216,
+     216,   216,   216,   216,   216,   216,   216,   218,   217,   219,
+     219,   219,   219,   221,   220,   223,   222,   225,   224,   226,
+     228,   227,   229,   230,   231,   232,   234,   233,   236,   235,
+     238,   237,   239,   239,   240,   240,   241,   242,   244,   243,
+     245,   245,   246,   246,   246,   247,   248,   250,   249,   252,
+     251,   253,   253,   254,   254,   256,   255,   258,   257,   259,
+     259,   260,   260,   260,   260,   260,   262,   261,   264,   263,
+     266,   265,   267,   267,   268,   268,   268,   268,   268,   268,
+     269,   270,   271,   272,   273,   274,   276,   275,   277,   277,
+     278,   278,   280,   279,   282,   281,   283,   283,   284,   284,
      284,   284,   284,   284,   284,   284,   284,   284,   284,   284,
-     286,   285,   288,   287,   290,   289,   292,   291,   294,   293,
-     295,   295,   295,   296,   297,   299,   298,   300,   300,   301,
-     301,   303,   302,   304,   304,   305,   305,   305,   305,   305,
-     305,   305,   305,   305,   305,   305,   305,   305,   305,   305,
-     305,   307,   306,   309,   308,   310,   310,   311,   311,   313,
-     312,   315,   314,   316,   316,   317,   317,   318,   318,   318,
-     318,   318,   318,   318,   318,   318,   318,   319,   320,   321,
-     323,   322,   325,   324,   327,   326,   328,   330,   329,   331,
-     333,   332,   334,   334,   335,   335,   337,   336,   339,   338,
-     340,   340,   341,   341,   342,   342,   342,   342,   342,   342,
-     342,   342,   342,   343,   345,   344,   346,   347,   348,   349,
-     351,   350,   352,   352,   353,   353,   355,   354,   357,   356,
-     358,   358,   359,   359,   359,   359,   359,   361,   360,   363,
-     362,   365,   364,   367,   366,   368,   368,   369,   369,   371,
-     370,   373,   372,   374,   374,   375,   375,   375,   375,   375,
-     375,   375,   375,   375,   377,   376,   378,   380,   379,   381,
-     382,   384,   383,   385,   385,   386,   386,   388,   387,   390,
-     389,   391,   391,   392,   392,   393,   393,   393,   393,   393,
-     393,   393,   393,   393,   395,   394,   397,   396,   399,   398,
-     401,   400,   403,   402,   405,   404,   407,   406,   409,   408,
-     411,   410,   413,   412,   414,   414,   415,   291,   416,   416,
-     417,   417,   418,   418,   418,   418,   418,   418,   419,   421,
-     420,   423,   422,   424,   424,   425,   425,   425,   425,   425,
-     425,   425,   427,   426,   428,   428,   428,   429,   431,   430,
-     432,   433,   434,   436,   435,   437,   437,   438,   438,   440,
-     439,   442,   441,   444,   443,   446,   445,   447,   447,   448,
+     284,   284,   284,   284,   284,   284,   284,   286,   285,   288,
+     287,   290,   289,   292,   291,   294,   293,   295,   295,   295,
+     296,   297,   299,   298,   300,   300,   301,   301,   303,   302,
+     304,   304,   305,   305,   305,   305,   305,   305,   305,   305,
+     305,   305,   305,   305,   305,   305,   305,   305,   307,   306,
+     309,   308,   310,   310,   311,   311,   313,   312,   315,   314,
+     316,   316,   317,   317,   318,   318,   318,   318,   318,   318,
+     318,   318,   318,   318,   319,   320,   321,   323,   322,   325,
+     324,   327,   326,   328,   330,   329,   331,   333,   332,   334,
+     334,   335,   335,   337,   336,   339,   338,   340,   340,   341,
+     341,   342,   342,   342,   342,   342,   342,   342,   342,   342,
+     343,   345,   344,   346,   347,   348,   349,   351,   350,   352,
+     352,   353,   353,   355,   354,   357,   356,   358,   358,   359,
+     359,   359,   359,   359,   361,   360,   363,   362,   365,   364,
+     367,   366,   368,   368,   369,   369,   371,   370,   373,   372,
+     374,   374,   375,   375,   375,   375,   375,   375,   375,   375,
+     375,   377,   376,   378,   380,   379,   381,   382,   384,   383,
+     385,   385,   386,   386,   388,   387,   390,   389,   391,   391,
+     392,   392,   393,   393,   393,   393,   393,   393,   393,   393,
+     393,   393,   393,   395,   394,   397,   396,   399,   398,   401,
+     400,   403,   402,   405,   404,   407,   406,   409,   408,   411,
+     410,   413,   412,   414,   414,   415,   291,   416,   416,   417,
+     417,   418,   418,   418,   418,   418,   418,   419,   421,   420,
+     423,   422,   424,   424,   425,   425,   425,   425,   425,   425,
+     425,   425,   425,   427,   426,   428,   428,   428,   429,   431,
+     430,   432,   433,   434,   436,   435,   437,   437,   438,   438,
+     440,   439,   442,   441,   444,   443,   446,   445,   447,   447,
      448,   448,   448,   448,   448,   448,   448,   448,   448,   448,
-     448,   448,   448,   448,   449,   451,   450,   453,   452,   454,
-     456,   455,   457,   458,   460,   459,   461,   461,   463,   462,
-     464,   465,   466,   468,   467,   469,   469,   469,   469,   469,
-     471,   470,   473,   472,   475,   474,   477,   476,   479,   478,
-     480,   480,   481,   483,   482,   484,   484,   486,   485,   487,
-     487,   488,   488,   488,   488,   488,   489,   491,   490,   493,
-     492,   494,   494,   496,   495,   497,   497,   498,   498,   498,
-     498,   500,   499,   501,   502,   503
+     448,   448,   448,   448,   448,   448,   448,   449,   451,   450,
+     453,   452,   454,   456,   455,   457,   458,   460,   459,   461,
+     461,   463,   462,   464,   465,   466,   468,   467,   469,   469,
+     469,   469,   469,   471,   470,   473,   472,   475,   474,   477,
+     476,   479,   478,   480,   480,   481,   483,   482,   484,   484,
+     486,   485,   487,   487,   488,   488,   488,   488,   488,   488,
+     488,   489,   491,   490,   493,   492,   494,   494,   496,   495,
+     497,   497,   498,   498,   498,   498,   500,   499,   501,   502,
+     503
   };
 
   const unsigned char
@@ -4216,54 +4238,56 @@ namespace isc { namespace dhcp {
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     3,     3,     3,
        3,     3,     0,     6,     0,     4,     1,     3,     1,     1,
-       0,     4,     3,     0,     6,     0,     6,     1,     3,     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,     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,
+       1,     1,     1,     0,     4,     3,     0,     6,     0,     6,
+       1,     3,     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,     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,     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,
-       1,     1,     1,     3,     3,     0,     6,     0,     1,     1,
-       3,     0,     4,     1,     3,     1,     1,     1,     1,     1,
+       3,     1,     1,     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,     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,
+       1,     1,     1,     1,     1,     1,     1,     0,     4,     0,
+       4,     0,     4,     0,     4,     0,     4,     1,     1,     1,
+       3,     3,     0,     6,     0,     1,     1,     3,     0,     4,
+       1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     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,     0,     4,     1,     1,     3,     3,
-       0,     6,     0,     1,     1,     3,     0,     4,     0,     4,
-       1,     3,     1,     1,     1,     1,     1,     0,     4,     0,
-       4,     0,     4,     0,     6,     0,     1,     1,     3,     0,
-       4,     0,     4,     1,     3,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     0,     4,     3,     0,     4,     3,
-       3,     0,     6,     0,     1,     1,     3,     0,     4,     0,
-       4,     0,     1,     1,     3,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     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,     0,     4,     0,     4,     0,     4,
-       0,     4,     0,     4,     0,     4,     0,     4,     0,     6,
-       0,     4,     0,     6,     1,     3,     0,     4,     0,     1,
-       1,     3,     1,     1,     1,     1,     1,     1,     1,     0,
-       4,     0,     6,     1,     3,     1,     1,     1,     1,     1,
-       1,     1,     0,     4,     1,     1,     1,     3,     0,     4,
-       3,     3,     3,     0,     6,     1,     3,     1,     1,     0,
-       4,     0,     4,     0,     6,     0,     4,     1,     3,     1,
+       0,     6,     0,     1,     1,     3,     0,     4,     0,     4,
+       1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     0,     4,     3,     0,     4,     3,     3,     0,     6,
+       0,     1,     1,     3,     0,     4,     0,     4,     0,     1,
+       1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     0,     4,     0,     4,     0,     4,     0,
+       4,     0,     4,     0,     4,     0,     4,     0,     6,     0,
+       4,     0,     6,     1,     3,     0,     4,     0,     1,     1,
+       3,     1,     1,     1,     1,     1,     1,     1,     0,     4,
+       0,     6,     1,     3,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     0,     4,     1,     1,     1,     3,     0,
+       4,     3,     3,     3,     0,     6,     1,     3,     1,     1,
+       0,     4,     0,     4,     0,     6,     0,     4,     1,     3,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     3,     0,     4,     0,     4,     3,
-       0,     4,     3,     3,     0,     4,     1,     1,     0,     4,
-       3,     3,     3,     0,     4,     1,     1,     1,     1,     1,
-       0,     4,     0,     4,     0,     4,     0,     4,     0,     6,
-       1,     3,     1,     0,     6,     1,     3,     0,     4,     1,
-       3,     1,     1,     1,     1,     1,     3,     0,     4,     0,
-       6,     1,     3,     0,     4,     1,     3,     1,     1,     1,
-       1,     0,     4,     3,     3,     3
+       1,     1,     1,     1,     1,     1,     1,     3,     0,     4,
+       0,     4,     3,     0,     4,     3,     3,     0,     4,     1,
+       1,     0,     4,     3,     3,     3,     0,     4,     1,     1,
+       1,     1,     1,     0,     4,     0,     4,     0,     4,     0,
+       4,     0,     6,     1,     3,     1,     0,     6,     1,     3,
+       0,     4,     1,     3,     1,     1,     1,     1,     1,     1,
+       1,     3,     0,     4,     0,     6,     1,     3,     0,     4,
+       1,     3,     1,     1,     1,     1,     0,     4,     3,     3,
+       3
   };
 
 
@@ -4417,54 +4441,56 @@ namespace isc { namespace dhcp {
      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
      434,   435,   436,   437,   438,   439,   440,   443,   448,   453,
      458,   463,   468,   468,   479,   479,   488,   489,   492,   493,
-     496,   496,   506,   512,   512,   524,   524,   536,   537,   540,
-     541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
-     551,   552,   555,   555,   562,   563,   564,   565,   568,   568,
-     576,   576,   584,   584,   592,   597,   597,   605,   610,   615,
-     620,   625,   625,   633,   633,   642,   642,   652,   653,   656,
-     657,   660,   665,   670,   670,   680,   681,   684,   685,   686,
-     689,   694,   701,   701,   711,   711,   721,   722,   725,   726,
-     729,   729,   739,   739,   749,   750,   751,   754,   755,   758,
-     758,   766,   766,   774,   774,   785,   786,   789,   790,   791,
-     792,   793,   794,   797,   802,   807,   812,   817,   822,   830,
-     830,   843,   844,   847,   848,   855,   855,   881,   881,   892,
-     893,   897,   898,   899,   900,   901,   902,   903,   904,   905,
+     494,   495,   496,   499,   499,   509,   515,   515,   527,   527,
+     539,   540,   543,   544,   545,   546,   547,   548,   549,   550,
+     551,   552,   553,   554,   555,   556,   557,   560,   560,   567,
+     568,   569,   570,   573,   573,   581,   581,   589,   589,   597,
+     602,   602,   610,   615,   620,   625,   630,   630,   638,   638,
+     647,   647,   657,   658,   661,   662,   665,   670,   675,   675,
+     685,   686,   689,   690,   691,   694,   699,   706,   706,   716,
+     716,   726,   727,   730,   731,   734,   734,   744,   744,   754,
+     755,   758,   759,   760,   761,   762,   765,   765,   773,   773,
+     781,   781,   792,   793,   796,   797,   798,   799,   800,   801,
+     804,   809,   814,   819,   824,   829,   837,   837,   850,   851,
+     854,   855,   862,   862,   888,   888,   899,   900,   904,   905,
      906,   907,   908,   909,   910,   911,   912,   913,   914,   915,
-     918,   918,   926,   926,   934,   934,   942,   942,   950,   950,
-     957,   958,   959,   962,   967,   975,   975,   986,   987,   991,
-     992,   995,   995,  1003,  1004,  1007,  1008,  1009,  1010,  1011,
-    1012,  1013,  1014,  1015,  1016,  1017,  1018,  1019,  1020,  1021,
-    1022,  1029,  1029,  1042,  1042,  1051,  1052,  1055,  1056,  1061,
-    1061,  1076,  1076,  1090,  1091,  1094,  1095,  1098,  1099,  1100,
-    1101,  1102,  1103,  1104,  1105,  1106,  1107,  1110,  1112,  1117,
-    1119,  1119,  1127,  1127,  1135,  1135,  1143,  1145,  1145,  1153,
-    1162,  1162,  1174,  1175,  1180,  1181,  1186,  1186,  1198,  1198,
-    1210,  1211,  1216,  1217,  1222,  1223,  1224,  1225,  1226,  1227,
-    1228,  1229,  1230,  1233,  1235,  1235,  1243,  1245,  1247,  1252,
-    1260,  1260,  1272,  1273,  1276,  1277,  1280,  1280,  1290,  1290,
-    1299,  1300,  1303,  1304,  1305,  1306,  1307,  1310,  1310,  1318,
-    1318,  1325,  1325,  1337,  1337,  1349,  1350,  1353,  1354,  1357,
-    1357,  1369,  1369,  1381,  1382,  1385,  1386,  1387,  1388,  1389,
-    1390,  1391,  1392,  1393,  1396,  1396,  1404,  1409,  1409,  1417,
-    1422,  1430,  1430,  1440,  1441,  1444,  1445,  1448,  1448,  1457,
-    1457,  1466,  1467,  1470,  1471,  1475,  1476,  1477,  1478,  1479,
-    1480,  1481,  1482,  1483,  1486,  1486,  1496,  1496,  1506,  1506,
-    1514,  1514,  1522,  1522,  1530,  1530,  1538,  1538,  1551,  1551,
-    1561,  1561,  1572,  1572,  1582,  1583,  1586,  1586,  1596,  1597,
-    1600,  1601,  1604,  1605,  1606,  1607,  1608,  1609,  1612,  1614,
-    1614,  1625,  1625,  1637,  1638,  1641,  1642,  1643,  1644,  1645,
-    1646,  1647,  1650,  1650,  1657,  1658,  1659,  1662,  1667,  1667,
-    1675,  1680,  1687,  1694,  1694,  1704,  1705,  1708,  1709,  1712,
-    1712,  1720,  1720,  1730,  1730,  1742,  1742,  1752,  1753,  1756,
-    1757,  1758,  1759,  1760,  1761,  1762,  1763,  1764,  1765,  1766,
-    1767,  1768,  1769,  1770,  1773,  1778,  1778,  1786,  1786,  1794,
-    1799,  1799,  1807,  1812,  1817,  1817,  1825,  1826,  1829,  1829,
-    1837,  1842,  1847,  1852,  1852,  1860,  1863,  1866,  1869,  1872,
-    1878,  1878,  1888,  1888,  1895,  1895,  1902,  1902,  1915,  1915,
-    1928,  1929,  1933,  1937,  1937,  1949,  1950,  1954,  1954,  1962,
-    1963,  1966,  1967,  1968,  1969,  1970,  1973,  1978,  1978,  1986,
-    1986,  1996,  1997,  2000,  2000,  2008,  2009,  2012,  2013,  2014,
-    2015,  2018,  2018,  2026,  2031,  2036
+     916,   917,   918,   919,   920,   921,   922,   925,   925,   933,
+     933,   941,   941,   949,   949,   957,   957,   964,   965,   966,
+     969,   974,   982,   982,   993,   994,   998,   999,  1002,  1002,
+    1010,  1011,  1014,  1015,  1016,  1017,  1018,  1019,  1020,  1021,
+    1022,  1023,  1024,  1025,  1026,  1027,  1028,  1029,  1036,  1036,
+    1049,  1049,  1058,  1059,  1062,  1063,  1068,  1068,  1083,  1083,
+    1097,  1098,  1101,  1102,  1105,  1106,  1107,  1108,  1109,  1110,
+    1111,  1112,  1113,  1114,  1117,  1119,  1124,  1126,  1126,  1134,
+    1134,  1142,  1142,  1150,  1152,  1152,  1160,  1169,  1169,  1181,
+    1182,  1187,  1188,  1193,  1193,  1205,  1205,  1217,  1218,  1223,
+    1224,  1229,  1230,  1231,  1232,  1233,  1234,  1235,  1236,  1237,
+    1240,  1242,  1242,  1250,  1252,  1254,  1259,  1267,  1267,  1279,
+    1280,  1283,  1284,  1287,  1287,  1297,  1297,  1306,  1307,  1310,
+    1311,  1312,  1313,  1314,  1317,  1317,  1325,  1325,  1332,  1332,
+    1344,  1344,  1356,  1357,  1360,  1361,  1364,  1364,  1376,  1376,
+    1388,  1389,  1392,  1393,  1394,  1395,  1396,  1397,  1398,  1399,
+    1400,  1403,  1403,  1411,  1416,  1416,  1424,  1429,  1437,  1437,
+    1447,  1448,  1451,  1452,  1455,  1455,  1464,  1464,  1473,  1474,
+    1477,  1478,  1482,  1483,  1484,  1485,  1486,  1487,  1488,  1489,
+    1490,  1491,  1492,  1495,  1495,  1505,  1505,  1515,  1515,  1523,
+    1523,  1531,  1531,  1539,  1539,  1547,  1547,  1560,  1560,  1570,
+    1570,  1581,  1581,  1591,  1592,  1595,  1595,  1605,  1606,  1609,
+    1610,  1613,  1614,  1615,  1616,  1617,  1618,  1621,  1623,  1623,
+    1634,  1634,  1646,  1647,  1650,  1651,  1652,  1653,  1654,  1655,
+    1656,  1657,  1658,  1661,  1661,  1668,  1669,  1670,  1673,  1678,
+    1678,  1686,  1691,  1698,  1705,  1705,  1715,  1716,  1719,  1720,
+    1723,  1723,  1731,  1731,  1741,  1741,  1753,  1753,  1763,  1764,
+    1767,  1768,  1769,  1770,  1771,  1772,  1773,  1774,  1775,  1776,
+    1777,  1778,  1779,  1780,  1781,  1782,  1783,  1786,  1791,  1791,
+    1799,  1799,  1807,  1812,  1812,  1820,  1825,  1830,  1830,  1838,
+    1839,  1842,  1842,  1850,  1855,  1860,  1865,  1865,  1873,  1876,
+    1879,  1882,  1885,  1891,  1891,  1901,  1901,  1908,  1908,  1915,
+    1915,  1928,  1928,  1941,  1942,  1946,  1950,  1950,  1962,  1963,
+    1967,  1967,  1975,  1976,  1979,  1980,  1981,  1982,  1983,  1984,
+    1985,  1988,  1993,  1993,  2001,  2001,  2011,  2012,  2015,  2015,
+    2023,  2024,  2027,  2028,  2029,  2030,  2033,  2033,  2041,  2046,
+    2051
   };
 
   // Print the state stack on the debug stream.
@@ -4499,8 +4525,8 @@ namespace isc { namespace dhcp {
 
 #line 14 "dhcp6_parser.yy" // lalr1.cc:1167
 } } // isc::dhcp
-#line 4503 "dhcp6_parser.cc" // lalr1.cc:1167
-#line 2041 "dhcp6_parser.yy" // lalr1.cc:1168
+#line 4529 "dhcp6_parser.cc" // lalr1.cc:1167
+#line 2056 "dhcp6_parser.yy" // lalr1.cc:1168
 
 
 void
index e1d8a9ad2858568c4ee46645a55daf88a9eaf70e..8c26561f1cac585bd69585143e36e6654b7ce3b7 100644 (file)
@@ -1435,7 +1435,7 @@ namespace isc { namespace dhcp {
     enum
     {
       yyeof_ = 0,
-      yylast_ = 862,     ///< Last index in yytable_.
+      yylast_ = 930,     ///< Last index in yytable_.
       yynnts_ = 348,  ///< Number of nonterminal symbols.
       yyfinal_ = 28, ///< Termination state number.
       yyterror_ = 1,
index 351b4630c8a938f5ccb4c40a4d1a83ce3b0e9041..fec270e173fcb3cc521693b0c43cc1223c951279 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201711290839
+// Generated 201712011036
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Locations for Bison parsers in C++
index 794f8938e407b3a2e9d1273198601c8b90faae2c..13c12536afc67f3312cc5cbfb33e1dbbb79970bd 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201711290839
+// Generated 201712011036
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Positions for Bison parsers in C++
index 39a5e1cfdddfef94d56290eeee99a720c077295f..51246ad05076dd1a9d7394036e12807e7e2e4992 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201711290839
+// Generated 201712011036
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Stack handling for Bison parsers in C++