]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[trac5351] regen flex/bison
authorFrancis Dupont <fdupont@isc.org>
Fri, 1 Dec 2017 15:20:21 +0000 (15:20 +0000)
committerFrancis Dupont <fdupont@isc.org>
Fri, 1 Dec 2017 15:20:21 +0000 (15:20 +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 0aa46ef2296563e567a94ac2475cf06c9d96d92f..e374ad186cf0eac70d9a5071e61cd6fe1197dd5b 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,  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
+      571,  580,  601,  622,  631,  641,  650,  659,  668,  678,
+      687,  696,  705,  714,  724,  733,  742,  751,  760,  769,
+      778,  787,  796,  805,  814,  824,  835,  845,  854,  864,
+      874,  884,  894,  904,  913,  923,  932,  941,  950,  959,
+      969,  979,  989,  998, 1007, 1016, 1025, 1034, 1043, 1052,
+
+     1061, 1070, 1079, 1088, 1097, 1106, 1115, 1124, 1133, 1142,
+     1151, 1160, 1169, 1178, 1187, 1196, 1205, 1214, 1223, 1232,
+     1241, 1251, 1261, 1271, 1281, 1291, 1301, 1311, 1321, 1331,
+     1340, 1349, 1358, 1367, 1376, 1385, 1394, 1405, 1418, 1431,
+     1446, 1544, 1549, 1554, 1559, 1560, 1561, 1562, 1563, 1564,
+     1566, 1584, 1597, 1602, 1606, 1608, 1610, 1612
     } ;
 
 /* The intent behind this definition is that it'll catch
@@ -2691,7 +2691,6 @@ YY_RULE_SETUP
     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:
@@ -2709,14 +2708,13 @@ YY_RULE_SETUP
        YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 602 "dhcp4_lexer.ll"
+#line 601 "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:
@@ -2734,7 +2732,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 54:
 YY_RULE_SETUP
-#line 624 "dhcp4_lexer.ll"
+#line 622 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -2746,7 +2744,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 55:
 YY_RULE_SETUP
-#line 633 "dhcp4_lexer.ll"
+#line 631 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -2759,7 +2757,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 56:
 YY_RULE_SETUP
-#line 643 "dhcp4_lexer.ll"
+#line 641 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -2771,7 +2769,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 57:
 YY_RULE_SETUP
-#line 652 "dhcp4_lexer.ll"
+#line 650 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -2783,7 +2781,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 58:
 YY_RULE_SETUP
-#line 661 "dhcp4_lexer.ll"
+#line 659 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -2795,7 +2793,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 59:
 YY_RULE_SETUP
-#line 670 "dhcp4_lexer.ll"
+#line 668 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -2808,7 +2806,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 60:
 YY_RULE_SETUP
-#line 680 "dhcp4_lexer.ll"
+#line 678 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RESERVATION_MODE:
@@ -2820,7 +2818,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 689 "dhcp4_lexer.ll"
+#line 687 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RESERVATION_MODE:
@@ -2832,7 +2830,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 62:
 YY_RULE_SETUP
-#line 698 "dhcp4_lexer.ll"
+#line 696 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RESERVATION_MODE:
@@ -2844,7 +2842,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 63:
 YY_RULE_SETUP
-#line 707 "dhcp4_lexer.ll"
+#line 705 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RESERVATION_MODE:
@@ -2856,7 +2854,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 64:
 YY_RULE_SETUP
-#line 716 "dhcp4_lexer.ll"
+#line 714 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DEF:
@@ -2869,7 +2867,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 65:
 YY_RULE_SETUP
-#line 726 "dhcp4_lexer.ll"
+#line 724 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -2881,7 +2879,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 66:
 YY_RULE_SETUP
-#line 735 "dhcp4_lexer.ll"
+#line 733 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONFIG:
@@ -2893,7 +2891,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 67:
 YY_RULE_SETUP
-#line 744 "dhcp4_lexer.ll"
+#line 742 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LOGGING:
@@ -2905,7 +2903,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 68:
 YY_RULE_SETUP
-#line 753 "dhcp4_lexer.ll"
+#line 751 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LOGGERS:
@@ -2917,7 +2915,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 69:
 YY_RULE_SETUP
-#line 762 "dhcp4_lexer.ll"
+#line 760 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
@@ -2929,7 +2927,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 70:
 YY_RULE_SETUP
-#line 771 "dhcp4_lexer.ll"
+#line 769 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LOGGERS:
@@ -2941,7 +2939,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 71:
 YY_RULE_SETUP
-#line 780 "dhcp4_lexer.ll"
+#line 778 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
@@ -2953,7 +2951,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 72:
 YY_RULE_SETUP
-#line 789 "dhcp4_lexer.ll"
+#line 787 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
@@ -2965,7 +2963,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 73:
 YY_RULE_SETUP
-#line 798 "dhcp4_lexer.ll"
+#line 796 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
@@ -2977,7 +2975,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 74:
 YY_RULE_SETUP
-#line 807 "dhcp4_lexer.ll"
+#line 805 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::LOGGERS:
@@ -2989,7 +2987,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 75:
 YY_RULE_SETUP
-#line 816 "dhcp4_lexer.ll"
+#line 814 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3002,7 +3000,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 76:
 YY_RULE_SETUP
-#line 826 "dhcp4_lexer.ll"
+#line 824 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3016,7 +3014,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 77:
 YY_RULE_SETUP
-#line 837 "dhcp4_lexer.ll"
+#line 835 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CLIENT_CLASSES:
@@ -3029,7 +3027,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 78:
 YY_RULE_SETUP
-#line 847 "dhcp4_lexer.ll"
+#line 845 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3041,7 +3039,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 79:
 YY_RULE_SETUP
-#line 856 "dhcp4_lexer.ll"
+#line 854 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3054,7 +3052,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 866 "dhcp4_lexer.ll"
+#line 864 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3067,7 +3065,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 81:
 YY_RULE_SETUP
-#line 876 "dhcp4_lexer.ll"
+#line 874 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3080,7 +3078,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 82:
 YY_RULE_SETUP
-#line 886 "dhcp4_lexer.ll"
+#line 884 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3093,7 +3091,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 83:
 YY_RULE_SETUP
-#line 896 "dhcp4_lexer.ll"
+#line 894 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3106,7 +3104,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 84:
 YY_RULE_SETUP
-#line 906 "dhcp4_lexer.ll"
+#line 904 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RESERVATIONS:
@@ -3118,7 +3116,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 85:
 YY_RULE_SETUP
-#line 915 "dhcp4_lexer.ll"
+#line 913 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DEF:
@@ -3131,7 +3129,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 86:
 YY_RULE_SETUP
-#line 925 "dhcp4_lexer.ll"
+#line 923 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DATA:
@@ -3143,7 +3141,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 87:
 YY_RULE_SETUP
-#line 934 "dhcp4_lexer.ll"
+#line 932 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DEF:
@@ -3155,7 +3153,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 88:
 YY_RULE_SETUP
-#line 943 "dhcp4_lexer.ll"
+#line 941 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DEF:
@@ -3167,7 +3165,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 952 "dhcp4_lexer.ll"
+#line 950 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::OPTION_DEF:
@@ -3179,7 +3177,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 961 "dhcp4_lexer.ll"
+#line 959 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3192,7 +3190,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 91:
 YY_RULE_SETUP
-#line 971 "dhcp4_lexer.ll"
+#line 969 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::RELAY:
@@ -3205,7 +3203,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 981 "dhcp4_lexer.ll"
+#line 979 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3217,7 +3215,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 93:
 YY_RULE_SETUP
-#line 991 "dhcp4_lexer.ll"
+#line 989 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
@@ -3229,7 +3227,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 1000 "dhcp4_lexer.ll"
+#line 998 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
@@ -3241,7 +3239,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 1009 "dhcp4_lexer.ll"
+#line 1007 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3253,7 +3251,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 1018 "dhcp4_lexer.ll"
+#line 1016 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3265,7 +3263,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 1027 "dhcp4_lexer.ll"
+#line 1025 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3277,7 +3275,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 1036 "dhcp4_lexer.ll"
+#line 1034 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3289,7 +3287,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 99:
 YY_RULE_SETUP
-#line 1045 "dhcp4_lexer.ll"
+#line 1043 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3301,7 +3299,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 100:
 YY_RULE_SETUP
-#line 1054 "dhcp4_lexer.ll"
+#line 1052 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3313,7 +3311,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 101:
 YY_RULE_SETUP
-#line 1063 "dhcp4_lexer.ll"
+#line 1061 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
@@ -3325,7 +3323,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 102:
 YY_RULE_SETUP
-#line 1072 "dhcp4_lexer.ll"
+#line 1070 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3337,7 +3335,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 103:
 YY_RULE_SETUP
-#line 1081 "dhcp4_lexer.ll"
+#line 1079 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3349,7 +3347,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 104:
 YY_RULE_SETUP
-#line 1090 "dhcp4_lexer.ll"
+#line 1088 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONTROL_SOCKET:
@@ -3361,7 +3359,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 105:
 YY_RULE_SETUP
-#line 1099 "dhcp4_lexer.ll"
+#line 1097 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONTROL_SOCKET:
@@ -3373,7 +3371,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 106:
 YY_RULE_SETUP
-#line 1108 "dhcp4_lexer.ll"
+#line 1106 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3385,7 +3383,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 107:
 YY_RULE_SETUP
-#line 1117 "dhcp4_lexer.ll"
+#line 1115 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3397,7 +3395,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 108:
 YY_RULE_SETUP
-#line 1126 "dhcp4_lexer.ll"
+#line 1124 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3409,7 +3407,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 109:
 YY_RULE_SETUP
-#line 1135 "dhcp4_lexer.ll"
+#line 1133 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3421,7 +3419,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 110:
 YY_RULE_SETUP
-#line 1144 "dhcp4_lexer.ll"
+#line 1142 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3433,7 +3431,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 1153 "dhcp4_lexer.ll"
+#line 1151 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3445,7 +3443,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 112:
 YY_RULE_SETUP
-#line 1162 "dhcp4_lexer.ll"
+#line 1160 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3457,7 +3455,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 113:
 YY_RULE_SETUP
-#line 1171 "dhcp4_lexer.ll"
+#line 1169 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3469,7 +3467,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 114:
 YY_RULE_SETUP
-#line 1180 "dhcp4_lexer.ll"
+#line 1178 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3481,7 +3479,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 115:
 YY_RULE_SETUP
-#line 1189 "dhcp4_lexer.ll"
+#line 1187 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3493,7 +3491,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 116:
 YY_RULE_SETUP
-#line 1198 "dhcp4_lexer.ll"
+#line 1196 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3505,7 +3503,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 117:
 YY_RULE_SETUP
-#line 1207 "dhcp4_lexer.ll"
+#line 1205 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3517,7 +3515,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 118:
 YY_RULE_SETUP
-#line 1216 "dhcp4_lexer.ll"
+#line 1214 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3529,7 +3527,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 119:
 YY_RULE_SETUP
-#line 1225 "dhcp4_lexer.ll"
+#line 1223 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3541,7 +3539,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 120:
 YY_RULE_SETUP
-#line 1234 "dhcp4_lexer.ll"
+#line 1232 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP_DDNS:
@@ -3553,7 +3551,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 121:
 YY_RULE_SETUP
-#line 1243 "dhcp4_lexer.ll"
+#line 1241 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) {
@@ -3566,7 +3564,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 122:
 YY_RULE_SETUP
-#line 1253 "dhcp4_lexer.ll"
+#line 1251 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) {
@@ -3579,7 +3577,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 123:
 YY_RULE_SETUP
-#line 1263 "dhcp4_lexer.ll"
+#line 1261 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_FORMAT) {
@@ -3592,7 +3590,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 124:
 YY_RULE_SETUP
-#line 1273 "dhcp4_lexer.ll"
+#line 1271 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3605,7 +3603,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 125:
 YY_RULE_SETUP
-#line 1283 "dhcp4_lexer.ll"
+#line 1281 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3618,7 +3616,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 126:
 YY_RULE_SETUP
-#line 1293 "dhcp4_lexer.ll"
+#line 1291 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3631,7 +3629,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 127:
 YY_RULE_SETUP
-#line 1303 "dhcp4_lexer.ll"
+#line 1301 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3644,7 +3642,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 128:
 YY_RULE_SETUP
-#line 1313 "dhcp4_lexer.ll"
+#line 1311 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3657,7 +3655,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 129:
 YY_RULE_SETUP
-#line 1323 "dhcp4_lexer.ll"
+#line 1321 "dhcp4_lexer.ll"
 {
     /* dhcp-ddns value keywords are case insensitive */
     if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
@@ -3670,7 +3668,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 130:
 YY_RULE_SETUP
-#line 1333 "dhcp4_lexer.ll"
+#line 1331 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONFIG:
@@ -3682,7 +3680,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 131:
 YY_RULE_SETUP
-#line 1342 "dhcp4_lexer.ll"
+#line 1340 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONFIG:
@@ -3694,7 +3692,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 132:
 YY_RULE_SETUP
-#line 1351 "dhcp4_lexer.ll"
+#line 1349 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::CONFIG:
@@ -3706,7 +3704,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 133:
 YY_RULE_SETUP
-#line 1360 "dhcp4_lexer.ll"
+#line 1358 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3718,7 +3716,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 134:
 YY_RULE_SETUP
-#line 1369 "dhcp4_lexer.ll"
+#line 1367 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3730,7 +3728,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 135:
 YY_RULE_SETUP
-#line 1378 "dhcp4_lexer.ll"
+#line 1376 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::SUBNET4:
@@ -3742,7 +3740,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 136:
 YY_RULE_SETUP
-#line 1387 "dhcp4_lexer.ll"
+#line 1385 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3754,7 +3752,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 137:
 YY_RULE_SETUP
-#line 1396 "dhcp4_lexer.ll"
+#line 1394 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3768,7 +3766,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 138:
 YY_RULE_SETUP
-#line 1407 "dhcp4_lexer.ll"
+#line 1405 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3784,7 +3782,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 139:
 YY_RULE_SETUP
-#line 1420 "dhcp4_lexer.ll"
+#line 1418 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3800,7 +3798,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 140:
 YY_RULE_SETUP
-#line 1433 "dhcp4_lexer.ll"
+#line 1431 "dhcp4_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
@@ -3816,7 +3814,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 141:
 YY_RULE_SETUP
-#line 1448 "dhcp4_lexer.ll"
+#line 1446 "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.
@@ -3918,7 +3916,7 @@ YY_RULE_SETUP
 case 142:
 /* rule 142 can match eol */
 YY_RULE_SETUP
-#line 1546 "dhcp4_lexer.ll"
+#line 1544 "dhcp4_lexer.ll"
 {
     /* Bad string with a forbidden control character inside */
     driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
@@ -3927,7 +3925,7 @@ YY_RULE_SETUP
 case 143:
 /* rule 143 can match eol */
 YY_RULE_SETUP
-#line 1551 "dhcp4_lexer.ll"
+#line 1549 "dhcp4_lexer.ll"
 {
     /* Bad string with a bad escape inside */
     driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
@@ -3935,7 +3933,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 144:
 YY_RULE_SETUP
-#line 1556 "dhcp4_lexer.ll"
+#line 1554 "dhcp4_lexer.ll"
 {
     /* Bad string with an open escape at the end */
     driver.error(driver.loc_, "Overflow escape in " + std::string(yytext));
@@ -3943,37 +3941,37 @@ YY_RULE_SETUP
        YY_BREAK
 case 145:
 YY_RULE_SETUP
-#line 1561 "dhcp4_lexer.ll"
+#line 1559 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
 case 146:
 YY_RULE_SETUP
-#line 1562 "dhcp4_lexer.ll"
+#line 1560 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
 case 147:
 YY_RULE_SETUP
-#line 1563 "dhcp4_lexer.ll"
+#line 1561 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); }
        YY_BREAK
 case 148:
 YY_RULE_SETUP
-#line 1564 "dhcp4_lexer.ll"
+#line 1562 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); }
        YY_BREAK
 case 149:
 YY_RULE_SETUP
-#line 1565 "dhcp4_lexer.ll"
+#line 1563 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); }
        YY_BREAK
 case 150:
 YY_RULE_SETUP
-#line 1566 "dhcp4_lexer.ll"
+#line 1564 "dhcp4_lexer.ll"
 { return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); }
        YY_BREAK
 case 151:
 YY_RULE_SETUP
-#line 1568 "dhcp4_lexer.ll"
+#line 1566 "dhcp4_lexer.ll"
 {
     /* An integer was found. */
     std::string tmp(yytext);
@@ -3994,7 +3992,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 152:
 YY_RULE_SETUP
-#line 1586 "dhcp4_lexer.ll"
+#line 1584 "dhcp4_lexer.ll"
 {
     /* A floating point was found. */
     std::string tmp(yytext);
@@ -4010,7 +4008,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 153:
 YY_RULE_SETUP
-#line 1599 "dhcp4_lexer.ll"
+#line 1597 "dhcp4_lexer.ll"
 {
     string tmp(yytext);
     return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_);
@@ -4018,33 +4016,33 @@ YY_RULE_SETUP
        YY_BREAK
 case 154:
 YY_RULE_SETUP
-#line 1604 "dhcp4_lexer.ll"
+#line 1602 "dhcp4_lexer.ll"
 {
    return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_);
 }
        YY_BREAK
 case 155:
 YY_RULE_SETUP
-#line 1608 "dhcp4_lexer.ll"
+#line 1606 "dhcp4_lexer.ll"
 driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
        YY_BREAK
 case 156:
 YY_RULE_SETUP
-#line 1610 "dhcp4_lexer.ll"
+#line 1608 "dhcp4_lexer.ll"
 driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
        YY_BREAK
 case 157:
 YY_RULE_SETUP
-#line 1612 "dhcp4_lexer.ll"
+#line 1610 "dhcp4_lexer.ll"
 driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
        YY_BREAK
 case 158:
 YY_RULE_SETUP
-#line 1614 "dhcp4_lexer.ll"
+#line 1612 "dhcp4_lexer.ll"
 driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 1616 "dhcp4_lexer.ll"
+#line 1614 "dhcp4_lexer.ll"
 {
     if (driver.states_.empty()) {
         return isc::dhcp::Dhcp4Parser::make_END(driver.loc_);
@@ -4070,10 +4068,10 @@ case YY_STATE_EOF(INITIAL):
        YY_BREAK
 case 159:
 YY_RULE_SETUP
-#line 1639 "dhcp4_lexer.ll"
+#line 1637 "dhcp4_lexer.ll"
 ECHO;
        YY_BREAK
-#line 4076 "dhcp4_lexer.cc"
+#line 4074 "dhcp4_lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
@@ -5178,7 +5176,7 @@ void yyfree (void * ptr )
 
 /* %ok-for-header */
 
-#line 1639 "dhcp4_lexer.ll"
+#line 1637 "dhcp4_lexer.ll"
 
 
 using namespace isc::dhcp;
index 97a129ee1e49347a1c1c95b214df0b960f60a497..25bec0a5c0d1021fadfe0e0c349bb036f7482626 100644 (file)
@@ -1547,16 +1547,16 @@ namespace isc { namespace dhcp {
 #line 1548 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 201:
-#line 772 "dhcp4_parser.yy" // lalr1.cc:859
+  case 199:
+#line 770 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1556 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 202:
-#line 774 "dhcp4_parser.yy" // lalr1.cc:859
+  case 200:
+#line 772 "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 203:
-#line 780 "dhcp4_parser.yy" // lalr1.cc:859
+  case 201:
+#line 778 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1574 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 204:
-#line 782 "dhcp4_parser.yy" // lalr1.cc:859
+  case 202:
+#line 780 "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 205:
-#line 788 "dhcp4_parser.yy" // lalr1.cc:859
+  case 203:
+#line 786 "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 206:
-#line 793 "dhcp4_parser.yy" // lalr1.cc:859
+  case 204:
+#line 791 "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 215:
-#line 811 "dhcp4_parser.yy" // lalr1.cc:859
+  case 213:
+#line 809 "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 216:
-#line 816 "dhcp4_parser.yy" // lalr1.cc:859
+  case 214:
+#line 814 "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 217:
-#line 821 "dhcp4_parser.yy" // lalr1.cc:859
+  case 215:
+#line 819 "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 218:
-#line 826 "dhcp4_parser.yy" // lalr1.cc:859
+  case 216:
+#line 824 "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 219:
-#line 831 "dhcp4_parser.yy" // lalr1.cc:859
+  case 217:
+#line 829 "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 220:
-#line 836 "dhcp4_parser.yy" // lalr1.cc:859
+  case 218:
+#line 834 "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 221:
-#line 844 "dhcp4_parser.yy" // lalr1.cc:859
+  case 219:
+#line 842 "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 222:
-#line 849 "dhcp4_parser.yy" // lalr1.cc:859
+  case 220:
+#line 847 "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 227:
-#line 869 "dhcp4_parser.yy" // lalr1.cc:859
+  case 225:
+#line 867 "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 228:
-#line 873 "dhcp4_parser.yy" // lalr1.cc:859
+  case 226:
+#line 871 "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 229:
-#line 895 "dhcp4_parser.yy" // lalr1.cc:859
+  case 227:
+#line 893 "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 230:
-#line 899 "dhcp4_parser.yy" // lalr1.cc:859
+  case 228:
+#line 897 "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 257:
-#line 937 "dhcp4_parser.yy" // lalr1.cc:859
+  case 255:
+#line 935 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1742 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 258:
-#line 939 "dhcp4_parser.yy" // lalr1.cc:859
+  case 256:
+#line 937 "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 259:
-#line 945 "dhcp4_parser.yy" // lalr1.cc:859
+  case 257:
+#line 943 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1760 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 260:
-#line 947 "dhcp4_parser.yy" // lalr1.cc:859
+  case 258:
+#line 945 "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 261:
-#line 953 "dhcp4_parser.yy" // lalr1.cc:859
+  case 259:
+#line 951 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1778 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 262:
-#line 955 "dhcp4_parser.yy" // lalr1.cc:859
+  case 260:
+#line 953 "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 263:
-#line 961 "dhcp4_parser.yy" // lalr1.cc:859
+  case 261:
+#line 959 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1796 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 264:
-#line 963 "dhcp4_parser.yy" // lalr1.cc:859
+  case 262:
+#line 961 "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 265:
-#line 969 "dhcp4_parser.yy" // lalr1.cc:859
+  case 263:
+#line 967 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1814 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 266:
-#line 971 "dhcp4_parser.yy" // lalr1.cc:859
+  case 264:
+#line 969 "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 267:
-#line 977 "dhcp4_parser.yy" // lalr1.cc:859
+  case 265:
+#line 975 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1832 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 268:
-#line 979 "dhcp4_parser.yy" // lalr1.cc:859
+  case 266:
+#line 977 "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 269:
-#line 985 "dhcp4_parser.yy" // lalr1.cc:859
+  case 267:
+#line 983 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.CLIENT_CLASS);
 }
 #line 1850 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 270:
-#line 987 "dhcp4_parser.yy" // lalr1.cc:859
+  case 268:
+#line 985 "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 271:
-#line 993 "dhcp4_parser.yy" // lalr1.cc:859
+  case 269:
+#line 991 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.RESERVATION_MODE);
 }
 #line 1868 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 272:
-#line 995 "dhcp4_parser.yy" // lalr1.cc:859
+  case 270:
+#line 993 "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 273:
-#line 1000 "dhcp4_parser.yy" // lalr1.cc:859
+  case 271:
+#line 998 "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 274:
-#line 1001 "dhcp4_parser.yy" // lalr1.cc:859
+  case 272:
+#line 999 "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 275:
-#line 1002 "dhcp4_parser.yy" // lalr1.cc:859
+  case 273:
+#line 1000 "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 276:
-#line 1005 "dhcp4_parser.yy" // lalr1.cc:859
+  case 274:
+#line 1003 "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 277:
-#line 1010 "dhcp4_parser.yy" // lalr1.cc:859
+  case 275:
+#line 1008 "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 278:
-#line 1017 "dhcp4_parser.yy" // lalr1.cc:859
+  case 276:
+#line 1015 "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 279:
-#line 1022 "dhcp4_parser.yy" // lalr1.cc:859
+  case 277:
+#line 1020 "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 284:
-#line 1037 "dhcp4_parser.yy" // lalr1.cc:859
+  case 282:
+#line 1035 "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 285:
-#line 1041 "dhcp4_parser.yy" // lalr1.cc:859
+  case 283:
+#line 1039 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 1951 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 305:
-#line 1072 "dhcp4_parser.yy" // lalr1.cc:859
+  case 303:
+#line 1070 "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 306:
-#line 1077 "dhcp4_parser.yy" // lalr1.cc:859
+  case 304:
+#line 1075 "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 307:
-#line 1085 "dhcp4_parser.yy" // lalr1.cc:859
+  case 305:
+#line 1083 "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 308:
-#line 1088 "dhcp4_parser.yy" // lalr1.cc:859
+  case 306:
+#line 1086 "dhcp4_parser.yy" // lalr1.cc:859
     {
     // parsing completed
 }
 #line 1988 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 313:
-#line 1104 "dhcp4_parser.yy" // lalr1.cc:859
+  case 311:
+#line 1102 "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 314:
-#line 1108 "dhcp4_parser.yy" // lalr1.cc:859
+  case 312:
+#line 1106 "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 315:
-#line 1119 "dhcp4_parser.yy" // lalr1.cc:859
+  case 313:
+#line 1117 "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 316:
-#line 1123 "dhcp4_parser.yy" // lalr1.cc:859
+  case 314:
+#line 1121 "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 332:
-#line 1155 "dhcp4_parser.yy" // lalr1.cc:859
+  case 330:
+#line 1153 "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 334:
-#line 1162 "dhcp4_parser.yy" // lalr1.cc:859
+  case 332:
+#line 1160 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2049 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 335:
-#line 1164 "dhcp4_parser.yy" // lalr1.cc:859
+  case 333:
+#line 1162 "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 336:
-#line 1170 "dhcp4_parser.yy" // lalr1.cc:859
+  case 334:
+#line 1168 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2067 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 337:
-#line 1172 "dhcp4_parser.yy" // lalr1.cc:859
+  case 335:
+#line 1170 "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 338:
-#line 1178 "dhcp4_parser.yy" // lalr1.cc:859
+  case 336:
+#line 1176 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2085 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 339:
-#line 1180 "dhcp4_parser.yy" // lalr1.cc:859
+  case 337:
+#line 1178 "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 341:
-#line 1188 "dhcp4_parser.yy" // lalr1.cc:859
+  case 339:
+#line 1186 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2103 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 342:
-#line 1190 "dhcp4_parser.yy" // lalr1.cc:859
+  case 340:
+#line 1188 "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 343:
-#line 1196 "dhcp4_parser.yy" // lalr1.cc:859
+  case 341:
+#line 1194 "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 344:
-#line 1205 "dhcp4_parser.yy" // lalr1.cc:859
+  case 342:
+#line 1203 "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 345:
-#line 1210 "dhcp4_parser.yy" // lalr1.cc:859
+  case 343:
+#line 1208 "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 350:
-#line 1229 "dhcp4_parser.yy" // lalr1.cc:859
+  case 348:
+#line 1227 "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 351:
-#line 1233 "dhcp4_parser.yy" // lalr1.cc:859
+  case 349:
+#line 1231 "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 352:
-#line 1241 "dhcp4_parser.yy" // lalr1.cc:859
+  case 350:
+#line 1239 "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 353:
-#line 1245 "dhcp4_parser.yy" // lalr1.cc:859
+  case 351:
+#line 1243 "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 368:
-#line 1278 "dhcp4_parser.yy" // lalr1.cc:859
+  case 366:
+#line 1276 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2188 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 369:
-#line 1280 "dhcp4_parser.yy" // lalr1.cc:859
+  case 367:
+#line 1278 "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 372:
-#line 1290 "dhcp4_parser.yy" // lalr1.cc:859
+  case 370:
+#line 1288 "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 373:
-#line 1295 "dhcp4_parser.yy" // lalr1.cc:859
+  case 371:
+#line 1293 "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 374:
-#line 1303 "dhcp4_parser.yy" // lalr1.cc:859
+  case 372:
+#line 1301 "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 375:
-#line 1308 "dhcp4_parser.yy" // lalr1.cc:859
+  case 373:
+#line 1306 "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 380:
-#line 1323 "dhcp4_parser.yy" // lalr1.cc:859
+  case 378:
+#line 1321 "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 381:
-#line 1327 "dhcp4_parser.yy" // lalr1.cc:859
+  case 379:
+#line 1325 "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 382:
-#line 1333 "dhcp4_parser.yy" // lalr1.cc:859
+  case 380:
+#line 1331 "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 383:
-#line 1337 "dhcp4_parser.yy" // lalr1.cc:859
+  case 381:
+#line 1335 "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 391:
-#line 1354 "dhcp4_parser.yy" // lalr1.cc:859
+  case 389:
+#line 1352 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2284 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 392:
-#line 1356 "dhcp4_parser.yy" // lalr1.cc:859
+  case 390:
+#line 1354 "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 393:
-#line 1362 "dhcp4_parser.yy" // lalr1.cc:859
+  case 391:
+#line 1360 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2302 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 394:
-#line 1364 "dhcp4_parser.yy" // lalr1.cc:859
+  case 392:
+#line 1362 "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 395:
-#line 1369 "dhcp4_parser.yy" // lalr1.cc:859
+  case 393:
+#line 1367 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2319 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 396:
-#line 1371 "dhcp4_parser.yy" // lalr1.cc:859
+  case 394:
+#line 1369 "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 397:
-#line 1381 "dhcp4_parser.yy" // lalr1.cc:859
+  case 395:
+#line 1379 "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 398:
-#line 1386 "dhcp4_parser.yy" // lalr1.cc:859
+  case 396:
+#line 1384 "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 403:
-#line 1399 "dhcp4_parser.yy" // lalr1.cc:859
+  case 401:
+#line 1397 "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 404:
-#line 1403 "dhcp4_parser.yy" // lalr1.cc:859
+  case 402:
+#line 1401 "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 405:
-#line 1408 "dhcp4_parser.yy" // lalr1.cc:859
+  case 403:
+#line 1406 "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 406:
-#line 1412 "dhcp4_parser.yy" // lalr1.cc:859
+  case 404:
+#line 1410 "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 426:
-#line 1443 "dhcp4_parser.yy" // lalr1.cc:859
+  case 424:
+#line 1441 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2396 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 427:
-#line 1445 "dhcp4_parser.yy" // lalr1.cc:859
+  case 425:
+#line 1443 "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 428:
-#line 1451 "dhcp4_parser.yy" // lalr1.cc:859
+  case 426:
+#line 1449 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2414 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 429:
-#line 1453 "dhcp4_parser.yy" // lalr1.cc:859
+  case 427:
+#line 1451 "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 430:
-#line 1459 "dhcp4_parser.yy" // lalr1.cc:859
+  case 428:
+#line 1457 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2432 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 431:
-#line 1461 "dhcp4_parser.yy" // lalr1.cc:859
+  case 429:
+#line 1459 "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 432:
-#line 1467 "dhcp4_parser.yy" // lalr1.cc:859
+  case 430:
+#line 1465 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2450 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 433:
-#line 1469 "dhcp4_parser.yy" // lalr1.cc:859
+  case 431:
+#line 1467 "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 434:
-#line 1475 "dhcp4_parser.yy" // lalr1.cc:859
+  case 432:
+#line 1473 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2468 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 435:
-#line 1477 "dhcp4_parser.yy" // lalr1.cc:859
+  case 433:
+#line 1475 "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 436:
-#line 1483 "dhcp4_parser.yy" // lalr1.cc:859
+  case 434:
+#line 1481 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2486 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 437:
-#line 1485 "dhcp4_parser.yy" // lalr1.cc:859
+  case 435:
+#line 1483 "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 438:
-#line 1491 "dhcp4_parser.yy" // lalr1.cc:859
+  case 436:
+#line 1489 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2504 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 439:
-#line 1493 "dhcp4_parser.yy" // lalr1.cc:859
+  case 437:
+#line 1491 "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 440:
-#line 1499 "dhcp4_parser.yy" // lalr1.cc:859
+  case 438:
+#line 1497 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2522 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 441:
-#line 1501 "dhcp4_parser.yy" // lalr1.cc:859
+  case 439:
+#line 1499 "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 442:
-#line 1507 "dhcp4_parser.yy" // lalr1.cc:859
+  case 440:
+#line 1505 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2540 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 443:
-#line 1509 "dhcp4_parser.yy" // lalr1.cc:859
+  case 441:
+#line 1507 "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 444:
-#line 1515 "dhcp4_parser.yy" // lalr1.cc:859
+  case 442:
+#line 1513 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2558 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 445:
-#line 1517 "dhcp4_parser.yy" // lalr1.cc:859
+  case 443:
+#line 1515 "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 446:
-#line 1523 "dhcp4_parser.yy" // lalr1.cc:859
+  case 444:
+#line 1521 "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 447:
-#line 1528 "dhcp4_parser.yy" // lalr1.cc:859
+  case 445:
+#line 1526 "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 448:
-#line 1536 "dhcp4_parser.yy" // lalr1.cc:859
+  case 446:
+#line 1534 "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 449:
-#line 1541 "dhcp4_parser.yy" // lalr1.cc:859
+  case 447:
+#line 1539 "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 450:
-#line 1546 "dhcp4_parser.yy" // lalr1.cc:859
+  case 448:
+#line 1544 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2616 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 451:
-#line 1548 "dhcp4_parser.yy" // lalr1.cc:859
+  case 449:
+#line 1546 "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 452:
-#line 1557 "dhcp4_parser.yy" // lalr1.cc:859
+  case 450:
+#line 1555 "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 453:
-#line 1562 "dhcp4_parser.yy" // lalr1.cc:859
+  case 451:
+#line 1560 "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 456:
-#line 1571 "dhcp4_parser.yy" // lalr1.cc:859
+  case 454:
+#line 1569 "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 457:
-#line 1575 "dhcp4_parser.yy" // lalr1.cc:859
+  case 455:
+#line 1573 "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 473:
-#line 1603 "dhcp4_parser.yy" // lalr1.cc:859
+  case 471:
+#line 1601 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2674 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 474:
-#line 1605 "dhcp4_parser.yy" // lalr1.cc:859
+  case 472:
+#line 1603 "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 475:
-#line 1615 "dhcp4_parser.yy" // lalr1.cc:859
+  case 473:
+#line 1613 "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 476:
-#line 1622 "dhcp4_parser.yy" // lalr1.cc:859
+  case 474:
+#line 1620 "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 477:
-#line 1627 "dhcp4_parser.yy" // lalr1.cc:859
+  case 475:
+#line 1625 "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 482:
-#line 1640 "dhcp4_parser.yy" // lalr1.cc:859
+  case 480:
+#line 1638 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2721 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 483:
-#line 1642 "dhcp4_parser.yy" // lalr1.cc:859
+  case 481:
+#line 1640 "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 484:
-#line 1648 "dhcp4_parser.yy" // lalr1.cc:859
+  case 482:
+#line 1646 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2739 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 485:
-#line 1650 "dhcp4_parser.yy" // lalr1.cc:859
+  case 483:
+#line 1648 "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 486:
-#line 1658 "dhcp4_parser.yy" // lalr1.cc:859
+  case 484:
+#line 1656 "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 487:
-#line 1663 "dhcp4_parser.yy" // lalr1.cc:859
+  case 485:
+#line 1661 "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 488:
-#line 1670 "dhcp4_parser.yy" // lalr1.cc:859
+  case 486:
+#line 1668 "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 489:
-#line 1674 "dhcp4_parser.yy" // lalr1.cc:859
+  case 487:
+#line 1672 "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 509:
-#line 1703 "dhcp4_parser.yy" // lalr1.cc:859
+  case 507:
+#line 1701 "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 510:
-#line 1708 "dhcp4_parser.yy" // lalr1.cc:859
+  case 508:
+#line 1706 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2808 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 511:
-#line 1710 "dhcp4_parser.yy" // lalr1.cc:859
+  case 509:
+#line 1708 "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 512:
-#line 1716 "dhcp4_parser.yy" // lalr1.cc:859
+  case 510:
+#line 1714 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2826 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 513:
-#line 1718 "dhcp4_parser.yy" // lalr1.cc:859
+  case 511:
+#line 1716 "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 514:
-#line 1724 "dhcp4_parser.yy" // lalr1.cc:859
+  case 512:
+#line 1722 "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 515:
-#line 1729 "dhcp4_parser.yy" // lalr1.cc:859
+  case 513:
+#line 1727 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2853 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 516:
-#line 1731 "dhcp4_parser.yy" // lalr1.cc:859
+  case 514:
+#line 1729 "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 517:
-#line 1737 "dhcp4_parser.yy" // lalr1.cc:859
+  case 515:
+#line 1735 "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 518:
-#line 1742 "dhcp4_parser.yy" // lalr1.cc:859
+  case 516:
+#line 1740 "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 519:
-#line 1747 "dhcp4_parser.yy" // lalr1.cc:859
+  case 517:
+#line 1745 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NCR_PROTOCOL);
 }
 #line 2889 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 520:
-#line 1749 "dhcp4_parser.yy" // lalr1.cc:859
+  case 518:
+#line 1747 "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 521:
-#line 1755 "dhcp4_parser.yy" // lalr1.cc:859
+  case 519:
+#line 1753 "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 522:
-#line 1756 "dhcp4_parser.yy" // lalr1.cc:859
+  case 520:
+#line 1754 "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 523:
-#line 1759 "dhcp4_parser.yy" // lalr1.cc:859
+  case 521:
+#line 1757 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NCR_FORMAT);
 }
 #line 2918 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 524:
-#line 1761 "dhcp4_parser.yy" // lalr1.cc:859
+  case 522:
+#line 1759 "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 525:
-#line 1767 "dhcp4_parser.yy" // lalr1.cc:859
+  case 523:
+#line 1765 "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 526:
-#line 1772 "dhcp4_parser.yy" // lalr1.cc:859
+  case 524:
+#line 1770 "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 527:
-#line 1777 "dhcp4_parser.yy" // lalr1.cc:859
+  case 525:
+#line 1775 "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 528:
-#line 1782 "dhcp4_parser.yy" // lalr1.cc:859
+  case 526:
+#line 1780 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.REPLACE_CLIENT_NAME);
 }
 #line 2963 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 529:
-#line 1784 "dhcp4_parser.yy" // lalr1.cc:859
+  case 527:
+#line 1782 "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 530:
-#line 1790 "dhcp4_parser.yy" // lalr1.cc:859
+  case 528:
+#line 1788 "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 531:
-#line 1793 "dhcp4_parser.yy" // lalr1.cc:859
+  case 529:
+#line 1791 "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 532:
-#line 1796 "dhcp4_parser.yy" // lalr1.cc:859
+  case 530:
+#line 1794 "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 533:
-#line 1799 "dhcp4_parser.yy" // lalr1.cc:859
+  case 531:
+#line 1797 "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 534:
-#line 1802 "dhcp4_parser.yy" // lalr1.cc:859
+  case 532:
+#line 1800 "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 535:
-#line 1808 "dhcp4_parser.yy" // lalr1.cc:859
+  case 533:
+#line 1806 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3021 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 536:
-#line 1810 "dhcp4_parser.yy" // lalr1.cc:859
+  case 534:
+#line 1808 "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 537:
-#line 1818 "dhcp4_parser.yy" // lalr1.cc:859
+  case 535:
+#line 1816 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3039 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 538:
-#line 1820 "dhcp4_parser.yy" // lalr1.cc:859
+  case 536:
+#line 1818 "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 539:
-#line 1825 "dhcp4_parser.yy" // lalr1.cc:859
+  case 537:
+#line 1823 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3056 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 540:
-#line 1827 "dhcp4_parser.yy" // lalr1.cc:859
+  case 538:
+#line 1825 "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 541:
-#line 1832 "dhcp4_parser.yy" // lalr1.cc:859
+  case 539:
+#line 1830 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3073 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 542:
-#line 1834 "dhcp4_parser.yy" // lalr1.cc:859
+  case 540:
+#line 1832 "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 543:
-#line 1844 "dhcp4_parser.yy" // lalr1.cc:859
+  case 541:
+#line 1842 "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 544:
-#line 1849 "dhcp4_parser.yy" // lalr1.cc:859
+  case 542:
+#line 1847 "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 548:
-#line 1866 "dhcp4_parser.yy" // lalr1.cc:859
+  case 546:
+#line 1864 "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 549:
-#line 1871 "dhcp4_parser.yy" // lalr1.cc:859
+  case 547:
+#line 1869 "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 552:
-#line 1883 "dhcp4_parser.yy" // lalr1.cc:859
+  case 550:
+#line 1881 "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 553:
-#line 1887 "dhcp4_parser.yy" // lalr1.cc:859
+  case 551:
+#line 1885 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 3140 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 563:
-#line 1904 "dhcp4_parser.yy" // lalr1.cc:859
+  case 561:
+#line 1902 "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 564:
-#line 1909 "dhcp4_parser.yy" // lalr1.cc:859
+  case 562:
+#line 1907 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3157 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 565:
-#line 1911 "dhcp4_parser.yy" // lalr1.cc:859
+  case 563:
+#line 1909 "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 566:
-#line 1917 "dhcp4_parser.yy" // lalr1.cc:859
+  case 564:
+#line 1915 "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 567:
-#line 1922 "dhcp4_parser.yy" // lalr1.cc:859
+  case 565:
+#line 1920 "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 570:
-#line 1931 "dhcp4_parser.yy" // lalr1.cc:859
+  case 568:
+#line 1929 "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 571:
-#line 1935 "dhcp4_parser.yy" // lalr1.cc:859
+  case 569:
+#line 1933 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 3205 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 578:
-#line 1949 "dhcp4_parser.yy" // lalr1.cc:859
+  case 576:
+#line 1947 "dhcp4_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3213 "dhcp4_parser.cc" // lalr1.cc:859
     break;
 
-  case 579:
-#line 1951 "dhcp4_parser.yy" // lalr1.cc:859
+  case 577:
+#line 1949 "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 580:
-#line 1957 "dhcp4_parser.yy" // lalr1.cc:859
+  case 578:
+#line 1955 "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 581:
-#line 1962 "dhcp4_parser.yy" // lalr1.cc:859
+  case 579:
+#line 1960 "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 582:
-#line 1967 "dhcp4_parser.yy" // lalr1.cc:859
+  case 580:
+#line 1965 "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,106 +3505,106 @@ namespace isc { namespace dhcp {
   }
 
 
-  const short int Dhcp4Parser::yypact_ninf_ = -728;
+  const short int Dhcp4Parser::yypact_ninf_ = -737;
 
   const signed char Dhcp4Parser::yytable_ninf_ = -1;
 
   const short int
   Dhcp4Parser::yypact_[] =
   {
-     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
+     425,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,    17,    24,    32,    43,    95,   106,   110,
+     114,   125,   131,   137,   142,   144,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+      24,   -65,    22,   141,    61,    41,    35,   171,   103,   343,
+     225,   -14,   346,  -737,    85,   154,   164,   162,   178,  -737,
+    -737,  -737,  -737,  -737,   196,  -737,    44,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,   205,   214,  -737,  -737,  -737,  -737,
+    -737,   244,   268,   269,   271,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,   272,  -737,  -737,  -737,   132,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,   279,
+    -737,   138,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,   281,   298,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,   139,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,   193,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,   189,
+     231,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,   293,  -737,  -737,   308,  -737,  -737,  -737,
+     310,  -737,  -737,   303,   318,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,   320,   322,
+    -737,  -737,  -737,  -737,   314,   326,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,   195,  -737,
+    -737,  -737,   328,  -737,  -737,   330,  -737,   334,   335,  -737,
+    -737,   337,   339,   342,  -737,  -737,  -737,  -737,  -737,   204,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,    24,    24,  -737,   202,
+     347,   348,   349,   351,   352,  -737,    22,  -737,   356,   213,
+     215,   370,   371,   372,   373,   375,   239,   248,   251,   252,
+     378,   385,   387,   388,   400,   402,   409,   424,   426,   427,
+     284,   429,   431,   141,  -737,   432,   433,   434,   289,    61,
+    -737,   243,   436,   437,   438,   439,   440,   441,   444,   315,
+     316,   460,   461,   463,   464,    41,  -737,   465,    35,  -737,
+     466,   467,   469,   470,   471,   474,   476,   477,  -737,   171,
+    -737,   478,   481,   338,   483,   484,   487,   344,  -737,   343,
+     488,   345,   350,  -737,   225,   492,   494,    70,  -737,   355,
+     498,   502,   359,   505,   362,   363,   508,   510,   365,   366,
+     368,   515,   516,   346,  -737,  -737,  -737,   517,   422,   518,
+      24,    24,    24,  -737,   519,  -737,  -737,   376,   377,   380,
+     524,   525,  -737,  -737,  -737,  -737,   528,   531,   532,   533,
+     534,    24,   535,   537,   538,   539,  -737,   540,   543,  -737,
+     546,   175,   210,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,   514,   541,  -737,  -737,  -737,
+     398,   405,   406,   550,   410,   411,   430,  -737,  -737,   187,
+     435,   551,   565,  -737,   442,  -737,   546,   443,   445,   446,
+     447,   448,   449,   450,  -737,   451,   452,  -737,   453,   454,
+     455,  -737,  -737,   456,  -737,  -737,  -737,   457,    24,  -737,
+    -737,   458,   459,  -737,   462,  -737,  -737,    11,   468,  -737,
+    -737,  -737,   -53,   472,  -737,    24,   141,   486,  -737,  -737,
+    -737,    61,  -737,  -737,  -737,   382,   382,   566,   567,   569,
+     571,  -737,  -737,  -737,   -40,     9,   572,    83,   130,   346,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,   576,  -737,
+     243,  -737,  -737,  -737,   574,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,   577,   496,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,   217,  -737,   218,
+    -737,  -737,   230,  -737,  -737,  -737,  -737,   581,   583,   584,
+     587,   603,  -737,  -737,  -737,   234,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,   238,  -737,   602,   608,  -737,  -737,   606,   610,  -737,
+    -737,   609,   611,  -737,  -737,   612,   613,  -737,  -737,  -737,
+    -737,  -737,  -737,    54,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,    75,  -737,   614,   618,  -737,   619,   620,   621,   622,
+     623,   624,   241,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,   242,  -737,  -737,  -737,   254,   475,   482,  -737,
+    -737,   625,   627,  -737,  -737,   626,   630,  -737,  -737,   628,
+    -737,   631,   486,  -737,  -737,   633,   634,   635,   636,   493,
+     495,   499,   500,   501,   638,   639,   382,  -737,  -737,    41,
+    -737,   566,   343,  -737,   567,   225,  -737,   569,    72,  -737,
+     571,   -40,  -737,     9,  -737,   -14,  -737,   572,   503,   504,
+     506,   507,   509,   511,    83,  -737,   640,   642,   130,  -737,
+    -737,  -737,   647,   645,  -737,    35,  -737,   574,   171,  -737,
+     577,   652,  -737,   629,  -737,   396,   513,   521,   522,  -737,
+    -737,  -737,  -737,  -737,   523,   526,  -737,   260,  -737,   650,
+    -737,   653,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,   266,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,   288,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,   544,   552,  -737,  -737,   555,   295,
+    -737,   654,  -737,   558,   656,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,    72,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,    98,  -737,
+    -737,   159,   656,  -737,  -737,   660,  -737,  -737,  -737,  -737,
+    -737,   297,  -737,  -737,  -737,  -737,  -737,   661,   527,   662,
+     159,  -737,   666,  -737,   560,  -737,   665,  -737,  -737,   128,
+    -737,    84,   665,  -737,  -737,   674,   677,   678,   307,  -737,
+    -737,  -737,  -737,  -737,  -737,   680,   559,   542,   563,    84,
+    -737,   568,  -737,  -737,  -737,  -737,  -737
   };
 
   const unsigned short int
@@ -3614,359 +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,   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,
+      66,     7,   113,     9,   227,    11,   380,    13,   403,    15,
+     305,    17,   313,    19,   350,    21,   192,    23,   486,    25,
+      43,    37,     0,     0,     0,     0,     0,   405,     0,   315,
+     352,     0,     0,    45,     0,    44,     0,     0,    38,    64,
+     541,   535,   537,   539,     0,    63,     0,    56,    58,    60,
+      61,    62,    59,   102,     0,     0,   424,   426,   428,   126,
+     128,     0,     0,     0,     0,   219,   303,   342,   276,   391,
+     393,   170,   450,   184,   203,     0,   474,   484,    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,   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,
+     112,     0,   104,   106,   107,   108,   109,   110,   111,   454,
+     257,   259,   261,   372,   255,   263,   265,     0,     0,   269,
+     267,   395,   446,   254,   231,   232,   233,   245,     0,   229,
+     236,   249,   250,   251,   237,   238,   241,   243,   239,   240,
+     234,   235,   252,   253,   242,   246,   247,   248,   244,   389,
+     388,   385,     0,   382,   384,   386,   387,   444,   432,   434,
+     438,   436,   442,   440,   430,   423,   417,   421,   422,     0,
+     406,   407,   418,   419,   420,   414,   409,   415,   411,   412,
+     413,   416,   410,     0,   332,   160,     0,   336,   334,   339,
+       0,   328,   329,     0,   316,   317,   319,   331,   320,   321,
+     322,   338,   323,   324,   325,   326,   327,   366,     0,     0,
+     364,   365,   368,   369,     0,   353,   354,   356,   357,   358,
+     359,   360,   361,   362,   363,   199,   201,   196,     0,   194,
+     197,   198,     0,   508,   510,     0,   513,     0,     0,   517,
+     521,     0,     0,     0,   526,   533,   506,   504,   505,     0,
+     488,   490,   491,   492,   493,   494,   495,   496,   497,   498,
+     499,   500,   501,   502,   503,    42,     0,     0,    35,     0,
+       0,     0,     0,     0,     0,    53,     0,    55,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    67,     0,     0,     0,     0,     0,
+     114,   456,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   228,     0,     0,   381,
+       0,     0,     0,     0,     0,     0,     0,     0,   404,     0,
+     306,     0,     0,     0,     0,     0,     0,     0,   314,     0,
+       0,     0,     0,   351,     0,     0,     0,     0,   193,     0,
        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
+       0,     0,     0,     0,   487,    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,   473,     0,     0,    69,
+       0,     0,     0,   125,   105,   471,   469,   470,   462,   463,
+     467,   468,   464,   465,   466,     0,   457,   458,   460,   461,
+       0,     0,     0,     0,     0,     0,     0,   274,   275,     0,
+       0,     0,     0,   230,     0,   383,     0,     0,     0,     0,
+       0,     0,     0,     0,   408,     0,     0,   330,     0,     0,
+       0,   341,   318,     0,   370,   371,   355,     0,     0,   195,
+     507,     0,     0,   512,     0,   515,   516,     0,     0,   523,
+     524,   525,     0,     0,   489,     0,     0,     0,   536,   538,
+     540,     0,   425,   427,   429,     0,     0,   221,   307,   344,
+     278,    36,   392,   394,     0,     0,   186,     0,     0,     0,
+      47,   116,   119,   120,   118,   123,   124,   122,     0,   455,
+       0,   258,   260,   262,   374,   256,   264,   266,   271,   272,
+     273,   270,   268,   397,     0,   390,   445,   433,   435,   439,
+     437,   443,   441,   431,   333,   161,   337,   335,   340,   367,
+     200,   202,   509,   511,   514,   519,   520,   518,   522,   528,
+     529,   530,   531,   532,   527,   534,    40,     0,   546,     0,
+     543,   545,     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,   225,     0,   222,   223,   311,     0,   308,   309,
+     348,     0,   345,   346,   282,     0,   279,   280,   179,   180,
+     181,   182,   183,     0,   172,   174,   175,   176,   177,   178,
+     452,     0,   190,     0,   187,   188,     0,     0,     0,     0,
+       0,     0,     0,   205,   207,   208,   209,   210,   211,   212,
+     480,   482,     0,   476,   478,   479,     0,    49,     0,   459,
+     378,     0,   375,   376,   401,     0,   398,   399,   448,     0,
+      65,     0,     0,   542,   103,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   127,   129,     0,
+     220,     0,   315,   304,     0,   352,   343,     0,     0,   277,
+       0,     0,   171,     0,   451,     0,   185,     0,     0,     0,
+       0,     0,     0,     0,     0,   204,     0,     0,     0,   475,
+     485,    51,     0,    50,   472,     0,   373,     0,   405,   396,
+       0,     0,   447,     0,   544,     0,     0,     0,     0,   159,
+     162,   163,   164,   165,     0,     0,   131,     0,   224,     0,
+     310,     0,   347,   302,   299,   289,   290,   292,   286,   287,
+     288,   298,   297,     0,   284,   291,   300,   301,   293,   294,
+     295,   296,   281,   173,   453,     0,   189,   213,   214,   215,
+     216,   217,   218,   206,     0,     0,   477,    48,     0,     0,
+     377,     0,   400,     0,     0,   149,   150,   151,   152,   148,
+     154,   156,   158,   167,   169,   226,   312,   349,     0,   283,
+     191,   481,   483,    52,   379,   402,   449,   550,     0,   548,
+     285,     0,     0,   547,   564,     0,   562,   560,   554,   558,
+     559,     0,   552,   556,   557,   555,   549,     0,     0,     0,
+       0,   551,     0,   561,     0,   553,     0,   563,   568,     0,
+     566,     0,     0,   565,   576,     0,     0,     0,     0,   570,
+     572,   573,   574,   575,   567,     0,     0,     0,     0,     0,
+     569,     0,   578,   579,   580,   571,   577
   };
 
   const short int
   Dhcp4Parser::yypgoto_[] =
   {
-    -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
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,   -46,  -737,   167,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,   192,  -737,  -737,  -737,   -62,
+    -737,  -737,  -737,   393,  -737,  -737,  -737,  -737,   149,   361,
+     -52,   -50,   -47,  -737,  -737,   -44,  -737,  -737,   179,   367,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,   176,   -15,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,   -69,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+     -27,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+     -28,  -737,  -737,  -737,   -25,   331,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,   -29,  -737,  -737,  -737,  -737,  -737,  -737,
+    -736,  -737,  -737,  -737,    -2,  -737,  -737,  -737,     1,   374,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -729,  -737,
+    -737,  -737,  -549,  -737,  -728,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,    -9,  -737,  -737,  -116,   -57,  -737,  -737,
+    -737,  -737,  -737,    -1,  -737,  -737,  -737,     3,  -737,   353,
+    -737,   -35,  -737,  -737,  -737,  -737,  -737,   -33,  -737,  -737,
+    -737,  -737,  -737,     5,  -737,  -737,  -737,     4,  -737,  -737,
+    -737,    10,  -737,   354,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,   -23,  -737,  -737,  -737,   -19,
+     381,  -737,  -737,   -42,  -737,   -11,  -737,  -737,  -737,  -737,
+    -737,   -34,  -737,  -737,  -737,   -30,  -737,   379,   -31,  -737,
+     -21,  -737,   -16,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -710,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+     180,  -737,  -737,  -737,  -737,  -737,  -737,  -737,    -8,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,   206,   340,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,  -737,
+    -737,    39,  -737,  -737,  -737,  -106,  -737,  -737,  -121,  -737,
+    -737,  -737,  -737,  -737,  -737,  -132,  -737,  -737,  -148,  -737,
+    -737,  -737,  -737,  -737
   };
 
   const short int
   Dhcp4Parser::yydefgoto_[] =
   {
       -1,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      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
+      22,    23,    24,    25,    34,    35,    36,    61,   552,    77,
+      78,    37,    60,    74,    75,   561,   707,   772,   773,   118,
+      39,    62,    86,    87,    88,   320,    41,    63,   119,   120,
+     121,   122,   123,   124,   125,   126,   127,   328,   151,   152,
+      43,    64,   153,   355,   154,   356,   564,   155,   357,   567,
+     156,   128,   334,   129,   335,   635,   636,   637,   725,   849,
+     638,   726,   639,   727,   640,   728,   641,   242,   392,   643,
+     644,   645,   646,   647,   734,   648,   735,   130,   346,   673,
+     674,   675,   676,   677,   678,   679,   131,   348,   683,   684,
+     685,   755,    57,    71,   278,   279,   280,   405,   281,   406,
+     132,   349,   692,   693,   694,   695,   696,   697,   698,   699,
+     133,   340,   653,   654,   655,   739,    45,    65,   178,   179,
+     180,   366,   181,   362,   182,   363,   183,   364,   184,   367,
+     185,   368,   186,   372,   187,   371,   581,   188,   189,   134,
+     343,   665,   666,   667,   748,   813,   814,   135,   341,    51,
+      68,   657,   658,   659,   742,    53,    69,   243,   244,   245,
+     246,   247,   248,   249,   391,   250,   395,   251,   394,   252,
+     253,   396,   254,   136,   342,   661,   662,   663,   745,    55,
+      70,   264,   265,   266,   267,   268,   400,   269,   270,   271,
+     272,   191,   365,   711,   712,   713,   775,    47,    66,   202,
+     203,   204,   377,   137,   344,   138,   345,   194,   373,   715,
+     716,   717,   778,    49,    67,   219,   220,   221,   139,   331,
+     140,   332,   141,   333,   225,   387,   226,   381,   227,   382,
+     228,   384,   229,   383,   230,   386,   231,   385,   232,   380,
+     198,   374,   719,   781,   142,   347,   681,   361,   475,   476,
+     477,   478,   479,   568,   143,   144,   351,   702,   703,   704,
+     766,   705,   767,   145,   352,    59,    72,   299,   300,   301,
+     302,   410,   303,   411,   304,   305,   413,   306,   307,   308,
+     416,   607,   309,   417,   310,   311,   312,   313,   421,   614,
+     314,   422,    89,   322,    90,   323,    91,   324,    92,   321,
+     619,   620,   621,   721,   868,   869,   871,   881,   882,   883,
+     884,   889,   885,   887,   899,   900,   901,   908,   909,   910,
+     915,   911,   912,   913
   };
 
   const unsigned short int
   Dhcp4Parser::yytable_[] =
   {
-      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
+      85,   261,   150,   173,   200,   215,   680,   241,   260,   277,
+     296,   233,   809,   174,    73,   175,   159,    26,   176,   810,
+     812,   177,   157,   192,   205,   217,   605,   255,   273,    27,
+     297,    28,    79,    29,   195,   262,   222,   263,   821,    38,
+     668,   669,   670,   671,   196,   672,   223,   326,   159,   197,
+      40,   224,   327,   158,   193,   206,   218,   751,   256,   274,
+     752,   298,    95,    96,    97,    98,   609,   610,   611,   612,
+     190,   201,   216,   146,   147,   275,   276,   148,   753,   159,
+     149,   754,    76,   101,   102,   103,   107,   170,   160,   161,
+     162,   315,   107,    95,    96,    97,    98,   613,   199,   109,
+     110,   872,    42,   163,   873,   109,   110,   164,   165,   166,
+     167,   168,   169,    44,   101,   102,   103,    46,   105,   170,
+     171,    48,   809,   107,   235,   109,   110,   172,   606,   810,
+     812,   902,    50,    84,   903,   353,   109,   110,    52,   165,
+     354,   359,   375,   169,    54,    80,   360,   376,   821,    56,
+     170,    58,    93,   106,    81,    82,    83,   316,   172,   275,
+     276,    94,    95,    96,    97,    98,    99,   100,   317,    84,
+     318,    30,    31,    32,    33,   686,   687,   688,   689,   690,
+     691,   319,    84,   101,   102,   103,   104,   105,    84,   562,
+     563,   106,   107,    96,    97,    98,   378,   388,   407,   811,
+     325,   379,   108,   408,   824,   109,   110,   423,    84,   329,
+     904,   235,   424,   905,   906,   907,   111,   112,   330,    84,
+     353,   722,   107,   109,   110,   720,   723,   565,   566,   113,
+     700,   701,   114,   359,   389,   109,   110,   736,   724,   115,
+     116,   736,   737,   117,   764,   768,   738,   207,   336,   765,
+     769,   208,   209,   210,   211,   212,   213,   423,   214,   578,
+     579,   580,   770,   375,    85,    96,    97,    98,   855,   858,
+     425,   426,   337,   338,   859,   339,   350,   235,   257,   236,
+     237,   258,   259,   358,   874,   369,   875,   876,    84,   109,
+     110,   407,   467,   106,   107,   235,   860,   150,   378,   466,
+     890,   390,   370,   864,   468,   891,    84,   109,   110,   811,
+     919,   398,   393,   173,   397,   920,   200,   157,    84,   470,
+     465,   399,   403,   174,   401,   175,   402,   215,   176,   404,
+     472,   177,   409,   192,   412,   261,   205,   241,   414,   415,
+     473,   418,   260,   419,   195,   474,   420,   217,   158,   427,
+     471,   428,   429,   430,   196,   431,   432,   255,   222,   197,
+     434,   296,   273,   435,   193,   436,   469,   206,   223,   262,
+     234,   263,    84,   224,   437,   438,   439,   440,   218,   441,
+     190,   297,   446,   201,   538,   539,   540,   442,   256,   447,
+      84,   448,   449,   274,   216,   235,   443,   236,   237,   444,
+     445,   238,   239,   240,   450,   553,   451,   109,   110,   623,
+     109,   110,   298,   452,   624,   625,   626,   627,   628,   629,
+     630,   631,   632,   633,   845,   846,   847,   848,   453,   536,
+     454,   455,   456,   457,   235,   458,   460,   461,   462,   463,
+     480,   481,   482,   483,   484,   485,   109,   110,   486,   282,
+     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
+     293,   294,   295,   487,   489,   490,   488,   491,   492,   494,
+     496,   497,   601,   498,   499,   500,   642,   642,   501,   150,
+     502,   503,   505,   634,   634,   506,   507,   508,   509,   616,
+      84,   510,   513,    84,   511,   514,   517,   296,   518,   157,
+     515,   467,   521,   649,   649,   520,   522,   523,   466,   524,
+     525,   526,   527,   468,   528,   529,   530,   297,   531,   532,
+     533,   535,   569,   542,   543,   537,   541,   544,   470,    84,
+     158,   545,   546,   547,   650,   650,   548,   549,   550,   472,
+     554,    28,   555,   556,   570,   571,   557,   558,   298,   473,
+     559,   560,   572,   573,   474,   574,   583,   575,   576,   471,
+       1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
+      11,    12,   584,   652,   656,   469,   660,   577,   664,   682,
+     708,   710,   582,   718,   714,   729,   608,   730,   731,   585,
+     587,   732,   588,   589,   590,   591,   592,   593,   594,   595,
+     596,   597,   598,   599,   600,   602,   603,   733,   740,   604,
+     618,   741,   743,   744,   747,   746,   750,   551,   749,   615,
+     756,   757,   771,   758,   759,   760,   761,   762,   763,   774,
+     777,   776,   779,   780,   844,   783,   782,   785,   786,   787,
+     788,   789,   794,   795,   834,   790,   835,   791,   838,   793,
+     792,   827,   828,   837,   829,   830,   843,   831,   856,   832,
+     850,   857,   865,   867,   888,   892,   894,   642,   851,   852,
+     853,   896,   898,   854,   634,   893,   261,   173,   916,   808,
+     241,   917,   918,   260,   921,   617,   803,   174,   586,   175,
+     923,   861,   176,   277,   649,   177,   804,   192,   805,   862,
+     255,   806,   863,   273,   807,   866,   816,   897,   195,   922,
+     262,   924,   263,   200,   459,   926,   215,   818,   196,   433,
+     622,   796,   651,   197,   823,   650,   464,   819,   193,   826,
+     825,   256,   820,   205,   274,   833,   217,   817,   519,   798,
+     797,   822,   870,   800,   190,   799,   842,   222,   841,   493,
+     709,   802,   512,   815,   840,   801,   839,   223,   516,   495,
+     836,   784,   224,   534,   206,   706,   886,   218,   504,   895,
+     914,   925,     0,     0,     0,     0,     0,     0,     0,     0,
+     201,     0,     0,   216,     0,     0,     0,     0,     0,   808,
+       0,     0,     0,     0,     0,     0,   803,     0,     0,     0,
+       0,     0,   878,     0,     0,     0,   804,     0,   805,   877,
+       0,   806,     0,     0,   807,     0,   816,     0,     0,     0,
+       0,   878,     0,     0,     0,     0,     0,   818,   877,   879,
+       0,     0,     0,     0,     0,     0,     0,   819,     0,     0,
+       0,     0,   820,     0,     0,     0,     0,   817,   879,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     880,     0,     0,   815,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   880
   };
 
   const short int
   Dhcp4Parser::yycheck_[] =
   {
-      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
+      62,    70,    64,    65,    66,    67,   555,    69,    70,    71,
+      72,    68,   748,    65,    60,    65,     7,     0,    65,   748,
+     748,    65,    64,    65,    66,    67,    15,    69,    70,     5,
+      72,     7,    10,     9,    65,    70,    67,    70,   748,     7,
+      80,    81,    82,    83,    65,    85,    67,     3,     7,    65,
+       7,    67,     8,    64,    65,    66,    67,     3,    69,    70,
+       6,    72,    21,    22,    23,    24,   119,   120,   121,   122,
+      65,    66,    67,    12,    13,    89,    90,    16,     3,     7,
+      19,     6,   147,    42,    43,    44,    51,    78,    47,    48,
+      49,     6,    51,    21,    22,    23,    24,   150,    63,    64,
+      65,     3,     7,    62,     6,    64,    65,    66,    67,    68,
+      69,    70,    71,     7,    42,    43,    44,     7,    46,    78,
+      79,     7,   858,    51,    52,    64,    65,    86,   117,   858,
+     858,     3,     7,   147,     6,     3,    64,    65,     7,    67,
+       8,     3,     3,    71,     7,   123,     8,     8,   858,     7,
+      78,     7,    11,    50,   132,   133,   134,     3,    86,    89,
+      90,    20,    21,    22,    23,    24,    25,    26,     4,   147,
+       8,   147,   148,   149,   150,    92,    93,    94,    95,    96,
+      97,     3,   147,    42,    43,    44,    45,    46,   147,    14,
+      15,    50,    51,    22,    23,    24,     3,     8,     3,   748,
+       4,     8,    61,     8,   753,    64,    65,     3,   147,     4,
+     126,    52,     8,   129,   130,   131,    75,    76,     4,   147,
+       3,     3,    51,    64,    65,     8,     8,    17,    18,    88,
+     100,   101,    91,     3,     3,    64,    65,     3,     8,    98,
+      99,     3,     8,   102,     3,     3,     8,    76,     4,     8,
+       8,    80,    81,    82,    83,    84,    85,     3,    87,    72,
+      73,    74,     8,     3,   326,    22,    23,    24,     8,     3,
+     316,   317,     4,     4,     8,     4,     4,    52,    53,    54,
+      55,    56,    57,     4,   125,     4,   127,   128,   147,    64,
+      65,     3,   361,    50,    51,    52,     8,   359,     3,   361,
+       3,     8,     4,     8,   361,     8,   147,    64,    65,   858,
+       3,     8,     4,   375,     4,     8,   378,   359,   147,   361,
+      77,     3,     8,   375,     4,   375,     4,   389,   375,     3,
+     361,   375,     4,   375,     4,   404,   378,   399,     4,     4,
+     361,     4,   404,     4,   375,   361,     4,   389,   359,   147,
+     361,     4,     4,     4,   375,     4,     4,   399,   389,   375,
+       4,   423,   404,   150,   375,   150,   361,   378,   389,   404,
+      27,   404,   147,   389,     4,     4,     4,     4,   389,     4,
+     375,   423,     4,   378,   430,   431,   432,   148,   399,     4,
+     147,     4,     4,   404,   389,    52,   148,    54,    55,   148,
+     148,    58,    59,    60,     4,   451,     4,    64,    65,    27,
+      64,    65,   423,     4,    32,    33,    34,    35,    36,    37,
+      38,    39,    40,    41,    28,    29,    30,    31,     4,     7,
+       4,     4,   148,     4,    52,     4,     4,     4,     4,   150,
+       4,     4,     4,     4,     4,     4,    64,    65,     4,   103,
+     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
+     114,   115,   116,   148,     4,     4,   150,     4,     4,     4,
+       4,     4,   518,     4,     4,     4,   545,   546,     4,   541,
+       4,     4,     4,   545,   546,     4,   148,     4,     4,   535,
+     147,     4,     4,   147,   150,   150,     4,   559,     4,   541,
+     150,   570,     4,   545,   546,   150,     4,   148,   570,     4,
+     148,   148,     4,   570,     4,   150,   150,   559,   150,     4,
+       4,     4,     8,   147,   147,     7,     7,   147,   570,   147,
+     541,     7,     7,     5,   545,   546,     5,     5,     5,   570,
+       5,     7,     5,     5,     3,   147,     7,     7,   559,   570,
+       7,     5,   147,   147,   570,     5,     5,   147,   147,   570,
+     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
+     145,   146,     7,     7,     7,   570,     7,   147,     7,     7,
+       4,     7,   147,    87,     7,     4,   118,     4,     4,   147,
+     147,     4,   147,   147,   147,   147,   147,   147,   147,   147,
+     147,   147,   147,   147,   147,   147,   147,     4,     6,   147,
+     124,     3,     6,     3,     3,     6,     3,   450,     6,   147,
+       6,     3,   147,     4,     4,     4,     4,     4,     4,   147,
+       3,     6,     6,     3,     5,     4,     8,     4,     4,     4,
+       4,   148,     4,     4,     4,   150,     4,   148,     3,   148,
+     150,   148,   148,     6,   148,   148,     4,   148,     8,   148,
+     147,     8,     8,     7,     4,     4,     4,   736,   147,   147,
+     147,     5,     7,   147,   736,   148,   745,   739,     4,   748,
+     742,     4,     4,   745,     4,   536,   748,   739,   496,   739,
+     148,   147,   739,   755,   736,   739,   748,   739,   748,   147,
+     742,   748,   147,   745,   748,   147,   748,   147,   739,   150,
+     745,   148,   745,   775,   353,   147,   778,   748,   739,   326,
+     541,   736,   546,   739,   751,   736,   359,   748,   739,   757,
+     755,   742,   748,   775,   745,   764,   778,   748,   407,   741,
+     739,   750,   858,   744,   739,   742,   780,   778,   778,   375,
+     570,   747,   399,   748,   777,   745,   775,   778,   404,   378,
+     768,   722,   778,   423,   775,   559,   872,   778,   389,   890,
+     902,   919,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     775,    -1,    -1,   778,    -1,    -1,    -1,    -1,    -1,   858,
+      -1,    -1,    -1,    -1,    -1,    -1,   858,    -1,    -1,    -1,
+      -1,    -1,   871,    -1,    -1,    -1,   858,    -1,   858,   871,
+      -1,   858,    -1,    -1,   858,    -1,   858,    -1,    -1,    -1,
+      -1,   890,    -1,    -1,    -1,    -1,    -1,   858,   890,   871,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   858,    -1,    -1,
+      -1,    -1,   858,    -1,    -1,    -1,    -1,   858,   890,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     871,    -1,    -1,   858,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   890
   };
 
   const unsigned short int
@@ -4000,71 +4000,71 @@ namespace isc { namespace dhcp {
      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,
+     257,   259,   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,   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
+     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
@@ -4089,46 +4089,46 @@ namespace isc { namespace dhcp {
      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,
+     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,   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,
+     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,   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
+     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
@@ -4153,46 +4153,46 @@ namespace isc { namespace dhcp {
        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,
+       0,     4,     0,     4,     1,     3,     1,     1,     1,     0,
+       4,     0,     4,     0,     6,     1,     3,     1,     1,     1,
+       1,     1,     1,     3,     3,     3,     3,     3,     3,     0,
+       6,     0,     1,     1,     3,     0,     4,     0,     4,     1,
+       3,     1,     1,     1,     1,     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,
+       1,     1,     1,     1,     1,     0,     4,     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,
+       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,     1,     1,     1,     0,     6,     0,     4,     0,
-       1,     1,     3,     0,     4,     0,     4,     0,     1,     1,
-       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     3,     1,     0,     4,     0,     4,     0,     4,
-       1,     0,     4,     3,     0,     6,     0,     1,     1,     3,
-       0,     4,     0,     4,     0,     1,     1,     3,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     0,     4,
-       1,     1,     3,     3,     0,     6,     0,     1,     1,     3,
-       0,     4,     0,     4,     1,     3,     1,     1,     1,     1,
-       1,     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,     1,     1,     0,     4,     0,     4,
+       1,     1,     1,     0,     6,     0,     4,     0,     1,     1,
+       3,     0,     4,     0,     4,     0,     1,     1,     3,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       3,     1,     0,     4,     0,     4,     0,     4,     1,     0,
+       4,     3,     0,     6,     0,     1,     1,     3,     0,     4,
+       0,     4,     0,     1,     1,     3,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     0,     4,     1,     1,
+       3,     3,     0,     6,     0,     1,     1,     3,     0,     4,
+       0,     4,     1,     3,     1,     1,     1,     1,     1,     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,     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,     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
+       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
   };
 
 
@@ -4350,46 +4350,46 @@ namespace isc { namespace dhcp {
      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,
+     741,   741,   751,   751,   761,   762,   763,   766,   767,   770,
+     770,   778,   778,   786,   786,   797,   798,   801,   802,   803,
+     804,   805,   806,   809,   814,   819,   824,   829,   834,   842,
+     842,   855,   856,   859,   860,   867,   867,   893,   893,   904,
+     905,   909,   910,   911,   912,   913,   914,   915,   916,   917,
      918,   919,   920,   921,   922,   923,   924,   925,   926,   927,
-     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,
+     928,   929,   930,   931,   932,   935,   935,   943,   943,   951,
+     951,   959,   959,   967,   967,   975,   975,   983,   983,   991,
+     991,   998,   999,  1000,  1003,  1008,  1015,  1015,  1026,  1027,
+    1031,  1032,  1035,  1035,  1043,  1044,  1047,  1048,  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
+    1061,  1062,  1063,  1070,  1070,  1083,  1083,  1092,  1093,  1096,
+    1097,  1102,  1102,  1117,  1117,  1131,  1132,  1135,  1136,  1139,
+    1140,  1141,  1142,  1143,  1144,  1145,  1146,  1147,  1148,  1151,
+    1153,  1158,  1160,  1160,  1168,  1168,  1176,  1176,  1184,  1186,
+    1186,  1194,  1203,  1203,  1215,  1216,  1221,  1222,  1227,  1227,
+    1239,  1239,  1251,  1252,  1257,  1258,  1263,  1264,  1265,  1266,
+    1267,  1268,  1269,  1270,  1271,  1274,  1276,  1276,  1284,  1286,
+    1288,  1293,  1301,  1301,  1313,  1314,  1317,  1318,  1321,  1321,
+    1331,  1331,  1341,  1342,  1345,  1346,  1347,  1348,  1349,  1352,
+    1352,  1360,  1360,  1367,  1367,  1379,  1379,  1389,  1390,  1393,
+    1394,  1397,  1397,  1406,  1406,  1415,  1416,  1419,  1420,  1424,
+    1425,  1426,  1427,  1428,  1429,  1430,  1431,  1432,  1433,  1434,
+    1435,  1436,  1437,  1438,  1441,  1441,  1449,  1449,  1457,  1457,
+    1465,  1465,  1473,  1473,  1481,  1481,  1489,  1489,  1497,  1497,
+    1505,  1505,  1513,  1513,  1521,  1521,  1534,  1534,  1544,  1544,
+    1555,  1555,  1565,  1566,  1569,  1569,  1579,  1580,  1583,  1584,
+    1587,  1588,  1589,  1590,  1591,  1592,  1593,  1594,  1595,  1596,
+    1599,  1601,  1601,  1613,  1620,  1620,  1630,  1631,  1634,  1635,
+    1638,  1638,  1646,  1646,  1656,  1656,  1668,  1668,  1678,  1679,
+    1682,  1683,  1684,  1685,  1686,  1687,  1688,  1689,  1690,  1691,
+    1692,  1693,  1694,  1695,  1696,  1697,  1698,  1701,  1706,  1706,
+    1714,  1714,  1722,  1727,  1727,  1735,  1740,  1745,  1745,  1753,
+    1754,  1757,  1757,  1765,  1770,  1775,  1780,  1780,  1788,  1791,
+    1794,  1797,  1800,  1806,  1806,  1816,  1816,  1823,  1823,  1830,
+    1830,  1842,  1842,  1855,  1856,  1860,  1864,  1864,  1876,  1877,
+    1881,  1881,  1889,  1890,  1893,  1894,  1895,  1896,  1897,  1898,
+    1899,  1902,  1907,  1907,  1915,  1915,  1925,  1926,  1929,  1929,
+    1937,  1938,  1941,  1942,  1943,  1944,  1947,  1947,  1955,  1960,
+    1965
   };
 
   // Print the state stack on the debug stream.
@@ -4425,7 +4425,7 @@ namespace isc { namespace dhcp {
 #line 14 "dhcp4_parser.yy" // lalr1.cc:1167
 } } // isc::dhcp
 #line 4428 "dhcp4_parser.cc" // lalr1.cc:1167
-#line 1972 "dhcp4_parser.yy" // lalr1.cc:1168
+#line 1970 "dhcp4_parser.yy" // lalr1.cc:1168
 
 
 void
index 61f5b284252de75f1089d2dd02a4e86b8bc18b8c..ad0c81107046ad0cbb29905478592f8a0c4284c1 100644 (file)
@@ -1411,7 +1411,7 @@ namespace isc { namespace dhcp {
     enum
     {
       yyeof_ = 0,
-      yylast_ = 874,     ///< Last index in yytable_.
+      yylast_ = 879,     ///< Last index in yytable_.
       yynnts_ = 334,  ///< Number of nonterminal symbols.
       yyfinal_ = 26, ///< Termination state number.
       yyterror_ = 1,
index 2ffbc45b4ede4fed7682d7ff0534da0b476478bd..aacf7e4208df263637bebeb21789ad9363429bbc 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201712011031
+// Generated 201712011520
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Locations for Bison parsers in C++
index 88c31399573723e24afc6d2fa66c7fb17e5874a9..d10c59368fb3801def4f4a13f9d7a886f82c6bcb 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201712011031
+// Generated 201712011520
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Positions for Bison parsers in C++
index b528193940f54681b8dd29d4f3af6bb8080ad6c7..ef4cc748f6821c4381517fc86706c95f216a96c6 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201712011031
+// Generated 201712011520
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Stack handling for Bison parsers in C++
index ce3023d1cde20447aa1a54900fde2d6af7496a0f..bd621a9668469ab856a7a27bb32d5287ae07c555 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,  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
+      765,  774,  783,  792,  801,  810,  833,  856,  865,  875,
+      885,  894,  904,  914,  923,  932,  941,  950,  960,  969,
+      978,  987,  996, 1005, 1014, 1023, 1032, 1041, 1051, 1060,
+
+     1069, 1079, 1090, 1100, 1109, 1118, 1127, 1138, 1148, 1157,
+     1167, 1177, 1186, 1195, 1204, 1213, 1223, 1232, 1242, 1251,
+     1260, 1269, 1278, 1287, 1296, 1305, 1314, 1323, 1332, 1341,
+     1350, 1359, 1368, 1377, 1386, 1395, 1404, 1413, 1422, 1431,
+     1440, 1449, 1458, 1468, 1566, 1571, 1576, 1581, 1582, 1583,
+     1584, 1585, 1586, 1588, 1606, 1619, 1624, 1628, 1630, 1632,
+     1634
     } ;
 
 /* The intent behind this definition is that it'll catch
@@ -2981,7 +2981,6 @@ YY_RULE_SETUP
     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:
@@ -3001,14 +3000,13 @@ YY_RULE_SETUP
        YY_BREAK
 case 77:
 YY_RULE_SETUP
-#line 834 "dhcp6_lexer.ll"
+#line 833 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
     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:
@@ -3028,7 +3026,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 78:
 YY_RULE_SETUP
-#line 858 "dhcp6_lexer.ll"
+#line 856 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3040,7 +3038,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 79:
 YY_RULE_SETUP
-#line 867 "dhcp6_lexer.ll"
+#line 865 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3053,7 +3051,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 877 "dhcp6_lexer.ll"
+#line 875 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3066,7 +3064,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 81:
 YY_RULE_SETUP
-#line 887 "dhcp6_lexer.ll"
+#line 885 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3078,7 +3076,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 82:
 YY_RULE_SETUP
-#line 896 "dhcp6_lexer.ll"
+#line 894 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3091,7 +3089,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 83:
 YY_RULE_SETUP
-#line 906 "dhcp6_lexer.ll"
+#line 904 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3104,7 +3102,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 84:
 YY_RULE_SETUP
-#line 916 "dhcp6_lexer.ll"
+#line 914 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATION_MODE:
@@ -3116,7 +3114,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 85:
 YY_RULE_SETUP
-#line 925 "dhcp6_lexer.ll"
+#line 923 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATION_MODE:
@@ -3128,7 +3126,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 86:
 YY_RULE_SETUP
-#line 934 "dhcp6_lexer.ll"
+#line 932 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATION_MODE:
@@ -3140,7 +3138,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 87:
 YY_RULE_SETUP
-#line 943 "dhcp6_lexer.ll"
+#line 941 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATION_MODE:
@@ -3152,7 +3150,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 88:
 YY_RULE_SETUP
-#line 952 "dhcp6_lexer.ll"
+#line 950 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3165,7 +3163,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 962 "dhcp6_lexer.ll"
+#line 960 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3177,7 +3175,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 971 "dhcp6_lexer.ll"
+#line 969 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3189,7 +3187,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 91:
 YY_RULE_SETUP
-#line 980 "dhcp6_lexer.ll"
+#line 978 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3201,7 +3199,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 989 "dhcp6_lexer.ll"
+#line 987 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG:
@@ -3213,7 +3211,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 93:
 YY_RULE_SETUP
-#line 998 "dhcp6_lexer.ll"
+#line 996 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LOGGING:
@@ -3225,7 +3223,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 1007 "dhcp6_lexer.ll"
+#line 1005 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LOGGERS:
@@ -3237,7 +3235,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 1016 "dhcp6_lexer.ll"
+#line 1014 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
@@ -3249,7 +3247,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 1025 "dhcp6_lexer.ll"
+#line 1023 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
@@ -3261,7 +3259,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 1034 "dhcp6_lexer.ll"
+#line 1032 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
@@ -3273,7 +3271,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 1043 "dhcp6_lexer.ll"
+#line 1041 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
@@ -3285,7 +3283,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 99:
 YY_RULE_SETUP
-#line 1053 "dhcp6_lexer.ll"
+#line 1051 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LOGGERS:
@@ -3297,7 +3295,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 100:
 YY_RULE_SETUP
-#line 1062 "dhcp6_lexer.ll"
+#line 1060 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LOGGERS:
@@ -3309,7 +3307,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 101:
 YY_RULE_SETUP
-#line 1071 "dhcp6_lexer.ll"
+#line 1069 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3322,7 +3320,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 102:
 YY_RULE_SETUP
-#line 1081 "dhcp6_lexer.ll"
+#line 1079 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3336,7 +3334,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 103:
 YY_RULE_SETUP
-#line 1092 "dhcp6_lexer.ll"
+#line 1090 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CLIENT_CLASSES:
@@ -3349,7 +3347,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 104:
 YY_RULE_SETUP
-#line 1102 "dhcp6_lexer.ll"
+#line 1100 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3361,7 +3359,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 105:
 YY_RULE_SETUP
-#line 1111 "dhcp6_lexer.ll"
+#line 1109 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATIONS:
@@ -3373,7 +3371,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 106:
 YY_RULE_SETUP
-#line 1120 "dhcp6_lexer.ll"
+#line 1118 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATIONS:
@@ -3385,7 +3383,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 107:
 YY_RULE_SETUP
-#line 1129 "dhcp6_lexer.ll"
+#line 1127 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::MAC_SOURCES:
@@ -3399,7 +3397,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 108:
 YY_RULE_SETUP
-#line 1140 "dhcp6_lexer.ll"
+#line 1138 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3412,7 +3410,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 109:
 YY_RULE_SETUP
-#line 1150 "dhcp6_lexer.ll"
+#line 1148 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATIONS:
@@ -3424,7 +3422,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 110:
 YY_RULE_SETUP
-#line 1159 "dhcp6_lexer.ll"
+#line 1157 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3437,7 +3435,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 1169 "dhcp6_lexer.ll"
+#line 1167 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3450,7 +3448,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 112:
 YY_RULE_SETUP
-#line 1179 "dhcp6_lexer.ll"
+#line 1177 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DATA:
@@ -3462,7 +3460,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 113:
 YY_RULE_SETUP
-#line 1188 "dhcp6_lexer.ll"
+#line 1186 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3474,7 +3472,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 114:
 YY_RULE_SETUP
-#line 1197 "dhcp6_lexer.ll"
+#line 1195 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3486,7 +3484,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 115:
 YY_RULE_SETUP
-#line 1206 "dhcp6_lexer.ll"
+#line 1204 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3498,7 +3496,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 116:
 YY_RULE_SETUP
-#line 1215 "dhcp6_lexer.ll"
+#line 1213 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3511,7 +3509,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 117:
 YY_RULE_SETUP
-#line 1225 "dhcp6_lexer.ll"
+#line 1223 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RELAY:
@@ -3523,7 +3521,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 118:
 YY_RULE_SETUP
-#line 1234 "dhcp6_lexer.ll"
+#line 1232 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3535,7 +3533,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 119:
 YY_RULE_SETUP
-#line 1244 "dhcp6_lexer.ll"
+#line 1242 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
@@ -3547,7 +3545,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 120:
 YY_RULE_SETUP
-#line 1253 "dhcp6_lexer.ll"
+#line 1251 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
@@ -3559,7 +3557,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 121:
 YY_RULE_SETUP
-#line 1262 "dhcp6_lexer.ll"
+#line 1260 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3571,7 +3569,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 122:
 YY_RULE_SETUP
-#line 1271 "dhcp6_lexer.ll"
+#line 1269 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DUID_TYPE:
@@ -3583,7 +3581,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 123:
 YY_RULE_SETUP
-#line 1280 "dhcp6_lexer.ll"
+#line 1278 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DUID_TYPE:
@@ -3595,7 +3593,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 124:
 YY_RULE_SETUP
-#line 1289 "dhcp6_lexer.ll"
+#line 1287 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DUID_TYPE:
@@ -3607,7 +3605,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 125:
 YY_RULE_SETUP
-#line 1298 "dhcp6_lexer.ll"
+#line 1296 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -3619,7 +3617,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 126:
 YY_RULE_SETUP
-#line 1307 "dhcp6_lexer.ll"
+#line 1305 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -3631,7 +3629,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 127:
 YY_RULE_SETUP
-#line 1316 "dhcp6_lexer.ll"
+#line 1314 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -3643,7 +3641,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 128:
 YY_RULE_SETUP
-#line 1325 "dhcp6_lexer.ll"
+#line 1323 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -3655,7 +3653,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 129:
 YY_RULE_SETUP
-#line 1334 "dhcp6_lexer.ll"
+#line 1332 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3667,7 +3665,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 130:
 YY_RULE_SETUP
-#line 1343 "dhcp6_lexer.ll"
+#line 1341 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3679,7 +3677,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 131:
 YY_RULE_SETUP
-#line 1352 "dhcp6_lexer.ll"
+#line 1350 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3691,7 +3689,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 132:
 YY_RULE_SETUP
-#line 1361 "dhcp6_lexer.ll"
+#line 1359 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3703,7 +3701,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 133:
 YY_RULE_SETUP
-#line 1370 "dhcp6_lexer.ll"
+#line 1368 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3715,7 +3713,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 134:
 YY_RULE_SETUP
-#line 1379 "dhcp6_lexer.ll"
+#line 1377 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3727,7 +3725,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 135:
 YY_RULE_SETUP
-#line 1388 "dhcp6_lexer.ll"
+#line 1386 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -3739,7 +3737,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 136:
 YY_RULE_SETUP
-#line 1397 "dhcp6_lexer.ll"
+#line 1395 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3751,7 +3749,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 137:
 YY_RULE_SETUP
-#line 1406 "dhcp6_lexer.ll"
+#line 1404 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3763,7 +3761,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 138:
 YY_RULE_SETUP
-#line 1415 "dhcp6_lexer.ll"
+#line 1413 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONTROL_SOCKET:
@@ -3775,7 +3773,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 139:
 YY_RULE_SETUP
-#line 1424 "dhcp6_lexer.ll"
+#line 1422 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONTROL_SOCKET:
@@ -3787,7 +3785,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 140:
 YY_RULE_SETUP
-#line 1433 "dhcp6_lexer.ll"
+#line 1431 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3799,7 +3797,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 141:
 YY_RULE_SETUP
-#line 1442 "dhcp6_lexer.ll"
+#line 1440 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG:
@@ -3811,7 +3809,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 142:
 YY_RULE_SETUP
-#line 1451 "dhcp6_lexer.ll"
+#line 1449 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG:
@@ -3823,7 +3821,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 143:
 YY_RULE_SETUP
-#line 1460 "dhcp6_lexer.ll"
+#line 1458 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG:
@@ -3835,7 +3833,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 144:
 YY_RULE_SETUP
-#line 1470 "dhcp6_lexer.ll"
+#line 1468 "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.
@@ -3937,7 +3935,7 @@ YY_RULE_SETUP
 case 145:
 /* rule 145 can match eol */
 YY_RULE_SETUP
-#line 1568 "dhcp6_lexer.ll"
+#line 1566 "dhcp6_lexer.ll"
 {
     /* Bad string with a forbidden control character inside */
     driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
@@ -3946,7 +3944,7 @@ YY_RULE_SETUP
 case 146:
 /* rule 146 can match eol */
 YY_RULE_SETUP
-#line 1573 "dhcp6_lexer.ll"
+#line 1571 "dhcp6_lexer.ll"
 {
     /* Bad string with a bad escape inside */
     driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
@@ -3954,7 +3952,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 147:
 YY_RULE_SETUP
-#line 1578 "dhcp6_lexer.ll"
+#line 1576 "dhcp6_lexer.ll"
 {
     /* Bad string with an open escape at the end */
     driver.error(driver.loc_, "Overflow escape in " + std::string(yytext));
@@ -3962,37 +3960,37 @@ YY_RULE_SETUP
        YY_BREAK
 case 148:
 YY_RULE_SETUP
-#line 1583 "dhcp6_lexer.ll"
+#line 1581 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
 case 149:
 YY_RULE_SETUP
-#line 1584 "dhcp6_lexer.ll"
+#line 1582 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
 case 150:
 YY_RULE_SETUP
-#line 1585 "dhcp6_lexer.ll"
+#line 1583 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); }
        YY_BREAK
 case 151:
 YY_RULE_SETUP
-#line 1586 "dhcp6_lexer.ll"
+#line 1584 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); }
        YY_BREAK
 case 152:
 YY_RULE_SETUP
-#line 1587 "dhcp6_lexer.ll"
+#line 1585 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); }
        YY_BREAK
 case 153:
 YY_RULE_SETUP
-#line 1588 "dhcp6_lexer.ll"
+#line 1586 "dhcp6_lexer.ll"
 { return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); }
        YY_BREAK
 case 154:
 YY_RULE_SETUP
-#line 1590 "dhcp6_lexer.ll"
+#line 1588 "dhcp6_lexer.ll"
 {
     /* An integer was found. */
     std::string tmp(yytext);
@@ -4013,7 +4011,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 155:
 YY_RULE_SETUP
-#line 1608 "dhcp6_lexer.ll"
+#line 1606 "dhcp6_lexer.ll"
 {
     /* A floating point was found. */
     std::string tmp(yytext);
@@ -4029,7 +4027,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 156:
 YY_RULE_SETUP
-#line 1621 "dhcp6_lexer.ll"
+#line 1619 "dhcp6_lexer.ll"
 {
     string tmp(yytext);
     return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_);
@@ -4037,33 +4035,33 @@ YY_RULE_SETUP
        YY_BREAK
 case 157:
 YY_RULE_SETUP
-#line 1626 "dhcp6_lexer.ll"
+#line 1624 "dhcp6_lexer.ll"
 {
    return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_);
 }
        YY_BREAK
 case 158:
 YY_RULE_SETUP
-#line 1630 "dhcp6_lexer.ll"
+#line 1628 "dhcp6_lexer.ll"
 driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
        YY_BREAK
 case 159:
 YY_RULE_SETUP
-#line 1632 "dhcp6_lexer.ll"
+#line 1630 "dhcp6_lexer.ll"
 driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
        YY_BREAK
 case 160:
 YY_RULE_SETUP
-#line 1634 "dhcp6_lexer.ll"
+#line 1632 "dhcp6_lexer.ll"
 driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
        YY_BREAK
 case 161:
 YY_RULE_SETUP
-#line 1636 "dhcp6_lexer.ll"
+#line 1634 "dhcp6_lexer.ll"
 driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 1638 "dhcp6_lexer.ll"
+#line 1636 "dhcp6_lexer.ll"
 {
     if (driver.states_.empty()) {
         return isc::dhcp::Dhcp6Parser::make_END(driver.loc_);
@@ -4089,10 +4087,10 @@ case YY_STATE_EOF(INITIAL):
        YY_BREAK
 case 162:
 YY_RULE_SETUP
-#line 1661 "dhcp6_lexer.ll"
+#line 1659 "dhcp6_lexer.ll"
 ECHO;
        YY_BREAK
-#line 4095 "dhcp6_lexer.cc"
+#line 4093 "dhcp6_lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
@@ -5197,7 +5195,7 @@ void yyfree (void * ptr )
 
 /* %ok-for-header */
 
-#line 1661 "dhcp6_lexer.ll"
+#line 1659 "dhcp6_lexer.ll"
 
 
 using namespace isc::dhcp;
index aa5af5c36d73cdaa0a5c5eca1efc5aa92977aebb..33c10a23d84827ddb98e7ff1d3e6ff6acefca048 100644 (file)
@@ -1503,16 +1503,16 @@ namespace isc { namespace dhcp {
 #line 1504 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 196:
-#line 765 "dhcp6_parser.yy" // lalr1.cc:859
+  case 194:
+#line 763 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1512 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 197:
-#line 767 "dhcp6_parser.yy" // lalr1.cc:859
+  case 195:
+#line 765 "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 198:
-#line 773 "dhcp6_parser.yy" // lalr1.cc:859
+  case 196:
+#line 771 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1530 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 199:
-#line 775 "dhcp6_parser.yy" // lalr1.cc:859
+  case 197:
+#line 773 "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 200:
-#line 781 "dhcp6_parser.yy" // lalr1.cc:859
+  case 198:
+#line 779 "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 201:
-#line 786 "dhcp6_parser.yy" // lalr1.cc:859
+  case 199:
+#line 784 "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 210:
-#line 804 "dhcp6_parser.yy" // lalr1.cc:859
+  case 208:
+#line 802 "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 211:
-#line 809 "dhcp6_parser.yy" // lalr1.cc:859
+  case 209:
+#line 807 "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 212:
-#line 814 "dhcp6_parser.yy" // lalr1.cc:859
+  case 210:
+#line 812 "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 213:
-#line 819 "dhcp6_parser.yy" // lalr1.cc:859
+  case 211:
+#line 817 "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 214:
-#line 824 "dhcp6_parser.yy" // lalr1.cc:859
+  case 212:
+#line 822 "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 215:
-#line 829 "dhcp6_parser.yy" // lalr1.cc:859
+  case 213:
+#line 827 "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 216:
-#line 837 "dhcp6_parser.yy" // lalr1.cc:859
+  case 214:
+#line 835 "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 217:
-#line 842 "dhcp6_parser.yy" // lalr1.cc:859
+  case 215:
+#line 840 "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 222:
-#line 862 "dhcp6_parser.yy" // lalr1.cc:859
+  case 220:
+#line 860 "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 223:
-#line 866 "dhcp6_parser.yy" // lalr1.cc:859
+  case 221:
+#line 864 "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 224:
-#line 888 "dhcp6_parser.yy" // lalr1.cc:859
+  case 222:
+#line 886 "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 225:
-#line 892 "dhcp6_parser.yy" // lalr1.cc:859
+  case 223:
+#line 890 "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 247:
-#line 925 "dhcp6_parser.yy" // lalr1.cc:859
+  case 245:
+#line 923 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1698 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 248:
-#line 927 "dhcp6_parser.yy" // lalr1.cc:859
+  case 246:
+#line 925 "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 249:
-#line 933 "dhcp6_parser.yy" // lalr1.cc:859
+  case 247:
+#line 931 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1716 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 250:
-#line 935 "dhcp6_parser.yy" // lalr1.cc:859
+  case 248:
+#line 933 "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 251:
-#line 941 "dhcp6_parser.yy" // lalr1.cc:859
+  case 249:
+#line 939 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1734 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 252:
-#line 943 "dhcp6_parser.yy" // lalr1.cc:859
+  case 250:
+#line 941 "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 253:
-#line 949 "dhcp6_parser.yy" // lalr1.cc:859
+  case 251:
+#line 947 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.CLIENT_CLASS);
 }
 #line 1752 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 254:
-#line 951 "dhcp6_parser.yy" // lalr1.cc:859
+  case 252:
+#line 949 "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 255:
-#line 957 "dhcp6_parser.yy" // lalr1.cc:859
+  case 253:
+#line 955 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.RESERVATION_MODE);
 }
 #line 1770 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 256:
-#line 959 "dhcp6_parser.yy" // lalr1.cc:859
+  case 254:
+#line 957 "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 257:
-#line 964 "dhcp6_parser.yy" // lalr1.cc:859
+  case 255:
+#line 962 "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 258:
-#line 965 "dhcp6_parser.yy" // lalr1.cc:859
+  case 256:
+#line 963 "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 259:
-#line 966 "dhcp6_parser.yy" // lalr1.cc:859
+  case 257:
+#line 964 "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 260:
-#line 969 "dhcp6_parser.yy" // lalr1.cc:859
+  case 258:
+#line 967 "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 261:
-#line 974 "dhcp6_parser.yy" // lalr1.cc:859
+  case 259:
+#line 972 "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 262:
-#line 982 "dhcp6_parser.yy" // lalr1.cc:859
+  case 260:
+#line 980 "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 263:
-#line 987 "dhcp6_parser.yy" // lalr1.cc:859
+  case 261:
+#line 985 "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 268:
-#line 1002 "dhcp6_parser.yy" // lalr1.cc:859
+  case 266:
+#line 1000 "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 269:
-#line 1006 "dhcp6_parser.yy" // lalr1.cc:859
+  case 267:
+#line 1004 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 1853 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 288:
-#line 1036 "dhcp6_parser.yy" // lalr1.cc:859
+  case 286:
+#line 1034 "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 289:
-#line 1041 "dhcp6_parser.yy" // lalr1.cc:859
+  case 287:
+#line 1039 "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 290:
-#line 1049 "dhcp6_parser.yy" // lalr1.cc:859
+  case 288:
+#line 1047 "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 291:
-#line 1052 "dhcp6_parser.yy" // lalr1.cc:859
+  case 289:
+#line 1050 "dhcp6_parser.yy" // lalr1.cc:859
     {
     // parsing completed
 }
 #line 1890 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 296:
-#line 1068 "dhcp6_parser.yy" // lalr1.cc:859
+  case 294:
+#line 1066 "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 297:
-#line 1072 "dhcp6_parser.yy" // lalr1.cc:859
+  case 295:
+#line 1070 "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 298:
-#line 1083 "dhcp6_parser.yy" // lalr1.cc:859
+  case 296:
+#line 1081 "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 299:
-#line 1087 "dhcp6_parser.yy" // lalr1.cc:859
+  case 297:
+#line 1085 "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 315:
-#line 1119 "dhcp6_parser.yy" // lalr1.cc:859
+  case 313:
+#line 1117 "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 317:
-#line 1126 "dhcp6_parser.yy" // lalr1.cc:859
+  case 315:
+#line 1124 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1951 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 318:
-#line 1128 "dhcp6_parser.yy" // lalr1.cc:859
+  case 316:
+#line 1126 "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 319:
-#line 1134 "dhcp6_parser.yy" // lalr1.cc:859
+  case 317:
+#line 1132 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1969 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 320:
-#line 1136 "dhcp6_parser.yy" // lalr1.cc:859
+  case 318:
+#line 1134 "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 321:
-#line 1142 "dhcp6_parser.yy" // lalr1.cc:859
+  case 319:
+#line 1140 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 1987 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 322:
-#line 1144 "dhcp6_parser.yy" // lalr1.cc:859
+  case 320:
+#line 1142 "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 324:
-#line 1152 "dhcp6_parser.yy" // lalr1.cc:859
+  case 322:
+#line 1150 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2005 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 325:
-#line 1154 "dhcp6_parser.yy" // lalr1.cc:859
+  case 323:
+#line 1152 "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 326:
-#line 1160 "dhcp6_parser.yy" // lalr1.cc:859
+  case 324:
+#line 1158 "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 327:
-#line 1169 "dhcp6_parser.yy" // lalr1.cc:859
+  case 325:
+#line 1167 "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 328:
-#line 1174 "dhcp6_parser.yy" // lalr1.cc:859
+  case 326:
+#line 1172 "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 333:
-#line 1193 "dhcp6_parser.yy" // lalr1.cc:859
+  case 331:
+#line 1191 "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 334:
-#line 1197 "dhcp6_parser.yy" // lalr1.cc:859
+  case 332:
+#line 1195 "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 335:
-#line 1205 "dhcp6_parser.yy" // lalr1.cc:859
+  case 333:
+#line 1203 "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 336:
-#line 1209 "dhcp6_parser.yy" // lalr1.cc:859
+  case 334:
+#line 1207 "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 351:
-#line 1242 "dhcp6_parser.yy" // lalr1.cc:859
+  case 349:
+#line 1240 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2090 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 352:
-#line 1244 "dhcp6_parser.yy" // lalr1.cc:859
+  case 350:
+#line 1242 "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 355:
-#line 1254 "dhcp6_parser.yy" // lalr1.cc:859
+  case 353:
+#line 1252 "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 356:
-#line 1259 "dhcp6_parser.yy" // lalr1.cc:859
+  case 354:
+#line 1257 "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 357:
-#line 1267 "dhcp6_parser.yy" // lalr1.cc:859
+  case 355:
+#line 1265 "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 358:
-#line 1272 "dhcp6_parser.yy" // lalr1.cc:859
+  case 356:
+#line 1270 "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 363:
-#line 1287 "dhcp6_parser.yy" // lalr1.cc:859
+  case 361:
+#line 1285 "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 364:
-#line 1291 "dhcp6_parser.yy" // lalr1.cc:859
+  case 362:
+#line 1289 "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 365:
-#line 1297 "dhcp6_parser.yy" // lalr1.cc:859
+  case 363:
+#line 1295 "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 366:
-#line 1301 "dhcp6_parser.yy" // lalr1.cc:859
+  case 364:
+#line 1299 "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 374:
-#line 1317 "dhcp6_parser.yy" // lalr1.cc:859
+  case 372:
+#line 1315 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2185 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 375:
-#line 1319 "dhcp6_parser.yy" // lalr1.cc:859
+  case 373:
+#line 1317 "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 376:
-#line 1325 "dhcp6_parser.yy" // lalr1.cc:859
+  case 374:
+#line 1323 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2203 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 377:
-#line 1327 "dhcp6_parser.yy" // lalr1.cc:859
+  case 375:
+#line 1325 "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 378:
-#line 1332 "dhcp6_parser.yy" // lalr1.cc:859
+  case 376:
+#line 1330 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2220 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 379:
-#line 1334 "dhcp6_parser.yy" // lalr1.cc:859
+  case 377:
+#line 1332 "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 380:
-#line 1344 "dhcp6_parser.yy" // lalr1.cc:859
+  case 378:
+#line 1342 "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 381:
-#line 1349 "dhcp6_parser.yy" // lalr1.cc:859
+  case 379:
+#line 1347 "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 386:
-#line 1364 "dhcp6_parser.yy" // lalr1.cc:859
+  case 384:
+#line 1362 "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 387:
-#line 1368 "dhcp6_parser.yy" // lalr1.cc:859
+  case 385:
+#line 1366 "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 388:
-#line 1376 "dhcp6_parser.yy" // lalr1.cc:859
+  case 386:
+#line 1374 "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 389:
-#line 1380 "dhcp6_parser.yy" // lalr1.cc:859
+  case 387:
+#line 1378 "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 401:
-#line 1403 "dhcp6_parser.yy" // lalr1.cc:859
+  case 399:
+#line 1401 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2303 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 402:
-#line 1405 "dhcp6_parser.yy" // lalr1.cc:859
+  case 400:
+#line 1403 "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 403:
-#line 1411 "dhcp6_parser.yy" // lalr1.cc:859
+  case 401:
+#line 1409 "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 404:
-#line 1416 "dhcp6_parser.yy" // lalr1.cc:859
+  case 402:
+#line 1414 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2330 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 405:
-#line 1418 "dhcp6_parser.yy" // lalr1.cc:859
+  case 403:
+#line 1416 "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 406:
-#line 1424 "dhcp6_parser.yy" // lalr1.cc:859
+  case 404:
+#line 1422 "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 407:
-#line 1429 "dhcp6_parser.yy" // lalr1.cc:859
+  case 405:
+#line 1427 "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 408:
-#line 1437 "dhcp6_parser.yy" // lalr1.cc:859
+  case 406:
+#line 1435 "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 409:
-#line 1442 "dhcp6_parser.yy" // lalr1.cc:859
+  case 407:
+#line 1440 "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 414:
-#line 1455 "dhcp6_parser.yy" // lalr1.cc:859
+  case 412:
+#line 1453 "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 415:
-#line 1459 "dhcp6_parser.yy" // lalr1.cc:859
+  case 413:
+#line 1457 "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 416:
-#line 1464 "dhcp6_parser.yy" // lalr1.cc:859
+  case 414:
+#line 1462 "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 417:
-#line 1468 "dhcp6_parser.yy" // lalr1.cc:859
+  case 415:
+#line 1466 "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 433:
-#line 1495 "dhcp6_parser.yy" // lalr1.cc:859
+  case 431:
+#line 1493 "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 434:
-#line 1500 "dhcp6_parser.yy" // lalr1.cc:859
+  case 432:
+#line 1498 "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 435:
-#line 1505 "dhcp6_parser.yy" // lalr1.cc:859
+  case 433:
+#line 1503 "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 436:
-#line 1510 "dhcp6_parser.yy" // lalr1.cc:859
+  case 434:
+#line 1508 "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 437:
-#line 1515 "dhcp6_parser.yy" // lalr1.cc:859
+  case 435:
+#line 1513 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2464 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 438:
-#line 1517 "dhcp6_parser.yy" // lalr1.cc:859
+  case 436:
+#line 1515 "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 439:
-#line 1523 "dhcp6_parser.yy" // lalr1.cc:859
+  case 437:
+#line 1521 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2482 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 440:
-#line 1525 "dhcp6_parser.yy" // lalr1.cc:859
+  case 438:
+#line 1523 "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 441:
-#line 1531 "dhcp6_parser.yy" // lalr1.cc:859
+  case 439:
+#line 1529 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2500 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 442:
-#line 1533 "dhcp6_parser.yy" // lalr1.cc:859
+  case 440:
+#line 1531 "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 443:
-#line 1539 "dhcp6_parser.yy" // lalr1.cc:859
+  case 441:
+#line 1537 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2518 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 444:
-#line 1541 "dhcp6_parser.yy" // lalr1.cc:859
+  case 442:
+#line 1539 "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 445:
-#line 1547 "dhcp6_parser.yy" // lalr1.cc:859
+  case 443:
+#line 1545 "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 446:
-#line 1552 "dhcp6_parser.yy" // lalr1.cc:859
+  case 444:
+#line 1550 "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 447:
-#line 1560 "dhcp6_parser.yy" // lalr1.cc:859
+  case 445:
+#line 1558 "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 448:
-#line 1565 "dhcp6_parser.yy" // lalr1.cc:859
+  case 446:
+#line 1563 "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 449:
-#line 1570 "dhcp6_parser.yy" // lalr1.cc:859
+  case 447:
+#line 1568 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2576 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 450:
-#line 1572 "dhcp6_parser.yy" // lalr1.cc:859
+  case 448:
+#line 1570 "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 451:
-#line 1581 "dhcp6_parser.yy" // lalr1.cc:859
+  case 449:
+#line 1579 "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 452:
-#line 1586 "dhcp6_parser.yy" // lalr1.cc:859
+  case 450:
+#line 1584 "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 455:
-#line 1595 "dhcp6_parser.yy" // lalr1.cc:859
+  case 453:
+#line 1593 "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 456:
-#line 1599 "dhcp6_parser.yy" // lalr1.cc:859
+  case 454:
+#line 1597 "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 468:
-#line 1623 "dhcp6_parser.yy" // lalr1.cc:859
+  case 466:
+#line 1621 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2634 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 469:
-#line 1625 "dhcp6_parser.yy" // lalr1.cc:859
+  case 467:
+#line 1623 "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 470:
-#line 1634 "dhcp6_parser.yy" // lalr1.cc:859
+  case 468:
+#line 1632 "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 471:
-#line 1639 "dhcp6_parser.yy" // lalr1.cc:859
+  case 469:
+#line 1637 "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 483:
-#line 1661 "dhcp6_parser.yy" // lalr1.cc:859
+  case 481:
+#line 1659 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.DUID_TYPE);
 }
 #line 2674 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 484:
-#line 1663 "dhcp6_parser.yy" // lalr1.cc:859
+  case 482:
+#line 1661 "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 485:
-#line 1668 "dhcp6_parser.yy" // lalr1.cc:859
+  case 483:
+#line 1666 "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 486:
-#line 1669 "dhcp6_parser.yy" // lalr1.cc:859
+  case 484:
+#line 1667 "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 487:
-#line 1670 "dhcp6_parser.yy" // lalr1.cc:859
+  case 485:
+#line 1668 "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 488:
-#line 1673 "dhcp6_parser.yy" // lalr1.cc:859
+  case 486:
+#line 1671 "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 489:
-#line 1678 "dhcp6_parser.yy" // lalr1.cc:859
+  case 487:
+#line 1676 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2718 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 490:
-#line 1680 "dhcp6_parser.yy" // lalr1.cc:859
+  case 488:
+#line 1678 "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 491:
-#line 1686 "dhcp6_parser.yy" // lalr1.cc:859
+  case 489:
+#line 1684 "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 492:
-#line 1691 "dhcp6_parser.yy" // lalr1.cc:859
+  case 490:
+#line 1689 "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 493:
-#line 1698 "dhcp6_parser.yy" // lalr1.cc:859
+  case 491:
+#line 1696 "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 494:
-#line 1705 "dhcp6_parser.yy" // lalr1.cc:859
+  case 492:
+#line 1703 "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 495:
-#line 1710 "dhcp6_parser.yy" // lalr1.cc:859
+  case 493:
+#line 1708 "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 500:
-#line 1723 "dhcp6_parser.yy" // lalr1.cc:859
+  case 498:
+#line 1721 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2783 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 501:
-#line 1725 "dhcp6_parser.yy" // lalr1.cc:859
+  case 499:
+#line 1723 "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 502:
-#line 1731 "dhcp6_parser.yy" // lalr1.cc:859
+  case 500:
+#line 1729 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2801 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 503:
-#line 1733 "dhcp6_parser.yy" // lalr1.cc:859
+  case 501:
+#line 1731 "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 504:
-#line 1741 "dhcp6_parser.yy" // lalr1.cc:859
+  case 502:
+#line 1739 "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 505:
-#line 1746 "dhcp6_parser.yy" // lalr1.cc:859
+  case 503:
+#line 1744 "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 506:
-#line 1753 "dhcp6_parser.yy" // lalr1.cc:859
+  case 504:
+#line 1751 "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 507:
-#line 1757 "dhcp6_parser.yy" // lalr1.cc:859
+  case 505:
+#line 1755 "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 527:
-#line 1786 "dhcp6_parser.yy" // lalr1.cc:859
+  case 525:
+#line 1784 "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 528:
-#line 1791 "dhcp6_parser.yy" // lalr1.cc:859
+  case 526:
+#line 1789 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2870 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 529:
-#line 1793 "dhcp6_parser.yy" // lalr1.cc:859
+  case 527:
+#line 1791 "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 530:
-#line 1799 "dhcp6_parser.yy" // lalr1.cc:859
+  case 528:
+#line 1797 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2888 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 531:
-#line 1801 "dhcp6_parser.yy" // lalr1.cc:859
+  case 529:
+#line 1799 "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 532:
-#line 1807 "dhcp6_parser.yy" // lalr1.cc:859
+  case 530:
+#line 1805 "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 533:
-#line 1812 "dhcp6_parser.yy" // lalr1.cc:859
+  case 531:
+#line 1810 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 2915 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 534:
-#line 1814 "dhcp6_parser.yy" // lalr1.cc:859
+  case 532:
+#line 1812 "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 535:
-#line 1820 "dhcp6_parser.yy" // lalr1.cc:859
+  case 533:
+#line 1818 "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 536:
-#line 1825 "dhcp6_parser.yy" // lalr1.cc:859
+  case 534:
+#line 1823 "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 537:
-#line 1830 "dhcp6_parser.yy" // lalr1.cc:859
+  case 535:
+#line 1828 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NCR_PROTOCOL);
 }
 #line 2951 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 538:
-#line 1832 "dhcp6_parser.yy" // lalr1.cc:859
+  case 536:
+#line 1830 "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 539:
-#line 1838 "dhcp6_parser.yy" // lalr1.cc:859
+  case 537:
+#line 1836 "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 540:
-#line 1839 "dhcp6_parser.yy" // lalr1.cc:859
+  case 538:
+#line 1837 "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 541:
-#line 1842 "dhcp6_parser.yy" // lalr1.cc:859
+  case 539:
+#line 1840 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NCR_FORMAT);
 }
 #line 2980 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 542:
-#line 1844 "dhcp6_parser.yy" // lalr1.cc:859
+  case 540:
+#line 1842 "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 543:
-#line 1850 "dhcp6_parser.yy" // lalr1.cc:859
+  case 541:
+#line 1848 "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 544:
-#line 1855 "dhcp6_parser.yy" // lalr1.cc:859
+  case 542:
+#line 1853 "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 545:
-#line 1860 "dhcp6_parser.yy" // lalr1.cc:859
+  case 543:
+#line 1858 "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 546:
-#line 1865 "dhcp6_parser.yy" // lalr1.cc:859
+  case 544:
+#line 1863 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.REPLACE_CLIENT_NAME);
 }
 #line 3025 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 547:
-#line 1867 "dhcp6_parser.yy" // lalr1.cc:859
+  case 545:
+#line 1865 "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 548:
-#line 1873 "dhcp6_parser.yy" // lalr1.cc:859
+  case 546:
+#line 1871 "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 549:
-#line 1876 "dhcp6_parser.yy" // lalr1.cc:859
+  case 547:
+#line 1874 "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 550:
-#line 1879 "dhcp6_parser.yy" // lalr1.cc:859
+  case 548:
+#line 1877 "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 551:
-#line 1882 "dhcp6_parser.yy" // lalr1.cc:859
+  case 549:
+#line 1880 "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 552:
-#line 1885 "dhcp6_parser.yy" // lalr1.cc:859
+  case 550:
+#line 1883 "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 553:
-#line 1891 "dhcp6_parser.yy" // lalr1.cc:859
+  case 551:
+#line 1889 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3083 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 554:
-#line 1893 "dhcp6_parser.yy" // lalr1.cc:859
+  case 552:
+#line 1891 "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 555:
-#line 1901 "dhcp6_parser.yy" // lalr1.cc:859
+  case 553:
+#line 1899 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3101 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 556:
-#line 1903 "dhcp6_parser.yy" // lalr1.cc:859
+  case 554:
+#line 1901 "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 557:
-#line 1908 "dhcp6_parser.yy" // lalr1.cc:859
+  case 555:
+#line 1906 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3118 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 558:
-#line 1910 "dhcp6_parser.yy" // lalr1.cc:859
+  case 556:
+#line 1908 "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 559:
-#line 1915 "dhcp6_parser.yy" // lalr1.cc:859
+  case 557:
+#line 1913 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3135 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 560:
-#line 1917 "dhcp6_parser.yy" // lalr1.cc:859
+  case 558:
+#line 1915 "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 561:
-#line 1928 "dhcp6_parser.yy" // lalr1.cc:859
+  case 559:
+#line 1926 "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 562:
-#line 1933 "dhcp6_parser.yy" // lalr1.cc:859
+  case 560:
+#line 1931 "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 566:
-#line 1950 "dhcp6_parser.yy" // lalr1.cc:859
+  case 564:
+#line 1948 "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 567:
-#line 1955 "dhcp6_parser.yy" // lalr1.cc:859
+  case 565:
+#line 1953 "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 570:
-#line 1967 "dhcp6_parser.yy" // lalr1.cc:859
+  case 568:
+#line 1965 "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 571:
-#line 1971 "dhcp6_parser.yy" // lalr1.cc:859
+  case 569:
+#line 1969 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 3202 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 581:
-#line 1988 "dhcp6_parser.yy" // lalr1.cc:859
+  case 579:
+#line 1986 "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 582:
-#line 1993 "dhcp6_parser.yy" // lalr1.cc:859
+  case 580:
+#line 1991 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3219 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 583:
-#line 1995 "dhcp6_parser.yy" // lalr1.cc:859
+  case 581:
+#line 1993 "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 584:
-#line 2001 "dhcp6_parser.yy" // lalr1.cc:859
+  case 582:
+#line 1999 "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 585:
-#line 2006 "dhcp6_parser.yy" // lalr1.cc:859
+  case 583:
+#line 2004 "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 588:
-#line 2015 "dhcp6_parser.yy" // lalr1.cc:859
+  case 586:
+#line 2013 "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 589:
-#line 2019 "dhcp6_parser.yy" // lalr1.cc:859
+  case 587:
+#line 2017 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.stack_.pop_back();
 }
 #line 3267 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 596:
-#line 2033 "dhcp6_parser.yy" // lalr1.cc:859
+  case 594:
+#line 2031 "dhcp6_parser.yy" // lalr1.cc:859
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
 #line 3275 "dhcp6_parser.cc" // lalr1.cc:859
     break;
 
-  case 597:
-#line 2035 "dhcp6_parser.yy" // lalr1.cc:859
+  case 595:
+#line 2033 "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 598:
-#line 2041 "dhcp6_parser.yy" // lalr1.cc:859
+  case 596:
+#line 2039 "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 599:
-#line 2046 "dhcp6_parser.yy" // lalr1.cc:859
+  case 597:
+#line 2044 "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 600:
-#line 2051 "dhcp6_parser.yy" // lalr1.cc:859
+  case 598:
+#line 2049 "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,111 +3567,110 @@ namespace isc { namespace dhcp {
   }
 
 
-  const short int Dhcp6Parser::yypact_ninf_ = -744;
+  const short int Dhcp6Parser::yypact_ninf_ = -729;
 
   const signed char Dhcp6Parser::yytable_ninf_ = -1;
 
   const short int
   Dhcp6Parser::yypact_[] =
   {
-     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
+     264,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,    25,    15,    20,    22,    69,    71,
+      73,    77,    94,   110,   117,   193,   199,   221,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,    15,   -15,    13,   121,    29,    33,
+     164,   142,   315,   203,    12,   227,   -10,   340,  -729,   270,
+     275,   296,   298,   305,  -729,  -729,  -729,  -729,  -729,   316,
+    -729,    74,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,   320,   328,   329,   335,   336,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,   337,
+    -729,  -729,  -729,   100,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+     343,  -729,   113,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,   345,   358,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,   130,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,   140,  -729,  -729,  -729,  -729,  -729,
+     362,  -729,   365,   369,  -729,  -729,  -729,  -729,   216,  -729,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,  -729,   367,   373,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,  -729,   372,  -729,  -729,   377,
+    -729,  -729,  -729,   378,  -729,  -729,   379,   382,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,   384,   396,  -729,  -729,  -729,  -729,   409,   417,  -729,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,   224,  -729,  -729,  -729,   418,  -729,  -729,   419,  -729,
+     420,   421,  -729,  -729,   425,   426,   427,  -729,  -729,  -729,
+    -729,  -729,   228,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,    15,
+      15,  -729,   280,   429,   430,   431,   432,   433,  -729,    13,
+    -729,   434,   436,   437,   268,   290,   291,   292,   307,   457,
+     458,   459,   460,   461,   462,   464,   465,   466,   467,   468,
+     469,   470,   325,   475,   478,   121,  -729,   479,   330,    29,
+    -729,   173,   480,   482,   483,   484,   485,   341,   342,   486,
+     491,   492,   495,    33,  -729,   496,   164,  -729,   497,   353,
+     503,   355,   356,   142,  -729,   507,   508,   509,   510,   511,
+     516,   518,  -729,   315,  -729,   519,   520,   375,   521,   525,
+     526,   376,  -729,    12,   529,   380,   381,  -729,   227,   533,
+     534,   132,  -729,   385,   537,   538,   390,   540,   392,   393,
+     543,   544,   394,   395,   397,   547,   549,   340,  -729,  -729,
+    -729,   550,   551,   552,    15,    15,    15,  -729,   553,   554,
+     555,  -729,  -729,  -729,  -729,  -729,   558,   559,   560,   561,
+      15,   562,   564,   565,   566,   567,   568,   569,   570,  -729,
+     571,   572,  -729,   575,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,   548,   563,  -729,  -729,  -729,   576,   577,   405,
+     422,   423,  -729,  -729,    80,   435,   578,   579,  -729,   438,
+    -729,   439,  -729,   440,  -729,  -729,  -729,   575,   575,   575,
+     441,   442,   443,   444,  -729,   445,   446,  -729,   447,   448,
+     449,  -729,  -729,   450,  -729,  -729,  -729,   451,    15,  -729,
+    -729,   452,   453,  -729,   454,  -729,  -729,   138,   463,  -729,
+    -729,  -729,   -14,   455,  -729,    15,   121,   456,  -729,  -729,
+    -729,    29,   225,   225,   581,   582,   601,  -729,  -729,  -729,
+     602,   -39,    15,   321,    14,   603,    84,    63,   185,   340,
+    -729,  -729,   607,  -729,   173,   605,   606,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,   608,   532,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+     231,  -729,   234,  -729,  -729,   235,  -729,  -729,  -729,  -729,
+     612,   613,   614,   615,   616,  -729,  -729,  -729,   253,  -729,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,   254,  -729,   617,   618,  -729,  -729,
+     619,   621,  -729,  -729,   620,   624,  -729,  -729,   622,   626,
+    -729,  -729,  -729,   112,  -729,  -729,  -729,   625,  -729,  -729,
+    -729,   124,  -729,  -729,  -729,  -729,   128,  -729,   627,   629,
+    -729,   630,   631,   632,   633,   634,   635,   257,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,   636,   637,   638,
+    -729,  -729,  -729,  -729,   269,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,   271,  -729,  -729,  -729,   272,   493,   494,
+    -729,  -729,   641,   640,  -729,  -729,   642,   646,  -729,  -729,
+     644,   648,  -729,  -729,   645,  -729,   650,   456,  -729,  -729,
+     651,   652,   653,   654,   477,   489,   499,   504,   512,   656,
+     657,   225,  -729,  -729,    33,  -729,   581,    12,  -729,   582,
+     227,  -729,   601,    66,  -729,   602,   -39,  -729,  -729,   321,
+    -729,    14,  -729,   -10,  -729,   603,   513,   514,   515,   517,
+     522,   523,    84,  -729,   658,   659,   524,   527,   528,    63,
+    -729,   660,   665,   185,  -729,  -729,  -729,   666,   668,  -729,
+     164,  -729,   605,   142,  -729,   606,   315,  -729,   608,   669,
+    -729,   673,  -729,   311,   530,   531,   535,  -729,  -729,  -729,
+    -729,  -729,   541,   584,  -729,   282,  -729,   671,  -729,   676,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,   283,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,   284,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,    88,   587,  -729,  -729,  -729,  -729,   589,   590,
+    -729,  -729,   591,   293,  -729,   294,  -729,   682,  -729,   592,
+     667,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,    66,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+     351,  -729,  -729,   287,   667,  -729,  -729,   688,  -729,  -729,
+    -729,  -729,  -729,   295,  -729,  -729,  -729,  -729,  -729,   692,
+     557,   700,   287,  -729,   701,  -729,   594,  -729,   698,  -729,
+    -729,   357,  -729,    75,   698,  -729,  -729,   710,   711,   713,
+     301,  -729,  -729,  -729,  -729,  -729,  -729,   714,   573,   574,
+     580,    75,  -729,   595,  -729,  -729,  -729,  -729,  -729
   };
 
   const unsigned short int
@@ -3681,378 +3680,371 @@ 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,   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,
+      56,     5,    68,     7,   104,     9,   222,    11,   363,    13,
+     386,    15,   414,    17,   288,    19,   296,    21,   333,    23,
+     187,    25,   504,    27,    45,    39,     0,     0,     0,     0,
+       0,     0,   416,     0,   298,   335,     0,     0,    47,     0,
+      46,     0,     0,    40,    66,   559,   553,   555,   557,     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,
+     118,     0,     0,     0,     0,     0,   214,   286,   325,   374,
+     376,   260,   160,   177,   168,   449,   179,   198,   468,     0,
+     492,   502,    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,   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,   112,     0,   106,   108,   109,   110,   111,   453,   355,
+     378,   245,   247,   249,     0,     0,   253,   251,   406,   445,
+     244,   226,   227,   228,   229,     0,   224,   233,   234,   235,
+     238,   240,   236,   237,   230,   231,   242,   243,   232,   239,
+     241,   372,   371,   368,     0,   365,   367,   369,   370,   399,
+       0,   402,     0,     0,   398,   393,   396,   397,     0,   388,
+     390,   391,   394,   395,   392,   443,   431,   433,   435,   437,
+     439,   441,   430,   427,   428,   429,     0,   417,   418,   422,
+     423,   420,   424,   425,   426,   421,     0,   315,   150,     0,
+     319,   317,   322,     0,   311,   312,     0,   299,   300,   302,
+     314,   303,   304,   305,   321,   306,   307,   308,   309,   310,
+     349,     0,     0,   347,   348,   351,   352,     0,   336,   337,
+     339,   340,   341,   342,   343,   344,   345,   346,   194,   196,
+     191,     0,   189,   192,   193,     0,   526,   528,     0,   531,
+       0,     0,   535,   539,     0,     0,     0,   544,   551,   524,
+     522,   523,     0,   506,   508,   509,   510,   511,   512,   513,
+     514,   515,   516,   517,   518,   519,   520,   521,    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,     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,    69,     0,     0,     0,
+     105,   455,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   223,     0,     0,   364,     0,     0,
+       0,     0,     0,     0,   387,     0,     0,     0,     0,     0,
+       0,     0,   415,     0,   289,     0,     0,     0,     0,     0,
+       0,     0,   297,     0,     0,     0,     0,   334,     0,     0,
+       0,     0,   188,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   505,    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,   491,
+       0,     0,    71,     0,   115,   107,   466,   464,   465,   461,
+     462,   463,     0,   456,   457,   459,   460,     0,     0,     0,
+       0,     0,   258,   259,     0,     0,     0,     0,   225,     0,
+     366,     0,   401,     0,   404,   405,   389,     0,     0,     0,
+       0,     0,     0,     0,   419,     0,     0,   313,     0,     0,
+       0,   324,   301,     0,   353,   354,   338,     0,     0,   190,
+     525,     0,     0,   530,     0,   533,   534,     0,     0,   541,
+     542,   543,     0,     0,   507,     0,     0,     0,   554,   556,
+     558,     0,     0,     0,   216,   290,   327,    38,   375,   377,
+     262,     0,    45,     0,     0,   181,     0,     0,     0,     0,
+      49,   114,     0,   454,     0,   357,   380,   246,   248,   250,
+     255,   256,   257,   254,   252,   408,     0,   373,   400,   403,
+     444,   432,   434,   436,   438,   440,   442,   316,   151,   320,
+     318,   323,   350,   195,   197,   527,   529,   532,   537,   538,
+     536,   540,   546,   547,   548,   549,   550,   545,   552,    42,
+       0,   564,     0,   561,   563,     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,   220,     0,   217,   218,   294,
+       0,   291,   292,   331,     0,   328,   329,   266,     0,   263,
+     264,   166,   167,     0,   162,   164,   165,     0,   175,   176,
+     172,     0,   170,   173,   174,   451,     0,   185,     0,   182,
+     183,     0,     0,     0,     0,     0,     0,     0,   200,   202,
+     203,   204,   205,   206,   207,   481,   487,     0,     0,     0,
+     480,   477,   478,   479,     0,   470,   472,   475,   473,   474,
+     476,   498,   500,     0,   494,   496,   497,     0,    51,     0,
+     458,   361,     0,   358,   359,   384,     0,   381,   382,   412,
+       0,   409,   410,   447,     0,    67,     0,     0,   560,   103,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     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,   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
+       0,     0,   117,   119,     0,   215,     0,   298,   287,     0,
+     335,   326,     0,     0,   261,     0,     0,   161,   178,     0,
+     169,     0,   450,     0,   180,     0,     0,     0,     0,     0,
+       0,     0,     0,   199,     0,     0,     0,     0,     0,     0,
+     469,     0,     0,     0,   493,   503,    53,     0,    52,   467,
+       0,   356,     0,     0,   379,     0,   416,   407,     0,     0,
+     446,     0,   562,     0,     0,     0,     0,   149,   152,   153,
+     154,   155,     0,     0,   121,     0,   219,     0,   293,     0,
+     330,   285,   280,   282,   274,   275,   270,   271,   272,   273,
+     279,   278,   281,     0,   268,   276,   283,   284,   277,   265,
+     163,   171,   452,     0,   184,   208,   209,   210,   211,   212,
+     213,   201,     0,     0,   486,   489,   490,   471,     0,     0,
+     495,    50,     0,     0,   360,     0,   383,     0,   411,     0,
+       0,   139,   140,   141,   142,   138,   144,   146,   148,   157,
+     159,   221,   295,   332,     0,   267,   186,   483,   484,   485,
+     482,   488,   499,   501,    54,   362,   385,   413,   448,   568,
+       0,   566,   269,     0,     0,   565,   582,     0,   580,   578,
+     572,   576,   577,     0,   570,   574,   575,   573,   567,     0,
+       0,     0,     0,   569,     0,   579,     0,   571,     0,   581,
+     586,     0,   584,     0,     0,   583,   594,     0,     0,     0,
+       0,   588,   590,   591,   592,   593,   585,     0,     0,     0,
+       0,     0,   587,     0,   596,   597,   598,   589,   595
   };
 
   const short int
   Dhcp6Parser::yypgoto_[] =
   {
-    -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
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,    -8,  -729,   281,  -729,  -729,
+    -729,  -729,  -729,  -729,    70,  -729,  -184,  -729,  -729,  -729,
+     -66,  -729,  -729,  -729,   391,  -729,  -729,  -729,  -729,   188,
+     366,   -68,   -55,   -54,   -51,  -729,  -729,  -729,  -729,  -729,
+     190,   389,  -729,  -729,  -729,  -729,  -729,  -729,  -729,   206,
+      -1,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,   -62,  -729,  -545,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,   -13,  -534,  -729,  -729,  -729,  -729,
+     -17,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,   -20,
+    -729,  -729,  -729,   -16,   347,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,   -26,  -729,  -729,  -729,  -729,  -729,  -729,  -728,
+    -729,  -729,  -729,     3,  -729,  -729,  -729,     6,   388,  -729,
+    -729,  -715,  -729,  -708,  -729,  -538,  -729,  -707,  -729,  -729,
+    -729,  -693,  -729,  -729,  -729,  -729,    -2,  -729,  -729,  -128,
+     694,  -729,  -729,  -729,  -729,  -729,    10,  -729,  -729,  -729,
+      16,  -729,   368,  -729,   -58,  -729,  -729,  -729,  -729,  -729,
+     -49,  -729,  -729,  -729,  -729,  -729,    -9,  -729,  -729,  -729,
+       8,  -729,  -729,  -729,    17,  -729,   364,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,   -28,  -729,
+    -729,  -729,   -24,   403,  -729,  -729,   -38,  -729,   -25,  -729,
+    -729,  -729,  -729,  -729,   -23,  -729,  -729,  -729,   -19,   400,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,   -22,  -729,  -729,  -729,   -21,  -729,   387,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -691,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,   223,  -729,  -729,  -729,  -729,  -729,  -729,     0,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,    -5,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,   233,   363,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,  -729,
+    -729,  -729,  -729,  -729,  -729,    56,  -729,  -729,  -729,  -119,
+    -729,  -729,  -136,  -729,  -729,  -729,  -729,  -729,  -729,  -146,
+    -729,  -729,  -162,  -729,  -729,  -729,  -729,  -729
   };
 
   const short int
   Dhcp6Parser::yydefgoto_[] =
   {
       -1,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      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
+      23,    24,    25,    26,    27,    78,    37,    38,    65,   548,
+      82,    83,    39,    64,    79,    80,   561,   718,   797,   798,
+     122,    41,    66,    91,    92,    93,   323,    43,    67,   123,
+     124,   125,   126,   127,   128,   129,   130,   331,    45,    68,
+     152,   153,   154,   357,   155,   131,   332,   132,   333,   628,
+     629,   630,   740,   885,   631,   741,   632,   742,   633,   743,
+     634,   245,   396,   636,   637,   638,   639,   640,   749,   641,
+     750,   133,   345,   663,   664,   665,   666,   134,   347,   671,
+     672,   673,   674,   135,   346,   136,   349,   678,   679,   680,
+     773,    61,    76,   281,   282,   283,   409,   284,   410,   137,
+     350,   687,   688,   689,   690,   691,   692,   693,   694,   138,
+     339,   646,   647,   648,   754,    47,    69,   175,   176,   177,
+     364,   178,   365,   179,   366,   180,   370,   181,   369,   573,
+     182,   183,   139,   344,   658,   659,   660,   763,   843,   844,
+     140,   340,    55,    73,   650,   651,   652,   757,    57,    74,
+     246,   247,   248,   249,   250,   251,   252,   395,   253,   399,
+     254,   398,   255,   256,   400,   257,   141,   341,   654,   655,
+     656,   760,    59,    75,   267,   268,   269,   270,   271,   404,
+     272,   273,   274,   275,   185,   362,   722,   723,   724,   800,
+      49,    70,   194,   195,   196,   375,   142,   342,   143,   343,
+     188,   363,   726,   727,   728,   803,    51,    71,   208,   209,
+     210,   378,   211,   212,   380,   213,   214,   189,   371,   730,
+     731,   732,   806,    53,    72,   226,   227,   228,   229,   386,
+     230,   387,   231,   388,   232,   389,   233,   390,   234,   391,
+     235,   385,   190,   372,   734,   809,   144,   348,   676,   361,
+     472,   473,   474,   475,   476,   562,   145,   351,   704,   705,
+     706,   784,   900,   707,   708,   785,   709,   710,   146,   147,
+     353,   713,   714,   715,   791,   716,   792,   148,   354,    63,
+      77,   302,   303,   304,   305,   414,   306,   415,   307,   308,
+     417,   309,   310,   311,   420,   600,   312,   421,   313,   314,
+     315,   316,   425,   607,   317,   426,    94,   325,    95,   326,
+      96,   327,    97,   324,   612,   613,   614,   736,   910,   911,
+     913,   923,   924,   925,   926,   931,   927,   929,   941,   942,
+     943,   950,   951,   952,   957,   953,   954,   955
   };
 
   const unsigned short int
   Dhcp6Parser::yytable_[] =
   {
-      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,
+      90,   171,   151,   170,   192,   204,   222,    36,   244,   263,
+     280,   299,   701,   264,   172,   173,   675,   265,   174,   670,
+      29,   158,    30,    84,    31,    28,   266,    40,   237,    42,
+     156,   186,   197,   206,   224,   837,   258,   276,   661,   300,
+     158,   149,   150,   157,   187,   198,   207,   225,   838,   259,
+     277,   238,   301,   239,   240,   839,   841,   241,   242,   243,
+     184,   193,   205,   223,   101,   102,   103,   104,   109,   110,
+     842,   108,   848,   158,   278,   279,    44,   329,    46,   695,
+      48,   159,   330,   160,    50,   109,   110,   167,   621,   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,
+     104,    52,   106,   355,   108,   238,   167,   168,   356,   602,
+     603,   604,   605,   662,   169,   766,   359,    54,   767,   109,
+     110,   360,   109,   110,    56,   162,   163,   769,   165,   166,
+     770,   771,    98,   373,   772,    99,   100,    81,   374,   167,
+      85,   606,    89,   376,   570,   571,   572,   169,   377,    86,
+      87,    88,   101,   102,   103,   104,   105,   106,   107,   108,
+     696,   697,   698,   699,    89,    89,   837,    32,    33,    34,
+      35,   681,   682,   683,   684,   685,   686,   109,   110,   838,
+     108,    89,   897,   898,   899,    89,   839,   841,   111,   112,
+     113,   114,   115,   199,   200,   201,   202,   203,   109,   110,
+      58,   842,   108,   848,   116,   946,    60,   117,   947,   948,
+     949,   108,   238,   191,   118,    89,   278,   279,    89,   383,
+     109,   110,   119,   120,   384,   840,   121,   411,    62,   109,
+     110,   427,   412,   852,   355,   670,   428,   737,   359,   735,
+     107,   616,   738,   739,   701,   466,   617,   618,   619,   620,
+     621,   622,   623,   624,   625,   626,   751,   751,   598,   599,
+     782,   752,   753,    90,   238,   783,   238,   260,   239,   240,
+     261,   262,   789,    89,   793,   427,   318,   790,   319,   794,
+     795,   109,   110,   109,   110,   373,   894,   411,   711,   712,
+     891,   895,   896,   151,    89,   467,   376,   383,   932,   468,
+     320,   905,   906,   933,   961,   171,   321,   170,   322,   962,
+     192,   429,   430,   580,   581,   582,    89,   204,   172,   173,
+     328,   156,   174,   470,   334,    89,   238,   222,   881,   882,
+     883,   884,   335,   336,   157,   186,   471,   244,   197,   337,
+     338,   352,   263,   109,   110,   206,   264,   358,   187,   367,
+     265,   198,   469,   108,   914,   224,   840,   915,   207,   266,
+     944,   299,   368,   945,   184,   258,   379,   193,   225,   381,
+     276,   109,   110,   382,   205,   392,   393,    89,   259,    89,
+     394,   397,   401,   277,   223,   403,   215,   402,   405,   300,
+     216,   217,   218,   219,   220,   221,   109,   110,   661,   668,
+     406,   669,   301,     1,     2,     3,     4,     5,     6,     7,
+       8,     9,    10,    11,    12,    13,   916,   407,   917,   918,
+     408,   441,   413,   416,   418,   419,   538,   539,   540,   422,
+     423,   424,   431,   432,   433,   434,   435,   436,   438,    89,
+     439,   440,   549,   442,   443,   444,   285,   286,   287,   288,
+     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
+     445,   446,   447,   448,   449,   450,   451,    89,   452,   453,
+     454,   455,   456,   457,   458,   151,   627,   627,   459,   460,
+     635,   635,   461,   463,   477,   464,   478,   479,   480,   481,
+     484,   700,    89,   299,   482,   485,   486,   483,   467,   487,
+     489,   491,   468,   156,   642,   642,   492,   493,   494,   495,
+     594,   497,   498,   499,   500,   501,   157,   643,   643,   702,
+     502,   300,   503,   505,   506,   508,   470,   609,   507,   509,
+     510,   511,   703,   513,   301,   514,   515,   517,   518,   471,
+     520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
+     530,   532,   531,   533,   535,   469,   563,   567,   536,   537,
+     541,   542,   543,   544,   545,   546,   564,   550,    30,   551,
+     552,   553,   554,   555,   568,   569,   556,   557,   558,   559,
+     560,   565,   566,   575,   611,   601,   576,   574,   645,   649,
+     577,   578,   579,   583,   584,   585,   586,   587,   588,   589,
+     590,   591,   592,   593,   595,   596,   597,   608,   653,   657,
+     677,   719,   721,   725,   733,   729,   744,   745,   746,   747,
+     748,   756,   667,   755,   759,   758,   761,   762,   764,   765,
+     817,   768,   775,   774,   776,   777,   778,   779,   780,   781,
+     786,   787,   788,   802,   818,   796,   799,   801,   804,   805,
+     807,   808,   819,   810,   811,   813,   814,   815,   816,   820,
+     822,   823,   862,   863,   868,   821,   855,   856,   857,   869,
+     858,   872,   871,   879,   909,   859,   860,   864,   880,   892,
+     865,   866,   886,   887,   893,   627,   171,   888,   170,   635,
+     907,   244,   930,   889,   263,   832,   934,   831,   264,   172,
+     173,   836,   265,   174,   936,   940,   938,   280,   833,   834,
+     935,   266,   835,   642,   958,   959,   186,   960,   963,   258,
+     437,   462,   276,   700,   610,   846,   643,   965,   964,   187,
+     547,   615,   259,   966,   192,   277,   890,   204,   847,   901,
+     222,   902,   903,   904,   908,   184,   939,   968,   465,   644,
+     824,   702,   851,   850,   845,   854,   861,   853,   519,   826,
+     825,   488,   197,   849,   703,   206,   912,   236,   224,   828,
+     830,   512,   516,   827,   874,   198,   873,   829,   207,   490,
+     504,   225,   876,   496,   875,   877,   878,   720,   870,   867,
+     534,   193,   717,   812,   205,   928,   937,   223,   956,   967,
        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,
-     924
+       0,     0,     0,     0,     0,     0,   832,     0,   831,     0,
+       0,     0,   836,     0,     0,     0,     0,     0,     0,   833,
+     834,     0,     0,   835,     0,     0,     0,   919,     0,     0,
+       0,   920,     0,     0,     0,     0,   846,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   919,     0,     0,   847,
+     920,     0,     0,     0,     0,   921,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   845,     0,     0,   922,     0,
+       0,     0,     0,     0,   921,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   922
   };
 
   const short int
   Dhcp6Parser::yycheck_[] =
   {
-      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,
+      66,    69,    68,    69,    70,    71,    72,    15,    74,    75,
+      76,    77,   557,    75,    69,    69,   554,    75,    69,   553,
+       5,     7,     7,    10,     9,     0,    75,     7,    16,     7,
+      68,    69,    70,    71,    72,   763,    74,    75,    77,    77,
+       7,    12,    13,    68,    69,    70,    71,    72,   763,    74,
+      75,    39,    77,    41,    42,   763,   763,    45,    46,    47,
+      69,    70,    71,    72,    31,    32,    33,    34,    56,    57,
+     763,    38,   763,     7,    84,    85,     7,     3,     7,    16,
+       7,    48,     8,    50,     7,    56,    57,    73,    25,    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,
+      34,     7,    36,     3,    38,    39,    73,    74,     8,   123,
+     124,   125,   126,   152,    81,     3,     3,     7,     6,    56,
+      57,     8,    56,    57,     7,    59,    60,     3,    62,    63,
+       6,     3,    11,     3,     6,    14,    15,   152,     8,    73,
+     127,   155,   152,     3,    64,    65,    66,    81,     8,   136,
+     137,   138,    31,    32,    33,    34,    35,    36,    37,    38,
+      97,    98,    99,   100,   152,   152,   894,   152,   153,   154,
+     155,    87,    88,    89,    90,    91,    92,    56,    57,   894,
+      38,   152,    94,    95,    96,   152,   894,   894,    67,    68,
+      69,    70,    71,    51,    52,    53,    54,    55,    56,    57,
+       7,   894,    38,   894,    83,   130,     7,    86,   133,   134,
+     135,    38,    39,    49,    93,   152,    84,    85,   152,     3,
+      56,    57,   101,   102,     8,   763,   105,     3,     7,    56,
+      57,     3,     8,   771,     3,   769,     8,     3,     3,     8,
+      37,    16,     8,     8,   789,    72,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,     3,     3,   120,   121,
+       3,     8,     8,   329,    39,     8,    39,    40,    41,    42,
+      43,    44,     3,   152,     3,     3,     6,     8,     3,     8,
+       8,    56,    57,    56,    57,     3,     3,     3,   103,   104,
+       8,     8,     8,   359,   152,   361,     3,     3,     3,   361,
+       4,     8,     8,     8,     3,   373,     8,   373,     3,     8,
+     376,   319,   320,   497,   498,   499,   152,   383,   373,   373,
+       4,   359,   373,   361,     4,   152,    39,   393,    17,    18,
+      19,    20,     4,     4,   359,   373,   361,   403,   376,     4,
+       4,     4,   408,    56,    57,   383,   408,     4,   373,     4,
+     408,   376,   361,    38,     3,   393,   894,     6,   383,   408,
+       3,   427,     4,     6,   373,   403,     4,   376,   393,     4,
+     408,    56,    57,     4,   383,     8,     3,   152,   403,   152,
+       8,     4,     4,   408,   393,     3,    71,     8,     4,   427,
+      75,    76,    77,    78,    79,    80,    56,    57,    77,    78,
+       4,    80,   427,   139,   140,   141,   142,   143,   144,   145,
+     146,   147,   148,   149,   150,   151,   129,     8,   131,   132,
+       3,   153,     4,     4,     4,     4,   434,   435,   436,     4,
+       4,     4,   152,     4,     4,     4,     4,     4,     4,   152,
+       4,     4,   450,   153,   153,   153,   106,   107,   108,   109,
+     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
+     153,     4,     4,     4,     4,     4,     4,   152,     4,     4,
+       4,     4,     4,     4,     4,   541,   542,   543,   153,     4,
+     542,   543,     4,     4,     4,   155,     4,     4,     4,     4,
+       4,   557,   152,   559,   153,     4,     4,   155,   564,     4,
+       4,     4,   564,   541,   542,   543,   153,     4,   153,   153,
+     518,     4,     4,     4,     4,     4,   541,   542,   543,   557,
+       4,   559,     4,     4,     4,     4,   564,   535,   153,     4,
+       4,   155,   557,     4,   559,   155,   155,     4,     4,   564,
+     155,     4,     4,   153,     4,   153,   153,     4,     4,   155,
+     155,     4,   155,     4,     4,   564,     8,   152,     7,     7,
+       7,     7,     7,     5,     5,     5,     3,     5,     7,     5,
+       5,     5,     5,     5,   152,   152,     7,     7,     7,     7,
+       5,     5,     5,     5,   128,   122,     7,   152,     7,     7,
+     152,   152,   152,   152,   152,   152,   152,   152,   152,   152,
+     152,   152,   152,   152,   152,   152,   152,   152,     7,     7,
+       7,     4,     7,     7,    82,     7,     4,     4,     4,     4,
+       4,     3,   552,     6,     3,     6,     6,     3,     6,     3,
+     153,     6,     3,     6,     4,     4,     4,     4,     4,     4,
+       4,     4,     4,     3,   155,   152,   152,     6,     6,     3,
+       6,     3,   153,     8,     4,     4,     4,     4,     4,   155,
+       4,     4,     4,     4,     4,   153,   153,   153,   153,     4,
+     153,     3,     6,     4,     7,   153,   153,   153,     5,     8,
+     153,   153,   152,   152,     8,   751,   754,   152,   754,   751,
+       8,   757,     4,   152,   760,   763,     4,   763,   760,   754,
+     754,   763,   760,   754,     4,     7,     5,   773,   763,   763,
+     153,   760,   763,   751,     4,     4,   754,     4,     4,   757,
+     329,   355,   760,   789,   536,   763,   751,   153,   155,   754,
+     449,   541,   757,   153,   800,   760,   152,   803,   763,   152,
+     806,   152,   152,   152,   152,   754,   152,   152,   359,   543,
+     751,   789,   769,   766,   763,   775,   782,   773,   411,   756,
+     754,   373,   800,   765,   789,   803,   894,    73,   806,   759,
+     762,   403,   408,   757,   802,   800,   800,   760,   803,   376,
+     393,   806,   805,   383,   803,   806,   808,   564,   793,   789,
+     427,   800,   559,   737,   803,   914,   932,   806,   944,   961,
       -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,
-     934
+      -1,    -1,    -1,    -1,    -1,    -1,   894,    -1,   894,    -1,
+      -1,    -1,   894,    -1,    -1,    -1,    -1,    -1,    -1,   894,
+     894,    -1,    -1,   894,    -1,    -1,    -1,   913,    -1,    -1,
+      -1,   913,    -1,    -1,    -1,    -1,   894,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   932,    -1,    -1,   894,
+     932,    -1,    -1,    -1,    -1,   913,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   894,    -1,    -1,   913,    -1,
+      -1,    -1,    -1,    -1,   932,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   932
   };
 
   const unsigned short int
@@ -4086,76 +4078,75 @@ namespace isc { namespace dhcp {
      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,   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
+     186,   259,   260,   261,   263,   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,   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
@@ -4180,48 +4171,47 @@ namespace isc { namespace dhcp {
      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,
+     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,   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,   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,
+     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,   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
+     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
@@ -4246,48 +4236,47 @@ namespace isc { namespace dhcp {
        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,     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,
+       3,     1,     1,     1,     0,     4,     0,     4,     0,     6,
+       1,     3,     1,     1,     1,     1,     1,     1,     3,     3,
+       3,     3,     3,     3,     0,     6,     0,     1,     1,     3,
+       0,     4,     0,     4,     1,     3,     1,     1,     1,     1,
        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,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     0,     6,
-       0,     4,     0,     1,     1,     3,     0,     4,     0,     4,
-       0,     1,     1,     3,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     3,     1,     0,     4,     0,
-       4,     0,     4,     1,     0,     4,     3,     0,     6,     0,
-       1,     1,     3,     0,     4,     0,     4,     0,     1,     1,
-       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     0,     4,     1,     1,     3,     3,     0,     6,     0,
-       1,     1,     3,     0,     4,     0,     4,     1,     3,     1,
-       1,     1,     1,     1,     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,
+       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,     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,     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,     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,     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
+       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
   };
 
 
@@ -4449,48 +4438,47 @@ namespace isc { namespace dhcp {
      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,
+     755,   756,   759,   760,   763,   763,   771,   771,   779,   779,
+     790,   791,   794,   795,   796,   797,   798,   799,   802,   807,
+     812,   817,   822,   827,   835,   835,   848,   849,   852,   853,
+     860,   860,   886,   886,   897,   898,   902,   903,   904,   905,
      906,   907,   908,   909,   910,   911,   912,   913,   914,   915,
-     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,
+     916,   917,   918,   919,   920,   923,   923,   931,   931,   939,
+     939,   947,   947,   955,   955,   962,   963,   964,   967,   972,
+     980,   980,   991,   992,   996,   997,  1000,  1000,  1008,  1009,
+    1012,  1013,  1014,  1015,  1016,  1017,  1018,  1019,  1020,  1021,
+    1022,  1023,  1024,  1025,  1026,  1027,  1034,  1034,  1047,  1047,
+    1056,  1057,  1060,  1061,  1066,  1066,  1081,  1081,  1095,  1096,
+    1099,  1100,  1103,  1104,  1105,  1106,  1107,  1108,  1109,  1110,
+    1111,  1112,  1115,  1117,  1122,  1124,  1124,  1132,  1132,  1140,
+    1140,  1148,  1150,  1150,  1158,  1167,  1167,  1179,  1180,  1185,
+    1186,  1191,  1191,  1203,  1203,  1215,  1216,  1221,  1222,  1227,
+    1228,  1229,  1230,  1231,  1232,  1233,  1234,  1235,  1238,  1240,
+    1240,  1248,  1250,  1252,  1257,  1265,  1265,  1277,  1278,  1281,
+    1282,  1285,  1285,  1295,  1295,  1304,  1305,  1308,  1309,  1310,
+    1311,  1312,  1315,  1315,  1323,  1323,  1330,  1330,  1342,  1342,
+    1354,  1355,  1358,  1359,  1362,  1362,  1374,  1374,  1386,  1387,
+    1390,  1391,  1392,  1393,  1394,  1395,  1396,  1397,  1398,  1401,
+    1401,  1409,  1414,  1414,  1422,  1427,  1435,  1435,  1445,  1446,
+    1449,  1450,  1453,  1453,  1462,  1462,  1471,  1472,  1475,  1476,
+    1480,  1481,  1482,  1483,  1484,  1485,  1486,  1487,  1488,  1489,
+    1490,  1493,  1493,  1503,  1503,  1513,  1513,  1521,  1521,  1529,
+    1529,  1537,  1537,  1545,  1545,  1558,  1558,  1568,  1568,  1579,
+    1579,  1589,  1590,  1593,  1593,  1603,  1604,  1607,  1608,  1611,
+    1612,  1613,  1614,  1615,  1616,  1619,  1621,  1621,  1632,  1632,
+    1644,  1645,  1648,  1649,  1650,  1651,  1652,  1653,  1654,  1655,
+    1656,  1659,  1659,  1666,  1667,  1668,  1671,  1676,  1676,  1684,
+    1689,  1696,  1703,  1703,  1713,  1714,  1717,  1718,  1721,  1721,
+    1729,  1729,  1739,  1739,  1751,  1751,  1761,  1762,  1765,  1766,
     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
+    1777,  1778,  1779,  1780,  1781,  1784,  1789,  1789,  1797,  1797,
+    1805,  1810,  1810,  1818,  1823,  1828,  1828,  1836,  1837,  1840,
+    1840,  1848,  1853,  1858,  1863,  1863,  1871,  1874,  1877,  1880,
+    1883,  1889,  1889,  1899,  1899,  1906,  1906,  1913,  1913,  1926,
+    1926,  1939,  1940,  1944,  1948,  1948,  1960,  1961,  1965,  1965,
+    1973,  1974,  1977,  1978,  1979,  1980,  1981,  1982,  1983,  1986,
+    1991,  1991,  1999,  1999,  2009,  2010,  2013,  2013,  2021,  2022,
+    2025,  2026,  2027,  2028,  2031,  2031,  2039,  2044,  2049
   };
 
   // Print the state stack on the debug stream.
@@ -4525,8 +4513,8 @@ namespace isc { namespace dhcp {
 
 #line 14 "dhcp6_parser.yy" // lalr1.cc:1167
 } } // isc::dhcp
-#line 4529 "dhcp6_parser.cc" // lalr1.cc:1167
-#line 2056 "dhcp6_parser.yy" // lalr1.cc:1168
+#line 4517 "dhcp6_parser.cc" // lalr1.cc:1167
+#line 2054 "dhcp6_parser.yy" // lalr1.cc:1168
 
 
 void
index 8c26561f1cac585bd69585143e36e6654b7ce3b7..9b83798293e4aafbc533f9c251e9d8d1676685c5 100644 (file)
@@ -1435,7 +1435,7 @@ namespace isc { namespace dhcp {
     enum
     {
       yyeof_ = 0,
-      yylast_ = 930,     ///< Last index in yytable_.
+      yylast_ = 907,     ///< Last index in yytable_.
       yynnts_ = 348,  ///< Number of nonterminal symbols.
       yyfinal_ = 28, ///< Termination state number.
       yyterror_ = 1,
index fec270e173fcb3cc521693b0c43cc1223c951279..d56f91e2a2344b485fbad2e6e7382f14fe7d6548 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201712011036
+// Generated 201712011520
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Locations for Bison parsers in C++
index 13c12536afc67f3312cc5cbfb33e1dbbb79970bd..00e224eaffec55288efd015303c0ef01bfbdeabd 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201712011036
+// Generated 201712011520
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Positions for Bison parsers in C++
index 51246ad05076dd1a9d7394036e12807e7e2e4992..64fcfb902970b585492b185dcfe41b87ca91ccd1 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201712011036
+// Generated 201712011520
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Stack handling for Bison parsers in C++