]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
authorThomas Markwalder <tmark@isc.org>
Fri, 9 Aug 2019 15:18:35 +0000 (11:18 -0400)
committerThomas Markwalder <tmark@isc.org>
Fri, 16 Aug 2019 21:51:01 +0000 (17:51 -0400)
src/bin/dhcp6/dhcp6_lexer.ll
src/bin/dhcp6/dhcp6_parser.yy
    Added max-row-errors

src/lib/dhcpsrv/tests/lease_file_loader_unittest.cc
    TEST_F(LeaseFileLoaderTest, maxRowErrors6) - new unit test
    to verify max-row-errors operation

src/bin/dhcp4/dhcp4_lexer.ll
src/bin/dhcp6/dhcp6_lexer.cc
src/bin/dhcp6/dhcp6_lexer.ll
src/bin/dhcp6/dhcp6_parser.cc
src/bin/dhcp6/dhcp6_parser.h
src/bin/dhcp6/dhcp6_parser.yy
src/bin/dhcp6/location.hh
src/bin/dhcp6/position.hh
src/bin/dhcp6/stack.hh
src/lib/dhcpsrv/tests/lease_file_loader_unittest.cc

index 8b9b049e7088352cf471101849430ef4a548f308..106d6c52c7dfd7cc9e78cb3754ba9ccc3b7fd921 100644 (file)
@@ -590,7 +590,6 @@ ControlCharacterFill            [^"\\]|\\{JSONEscapeSequence}
     }
 }
 
-
 \"valid-lifetime\" {
     switch(driver.ctx_) {
     case isc::dhcp::Parser4Context::DHCP4:
index 3bb8357fcfa8e68423014fd0c3a21a444f7a369c..01f6a1a98d9769bb399cde7455e4a0573abd3233 100644 (file)
@@ -474,7 +474,11 @@ struct yy_trans_info
        flex_int32_t yy_verify;
        flex_int32_t yy_nxt;
        };
+<<<<<<< HEAD
 static yyconst flex_int16_t yy_accept[1621] =
+=======
+static const flex_int16_t yy_accept[1625] =
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {   0,
       184,  184,    0,    0,    0,    0,    0,    0,    0,    0,
       192,  190,   10,   11,  190,    1,  184,  181,  184,  184,
@@ -501,26 +505,39 @@ static yyconst flex_int16_t yy_accept[1621] =
         0,    0,    0,    0,    0,    0,  175,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,  102,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,  103,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+<<<<<<< HEAD
         0,    0,    0,    0,    0,    0,    0,    0,    0,  189,
 
       187,    0,  186,  185,    0,    0,    0,    0,    0,    0,
         0,  150,    0,    0,   28,    0,   27,    0,    0,  109,
+=======
+        0,    0,    0,    0,    0,    0,    0,    0,  189,  187,
+
+        0,  186,  185,    0,    0,    0,    0,    0,    0,    0,
+      150,    0,    0,   28,    0,   27,    0,    0,  110,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,   55,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
         0,    0,    0,    0,    0,    0,    0,    0,    0,    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,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+<<<<<<< HEAD
         0,  106,    0,    0,    0,    0,    0,    0,    0,    0,
+=======
+      107,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+<<<<<<< HEAD
         0,    0,    0,    0,    0,    0,  188,  185,    0,    0,
         0,    0,    0,    0,    0,    0,   29,    0,    0,   31,
         0,    0,    0,    0,    0,    0,  110,    0,    0,    0,
@@ -550,10 +567,43 @@ static yyconst flex_int16_t yy_accept[1621] =
         0,    0,    0,    0,    0,    0,    0,    0,    7,   35,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+=======
+        0,    0,    0,    0,  188,  185,    0,    0,    0,    0,
+        0,    0,    0,    0,   29,    0,    0,   31,    0,    0,
+        0,    0,    0,    0,  111,    0,    0,    0,    0,    0,
+        0,    0,   88,    0,    0,    0,    0,    0,    0,    0,
+      135,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,   58,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,   87,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+
+       97,    0,   59,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,  130,  155,   51,    0,   56,    0,    0,
+        0,    0,    0,    0,  170,   37,    0,   34,    0,   33,
+        0,    0,    0,  143,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,  122,    0,    0,
+        0,    0,    0,    0,    0,    0,  154,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+
+        0,    0,    0,    0,    0,    0,    0,   53,    0,    0,
+       32,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+       90,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,  144,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,  139,    0,    0,    0,
+        0,    0,    0,    0,    0,    7,   35,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,  109,    0,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,  108,    0,    0,    0,    0,    0,    0,    0,    0,
 
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+<<<<<<< HEAD
         0,    0,    0,  123,    0,    0,    0,    0,    0,    0,
         0,    0,  120,    0,    0,    0,    0,    0,    0,    0,
         0,    0,   91,    0,    0,    0,    0,    0,    0,    0,
@@ -564,11 +614,28 @@ static yyconst flex_int16_t yy_accept[1621] =
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,  138,    0,    0,    0,    0,
 
+=======
+        0,  124,    0,    0,    0,    0,    0,    0,    0,    0,
+      121,    0,    0,    0,    0,    0,    0,    0,    0,   92,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,  100,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,  118,    0,    0,    0,    0,    0,
+       99,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,  138,    0,    0,    0,    0,    0,    0,    0,
+
+        0,    0,    0,    0,    0,    0,    0,    0,  148,  119,
+        0,    0,    0,    0,    0,    0,    0,  123,   52,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,   60,    0,    0,    0,    0,    0,    0,    0,    0,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,  148,  118,    0,    0,    0,    0,    0,    0,  122,
        52,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,  124,    0,   60,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+<<<<<<< HEAD
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,   82,    0,    0,    0,    0,    0,
         0,    0,    0,  171,    0,    0,    0,    0,    0,    0,
@@ -580,12 +647,30 @@ static yyconst flex_int16_t yy_accept[1621] =
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,   57,   90,    0,    0,    0,  134,    0,
         0,    0,   50,    0,    0,    0,    0,    0,    0,    0,
+=======
+        0,   83,    0,    0,    0,    0,    0,    0,    0,    0,
+      171,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,  106,    0,    0,    0,    0,    0,    0,    0,    0,
+
+        0,    0,  137,    0,    0,    0,    0,    0,    0,   63,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,   57,   91,    0,    0,    0,  134,    0,    0,    0,
+       50,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,  126,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,  126,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+<<<<<<< HEAD
+=======
+        0,    0,    0,    0,    0,    0,    0,    0,  169,    0,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
       169,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
+<<<<<<< HEAD
         0,    0,    0,    0,    0,    0,    0,  100,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
@@ -622,6 +707,43 @@ static yyconst flex_int16_t yy_accept[1621] =
       172,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,   95,    0,    0,  156,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+=======
+        0,    0,    0,    0,    0,  101,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,   41,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,   16,    0,
+        0,  149,   14,    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,  140,    0,
+      125,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,  136,  153,    0,
+
+       40,    0,  145,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,   20,    0,    0,    0,
+       85,    0,    0,    0,    0,  147,   54,    0,   93,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,   82,    0,    0,    0,  116,
+      117,    0,    0,    0,    0,    0,    0,    0,    0,   89,
+        0,    0,    0,    0,    0,    0,   64,    0,    0,    0,
+        0,    0,    0,    0,    0,  142,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,  112,    0,    0,    0,    0,    0,    0,    0,
+
+        0,    0,    0,   86,  108,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,   79,    0,    0,    0,
+        0,    0,    0,   17,    0,   15,    0,  167,  166,    0,
+       69,    0,    0,    0,    0,    0,   30,    0,  129,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+      164,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,  102,    0,  133,   43,    0,   61,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,   19,    0,    0,
+        0,    0,    0,    0,  104,   80,    0,    0,  141,    0,
+        0,    0,    0,    0,  132,    0,    0,    0,    0,    0,
+
+       98,    0,  172,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,   96,    0,    0,  156,    0,    0,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,   42,    0,
         0,   68,    0,    0,    0,    0,  127,   47,    0,    0,
@@ -634,6 +756,7 @@ static yyconst flex_int16_t yy_accept[1621] =
         0,    0,   93,    0,    0,    0,    0,    0,  146,    0,
         0,    0,   46,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+<<<<<<< HEAD
        67,    0,    0,    0,   83,    0,   36,    0,   48,    0,
         0,    0,    0,    0,    0,   24,    0,    0,    0,    0,
         0,    0,    0,  162,    0,    0,    0,    0,  131,    0,
@@ -654,6 +777,39 @@ static yyconst flex_int16_t yy_accept[1621] =
 
       163,   80,    0,    0,    0,    0,  157,    0,    0,   26,
         0,    0,    0,    0,    0,  113,    0,    0,  159,    0
+=======
+        0,   42,    0,    0,   68,    0,    0,    0,    0,  127,
+       47,    0,    0,    0,   70,  165,   38,    0,    0,   12,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,   45,
+        0,    0,   44,    0,   18,    0,    0,    0,   72,    0,
+        0,    0,    0,  120,    0,    0,    0,    0,    0,    0,
+
+        0,    0,    0,    0,    0,    0,    0,    0,   76,    0,
+        0,    0,    0,   62,    0,    0,   94,    0,    0,    0,
+        0,    0,  146,    0,    0,    0,   46,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,   67,    0,    0,    0,   84,    0,
+       36,    0,   48,    0,    0,    0,    0,    0,    0,   24,
+        0,    0,    0,    0,    0,    0,    0,  162,    0,    0,
+        0,    0,  131,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,  105,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,   25,   39,    0,    0,    0,
+
+        0,    0,    0,    0,    0,    0,   13,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,  168,    0,    0,
+        0,    0,    0,    0,    0,  161,    0,   78,    0,   77,
+        0,   21,   73,    0,    0,    0,    0,    0,   65,    0,
+      115,    0,    0,   95,    0,    0,  160,    0,    0,    0,
+       71,    0,    0,    0,   66,    0,   23,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,   49,    0,    0,    0,    0,
+        0,   75,   74,   22,    0,  113,  128,    0,    0,    0,
+
+        0,    0,    0,  158,  163,   81,    0,    0,    0,    0,
+      157,    0,    0,   26,    0,    0,    0,    0,    0,  114,
+        0,    0,  159,    0
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     } ;
 
 static yyconst flex_int32_t yy_ec[256] =
@@ -700,6 +856,7 @@ static yyconst flex_int32_t yy_meta[74] =
         3,    3,    3
     } ;
 
+<<<<<<< HEAD
 static yyconst flex_int16_t yy_base[1633] =
     {   0,
         0,   72,   21,   31,   43,   51,   54,   60,   91,   99,
@@ -899,12 +1056,214 @@ static yyconst flex_int16_t yy_def[1633] =
 
      1620, 1620,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45, 1628,   45, 1626,   45,   45,
+=======
+static const flex_int16_t yy_base[1637] =
+    {   0,
+        0,   72,   21,   31,   43,   51,   54,   60,   91,   99,
+     2025, 2026,   34, 2021,  145,    0,  207, 2026,  214,  221,
+       13,  228, 2026, 2001,  118,   25,    2,    6, 2026, 2026,
+       73,   11,   17, 2026, 2026, 2026,  104, 2009, 1962,    0,
+     1999,  108, 2016,   24,  256, 2026,   67, 1958, 1964, 1984,
+       84,   75,  189,   88,  226,   91,   89,  284,  196,  206,
+      219,  191,  210,  197,   60,  242, 1965,  278,  287,  298,
+      294,  313, 1948,  212,  318,  350,  328, 1967,    0,  379,
+      400,  417,  424,  429, 2026,    0, 2026,  393,  407,  269,
+      299,  301,  406,  418,  304, 2026, 1964, 2005, 2026,  293,
+
+     2026,  442,  312, 1951, 1961, 2002,  421,   10,  345, 1955,
+      319,  338,  336,  369,  248, 2000,    0,  495,  413, 1942,
+     1947, 1949,  332, 1945, 1934, 1935,  410, 1951, 1934, 1943,
+      418,  340,  226, 1937, 1935,  405, 1924, 1982,  448, 1927,
+     1980, 1920, 1943, 1940, 1940, 1934,  411, 1927, 1925, 1919,
+     1924, 1918,  421, 1929, 1922, 1913, 1912, 1926,  408, 1964,
+     1911,  413, 1923, 1926, 1910,  491, 1911,  423, 1923, 1920,
+     1921, 1919, 1954, 1953,  434, 1899, 1904, 1900, 1892, 1909,
+     1901,    0,  451,  460,  434,  460,  468,  476, 1900, 2026,
+        0,  481, 1891, 1894, 2026,  464,  474, 2026, 1948, 1901,
+
+      504, 1946,  507, 1945,  497, 1944, 2026,  544, 1943,  517,
+     1902, 1899, 1896, 1895, 1886,  514, 1937, 1931, 1895, 1874,
+     1882, 1888, 1876, 1890, 1886, 1887, 1887, 1882, 1874, 1876,
+     1860, 1864, 1877, 1879, 1876, 1868, 1858, 1861, 1875, 2026,
+     1861, 1869, 1872, 1853, 1852, 1904, 1851, 1861, 1901,  519,
+     1860, 1899, 1847, 1858, 1896,  524, 1900, 1835, 1850,  358,
+     1840, 1856, 1837, 1839, 1835, 1841, 1832, 1831, 1844, 1837,
+     1839, 1843, 1842, 1836,  220, 1843, 1838, 1830, 1820, 1835,
+     1830, 1834,  482, 1832, 1818, 1824, 1831, 1819, 1816, 1815,
+      486, 1810, 1824, 1823, 1826, 1808, 1816,  537, 2026, 2026,
+
+      539, 2026, 2026, 1803,    0,  506, 1805,  579,  548, 1861,
+     2026, 1812,  545, 2026, 1859, 2026, 1853,  595, 2026,  536,
+     1793, 1796, 1802, 1854, 1809, 1804, 1807, 1802,   80, 2026,
+     1804,  593, 1802, 1799, 1800,  323, 1804, 1844, 1792, 1787,
+     1784, 1780, 1782, 1833, 1790, 1779, 1795, 1829, 1775,  596,
+     1788, 1788, 1771, 1772, 1785, 1772, 1782, 1777, 1784, 1779,
+     1764,  563, 1773, 1776, 1771,  322, 1767, 1817,  566,  553,
+     2026, 1811, 1761, 1760, 1753, 1755, 1759, 1748, 1755, 1760,
+      575, 1807, 1760,  578, 1757, 1761, 1759, 1748, 1748, 1760,
+      570, 1735, 1736, 1757,  581, 1739, 1736, 1750, 1753, 1748,
+
+     1734, 1746, 1745, 1744, 1743, 1742, 1741,  476, 1784, 1783,
+     1782, 1724,  641, 1737, 2026, 2026, 1736,    0,  598, 1724,
+     1777, 1776, 1732, 1774, 2026, 1720, 1772, 2026,  604,  652,
+      617, 1771, 1719, 1710, 2026, 1715, 1721, 1724, 1707, 1722,
+     1709, 1708, 2026, 1718, 1709, 1706, 1718,  552, 1703, 1705,
+     2026, 1711, 1696, 1698, 1709, 1707, 1702,  643, 1709, 1697,
+     1690, 1741, 2026, 1688, 1704, 1738, 1742, 1698, 1692, 1694,
+     1695, 1697, 1731, 1682, 1677, 1676, 1678, 1674, 1670,  590,
+     1689, 1663, 1670, 1675, 1668, 1684, 1723, 2026, 1668, 1664,
+     1720, 1671, 1665, 1672, 1657, 1667, 1670, 1659, 1658, 1653,
+
+     2026, 1710, 2026, 1652, 1651, 1644, 1661, 1700, 1645, 1650,
+     1659, 1653, 1647, 1656,  645, 1693, 1655, 1638, 1638, 1633,
+     1629, 1635, 1640, 1633, 1641, 1645, 1628, 1686, 1626, 1627,
+     1626, 1638, 1627, 2026, 2026, 2026, 1627, 2026, 1637, 1673,
+     1633,    0, 1676, 1624, 2026, 2026, 1621, 2026, 1627, 2026,
+      604,  622,  676, 2026, 1632, 1666, 1611, 1664, 1609, 1608,
+     1607, 1614, 1607, 1615, 1618, 1617, 1601, 1616, 1598, 1645,
+     1612, 1650, 1594, 1596, 1608, 1608, 1607, 2026, 1592, 1589,
+     1647, 1602, 1594, 1600, 1591, 1599, 2026, 1584, 1595, 1599,
+     1581, 1595,  536, 1577, 1571, 1576, 1573, 1588, 1587, 1588,
+
+     1567, 1577, 1583, 1626, 1581, 1580, 1572, 2026, 1565, 1567,
+     2026, 1575, 1614, 1613,   16, 1574, 1557, 1558, 1563, 1554,
+     2026, 1568, 1554,  677, 1546, 1567, 1564, 1556, 1601, 1553,
+     1560, 1598, 2026, 1544, 1542, 1556, 1540, 1554, 1557, 1591,
+     1590, 1589, 1588, 1533, 1586, 1585, 2026,  597, 1547, 1546,
+     1543, 1543, 1541, 1530, 1532, 2026, 2026, 1577, 1523, 1580,
+      621,  621, 1521, 1519, 1535, 1576,  641, 1570, 1530, 1568,
+     1567, 1519, 1513, 1508, 1563, 1523, 1513, 1521, 1559, 1520,
+     1502, 1510, 1512, 1516, 1553, 1557, 1512, 1511, 2026, 1512,
+     1505, 1494, 1507, 1510, 1505, 1500, 1505, 1502, 1501, 1497,
+
+     1503, 1498, 1541, 1540, 1482, 1493, 1477,  634, 1531, 1487,
+     1534, 2026, 1533, 1487, 1483, 1478, 1470, 1523, 1484, 1471,
+     2026, 1471, 1480, 1479, 1479, 1463,    2,   77,  245, 2026,
+      348,  430,  460,  456,  534,  530,  594,  650,  624,  608,
+      608,  630,  682,  684,  685,  632,  656,  651,  658,  653,
+      638,  650,  651, 2026,  705,  663,  665,  656,  669,  671,
+      662,  668,  677,  718, 2026,  714,  690,  678,  679,  673,
+     2026,  671,  686,  683,  669,  676,  675,  673,  692,  689,
+      690,  680,  693,  679,  678,  684,  740,  686,  702,  685,
+      739,  694, 2026,  704,  704,  698,  709,  707,  752,  694,
+
+      696,  711,  712,  700,  759,  716,  702,  705, 2026, 2026,
+      721,  720,  721,  726,  714,  724,  726, 2026, 2026,  726,
+      728,  732,  719,  717,  735,  722,  722,  773,  723,  781,
+      782, 2026,  727,  741,  741,  786,  734,  736,  730,  790,
+      743,  733,  734,  730,  740,  744,  755,  739,  757,  752,
+      754,  747,  749,  750,  762,  752,  767,  808,  765,  770,
+      747, 2026,  759,  760,  774,  764,  811,  759,  774,  774,
+     2026,  793,  801,  770,  819,  785,  773,  768,  769,  781,
+      788,  777,  778,  774,  792,  784,  779,  832,  838,  795,
+      786, 2026,  798,  783,  799,  789,  802,  796,  844,  810,
+
+      794,  795, 2026,  811,  814,  797,  799,  857,  800, 2026,
+      817,  820,  800,  819,  807,  860,  818,  814,  811,  864,
+      813,  866,  813,  831,  830,  816,  831,  823,  819,  837,
+      822, 2026, 2026,  830,  877,  830, 2026,  838,  833,  886,
+     2026,  835,  840,  884,  836,  837,  849,  843,  847,  845,
+      843,  854,  899,  843,  848,  902,  903,  847,  859, 2026,
+      847,  855,  853,  850,  851,  860,  872,  856,  870,  872,
+      873,  889,  894,  876,  862,  864,  864,  884,  883,  874,
+      863,  880,  887,  930,  872,  932,  879,  883, 2026,  930,
+      879,  897,  894,  934,  883,  901,  902,  888,  896,  905,
+
+      887,  902,  909,  951,  952, 2026,  905,  954,  955,  906,
+      916,  918,  902,  904,  904,  911,  920,  908,  915,  910,
+      917,  969,  916,  915,  932,  973,  923,  927,  925,  923,
+      978,  979,  929,  981,  977,  935, 2026,  940,  933,  924,
+      943,  937,  932,  942,  939,  944,  940,  952, 2026,  936,
+      938, 2026, 2026,  938,  998,  938,  957,  958, 1003, 1004,
+      957,  942,  963,  945,  950,  957,  990,  981, 1013,  970,
+      957,  959,  976,  971,  975, 1020,  968,  972, 2026,  969,
+     2026,  983,  981,  984,  968,  969, 1029,  982,  987,  974,
+      985,  978,  984,  980,  998,  999, 1001, 2026, 2026,  999,
+
+     2026, 1001, 2026,  986,  987, 1006,  996, 1048, 1005, 1002,
+     1046, 1010,  999, 1006, 1011, 1008, 2026, 1006,  998, 1059,
+     2026, 1060, 1007, 1014, 1058, 2026, 2026, 1016, 2026, 1007,
+     1007, 1010, 1024, 1029, 1012, 1023, 1072, 1029, 1030, 1031,
+     1071, 1027, 1078, 1031, 1080, 2026, 1027, 1082, 1083, 2026,
+     2026, 1023, 1085, 1044, 1028, 1040, 1030, 1060, 1091, 2026,
+     1048, 1093, 1040, 1055, 1091, 1043, 2026, 1039, 1055, 1043,
+     1061, 1049, 1049, 1104, 1061, 2026, 1063, 1062, 1064, 1057,
+     1066, 1067, 1064, 1054, 1057, 1057, 1116, 1063, 1119, 1120,
+     1063, 1122, 2026, 1080, 1059, 1074, 1067, 1070, 1083, 1087,
+
+     1086, 1132, 1086, 2026, 2026, 1082, 1092, 1078, 1094, 1080,
+     1141, 1142, 1086, 1096, 1145, 1102, 2026, 1094, 1094, 1096,
+     1098, 1151, 1094, 2026, 1095, 2026, 1097, 2026, 2026, 1111,
+     2026, 1105, 1157, 1106, 1159, 1139, 2026, 1156, 2026, 1104,
+     1112, 1106, 1103, 1106, 1109, 1109, 1105, 1111, 1171, 1119,
+     2026, 1115, 1174, 1127, 1118, 1133, 1133, 1136, 1136, 1133,
+     1177, 1140, 2026, 1132, 2026, 2026, 1142, 2026, 1182, 1144,
+     1145, 1142, 1186, 1134, 1149, 1189, 1151, 2026, 1139, 1139,
+     1145, 1144, 1156, 1156, 2026, 2026, 1197, 1144, 2026, 1161,
+     1146, 1146, 1148, 1154, 2026, 1209, 1151, 1161, 1212, 1173,
+
+     2026, 1170, 2026, 1189, 1157, 1217, 1218, 1175, 1180, 1162,
+     1222, 1223, 1224, 1177, 2026, 1167, 1227, 2026, 1165, 1224,
+     1187, 1183, 1227, 1175, 1180, 1178, 1237, 1193, 1239, 1189,
+     1241, 1203, 1192, 1186, 1246, 1188, 1197, 1190, 1206, 1251,
+     1193, 1210, 1195, 1210, 1194, 1252, 1253, 1254, 1201, 1256,
+     1219, 2026, 1219, 1206, 2026, 1217, 1266, 1237, 1219, 2026,
+     2026, 1211, 1222, 1271, 2026, 2026, 2026, 1218, 1216, 2026,
+     1274, 1220, 1271, 1214, 1219, 1280, 1228, 1238, 1239, 2026,
+     1284, 1237, 2026, 1238, 2026, 1229, 1244, 1232, 2026, 1242,
+     1243, 1244, 1250, 2026, 1289, 1257, 1250, 1251, 1260, 1242,
+
+     1248, 1250, 1304, 1263, 1262, 1254, 1308, 1257, 2026, 1310,
+     1259, 1312, 1254, 2026, 1261, 1261, 2026, 1265, 1260, 1259,
+     1319, 1272, 2026, 1316, 1267, 1264, 2026, 1278, 1280, 1282,
+     1327, 1280, 1277, 1285, 1279, 1332, 1273, 1275, 1283, 1273,
+     1289, 1290, 1284, 1300, 2026, 1290, 1342, 1301, 2026, 1339,
+     2026, 1301, 2026, 1341, 1342, 1297, 1305, 1296, 1303, 2026,
+     1300, 1305, 1303, 1355, 1356, 1313, 1300, 2026, 1315, 1316,
+     1317, 1318, 2026, 1308, 1320, 1321, 1366, 1308, 1316, 1310,
+     1318, 1331, 2026, 1308, 1331, 1316, 1316, 1321, 1377, 1325,
+     1337, 1328, 1337, 1339, 1343, 2026, 2026, 1325, 1385, 1328,
+
+     1387, 1329, 1389, 1347, 1391, 1392, 2026, 1388, 1350, 1347,
+     1352, 1339, 1398, 1335, 1400, 1353, 1358, 2026, 1403, 1360,
+     1361, 1406, 1363, 1366, 1361, 2026, 1410, 2026, 1363, 2026,
+     1372, 2026, 2026, 1354, 1414, 1361, 1416, 1359, 2026, 1376,
+     2026, 1367, 1363, 2026, 1363, 1365, 2026, 1370, 1380, 1373,
+     2026, 1374, 1368, 1380, 2026, 1376, 2026, 1386, 1380, 1388,
+     1385, 1376, 1430, 1377, 1385, 1394, 1395, 1396, 1389, 1384,
+     1385, 1400, 1445, 1392, 1399, 1386, 1401, 1406, 1451, 1452,
+     1453, 1410, 1455, 1456, 1399, 2026, 1415, 1406, 1420, 1416,
+     1409, 2026, 2026, 2026, 1463, 2026, 2026, 1464, 1465, 1420,
+
+     1419, 1420, 1410, 2026, 2026, 2026, 1470, 1412, 1428, 1473,
+     2026, 1469, 1418, 2026, 1417, 1419, 1430, 1479, 1428, 2026,
+     1437, 1482, 2026, 2026, 1488, 1493, 1498, 1503, 1508, 1513,
+     1518, 1521, 1495, 1500, 1502, 1515
+    } ;
+
+static const flex_int16_t yy_def[1637] =
+    {   0,
+     1625, 1625, 1626, 1626, 1625, 1625, 1625, 1625, 1625, 1625,
+     1624, 1624, 1624, 1624, 1624, 1627, 1624, 1624, 1624, 1624,
+     1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624,
+     1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1628,
+     1624, 1624, 1624, 1629,   15, 1624,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45, 1630,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45, 1627, 1624,
+     1624, 1624, 1624, 1624, 1624, 1631, 1624, 1624, 1624, 1624,
+     1624, 1624, 1624, 1624, 1624, 1624, 1624, 1628, 1624, 1629,
+
+     1624, 1624,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45, 1632,   45, 1630,   45,   45,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+<<<<<<< HEAD
        45, 1627, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620,
      1629,   45,   45,   45, 1620,   45,   45, 1620,   45,   45,
 
@@ -912,25 +1271,47 @@ static yyconst flex_int16_t yy_def[1633] =
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45, 1620,
+=======
+       45, 1631, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624,
+     1633,   45,   45,   45, 1624,   45,   45, 1624,   45,   45,
+
+       45,   45,   45,   45,   45, 1632, 1624, 1630,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45, 1624,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+<<<<<<< HEAD
        45,   45,   45,   45,   45,   45,   45,   45, 1620, 1620,
 
      1620, 1620, 1620, 1620, 1620, 1630,   45,   45,   45,   45,
        45, 1620,   45,   45, 1620,   45, 1620,   45, 1626, 1620,
+=======
+       45,   45,   45,   45,   45,   45,   45, 1624, 1624, 1624,
+
+     1624, 1624, 1624, 1624, 1634,   45,   45,   45,   45,   45,
+     1624,   45,   45, 1624,   45, 1624,   45, 1630, 1624,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45, 1624,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
      1620,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+<<<<<<< HEAD
        45, 1620,   45,   45,   45,   45,   45,   45,   45,   45,
+=======
+     1624,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
 
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+<<<<<<< HEAD
        45,   45,   45,   45,   45,   45, 1620, 1620, 1620, 1631,
        45,   45,   45,   45,   45,   45, 1620,   45,   45, 1620,
        45, 1626,   45,   45,   45,   45, 1620,   45,   45,   45,
@@ -960,9 +1341,42 @@ static yyconst flex_int16_t yy_def[1633] =
        45,   45,   45,   45,   45,   45,   45,   45, 1620, 1620,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+=======
+       45,   45,   45,   45, 1624, 1624, 1624, 1635,   45,   45,
+       45,   45,   45,   45, 1624,   45,   45, 1624,   45, 1630,
+       45,   45,   45,   45, 1624,   45,   45,   45,   45,   45,
+       45,   45, 1624,   45,   45,   45,   45,   45,   45,   45,
+     1624,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45, 1624,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45, 1624,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+
+     1624,   45, 1624,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45, 1624, 1624, 1624,   45, 1624,   45,   45,
+     1624, 1636,   45,   45, 1624, 1624,   45, 1624,   45, 1624,
+       45,   45,   45, 1624,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45, 1624,   45,   45,
+       45,   45,   45,   45,   45,   45, 1624,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+
+       45,   45,   45,   45,   45,   45,   45, 1624,   45,   45,
+     1624,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+     1624,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45, 1624,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45, 1624,   45,   45,   45,
+       45,   45,   45,   45,   45, 1624, 1624,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45, 1624,   45,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45, 1620,   45,   45,   45,   45,   45,   45,   45,   45,
 
+<<<<<<< HEAD
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45, 1620,   45,   45,   45,   45,   45,   45,
        45,   45, 1620,   45,   45,   45,   45,   45,   45,   45,
@@ -974,11 +1388,29 @@ static yyconst flex_int16_t yy_def[1633] =
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45, 1620,   45,   45,   45,   45,
 
+=======
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45, 1624,   45,   45,   45,   45,   45,   45,   45,   45,
+     1624,   45,   45,   45,   45,   45,   45,   45,   45, 1624,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45, 1624,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45, 1624,   45,   45,   45,   45,   45,
+     1624,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45, 1624,   45,   45,   45,   45,   45,   45,   45,
+
+       45,   45,   45,   45,   45,   45,   45,   45, 1624, 1624,
+       45,   45,   45,   45,   45,   45,   45, 1624, 1624,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45, 1624,   45,   45,   45,   45,   45,   45,   45,   45,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45, 1620, 1620,   45,   45,   45,   45,   45,   45, 1620,
      1620,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45, 1620,   45, 1620,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+<<<<<<< HEAD
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45, 1620,   45,   45,   45,   45,   45,
        45,   45,   45, 1620,   45,   45,   45,   45,   45,   45,
@@ -990,12 +1422,30 @@ static yyconst flex_int16_t yy_def[1633] =
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45, 1620, 1620,   45,   45,   45, 1620,   45,
        45,   45, 1620,   45,   45,   45,   45,   45,   45,   45,
+=======
+       45, 1624,   45,   45,   45,   45,   45,   45,   45,   45,
+     1624,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45, 1624,   45,   45,   45,   45,   45,   45,   45,   45,
+
+       45,   45, 1624,   45,   45,   45,   45,   45,   45, 1624,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45, 1624, 1624,   45,   45,   45, 1624,   45,   45,   45,
+     1624,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45, 1624,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45, 1620,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+<<<<<<< HEAD
+=======
+       45,   45,   45,   45,   45,   45,   45,   45, 1624,   45,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
      1620,   45,   45,   45,   45,   45,   45,   45,   45,   45,
 
+<<<<<<< HEAD
        45,   45,   45,   45,   45,   45,   45, 1620,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
@@ -1032,6 +1482,43 @@ static yyconst flex_int16_t yy_def[1633] =
      1620,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45, 1620,   45,   45, 1620,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+=======
+       45,   45,   45,   45,   45, 1624,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45, 1624,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45, 1624,   45,
+       45, 1624, 1624,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45, 1624,   45,
+     1624,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45, 1624, 1624,   45,
+
+     1624,   45, 1624,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45, 1624,   45,   45,   45,
+     1624,   45,   45,   45,   45, 1624, 1624,   45, 1624,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45, 1624,   45,   45,   45, 1624,
+     1624,   45,   45,   45,   45,   45,   45,   45,   45, 1624,
+       45,   45,   45,   45,   45,   45, 1624,   45,   45,   45,
+       45,   45,   45,   45,   45, 1624,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45, 1624,   45,   45,   45,   45,   45,   45,   45,
+
+       45,   45,   45, 1624, 1624,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45, 1624,   45,   45,   45,
+       45,   45,   45, 1624,   45, 1624,   45, 1624, 1624,   45,
+     1624,   45,   45,   45,   45,   45, 1624,   45, 1624,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+     1624,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45, 1624,   45, 1624, 1624,   45, 1624,   45,   45,
+       45,   45,   45,   45,   45,   45,   45, 1624,   45,   45,
+       45,   45,   45,   45, 1624, 1624,   45,   45, 1624,   45,
+       45,   45,   45,   45, 1624,   45,   45,   45,   45,   45,
+
+     1624,   45, 1624,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45, 1624,   45,   45, 1624,   45,   45,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45, 1620,   45,
        45, 1620,   45,   45,   45,   45, 1620, 1620,   45,   45,
@@ -1044,6 +1531,7 @@ static yyconst flex_int16_t yy_def[1633] =
        45,   45, 1620,   45,   45,   45,   45,   45, 1620,   45,
        45,   45, 1620,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+<<<<<<< HEAD
      1620,   45,   45,   45, 1620,   45, 1620,   45, 1620,   45,
        45,   45,   45,   45,   45, 1620,   45,   45,   45,   45,
        45,   45,   45, 1620,   45,   45,   45,   45, 1620,   45,
@@ -1077,6 +1565,51 @@ static yyconst flex_int16_t yy_nxt[2097] =
        92,   29,  197,   30,   13,   14,   13,   90,   91,   25,
        31,   92,   13,   14,   13,   13,   14,   13,   32,   40,
       724,   13,   14,   13,   33,   40,  102,   91,   92,  197,
+=======
+       45, 1624,   45,   45, 1624,   45,   45,   45,   45, 1624,
+     1624,   45,   45,   45, 1624, 1624, 1624,   45,   45, 1624,
+       45,   45,   45,   45,   45,   45,   45,   45,   45, 1624,
+       45,   45, 1624,   45, 1624,   45,   45,   45, 1624,   45,
+       45,   45,   45, 1624,   45,   45,   45,   45,   45,   45,
+
+       45,   45,   45,   45,   45,   45,   45,   45, 1624,   45,
+       45,   45,   45, 1624,   45,   45, 1624,   45,   45,   45,
+       45,   45, 1624,   45,   45,   45, 1624,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45, 1624,   45,   45,   45, 1624,   45,
+     1624,   45, 1624,   45,   45,   45,   45,   45,   45, 1624,
+       45,   45,   45,   45,   45,   45,   45, 1624,   45,   45,
+       45,   45, 1624,   45,   45,   45,   45,   45,   45,   45,
+       45,   45, 1624,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45, 1624, 1624,   45,   45,   45,
+
+       45,   45,   45,   45,   45,   45, 1624,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45, 1624,   45,   45,
+       45,   45,   45,   45,   45, 1624,   45, 1624,   45, 1624,
+       45, 1624, 1624,   45,   45,   45,   45,   45, 1624,   45,
+     1624,   45,   45, 1624,   45,   45, 1624,   45,   45,   45,
+     1624,   45,   45,   45, 1624,   45, 1624,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45, 1624,   45,   45,   45,   45,
+       45, 1624, 1624, 1624,   45, 1624, 1624,   45,   45,   45,
+
+       45,   45,   45, 1624, 1624, 1624,   45,   45,   45,   45,
+     1624,   45,   45, 1624,   45,   45,   45,   45,   45, 1624,
+       45,   45, 1624,    0, 1624, 1624, 1624, 1624, 1624, 1624,
+     1624, 1624, 1624, 1624, 1624, 1624
+    } ;
+
+static const flex_int16_t yy_nxt[2100] =
+    {   0,
+     1624,   13,   14,   13, 1624,   15,   16,  832,   17,   18,
+       19,   20,   21,   22,   22,   22,   22,   22,   23,   24,
+       85,  721,   37,   14,   37,   86,   25,   26,   38,  101,
+     1624,   27,   37,   14,   37,   42,   28,   42,   38,   91,
+       92,   29,  197,   30,   13,   14,   13,   90,   91,   25,
+       31,   92,   13,   14,   13,   13,   14,   13,   32,   40,
+      722,   13,   14,   13,   33,   40,  102,   91,   92,  197,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
        90,   34,   35,   13,   14,   13,   94,   15,   16,   95,
        17,   18,   19,   20,   21,   22,   22,   22,   22,   22,
        23,   24,   13,   14,   13,   90,   39,  103,   25,   26,
@@ -1085,7 +1618,11 @@ static yyconst flex_int16_t yy_nxt[2097] =
       108,   42,   41,   29,  111,   30,  114,  115,   93,  136,
        41,   25,   31,  103,  137,  442,   88,  138,   88,  107,
        32,   89,   89,   89,   89,   89,   33,  111,  108,  114,
+<<<<<<< HEAD
       831,  115,  443,   34,   35,   44,   44,   44,   45,   45,
+=======
+      833,  115,  441,   34,   35,   44,   44,   44,   45,   45,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
        46,   45,   45,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   47,   45,   48,
        49,   50,   51,   45,   52,   53,   54,   45,   45,   45,
@@ -1101,7 +1638,11 @@ static yyconst flex_int16_t yy_nxt[2097] =
       113,  166,  122,   82,  126,  123,  133,  124,  127,  125,
        82,  128,  129,  112,  205,  231,  392,   82,   45,  393,
        45,   45,   45,   45,  130,   45,   45,   45,  113,  117,
+<<<<<<< HEAD
       139,  232,   45,   45,  832,   45,   45,  205,  101,  183,
+=======
+      139,  232,   45,   45,  834,   45,   45,  205,  101,  183,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 
       140,   45,  141,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
@@ -1114,12 +1655,18 @@ static yyconst flex_int16_t yy_nxt[2097] =
       214,  199,  487,  172,  113,  201,  179,  229,  488,  215,
       216,  180,   84,   84,   84,   84,   84,  175,  202,  176,
 
+<<<<<<< HEAD
       230,  203,  204,  177,  833,   82,   89,   89,   89,   89,
        89,   80,  113,   81,   81,   81,   81,   81,  376,  178,
+=======
+      230,  203,  204,  177,  835,   82,   89,   89,   89,   89,
+       89,   80,  113,   81,   81,   81,   81,   81,  375,  178,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
        89,   89,   89,   89,   89,   88,   82,   88,   82,  204,
        89,   89,   89,   89,   89,   80,  183,   83,   83,   83,
        83,   83,   84,   84,   84,   84,   84,  100,  184,   82,
        82,  196,  192,  240,  100,   82,  220,  221,  249,  201,
+<<<<<<< HEAD
       301,  235,  186,  226,  236,  227,  222,  202,  237,  209,
       262,  263,  264,   82,  187,  299,  300,  196,   82,  250,
       210,  834,  228,  301,  100,  299,  267,  256,  100,  268,
@@ -1304,14 +1851,208 @@ static yyconst flex_int16_t yy_nxt[2097] =
     } ;
 
 static yyconst flex_int16_t yy_chk[2097] =
+=======
+      300,  235,  186,  226,  236,  227,  222,  202,  237,  209,
+      262,  263,  266,   82,  187,  267,  268,  196,   82,  250,
+      210,  282,  228,  300,  100,  283,  298,  256,  100,  284,
+      299,  314,  100,  836,  291,  298,  408,  241,  299,  309,
+
+      100,  272,  300,  306,  100,  310,  100,  191,  208,  208,
+      208,  208,  208,  837,  298,  838,  299,  208,  208,  208,
+      208,  208,  208,  301,  302,  303,  306,  309,  317,  362,
+      313,  532,  310,  315,  533,  399,  273,  274,  275,  306,
+      208,  208,  208,  208,  208,  208,  419,  276,  400,  277,
+      313,  278,  279,  313,  280,  317,  315,  318,  318,  318,
+      318,  318,  320,  415,  326,  415,  318,  318,  318,  318,
+      318,  318,  327,  370,  424,  419,  419,  328,  329,  427,
+      501,  839,  363,  700,  701,  364,  415,  427,  416,  318,
+      318,  318,  318,  318,  318,  421,  422,  424,  443,  840,
+
+      568,  463,  754,  444,  423,  431,  464,  427,  430,  430,
+      430,  430,  430,  569,  755,  491,  489,  430,  430,  430,
+      430,  430,  430,  478,  479,  480,  490,  505,  513,  481,
+      518,  506,  514,  543,  519,  551,  661,  552,  502,  600,
+      430,  430,  430,  430,  430,  430,  538,  767,  578,  601,
+      633,  539,  543,  579,  465,  634,  662,  766,  841,  466,
+      842,  543,  551,  661,  552,   45,   45,   45,   45,   45,
+      767,  843,  844,  845,   45,   45,   45,   45,   45,   45,
+      553,  657,  730,  846,  662,  766,  663,  731,  772,  773,
+      814,  774,  847,  815,  848,  849,  850,   45,   45,   45,
+
+       45,   45,   45,  851,  852,  854,  855,  858,  859,  860,
+      862,  853,  863,  856,  864,  861,  865,  857,  866,  867,
+      868,  869,  870,  871,  872,  873,  732,  874,  875,  876,
+      877,  878,  879,  880,  881,  882,  883,  884,  885,  886,
+      887,  888,  889,  890,  891,  892,  893,  894,  895,  896,
+      897,  898,  899,  873,  900,  901,  902,  903,  905,  906,
+      907,  908,  904,  909,  910,  911,  912,  913,  914,  915,
+      916,  917,  918,  919,  920,  921,  922,  923,  924,  925,
+      926,  928,  929,  930,  927,  931,  932,  933,  934,  935,
+      936,  937,  938,  939,  940,  941,  942,  943,  944,  945,
+
+      946,  947,  948,  949,  950,  951,  952,  953,  954,  955,
+      956,  958,  959,  960,  961,  962,  963,  964,  965,  966,
+      967,  968,  957,  969,  970,  971,  972,  973,  974,  975,
+      976,  977,  978,  979,  980,  981,  982,  983,  984,  985,
+      986,  987,  988,  989,  990,  991,  992,  993,  994,  995,
+      973,  996,  997,  972,  998,  999, 1000, 1001, 1002, 1003,
+     1004, 1005, 1006, 1009, 1010, 1011, 1012, 1007, 1013, 1014,
+     1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024,
+     1025, 1026, 1027, 1028, 1029, 1031, 1032, 1033, 1034, 1035,
+     1036, 1037, 1038, 1039, 1040, 1030, 1041, 1042, 1043, 1044,
+
+     1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054,
+     1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064,
+     1008, 1065, 1066, 1067, 1069, 1068, 1070, 1071, 1072, 1073,
+     1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083,
+     1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093,
+     1094, 1067, 1068, 1095, 1096, 1097, 1098, 1099, 1100, 1101,
+     1103, 1105, 1106, 1107, 1102, 1108, 1109, 1110, 1111, 1112,
+     1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122,
+     1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132,
+     1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142,
+
+     1143, 1144, 1145, 1146, 1104, 1147, 1148, 1149, 1150, 1151,
+     1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161,
+     1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171,
+     1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1158,
+     1181, 1182, 1183, 1184, 1185, 1159, 1186, 1187, 1188, 1189,
+     1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199,
+     1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209,
+     1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219,
+     1220, 1221, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230,
+     1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1241,
+
+     1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251,
+     1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261,
+     1262, 1263, 1264, 1236, 1265, 1266, 1267, 1268, 1269, 1270,
+     1271, 1273, 1274, 1275, 1222, 1276, 1277, 1278, 1272, 1279,
+     1280, 1281, 1240, 1282, 1283, 1284, 1285, 1286, 1287, 1288,
+     1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298,
+     1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308,
+     1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318,
+     1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1304, 1327,
+     1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337,
+
+     1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347,
+     1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357,
+     1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367,
+     1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377,
+     1378, 1379, 1380, 1382, 1383, 1384, 1385, 1358, 1386, 1387,
+     1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397,
+     1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407,
+     1408, 1409, 1411, 1410, 1412, 1413, 1414, 1415, 1416, 1417,
+     1419, 1420, 1421, 1422, 1418, 1423, 1424, 1425, 1426, 1427,
+     1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437,
+
+     1381, 1410, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445,
+     1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455,
+     1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465,
+     1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475,
+     1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485,
+     1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495,
+     1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505,
+     1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515,
+     1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525,
+     1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535,
+
+     1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545,
+     1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555,
+     1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565,
+     1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575,
+     1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585,
+     1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595,
+     1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605,
+     1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615,
+     1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623,   12,   12,
+       12,   12,   12,   36,   36,   36,   36,   36,   79,  305,
+
+       79,   79,   79,   98,  418,   98,  542,   98,  100,  100,
+      100,  100,  100,  116,  116,  116,  116,  116,  182,  100,
+      182,  182,  182,  206,  206,  206,  831,  830,  829,  828,
+      827,  826,  825,  824,  823,  822,  821,  820,  819,  818,
+      817,  816,  813,  812,  811,  810,  809,  808,  807,  806,
+      805,  804,  803,  802,  801,  800,  799,  798,  797,  796,
+      795,  794,  793,  792,  791,  790,  789,  788,  787,  786,
+      785,  784,  783,  782,  781,  780,  779,  778,  777,  776,
+      775,  771,  770,  769,  768,  765,  764,  763,  762,  761,
+      760,  759,  758,  757,  756,  753,  752,  751,  750,  749,
+
+      748,  747,  746,  745,  744,  743,  742,  741,  740,  739,
+      738,  737,  736,  735,  734,  733,  729,  728,  727,  726,
+      725,  724,  723,  720,  719,  718,  717,  716,  715,  714,
+      713,  712,  711,  710,  709,  708,  707,  706,  705,  704,
+      703,  702,  699,  698,  697,  696,  695,  694,  693,  692,
+      691,  690,  689,  688,  687,  686,  685,  684,  683,  682,
+      681,  680,  679,  678,  677,  676,  675,  674,  673,  672,
+      671,  670,  669,  668,  667,  666,  665,  664,  660,  659,
+      658,  657,  656,  655,  654,  653,  652,  651,  650,  649,
+      648,  647,  646,  645,  644,  643,  642,  641,  640,  639,
+
+      638,  637,  636,  635,  632,  631,  630,  629,  628,  627,
+      626,  625,  624,  623,  622,  621,  620,  619,  618,  617,
+      616,  615,  614,  613,  612,  611,  610,  609,  608,  607,
+      606,  605,  604,  603,  602,  599,  598,  597,  596,  595,
+      594,  593,  592,  591,  590,  589,  588,  587,  586,  585,
+      584,  583,  582,  581,  580,  577,  576,  575,  574,  573,
+      572,  571,  570,  567,  566,  565,  564,  563,  562,  561,
+      560,  559,  558,  557,  556,  555,  554,  550,  549,  548,
+      547,  546,  545,  544,  541,  540,  537,  536,  535,  534,
+      531,  530,  529,  528,  527,  526,  525,  524,  523,  522,
+
+      521,  520,  517,  516,  515,  512,  511,  510,  509,  508,
+      507,  504,  503,  500,  499,  498,  497,  496,  495,  494,
+      493,  492,  488,  487,  484,  483,  482,  477,  476,  475,
+      474,  473,  472,  471,  470,  469,  468,  467,  462,  461,
+      460,  459,  458,  457,  456,  455,  454,  453,  452,  451,
+      450,  447,  446,  445,  442,  439,  438,  437,  436,  435,
+      434,  433,  432,  429,  428,  426,  425,  420,  417,  414,
+      413,  412,  411,  410,  409,  407,  406,  405,  404,  403,
+      402,  401,  398,  397,  396,  395,  394,  393,  392,  389,
+      388,  387,  386,  385,  384,  383,  382,  381,  380,  379,
+
+      378,  377,  376,  373,  372,  371,  369,  368,  367,  366,
+      365,  361,  360,  359,  358,  357,  356,  355,  354,  353,
+      352,  351,  350,  349,  348,  347,  346,  345,  344,  343,
+      342,  341,  340,  339,  338,  337,  336,  335,  334,  333,
+      332,  331,  330,  325,  324,  323,  322,  321,  319,  207,
+      316,  314,  312,  311,  308,  307,  304,  297,  296,  295,
+      294,  293,  292,  290,  289,  288,  287,  286,  285,  281,
+      271,  270,  269,  265,  264,  261,  260,  259,  258,  257,
+      255,  254,  253,  252,  251,  248,  247,  246,  245,  244,
+      243,  242,  239,  238,  234,  233,  225,  224,  223,  219,
+
+      218,  217,  213,  212,  211,  207,  200,  195,  194,  193,
+      190,  189,  181,  164,  142,  106,  105,  104,   43,   99,
+       97,   96,   87,   43, 1624,   11, 1624, 1624, 1624, 1624,
+     1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624,
+     1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624,
+     1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624,
+     1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624,
+     1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624,
+     1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624,
+     1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624
+
+    } ;
+
+static const flex_int16_t yy_chk[2100] =
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {   0,
-        0,    1,    1,    1,    0,    1,    1,    0,    1,    1,
+        0,    1,    1,    1,    0,    1,    1,  727,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+<<<<<<< HEAD
        21,  617,    3,    3,    3,   21,    1,    1,    3,   44,
         0,    1,    4,    4,    4,   13,    1,   13,    4,   27,
        28,    1,  108,    1,    5,    5,    5,   26,   32,    1,
         1,   33,    6,    6,    6,    7,    7,    7,    1,    7,
       617,    8,    8,    8,    1,    8,   44,   27,   28,  108,
+=======
+       21,  615,    3,    3,    3,   21,    1,    1,    3,   44,
+        0,    1,    4,    4,    4,   13,    1,   13,    4,   27,
+       28,    1,  108,    1,    5,    5,    5,   26,   32,    1,
+        1,   33,    6,    6,    6,    7,    7,    7,    1,    7,
+      615,    8,    8,    8,    1,    8,   44,   27,   28,  108,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
        26,    1,    1,    2,    2,    2,   32,    2,    2,   33,
         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
         2,    2,    9,    9,    9,   31,    5,   47,    2,    2,
@@ -1320,7 +2061,11 @@ static yyconst flex_int16_t yy_chk[2097] =
        52,   42,    9,    2,   54,    2,   56,   57,   31,   65,
        10,    2,    2,   47,   65,  330,   25,   65,   25,   51,
         2,   25,   25,   25,   25,   25,    2,   54,   52,   56,
+<<<<<<< HEAD
       726,   57,  330,    2,    2,   15,   15,   15,   15,   15,
+=======
+      728,   57,  329,    2,    2,   15,   15,   15,   15,   15,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
@@ -1336,7 +2081,7 @@ static yyconst flex_int16_t yy_chk[2097] =
        55,   74,   60,   19,   61,   60,   63,   60,   61,   60,
        20,   61,   61,   55,  115,  133,  276,   22,   45,  276,
        45,   45,   45,   45,   61,   45,   45,   45,   55,   58,
-       66,  133,   45,   45,  727,   45,   58,  115,  100,   90,
+       66,  133,   45,   45,  729,   45,   58,  115,  100,   90,
 
        66,   45,   66,   45,   45,   45,   45,   45,   45,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
@@ -1349,13 +2094,18 @@ static yyconst flex_int16_t yy_chk[2097] =
       123,  109,  367,   75,   76,  111,   77,  132,  367,  123,
       123,   77,   80,   80,   80,   80,   80,   76,  112,   76,
 
+<<<<<<< HEAD
       132,  113,  114,   76,  728,   80,   88,   88,   88,   88,
+=======
+      132,  113,  114,   76,  731,   80,   88,   88,   88,   88,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
        88,   81,   76,   81,   81,   81,   81,   81,  260,   76,
        89,   89,   89,   89,   89,   82,   81,   82,   80,  114,
        82,   82,   82,   82,   82,   83,   93,   83,   83,   83,
        83,   83,   84,   84,   84,   84,   84,  102,   94,   81,
        83,  107,  119,  139,  102,   84,  127,  127,  147,  153,
       185,  136,   93,  131,  136,  131,  127,  175,  136,  119,
+<<<<<<< HEAD
       159,  159,  159,   83,   94,  183,  184,  107,   84,  147,
       119,  729,  131,  185,  102,  186,  162,  153,  102,  162,
       162,  168,  102,  188,  175,  168,  197,  139,  187,  168,
@@ -1420,6 +2170,72 @@ static yyconst flex_int16_t yy_chk[2097] =
      1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1081,
      1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092,
      1068, 1093, 1094, 1095, 1096, 1097, 1069, 1098, 1101, 1103,
+=======
+      159,  159,  162,   83,   94,  162,  162,  107,   84,  147,
+      119,  168,  131,  185,  102,  168,  183,  153,  102,  168,
+      184,  291,  102,  732,  175,  186,  291,  139,  187,  196,
+
+      102,  166,  188,  192,  102,  197,  102,  102,  118,  118,
+      118,  118,  118,  733,  183,  734,  184,  118,  118,  118,
+      118,  118,  118,  186,  187,  188,  192,  196,  205,  250,
+      201,  408,  197,  203,  408,  283,  166,  166,  166,  210,
+      118,  118,  118,  118,  118,  118,  306,  166,  283,  166,
+      256,  166,  166,  201,  166,  205,  203,  208,  208,  208,
+      208,  208,  210,  298,  216,  301,  208,  208,  208,  208,
+      208,  208,  216,  256,  309,  306,  320,  216,  216,  313,
+      381,  735,  250,  593,  593,  250,  298,  370,  301,  208,
+      208,  208,  208,  208,  208,  308,  308,  309,  332,  736,
+
+      448,  350,  648,  332,  308,  320,  350,  313,  318,  318,
+      318,  318,  318,  448,  648,  370,  369,  318,  318,  318,
+      318,  318,  318,  362,  362,  362,  369,  384,  391,  362,
+      395,  384,  391,  419,  395,  429,  551,  429,  381,  480,
+      318,  318,  318,  318,  318,  318,  413,  662,  458,  480,
+      515,  413,  431,  458,  350,  515,  552,  661,  737,  350,
+      738,  419,  429,  551,  429,  430,  430,  430,  430,  430,
+      662,  739,  740,  741,  430,  430,  430,  430,  430,  430,
+      431,  553,  624,  742,  552,  661,  553,  624,  667,  667,
+      708,  667,  743,  708,  744,  745,  746,  430,  430,  430,
+
+      430,  430,  430,  747,  748,  749,  750,  751,  752,  753,
+      755,  748,  756,  750,  757,  753,  758,  750,  759,  760,
+      761,  762,  763,  764,  766,  767,  624,  768,  769,  770,
+      772,  773,  774,  775,  776,  777,  778,  779,  780,  781,
+      782,  783,  784,  785,  786,  787,  788,  789,  790,  791,
+      792,  794,  795,  767,  796,  797,  798,  799,  800,  801,
+      802,  803,  799,  804,  805,  806,  807,  808,  811,  812,
+      813,  814,  815,  816,  817,  820,  821,  822,  823,  824,
+      825,  826,  827,  828,  825,  829,  830,  831,  833,  834,
+      835,  836,  837,  838,  839,  840,  841,  842,  843,  844,
+
+      845,  846,  847,  848,  849,  850,  851,  852,  853,  854,
+      855,  856,  857,  858,  859,  860,  861,  863,  864,  865,
+      866,  867,  855,  868,  869,  870,  872,  873,  874,  875,
+      876,  877,  878,  879,  880,  881,  882,  883,  884,  885,
+      886,  887,  888,  889,  890,  891,  893,  894,  895,  896,
+      873,  897,  898,  872,  899,  900,  901,  902,  904,  905,
+      906,  907,  908,  909,  911,  912,  913,  908,  914,  915,
+      916,  917,  918,  919,  920,  921,  922,  923,  924,  925,
+      926,  927,  928,  929,  930,  931,  934,  935,  936,  938,
+      939,  940,  942,  943,  944,  930,  945,  946,  947,  948,
+
+      949,  950,  951,  952,  953,  954,  955,  956,  957,  958,
+      959,  961,  962,  963,  964,  965,  966,  967,  968,  969,
+      908,  970,  971,  972,  974,  973,  975,  976,  977,  978,
+      979,  980,  981,  982,  983,  984,  985,  986,  987,  988,
+      990,  991,  992,  993,  994,  995,  996,  997,  998,  999,
+     1000,  972,  973, 1001, 1002, 1003, 1004, 1005, 1007, 1008,
+     1009, 1010, 1011, 1012, 1008, 1013, 1014, 1015, 1016, 1017,
+     1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027,
+     1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1038,
+     1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048,
+
+     1050, 1051, 1054, 1055, 1009, 1056, 1057, 1058, 1059, 1060,
+     1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070,
+     1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1080, 1082,
+     1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1067,
+     1092, 1093, 1094, 1095, 1096, 1068, 1097, 1100, 1102, 1104,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
      1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114,
      1115, 1116, 1118, 1119, 1120, 1122, 1123, 1124, 1125, 1128,
      1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139,
@@ -1429,6 +2245,7 @@ static yyconst flex_int16_t yy_chk[2097] =
      1164, 1165, 1166, 1168, 1169, 1170, 1171, 1172, 1173, 1174,
      1175, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185,
      1186, 1187, 1188, 1158, 1189, 1190, 1191, 1192, 1194, 1195,
+<<<<<<< HEAD
      1196, 1197, 1198, 1199, 1141, 1200, 1201, 1202, 1196, 1205,
      1206, 1207, 1162, 1208, 1209, 1210, 1211, 1212, 1213, 1214,
      1215, 1217, 1218, 1219, 1220, 1221, 1222, 1224, 1226, 1229,
@@ -1535,6 +2352,114 @@ static yyconst flex_int16_t yy_chk[2097] =
      1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620,
      1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620,
      1620, 1620, 1620, 1620, 1620, 1620
+=======
+     1196, 1197, 1198, 1199, 1141, 1200, 1201, 1202, 1196, 1203,
+     1206, 1207, 1162, 1208, 1209, 1210, 1211, 1212, 1213, 1214,
+     1215, 1216, 1218, 1219, 1220, 1221, 1222, 1223, 1225, 1227,
+     1230, 1232, 1233, 1234, 1235, 1236, 1238, 1240, 1241, 1242,
+     1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1252, 1253,
+     1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1236, 1262,
+     1264, 1267, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276,
+
+     1277, 1279, 1280, 1281, 1282, 1283, 1284, 1287, 1288, 1290,
+     1291, 1292, 1293, 1294, 1296, 1297, 1298, 1299, 1300, 1302,
+     1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313,
+     1314, 1316, 1317, 1319, 1320, 1321, 1322, 1323, 1324, 1325,
+     1326, 1326, 1327, 1328, 1329, 1330, 1331, 1304, 1332, 1333,
+     1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343,
+     1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1353, 1354,
+     1356, 1357, 1359, 1358, 1362, 1363, 1364, 1368, 1369, 1371,
+     1372, 1373, 1374, 1375, 1371, 1376, 1377, 1378, 1379, 1381,
+     1382, 1384, 1386, 1387, 1388, 1390, 1391, 1392, 1393, 1395,
+
+     1327, 1358, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403,
+     1404, 1405, 1406, 1407, 1408, 1410, 1411, 1412, 1413, 1415,
+     1416, 1418, 1419, 1420, 1421, 1422, 1424, 1425, 1426, 1428,
+     1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438,
+     1439, 1440, 1441, 1442, 1443, 1444, 1446, 1447, 1448, 1450,
+     1452, 1454, 1455, 1456, 1457, 1458, 1459, 1461, 1462, 1463,
+     1464, 1465, 1466, 1467, 1469, 1470, 1471, 1472, 1474, 1475,
+     1476, 1477, 1478, 1479, 1480, 1481, 1482, 1484, 1485, 1486,
+     1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1498,
+     1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1508, 1509,
+
+     1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1519, 1520,
+     1521, 1522, 1523, 1524, 1525, 1527, 1529, 1531, 1534, 1535,
+     1536, 1537, 1538, 1540, 1542, 1543, 1545, 1546, 1548, 1549,
+     1550, 1552, 1553, 1554, 1556, 1558, 1559, 1560, 1561, 1562,
+     1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572,
+     1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582,
+     1583, 1584, 1585, 1587, 1588, 1589, 1590, 1591, 1595, 1598,
+     1599, 1600, 1601, 1602, 1603, 1607, 1608, 1609, 1610, 1612,
+     1613, 1615, 1616, 1617, 1618, 1619, 1621, 1622, 1625, 1625,
+     1625, 1625, 1625, 1626, 1626, 1626, 1626, 1626, 1627, 1633,
+
+     1627, 1627, 1627, 1628, 1634, 1628, 1635, 1628, 1629, 1629,
+     1629, 1629, 1629, 1630, 1630, 1630, 1630, 1630, 1631, 1636,
+     1631, 1631, 1631, 1632, 1632, 1632,  726,  725,  724,  723,
+      722,  720,  719,  718,  717,  716,  715,  714,  713,  711,
+      710,  709,  707,  706,  705,  704,  703,  702,  701,  700,
+      699,  698,  697,  696,  695,  694,  693,  692,  691,  690,
+      688,  687,  686,  685,  684,  683,  682,  681,  680,  679,
+      678,  677,  676,  675,  674,  673,  672,  671,  670,  669,
+      668,  666,  665,  664,  663,  660,  659,  658,  655,  654,
+      653,  652,  651,  650,  649,  646,  645,  644,  643,  642,
+
+      641,  640,  639,  638,  637,  636,  635,  634,  632,  631,
+      630,  629,  628,  627,  626,  625,  623,  622,  620,  619,
+      618,  617,  616,  614,  613,  612,  610,  609,  607,  606,
+      605,  604,  603,  602,  601,  600,  599,  598,  597,  596,
+      595,  594,  592,  591,  590,  589,  588,  586,  585,  584,
+      583,  582,  581,  580,  579,  577,  576,  575,  574,  573,
+      572,  571,  570,  569,  568,  567,  566,  565,  564,  563,
+      562,  561,  560,  559,  558,  557,  556,  555,  549,  547,
+      544,  543,  541,  540,  539,  537,  533,  532,  531,  530,
+      529,  528,  527,  526,  525,  524,  523,  522,  521,  520,
+
+      519,  518,  517,  516,  514,  513,  512,  511,  510,  509,
+      508,  507,  506,  505,  504,  502,  500,  499,  498,  497,
+      496,  495,  494,  493,  492,  491,  490,  489,  487,  486,
+      485,  484,  483,  482,  481,  479,  478,  477,  476,  475,
+      474,  473,  472,  471,  470,  469,  468,  467,  466,  465,
+      464,  462,  461,  460,  459,  457,  456,  455,  454,  453,
+      452,  450,  449,  447,  446,  445,  444,  442,  441,  440,
+      439,  438,  437,  436,  434,  433,  432,  427,  426,  424,
+      423,  422,  421,  420,  417,  414,  412,  411,  410,  409,
+      407,  406,  405,  404,  403,  402,  401,  400,  399,  398,
+
+      397,  396,  394,  393,  392,  390,  389,  388,  387,  386,
+      385,  383,  382,  380,  379,  378,  377,  376,  375,  374,
+      373,  372,  368,  367,  365,  364,  363,  361,  360,  359,
+      358,  357,  356,  355,  354,  353,  352,  351,  349,  348,
+      347,  346,  345,  344,  343,  342,  341,  340,  339,  338,
+      337,  335,  334,  333,  331,  328,  327,  326,  325,  324,
+      323,  322,  321,  317,  315,  312,  310,  307,  304,  297,
+      296,  295,  294,  293,  292,  290,  289,  288,  287,  286,
+      285,  284,  282,  281,  280,  279,  278,  277,  276,  274,
+      273,  272,  271,  270,  269,  268,  267,  266,  265,  264,
+
+      263,  262,  261,  259,  258,  257,  255,  254,  253,  252,
+      251,  249,  248,  247,  246,  245,  244,  243,  242,  241,
+      239,  238,  237,  236,  235,  234,  233,  232,  231,  230,
+      229,  228,  227,  226,  225,  224,  223,  222,  221,  220,
+      219,  218,  217,  215,  214,  213,  212,  211,  209,  206,
+      204,  202,  200,  199,  194,  193,  189,  181,  180,  179,
+      178,  177,  176,  174,  173,  172,  171,  170,  169,  167,
+      165,  164,  163,  161,  160,  158,  157,  156,  155,  154,
+      152,  151,  150,  149,  148,  146,  145,  144,  143,  142,
+      141,  140,  138,  137,  135,  134,  130,  129,  128,  126,
+
+      125,  124,  122,  121,  120,  116,  110,  106,  105,  104,
+       98,   97,   78,   73,   67,   50,   49,   48,   43,   41,
+       39,   38,   24,   14,   11, 1624, 1624, 1624, 1624, 1624,
+     1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624,
+     1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624,
+     1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624,
+     1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624,
+     1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624,
+     1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624,
+     1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 
     } ;
 
@@ -1544,6 +2469,7 @@ static char *yy_last_accepting_cpos;
 extern int parser6__flex_debug;
 int parser6__flex_debug = 1;
 
+<<<<<<< HEAD
 static yyconst flex_int16_t yy_rule_linenum[191] =
     {   0,
       148,  150,  152,  157,  158,  163,  164,  165,  177,  180,
@@ -1566,6 +2492,30 @@ static yyconst flex_int16_t yy_rule_linenum[191] =
      1667, 1676, 1685, 1694, 1703, 1712, 1721, 1730, 1739, 1748,
      1757, 1766, 1776, 1875, 1880, 1885, 1890, 1891, 1892, 1893,
      1894, 1895, 1897, 1915, 1928, 1933, 1937, 1939, 1941, 1943
+=======
+static const flex_int16_t yy_rule_linenum[191] =
+    {   0,
+      149,  151,  153,  158,  159,  164,  165,  166,  178,  181,
+      186,  193,  202,  211,  220,  229,  238,  247,  256,  265,
+      274,  283,  292,  301,  310,  320,  330,  340,  350,  360,
+      370,  380,  389,  399,  409,  419,  429,  438,  447,  456,
+      465,  474,  483,  492,  501,  510,  519,  528,  537,  546,
+      555,  568,  577,  586,  595,  604,  615,  626,  637,  648,
+      660,  671,  682,  693,  704,  715,  726,  737,  748,  759,
+      770,  781,  790,  801,  812,  823,  834,  845,  856,  867,
+      878,  887,  896,  906,  915,  924,  939,  955,  964,  973,
+      982,  991, 1000, 1009, 1018, 1027, 1036, 1045, 1067, 1089,
+
+     1098, 1108, 1118, 1127, 1137, 1148, 1157, 1166, 1175, 1184,
+     1193, 1203, 1212, 1221, 1230, 1241, 1252, 1263, 1272, 1282,
+     1291, 1300, 1309, 1318, 1328, 1337, 1346, 1356, 1368, 1381,
+     1390, 1399, 1409, 1419, 1428, 1439, 1449, 1458, 1468, 1478,
+     1487, 1496, 1505, 1514, 1524, 1533, 1543, 1552, 1561, 1570,
+     1579, 1588, 1597, 1606, 1615, 1624, 1633, 1642, 1651, 1660,
+     1669, 1678, 1687, 1696, 1705, 1714, 1723, 1732, 1741, 1750,
+     1759, 1768, 1778, 1877, 1882, 1887, 1892, 1893, 1894, 1895,
+     1896, 1897, 1899, 1917, 1930, 1935, 1939, 1941, 1943, 1945
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     } ;
 
 /* The intent behind this definition is that it'll catch
@@ -1618,6 +2568,10 @@ using namespace isc::dhcp;
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg)
+<<<<<<< HEAD
+=======
+#line 1849 "dhcp6_lexer.cc"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 /* noyywrap disables automatic rewinding for the next file to parse. Since we
    always parse only a single string, there's no need to do any wraps. And
    using parser6_wrap requires linking with -lfl, which provides the default parser6_wrap
@@ -1643,8 +2597,14 @@ using namespace isc::dhcp;
 /* This code run each time a pattern is matched. It updates the location
    by moving it ahead by parser6_leng bytes. parser6_leng specifies the length of the
    currently matched token. */
+<<<<<<< HEAD
 #define YY_USER_ACTION  driver.loc_.columns(parser6_leng);
 #line 1648 "dhcp6_lexer.cc"
+=======
+#define YY_USER_ACTION  driver.loc_.columns(yyleng);
+#line 1875 "dhcp6_lexer.cc"
+#line 1876 "dhcp6_lexer.cc"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 
 #define INITIAL 0
 #define COMMENT 1
@@ -1937,6 +2897,7 @@ YY_DECL
     }
 
 
+<<<<<<< HEAD
 #line 1941 "dhcp6_lexer.cc"
 
        if ( !(yy_init) )
@@ -1969,6 +2930,9 @@ YY_DECL
                        YY_CURRENT_BUFFER_LVALUE =
                                parser6__create_buffer(parser6_in,YY_BUF_SIZE );
                }
+=======
+#line 2208 "dhcp6_lexer.cc"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 
                parser6__load_buffer_state( );
                }
@@ -2000,13 +2964,22 @@ yy_match:
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
+<<<<<<< HEAD
                                if ( yy_current_state >= 1621 )
                                        yy_c = yy_meta[(unsigned int) yy_c];
+=======
+                               if ( yy_current_state >= 1625 )
+                                       yy_c = yy_meta[yy_c];
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                        ++yy_cp;
                        }
+<<<<<<< HEAD
                while ( yy_current_state != 1620 );
+=======
+               while ( yy_current_state != 1624 );
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
                yy_cp = (yy_last_accepting_cpos);
                yy_current_state = (yy_last_accepting_state);
 
@@ -2027,10 +3000,17 @@ do_action:      /* This label is used only to access EOF actions. */
                                fprintf( stderr, "--scanner backing up\n" );
                        else if ( yy_act < 191 )
                                fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
+<<<<<<< HEAD
                                         (long)yy_rule_linenum[yy_act], parser6_text );
                        else if ( yy_act == 191 )
                                fprintf( stderr, "--accepting default rule (\"%s\")\n",
                                         parser6_text );
+=======
+                                        (long)yy_rule_linenum[yy_act], yytext );
+                       else if ( yy_act == 191 )
+                               fprintf( stderr, "--accepting default rule (\"%s\")\n",
+                                        yytext );
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
                        else if ( yy_act == 192 )
                                fprintf( stderr, "--(end of buffer or a NUL)\n" );
                        else
@@ -2906,6 +3886,18 @@ YY_RULE_SETUP
 case 72:
 YY_RULE_SETUP
 #line 780 "dhcp6_lexer.ll"
+{
+    switch(driver.ctx_) {
+    case isc::dhcp::Parser6Context::LEASE_DATABASE:
+        return isc::dhcp::Dhcp6Parser::make_MAX_ROW_ERRORS(driver.loc_);
+    default:
+        return isc::dhcp::Dhcp6Parser::make_STRING("max_row_errors", driver.loc_);
+    }
+}
+       YY_BREAK
+case 73:
+YY_RULE_SETUP
+#line 790 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -2917,9 +3909,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 73:
+case 74:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 791 "dhcp6_lexer.ll"
+=======
+#line 801 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -2931,9 +3927,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 74:
+case 75:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 802 "dhcp6_lexer.ll"
+=======
+#line 812 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -2945,9 +3945,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 75:
+case 76:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 813 "dhcp6_lexer.ll"
+=======
+#line 823 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -2959,9 +3963,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 76:
+case 77:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 824 "dhcp6_lexer.ll"
+=======
+#line 834 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -2973,9 +3981,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 77:
+case 78:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 835 "dhcp6_lexer.ll"
+=======
+#line 845 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -2987,9 +3999,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 78:
+case 79:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 846 "dhcp6_lexer.ll"
+=======
+#line 856 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3001,9 +4017,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 79:
+case 80:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 857 "dhcp6_lexer.ll"
+=======
+#line 867 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3015,9 +4035,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 80:
+case 81:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 868 "dhcp6_lexer.ll"
+=======
+#line 878 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3027,9 +4051,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 81:
+case 82:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 877 "dhcp6_lexer.ll"
+=======
+#line 887 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3039,9 +4067,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 82:
+case 83:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 886 "dhcp6_lexer.ll"
+=======
+#line 896 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3052,9 +4084,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 83:
+case 84:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 896 "dhcp6_lexer.ll"
+=======
+#line 906 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch (driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3064,9 +4100,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 84:
+case 85:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 905 "dhcp6_lexer.ll"
+=======
+#line 915 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3076,9 +4116,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 85:
+case 86:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 914 "dhcp6_lexer.ll"
+=======
+#line 924 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3094,9 +4138,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 86:
+case 87:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 929 "dhcp6_lexer.ll"
+=======
+#line 939 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LEASE_DATABASE:
@@ -3113,9 +4161,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 87:
+case 88:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 945 "dhcp6_lexer.ll"
+=======
+#line 955 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DATA:
@@ -3125,9 +4177,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 88:
+case 89:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 954 "dhcp6_lexer.ll"
+=======
+#line 964 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DATA:
@@ -3137,9 +4193,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 89:
+case 90:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 963 "dhcp6_lexer.ll"
+=======
+#line 973 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3149,9 +4209,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 90:
+case 91:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 972 "dhcp6_lexer.ll"
+=======
+#line 982 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3161,9 +4225,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 91:
+case 92:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 981 "dhcp6_lexer.ll"
+=======
+#line 991 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::PD_POOLS:
@@ -3173,9 +4241,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 92:
+case 93:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 990 "dhcp6_lexer.ll"
+=======
+#line 1000 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::PD_POOLS:
@@ -3185,9 +4257,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 93:
+case 94:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 999 "dhcp6_lexer.ll"
+=======
+#line 1009 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::PD_POOLS:
@@ -3197,9 +4273,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 94:
+case 95:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1008 "dhcp6_lexer.ll"
+=======
+#line 1018 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::PD_POOLS:
@@ -3209,9 +4289,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 95:
+case 96:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1017 "dhcp6_lexer.ll"
+=======
+#line 1027 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::PD_POOLS:
@@ -3221,9 +4305,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 96:
+case 97:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1026 "dhcp6_lexer.ll"
+=======
+#line 1036 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::POOLS:
@@ -3233,9 +4321,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 97:
+case 98:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1035 "dhcp6_lexer.ll"
+=======
+#line 1045 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3258,9 +4350,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 98:
+case 99:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1057 "dhcp6_lexer.ll"
+=======
+#line 1067 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3283,9 +4379,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 99:
+case 100:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1079 "dhcp6_lexer.ll"
+=======
+#line 1089 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3295,9 +4395,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 100:
+case 101:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1088 "dhcp6_lexer.ll"
+=======
+#line 1098 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3308,9 +4412,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 101:
+case 102:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1098 "dhcp6_lexer.ll"
+=======
+#line 1108 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3321,9 +4429,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 102:
+case 103:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1108 "dhcp6_lexer.ll"
+=======
+#line 1118 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3333,9 +4445,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 103:
+case 104:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1117 "dhcp6_lexer.ll"
+=======
+#line 1127 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3346,9 +4462,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 104:
+case 105:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1127 "dhcp6_lexer.ll"
+=======
+#line 1137 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3360,9 +4480,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 105:
+case 106:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1138 "dhcp6_lexer.ll"
+=======
+#line 1148 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATION_MODE:
@@ -3372,9 +4496,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 106:
+case 107:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1147 "dhcp6_lexer.ll"
+=======
+#line 1157 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATION_MODE:
@@ -3384,9 +4512,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 107:
+case 108:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1156 "dhcp6_lexer.ll"
+=======
+#line 1166 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATION_MODE:
@@ -3396,9 +4528,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 108:
+case 109:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1165 "dhcp6_lexer.ll"
+=======
+#line 1175 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATION_MODE:
@@ -3408,9 +4544,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 109:
+case 110:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1174 "dhcp6_lexer.ll"
+=======
+#line 1184 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATION_MODE:
@@ -3420,9 +4560,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 110:
+case 111:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1183 "dhcp6_lexer.ll"
+=======
+#line 1193 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3433,9 +4577,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 111:
+case 112:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1193 "dhcp6_lexer.ll"
+=======
+#line 1203 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3445,9 +4593,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 112:
+case 113:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1202 "dhcp6_lexer.ll"
+=======
+#line 1212 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3457,9 +4609,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 113:
+case 114:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1211 "dhcp6_lexer.ll"
+=======
+#line 1221 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3469,9 +4625,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 114:
+case 115:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1220 "dhcp6_lexer.ll"
+=======
+#line 1230 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3483,9 +4643,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 115:
+case 116:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1231 "dhcp6_lexer.ll"
+=======
+#line 1241 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3497,9 +4661,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 116:
+case 117:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1242 "dhcp6_lexer.ll"
+=======
+#line 1252 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3511,9 +4679,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 117:
+case 118:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1253 "dhcp6_lexer.ll"
+=======
+#line 1263 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG:
@@ -3523,9 +4695,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 118:
+case 119:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1262 "dhcp6_lexer.ll"
+=======
+#line 1272 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3536,9 +4712,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 119:
+case 120:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1272 "dhcp6_lexer.ll"
+=======
+#line 1282 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LOGGERS:
@@ -3548,9 +4728,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 120:
+case 121:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1281 "dhcp6_lexer.ll"
+=======
+#line 1291 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
@@ -3560,9 +4744,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 121:
+case 122:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1290 "dhcp6_lexer.ll"
+=======
+#line 1300 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
@@ -3572,9 +4760,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 122:
+case 123:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1299 "dhcp6_lexer.ll"
+=======
+#line 1309 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
@@ -3584,9 +4776,13 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 123:
+case 124:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1308 "dhcp6_lexer.ll"
+=======
+#line 1318 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
@@ -3596,8 +4792,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 124:
+case 125:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1317 "dhcp6_lexer.ll"
 {
     switch(driver.ctx_) {
@@ -3611,6 +4808,9 @@ YY_RULE_SETUP
 case 125:
 YY_RULE_SETUP
 #line 1326 "dhcp6_lexer.ll"
+=======
+#line 1328 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LOGGERS:
@@ -3622,7 +4822,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 126:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1335 "dhcp6_lexer.ll"
+=======
+#line 1337 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::LOGGERS:
@@ -3634,7 +4838,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 127:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1344 "dhcp6_lexer.ll"
+=======
+#line 1346 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3647,7 +4855,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 128:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1354 "dhcp6_lexer.ll"
+=======
+#line 1356 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3662,7 +4874,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 129:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1366 "dhcp6_lexer.ll"
+=======
+#line 1368 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3678,7 +4894,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 130:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1379 "dhcp6_lexer.ll"
+=======
+#line 1381 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CLIENT_CLASSES:
@@ -3690,7 +4910,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 131:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1388 "dhcp6_lexer.ll"
+=======
+#line 1390 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CLIENT_CLASSES:
@@ -3702,7 +4926,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 132:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1397 "dhcp6_lexer.ll"
+=======
+#line 1399 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3715,7 +4943,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 133:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1407 "dhcp6_lexer.ll"
+=======
+#line 1409 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATIONS:
@@ -3728,7 +4960,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 134:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1417 "dhcp6_lexer.ll"
+=======
+#line 1419 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATIONS:
@@ -3740,7 +4976,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 135:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1426 "dhcp6_lexer.ll"
+=======
+#line 1428 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::MAC_SOURCES:
@@ -3754,7 +4994,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 136:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1437 "dhcp6_lexer.ll"
+=======
+#line 1439 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3767,7 +5011,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 137:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1447 "dhcp6_lexer.ll"
+=======
+#line 1449 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RESERVATIONS:
@@ -3779,7 +5027,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 138:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1456 "dhcp6_lexer.ll"
+=======
+#line 1458 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
@@ -3792,7 +5044,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 139:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1466 "dhcp6_lexer.ll"
+=======
+#line 1468 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3805,7 +5061,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 140:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1476 "dhcp6_lexer.ll"
+=======
+#line 1478 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DATA:
@@ -3817,7 +5077,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 141:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1485 "dhcp6_lexer.ll"
+=======
+#line 1487 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3829,7 +5093,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 142:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1494 "dhcp6_lexer.ll"
+=======
+#line 1496 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3841,7 +5109,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 143:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1503 "dhcp6_lexer.ll"
+=======
+#line 1505 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::OPTION_DEF:
@@ -3853,7 +5125,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 144:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1512 "dhcp6_lexer.ll"
+=======
+#line 1514 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SUBNET6:
@@ -3866,7 +5142,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 145:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1522 "dhcp6_lexer.ll"
+=======
+#line 1524 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::RELAY:
@@ -3878,7 +5158,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 146:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1531 "dhcp6_lexer.ll"
+=======
+#line 1533 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3890,7 +5174,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 147:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1541 "dhcp6_lexer.ll"
+=======
+#line 1543 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
@@ -3902,7 +5190,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 148:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1550 "dhcp6_lexer.ll"
+=======
+#line 1552 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
@@ -3914,7 +5206,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 149:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1559 "dhcp6_lexer.ll"
+=======
+#line 1561 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -3926,7 +5222,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 150:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1568 "dhcp6_lexer.ll"
+=======
+#line 1570 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DUID_TYPE:
@@ -3938,7 +5238,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 151:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1577 "dhcp6_lexer.ll"
+=======
+#line 1579 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DUID_TYPE:
@@ -3950,7 +5254,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 152:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1586 "dhcp6_lexer.ll"
+=======
+#line 1588 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DUID_TYPE:
@@ -3962,7 +5270,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 153:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1595 "dhcp6_lexer.ll"
+=======
+#line 1597 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -3974,7 +5286,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 154:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1604 "dhcp6_lexer.ll"
+=======
+#line 1606 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -3986,7 +5302,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 155:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1613 "dhcp6_lexer.ll"
+=======
+#line 1615 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -3998,7 +5318,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 156:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1622 "dhcp6_lexer.ll"
+=======
+#line 1624 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::SERVER_ID:
@@ -4010,7 +5334,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 157:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1631 "dhcp6_lexer.ll"
+=======
+#line 1633 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -4022,7 +5350,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 158:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1640 "dhcp6_lexer.ll"
+=======
+#line 1642 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -4034,7 +5366,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 159:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1649 "dhcp6_lexer.ll"
+=======
+#line 1651 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -4046,7 +5382,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 160:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1658 "dhcp6_lexer.ll"
+=======
+#line 1660 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -4058,7 +5398,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 161:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1667 "dhcp6_lexer.ll"
+=======
+#line 1669 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -4070,7 +5414,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 162:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1676 "dhcp6_lexer.ll"
+=======
+#line 1678 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -4082,7 +5430,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 163:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1685 "dhcp6_lexer.ll"
+=======
+#line 1687 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
@@ -4094,7 +5446,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 164:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1694 "dhcp6_lexer.ll"
+=======
+#line 1696 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -4106,7 +5462,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 165:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1703 "dhcp6_lexer.ll"
+=======
+#line 1705 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -4118,7 +5478,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 166:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1712 "dhcp6_lexer.ll"
+=======
+#line 1714 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONTROL_SOCKET:
@@ -4130,7 +5494,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 167:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1721 "dhcp6_lexer.ll"
+=======
+#line 1723 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONTROL_SOCKET:
@@ -4142,7 +5510,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 168:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1730 "dhcp6_lexer.ll"
+=======
+#line 1732 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -4154,7 +5526,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 169:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1739 "dhcp6_lexer.ll"
+=======
+#line 1741 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
@@ -4166,7 +5542,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 170:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1748 "dhcp6_lexer.ll"
+=======
+#line 1750 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG:
@@ -4178,7 +5558,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 171:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1757 "dhcp6_lexer.ll"
+=======
+#line 1759 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG:
@@ -4190,7 +5574,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 172:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1766 "dhcp6_lexer.ll"
+=======
+#line 1768 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::CONFIG:
@@ -4202,7 +5590,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 173:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1776 "dhcp6_lexer.ll"
+=======
+#line 1778 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     /* 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.
@@ -4305,7 +5697,11 @@ YY_RULE_SETUP
 case 174:
 /* rule 174 can match eol */
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1875 "dhcp6_lexer.ll"
+=======
+#line 1877 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     /* Bad string with a forbidden control character inside */
     driver.error(driver.loc_, "Invalid control in " + std::string(parser6_text));
@@ -4314,7 +5710,11 @@ YY_RULE_SETUP
 case 175:
 /* rule 175 can match eol */
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1880 "dhcp6_lexer.ll"
+=======
+#line 1882 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     /* Bad string with a bad escape inside */
     driver.error(driver.loc_, "Bad escape in " + std::string(parser6_text));
@@ -4322,7 +5722,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 176:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1885 "dhcp6_lexer.ll"
+=======
+#line 1887 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     /* Bad string with an open escape at the end */
     driver.error(driver.loc_, "Overflow escape in " + std::string(parser6_text));
@@ -4330,37 +5734,65 @@ YY_RULE_SETUP
        YY_BREAK
 case 177:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1890 "dhcp6_lexer.ll"
+=======
+#line 1892 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 { return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
 case 178:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1891 "dhcp6_lexer.ll"
+=======
+#line 1893 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 { return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
 case 179:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1892 "dhcp6_lexer.ll"
+=======
+#line 1894 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 { return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); }
        YY_BREAK
 case 180:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1893 "dhcp6_lexer.ll"
+=======
+#line 1895 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 { return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); }
        YY_BREAK
 case 181:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1894 "dhcp6_lexer.ll"
+=======
+#line 1896 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 { return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); }
        YY_BREAK
 case 182:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1895 "dhcp6_lexer.ll"
+=======
+#line 1897 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 { return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); }
        YY_BREAK
 case 183:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1897 "dhcp6_lexer.ll"
+=======
+#line 1899 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     /* An integer was found. */
     std::string tmp(parser6_text);
@@ -4381,7 +5813,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 184:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1915 "dhcp6_lexer.ll"
+=======
+#line 1917 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     /* A floating point was found. */
     std::string tmp(parser6_text);
@@ -4397,7 +5833,11 @@ YY_RULE_SETUP
        YY_BREAK
 case 185:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1928 "dhcp6_lexer.ll"
+=======
+#line 1930 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     string tmp(parser6_text);
     return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_);
@@ -4405,33 +5845,57 @@ YY_RULE_SETUP
        YY_BREAK
 case 186:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1933 "dhcp6_lexer.ll"
+=======
+#line 1935 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
    return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_);
 }
        YY_BREAK
 case 187:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1937 "dhcp6_lexer.ll"
+=======
+#line 1939 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
        YY_BREAK
 case 188:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1939 "dhcp6_lexer.ll"
+=======
+#line 1941 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
        YY_BREAK
 case 189:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1941 "dhcp6_lexer.ll"
+=======
+#line 1943 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
        YY_BREAK
 case 190:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1943 "dhcp6_lexer.ll"
 driver.error (driver.loc_, "Invalid character: " + std::string(parser6_text));
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
 #line 1945 "dhcp6_lexer.ll"
+=======
+#line 1945 "dhcp6_lexer.ll"
+driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
+       YY_BREAK
+case YY_STATE_EOF(INITIAL):
+#line 1947 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 {
     if (driver.states_.empty()) {
         return isc::dhcp::Dhcp6Parser::make_END(driver.loc_);
@@ -4457,10 +5921,17 @@ case YY_STATE_EOF(INITIAL):
        YY_BREAK
 case 191:
 YY_RULE_SETUP
+<<<<<<< HEAD
 #line 1968 "dhcp6_lexer.ll"
 ECHO;
        YY_BREAK
 #line 4464 "dhcp6_lexer.cc"
+=======
+#line 1970 "dhcp6_lexer.ll"
+ECHO;
+       YY_BREAK
+#line 4697 "dhcp6_lexer.cc"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 
        case YY_END_OF_BUFFER:
                {
@@ -4772,8 +6243,13 @@ static int yy_get_next_buffer (void)
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
+<<<<<<< HEAD
                        if ( yy_current_state >= 1621 )
                                yy_c = yy_meta[(unsigned int) yy_c];
+=======
+                       if ( yy_current_state >= 1625 )
+                               yy_c = yy_meta[yy_c];
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                }
@@ -4805,11 +6281,19 @@ static int yy_get_next_buffer (void)
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
+<<<<<<< HEAD
                if ( yy_current_state >= 1621 )
                        yy_c = yy_meta[(unsigned int) yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
        yy_is_jam = (yy_current_state == 1620);
+=======
+               if ( yy_current_state >= 1625 )
+                       yy_c = yy_meta[yy_c];
+               }
+       yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
+       yy_is_jam = (yy_current_state == 1624);
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 
        return yy_is_jam ? 0 : yy_current_state;
 }
@@ -5550,8 +7034,12 @@ void parser6_free (void * ptr )
 
 /* %ok-for-header */
 
+<<<<<<< HEAD
 #line 1968 "dhcp6_lexer.ll"
 
+=======
+#line 1970 "dhcp6_lexer.ll"
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 
 
 using namespace isc::dhcp;
index e4f95b018f365ad73d05dda91ff87911c8f8ced8..1fcea99e1324a3ddd4b0f04fa7a064cde94a7b8e 100644 (file)
@@ -777,6 +777,15 @@ ControlCharacterFill            [^"\\]|\\{JSONEscapeSequence}
     }
 }
 
+\"max-row-errors\" {
+    switch(driver.ctx_) {
+    case isc::dhcp::Parser6Context::LEASE_DATABASE:
+        return isc::dhcp::Dhcp6Parser::make_MAX_ROW_ERRORS(driver.loc_);
+    default:
+        return isc::dhcp::Dhcp6Parser::make_STRING("max_row_errors", driver.loc_);
+    }
+}
+
 \"preferred-lifetime\" {
     switch(driver.ctx_) {
     case isc::dhcp::Parser6Context::DHCP6:
index 3bc9fa225ef9fe9c0fa249e265038a02e282838b..4e3bee4dcfe56862f041f9d0d66b7af7ef8efd42 100644 (file)
@@ -1,8 +1,8 @@
-// A Bison parser, made by GNU Bison 3.4.1.
+// A Bison parser, made by GNU Bison 3.2.1.
 
 // Skeleton implementation for Bison LALR(1) parsers in C++
 
-// Copyright (C) 2002-2015, 2018-2019 Free Software Foundation, Inc.
+// Copyright (C) 2002-2015, 2018 Free Software Foundation, Inc.
 
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
 
 
 // Unqualified %code blocks.
-#line 34 "dhcp6_parser.yy"
+#line 34 "dhcp6_parser.yy" // lalr1.cc:438
 
 #include <dhcp6/parser_context.h>
 
-#line 51 "dhcp6_parser.cc"
+#line 51 "dhcp6_parser.cc" // lalr1.cc:438
 
 
 #ifndef YY_
@@ -88,7 +88,7 @@
         {                                                               \
           (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end;      \
         }                                                               \
-    while (false)
+    while (/*CONSTCOND*/ false)
 # endif
 
 
 #define YYERROR         goto yyerrorlab
 #define YYRECOVERING()  (!!yyerrstatus_)
 
-#line 14 "dhcp6_parser.yy"
+#line 14 "dhcp6_parser.yy" // lalr1.cc:513
 namespace isc { namespace dhcp {
-#line 146 "dhcp6_parser.cc"
-
+#line 146 "dhcp6_parser.cc" // lalr1.cc:513
 
   /* Return YYSTR after stripping away unnecessary quotes and
      backslashes, so that it's suitable for yyerror.  The heuristic is
@@ -155,7 +154,7 @@ namespace isc { namespace dhcp {
   {
     if (*yystr == '"')
       {
-        std::string yyr;
+        std::string yyr = "";
         char const *yyp = yystr;
 
         for (;;)
@@ -168,10 +167,7 @@ namespace isc { namespace dhcp {
             case '\\':
               if (*++yyp != '\\')
                 goto do_not_strip_quotes;
-              else
-                goto append;
-
-            append:
+              // Fall through.
             default:
               yyr += *yyp;
               break;
@@ -199,8 +195,6 @@ namespace isc { namespace dhcp {
   Dhcp6Parser::~Dhcp6Parser ()
   {}
 
-  Dhcp6Parser::syntax_error::~syntax_error () YY_NOEXCEPT YY_NOTHROW
-  {}
 
   /*---------------.
   | Symbol types.  |
@@ -209,16 +203,16 @@ namespace isc { namespace dhcp {
 
 
   // by_state.
-  Dhcp6Parser::by_state::by_state () YY_NOEXCEPT
+  Dhcp6Parser::by_state::by_state ()
     : state (empty_state)
   {}
 
-  Dhcp6Parser::by_state::by_state (const by_state& that) YY_NOEXCEPT
-    : state (that.state)
+  Dhcp6Parser::by_state::by_state (const by_state& other)
+    : state (other.state)
   {}
 
   void
-  Dhcp6Parser::by_state::clear () YY_NOEXCEPT
+  Dhcp6Parser::by_state::clear ()
   {
     state = empty_state;
   }
@@ -230,12 +224,12 @@ namespace isc { namespace dhcp {
     that.clear ();
   }
 
-  Dhcp6Parser::by_state::by_state (state_type s) YY_NOEXCEPT
+  Dhcp6Parser::by_state::by_state (state_type s)
     : state (s)
   {}
 
   Dhcp6Parser::symbol_number_type
-  Dhcp6Parser::by_state::type_get () const YY_NOEXCEPT
+  Dhcp6Parser::by_state::type_get () const
   {
     if (state == empty_state)
       return empty_symbol;
@@ -254,10 +248,17 @@ namespace isc { namespace dhcp {
       case 203: // value
       case 207: // map_value
       case 268: // db_type
+<<<<<<< HEAD
       case 361: // hr_mode
       case 497: // duid_type
       case 532: // ncr_protocol_value
       case 539: // replace_client_name_value
+=======
+      case 362: // hr_mode
+      case 498: // duid_type
+      case 533: // ncr_protocol_value
+      case 540: // replace_client_name_value
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
         value.YY_MOVE_OR_COPY< ElementPtr > (YY_MOVE (that.value));
         break;
 
@@ -281,7 +282,7 @@ namespace isc { namespace dhcp {
         break;
     }
 
-#if 201103L <= YY_CPLUSPLUS
+#if defined __cplusplus && 201103L <= __cplusplus
     // that is emptied.
     that.state = empty_state;
 #endif
@@ -295,10 +296,17 @@ namespace isc { namespace dhcp {
       case 203: // value
       case 207: // map_value
       case 268: // db_type
+<<<<<<< HEAD
       case 361: // hr_mode
       case 497: // duid_type
       case 532: // ncr_protocol_value
       case 539: // replace_client_name_value
+=======
+      case 362: // hr_mode
+      case 498: // duid_type
+      case 533: // ncr_protocol_value
+      case 540: // replace_client_name_value
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
         value.move< ElementPtr > (YY_MOVE (that.value));
         break;
 
@@ -326,7 +334,7 @@ namespace isc { namespace dhcp {
     that.type = empty_symbol;
   }
 
-#if YY_CPLUSPLUS < 201103L
+#if !defined __cplusplus || __cplusplus < 201103L
   Dhcp6Parser::stack_symbol_type&
   Dhcp6Parser::stack_symbol_type::operator= (stack_symbol_type& that)
   {
@@ -336,10 +344,17 @@ namespace isc { namespace dhcp {
       case 203: // value
       case 207: // map_value
       case 268: // db_type
+<<<<<<< HEAD
       case 361: // hr_mode
       case 497: // duid_type
       case 532: // ncr_protocol_value
       case 539: // replace_client_name_value
+=======
+      case 362: // hr_mode
+      case 498: // duid_type
+      case 533: // ncr_protocol_value
+      case 540: // replace_client_name_value
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
         value.move< ElementPtr > (that.value);
         break;
 
@@ -387,17 +402,16 @@ namespace isc { namespace dhcp {
     std::ostream& yyoutput = yyo;
     YYUSE (yyoutput);
     symbol_number_type yytype = yysym.type_get ();
-#if defined __GNUC__ && ! defined __clang__ && ! defined __ICC && __GNUC__ * 100 + __GNUC_MINOR__ <= 408
     // Avoid a (spurious) G++ 4.8 warning about "array subscript is
     // below array bounds".
     if (yysym.empty ())
       std::abort ();
-#endif
     yyo << (yytype < yyntokens_ ? "token" : "nterm")
         << ' ' << yytname_[yytype] << " ("
         << yysym.location << ": ";
     switch (yytype)
     {
+<<<<<<< HEAD
       case 182: // "constant string"
 #line 261 "dhcp6_parser.yy"
         { yyoutput << yysym.value.template as < std::string > (); }
@@ -462,8 +476,86 @@ namespace isc { namespace dhcp {
 #line 261 "dhcp6_parser.yy"
         { yyoutput << yysym.value.template as < ElementPtr > (); }
 #line 465 "dhcp6_parser.cc"
+=======
+            case 182: // "constant string"
+
+#line 261 "dhcp6_parser.yy" // lalr1.cc:672
+        { yyoutput << yysym.value.template as< std::string > (); }
+#line 398 "dhcp6_parser.cc" // lalr1.cc:672
+        break;
+
+      case 183: // "integer"
+
+#line 261 "dhcp6_parser.yy" // lalr1.cc:672
+        { yyoutput << yysym.value.template as< int64_t > (); }
+#line 405 "dhcp6_parser.cc" // lalr1.cc:672
+        break;
+
+      case 184: // "floating point"
+
+#line 261 "dhcp6_parser.yy" // lalr1.cc:672
+        { yyoutput << yysym.value.template as< double > (); }
+#line 412 "dhcp6_parser.cc" // lalr1.cc:672
+        break;
+
+      case 185: // "boolean"
+
+#line 261 "dhcp6_parser.yy" // lalr1.cc:672
+        { yyoutput << yysym.value.template as< bool > (); }
+#line 419 "dhcp6_parser.cc" // lalr1.cc:672
+        break;
+
+      case 203: // value
+
+#line 261 "dhcp6_parser.yy" // lalr1.cc:672
+        { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 426 "dhcp6_parser.cc" // lalr1.cc:672
+        break;
+
+      case 207: // map_value
+
+#line 261 "dhcp6_parser.yy" // lalr1.cc:672
+        { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 433 "dhcp6_parser.cc" // lalr1.cc:672
+        break;
+
+      case 268: // db_type
+
+#line 261 "dhcp6_parser.yy" // lalr1.cc:672
+        { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 440 "dhcp6_parser.cc" // lalr1.cc:672
+        break;
+
+      case 362: // hr_mode
+
+#line 261 "dhcp6_parser.yy" // lalr1.cc:672
+        { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 447 "dhcp6_parser.cc" // lalr1.cc:672
+        break;
+
+      case 498: // duid_type
+
+#line 261 "dhcp6_parser.yy" // lalr1.cc:672
+        { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 454 "dhcp6_parser.cc" // lalr1.cc:672
+        break;
+
+      case 533: // ncr_protocol_value
+
+#line 261 "dhcp6_parser.yy" // lalr1.cc:672
+        { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 461 "dhcp6_parser.cc" // lalr1.cc:672
+        break;
+
+      case 540: // replace_client_name_value
+
+#line 261 "dhcp6_parser.yy" // lalr1.cc:672
+        { yyoutput << yysym.value.template as< ElementPtr > (); }
+#line 468 "dhcp6_parser.cc" // lalr1.cc:672
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
         break;
 
+
       default:
         break;
     }
@@ -482,7 +574,7 @@ namespace isc { namespace dhcp {
   void
   Dhcp6Parser::yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym)
   {
-#if 201103L <= YY_CPLUSPLUS
+#if defined __cplusplus && 201103L <= __cplusplus
     yypush_ (m, stack_symbol_type (s, std::move (sym)));
 #else
     stack_symbol_type ss (s, sym);
@@ -586,22 +678,17 @@ namespace isc { namespace dhcp {
     yystack_.clear ();
     yypush_ (YY_NULLPTR, 0, YY_MOVE (yyla));
 
-  /*-----------------------------------------------.
-  | yynewstate -- push a new symbol on the stack.  |
-  `-----------------------------------------------*/
+    // A new symbol was pushed on the stack.
   yynewstate:
     YYCDEBUG << "Entering state " << yystack_[0].state << '\n';
 
     // Accept?
     if (yystack_[0].state == yyfinal_)
-      YYACCEPT;
+      goto yyacceptlab;
 
     goto yybackup;
 
-
-  /*-----------.
-  | yybackup.  |
-  `-----------*/
+    // Backup.
   yybackup:
     // Try to take a decision without lookahead.
     yyn = yypact_[yystack_[0].state];
@@ -622,7 +709,6 @@ namespace isc { namespace dhcp {
 #if YY_EXCEPTIONS
         catch (const syntax_error& yyexc)
           {
-            YYCDEBUG << "Caught exception: " << yyexc.what() << '\n';
             error (yyexc);
             goto yyerrlab1;
           }
@@ -654,7 +740,6 @@ namespace isc { namespace dhcp {
     yypush_ ("Shifting", yyn, YY_MOVE (yyla));
     goto yynewstate;
 
-
   /*-----------------------------------------------------------.
   | yydefault -- do the default action for the current state.  |
   `-----------------------------------------------------------*/
@@ -664,9 +749,8 @@ namespace isc { namespace dhcp {
       goto yyerrlab;
     goto yyreduce;
 
-
   /*-----------------------------.
-  | yyreduce -- do a reduction.  |
+  | yyreduce -- Do a reduction.  |
   `-----------------------------*/
   yyreduce:
     yylen = yyr2_[yyn];
@@ -681,10 +765,17 @@ namespace isc { namespace dhcp {
       case 203: // value
       case 207: // map_value
       case 268: // db_type
+<<<<<<< HEAD
       case 361: // hr_mode
       case 497: // duid_type
       case 532: // ncr_protocol_value
       case 539: // replace_client_name_value
+=======
+      case 362: // hr_mode
+      case 498: // duid_type
+      case 533: // ncr_protocol_value
+      case 540: // replace_client_name_value
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
         yylhs.value.emplace< ElementPtr > ();
         break;
 
@@ -711,8 +802,8 @@ namespace isc { namespace dhcp {
 
       // Default location.
       {
-        stack_type::slice range (yystack_, yylen);
-        YYLLOC_DEFAULT (yylhs.location, range, yylen);
+        slice<stack_symbol_type, stack_type> slice (yystack_, yylen);
+        YYLLOC_DEFAULT (yylhs.location, slice, yylen);
         yyerror_range[1].location = yylhs.location;
       }
 
@@ -725,96 +816,157 @@ namespace isc { namespace dhcp {
           switch (yyn)
             {
   case 2:
+<<<<<<< HEAD
 #line 270 "dhcp6_parser.yy"
+=======
+#line 270 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     { ctx.ctx_ = ctx.NO_KEYWORD; }
-#line 731 "dhcp6_parser.cc"
+#line 727 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 4:
+<<<<<<< HEAD
 #line 271 "dhcp6_parser.yy"
+=======
+#line 271 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     { ctx.ctx_ = ctx.CONFIG; }
-#line 737 "dhcp6_parser.cc"
+#line 733 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 6:
+<<<<<<< HEAD
 #line 272 "dhcp6_parser.yy"
+=======
+#line 272 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     { ctx.ctx_ = ctx.DHCP6; }
-#line 743 "dhcp6_parser.cc"
+#line 739 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 8:
+<<<<<<< HEAD
 #line 273 "dhcp6_parser.yy"
+=======
+#line 273 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     { ctx.ctx_ = ctx.INTERFACES_CONFIG; }
-#line 749 "dhcp6_parser.cc"
+#line 745 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 10:
+<<<<<<< HEAD
 #line 274 "dhcp6_parser.yy"
+=======
+#line 274 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     { ctx.ctx_ = ctx.SUBNET6; }
-#line 755 "dhcp6_parser.cc"
+#line 751 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 12:
+<<<<<<< HEAD
 #line 275 "dhcp6_parser.yy"
+=======
+#line 275 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     { ctx.ctx_ = ctx.POOLS; }
-#line 761 "dhcp6_parser.cc"
+#line 757 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 14:
+<<<<<<< HEAD
 #line 276 "dhcp6_parser.yy"
+=======
+#line 276 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     { ctx.ctx_ = ctx.PD_POOLS; }
-#line 767 "dhcp6_parser.cc"
+#line 763 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 16:
+<<<<<<< HEAD
 #line 277 "dhcp6_parser.yy"
+=======
+#line 277 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     { ctx.ctx_ = ctx.RESERVATIONS; }
-#line 773 "dhcp6_parser.cc"
+#line 769 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 18:
+<<<<<<< HEAD
 #line 278 "dhcp6_parser.yy"
+=======
+#line 278 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     { ctx.ctx_ = ctx.DHCP6; }
-#line 779 "dhcp6_parser.cc"
+#line 775 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 20:
+<<<<<<< HEAD
 #line 279 "dhcp6_parser.yy"
+=======
+#line 279 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     { ctx.ctx_ = ctx.OPTION_DEF; }
-#line 785 "dhcp6_parser.cc"
+#line 781 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 22:
+<<<<<<< HEAD
 #line 280 "dhcp6_parser.yy"
+=======
+#line 280 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     { ctx.ctx_ = ctx.OPTION_DATA; }
-#line 791 "dhcp6_parser.cc"
+#line 787 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 24:
+<<<<<<< HEAD
 #line 281 "dhcp6_parser.yy"
+=======
+#line 281 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     { ctx.ctx_ = ctx.HOOKS_LIBRARIES; }
-#line 797 "dhcp6_parser.cc"
+#line 793 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 26:
+<<<<<<< HEAD
 #line 282 "dhcp6_parser.yy"
+=======
+#line 282 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     { ctx.ctx_ = ctx.DHCP_DDNS; }
-#line 803 "dhcp6_parser.cc"
+#line 799 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 28:
+<<<<<<< HEAD
 #line 283 "dhcp6_parser.yy"
+=======
+#line 283 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     { ctx.ctx_ = ctx.LOGGING; }
-#line 809 "dhcp6_parser.cc"
+#line 805 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 30:
+<<<<<<< HEAD
 #line 284 "dhcp6_parser.yy"
+=======
+#line 284 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     { ctx.ctx_ = ctx.CONFIG_CONTROL; }
-#line 815 "dhcp6_parser.cc"
+#line 811 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 32:
+<<<<<<< HEAD
 #line 292 "dhcp6_parser.yy"
     { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); }
 #line 821 "dhcp6_parser.cc"
@@ -858,35 +1010,89 @@ namespace isc { namespace dhcp {
 
   case 39:
 #line 301 "dhcp6_parser.yy"
+=======
+#line 292 "dhcp6_parser.yy" // lalr1.cc:907
+    { yylhs.value.as< ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); }
+#line 817 "dhcp6_parser.cc" // lalr1.cc:907
+    break;
+
+  case 33:
+#line 293 "dhcp6_parser.yy" // lalr1.cc:907
+    { yylhs.value.as< ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location))); }
+#line 823 "dhcp6_parser.cc" // lalr1.cc:907
+    break;
+
+  case 34:
+#line 294 "dhcp6_parser.yy" // lalr1.cc:907
+    { yylhs.value.as< ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); }
+#line 829 "dhcp6_parser.cc" // lalr1.cc:907
+    break;
+
+  case 35:
+#line 295 "dhcp6_parser.yy" // lalr1.cc:907
+    { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); }
+#line 835 "dhcp6_parser.cc" // lalr1.cc:907
+    break;
+
+  case 36:
+#line 296 "dhcp6_parser.yy" // lalr1.cc:907
+    { yylhs.value.as< ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); }
+#line 841 "dhcp6_parser.cc" // lalr1.cc:907
+    break;
+
+  case 37:
+#line 297 "dhcp6_parser.yy" // lalr1.cc:907
+    { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
+#line 847 "dhcp6_parser.cc" // lalr1.cc:907
+    break;
+
+  case 38:
+#line 298 "dhcp6_parser.yy" // lalr1.cc:907
+    { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
+#line 853 "dhcp6_parser.cc" // lalr1.cc:907
+    break;
+
+  case 39:
+#line 301 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // Push back the JSON value on the stack
-    ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ());
+    ctx.stack_.push_back(yystack_[0].value.as< ElementPtr > ());
 }
-#line 866 "dhcp6_parser.cc"
+#line 862 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 40:
+<<<<<<< HEAD
 #line 306 "dhcp6_parser.yy"
+=======
+#line 306 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // This code is executed when we're about to start parsing
     // the content of the map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
-#line 877 "dhcp6_parser.cc"
+#line 873 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 41:
+<<<<<<< HEAD
 #line 311 "dhcp6_parser.yy"
+=======
+#line 311 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // map parsing completed. If we ever want to do any wrap up
     // (maybe some sanity checking), this would be the best place
     // for it.
 }
-#line 887 "dhcp6_parser.cc"
+#line 883 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 42:
+<<<<<<< HEAD
 #line 317 "dhcp6_parser.yy"
     { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
 #line 893 "dhcp6_parser.cc"
@@ -894,117 +1100,174 @@ namespace isc { namespace dhcp {
 
   case 45:
 #line 324 "dhcp6_parser.yy"
+=======
+#line 317 "dhcp6_parser.yy" // lalr1.cc:907
+    { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
+#line 889 "dhcp6_parser.cc" // lalr1.cc:907
+    break;
+
+  case 45:
+#line 324 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
                   // map containing a single entry
-                  ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ());
+                  ctx.stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ());
                   }
-#line 902 "dhcp6_parser.cc"
+#line 898 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 46:
+<<<<<<< HEAD
 #line 328 "dhcp6_parser.yy"
+=======
+#line 328 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
                   // map consisting of a shorter map followed by
                   // comma and string:value
-                  ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ());
+                  ctx.stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ());
                   }
-#line 912 "dhcp6_parser.cc"
+#line 908 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 47:
+<<<<<<< HEAD
 #line 335 "dhcp6_parser.yy"
+=======
+#line 335 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(l);
 }
-#line 921 "dhcp6_parser.cc"
+#line 917 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 48:
+<<<<<<< HEAD
 #line 338 "dhcp6_parser.yy"
+=======
+#line 338 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // list parsing complete. Put any sanity checking here
 }
-#line 929 "dhcp6_parser.cc"
+#line 925 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 51:
+<<<<<<< HEAD
 #line 346 "dhcp6_parser.yy"
+=======
+#line 346 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
                   // List consisting of a single element.
-                  ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ());
+                  ctx.stack_.back()->add(yystack_[0].value.as< ElementPtr > ());
                   }
-#line 938 "dhcp6_parser.cc"
+#line 934 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 52:
+<<<<<<< HEAD
 #line 350 "dhcp6_parser.yy"
+=======
+#line 350 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
                   // List ending with , and a value.
-                  ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ());
+                  ctx.stack_.back()->add(yystack_[0].value.as< ElementPtr > ());
                   }
-#line 947 "dhcp6_parser.cc"
+#line 943 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 53:
+<<<<<<< HEAD
 #line 357 "dhcp6_parser.yy"
+=======
+#line 357 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // List parsing about to start
 }
-#line 955 "dhcp6_parser.cc"
+#line 951 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 54:
+<<<<<<< HEAD
 #line 359 "dhcp6_parser.yy"
+=======
+#line 359 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // list parsing complete. Put any sanity checking here
     //ctx.stack_.pop_back();
 }
-#line 964 "dhcp6_parser.cc"
+#line 960 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 57:
+<<<<<<< HEAD
 #line 368 "dhcp6_parser.yy"
+=======
+#line 368 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-                          ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+                          ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
                           ctx.stack_.back()->add(s);
                           }
-#line 973 "dhcp6_parser.cc"
+#line 969 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 58:
+<<<<<<< HEAD
 #line 372 "dhcp6_parser.yy"
+=======
+#line 372 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-                          ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+                          ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
                           ctx.stack_.back()->add(s);
                           }
-#line 982 "dhcp6_parser.cc"
+#line 978 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 59:
+<<<<<<< HEAD
 #line 383 "dhcp6_parser.yy"
+=======
+#line 383 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     const std::string& where = ctx.contextName();
-    const std::string& keyword = yystack_[1].value.as < std::string > ();
+    const std::string& keyword = yystack_[1].value.as< std::string > ();
     error(yystack_[1].location,
           "got unexpected keyword \"" + keyword + "\" in " + where + " map.");
 }
-#line 993 "dhcp6_parser.cc"
+#line 989 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 60:
+<<<<<<< HEAD
 #line 393 "dhcp6_parser.yy"
+=======
+#line 393 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // This code is executed when we're about to start parsing
     // the content of the map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
-#line 1004 "dhcp6_parser.cc"
+#line 1000 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 61:
+<<<<<<< HEAD
 #line 398 "dhcp6_parser.yy"
+=======
+#line 398 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // map parsing completed. If we ever want to do any wrap up
     // (maybe some sanity checking), this would be the best place
@@ -1013,11 +1276,15 @@ namespace isc { namespace dhcp {
     // Dhcp6 is required
     ctx.require("Dhcp6", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
 }
-#line 1017 "dhcp6_parser.cc"
+#line 1013 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 70:
+<<<<<<< HEAD
 #line 421 "dhcp6_parser.yy"
+=======
+#line 421 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // This code is executed when we're about to start parsing
     // the content of the map
@@ -1026,349 +1293,496 @@ namespace isc { namespace dhcp {
     ctx.stack_.push_back(m);
     ctx.enter(ctx.DHCP6);
 }
-#line 1030 "dhcp6_parser.cc"
+#line 1026 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 71:
+<<<<<<< HEAD
 #line 428 "dhcp6_parser.yy"
+=======
+#line 428 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // No global parameter is required
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1040 "dhcp6_parser.cc"
+#line 1036 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 72:
+<<<<<<< HEAD
 #line 436 "dhcp6_parser.yy"
+=======
+#line 436 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // Parse the Dhcp6 map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
-#line 1050 "dhcp6_parser.cc"
+#line 1046 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 73:
+<<<<<<< HEAD
 #line 440 "dhcp6_parser.yy"
+=======
+#line 440 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // No global parameter is required
     // parsing completed
 }
-#line 1059 "dhcp6_parser.cc"
+#line 1055 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 119:
+<<<<<<< HEAD
 #line 496 "dhcp6_parser.yy"
+=======
+#line 496 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 1067 "dhcp6_parser.cc"
+#line 1063 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 120:
+<<<<<<< HEAD
 #line 498 "dhcp6_parser.yy"
+=======
+#line 498 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr datadir(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr datadir(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("data-directory", datadir);
     ctx.leave();
 }
-#line 1077 "dhcp6_parser.cc"
+#line 1073 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 121:
+<<<<<<< HEAD
 #line 504 "dhcp6_parser.yy"
+=======
+#line 504 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("preferred-lifetime", prf);
 }
-#line 1086 "dhcp6_parser.cc"
+#line 1082 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 122:
+<<<<<<< HEAD
 #line 509 "dhcp6_parser.yy"
+=======
+#line 509 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("min-preferred-lifetime", prf);
 }
-#line 1095 "dhcp6_parser.cc"
+#line 1091 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 123:
+<<<<<<< HEAD
 #line 514 "dhcp6_parser.yy"
+=======
+#line 514 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("max-preferred-lifetime", prf);
 }
-#line 1104 "dhcp6_parser.cc"
+#line 1100 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 124:
+<<<<<<< HEAD
 #line 519 "dhcp6_parser.yy"
+=======
+#line 519 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("valid-lifetime", prf);
 }
-#line 1113 "dhcp6_parser.cc"
+#line 1109 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 125:
+<<<<<<< HEAD
 #line 524 "dhcp6_parser.yy"
+=======
+#line 524 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("min-valid-lifetime", prf);
 }
-#line 1122 "dhcp6_parser.cc"
+#line 1118 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 126:
+<<<<<<< HEAD
 #line 529 "dhcp6_parser.yy"
+=======
+#line 529 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("max-valid-lifetime", prf);
 }
-#line 1131 "dhcp6_parser.cc"
+#line 1127 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 127:
+<<<<<<< HEAD
 #line 534 "dhcp6_parser.yy"
+=======
+#line 534 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("renew-timer", prf);
 }
-#line 1140 "dhcp6_parser.cc"
+#line 1136 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 128:
+<<<<<<< HEAD
 #line 539 "dhcp6_parser.yy"
+=======
+#line 539 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("rebind-timer", prf);
 }
-#line 1149 "dhcp6_parser.cc"
+#line 1145 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 129:
+<<<<<<< HEAD
 #line 544 "dhcp6_parser.yy"
+=======
+#line 544 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr ctt(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr ctt(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("calculate-tee-times", ctt);
 }
-#line 1158 "dhcp6_parser.cc"
+#line 1154 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 130:
+<<<<<<< HEAD
 #line 549 "dhcp6_parser.yy"
+=======
+#line 549 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr t1(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr t1(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("t1-percent", t1);
 }
-#line 1167 "dhcp6_parser.cc"
+#line 1163 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 131:
+<<<<<<< HEAD
 #line 554 "dhcp6_parser.yy"
+=======
+#line 554 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr t2(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr t2(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("t2-percent", t2);
 }
-#line 1176 "dhcp6_parser.cc"
+#line 1172 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 132:
+<<<<<<< HEAD
 #line 559 "dhcp6_parser.yy"
+=======
+#line 559 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr dpp(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr dpp(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("decline-probation-period", dpp);
 }
-#line 1185 "dhcp6_parser.cc"
+#line 1181 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 133:
+<<<<<<< HEAD
 #line 564 "dhcp6_parser.yy"
+=======
+#line 564 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 1193 "dhcp6_parser.cc"
+#line 1189 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 134:
+<<<<<<< HEAD
 #line 566 "dhcp6_parser.yy"
+=======
+#line 566 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr stag(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr stag(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-tag", stag);
     ctx.leave();
 }
-#line 1203 "dhcp6_parser.cc"
+#line 1199 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 135:
+<<<<<<< HEAD
 #line 572 "dhcp6_parser.yy"
+=======
+#line 572 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("interfaces-config", i);
     ctx.stack_.push_back(i);
     ctx.enter(ctx.INTERFACES_CONFIG);
 }
-#line 1214 "dhcp6_parser.cc"
+#line 1210 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 136:
+<<<<<<< HEAD
 #line 577 "dhcp6_parser.yy"
+=======
+#line 577 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // No interfaces config param is required
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1224 "dhcp6_parser.cc"
+#line 1220 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 137:
+<<<<<<< HEAD
 #line 583 "dhcp6_parser.yy"
+=======
+#line 583 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // Parse the interfaces-config map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
-#line 1234 "dhcp6_parser.cc"
+#line 1230 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 138:
+<<<<<<< HEAD
 #line 587 "dhcp6_parser.yy"
+=======
+#line 587 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // No interfaces config param is required
     // parsing completed
 }
-#line 1243 "dhcp6_parser.cc"
+#line 1239 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 146:
+<<<<<<< HEAD
 #line 603 "dhcp6_parser.yy"
+=======
+#line 603 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("interfaces", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 1254 "dhcp6_parser.cc"
+#line 1250 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 147:
+<<<<<<< HEAD
 #line 608 "dhcp6_parser.yy"
+=======
+#line 608 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1263 "dhcp6_parser.cc"
+#line 1259 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 148:
+<<<<<<< HEAD
 #line 613 "dhcp6_parser.yy"
+=======
+#line 613 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("re-detect", b);
 }
-#line 1272 "dhcp6_parser.cc"
+#line 1268 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 149:
+<<<<<<< HEAD
 #line 619 "dhcp6_parser.yy"
+=======
+#line 619 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("lease-database", i);
     ctx.stack_.push_back(i);
     ctx.enter(ctx.LEASE_DATABASE);
 }
-#line 1283 "dhcp6_parser.cc"
+#line 1279 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 150:
+<<<<<<< HEAD
 #line 624 "dhcp6_parser.yy"
+=======
+#line 624 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // The type parameter is required
     ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1294 "dhcp6_parser.cc"
+#line 1290 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 151:
+<<<<<<< HEAD
 #line 631 "dhcp6_parser.yy"
+=======
+#line 631 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hosts-database", i);
     ctx.stack_.push_back(i);
     ctx.enter(ctx.HOSTS_DATABASE);
 }
-#line 1305 "dhcp6_parser.cc"
+#line 1301 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 152:
+<<<<<<< HEAD
 #line 636 "dhcp6_parser.yy"
+=======
+#line 636 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // The type parameter is required
     ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1316 "dhcp6_parser.cc"
+#line 1312 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 153:
+<<<<<<< HEAD
 #line 643 "dhcp6_parser.yy"
+=======
+#line 643 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hosts-databases", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.HOSTS_DATABASE);
 }
-#line 1327 "dhcp6_parser.cc"
+#line 1323 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 154:
+<<<<<<< HEAD
 #line 648 "dhcp6_parser.yy"
+=======
+#line 648 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1336 "dhcp6_parser.cc"
+#line 1332 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 159:
+<<<<<<< HEAD
 #line 661 "dhcp6_parser.yy"
+=======
+#line 661 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 1346 "dhcp6_parser.cc"
+#line 1342 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 160:
+<<<<<<< HEAD
 #line 665 "dhcp6_parser.yy"
+=======
+#line 665 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // The type parameter is required
     ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
     ctx.stack_.pop_back();
 }
-#line 1356 "dhcp6_parser.cc"
+#line 1352 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 183:
 #line 697 "dhcp6_parser.yy"
+=======
+  case 184:
+#line 698 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.DATABASE_TYPE);
 }
-#line 1364 "dhcp6_parser.cc"
+#line 1360 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 184:
 #line 699 "dhcp6_parser.yy"
+=======
+  case 185:
+#line 700 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ());
+    ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
 }
+<<<<<<< HEAD
 #line 1373 "dhcp6_parser.cc"
     break;
 
@@ -1398,584 +1812,929 @@ namespace isc { namespace dhcp {
 
   case 189:
 #line 710 "dhcp6_parser.yy"
+=======
+#line 1369 "dhcp6_parser.cc" // lalr1.cc:907
+    break;
+
+  case 186:
+#line 705 "dhcp6_parser.yy" // lalr1.cc:907
+    { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); }
+#line 1375 "dhcp6_parser.cc" // lalr1.cc:907
+    break;
+
+  case 187:
+#line 706 "dhcp6_parser.yy" // lalr1.cc:907
+    { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); }
+#line 1381 "dhcp6_parser.cc" // lalr1.cc:907
+    break;
+
+  case 188:
+#line 707 "dhcp6_parser.yy" // lalr1.cc:907
+    { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); }
+#line 1387 "dhcp6_parser.cc" // lalr1.cc:907
+    break;
+
+  case 189:
+#line 708 "dhcp6_parser.yy" // lalr1.cc:907
+    { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); }
+#line 1393 "dhcp6_parser.cc" // lalr1.cc:907
+    break;
+
+  case 190:
+#line 711 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 1405 "dhcp6_parser.cc"
+#line 1401 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 190:
 #line 712 "dhcp6_parser.yy"
+=======
+  case 191:
+#line 713 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr user(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("user", user);
     ctx.leave();
 }
-#line 1415 "dhcp6_parser.cc"
+#line 1411 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 191:
 #line 718 "dhcp6_parser.yy"
+=======
+  case 192:
+#line 719 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 1423 "dhcp6_parser.cc"
+#line 1419 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 192:
 #line 720 "dhcp6_parser.yy"
+=======
+  case 193:
+#line 721 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr pwd(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("password", pwd);
     ctx.leave();
 }
-#line 1433 "dhcp6_parser.cc"
+#line 1429 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 193:
 #line 726 "dhcp6_parser.yy"
+=======
+  case 194:
+#line 727 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 1441 "dhcp6_parser.cc"
+#line 1437 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 194:
 #line 728 "dhcp6_parser.yy"
+=======
+  case 195:
+#line 729 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr h(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("host", h);
     ctx.leave();
 }
-#line 1451 "dhcp6_parser.cc"
+#line 1447 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 195:
 #line 734 "dhcp6_parser.yy"
+=======
+  case 196:
+#line 735 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr p(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr p(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("port", p);
 }
-#line 1460 "dhcp6_parser.cc"
+#line 1456 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 196:
 #line 739 "dhcp6_parser.yy"
+=======
+  case 197:
+#line 740 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 1468 "dhcp6_parser.cc"
+#line 1464 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 197:
 #line 741 "dhcp6_parser.yy"
+=======
+  case 198:
+#line 742 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("name", name);
     ctx.leave();
 }
-#line 1478 "dhcp6_parser.cc"
+#line 1474 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 198:
 #line 747 "dhcp6_parser.yy"
+=======
+  case 199:
+#line 748 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("persist", n);
 }
-#line 1487 "dhcp6_parser.cc"
+#line 1483 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 199:
 #line 752 "dhcp6_parser.yy"
+=======
+  case 200:
+#line 753 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("lfc-interval", n);
 }
-#line 1496 "dhcp6_parser.cc"
+#line 1492 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 200:
 #line 757 "dhcp6_parser.yy"
+=======
+  case 201:
+#line 758 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("readonly", n);
 }
-#line 1505 "dhcp6_parser.cc"
+#line 1501 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 201:
 #line 762 "dhcp6_parser.yy"
+=======
+  case 202:
+#line 763 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("connect-timeout", n);
 }
-#line 1514 "dhcp6_parser.cc"
+#line 1510 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 202:
 #line 767 "dhcp6_parser.yy"
+=======
+  case 203:
+#line 768 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("reconnect-wait-time", n);
 }
-#line 1523 "dhcp6_parser.cc"
+#line 1519 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 203:
 #line 772 "dhcp6_parser.yy"
+=======
+  case 204:
+#line 773 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ctx.stack_.back()->set("max-row-errors", n);
+}
+#line 1528 "dhcp6_parser.cc" // lalr1.cc:907
+    break;
+
+  case 205:
+#line 778 "dhcp6_parser.yy" // lalr1.cc:907
+    {
+    ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("request-timeout", n);
 }
-#line 1532 "dhcp6_parser.cc"
+#line 1537 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 204:
 #line 777 "dhcp6_parser.yy"
+=======
+  case 206:
+#line 783 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("tcp-keepalive", n);
 }
-#line 1541 "dhcp6_parser.cc"
+#line 1546 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 205:
 #line 782 "dhcp6_parser.yy"
+=======
+  case 207:
+#line 788 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("tcp-nodelay", n);
 }
-#line 1550 "dhcp6_parser.cc"
+#line 1555 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 206:
 #line 787 "dhcp6_parser.yy"
+=======
+  case 208:
+#line 793 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 1558 "dhcp6_parser.cc"
+#line 1563 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 207:
 #line 789 "dhcp6_parser.yy"
+=======
+  case 209:
+#line 795 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr cp(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr cp(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("contact-points", cp);
     ctx.leave();
 }
-#line 1568 "dhcp6_parser.cc"
+#line 1573 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 208:
 #line 795 "dhcp6_parser.yy"
+=======
+  case 210:
+#line 801 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("max-reconnect-tries", n);
 }
-#line 1577 "dhcp6_parser.cc"
+#line 1582 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 209:
 #line 800 "dhcp6_parser.yy"
+=======
+  case 211:
+#line 806 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 1585 "dhcp6_parser.cc"
+#line 1590 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 210:
 #line 802 "dhcp6_parser.yy"
+=======
+  case 212:
+#line 808 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr ks(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr ks(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("keyspace", ks);
     ctx.leave();
 }
-#line 1595 "dhcp6_parser.cc"
+#line 1600 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 211:
 #line 808 "dhcp6_parser.yy"
+=======
+  case 213:
+#line 814 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 1603 "dhcp6_parser.cc"
+#line 1608 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 212:
 #line 810 "dhcp6_parser.yy"
+=======
+  case 214:
+#line 816 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr c(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("consistency", c);
     ctx.leave();
 }
-#line 1613 "dhcp6_parser.cc"
+#line 1618 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 213:
 #line 816 "dhcp6_parser.yy"
+=======
+  case 215:
+#line 822 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 1621 "dhcp6_parser.cc"
+#line 1626 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 214:
 #line 818 "dhcp6_parser.yy"
+=======
+  case 216:
+#line 824 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr c(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("serial-consistency", c);
     ctx.leave();
 }
-#line 1631 "dhcp6_parser.cc"
+#line 1636 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 215:
 #line 824 "dhcp6_parser.yy"
+=======
+  case 217:
+#line 830 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("sanity-checks", m);
     ctx.stack_.push_back(m);
     ctx.enter(ctx.SANITY_CHECKS);
 }
-#line 1642 "dhcp6_parser.cc"
+#line 1647 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 216:
 #line 829 "dhcp6_parser.yy"
+=======
+  case 218:
+#line 835 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1651 "dhcp6_parser.cc"
+#line 1656 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 220:
 #line 839 "dhcp6_parser.yy"
+=======
+  case 222:
+#line 845 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 1659 "dhcp6_parser.cc"
+#line 1664 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 221:
 #line 841 "dhcp6_parser.yy"
+=======
+  case 223:
+#line 847 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
 
-    if ( (string(yystack_[0].value.as < std::string > ()) == "none") ||
-         (string(yystack_[0].value.as < std::string > ()) == "warn") ||
-         (string(yystack_[0].value.as < std::string > ()) == "fix") ||
-         (string(yystack_[0].value.as < std::string > ()) == "fix-del") ||
-         (string(yystack_[0].value.as < std::string > ()) == "del")) {
-        ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    if ( (string(yystack_[0].value.as< std::string > ()) == "none") ||
+         (string(yystack_[0].value.as< std::string > ()) == "warn") ||
+         (string(yystack_[0].value.as< std::string > ()) == "fix") ||
+         (string(yystack_[0].value.as< std::string > ()) == "fix-del") ||
+         (string(yystack_[0].value.as< std::string > ()) == "del")) {
+        ElementPtr user(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
         ctx.stack_.back()->set("lease-checks", user);
         ctx.leave();
     } else {
-        error(yystack_[0].location, "Unsupported 'lease-checks value: " + string(yystack_[0].value.as < std::string > ()) +
+        error(yystack_[0].location, "Unsupported 'lease-checks value: " + string(yystack_[0].value.as< std::string > ()) +
               ", supported values are: none, warn, fix, fix-del, del");
     }
 }
-#line 1679 "dhcp6_parser.cc"
+#line 1684 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 222:
 #line 857 "dhcp6_parser.yy"
+=======
+  case 224:
+#line 863 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("mac-sources", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.MAC_SOURCES);
 }
-#line 1690 "dhcp6_parser.cc"
+#line 1695 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 223:
 #line 862 "dhcp6_parser.yy"
+=======
+  case 225:
+#line 868 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1699 "dhcp6_parser.cc"
+#line 1704 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 228:
 #line 875 "dhcp6_parser.yy"
+=======
+  case 230:
+#line 881 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(duid);
 }
-#line 1708 "dhcp6_parser.cc"
+#line 1713 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 229:
 #line 880 "dhcp6_parser.yy"
+=======
+  case 231:
+#line 886 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr duid(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr duid(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(duid);
 }
-#line 1717 "dhcp6_parser.cc"
+#line 1722 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 230:
 #line 885 "dhcp6_parser.yy"
+=======
+  case 232:
+#line 891 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("host-reservation-identifiers", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.HOST_RESERVATION_IDENTIFIERS);
 }
-#line 1728 "dhcp6_parser.cc"
+#line 1733 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 231:
 #line 890 "dhcp6_parser.yy"
+=======
+  case 233:
+#line 896 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1737 "dhcp6_parser.cc"
+#line 1742 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 237:
 #line 904 "dhcp6_parser.yy"
+=======
+  case 239:
+#line 910 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(hwaddr);
 }
-#line 1746 "dhcp6_parser.cc"
+#line 1751 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 238:
 #line 909 "dhcp6_parser.yy"
+=======
+  case 240:
+#line 915 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(flex_id);
 }
-#line 1755 "dhcp6_parser.cc"
+#line 1760 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 239:
 #line 916 "dhcp6_parser.yy"
+=======
+  case 241:
+#line 922 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("relay-supplied-options", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 1766 "dhcp6_parser.cc"
+#line 1771 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 240:
 #line 921 "dhcp6_parser.yy"
+=======
+  case 242:
+#line 927 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1775 "dhcp6_parser.cc"
+#line 1780 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 241:
 #line 926 "dhcp6_parser.yy"
+=======
+  case 243:
+#line 932 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hooks-libraries", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.HOOKS_LIBRARIES);
 }
-#line 1786 "dhcp6_parser.cc"
+#line 1791 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 242:
 #line 931 "dhcp6_parser.yy"
+=======
+  case 244:
+#line 937 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1795 "dhcp6_parser.cc"
+#line 1800 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 247:
 #line 944 "dhcp6_parser.yy"
+=======
+  case 249:
+#line 950 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 1805 "dhcp6_parser.cc"
+#line 1810 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 248:
 #line 948 "dhcp6_parser.yy"
+=======
+  case 250:
+#line 954 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // The library hooks parameter is required
     ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
     ctx.stack_.pop_back();
 }
-#line 1815 "dhcp6_parser.cc"
+#line 1820 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 249:
 #line 954 "dhcp6_parser.yy"
+=======
+  case 251:
+#line 960 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // Parse the hooks-libraries list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
-#line 1825 "dhcp6_parser.cc"
+#line 1830 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 250:
 #line 958 "dhcp6_parser.yy"
+=======
+  case 252:
+#line 964 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // The library hooks parameter is required
     ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
     // parsing completed
 }
-#line 1835 "dhcp6_parser.cc"
+#line 1840 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 256:
 #line 973 "dhcp6_parser.yy"
+=======
+  case 258:
+#line 979 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 1843 "dhcp6_parser.cc"
+#line 1848 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 257:
 #line 975 "dhcp6_parser.yy"
+=======
+  case 259:
+#line 981 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr lib(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("library", lib);
     ctx.leave();
 }
-#line 1853 "dhcp6_parser.cc"
+#line 1858 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 258:
 #line 981 "dhcp6_parser.yy"
+=======
+  case 260:
+#line 987 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 1861 "dhcp6_parser.cc"
+#line 1866 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 259:
 #line 983 "dhcp6_parser.yy"
+=======
+  case 261:
+#line 989 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ());
+    ctx.stack_.back()->set("parameters", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
 }
-#line 1870 "dhcp6_parser.cc"
+#line 1875 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 260:
 #line 989 "dhcp6_parser.yy"
+=======
+  case 262:
+#line 995 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("expired-leases-processing", m);
     ctx.stack_.push_back(m);
     ctx.enter(ctx.EXPIRED_LEASES_PROCESSING);
 }
-#line 1881 "dhcp6_parser.cc"
+#line 1886 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 261:
 #line 994 "dhcp6_parser.yy"
+=======
+  case 263:
+#line 1000 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // No expired lease parameter is required
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1891 "dhcp6_parser.cc"
+#line 1896 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 270:
 #line 1012 "dhcp6_parser.yy"
+=======
+  case 272:
+#line 1018 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("reclaim-timer-wait-time", value);
 }
-#line 1900 "dhcp6_parser.cc"
+#line 1905 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 271:
 #line 1017 "dhcp6_parser.yy"
+=======
+  case 273:
+#line 1023 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("flush-reclaimed-timer-wait-time", value);
 }
-#line 1909 "dhcp6_parser.cc"
+#line 1914 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 272:
 #line 1022 "dhcp6_parser.yy"
+=======
+  case 274:
+#line 1028 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hold-reclaimed-time", value);
 }
-#line 1918 "dhcp6_parser.cc"
+#line 1923 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 273:
 #line 1027 "dhcp6_parser.yy"
+=======
+  case 275:
+#line 1033 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("max-reclaim-leases", value);
 }
-#line 1927 "dhcp6_parser.cc"
+#line 1932 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 274:
 #line 1032 "dhcp6_parser.yy"
+=======
+  case 276:
+#line 1038 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("max-reclaim-time", value);
 }
-#line 1936 "dhcp6_parser.cc"
+#line 1941 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 275:
 #line 1037 "dhcp6_parser.yy"
+=======
+  case 277:
+#line 1043 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("unwarned-reclaim-cycles", value);
 }
-#line 1945 "dhcp6_parser.cc"
+#line 1950 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 276:
 #line 1045 "dhcp6_parser.yy"
+=======
+  case 278:
+#line 1051 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("subnet6", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.SUBNET6);
 }
-#line 1956 "dhcp6_parser.cc"
+#line 1961 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 277:
 #line 1050 "dhcp6_parser.yy"
+=======
+  case 279:
+#line 1056 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1965 "dhcp6_parser.cc"
+#line 1970 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 282:
 #line 1070 "dhcp6_parser.yy"
+=======
+  case 284:
+#line 1076 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 1975 "dhcp6_parser.cc"
+#line 1980 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 283:
 #line 1074 "dhcp6_parser.yy"
+=======
+  case 285:
+#line 1080 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // Once we reached this place, the subnet parsing is now complete.
     // If we want to, we can implement default values here.
@@ -1997,138 +2756,209 @@ namespace isc { namespace dhcp {
     ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
     ctx.stack_.pop_back();
 }
-#line 2001 "dhcp6_parser.cc"
+#line 2006 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 284:
 #line 1096 "dhcp6_parser.yy"
+=======
+  case 286:
+#line 1102 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // Parse the subnet6 list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
-#line 2011 "dhcp6_parser.cc"
+#line 2016 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 285:
 #line 1100 "dhcp6_parser.yy"
+=======
+  case 287:
+#line 1106 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // The subnet subnet6 parameter is required
     ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
     // parsing completed
 }
-#line 2021 "dhcp6_parser.cc"
+#line 2026 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 315:
 #line 1141 "dhcp6_parser.yy"
+=======
+  case 317:
+#line 1147 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 2029 "dhcp6_parser.cc"
+#line 2034 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 316:
 #line 1143 "dhcp6_parser.yy"
+=======
+  case 318:
+#line 1149 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr subnet(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("subnet", subnet);
     ctx.leave();
 }
-#line 2039 "dhcp6_parser.cc"
+#line 2044 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 317:
 #line 1149 "dhcp6_parser.yy"
+=======
+  case 319:
+#line 1155 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 2047 "dhcp6_parser.cc"
+#line 2052 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 318:
 #line 1151 "dhcp6_parser.yy"
+=======
+  case 320:
+#line 1157 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("interface", iface);
     ctx.leave();
 }
-#line 2057 "dhcp6_parser.cc"
+#line 2062 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 319:
 #line 1157 "dhcp6_parser.yy"
+=======
+  case 321:
+#line 1163 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 2065 "dhcp6_parser.cc"
+#line 2070 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 320:
 #line 1159 "dhcp6_parser.yy"
+=======
+  case 322:
+#line 1165 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("interface-id", iface);
     ctx.leave();
 }
-#line 2075 "dhcp6_parser.cc"
+#line 2080 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 321:
 #line 1165 "dhcp6_parser.yy"
+=======
+  case 323:
+#line 1171 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 2083 "dhcp6_parser.cc"
+#line 2088 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 322:
 #line 1167 "dhcp6_parser.yy"
+=======
+  case 324:
+#line 1173 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr cls(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr cls(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-class", cls);
     ctx.leave();
 }
-#line 2093 "dhcp6_parser.cc"
+#line 2098 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 323:
 #line 1173 "dhcp6_parser.yy"
+=======
+  case 325:
+#line 1179 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("require-client-classes", c);
     ctx.stack_.push_back(c);
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 2104 "dhcp6_parser.cc"
+#line 2109 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 324:
 #line 1178 "dhcp6_parser.yy"
+=======
+  case 326:
+#line 1184 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 2113 "dhcp6_parser.cc"
+#line 2118 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 325:
 #line 1183 "dhcp6_parser.yy"
+=======
+  case 327:
+#line 1189 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.RESERVATION_MODE);
 }
-#line 2121 "dhcp6_parser.cc"
+#line 2126 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 326:
 #line 1185 "dhcp6_parser.yy"
+=======
+  case 328:
+#line 1191 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as < ElementPtr > ());
+    ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
 }
-#line 2130 "dhcp6_parser.cc"
+#line 2135 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 327:
 #line 1190 "dhcp6_parser.yy"
     { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); }
@@ -2155,109 +2985,192 @@ namespace isc { namespace dhcp {
 
   case 331:
 #line 1196 "dhcp6_parser.yy"
+=======
+  case 329:
+#line 1196 "dhcp6_parser.yy" // lalr1.cc:907
+    { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); }
+#line 2141 "dhcp6_parser.cc" // lalr1.cc:907
+    break;
+
+  case 330:
+#line 1197 "dhcp6_parser.yy" // lalr1.cc:907
+    { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); }
+#line 2147 "dhcp6_parser.cc" // lalr1.cc:907
+    break;
+
+  case 331:
+#line 1198 "dhcp6_parser.yy" // lalr1.cc:907
+    { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); }
+#line 2153 "dhcp6_parser.cc" // lalr1.cc:907
+    break;
+
+  case 332:
+#line 1199 "dhcp6_parser.yy" // lalr1.cc:907
+    { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); }
+#line 2159 "dhcp6_parser.cc" // lalr1.cc:907
+    break;
+
+  case 333:
+#line 1202 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr id(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("id", id);
 }
-#line 2163 "dhcp6_parser.cc"
+#line 2168 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 332:
 #line 1201 "dhcp6_parser.yy"
+=======
+  case 334:
+#line 1207 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr rc(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr rc(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("rapid-commit", rc);
 }
-#line 2172 "dhcp6_parser.cc"
+#line 2177 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 333:
 #line 1209 "dhcp6_parser.yy"
+=======
+  case 335:
+#line 1215 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("shared-networks", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.SHARED_NETWORK);
 }
-#line 2183 "dhcp6_parser.cc"
+#line 2188 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 334:
 #line 1214 "dhcp6_parser.yy"
+=======
+  case 336:
+#line 1220 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 2192 "dhcp6_parser.cc"
+#line 2197 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 339:
 #line 1229 "dhcp6_parser.yy"
+=======
+  case 341:
+#line 1235 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 2202 "dhcp6_parser.cc"
+#line 2207 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 340:
 #line 1233 "dhcp6_parser.yy"
+=======
+  case 342:
+#line 1239 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
 }
-#line 2210 "dhcp6_parser.cc"
+#line 2215 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 367:
 #line 1271 "dhcp6_parser.yy"
+=======
+  case 369:
+#line 1277 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("option-def", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.OPTION_DEF);
 }
-#line 2221 "dhcp6_parser.cc"
+#line 2226 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 368:
 #line 1276 "dhcp6_parser.yy"
+=======
+  case 370:
+#line 1282 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 2230 "dhcp6_parser.cc"
+#line 2235 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 369:
 #line 1284 "dhcp6_parser.yy"
+=======
+  case 371:
+#line 1290 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
-#line 2239 "dhcp6_parser.cc"
+#line 2244 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 370:
 #line 1287 "dhcp6_parser.yy"
+=======
+  case 372:
+#line 1293 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // parsing completed
 }
-#line 2247 "dhcp6_parser.cc"
+#line 2252 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 375:
 #line 1303 "dhcp6_parser.yy"
+=======
+  case 377:
+#line 1309 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 2257 "dhcp6_parser.cc"
+#line 2262 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 376:
 #line 1307 "dhcp6_parser.yy"
+=======
+  case 378:
+#line 1313 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // The name, code and type option def parameters are required.
     ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2265,21 +3178,31 @@ namespace isc { namespace dhcp {
     ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
     ctx.stack_.pop_back();
 }
-#line 2269 "dhcp6_parser.cc"
+#line 2274 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 377:
 #line 1318 "dhcp6_parser.yy"
+=======
+  case 379:
+#line 1324 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // Parse the option-def list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
-#line 2279 "dhcp6_parser.cc"
+#line 2284 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 378:
 #line 1322 "dhcp6_parser.yy"
+=======
+  case 380:
+#line 1328 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // The name, code and type option def parameters are required.
     ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2287,283 +3210,433 @@ namespace isc { namespace dhcp {
     ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
     // parsing completed
 }
-#line 2291 "dhcp6_parser.cc"
+#line 2296 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 394:
 #line 1354 "dhcp6_parser.yy"
+=======
+  case 396:
+#line 1360 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr code(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr code(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("code", code);
 }
-#line 2300 "dhcp6_parser.cc"
+#line 2305 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 396:
 #line 1361 "dhcp6_parser.yy"
+=======
+  case 398:
+#line 1367 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 2308 "dhcp6_parser.cc"
+#line 2313 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 397:
 #line 1363 "dhcp6_parser.yy"
+=======
+  case 399:
+#line 1369 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("type", prf);
     ctx.leave();
 }
-#line 2318 "dhcp6_parser.cc"
+#line 2323 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 398:
 #line 1369 "dhcp6_parser.yy"
+=======
+  case 400:
+#line 1375 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 2326 "dhcp6_parser.cc"
+#line 2331 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 399:
 #line 1371 "dhcp6_parser.yy"
+=======
+  case 401:
+#line 1377 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr rtypes(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr rtypes(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("record-types", rtypes);
     ctx.leave();
 }
-#line 2336 "dhcp6_parser.cc"
+#line 2341 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 400:
 #line 1377 "dhcp6_parser.yy"
+=======
+  case 402:
+#line 1383 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 2344 "dhcp6_parser.cc"
+#line 2349 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 401:
 #line 1379 "dhcp6_parser.yy"
+=======
+  case 403:
+#line 1385 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr space(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("space", space);
     ctx.leave();
 }
-#line 2354 "dhcp6_parser.cc"
+#line 2359 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 403:
 #line 1387 "dhcp6_parser.yy"
+=======
+  case 405:
+#line 1393 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 2362 "dhcp6_parser.cc"
+#line 2367 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 404:
 #line 1389 "dhcp6_parser.yy"
+=======
+  case 406:
+#line 1395 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr encap(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("encapsulate", encap);
     ctx.leave();
 }
-#line 2372 "dhcp6_parser.cc"
+#line 2377 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 405:
 #line 1395 "dhcp6_parser.yy"
+=======
+  case 407:
+#line 1401 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr array(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr array(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("array", array);
 }
-#line 2381 "dhcp6_parser.cc"
+#line 2386 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 406:
 #line 1404 "dhcp6_parser.yy"
+=======
+  case 408:
+#line 1410 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("option-data", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.OPTION_DATA);
 }
-#line 2392 "dhcp6_parser.cc"
+#line 2397 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 407:
 #line 1409 "dhcp6_parser.yy"
+=======
+  case 409:
+#line 1415 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 2401 "dhcp6_parser.cc"
+#line 2406 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 412:
 #line 1428 "dhcp6_parser.yy"
+=======
+  case 414:
+#line 1434 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 2411 "dhcp6_parser.cc"
+#line 2416 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 413:
 #line 1432 "dhcp6_parser.yy"
+=======
+  case 415:
+#line 1438 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     /// @todo: the code or name parameters are required.
     ctx.stack_.pop_back();
 }
-#line 2420 "dhcp6_parser.cc"
+#line 2425 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 414:
 #line 1440 "dhcp6_parser.yy"
+=======
+  case 416:
+#line 1446 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // Parse the option-data list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
-#line 2430 "dhcp6_parser.cc"
+#line 2435 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 415:
 #line 1444 "dhcp6_parser.yy"
+=======
+  case 417:
+#line 1450 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     /// @todo: the code or name parameters are required.
     // parsing completed
 }
-#line 2439 "dhcp6_parser.cc"
+#line 2444 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 430:
 #line 1477 "dhcp6_parser.yy"
+=======
+  case 432:
+#line 1483 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 2447 "dhcp6_parser.cc"
+#line 2452 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 431:
 #line 1479 "dhcp6_parser.yy"
+=======
+  case 433:
+#line 1485 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr data(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("data", data);
     ctx.leave();
 }
-#line 2457 "dhcp6_parser.cc"
+#line 2462 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 434:
 #line 1489 "dhcp6_parser.yy"
+=======
+  case 436:
+#line 1495 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr space(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr space(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("csv-format", space);
 }
-#line 2466 "dhcp6_parser.cc"
+#line 2471 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 435:
 #line 1494 "dhcp6_parser.yy"
+=======
+  case 437:
+#line 1500 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr persist(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr persist(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("always-send", persist);
 }
-#line 2475 "dhcp6_parser.cc"
+#line 2480 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 436:
 #line 1502 "dhcp6_parser.yy"
+=======
+  case 438:
+#line 1508 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pools", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.POOLS);
 }
-#line 2486 "dhcp6_parser.cc"
+#line 2491 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 437:
 #line 1507 "dhcp6_parser.yy"
+=======
+  case 439:
+#line 1513 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 2495 "dhcp6_parser.cc"
+#line 2500 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 442:
 #line 1522 "dhcp6_parser.yy"
+=======
+  case 444:
+#line 1528 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 2505 "dhcp6_parser.cc"
+#line 2510 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 443:
 #line 1526 "dhcp6_parser.yy"
+=======
+  case 445:
+#line 1532 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // The pool parameter is required.
     ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
     ctx.stack_.pop_back();
 }
-#line 2515 "dhcp6_parser.cc"
+#line 2520 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 444:
 #line 1532 "dhcp6_parser.yy"
+=======
+  case 446:
+#line 1538 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // Parse the pool list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
-#line 2525 "dhcp6_parser.cc"
+#line 2530 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 445:
 #line 1536 "dhcp6_parser.yy"
+=======
+  case 447:
+#line 1542 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // The pool parameter is required.
     ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
 }
-#line 2534 "dhcp6_parser.cc"
+#line 2539 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 455:
 #line 1554 "dhcp6_parser.yy"
+=======
+  case 457:
+#line 1560 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 2542 "dhcp6_parser.cc"
+#line 2547 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 456:
 #line 1556 "dhcp6_parser.yy"
+=======
+  case 458:
+#line 1562 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr pool(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pool", pool);
     ctx.leave();
 }
-#line 2552 "dhcp6_parser.cc"
+#line 2557 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 457:
 #line 1562 "dhcp6_parser.yy"
+=======
+  case 459:
+#line 1568 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 2560 "dhcp6_parser.cc"
+#line 2565 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 458:
 #line 1564 "dhcp6_parser.yy"
+=======
+  case 460:
+#line 1570 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr parent = ctx.stack_.back();
-    ElementPtr user_context = yystack_[0].value.as < ElementPtr > ();
+    ElementPtr user_context = yystack_[0].value.as< ElementPtr > ();
     ConstElementPtr old = parent->get("user-context");
 
     // Handle already existing user context
@@ -2583,23 +3656,33 @@ namespace isc { namespace dhcp {
     parent->set("user-context", user_context);
     ctx.leave();
 }
-#line 2587 "dhcp6_parser.cc"
+#line 2592 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 459:
 #line 1587 "dhcp6_parser.yy"
+=======
+  case 461:
+#line 1593 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 2595 "dhcp6_parser.cc"
+#line 2600 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 460:
 #line 1589 "dhcp6_parser.yy"
+=======
+  case 462:
+#line 1595 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr parent = ctx.stack_.back();
     ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location)));
-    ElementPtr comment(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr comment(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     user_context->set("comment", comment);
 
     // Handle already existing user context
@@ -2620,41 +3703,61 @@ namespace isc { namespace dhcp {
     parent->set("user-context", user_context);
     ctx.leave();
 }
-#line 2624 "dhcp6_parser.cc"
+#line 2629 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 461:
 #line 1617 "dhcp6_parser.yy"
+=======
+  case 463:
+#line 1623 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("pd-pools", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.PD_POOLS);
 }
-#line 2635 "dhcp6_parser.cc"
+#line 2640 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 462:
 #line 1622 "dhcp6_parser.yy"
+=======
+  case 464:
+#line 1628 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 2644 "dhcp6_parser.cc"
+#line 2649 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 467:
 #line 1637 "dhcp6_parser.yy"
+=======
+  case 469:
+#line 1643 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 2654 "dhcp6_parser.cc"
+#line 2659 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 468:
 #line 1641 "dhcp6_parser.yy"
+=======
+  case 470:
+#line 1647 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // The prefix, prefix len and delegated len parameters are required.
     ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2662,21 +3765,31 @@ namespace isc { namespace dhcp {
     ctx.require("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
     ctx.stack_.pop_back();
 }
-#line 2666 "dhcp6_parser.cc"
+#line 2671 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 469:
 #line 1649 "dhcp6_parser.yy"
+=======
+  case 471:
+#line 1655 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // Parse the pd-pool list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
-#line 2676 "dhcp6_parser.cc"
+#line 2681 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 470:
 #line 1653 "dhcp6_parser.yy"
+=======
+  case 472:
+#line 1659 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // The prefix, prefix len and delegated len parameters are required.
     ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
@@ -2684,406 +3797,617 @@ namespace isc { namespace dhcp {
     ctx.require("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
     // parsing completed
 }
-#line 2688 "dhcp6_parser.cc"
+#line 2693 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 484:
 #line 1678 "dhcp6_parser.yy"
+=======
+  case 486:
+#line 1684 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 2696 "dhcp6_parser.cc"
+#line 2701 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 485:
 #line 1680 "dhcp6_parser.yy"
+=======
+  case 487:
+#line 1686 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("prefix", prf);
     ctx.leave();
 }
-#line 2706 "dhcp6_parser.cc"
+#line 2711 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 486:
 #line 1686 "dhcp6_parser.yy"
+=======
+  case 488:
+#line 1692 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("prefix-len", prf);
 }
-#line 2715 "dhcp6_parser.cc"
+#line 2720 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 487:
 #line 1691 "dhcp6_parser.yy"
+=======
+  case 489:
+#line 1697 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 2723 "dhcp6_parser.cc"
+#line 2728 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 488:
 #line 1693 "dhcp6_parser.yy"
+=======
+  case 490:
+#line 1699 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("excluded-prefix", prf);
     ctx.leave();
 }
-#line 2733 "dhcp6_parser.cc"
+#line 2738 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 489:
 #line 1699 "dhcp6_parser.yy"
+=======
+  case 491:
+#line 1705 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("excluded-prefix-len", prf);
 }
-#line 2742 "dhcp6_parser.cc"
+#line 2747 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 490:
 #line 1704 "dhcp6_parser.yy"
+=======
+  case 492:
+#line 1710 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr deleg(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr deleg(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("delegated-len", deleg);
 }
-#line 2751 "dhcp6_parser.cc"
+#line 2756 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 491:
 #line 1712 "dhcp6_parser.yy"
+=======
+  case 493:
+#line 1718 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("reservations", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.RESERVATIONS);
 }
-#line 2762 "dhcp6_parser.cc"
+#line 2767 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 492:
 #line 1717 "dhcp6_parser.yy"
+=======
+  case 494:
+#line 1723 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 2771 "dhcp6_parser.cc"
+#line 2776 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 497:
 #line 1730 "dhcp6_parser.yy"
+=======
+  case 499:
+#line 1736 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 2781 "dhcp6_parser.cc"
+#line 2786 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 498:
 #line 1734 "dhcp6_parser.yy"
+=======
+  case 500:
+#line 1740 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     /// @todo: an identifier parameter is required.
     ctx.stack_.pop_back();
 }
-#line 2790 "dhcp6_parser.cc"
+#line 2795 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 499:
 #line 1739 "dhcp6_parser.yy"
+=======
+  case 501:
+#line 1745 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // Parse the reservations list entry map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
-#line 2800 "dhcp6_parser.cc"
+#line 2805 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 500:
 #line 1743 "dhcp6_parser.yy"
+=======
+  case 502:
+#line 1749 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     /// @todo: an identifier parameter is required.
     // parsing completed
 }
-#line 2809 "dhcp6_parser.cc"
+#line 2814 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 516:
 #line 1770 "dhcp6_parser.yy"
+=======
+  case 518:
+#line 1776 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ip-addresses", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 2820 "dhcp6_parser.cc"
+#line 2825 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 517:
 #line 1775 "dhcp6_parser.yy"
+=======
+  case 519:
+#line 1781 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 2829 "dhcp6_parser.cc"
+#line 2834 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 518:
 #line 1780 "dhcp6_parser.yy"
+=======
+  case 520:
+#line 1786 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("prefixes", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 2840 "dhcp6_parser.cc"
+#line 2845 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 519:
 #line 1785 "dhcp6_parser.yy"
+=======
+  case 521:
+#line 1791 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 2849 "dhcp6_parser.cc"
+#line 2854 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 520:
 #line 1790 "dhcp6_parser.yy"
+=======
+  case 522:
+#line 1796 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 2857 "dhcp6_parser.cc"
+#line 2862 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 521:
 #line 1792 "dhcp6_parser.yy"
+=======
+  case 523:
+#line 1798 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr d(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("duid", d);
     ctx.leave();
 }
-#line 2867 "dhcp6_parser.cc"
+#line 2872 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 522:
 #line 1798 "dhcp6_parser.yy"
+=======
+  case 524:
+#line 1804 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 2875 "dhcp6_parser.cc"
+#line 2880 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 523:
 #line 1800 "dhcp6_parser.yy"
+=======
+  case 525:
+#line 1806 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hw-address", hw);
     ctx.leave();
 }
-#line 2885 "dhcp6_parser.cc"
+#line 2890 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 524:
 #line 1806 "dhcp6_parser.yy"
+=======
+  case 526:
+#line 1812 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 2893 "dhcp6_parser.cc"
+#line 2898 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 525:
 #line 1808 "dhcp6_parser.yy"
+=======
+  case 527:
+#line 1814 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr host(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hostname", host);
     ctx.leave();
 }
-#line 2903 "dhcp6_parser.cc"
+#line 2908 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 526:
 #line 1814 "dhcp6_parser.yy"
+=======
+  case 528:
+#line 1820 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 2911 "dhcp6_parser.cc"
+#line 2916 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 527:
 #line 1816 "dhcp6_parser.yy"
+=======
+  case 529:
+#line 1822 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("flex-id", hw);
     ctx.leave();
 }
-#line 2921 "dhcp6_parser.cc"
+#line 2926 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 528:
 #line 1822 "dhcp6_parser.yy"
+=======
+  case 530:
+#line 1828 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-classes", c);
     ctx.stack_.push_back(c);
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 2932 "dhcp6_parser.cc"
+#line 2937 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 529:
 #line 1827 "dhcp6_parser.yy"
+=======
+  case 531:
+#line 1833 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 2941 "dhcp6_parser.cc"
+#line 2946 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 530:
 #line 1835 "dhcp6_parser.yy"
+=======
+  case 532:
+#line 1841 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("relay", m);
     ctx.stack_.push_back(m);
     ctx.enter(ctx.RELAY);
 }
-#line 2952 "dhcp6_parser.cc"
+#line 2957 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 531:
 #line 1840 "dhcp6_parser.yy"
+=======
+  case 533:
+#line 1846 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 2961 "dhcp6_parser.cc"
+#line 2966 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 534:
 #line 1849 "dhcp6_parser.yy"
+=======
+  case 536:
+#line 1855 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 2969 "dhcp6_parser.cc"
+#line 2974 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 535:
 #line 1851 "dhcp6_parser.yy"
+=======
+  case 537:
+#line 1857 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr addr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr addr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ip-address", addr);
     ctx.leave();
 }
-#line 2979 "dhcp6_parser.cc"
+#line 2984 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 536:
 #line 1860 "dhcp6_parser.yy"
+=======
+  case 538:
+#line 1866 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("client-classes", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.CLIENT_CLASSES);
 }
-#line 2990 "dhcp6_parser.cc"
+#line 2995 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 537:
 #line 1865 "dhcp6_parser.yy"
+=======
+  case 539:
+#line 1871 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 2999 "dhcp6_parser.cc"
+#line 3004 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 540:
 #line 1874 "dhcp6_parser.yy"
+=======
+  case 542:
+#line 1880 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 3009 "dhcp6_parser.cc"
+#line 3014 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 541:
 #line 1878 "dhcp6_parser.yy"
+=======
+  case 543:
+#line 1884 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // The name client class parameter is required.
     ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
     ctx.stack_.pop_back();
 }
-#line 3019 "dhcp6_parser.cc"
+#line 3024 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 554:
 #line 1903 "dhcp6_parser.yy"
+=======
+  case 556:
+#line 1909 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 3027 "dhcp6_parser.cc"
+#line 3032 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 555:
 #line 1905 "dhcp6_parser.yy"
+=======
+  case 557:
+#line 1911 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr test(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("test", test);
     ctx.leave();
 }
-#line 3037 "dhcp6_parser.cc"
+#line 3042 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 556:
 #line 1911 "dhcp6_parser.yy"
+=======
+  case 558:
+#line 1917 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("only-if-required", b);
 }
-#line 3046 "dhcp6_parser.cc"
+#line 3051 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 557:
 #line 1919 "dhcp6_parser.yy"
+=======
+  case 559:
+#line 1925 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-id", m);
     ctx.stack_.push_back(m);
     ctx.enter(ctx.SERVER_ID);
 }
-#line 3057 "dhcp6_parser.cc"
+#line 3062 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 558:
 #line 1924 "dhcp6_parser.yy"
+=======
+  case 560:
+#line 1930 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // The type parameter is required.
     ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 3068 "dhcp6_parser.cc"
+#line 3073 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 570:
 #line 1946 "dhcp6_parser.yy"
+=======
+  case 572:
+#line 1952 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.DUID_TYPE);
 }
-#line 3076 "dhcp6_parser.cc"
+#line 3081 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 571:
 #line 1948 "dhcp6_parser.yy"
+=======
+  case 573:
+#line 1954 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ());
+    ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
 }
-#line 3085 "dhcp6_parser.cc"
+#line 3090 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 572:
 #line 1953 "dhcp6_parser.yy"
     { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); }
@@ -3104,126 +4428,213 @@ namespace isc { namespace dhcp {
 
   case 575:
 #line 1958 "dhcp6_parser.yy"
+=======
+  case 574:
+#line 1959 "dhcp6_parser.yy" // lalr1.cc:907
+    { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); }
+#line 3096 "dhcp6_parser.cc" // lalr1.cc:907
+    break;
+
+  case 575:
+#line 1960 "dhcp6_parser.yy" // lalr1.cc:907
+    { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); }
+#line 3102 "dhcp6_parser.cc" // lalr1.cc:907
+    break;
+
+  case 576:
+#line 1961 "dhcp6_parser.yy" // lalr1.cc:907
+    { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); }
+#line 3108 "dhcp6_parser.cc" // lalr1.cc:907
+    break;
+
+  case 577:
+#line 1964 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr htype(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr htype(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("htype", htype);
 }
-#line 3112 "dhcp6_parser.cc"
+#line 3117 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 576:
 #line 1963 "dhcp6_parser.yy"
+=======
+  case 578:
+#line 1969 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 3120 "dhcp6_parser.cc"
+#line 3125 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 577:
 #line 1965 "dhcp6_parser.yy"
+=======
+  case 579:
+#line 1971 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr id(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr id(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("identifier", id);
     ctx.leave();
 }
-#line 3130 "dhcp6_parser.cc"
+#line 3135 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 578:
 #line 1971 "dhcp6_parser.yy"
+=======
+  case 580:
+#line 1977 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("time", time);
 }
-#line 3139 "dhcp6_parser.cc"
+#line 3144 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 579:
 #line 1976 "dhcp6_parser.yy"
+=======
+  case 581:
+#line 1982 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("enterprise-id", time);
 }
-#line 3148 "dhcp6_parser.cc"
+#line 3153 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 580:
 #line 1983 "dhcp6_parser.yy"
+=======
+  case 582:
+#line 1989 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("dhcp4o6-port", time);
 }
-#line 3157 "dhcp6_parser.cc"
+#line 3162 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 581:
 #line 1990 "dhcp6_parser.yy"
+=======
+  case 583:
+#line 1996 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("control-socket", m);
     ctx.stack_.push_back(m);
     ctx.enter(ctx.CONTROL_SOCKET);
 }
-#line 3168 "dhcp6_parser.cc"
+#line 3173 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 582:
 #line 1995 "dhcp6_parser.yy"
+=======
+  case 584:
+#line 2001 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 3177 "dhcp6_parser.cc"
+#line 3182 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 590:
 #line 2011 "dhcp6_parser.yy"
+=======
+  case 592:
+#line 2017 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 3185 "dhcp6_parser.cc"
+#line 3190 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 591:
 #line 2013 "dhcp6_parser.yy"
+=======
+  case 593:
+#line 2019 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr stype(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr stype(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("socket-type", stype);
     ctx.leave();
 }
-#line 3195 "dhcp6_parser.cc"
+#line 3200 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 592:
 #line 2019 "dhcp6_parser.yy"
+=======
+  case 594:
+#line 2025 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 3203 "dhcp6_parser.cc"
+#line 3208 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 593:
 #line 2021 "dhcp6_parser.yy"
+=======
+  case 595:
+#line 2027 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("socket-name", name);
     ctx.leave();
 }
-#line 3213 "dhcp6_parser.cc"
+#line 3218 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 594:
 #line 2029 "dhcp6_parser.yy"
+=======
+  case 596:
+#line 2035 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 3221 "dhcp6_parser.cc"
+#line 3226 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 595:
 #line 2031 "dhcp6_parser.yy"
+=======
+  case 597:
+#line 2037 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr qc = yystack_[0].value.as < ElementPtr > ();
+    ElementPtr qc = yystack_[0].value.as< ElementPtr > ();
     ctx.stack_.back()->set("dhcp-queue-control", qc);
 
     // Doing this manually, because dhcp-queue-control
@@ -3257,158 +4668,239 @@ namespace isc { namespace dhcp {
 
     ctx.leave();
 }
-#line 3261 "dhcp6_parser.cc"
+#line 3266 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 596:
 #line 2069 "dhcp6_parser.yy"
+=======
+  case 598:
+#line 2075 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("dhcp-ddns", m);
     ctx.stack_.push_back(m);
     ctx.enter(ctx.DHCP_DDNS);
 }
-#line 3272 "dhcp6_parser.cc"
+#line 3277 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 597:
 #line 2074 "dhcp6_parser.yy"
+=======
+  case 599:
+#line 2080 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // The enable updates DHCP DDNS parameter is required.
     ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 3283 "dhcp6_parser.cc"
+#line 3288 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 598:
 #line 2081 "dhcp6_parser.yy"
+=======
+  case 600:
+#line 2087 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // Parse the dhcp-ddns map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
-#line 3293 "dhcp6_parser.cc"
+#line 3298 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 599:
 #line 2085 "dhcp6_parser.yy"
+=======
+  case 601:
+#line 2091 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // The enable updates DHCP DDNS parameter is required.
     ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
     // parsing completed
 }
-#line 3303 "dhcp6_parser.cc"
+#line 3308 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 620:
 #line 2115 "dhcp6_parser.yy"
+=======
+  case 622:
+#line 2121 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("enable-updates", b);
 }
-#line 3312 "dhcp6_parser.cc"
+#line 3317 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 621:
 #line 2120 "dhcp6_parser.yy"
+=======
+  case 623:
+#line 2126 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 3320 "dhcp6_parser.cc"
+#line 3325 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 622:
 #line 2122 "dhcp6_parser.yy"
+=======
+  case 624:
+#line 2128 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("qualifying-suffix", s);
     ctx.leave();
 }
-#line 3330 "dhcp6_parser.cc"
+#line 3335 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 623:
 #line 2128 "dhcp6_parser.yy"
+=======
+  case 625:
+#line 2134 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 3338 "dhcp6_parser.cc"
+#line 3343 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 624:
 #line 2130 "dhcp6_parser.yy"
+=======
+  case 626:
+#line 2136 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-ip", s);
     ctx.leave();
 }
-#line 3348 "dhcp6_parser.cc"
+#line 3353 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 625:
 #line 2136 "dhcp6_parser.yy"
+=======
+  case 627:
+#line 2142 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("server-port", i);
 }
-#line 3357 "dhcp6_parser.cc"
+#line 3362 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 626:
 #line 2141 "dhcp6_parser.yy"
+=======
+  case 628:
+#line 2147 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 3365 "dhcp6_parser.cc"
+#line 3370 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 627:
 #line 2143 "dhcp6_parser.yy"
+=======
+  case 629:
+#line 2149 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("sender-ip", s);
     ctx.leave();
 }
-#line 3375 "dhcp6_parser.cc"
+#line 3380 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 628:
 #line 2149 "dhcp6_parser.yy"
+=======
+  case 630:
+#line 2155 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("sender-port", i);
 }
-#line 3384 "dhcp6_parser.cc"
+#line 3389 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 629:
 #line 2154 "dhcp6_parser.yy"
+=======
+  case 631:
+#line 2160 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("max-queue-size", i);
 }
-#line 3393 "dhcp6_parser.cc"
+#line 3398 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 630:
 #line 2159 "dhcp6_parser.yy"
+=======
+  case 632:
+#line 2165 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NCR_PROTOCOL);
 }
-#line 3401 "dhcp6_parser.cc"
+#line 3406 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 631:
 #line 2161 "dhcp6_parser.yy"
+=======
+  case 633:
+#line 2167 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ());
+    ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
 }
-#line 3410 "dhcp6_parser.cc"
+#line 3415 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 632:
 #line 2167 "dhcp6_parser.yy"
     { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
@@ -3423,456 +4915,717 @@ namespace isc { namespace dhcp {
 
   case 634:
 #line 2171 "dhcp6_parser.yy"
+=======
+  case 634:
+#line 2173 "dhcp6_parser.yy" // lalr1.cc:907
+    { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
+#line 3421 "dhcp6_parser.cc" // lalr1.cc:907
+    break;
+
+  case 635:
+#line 2174 "dhcp6_parser.yy" // lalr1.cc:907
+    { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
+#line 3427 "dhcp6_parser.cc" // lalr1.cc:907
+    break;
+
+  case 636:
+#line 2177 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NCR_FORMAT);
 }
-#line 3430 "dhcp6_parser.cc"
+#line 3435 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 635:
 #line 2173 "dhcp6_parser.yy"
+=======
+  case 637:
+#line 2179 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ncr-format", json);
     ctx.leave();
 }
-#line 3440 "dhcp6_parser.cc"
+#line 3445 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 636:
 #line 2179 "dhcp6_parser.yy"
+=======
+  case 638:
+#line 2185 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("override-no-update", b);
 }
-#line 3449 "dhcp6_parser.cc"
+#line 3454 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 637:
 #line 2184 "dhcp6_parser.yy"
+=======
+  case 639:
+#line 2190 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("override-client-update", b);
 }
-#line 3458 "dhcp6_parser.cc"
+#line 3463 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 638:
 #line 2189 "dhcp6_parser.yy"
+=======
+  case 640:
+#line 2195 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.REPLACE_CLIENT_NAME);
 }
-#line 3466 "dhcp6_parser.cc"
+#line 3471 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 639:
 #line 2191 "dhcp6_parser.yy"
+=======
+  case 641:
+#line 2197 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as < ElementPtr > ());
+    ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
 }
-#line 3475 "dhcp6_parser.cc"
+#line 3480 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 640:
 #line 2197 "dhcp6_parser.yy"
+=======
+  case 642:
+#line 2203 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-      yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location)));
+      yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location)));
       }
-#line 3483 "dhcp6_parser.cc"
+#line 3488 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 641:
 #line 2200 "dhcp6_parser.yy"
+=======
+  case 643:
+#line 2206 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-      yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
+      yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
       }
-#line 3491 "dhcp6_parser.cc"
+#line 3496 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 642:
 #line 2203 "dhcp6_parser.yy"
+=======
+  case 644:
+#line 2209 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-      yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
+      yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
       }
-#line 3499 "dhcp6_parser.cc"
+#line 3504 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 643:
 #line 2206 "dhcp6_parser.yy"
+=======
+  case 645:
+#line 2212 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-      yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
+      yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
       }
-#line 3507 "dhcp6_parser.cc"
+#line 3512 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 644:
 #line 2209 "dhcp6_parser.yy"
+=======
+  case 646:
+#line 2215 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
       error(yystack_[0].location, "boolean values for the replace-client-name are "
                 "no longer supported");
       }
-#line 3516 "dhcp6_parser.cc"
+#line 3521 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 645:
 #line 2215 "dhcp6_parser.yy"
+=======
+  case 647:
+#line 2221 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 3524 "dhcp6_parser.cc"
+#line 3529 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 646:
 #line 2217 "dhcp6_parser.yy"
+=======
+  case 648:
+#line 2223 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("generated-prefix", s);
     ctx.leave();
 }
-#line 3534 "dhcp6_parser.cc"
+#line 3539 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 647:
 #line 2223 "dhcp6_parser.yy"
+=======
+  case 649:
+#line 2229 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 3542 "dhcp6_parser.cc"
+#line 3547 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 648:
 #line 2225 "dhcp6_parser.yy"
+=======
+  case 650:
+#line 2231 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hostname-char-set", s);
     ctx.leave();
 }
-#line 3552 "dhcp6_parser.cc"
+#line 3557 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 649:
 #line 2231 "dhcp6_parser.yy"
+=======
+  case 651:
+#line 2237 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 3560 "dhcp6_parser.cc"
+#line 3565 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 650:
 #line 2233 "dhcp6_parser.yy"
+=======
+  case 652:
+#line 2239 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hostname-char-replacement", s);
     ctx.leave();
 }
-#line 3570 "dhcp6_parser.cc"
+#line 3575 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 651:
 #line 2241 "dhcp6_parser.yy"
+=======
+  case 653:
+#line 2247 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 3578 "dhcp6_parser.cc"
+#line 3583 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 652:
 #line 2243 "dhcp6_parser.yy"
+=======
+  case 654:
+#line 2249 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ctx.stack_.back()->set("Dhcp4", yystack_[0].value.as < ElementPtr > ());
+    ctx.stack_.back()->set("Dhcp4", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
 }
-#line 3587 "dhcp6_parser.cc"
+#line 3592 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 653:
 #line 2248 "dhcp6_parser.yy"
+=======
+  case 655:
+#line 2254 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 3595 "dhcp6_parser.cc"
+#line 3600 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 654:
 #line 2250 "dhcp6_parser.yy"
+=======
+  case 656:
+#line 2256 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as < ElementPtr > ());
+    ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
 }
-#line 3604 "dhcp6_parser.cc"
+#line 3609 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 655:
 #line 2255 "dhcp6_parser.yy"
+=======
+  case 657:
+#line 2261 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 3612 "dhcp6_parser.cc"
+#line 3617 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 656:
 #line 2257 "dhcp6_parser.yy"
+=======
+  case 658:
+#line 2263 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ctx.stack_.back()->set("Control-agent", yystack_[0].value.as < ElementPtr > ());
+    ctx.stack_.back()->set("Control-agent", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
 }
-#line 3621 "dhcp6_parser.cc"
+#line 3626 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 657:
 #line 2264 "dhcp6_parser.yy"
+=======
+  case 659:
+#line 2270 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("config-control", i);
     ctx.stack_.push_back(i);
     ctx.enter(ctx.CONFIG_CONTROL);
 }
-#line 3632 "dhcp6_parser.cc"
+#line 3637 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 658:
 #line 2269 "dhcp6_parser.yy"
+=======
+  case 660:
+#line 2275 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // No config control params are required
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 3642 "dhcp6_parser.cc"
+#line 3647 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 659:
 #line 2275 "dhcp6_parser.yy"
+=======
+  case 661:
+#line 2281 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // Parse the config-control map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
-#line 3652 "dhcp6_parser.cc"
+#line 3657 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 660:
 #line 2279 "dhcp6_parser.yy"
+=======
+  case 662:
+#line 2285 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // No config_control params are required
     // parsing completed
 }
-#line 3661 "dhcp6_parser.cc"
+#line 3666 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 665:
 #line 2294 "dhcp6_parser.yy"
+=======
+  case 667:
+#line 2300 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("config-databases", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.CONFIG_DATABASE);
 }
-#line 3672 "dhcp6_parser.cc"
+#line 3677 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 666:
 #line 2299 "dhcp6_parser.yy"
+=======
+  case 668:
+#line 2305 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 3681 "dhcp6_parser.cc"
+#line 3686 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 667:
 #line 2304 "dhcp6_parser.yy"
+=======
+  case 669:
+#line 2310 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("config-fetch-wait-time", value);
 }
-#line 3690 "dhcp6_parser.cc"
+#line 3695 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 668:
 #line 2314 "dhcp6_parser.yy"
+=======
+  case 670:
+#line 2320 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("Logging", m);
     ctx.stack_.push_back(m);
     ctx.enter(ctx.LOGGING);
 }
-#line 3701 "dhcp6_parser.cc"
+#line 3706 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 669:
 #line 2319 "dhcp6_parser.yy"
+=======
+  case 671:
+#line 2325 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 3710 "dhcp6_parser.cc"
+#line 3715 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 670:
 #line 2324 "dhcp6_parser.yy"
+=======
+  case 672:
+#line 2330 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // Parse the Logging map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
-#line 3720 "dhcp6_parser.cc"
+#line 3725 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 671:
 #line 2328 "dhcp6_parser.yy"
+=======
+  case 673:
+#line 2334 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     // parsing completed
 }
-#line 3728 "dhcp6_parser.cc"
+#line 3733 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 675:
 #line 2344 "dhcp6_parser.yy"
+=======
+  case 677:
+#line 2350 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("loggers", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.LOGGERS);
 }
-#line 3739 "dhcp6_parser.cc"
+#line 3744 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 676:
 #line 2349 "dhcp6_parser.yy"
+=======
+  case 678:
+#line 2355 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 3748 "dhcp6_parser.cc"
+#line 3753 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 679:
 #line 2361 "dhcp6_parser.yy"
+=======
+  case 681:
+#line 2367 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(l);
     ctx.stack_.push_back(l);
 }
-#line 3758 "dhcp6_parser.cc"
+#line 3763 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 680:
 #line 2365 "dhcp6_parser.yy"
+=======
+  case 682:
+#line 2371 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
 }
-#line 3766 "dhcp6_parser.cc"
+#line 3771 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 690:
 #line 2382 "dhcp6_parser.yy"
+=======
+  case 692:
+#line 2388 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("debuglevel", dl);
 }
-#line 3775 "dhcp6_parser.cc"
+#line 3780 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 691:
 #line 2387 "dhcp6_parser.yy"
+=======
+  case 693:
+#line 2393 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 3783 "dhcp6_parser.cc"
+#line 3788 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 692:
 #line 2389 "dhcp6_parser.yy"
+=======
+  case 694:
+#line 2395 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("severity", sev);
     ctx.leave();
 }
-#line 3793 "dhcp6_parser.cc"
+#line 3798 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 693:
 #line 2395 "dhcp6_parser.yy"
+=======
+  case 695:
+#line 2401 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output_options", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.OUTPUT_OPTIONS);
 }
-#line 3804 "dhcp6_parser.cc"
+#line 3809 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 694:
 #line 2400 "dhcp6_parser.yy"
+=======
+  case 696:
+#line 2406 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 3813 "dhcp6_parser.cc"
+#line 3818 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 697:
 #line 2409 "dhcp6_parser.yy"
+=======
+  case 699:
+#line 2415 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 3823 "dhcp6_parser.cc"
+#line 3828 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 698:
 #line 2413 "dhcp6_parser.yy"
+=======
+  case 700:
+#line 2419 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.stack_.pop_back();
 }
-#line 3831 "dhcp6_parser.cc"
+#line 3836 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 706:
 #line 2428 "dhcp6_parser.yy"
+=======
+  case 707:
+#line 2433 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
     ctx.enter(ctx.NO_KEYWORD);
 }
-#line 3839 "dhcp6_parser.cc"
+#line 3844 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 707:
 #line 2430 "dhcp6_parser.yy"
+=======
+  case 708:
+#line 2435 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output", sev);
     ctx.leave();
 }
-#line 3849 "dhcp6_parser.cc"
+#line 3854 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 708:
 #line 2436 "dhcp6_parser.yy"
+=======
+  case 709:
+#line 2441 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("flush", flush);
 }
-#line 3858 "dhcp6_parser.cc"
+#line 3863 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 709:
 #line 2441 "dhcp6_parser.yy"
+=======
+  case 710:
+#line 2446 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr maxsize(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxsize", maxsize);
 }
-#line 3867 "dhcp6_parser.cc"
+#line 3872 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
+<<<<<<< HEAD
   case 710:
 #line 2446 "dhcp6_parser.yy"
+=======
+  case 711:
+#line 2451 "dhcp6_parser.yy" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
     {
-    ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location)));
+    ElementPtr maxver(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxver", maxver);
 }
-#line 3876 "dhcp6_parser.cc"
+#line 3881 "dhcp6_parser.cc" // lalr1.cc:907
     break;
 
   case 711:
@@ -3894,8 +5647,12 @@ namespace isc { namespace dhcp {
     break;
 
 
+<<<<<<< HEAD
 #line 3898 "dhcp6_parser.cc"
 
+=======
+#line 3885 "dhcp6_parser.cc" // lalr1.cc:907
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
             default:
               break;
             }
@@ -3903,7 +5660,6 @@ namespace isc { namespace dhcp {
 #if YY_EXCEPTIONS
       catch (const syntax_error& yyexc)
         {
-          YYCDEBUG << "Caught exception: " << yyexc.what() << '\n';
           error (yyexc);
           YYERROR;
         }
@@ -3918,7 +5674,6 @@ namespace isc { namespace dhcp {
     }
     goto yynewstate;
 
-
   /*--------------------------------------.
   | yyerrlab -- here on detecting error.  |
   `--------------------------------------*/
@@ -3955,18 +5710,18 @@ namespace isc { namespace dhcp {
   | yyerrorlab -- error raised explicitly by YYERROR.  |
   `---------------------------------------------------*/
   yyerrorlab:
-    /* Pacify compilers when the user code never invokes YYERROR and
-       the label yyerrorlab therefore never appears in user code.  */
-    if (false)
-      YYERROR;
 
+    /* Pacify compilers like GCC when the user code never invokes
+       YYERROR and the label yyerrorlab therefore never appears in user
+       code.  */
+    if (false)
+      goto yyerrorlab;
     /* Do not reclaim the symbols of the rule whose action triggered
        this YYERROR.  */
     yypop_ (yylen);
     yylen = 0;
     goto yyerrlab1;
 
-
   /*-------------------------------------------------------------.
   | yyerrlab1 -- common code for both syntax error and YYERROR.  |
   `-------------------------------------------------------------*/
@@ -4007,26 +5762,16 @@ namespace isc { namespace dhcp {
     }
     goto yynewstate;
 
-
-  /*-------------------------------------.
-  | yyacceptlab -- YYACCEPT comes here.  |
-  `-------------------------------------*/
+    // Accept.
   yyacceptlab:
     yyresult = 0;
     goto yyreturn;
 
-
-  /*-----------------------------------.
-  | yyabortlab -- YYABORT comes here.  |
-  `-----------------------------------*/
+    // Abort.
   yyabortlab:
     yyresult = 1;
     goto yyreturn;
 
-
-  /*-----------------------------------------------------.
-  | yyreturn -- parsing is finished, return the result.  |
-  `-----------------------------------------------------*/
   yyreturn:
     if (!yyla.empty ())
       yy_destroy_ ("Cleanup: discarding lookahead", yyla);
@@ -4165,13 +5910,14 @@ namespace isc { namespace dhcp {
   }
 
 
-  const short Dhcp6Parser::yypact_ninf_ = -875;
+  const short Dhcp6Parser::yypact_ninf_ = -878;
 
   const signed char Dhcp6Parser::yytable_ninf_ = -1;
 
   const short
   Dhcp6Parser::yypact_[] =
   {
+<<<<<<< HEAD
      480,  -875,  -875,  -875,  -875,  -875,  -875,  -875,  -875,  -875,
     -875,  -875,  -875,  -875,  -875,  -875,    45,    70,    59,    69,
       78,   131,   133,   135,   144,   146,   173,   184,   197,   206,
@@ -4288,6 +6034,124 @@ namespace isc { namespace dhcp {
      900,  -875,   414,  -875,  -875,  -875,  -875,  -875,  -875,  -875,
      910,   731,   747,   748,   911,   154,  -875,   751,  -875,  -875,
     -875,   760,  -875,  -875,  -875
+=======
+     427,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,    40,    70,    59,    63,
+      65,    69,    79,    87,   101,   133,   144,   182,   185,   189,
+     200,   219,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,    70,   -19,    29,    78,    41,   435,    80,   168,
+     171,    58,    43,   460,   -65,   485,    91,   161,  -878,   244,
+     254,   285,   307,   354,  -878,  -878,  -878,  -878,  -878,   355,
+    -878,    99,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,   363,   367,   377,   382,   383,   384,
+     389,   391,   393,   394,   399,   401,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,   403,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,   156,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,   405,  -878,   169,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,   408,
+     413,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,   180,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,   183,  -878,
+    -878,  -878,  -878,  -878,   415,  -878,   418,   420,  -878,  -878,
+    -878,  -878,  -878,  -878,   195,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,   350,   423,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,   421,  -878,  -878,   426,  -878,  -878,  -878,   444,
+    -878,  -878,   441,   424,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,   446,   447,  -878,
+    -878,  -878,  -878,   450,   459,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,   205,  -878,  -878,
+    -878,   462,  -878,  -878,   463,  -878,   466,   467,  -878,  -878,
+     469,   470,  -878,  -878,  -878,  -878,  -878,   213,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,   221,  -878,  -878,  -878,   471,   225,
+    -878,  -878,  -878,  -878,    70,    70,  -878,   294,   486,   487,
+     488,   489,   491,  -878,    29,  -878,   492,   493,   494,   495,
+     496,   497,   319,   320,   322,   328,   343,   344,   345,   346,
+     347,   349,   352,   356,   503,   504,   505,   506,   526,   536,
+     537,   539,   540,   541,   542,   543,   544,   545,   546,   547,
+     548,   370,   550,   551,   552,   554,   555,   556,    78,  -878,
+     557,   380,    41,  -878,   562,   563,   564,   565,   566,   388,
+     387,   569,   573,   574,   435,  -878,   575,    80,  -878,   576,
+     398,   578,   400,   404,   168,  -878,   580,   582,   587,   608,
+     610,   612,   627,  -878,   171,  -878,   628,   629,   453,   636,
+     637,   639,   461,  -878,    43,   640,   464,   465,  -878,   460,
+     641,   643,   104,  -878,   468,   644,   647,   472,   648,   473,
+     474,   650,   654,   475,   476,   655,   658,   485,  -878,    91,
+    -878,   659,   482,   161,  -878,  -878,  -878,   662,   661,   663,
+      70,    70,    70,  -878,   490,   664,   666,   667,   668,   671,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,   498,   672,   673,   674,   675,   499,   151,   678,
+     680,   681,   682,   683,   684,   686,   687,   688,   689,  -878,
+     690,   675,   691,   511,   512,   694,  -878,   695,  -878,  -878,
+     696,   697,   521,   522,   523,  -878,  -878,   695,   524,   700,
+    -878,   527,  -878,   528,  -878,   529,  -878,  -878,  -878,   695,
+     695,   695,   530,   531,   532,   533,  -878,   534,   535,  -878,
+     538,   549,   553,  -878,  -878,   558,  -878,  -878,  -878,   559,
+      70,  -878,  -878,   560,   561,  -878,   567,  -878,  -878,   122,
+     570,  -878,  -878,    50,   568,  -878,  -878,   703,  -878,  -878,
+      70,    78,    91,  -878,  -878,  -878,  -878,   161,    41,   265,
+     265,   712,  -878,   714,   715,   716,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,   717,   -38,    70,   155,   594,   718,
+     719,   720,   196,    22,    36,  -878,   485,  -878,  -878,   721,
+    -878,  -878,   722,   723,  -878,  -878,  -878,  -878,  -878,   -23,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,   712,  -878,   248,   275,   276,   279,  -878,  -878,
+    -878,  -878,   665,   728,   729,   730,   732,  -878,   733,   734,
+    -878,  -878,  -878,   735,   740,   741,   742,  -878,   282,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+     313,  -878,   745,   744,  -878,  -878,   746,   750,  -878,  -878,
+     748,   752,  -878,  -878,   751,   753,  -878,  -878,   754,   755,
+    -878,  -878,  -878,    85,  -878,  -878,  -878,   756,  -878,  -878,
+    -878,    98,  -878,  -878,  -878,  -878,   314,  -878,  -878,  -878,
+     109,  -878,  -878,   757,   758,  -878,  -878,   759,   761,  -878,
+     762,   763,   764,   765,   766,   767,   315,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,   768,   769,   770,  -878,
+    -878,  -878,  -878,   316,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,   323,  -878,  -878,  -878,   324,
+    -878,   135,  -878,   577,  -878,   771,   772,  -878,  -878,   773,
+     775,  -878,  -878,  -878,   774,  -878,   777,  -878,  -878,  -878,
+    -878,   776,   780,   781,   782,   593,   596,   604,   603,   606,
+     786,   609,   611,   787,   789,   791,   613,   614,   615,   616,
+     265,  -878,  -878,   265,  -878,   712,   435,  -878,   714,    43,
+    -878,   715,   460,  -878,   716,   295,  -878,   717,   -38,  -878,
+    -878,   155,  -878,   794,   594,  -878,    83,   718,  -878,   171,
+    -878,   719,   -65,  -878,   720,   618,   619,   620,   621,   622,
+     623,   196,  -878,   803,   804,   626,   630,   631,    22,  -878,
+     806,   807,    36,  -878,  -878,   203,   721,  -878,  -878,   809,
+     813,    80,  -878,   722,   168,  -878,   723,   808,  -878,  -878,
+     419,   635,   638,   642,  -878,  -878,  -878,  -878,  -878,   645,
+    -878,  -878,   657,   669,   693,  -878,  -878,  -878,  -878,  -878,
+     325,  -878,   326,  -878,   810,  -878,   811,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,   327,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,   704,  -878,  -878,
+     817,  -878,  -878,  -878,  -878,  -878,   815,   826,  -878,  -878,
+    -878,  -878,  -878,   822,  -878,   348,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,   216,   725,  -878,  -878,  -878,  -878,
+     736,   737,  -878,  -878,   828,  -878,  -878,  -878,  -878,  -878,
+     358,  -878,  -878,  -878,  -878,  -878,  -878,   739,   362,  -878,
+     366,  -878,   747,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,   295,
+    -878,  -878,   833,   656,  -878,    83,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,   836,   670,   840,   203,  -878,
+    -878,  -878,  -878,  -878,  -878,   749,  -878,  -878,   743,  -878,
+     760,  -878,  -878,   847,  -878,  -878,   179,  -878,    -9,   847,
+    -878,  -878,   851,   853,   858,   374,  -878,  -878,  -878,  -878,
+    -878,  -878,   868,   778,   727,   779,    -9,  -878,   783,  -878,
+    -878,  -878,  -878,  -878
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
   };
 
   const unsigned short
@@ -4298,89 +6162,91 @@ namespace isc { namespace dhcp {
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     1,    47,    40,    36,    35,    32,    33,    34,
       39,     3,    37,    38,    60,     5,    72,     7,   137,     9,
-     284,    11,   444,    13,   469,    15,   499,    17,   369,    19,
-     377,    21,   414,    23,   249,    25,   598,    27,   670,    29,
-     659,    31,    49,    43,     0,     0,     0,     0,     0,     0,
-     501,     0,   379,   416,     0,     0,     0,     0,    51,     0,
-      50,     0,     0,    44,    70,   668,   651,   653,   655,     0,
-      69,     0,    62,    64,    66,    67,    68,    65,   119,   657,
+     286,    11,   446,    13,   471,    15,   501,    17,   371,    19,
+     379,    21,   416,    23,   251,    25,   600,    27,   672,    29,
+     661,    31,    49,    43,     0,     0,     0,     0,     0,     0,
+     503,     0,   381,   418,     0,     0,     0,     0,    51,     0,
+      50,     0,     0,    44,    70,   670,   653,   655,   657,     0,
+      69,     0,    62,    64,    66,    67,    68,    65,   119,   659,
      135,   149,   151,   153,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   133,   276,   367,   406,
-     457,   459,   325,   333,   222,   239,   230,   215,   536,   491,
-     241,   260,   557,     0,   581,   594,   596,   647,   649,   675,
+       0,     0,     0,     0,     0,     0,   133,   278,   369,   408,
+     459,   461,   327,   335,   224,   241,   232,   217,   538,   493,
+     243,   262,   559,     0,   583,   596,   598,   649,   651,   677,
      118,     0,    74,    76,    77,    78,    79,    80,    81,    82,
       83,    84,   112,   113,   114,    85,   110,    88,    89,    90,
       91,   107,    92,    94,    93,    98,    99,    86,   111,    87,
       96,    97,   105,   106,   108,    95,   100,   101,   102,   103,
      104,   116,   117,   109,   115,   146,     0,   145,     0,   139,
-     141,   142,   143,   144,   436,   461,   315,   317,   319,     0,
-       0,   323,   321,   530,   314,   288,   289,   290,   291,   292,
-     293,   294,   295,   311,   312,   313,     0,   286,   299,   300,
-     301,   304,   305,   307,   302,   303,   296,   297,   309,   310,
-     298,   306,   308,   455,   454,   450,   451,   449,     0,   446,
-     448,   452,   453,   484,     0,   487,     0,     0,   483,   477,
-     478,   476,   481,   482,     0,   471,   473,   474,   479,   480,
-     475,   528,   516,   518,   520,   522,   524,   526,   515,   512,
-     513,   514,     0,   502,   503,   507,   508,   505,   509,   510,
-     511,   506,     0,   396,   196,     0,   400,   398,   403,     0,
-     392,   393,     0,   380,   381,   383,   395,   384,   385,   386,
-     402,   387,   388,   389,   390,   391,   430,     0,     0,   428,
-     429,   432,   433,     0,   417,   418,   420,   421,   422,   423,
-     424,   425,   426,   427,   256,   258,   253,     0,   251,   254,
-     255,     0,   621,   623,     0,   626,     0,     0,   630,   634,
-       0,     0,   638,   645,   619,   617,   618,     0,   600,   602,
-     603,   604,   605,   606,   607,   608,   609,   610,   611,   612,
-     613,   614,   615,   616,     0,   672,   674,   665,     0,     0,
-     661,   663,   664,    48,     0,     0,    41,     0,     0,     0,
+     141,   142,   143,   144,   438,   463,   317,   319,   321,     0,
+       0,   325,   323,   532,   316,   290,   291,   292,   293,   294,
+     295,   296,   297,   313,   314,   315,     0,   288,   301,   302,
+     303,   306,   307,   309,   304,   305,   298,   299,   311,   312,
+     300,   308,   310,   457,   456,   452,   453,   451,     0,   448,
+     450,   454,   455,   486,     0,   489,     0,     0,   485,   479,
+     480,   478,   483,   484,     0,   473,   475,   476,   481,   482,
+     477,   530,   518,   520,   522,   524,   526,   528,   517,   514,
+     515,   516,     0,   504,   505,   509,   510,   507,   511,   512,
+     513,   508,     0,   398,   197,     0,   402,   400,   405,     0,
+     394,   395,     0,   382,   383,   385,   397,   386,   387,   388,
+     404,   389,   390,   391,   392,   393,   432,     0,     0,   430,
+     431,   434,   435,     0,   419,   420,   422,   423,   424,   425,
+     426,   427,   428,   429,   258,   260,   255,     0,   253,   256,
+     257,     0,   623,   625,     0,   628,     0,     0,   632,   636,
+       0,     0,   640,   647,   621,   619,   620,     0,   602,   604,
+     605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
+     615,   616,   617,   618,     0,   674,   676,   667,     0,     0,
+     663,   665,   666,    48,     0,     0,    41,     0,     0,     0,
        0,     0,     0,    59,     0,    61,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,    73,
        0,     0,     0,   138,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   285,     0,     0,   445,     0,
-       0,     0,     0,     0,     0,   470,     0,     0,     0,     0,
-       0,     0,     0,   500,     0,   370,     0,     0,     0,     0,
-       0,     0,     0,   378,     0,     0,     0,     0,   415,     0,
-       0,     0,     0,   250,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   599,     0,
-     671,     0,     0,     0,   660,    52,    45,     0,     0,     0,
+       0,     0,     0,     0,     0,   287,     0,     0,   447,     0,
+       0,     0,     0,     0,     0,   472,     0,     0,     0,     0,
+       0,     0,     0,   502,     0,   372,     0,     0,     0,     0,
+       0,     0,     0,   380,     0,     0,     0,     0,   417,     0,
+       0,     0,     0,   252,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   601,     0,
+     673,     0,     0,     0,   662,    52,    45,     0,     0,     0,
        0,     0,     0,    63,     0,     0,     0,     0,     0,     0,
      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
      131,   132,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   580,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   582,
        0,     0,     0,     0,     0,     0,    75,     0,   148,   140,
-       0,     0,     0,     0,     0,   331,   332,     0,     0,     0,
-     287,     0,   447,     0,   486,     0,   489,   490,   472,     0,
-       0,     0,     0,     0,     0,     0,   504,     0,     0,   394,
-       0,     0,     0,   405,   382,     0,   434,   435,   419,     0,
-       0,   252,   620,     0,     0,   625,     0,   628,   629,     0,
-       0,   636,   637,     0,     0,   601,   673,     0,   667,   662,
-       0,     0,     0,   652,   654,   656,   120,     0,     0,     0,
-       0,   155,   134,   278,   371,   408,    42,   458,   460,   327,
-     328,   329,   330,   326,   335,     0,    49,     0,     0,     0,
-     493,   243,     0,     0,     0,   595,     0,   648,   650,     0,
-      53,   147,   438,   463,   316,   318,   320,   324,   322,     0,
-     456,   485,   488,   529,   517,   519,   521,   523,   525,   527,
-     397,   197,   401,   399,   404,   431,   257,   259,   622,   624,
-     627,   632,   633,   631,   635,   640,   641,   642,   643,   644,
-     639,   646,   155,    46,     0,     0,     0,     0,   183,   189,
-     191,   193,     0,     0,     0,     0,     0,   206,     0,     0,
-     209,   211,   213,     0,     0,     0,   182,     0,   161,   163,
-     164,   165,   166,   167,   168,   169,   170,   171,   172,   175,
-     176,   177,   178,   173,   174,   179,   180,   181,     0,   159,
-       0,   156,   157,   282,     0,   279,   280,   375,     0,   372,
-     373,   412,     0,   409,   410,   339,     0,   336,   337,   228,
-     229,     0,   224,   226,   227,     0,   237,   238,   234,     0,
-     232,   235,   236,   220,     0,   217,   219,   540,     0,   538,
-     497,     0,   494,   495,   247,     0,   244,   245,     0,     0,
-       0,     0,     0,     0,     0,   262,   264,   265,   266,   267,
-     268,   269,   570,   576,     0,     0,     0,   569,   566,   567,
-     568,     0,   559,   561,   564,   562,   563,   565,   590,   592,
-     589,   587,   588,     0,   583,   585,   586,     0,   679,     0,
-     677,    55,   442,     0,   439,   440,   467,     0,   464,   465,
-     534,   533,     0,   532,     0,    71,   669,   658,   136,     0,
+       0,     0,     0,     0,     0,   333,   334,     0,     0,     0,
+     289,     0,   449,     0,   488,     0,   491,   492,   474,     0,
+       0,     0,     0,     0,     0,     0,   506,     0,     0,   396,
+       0,     0,     0,   407,   384,     0,   436,   437,   421,     0,
+       0,   254,   622,     0,     0,   627,     0,   630,   631,     0,
+       0,   638,   639,     0,     0,   603,   675,     0,   669,   664,
+       0,     0,     0,   654,   656,   658,   120,     0,     0,     0,
+       0,   155,   134,   280,   373,   410,    42,   460,   462,   329,
+     330,   331,   332,   328,   337,     0,    49,     0,     0,     0,
+     495,   245,     0,     0,     0,   597,     0,   650,   652,     0,
+      53,   147,   440,   465,   318,   320,   322,   326,   324,     0,
+     458,   487,   490,   531,   519,   521,   523,   525,   527,   529,
+     399,   198,   403,   401,   406,   433,   259,   261,   624,   626,
+     629,   634,   635,   633,   637,   642,   643,   644,   645,   646,
+     641,   648,   155,    46,     0,     0,     0,     0,   184,   190,
+     192,   194,     0,     0,     0,     0,     0,   208,     0,     0,
+     211,   213,   215,     0,     0,     0,     0,   183,     0,   161,
+     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
+     175,   182,   176,   177,   178,   173,   174,   179,   180,   181,
+       0,   159,     0,   156,   157,   284,     0,   281,   282,   377,
+       0,   374,   375,   414,     0,   411,   412,   341,     0,   338,
+     339,   230,   231,     0,   226,   228,   229,     0,   239,   240,
+     236,     0,   234,   237,   238,   222,     0,   219,   221,   542,
+       0,   540,   499,     0,   496,   497,   249,     0,   246,   247,
+       0,     0,     0,     0,     0,     0,     0,   264,   266,   267,
+     268,   269,   270,   271,   572,   578,     0,     0,     0,   571,
+     568,   569,   570,     0,   561,   563,   566,   564,   565,   567,
+     592,   594,   591,   589,   590,     0,   585,   587,   588,     0,
+     681,     0,   679,    55,   444,     0,   441,   442,   469,     0,
+     466,   467,   536,   535,     0,   534,     0,    71,   671,   660,
+     136,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+<<<<<<< HEAD
        0,     0,     0,     0,     0,     0,     0,     0,   150,   152,
        0,   154,     0,     0,   277,     0,   379,   368,     0,   416,
      407,     0,     0,   334,     0,     0,   223,   240,     0,   231,
@@ -4409,11 +6275,41 @@ namespace isc { namespace dhcp {
        0,   711,     0,   699,   701,   702,   703,   704,   705,   696,
        0,     0,     0,     0,     0,     0,   698,     0,   708,   709,
      710,     0,   700,   707,   712
+=======
+       0,   150,   152,     0,   154,     0,     0,   279,     0,   381,
+     370,     0,   418,   409,     0,     0,   336,     0,     0,   225,
+     242,     0,   233,     0,     0,   218,   544,     0,   539,   503,
+     494,     0,     0,   244,     0,     0,     0,     0,     0,     0,
+       0,     0,   263,     0,     0,     0,     0,     0,     0,   560,
+       0,     0,     0,   584,   599,     0,     0,   678,    57,     0,
+      56,     0,   439,     0,     0,   464,     0,     0,   533,   668,
+       0,     0,     0,     0,   196,   199,   200,   201,   202,     0,
+     210,   203,     0,     0,     0,   205,   206,   207,   204,   162,
+       0,   158,     0,   283,     0,   376,     0,   413,   368,   356,
+     357,   358,   360,   361,   362,   349,   350,   365,   366,   367,
+     345,   346,   347,   348,   354,   355,   353,   359,     0,   343,
+     351,   363,   364,   352,   340,   227,   235,     0,   220,   556,
+       0,   554,   555,   551,   552,   553,     0,   545,   546,   548,
+     549,   550,   541,     0,   498,     0,   248,   272,   273,   274,
+     275,   276,   277,   265,     0,     0,   577,   580,   581,   562,
+       0,     0,   586,   695,     0,   693,   691,   685,   689,   690,
+       0,   683,   687,   688,   686,   680,    54,     0,     0,   443,
+       0,   468,     0,   186,   187,   188,   189,   185,   191,   193,
+     195,   209,   212,   214,   216,   160,   285,   378,   415,     0,
+     342,   223,     0,     0,   543,     0,   500,   250,   574,   575,
+     576,   573,   579,   593,   595,     0,     0,     0,     0,   682,
+      58,   445,   470,   537,   344,     0,   558,   547,     0,   692,
+       0,   684,   557,     0,   694,   699,     0,   697,     0,     0,
+     696,   707,     0,     0,     0,     0,   701,   703,   704,   705,
+     706,   698,     0,     0,     0,     0,     0,   700,     0,   709,
+     710,   711,   702,   708
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
   };
 
   const short
   Dhcp6Parser::yypgoto_[] =
   {
+<<<<<<< HEAD
     -875,  -875,  -875,  -875,  -875,  -875,  -875,  -875,  -875,  -875,
     -875,  -875,  -875,  -875,  -875,  -875,  -875,    54,  -875,  -502,
     -875,   134,  -875,  -875,  -875,  -875,   268,  -875,  -476,  -875,
@@ -4455,6 +6351,49 @@ namespace isc { namespace dhcp {
      471,   -44,  -875,  -875,    38,  -875,  -875,  -128,  -875,  -875,
     -875,  -875,  -875,  -875,  -147,  -875,  -875,  -166,  -875,  -875,
     -875,  -875,  -875,  -875,  -875
+=======
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,    54,  -878,  -502,
+    -878,   336,  -878,  -878,  -878,  -878,   246,  -878,  -508,  -878,
+    -878,  -878,   -74,  -878,  -878,  -878,   510,  -878,  -878,  -878,
+    -878,   274,   479,  -878,  -878,   -70,   -46,   -40,   -36,   -22,
+     -17,   -14,     3,     7,    10,    15,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,   288,   502,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,   215,  -878,    33,  -878,  -622,    42,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+     -21,  -878,  -650,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,    16,  -878,  -878,  -878,  -878,  -878,    25,
+    -641,  -878,  -878,  -878,  -878,    23,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,    11,  -878,  -878,  -878,    14,   445,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,     8,  -878,  -878,
+    -878,  -878,  -878,  -878,  -877,  -878,  -878,  -878,    47,  -878,
+    -878,  -878,    45,   484,  -878,  -878,  -872,  -878,  -870,  -878,
+     -11,  -878,    -5,  -878,    18,  -878,  -878,  -878,  -869,  -878,
+    -878,  -878,  -878,    44,  -878,  -878,  -142,   867,  -878,  -878,
+    -878,  -878,  -878,    49,  -878,  -878,  -878,    53,  -878,   477,
+    -878,   -69,  -878,  -878,  -878,  -878,  -878,   -66,  -878,  -878,
+    -878,  -878,  -878,   -58,  -878,  -878,  -878,    51,  -878,  -878,
+    -878,    52,  -878,   478,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,     0,  -878,  -878,  -878,     5,
+     500,  -878,  -878,   -53,  -878,   -29,  -878,  -878,  -878,  -878,
+    -878,     2,  -878,  -878,  -878,     6,   507,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,   -62,  -878,  -878,  -878,    38,  -878,
+    -878,  -878,    55,  -878,   501,   287,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -867,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,    56,  -878,  -878,
+    -878,  -131,  -878,  -878,  -878,  -878,  -878,  -878,  -878,    30,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,    27,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,   304,   480,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,   -73,  -878,   -51,
+    -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+    -878,   335,   481,  -878,  -878,  -878,  -878,  -878,  -878,  -878,
+     351,   483,   -44,  -878,  -878,    31,  -878,  -878,  -132,  -878,
+    -878,  -878,  -878,  -878,  -878,  -151,  -878,  -878,  -167,  -878,
+    -878,  -878,  -878,  -878
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
   };
 
   const short
@@ -4462,11 +6401,12 @@ namespace isc { namespace dhcp {
   {
       -1,    16,    17,    18,    19,    20,    21,    22,    23,    24,
       25,    26,    27,    28,    29,    30,    31,    88,    41,    42,
-      73,   647,    92,    93,    43,    72,    89,    90,   671,   851,
-     946,   947,   736,    45,    74,   101,   102,   103,   388,    47,
+      73,   647,    92,    93,    43,    72,    89,    90,   671,   853,
+     949,   950,   737,    45,    74,   101,   102,   103,   388,    47,
       75,   151,   152,   153,   396,   154,   155,   156,   157,   158,
      159,   160,   161,   162,   163,   164,   165,   166,   414,   167,
      398,    49,    76,   198,   199,   200,   440,   201,   168,   399,
+<<<<<<< HEAD
      169,   400,   170,   401,   760,   761,   762,   890,   737,   738,
      739,   869,  1073,   740,   870,   741,   871,   742,   872,   743,
      744,   477,   745,   746,   747,   748,   749,   750,   751,   752,
@@ -4501,12 +6441,49 @@ namespace isc { namespace dhcp {
      375,   194,   437,   849,   850,   942,  1056,  1057,  1058,  1059,
     1103,  1060,  1101,  1122,  1123,  1124,  1132,  1133,  1134,  1140,
     1135,  1136,  1137,  1138,  1144
+=======
+     169,   400,   170,   401,   762,   763,   764,   893,   738,   739,
+     740,   871,  1077,   741,   872,   742,   873,   743,   874,   744,
+     745,   477,   746,   747,   748,   749,   750,   751,   752,   753,
+     754,   755,   880,   756,   757,   883,   758,   884,   759,   885,
+     171,   425,   796,   797,   798,   913,   172,   422,   783,   784,
+     785,   786,   173,   424,   791,   792,   793,   794,   174,   423,
+     175,   428,   807,   808,   809,   922,    65,    84,   337,   338,
+     339,   490,   340,   491,   176,   429,   816,   817,   818,   819,
+     820,   821,   822,   823,   177,   415,   766,   767,   768,   896,
+      51,    77,   226,   227,   228,   446,   229,   447,   230,   448,
+     231,   452,   232,   451,   178,   420,   653,   234,   235,   179,
+     421,   778,   779,   780,   905,  1008,  1009,   180,   416,    59,
+      81,   770,   771,   772,   899,    61,    82,   302,   303,   304,
+     305,   306,   307,   308,   476,   309,   480,   310,   479,   311,
+     312,   481,   313,   181,   417,   774,   775,   776,   902,    63,
+      83,   323,   324,   325,   326,   327,   485,   328,   329,   330,
+     331,   237,   444,   855,   856,   857,   951,    53,    78,   248,
+     249,   250,   456,   182,   418,   183,   419,   240,   445,   859,
+     860,   861,   954,    55,    79,   264,   265,   266,   459,   267,
+     268,   461,   269,   270,   184,   427,   803,   804,   805,   919,
+      57,    80,   282,   283,   284,   285,   467,   286,   468,   287,
+     469,   288,   470,   289,   471,   290,   472,   291,   466,   242,
+     453,   864,   865,   957,   185,   426,   800,   801,   916,  1026,
+    1027,  1028,  1029,  1030,  1092,  1031,   186,   430,   833,   834,
+     835,   933,  1101,   836,   837,   934,   838,   839,   187,   188,
+     432,   845,   846,   847,   940,   848,   941,   189,   433,   190,
+     434,    67,    85,   357,   358,   359,   360,   495,   361,   496,
+     362,   363,   498,   364,   365,   366,   501,   703,   367,   502,
+     368,   369,   370,   505,   710,   371,   506,   191,   435,   192,
+     436,   104,   390,   105,   391,   106,   392,   193,   397,    71,
+      87,   379,   380,   381,   511,   382,   107,   389,    69,    86,
+     374,   375,   194,   437,   851,   852,   945,  1060,  1061,  1062,
+    1063,  1107,  1064,  1105,  1126,  1127,  1128,  1135,  1136,  1137,
+    1142,  1138,  1139,  1140
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
   };
 
   const unsigned short
   Dhcp6Parser::yytable_[] =
   {
      100,   150,   197,   214,   244,   258,   278,   215,   300,   319,
+<<<<<<< HEAD
      336,   354,   372,   828,   321,   241,   788,   322,   758,   236,
      247,   261,   279,   202,   238,   251,   262,   280,   997,   314,
      332,   216,   355,   998,   373,   999,  1003,   217,  1009,   272,
@@ -4605,18 +6582,118 @@ namespace isc { namespace dhcp {
      982,  1064,  1066,   861,  1029,   582,   588,  1030,  1113,  1045,
      847,  1048,   625,   523,  1028,   716,  1117,   596,  1139,  1152,
      626,  1061,     0,   629,     0,     0,     0,     0,   715,     0,
+=======
+     336,   354,   372,   830,   321,   241,   790,   322,   760,   236,
+     247,   261,   279,   202,   238,   251,   262,   280,  1001,   314,
+     332,   216,   355,  1002,   373,  1003,  1007,   217,  1013,    94,
+      32,   218,   376,   824,   646,   334,   335,   203,   239,   252,
+     263,   281,   723,   315,   333,   219,   356,   195,   196,   646,
+     220,   301,   320,   221,   293,   781,    44,   245,   259,   677,
+      46,    40,    48,   246,   260,    33,    50,    34,   272,    35,
+     222,   683,   684,   685,   223,   862,    52,   224,   908,   108,
+     109,   909,   225,   110,    54,   233,   111,   112,   113,   130,
+     131,   911,   394,   294,   912,   295,   296,   395,    56,   297,
+     298,   299,   917,   130,   131,   918,   128,    99,   130,   131,
+     130,   131,   114,   115,   116,   117,   118,   119,   120,   121,
+     122,   123,   124,   125,   126,   127,   128,   129,   946,   129,
+      58,   947,   129,   294,   782,   825,   826,   827,   828,  1131,
+     243,    60,  1132,  1133,  1134,   130,   131,   130,   131,   438,
+     130,   131,   132,    91,   439,   840,   841,   133,   134,   135,
+     136,   137,   442,   138,   377,   378,   211,   443,   139,   212,
+    1019,  1020,  1129,   454,    95,  1130,   457,   140,   455,    62,
+     141,   458,    64,    96,    97,    98,    66,   142,   464,   705,
+     706,   707,   708,   465,    99,   143,   144,    68,   492,   145,
+     146,    99,  1001,   493,   334,   335,   507,  1002,    99,  1003,
+    1007,   508,  1013,    99,   509,    99,    70,   129,   513,   510,
+     129,   147,   148,   514,   149,   709,   649,   650,   651,   652,
+     253,   254,   255,   256,   257,   130,   131,   149,   130,   131,
+     383,   438,    36,    37,    38,    39,   867,   384,   781,   788,
+      99,   789,    99,   294,   211,    99,   271,   212,   701,   702,
+     790,   980,   272,   273,   274,   275,   276,   277,   509,   513,
+     130,   131,   442,   868,   869,   890,   718,   870,   830,   385,
+     891,   719,   720,   721,   722,   723,   724,   725,   726,   727,
+     728,   729,   730,   731,   732,   733,   734,   735,   736,   810,
+     811,   812,   813,   814,   815,   386,   890,   914,   931,   938,
+     100,   892,   915,   932,   939,   294,   942,   507,   890,   454,
+    1089,   943,   944,  1085,  1086,  1090,  1098,  1099,  1100,   114,
+     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
+      99,   492,   127,    99,   129,   294,  1097,   387,   473,   393,
+    1053,  1108,  1054,  1055,   150,   457,  1109,   402,   197,   464,
+    1111,   403,   130,   131,  1112,   207,   208,  1146,   210,   132,
+     214,   404,  1147,   244,   215,    99,   405,   406,   407,   202,
+     258,   211,   241,   408,   212,   409,   236,   410,   411,   247,
+     278,   238,   213,   412,   251,   413,   261,   431,   216,   441,
+     300,   262,   449,   203,   217,   319,   279,   450,   218,   460,
+     321,   280,   462,   322,   463,   239,   474,   484,   252,   475,
+     478,   314,   219,   354,   372,   263,   332,   220,   515,   516,
+     221,  1073,  1074,  1075,  1076,   281,   245,    99,   482,   483,
+     486,   487,   246,   259,   355,   315,   373,   222,   488,   260,
+     333,   223,   489,   301,   224,   376,   494,   497,   320,   225,
+     499,   500,   233,   503,   504,   512,   517,    99,   356,   114,
+     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
+     518,   519,   520,   521,   129,   522,   524,   525,   526,   527,
+     528,   529,   530,   531,   204,   532,   205,   542,   543,   544,
+     545,   533,   130,   131,   206,   207,   208,   209,   210,   132,
+     294,   316,   295,   296,   317,   318,   534,   535,   536,   537,
+     546,   211,   538,   539,   212,   139,   540,   130,   131,   541,
+     547,   548,   213,   549,   550,   551,   552,   553,   554,   555,
+     556,   557,   558,   559,   560,   561,   562,   150,   563,   564,
+     565,   567,   130,   131,   197,   568,   570,   571,   572,   573,
+     574,   575,   576,   577,   633,   634,   635,   578,   579,   581,
+     583,   584,   585,   586,   589,   202,   590,   587,   376,   829,
+     842,   591,   354,   372,     1,     2,     3,     4,     5,     6,
+       7,     8,     9,    10,    11,    12,    13,    14,    15,   203,
+     831,   843,   592,   355,   593,   373,   594,    99,   341,   342,
+     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
+     353,   595,   597,   598,   832,   844,   599,   356,   147,   148,
+     600,   601,    99,   602,   605,   609,   603,   610,   613,   606,
+     607,   614,   616,   612,   619,   615,   617,   618,   620,   623,
+     621,   622,   624,   627,   697,   628,   630,    99,   631,   875,
+     632,   637,   636,   638,   639,   640,   641,   643,   644,   645,
+     642,   648,    34,   654,   713,   655,   656,   657,   795,   659,
+     658,   660,   661,   667,   668,   662,   663,   664,   666,   669,
+     670,   672,   673,   674,   675,   676,   678,   679,   712,   680,
+     681,   682,   686,   687,   688,   689,   690,   691,   704,   761,
+     692,   765,   769,   773,   777,   799,   802,   806,   850,   854,
+     858,   693,   876,   877,   878,   694,   879,   881,   882,   886,
+     695,   696,   698,   699,   887,   888,   889,   895,  1123,   700,
+     711,   894,   897,   898,   900,   901,   904,   903,   907,   948,
+     906,   921,   910,   920,   924,   923,   925,   926,   927,   928,
+     929,   930,   935,   936,   937,   953,   964,   952,   956,   955,
+     960,   965,   958,   959,   961,   962,   963,   966,   967,   968,
+     969,   972,   970,   973,   971,   974,   975,   976,  1017,   978,
+     977,  1037,  1038,  1039,  1040,  1041,  1042,  1044,  1045,  1046,
+    1050,  1051,  1072,  1047,  1048,  1066,  1067,  1078,  1087,  1088,
+    1079,  1093,   214,  1094,  1080,   300,   215,  1081,   319,  1095,
+    1096,   988,  1106,   321,   241,   989,   322,  1115,   236,  1082,
+    1118,  1116,  1021,   238,  1120,   278,   314,  1010,   336,   332,
+     216,  1083,  1011,  1119,  1125,  1143,   217,  1144,  1023,   990,
+     218,   279,  1145,  1024,   829,   991,   280,   239,   842,   992,
+     315,  1056,  1148,   333,   219,  1084,  1012,   244,   301,   220,
+     258,   320,   221,   993,  1000,   831,  1091,  1025,   994,   843,
+     281,   995,  1058,   247,  1004,  1022,   261,   665,   251,   222,
+    1005,   262,   787,   223,   523,   714,   224,  1102,   996,   832,
+    1150,   225,   997,   844,   233,   998,  1059,   566,  1103,  1104,
+     999,  1110,   252,  1006,  1057,   263,   717,   866,   981,  1113,
+    1018,  1122,   979,  1015,  1016,  1036,  1035,   611,   580,  1043,
+     245,   982,  1124,   259,   569,   983,   246,  1114,   292,   260,
+     985,  1014,   984,  1069,   986,   987,  1068,   582,  1071,  1034,
+    1070,   604,  1151,  1149,  1117,  1153,   863,   608,  1049,  1052,
+     849,   588,   716,  1032,  1033,   596,  1121,  1065,  1141,  1152,
+       0,     0,     0,   715,     0,     0,     0,   625,     0,     0,
+       0,     0,   626,     0,   629,     0,     0,     0,     0,     0,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   984,     0,     0,     0,   985,     0,  1017,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,  1006,     0,     0,
-    1052,     0,  1007,  1019,     0,     0,     0,     0,  1020,   986,
-       0,     0,     0,     0,     0,   987,     0,     0,     0,   988,
-       0,  1054,     0,     0,     0,     0,  1008,     0,     0,     0,
-       0,     0,  1021,   989,   996,     0,     0,     0,   990,     0,
-    1018,   991,     0,     0,  1000,  1055,     0,     0,     0,     0,
-    1001,     0,     0,  1053,     0,     0,     0,     0,   992,     0,
-       0,     0,   993,     0,     0,   994,     0,     0,     0,     0,
-     995,     0,     0,  1002
+       0,     0,     0,     0,     0,   988,     0,     0,     0,   989,
+       0,  1021,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,  1010,     0,     0,  1056,     0,  1011,  1023,     0,     0,
+       0,     0,  1024,   990,     0,     0,     0,     0,     0,   991,
+       0,     0,     0,   992,     0,  1058,     0,     0,     0,     0,
+    1012,     0,     0,     0,     0,     0,  1025,   993,  1000,     0,
+       0,     0,   994,     0,  1022,   995,     0,     0,  1004,  1059,
+       0,     0,     0,     0,  1005,     0,     0,  1057,     0,     0,
+       0,     0,   996,     0,     0,     0,   997,     0,     0,   998,
+       0,     0,     0,     0,   999,     0,     0,  1006
   };
 
   const short
@@ -4624,6 +6701,7 @@ namespace isc { namespace dhcp {
   {
       74,    75,    76,    77,    78,    79,    80,    77,    82,    83,
       84,    85,    85,   663,    83,    77,   657,    83,   640,    77,
+<<<<<<< HEAD
       78,    79,    80,    76,    77,    78,    79,    80,   902,    82,
       83,    77,    85,   902,    85,   902,   902,    77,   902,   100,
       10,    77,    86,   182,   546,     0,   107,    76,    77,    78,
@@ -4722,17 +6800,117 @@ namespace isc { namespace dhcp {
      666,   939,   507,   394,   914,   637,  1104,   474,  1125,  1145,
      509,   943,    -1,   513,    -1,    -1,    -1,    -1,   632,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+=======
+      78,    79,    80,    76,    77,    78,    79,    80,   905,    82,
+      83,    77,    85,   905,    85,   905,   905,    77,   905,    10,
+       0,    77,    86,    21,   546,   110,   111,    76,    77,    78,
+      79,    80,    30,    82,    83,    77,    85,    16,    17,   561,
+      77,    82,    83,    77,    21,   103,     7,    78,    79,   577,
+       7,    17,     7,    78,    79,     5,     7,     7,   101,     9,
+      77,   589,   590,   591,    77,   108,     7,    77,     3,    11,
+      12,     6,    77,    15,     7,    77,    18,    19,    20,    77,
+      78,     3,     3,    60,     6,    62,    63,     8,     7,    66,
+      67,    68,     3,    77,    78,     6,    58,   182,    77,    78,
+      77,    78,    44,    45,    46,    47,    48,    49,    50,    51,
+      52,    53,    54,    55,    56,    57,    58,    59,     3,    59,
+       7,     6,    59,    60,   182,   123,   124,   125,   126,   158,
+      70,     7,   161,   162,   163,    77,    78,    77,    78,     3,
+      77,    78,    84,   182,     8,   129,   130,    89,    90,    91,
+      92,    93,     3,    95,    13,    14,    96,     8,   100,    99,
+      97,    98,     3,     3,   155,     6,     3,   109,     8,     7,
+     112,     8,     7,   164,   165,   166,     7,   119,     3,   149,
+     150,   151,   152,     8,   182,   127,   128,     7,     3,   131,
+     132,   182,  1089,     8,   110,   111,     3,  1089,   182,  1089,
+    1089,     8,  1089,   182,     3,   182,     7,    59,     3,     8,
+      59,   153,   154,     8,   156,   185,    85,    86,    87,    88,
+      72,    73,    74,    75,    76,    77,    78,   156,    77,    78,
+       6,     3,   182,   183,   184,   185,     8,     3,   103,   104,
+     182,   106,   182,    60,    96,   182,    95,    99,   146,   147,
+     911,   893,   101,   102,   103,   104,   105,   106,     3,     3,
+      77,    78,     3,     8,     8,     3,    21,     8,   938,     4,
+       8,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,   113,
+     114,   115,   116,   117,   118,     8,     3,     3,     3,     3,
+     394,     8,     8,     8,     8,    60,     3,     3,     3,     3,
+       3,     8,     8,     8,     8,     8,   120,   121,   122,    44,
+      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
+     182,     3,    57,   182,    59,    60,     8,     3,     8,     4,
+     157,     3,   159,   160,   438,     3,     8,     4,   442,     3,
+       8,     4,    77,    78,     8,    80,    81,     3,    83,    84,
+     454,     4,     8,   457,   454,   182,     4,     4,     4,   442,
+     464,    96,   454,     4,    99,     4,   454,     4,     4,   457,
+     474,   454,   107,     4,   457,     4,   464,     4,   454,     4,
+     484,   464,     4,   442,   454,   489,   474,     4,   454,     4,
+     489,   474,     4,   489,     4,   454,     3,     3,   457,     8,
+       4,   484,   454,   507,   507,   464,   489,   454,   384,   385,
+     454,    22,    23,    24,    25,   474,   457,   182,     4,     8,
+       4,     4,   457,   464,   507,   484,   507,   454,     8,   464,
+     489,   454,     3,   484,   454,   509,     4,     4,   489,   454,
+       4,     4,   454,     4,     4,     4,   182,   182,   507,    44,
+      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
+       4,     4,     4,     4,    59,     4,     4,     4,     4,     4,
+       4,     4,   183,   183,    69,   183,    71,     4,     4,     4,
+       4,   183,    77,    78,    79,    80,    81,    82,    83,    84,
+      60,    61,    62,    63,    64,    65,   183,   183,   183,   183,
+       4,    96,   185,   184,    99,   100,   184,    77,    78,   183,
+       4,     4,   107,     4,     4,     4,     4,     4,     4,     4,
+       4,     4,     4,   183,     4,     4,     4,   631,     4,     4,
+       4,     4,    77,    78,   638,   185,     4,     4,     4,     4,
+       4,   183,   185,     4,   520,   521,   522,     4,     4,     4,
+       4,   183,     4,   183,     4,   638,     4,   183,   632,   663,
+     664,     4,   666,   666,   167,   168,   169,   170,   171,   172,
+     173,   174,   175,   176,   177,   178,   179,   180,   181,   638,
+     663,   664,     4,   666,     4,   666,     4,   182,   133,   134,
+     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
+     145,     4,     4,     4,   663,   664,   183,   666,   153,   154,
+       4,     4,   182,     4,     4,     4,   185,     4,     4,   185,
+     185,     4,     4,   185,     4,   183,   183,   183,     4,     4,
+     185,   185,     4,     4,   610,   183,     4,   182,     7,     4,
+       7,     7,   182,     7,     7,     7,     5,     5,     5,     5,
+     182,   182,     7,     5,   630,     5,     5,     5,    94,     5,
+       7,     5,     5,   182,   182,     7,     7,     7,     7,     5,
+       5,     5,     5,   182,   182,   182,   182,     7,     5,   182,
+     182,   182,   182,   182,   182,   182,   182,   182,   148,     7,
+     182,     7,     7,     7,     7,     7,     7,     7,     7,     7,
+       7,   182,     4,     4,     4,   182,     4,     4,     4,     4,
+     182,   182,   182,   182,     4,     4,     4,     3,     5,   182,
+     182,     6,     6,     3,     6,     3,     3,     6,     3,   182,
+       6,     3,     6,     6,     3,     6,     4,     4,     4,     4,
+       4,     4,     4,     4,     4,     3,   183,     6,     3,     6,
+       4,   185,     8,     6,     4,     4,     4,   183,   185,   183,
+       4,     4,   183,     4,   183,     4,   183,   183,     4,   183,
+     185,   183,   183,   183,   183,   183,   183,     4,     4,   183,
+       4,     4,     4,   183,   183,     6,     3,   182,     8,     8,
+     182,     4,   896,     8,   182,   899,   896,   182,   902,     3,
+       8,   905,     4,   902,   896,   905,   902,     4,   896,   182,
+       4,   185,   916,   896,     4,   919,   899,   905,   922,   902,
+     896,   182,   905,   183,     7,     4,   896,     4,   916,   905,
+     896,   919,     4,   916,   938,   905,   919,   896,   942,   905,
+     899,   945,     4,   902,   896,   182,   905,   951,   899,   896,
+     954,   902,   896,   905,   905,   938,   182,   916,   905,   942,
+     919,   905,   945,   951,   905,   916,   954,   561,   951,   896,
+     905,   954,   656,   896,   394,   631,   896,   182,   905,   938,
+     183,   896,   905,   942,   896,   905,   945,   438,   182,   182,
+     905,   182,   951,   905,   945,   954,   638,   712,   895,   182,
+     914,   182,   890,   908,   911,   924,   922,   492,   454,   931,
+     951,   896,   182,   954,   442,   898,   951,  1089,    81,   954,
+     901,   907,   899,   953,   902,   904,   951,   457,   956,   921,
+     954,   484,   183,   185,  1095,   182,   679,   489,   938,   942,
+     666,   464,   637,   917,   919,   474,  1108,   946,  1129,  1146,
+      -1,    -1,    -1,   632,    -1,    -1,    -1,   507,    -1,    -1,
+      -1,    -1,   509,    -1,   513,    -1,    -1,    -1,    -1,    -1,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,  1085,    -1,    -1,    -1,  1085,    -1,  1091,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1085,    -1,    -1,
-    1104,    -1,  1085,  1091,    -1,    -1,    -1,    -1,  1091,  1085,
-      -1,    -1,    -1,    -1,    -1,  1085,    -1,    -1,    -1,  1085,
-      -1,  1104,    -1,    -1,    -1,    -1,  1085,    -1,    -1,    -1,
-      -1,    -1,  1091,  1085,  1085,    -1,    -1,    -1,  1085,    -1,
-    1091,  1085,    -1,    -1,  1085,  1104,    -1,    -1,    -1,    -1,
-    1085,    -1,    -1,  1104,    -1,    -1,    -1,    -1,  1085,    -1,
-      -1,    -1,  1085,    -1,    -1,  1085,    -1,    -1,    -1,    -1,
-    1085,    -1,    -1,  1085
+      -1,    -1,    -1,    -1,    -1,  1089,    -1,    -1,    -1,  1089,
+      -1,  1095,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,  1089,    -1,    -1,  1108,    -1,  1089,  1095,    -1,    -1,
+      -1,    -1,  1095,  1089,    -1,    -1,    -1,    -1,    -1,  1089,
+      -1,    -1,    -1,  1089,    -1,  1108,    -1,    -1,    -1,    -1,
+    1089,    -1,    -1,    -1,    -1,    -1,  1095,  1089,  1089,    -1,
+      -1,    -1,  1089,    -1,  1095,  1089,    -1,    -1,  1089,  1108,
+      -1,    -1,    -1,    -1,  1089,    -1,    -1,  1108,    -1,    -1,
+      -1,    -1,  1089,    -1,    -1,    -1,  1089,    -1,    -1,  1089,
+      -1,    -1,    -1,    -1,  1089,    -1,    -1,  1089
   };
 
   const unsigned short
@@ -4743,6 +6921,7 @@ namespace isc { namespace dhcp {
      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
      201,   202,     0,     5,     7,     9,   182,   183,   184,   185,
      203,   204,   205,   210,     7,   219,     7,   225,     7,   247,
+<<<<<<< HEAD
        7,   345,     7,   422,     7,   438,     7,   455,     7,   374,
        7,   380,     7,   404,     7,   321,     7,   516,     7,   563,
        7,   554,   211,   206,   220,   226,   248,   346,   423,   439,
@@ -4790,12 +6969,62 @@ namespace isc { namespace dhcp {
      326,   328,     3,     8,     4,   522,   524,     4,   527,     4,
        4,   531,   534,     4,     4,   538,   541,     3,     8,     3,
        8,   559,     4,     3,     8,   203,   203,   182,     4,     4,
+=======
+       7,   346,     7,   423,     7,   439,     7,   456,     7,   375,
+       7,   381,     7,   405,     7,   322,     7,   517,     7,   564,
+       7,   555,   211,   206,   220,   226,   248,   347,   424,   440,
+     457,   376,   382,   406,   323,   518,   565,   556,   203,   212,
+     213,   182,   208,   209,    10,   155,   164,   165,   166,   182,
+     218,   221,   222,   223,   547,   549,   551,   562,    11,    12,
+      15,    18,    19,    20,    44,    45,    46,    47,    48,    49,
+      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
+      77,    78,    84,    89,    90,    91,    92,    93,    95,   100,
+     109,   112,   119,   127,   128,   131,   132,   153,   154,   156,
+     218,   227,   228,   229,   231,   232,   233,   234,   235,   236,
+     237,   238,   239,   240,   241,   242,   243,   245,   254,   256,
+     258,   296,   302,   308,   314,   316,   330,   340,   360,   365,
+     373,   399,   429,   431,   450,   480,   492,   504,   505,   513,
+     515,   543,   545,   553,   568,    16,    17,   218,   249,   250,
+     251,   253,   429,   431,    69,    71,    79,    80,    81,    82,
+      83,    96,    99,   107,   218,   231,   232,   233,   234,   235,
+     236,   237,   238,   239,   240,   241,   348,   349,   350,   352,
+     354,   356,   358,   360,   363,   364,   399,   417,   429,   431,
+     433,   450,   475,    70,   218,   356,   358,   399,   425,   426,
+     427,   429,   431,    72,    73,    74,    75,    76,   218,   356,
+     358,   399,   429,   431,   441,   442,   443,   445,   446,   448,
+     449,    95,   101,   102,   103,   104,   105,   106,   218,   399,
+     429,   431,   458,   459,   460,   461,   463,   465,   467,   469,
+     471,   473,   373,    21,    60,    62,    63,    66,    67,    68,
+     218,   276,   383,   384,   385,   386,   387,   388,   389,   391,
+     393,   395,   396,   398,   429,   431,    61,    64,    65,   218,
+     276,   387,   393,   407,   408,   409,   410,   411,   413,   414,
+     415,   416,   429,   431,   110,   111,   218,   324,   325,   326,
+     328,   133,   134,   135,   136,   137,   138,   139,   140,   141,
+     142,   143,   144,   145,   218,   429,   431,   519,   520,   521,
+     522,   524,   526,   527,   529,   530,   531,   534,   536,   537,
+     538,   541,   543,   545,   566,   567,   568,    13,    14,   557,
+     558,   559,   561,     6,     3,     4,     8,     3,   224,   563,
+     548,   550,   552,     4,     3,     8,   230,   554,   246,   255,
+     257,   259,     4,     4,     4,     4,     4,     4,     4,     4,
+       4,     4,     4,     4,   244,   341,   374,   400,   430,   432,
+     361,   366,   303,   315,   309,   297,   481,   451,   317,   331,
+     493,     4,   506,   514,   516,   544,   546,   569,     3,     8,
+     252,     4,     3,     8,   418,   434,   351,   353,   355,     4,
+       4,   359,   357,   476,     3,     8,   428,     3,     8,   444,
+       4,   447,     4,     4,     3,     8,   474,   462,   464,   466,
+     468,   470,   472,     8,     3,     8,   390,   277,     4,   394,
+     392,   397,     4,     8,     3,   412,     4,     4,     8,     3,
+     327,   329,     3,     8,     4,   523,   525,     4,   528,     4,
+       4,   532,   535,     4,     4,   539,   542,     3,     8,     3,
+       8,   560,     4,     3,     8,   203,   203,   182,     4,     4,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
        4,     4,     4,   222,     4,     4,     4,     4,     4,     4,
      183,   183,   183,   183,   183,   183,   183,   183,   185,   184,
      184,   183,     4,     4,     4,     4,     4,     4,     4,     4,
        4,     4,     4,     4,     4,     4,     4,     4,     4,   183,
        4,     4,     4,     4,     4,     4,   228,     4,   185,   250,
        4,     4,     4,     4,     4,   183,   185,     4,     4,     4,
+<<<<<<< HEAD
      348,     4,   425,     4,   183,     4,   183,   183,   441,     4,
        4,     4,     4,     4,     4,     4,   459,     4,     4,   183,
        4,     4,     4,   185,   384,     4,   185,   185,   408,     4,
@@ -4804,10 +7033,21 @@ namespace isc { namespace dhcp {
        4,     7,     7,   203,   203,   203,   182,     7,     7,     7,
        7,     5,   182,     5,     5,     5,   205,   207,   182,    84,
       85,    86,    87,   361,     5,     5,     5,     5,     7,     5,
+=======
+     349,     4,   426,     4,   183,     4,   183,   183,   442,     4,
+       4,     4,     4,     4,     4,     4,   460,     4,     4,   183,
+       4,     4,     4,   185,   385,     4,   185,   185,   409,     4,
+       4,   325,   185,     4,     4,   183,     4,   183,   183,     4,
+       4,   185,   185,     4,     4,   520,   567,     4,   183,   558,
+       4,     7,     7,   203,   203,   203,   182,     7,     7,     7,
+       7,     5,   182,     5,     5,     5,   205,   207,   182,    85,
+      86,    87,    88,   362,     5,     5,     5,     5,     7,     5,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
        5,     5,     7,     7,     7,   207,     7,   182,   182,     5,
        5,   214,     5,     5,   182,   182,   182,   214,   182,     7,
      182,   182,   182,   214,   214,   214,   182,   182,   182,   182,
      182,   182,   182,   182,   182,   182,   182,   203,   182,   182,
+<<<<<<< HEAD
      182,   145,   146,   532,   147,   148,   149,   150,   151,   185,
      539,   182,     5,   203,   227,   565,   556,   249,    21,    26,
       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
@@ -4854,6 +7094,54 @@ namespace isc { namespace dhcp {
      162,   163,   582,   583,   584,   586,   587,   588,   589,   580,
      585,     4,     4,     4,   590,     3,     8,     4,   185,   183,
      183,     4,   583,   182,   182
+=======
+     182,   146,   147,   533,   148,   149,   150,   151,   152,   185,
+     540,   182,     5,   203,   227,   566,   557,   249,    21,    26,
+      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
+      37,    38,    39,    40,    41,    42,    43,   218,   264,   265,
+     266,   269,   271,   273,   275,   276,   278,   279,   280,   281,
+     282,   283,   284,   285,   286,   287,   289,   290,   292,   294,
+     264,     7,   260,   261,   262,     7,   342,   343,   344,     7,
+     377,   378,   379,     7,   401,   402,   403,     7,   367,   368,
+     369,   103,   182,   304,   305,   306,   307,   212,   104,   106,
+     306,   310,   311,   312,   313,    94,   298,   299,   300,     7,
+     482,   483,     7,   452,   453,   454,     7,   318,   319,   320,
+     113,   114,   115,   116,   117,   118,   332,   333,   334,   335,
+     336,   337,   338,   339,    21,   123,   124,   125,   126,   218,
+     278,   429,   431,   494,   495,   496,   499,   500,   502,   503,
+     129,   130,   218,   429,   431,   507,   508,   509,   511,   519,
+       7,   570,   571,   215,     7,   419,   420,   421,     7,   435,
+     436,   437,   108,   461,   477,   478,   260,     8,     8,     8,
+       8,   267,   270,   272,   274,     4,     4,     4,     4,     4,
+     288,     4,     4,   291,   293,   295,     4,     4,     4,     4,
+       3,     8,     8,   263,     6,     3,   345,     6,     3,   380,
+       6,     3,   404,     6,     3,   370,     6,     3,     3,     6,
+       6,     3,     6,   301,     3,     8,   484,     3,     6,   455,
+       6,     3,   321,     6,     3,     4,     4,     4,     4,     4,
+       4,     3,     8,   497,   501,     4,     4,     4,     3,     8,
+     510,   512,     3,     8,     8,   572,     3,     6,   182,   216,
+     217,   422,     6,     3,   438,     6,     3,   479,     8,     6,
+       4,     4,     4,     4,   183,   185,   183,   185,   183,     4,
+     183,   183,     4,     4,     4,   183,   183,   185,   183,   265,
+     264,   262,   348,   344,   383,   379,   407,   403,   218,   231,
+     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
+     276,   340,   352,   354,   356,   358,   360,   364,   371,   372,
+     399,   429,   431,   475,   369,   305,   311,     4,   299,    97,
+      98,   218,   276,   399,   429,   431,   485,   486,   487,   488,
+     489,   491,   483,   458,   454,   324,   320,   183,   183,   183,
+     183,   183,   183,   333,     4,     4,   183,   183,   183,   495,
+       4,     4,   508,   157,   159,   160,   218,   276,   429,   431,
+     573,   574,   575,   576,   578,   571,     6,     3,   425,   421,
+     441,   437,     4,    22,    23,    24,    25,   268,   182,   182,
+     182,   182,   182,   182,   182,     8,     8,     8,     8,     3,
+       8,   182,   490,     4,     8,     3,     8,     8,   120,   121,
+     122,   498,   182,   182,   182,   579,     4,   577,     3,     8,
+     182,     8,     8,   182,   372,     4,   185,   487,     4,   183,
+       4,   574,   182,     5,   182,     7,   580,   581,   582,     3,
+       6,   158,   161,   162,   163,   583,   584,   585,   587,   588,
+     589,   581,   586,     4,     4,     4,     3,     8,     4,   185,
+     183,   183,   584,   182
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
   };
 
   const unsigned short
@@ -4877,6 +7165,7 @@ namespace isc { namespace dhcp {
      254,   257,   256,   259,   258,   260,   260,   261,   261,   263,
      262,   264,   264,   265,   265,   265,   265,   265,   265,   265,
      265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
+<<<<<<< HEAD
      265,   265,   265,   267,   266,   268,   268,   268,   268,   270,
      269,   272,   271,   274,   273,   275,   277,   276,   278,   279,
      280,   281,   282,   283,   284,   285,   287,   286,   288,   290,
@@ -4931,6 +7220,62 @@ namespace isc { namespace dhcp {
      574,   576,   575,   578,   577,   579,   579,   581,   580,   582,
      582,   583,   583,   583,   583,   583,   585,   584,   586,   587,
      588,   590,   589
+=======
+     265,   265,   265,   265,   267,   266,   268,   268,   268,   268,
+     270,   269,   272,   271,   274,   273,   275,   277,   276,   278,
+     279,   280,   281,   282,   283,   284,   285,   286,   288,   287,
+     289,   291,   290,   293,   292,   295,   294,   297,   296,   298,
+     298,   299,   301,   300,   303,   302,   304,   304,   305,   305,
+     306,   307,   309,   308,   310,   310,   311,   311,   311,   312,
+     313,   315,   314,   317,   316,   318,   318,   319,   319,   321,
+     320,   323,   322,   324,   324,   324,   325,   325,   327,   326,
+     329,   328,   331,   330,   332,   332,   333,   333,   333,   333,
+     333,   333,   334,   335,   336,   337,   338,   339,   341,   340,
+     342,   342,   343,   343,   345,   344,   347,   346,   348,   348,
+     349,   349,   349,   349,   349,   349,   349,   349,   349,   349,
+     349,   349,   349,   349,   349,   349,   349,   349,   349,   349,
+     349,   349,   349,   349,   349,   349,   349,   351,   350,   353,
+     352,   355,   354,   357,   356,   359,   358,   361,   360,   362,
+     362,   362,   362,   363,   364,   366,   365,   367,   367,   368,
+     368,   370,   369,   371,   371,   372,   372,   372,   372,   372,
+     372,   372,   372,   372,   372,   372,   372,   372,   372,   372,
+     372,   372,   372,   372,   372,   372,   372,   372,   372,   374,
+     373,   376,   375,   377,   377,   378,   378,   380,   379,   382,
+     381,   383,   383,   384,   384,   385,   385,   385,   385,   385,
+     385,   385,   385,   385,   385,   386,   387,   388,   390,   389,
+     392,   391,   394,   393,   395,   397,   396,   398,   400,   399,
+     401,   401,   402,   402,   404,   403,   406,   405,   407,   407,
+     408,   408,   409,   409,   409,   409,   409,   409,   409,   409,
+     409,   410,   412,   411,   413,   414,   415,   416,   418,   417,
+     419,   419,   420,   420,   422,   421,   424,   423,   425,   425,
+     426,   426,   426,   426,   426,   426,   426,   428,   427,   430,
+     429,   432,   431,   434,   433,   435,   435,   436,   436,   438,
+     437,   440,   439,   441,   441,   442,   442,   442,   442,   442,
+     442,   442,   442,   442,   442,   442,   444,   443,   445,   447,
+     446,   448,   449,   451,   450,   452,   452,   453,   453,   455,
+     454,   457,   456,   458,   458,   459,   459,   460,   460,   460,
+     460,   460,   460,   460,   460,   460,   460,   460,   462,   461,
+     464,   463,   466,   465,   468,   467,   470,   469,   472,   471,
+     474,   473,   476,   475,   477,   477,   479,   478,   481,   480,
+     482,   482,   484,   483,   485,   485,   486,   486,   487,   487,
+     487,   487,   487,   487,   487,   488,   490,   489,   491,   493,
+     492,   494,   494,   495,   495,   495,   495,   495,   495,   495,
+     495,   495,   497,   496,   498,   498,   498,   499,   501,   500,
+     502,   503,   504,   506,   505,   507,   507,   508,   508,   508,
+     508,   508,   510,   509,   512,   511,   514,   513,   516,   515,
+     518,   517,   519,   519,   520,   520,   520,   520,   520,   520,
+     520,   520,   520,   520,   520,   520,   520,   520,   520,   520,
+     520,   520,   521,   523,   522,   525,   524,   526,   528,   527,
+     529,   530,   532,   531,   533,   533,   535,   534,   536,   537,
+     539,   538,   540,   540,   540,   540,   540,   542,   541,   544,
+     543,   546,   545,   548,   547,   550,   549,   552,   551,   554,
+     553,   556,   555,   557,   557,   558,   558,   560,   559,   561,
+     563,   562,   565,   564,   566,   566,   567,   569,   568,   570,
+     570,   572,   571,   573,   573,   574,   574,   574,   574,   574,
+     574,   574,   575,   577,   576,   579,   578,   580,   580,   582,
+     581,   583,   583,   584,   584,   584,   584,   586,   585,   587,
+     588,   589
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
   };
 
   const unsigned char
@@ -4954,50 +7299,51 @@ namespace isc { namespace dhcp {
        6,     0,     6,     0,     6,     0,     1,     1,     3,     0,
        4,     1,     3,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     0,     4,     1,     1,     1,     1,     0,
-       4,     0,     4,     0,     4,     3,     0,     4,     3,     3,
-       3,     3,     3,     3,     3,     3,     0,     4,     3,     0,
-       4,     0,     4,     0,     4,     0,     6,     1,     3,     1,
+       1,     1,     1,     1,     0,     4,     1,     1,     1,     1,
+       0,     4,     0,     4,     0,     4,     3,     0,     4,     3,
+       3,     3,     3,     3,     3,     3,     3,     3,     0,     4,
+       3,     0,     4,     0,     4,     0,     4,     0,     6,     1,
+       3,     1,     0,     4,     0,     6,     1,     3,     1,     1,
+       1,     1,     0,     6,     1,     3,     1,     1,     1,     1,
+       1,     0,     6,     0,     6,     0,     1,     1,     3,     0,
+       4,     0,     4,     1,     3,     1,     1,     1,     0,     4,
        0,     4,     0,     6,     1,     3,     1,     1,     1,     1,
-       0,     6,     1,     3,     1,     1,     1,     1,     1,     0,
-       6,     0,     6,     0,     1,     1,     3,     0,     4,     0,
-       4,     1,     3,     1,     1,     1,     0,     4,     0,     4,
-       0,     6,     1,     3,     1,     1,     1,     1,     1,     1,
-       3,     3,     3,     3,     3,     3,     0,     6,     0,     1,
-       1,     3,     0,     4,     0,     4,     1,     3,     1,     1,
+       1,     1,     3,     3,     3,     3,     3,     3,     0,     6,
+       0,     1,     1,     3,     0,     4,     0,     4,     1,     3,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     0,     4,     0,     4,     0,
-       4,     0,     4,     0,     4,     0,     4,     1,     1,     1,
-       1,     3,     3,     0,     6,     0,     1,     1,     3,     0,
-       4,     1,     3,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     0,     4,     0,
+       4,     0,     4,     0,     4,     0,     4,     0,     4,     1,
+       1,     1,     1,     3,     3,     0,     6,     0,     1,     1,
+       3,     0,     4,     1,     3,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     0,     6,     0,
-       4,     0,     1,     1,     3,     0,     4,     0,     4,     0,
-       1,     1,     3,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     3,     1,     0,     4,     0,     4,
-       0,     4,     1,     0,     4,     3,     0,     6,     0,     1,
-       1,     3,     0,     4,     0,     4,     0,     1,     1,     3,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       0,     4,     1,     1,     3,     3,     0,     6,     0,     1,
-       1,     3,     0,     4,     0,     4,     1,     3,     1,     1,
-       1,     1,     1,     1,     1,     0,     4,     0,     4,     0,
-       4,     0,     6,     0,     1,     1,     3,     0,     4,     0,
-       4,     1,     3,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     0,     4,     3,     0,     4,     3,
-       3,     0,     6,     0,     1,     1,     3,     0,     4,     0,
+       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,     1,     1,     0,     4,     0,     6,     1,     3,
-       0,     4,     0,     1,     1,     3,     1,     1,     1,     1,
-       1,     1,     1,     1,     0,     4,     3,     0,     6,     1,
-       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       0,     4,     1,     1,     1,     3,     0,     4,     3,     3,
-       3,     0,     6,     1,     3,     1,     1,     1,     1,     1,
-       0,     4,     0,     4,     0,     4,     0,     6,     0,     4,
+       1,     1,     1,     1,     1,     1,     3,     1,     0,     4,
+       0,     4,     0,     4,     1,     0,     4,     3,     0,     6,
+       0,     1,     1,     3,     0,     4,     0,     4,     0,     1,
        1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     0,     4,     1,     1,     3,     3,     0,     6,
+       0,     1,     1,     3,     0,     4,     0,     4,     1,     3,
+       1,     1,     1,     1,     1,     1,     1,     0,     4,     0,
+       4,     0,     4,     0,     6,     0,     1,     1,     3,     0,
+       4,     0,     4,     1,     3,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     0,     4,     3,     0,
+       4,     3,     3,     0,     6,     0,     1,     1,     3,     0,
+       4,     0,     4,     0,     1,     1,     3,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     0,     4,
+       0,     4,     0,     4,     0,     4,     0,     4,     0,     4,
+       0,     4,     0,     6,     1,     1,     0,     4,     0,     6,
+       1,     3,     0,     4,     0,     1,     1,     3,     1,     1,
+       1,     1,     1,     1,     1,     1,     0,     4,     3,     0,
+       6,     1,     3,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     0,     4,     1,     1,     1,     3,     0,     4,
+       3,     3,     3,     0,     6,     1,     3,     1,     1,     1,
+       1,     1,     0,     4,     0,     4,     0,     4,     0,     6,
+       0,     4,     1,     3,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+<<<<<<< HEAD
        3,     0,     4,     0,     4,     3,     0,     4,     3,     3,
        0,     4,     1,     1,     0,     4,     3,     3,     0,     4,
        1,     1,     1,     1,     1,     0,     4,     0,     4,     0,
@@ -5008,6 +7354,18 @@ namespace isc { namespace dhcp {
        3,     0,     4,     0,     6,     1,     3,     0,     4,     1,
        3,     1,     1,     1,     1,     1,     0,     4,     3,     3,
        3,     0,     4
+=======
+       1,     1,     3,     0,     4,     0,     4,     3,     0,     4,
+       3,     3,     0,     4,     1,     1,     0,     4,     3,     3,
+       0,     4,     1,     1,     1,     1,     1,     0,     4,     0,
+       4,     0,     4,     0,     4,     0,     4,     0,     4,     0,
+       6,     0,     4,     1,     3,     1,     1,     0,     6,     3,
+       0,     6,     0,     4,     1,     3,     1,     0,     6,     1,
+       3,     0,     4,     1,     3,     1,     1,     1,     1,     1,
+       1,     1,     3,     0,     4,     0,     6,     1,     3,     0,
+       4,     1,     3,     1,     1,     1,     1,     0,     4,     3,
+       3,     3
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
   };
 
 
@@ -5028,7 +7386,7 @@ namespace isc { namespace dhcp {
   "\"connect-timeout\"", "\"contact-points\"", "\"max-reconnect-tries\"",
   "\"reconnect-wait-time\"", "\"keyspace\"", "\"consistency\"",
   "\"serial-consistency\"", "\"request-timeout\"", "\"tcp-keepalive\"",
-  "\"tcp-nodelay\"", "\"preferred-lifetime\"",
+  "\"tcp-nodelay\"", "\"max-row-errors\"", "\"preferred-lifetime\"",
   "\"min-preferred-lifetime\"", "\"max-preferred-lifetime\"",
   "\"valid-lifetime\"", "\"min-valid-lifetime\"", "\"max-valid-lifetime\"",
   "\"renew-timer\"", "\"rebind-timer\"", "\"calculate-tee-times\"",
@@ -5089,9 +7447,9 @@ namespace isc { namespace dhcp {
   "database", "$@30", "database_map_params", "database_map_param",
   "database_type", "$@31", "db_type", "user", "$@32", "password", "$@33",
   "host", "$@34", "port", "name", "$@35", "persist", "lfc_interval",
-  "readonly", "connect_timeout", "reconnect_wait_time", "request_timeout",
-  "tcp_keepalive", "tcp_nodelay", "contact_points", "$@36",
-  "max_reconnect_tries", "keyspace", "$@37", "consistency", "$@38",
+  "readonly", "connect_timeout", "reconnect_wait_time", "max_row_errors",
+  "request_timeout", "tcp_keepalive", "tcp_nodelay", "contact_points",
+  "$@36", "max_reconnect_tries", "keyspace", "$@37", "consistency", "$@38",
   "serial_consistency", "$@39", "sanity_checks", "$@40",
   "sanity_checks_params", "sanity_checks_param", "lease_checks", "$@41",
   "mac_sources", "$@42", "mac_sources_list", "mac_sources_value",
@@ -5190,6 +7548,7 @@ namespace isc { namespace dhcp {
      619,   631,   631,   643,   643,   653,   654,   657,   658,   661,
      661,   671,   672,   675,   676,   677,   678,   679,   680,   681,
      682,   683,   684,   685,   686,   687,   688,   689,   690,   691,
+<<<<<<< HEAD
      692,   693,   694,   697,   697,   704,   705,   706,   707,   710,
      710,   718,   718,   726,   726,   734,   739,   739,   747,   752,
      757,   762,   767,   772,   777,   782,   787,   787,   795,   800,
@@ -5244,6 +7603,62 @@ namespace isc { namespace dhcp {
     2382,  2387,  2387,  2395,  2395,  2405,  2406,  2409,  2409,  2417,
     2418,  2421,  2422,  2423,  2424,  2425,  2428,  2428,  2436,  2441,
     2446,  2451,  2451
+=======
+     692,   693,   694,   695,   698,   698,   705,   706,   707,   708,
+     711,   711,   719,   719,   727,   727,   735,   740,   740,   748,
+     753,   758,   763,   768,   773,   778,   783,   788,   793,   793,
+     801,   806,   806,   814,   814,   822,   822,   830,   830,   840,
+     841,   843,   845,   845,   863,   863,   873,   874,   877,   878,
+     881,   886,   891,   891,   901,   902,   905,   906,   907,   910,
+     915,   922,   922,   932,   932,   942,   943,   946,   947,   950,
+     950,   960,   960,   970,   971,   972,   975,   976,   979,   979,
+     987,   987,   995,   995,  1006,  1007,  1010,  1011,  1012,  1013,
+    1014,  1015,  1018,  1023,  1028,  1033,  1038,  1043,  1051,  1051,
+    1064,  1065,  1068,  1069,  1076,  1076,  1102,  1102,  1113,  1114,
+    1118,  1119,  1120,  1121,  1122,  1123,  1124,  1125,  1126,  1127,
+    1128,  1129,  1130,  1131,  1132,  1133,  1134,  1135,  1136,  1137,
+    1138,  1139,  1140,  1141,  1142,  1143,  1144,  1147,  1147,  1155,
+    1155,  1163,  1163,  1171,  1171,  1179,  1179,  1189,  1189,  1196,
+    1197,  1198,  1199,  1202,  1207,  1215,  1215,  1226,  1227,  1231,
+    1232,  1235,  1235,  1243,  1244,  1247,  1248,  1249,  1250,  1251,
+    1252,  1253,  1254,  1255,  1256,  1257,  1258,  1259,  1260,  1261,
+    1262,  1263,  1264,  1265,  1266,  1267,  1268,  1269,  1270,  1277,
+    1277,  1290,  1290,  1299,  1300,  1303,  1304,  1309,  1309,  1324,
+    1324,  1338,  1339,  1342,  1343,  1346,  1347,  1348,  1349,  1350,
+    1351,  1352,  1353,  1354,  1355,  1358,  1360,  1365,  1367,  1367,
+    1375,  1375,  1383,  1383,  1391,  1393,  1393,  1401,  1410,  1410,
+    1422,  1423,  1428,  1429,  1434,  1434,  1446,  1446,  1458,  1459,
+    1464,  1465,  1470,  1471,  1472,  1473,  1474,  1475,  1476,  1477,
+    1478,  1481,  1483,  1483,  1491,  1493,  1495,  1500,  1508,  1508,
+    1520,  1521,  1524,  1525,  1528,  1528,  1538,  1538,  1547,  1548,
+    1551,  1552,  1553,  1554,  1555,  1556,  1557,  1560,  1560,  1568,
+    1568,  1593,  1593,  1623,  1623,  1635,  1636,  1639,  1640,  1643,
+    1643,  1655,  1655,  1667,  1668,  1671,  1672,  1673,  1674,  1675,
+    1676,  1677,  1678,  1679,  1680,  1681,  1684,  1684,  1692,  1697,
+    1697,  1705,  1710,  1718,  1718,  1728,  1729,  1732,  1733,  1736,
+    1736,  1745,  1745,  1754,  1755,  1758,  1759,  1763,  1764,  1765,
+    1766,  1767,  1768,  1769,  1770,  1771,  1772,  1773,  1776,  1776,
+    1786,  1786,  1796,  1796,  1804,  1804,  1812,  1812,  1820,  1820,
+    1828,  1828,  1841,  1841,  1851,  1852,  1855,  1855,  1866,  1866,
+    1876,  1877,  1880,  1880,  1890,  1891,  1894,  1895,  1898,  1899,
+    1900,  1901,  1902,  1903,  1904,  1907,  1909,  1909,  1917,  1925,
+    1925,  1937,  1938,  1941,  1942,  1943,  1944,  1945,  1946,  1947,
+    1948,  1949,  1952,  1952,  1959,  1960,  1961,  1964,  1969,  1969,
+    1977,  1982,  1989,  1996,  1996,  2006,  2007,  2010,  2011,  2012,
+    2013,  2014,  2017,  2017,  2025,  2025,  2035,  2035,  2075,  2075,
+    2087,  2087,  2097,  2098,  2101,  2102,  2103,  2104,  2105,  2106,
+    2107,  2108,  2109,  2110,  2111,  2112,  2113,  2114,  2115,  2116,
+    2117,  2118,  2121,  2126,  2126,  2134,  2134,  2142,  2147,  2147,
+    2155,  2160,  2165,  2165,  2173,  2174,  2177,  2177,  2185,  2190,
+    2195,  2195,  2203,  2206,  2209,  2212,  2215,  2221,  2221,  2229,
+    2229,  2237,  2237,  2247,  2247,  2254,  2254,  2261,  2261,  2270,
+    2270,  2281,  2281,  2291,  2292,  2296,  2297,  2300,  2300,  2310,
+    2320,  2320,  2330,  2330,  2341,  2342,  2346,  2350,  2350,  2362,
+    2363,  2367,  2367,  2375,  2376,  2379,  2380,  2381,  2382,  2383,
+    2384,  2385,  2388,  2393,  2393,  2401,  2401,  2411,  2412,  2415,
+    2415,  2423,  2424,  2427,  2428,  2429,  2430,  2433,  2433,  2441,
+    2446,  2451
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
   };
 
   // Print the state stack on the debug stream.
@@ -5276,11 +7691,16 @@ namespace isc { namespace dhcp {
 #endif // PARSER6_DEBUG
 
 
-#line 14 "dhcp6_parser.yy"
+#line 14 "dhcp6_parser.yy" // lalr1.cc:1218
 } } // isc::dhcp
+<<<<<<< HEAD
 #line 5282 "dhcp6_parser.cc"
 
 #line 2459 "dhcp6_parser.yy"
+=======
+#line 5256 "dhcp6_parser.cc" // lalr1.cc:1218
+#line 2456 "dhcp6_parser.yy" // lalr1.cc:1219
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 
 
 void
index 38d2f2abd019789cd30b59fe69701854a4ad1c8c..0b0c1b0471ca6993e3ba4ece1808f3fa1a33d744 100644 (file)
@@ -1,8 +1,8 @@
-// A Bison parser, made by GNU Bison 3.4.1.
+// A Bison parser, made by GNU Bison 3.2.1.
 
 // Skeleton interface for Bison LALR(1) parsers in C++
 
-// Copyright (C) 2002-2015, 2018-2019 Free Software Foundation, Inc.
+// Copyright (C) 2002-2015, 2018 Free Software Foundation, Inc.
 
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
@@ -44,7 +44,7 @@
 #ifndef YY_PARSER6_DHCP6_PARSER_H_INCLUDED
 # define YY_PARSER6_DHCP6_PARSER_H_INCLUDED
 // //                    "%code requires" blocks.
-#line 17 "dhcp6_parser.yy"
+#line 17 "dhcp6_parser.yy" // lalr1.cc:404
 
 #include <string>
 #include <cc/data.h>
@@ -56,7 +56,7 @@ using namespace isc::dhcp;
 using namespace isc::data;
 using namespace std;
 
-#line 60 "dhcp6_parser.h"
+#line 60 "dhcp6_parser.h" // lalr1.cc:404
 
 # include <cassert>
 # include <cstdlib> // std::abort
@@ -65,14 +65,8 @@ using namespace std;
 # include <string>
 # include <vector>
 
-#if defined __cplusplus
-# define YY_CPLUSPLUS __cplusplus
-#else
-# define YY_CPLUSPLUS 199711L
-#endif
-
 // Support move semantics when possible.
-#if 201103L <= YY_CPLUSPLUS
+#if defined __cplusplus && 201103L <= __cplusplus
 # define YY_MOVE           std::move
 # define YY_MOVE_OR_COPY   move
 # define YY_MOVE_REF(Type) Type&&
@@ -85,22 +79,6 @@ using namespace std;
 # define YY_RVREF(Type)    const Type&
 # define YY_COPY(Type)     const Type&
 #endif
-
-// Support noexcept when possible.
-#if 201103L <= YY_CPLUSPLUS
-# define YY_NOEXCEPT noexcept
-# define YY_NOTHROW
-#else
-# define YY_NOEXCEPT
-# define YY_NOTHROW throw ()
-#endif
-
-// Support constexpr when possible.
-#if 201703 <= YY_CPLUSPLUS
-# define YY_CONSTEXPR constexpr
-#else
-# define YY_CONSTEXPR
-#endif
 # include "location.hh"
 #include <typeinfo>
 #ifndef YYASSERT
@@ -178,80 +156,193 @@ using namespace std;
 # endif /* ! defined YYDEBUG */
 #endif  /* ! defined PARSER6_DEBUG */
 
-#line 14 "dhcp6_parser.yy"
+#line 14 "dhcp6_parser.yy" // lalr1.cc:404
 namespace isc { namespace dhcp {
-#line 184 "dhcp6_parser.h"
+#line 162 "dhcp6_parser.h" // lalr1.cc:404
+
+  /// A stack with random access from its top.
+  template <typename T, typename S = std::vector<T> >
+  class stack
+  {
+  public:
+    // Hide our reversed order.
+    typedef typename S::reverse_iterator iterator;
+    typedef typename S::const_reverse_iterator const_iterator;
+    typedef typename S::size_type size_type;
+
+    stack (size_type n = 200)
+      : seq_ (n)
+    {}
 
+    /// Random access.
+    ///
+    /// Index 0 returns the topmost element.
+    T&
+    operator[] (size_type i)
+    {
+      return seq_[size () - 1 - i];
+    }
 
+    /// Random access.
+    ///
+    /// Index 0 returns the topmost element.
+    T&
+    operator[] (int i)
+    {
+      return operator[] (size_type (i));
+    }
 
+    /// Random access.
+    ///
+    /// Index 0 returns the topmost element.
+    const T&
+    operator[] (size_type i) const
+    {
+      return seq_[size () - 1 - i];
+    }
 
-  /// A Bison parser.
-  class Dhcp6Parser
+    /// Random access.
+    ///
+    /// Index 0 returns the topmost element.
+    const T&
+    operator[] (int i) const
+    {
+      return operator[] (size_type (i));
+    }
+
+    /// Steal the contents of \a t.
+    ///
+    /// Close to move-semantics.
+    void
+    push (YY_MOVE_REF (T) t)
+    {
+      seq_.push_back (T ());
+      operator[](0).move (t);
+    }
+
+    void
+    pop (int n = 1)
+    {
+      for (; 0 < n; --n)
+        seq_.pop_back ();
+    }
+
+    void
+    clear ()
+    {
+      seq_.clear ();
+    }
+
+    size_type
+    size () const
+    {
+      return seq_.size ();
+    }
+
+    const_iterator
+    begin () const
+    {
+      return seq_.rbegin ();
+    }
+
+    const_iterator
+    end () const
+    {
+      return seq_.rend ();
+    }
+
+  private:
+    stack (const stack&);
+    stack& operator= (const stack&);
+    /// The wrapped container.
+    S seq_;
+  };
+
+  /// Present a slice of the top of a stack.
+  template <typename T, typename S = stack<T> >
+  class slice
   {
   public:
-#ifndef PARSER6_STYPE
-  /// A buffer to store and retrieve objects.
+    slice (const S& stack, int range)
+      : stack_ (stack)
+      , range_ (range)
+    {}
+
+    const T&
+    operator[] (int i) const
+    {
+      return stack_[range_ - i];
+    }
+
+  private:
+    const S& stack_;
+    int range_;
+  };
+
+
+
+  /// A char[S] buffer to store and retrieve objects.
   ///
   /// Sort of a variant, but does not keep track of the nature
   /// of the stored data, since that knowledge is available
-  /// via the current parser state.
-  class semantic_type
+  /// via the current state.
+  template <size_t S>
+  struct variant
   {
-  public:
     /// Type of *this.
-    typedef semantic_type self_type;
+    typedef variant<S> self_type;
 
     /// Empty construction.
-    semantic_type () YY_NOEXCEPT
+    variant ()
       : yybuffer_ ()
       , yytypeid_ (YY_NULLPTR)
     {}
 
     /// Construct and fill.
     template <typename T>
-    semantic_type (YY_RVREF (T) t)
+    variant (YY_RVREF (T) t)
       : yytypeid_ (&typeid (T))
     {
-      YYASSERT (sizeof (T) <= size);
+      YYASSERT (sizeof (T) <= S);
       new (yyas_<T> ()) T (YY_MOVE (t));
     }
 
     /// Destruction, allowed only if empty.
-    ~semantic_type () YY_NOEXCEPT
+    ~variant ()
     {
       YYASSERT (!yytypeid_);
     }
 
-# if 201103L <= YY_CPLUSPLUS
-    /// Instantiate a \a T in here from \a t.
-    template <typename T, typename... U>
-    T&
-    emplace (U&&... u)
-    {
-      YYASSERT (!yytypeid_);
-      YYASSERT (sizeof (T) <= size);
-      yytypeid_ = & typeid (T);
-      return *new (yyas_<T> ()) T (std::forward <U>(u)...);
-    }
-# else
     /// Instantiate an empty \a T in here.
     template <typename T>
     T&
     emplace ()
     {
       YYASSERT (!yytypeid_);
-      YYASSERT (sizeof (T) <= size);
+      YYASSERT (sizeof (T) <= S);
       yytypeid_ = & typeid (T);
       return *new (yyas_<T> ()) T ();
     }
 
+# if defined __cplusplus && 201103L <= __cplusplus
+    /// Instantiate a \a T in here from \a t.
+    template <typename T, typename U>
+    T&
+    emplace (U&& u)
+    {
+      YYASSERT (!yytypeid_);
+      YYASSERT (sizeof (T) <= S);
+      yytypeid_ = & typeid (T);
+      return *new (yyas_<T> ()) T (std::forward <U>(u));
+    }
+# else
     /// Instantiate a \a T in here from \a t.
     template <typename T>
     T&
     emplace (const T& t)
     {
       YYASSERT (!yytypeid_);
-      YYASSERT (sizeof (T) <= size);
+      YYASSERT (sizeof (T) <= S);
       yytypeid_ = & typeid (T);
       return *new (yyas_<T> ()) T (t);
     }
@@ -278,75 +369,75 @@ namespace isc { namespace dhcp {
     /// Accessor to a built \a T.
     template <typename T>
     T&
-    as () YY_NOEXCEPT
+    as ()
     {
       YYASSERT (yytypeid_);
       YYASSERT (*yytypeid_ == typeid (T));
-      YYASSERT (sizeof (T) <= size);
+      YYASSERT (sizeof (T) <= S);
       return *yyas_<T> ();
     }
 
     /// Const accessor to a built \a T (for %printer).
     template <typename T>
     const T&
-    as () const YY_NOEXCEPT
+    as () const
     {
       YYASSERT (yytypeid_);
       YYASSERT (*yytypeid_ == typeid (T));
-      YYASSERT (sizeof (T) <= size);
+      YYASSERT (sizeof (T) <= S);
       return *yyas_<T> ();
     }
 
-    /// Swap the content with \a that, of same type.
+    /// Swap the content with \a other, of same type.
     ///
     /// Both variants must be built beforehand, because swapping the actual
     /// data requires reading it (with as()), and this is not possible on
     /// unconstructed variants: it would require some dynamic testing, which
     /// should not be the variant's responsibility.
     /// Swapping between built and (possibly) non-built is done with
-    /// self_type::move ().
+    /// variant::move ().
     template <typename T>
     void
-    swap (self_type& that) YY_NOEXCEPT
+    swap (self_type& other)
     {
       YYASSERT (yytypeid_);
-      YYASSERT (*yytypeid_ == *that.yytypeid_);
-      std::swap (as<T> (), that.as<T> ());
+      YYASSERT (*yytypeid_ == *other.yytypeid_);
+      std::swap (as<T> (), other.as<T> ());
     }
 
-    /// Move the content of \a that to this.
+    /// Move the content of \a other to this.
     ///
-    /// Destroys \a that.
+    /// Destroys \a other.
     template <typename T>
     void
-    move (self_type& that)
+    move (self_type& other)
     {
-# if 201103L <= YY_CPLUSPLUS
-      emplace<T> (std::move (that.as<T> ()));
+# if defined __cplusplus && 201103L <= __cplusplus
+      emplace<T> (std::move (other.as<T> ()));
 # else
       emplace<T> ();
-      swap<T> (that);
+      swap<T> (other);
 # endif
-      that.destroy<T> ();
+      other.destroy<T> ();
     }
 
-# if 201103L <= YY_CPLUSPLUS
-    /// Move the content of \a that to this.
+# if defined __cplusplus && 201103L <= __cplusplus
+    /// Move the content of \a other to this.
     template <typename T>
     void
-    move (self_type&& that)
+    move (self_type&& other)
     {
-      emplace<T> (std::move (that.as<T> ()));
-      that.destroy<T> ();
+      emplace<T> (std::move (other.as<T> ()));
+      other.destroy<T> ();
     }
 #endif
 
-    /// Copy the content of \a that to this.
+    /// Copy the content of \a other to this.
     template <typename T>
     void
-    copy (const self_type& that)
+    copy (const self_type& other)
     {
-      emplace<T> (that.as<T> ());
+      emplace<T> (other.as<T> ());
     }
 
     /// Destroy the stored \a T.
@@ -361,12 +452,12 @@ namespace isc { namespace dhcp {
   private:
     /// Prohibit blind copies.
     self_type& operator= (const self_type&);
-    semantic_type (const self_type&);
+    variant (const self_type&);
 
     /// Accessor to raw memory as \a T.
     template <typename T>
     T*
-    yyas_ () YY_NOEXCEPT
+    yyas_ ()
     {
       void *yyp = yybuffer_.yyraw;
       return static_cast<T*> (yyp);
@@ -375,12 +466,30 @@ namespace isc { namespace dhcp {
     /// Const accessor to raw memory as \a T.
     template <typename T>
     const T*
-    yyas_ () const YY_NOEXCEPT
+    yyas_ () const
     {
       const void *yyp = yybuffer_.yyraw;
       return static_cast<const T*> (yyp);
      }
 
+    union
+    {
+      /// Strongest alignment constraints.
+      long double yyalign_me;
+      /// A buffer large enough to store any of the semantic values.
+      char yyraw[S];
+    } yybuffer_;
+
+    /// Whether the content is built: if defined, the name of the stored type.
+    const std::type_info *yytypeid_;
+  };
+
+
+  /// A Bison parser.
+  class Dhcp6Parser
+  {
+  public:
+#ifndef PARSER6_STYPE
     /// An auxiliary type to compute the largest semantic type.
     union union_type
     {
@@ -404,24 +513,10 @@ namespace isc { namespace dhcp {
 
       // "constant string"
       char dummy5[sizeof (std::string)];
-    };
-
-    /// The size of the largest semantic type.
-    enum { size = sizeof (union_type) };
-
-    /// A buffer to store semantic values.
-    union
-    {
-      /// Strongest alignment constraints.
-      long double yyalign_me;
-      /// A buffer large enough to store any of the semantic values.
-      char yyraw[size];
-    } yybuffer_;
-
-    /// Whether the content is built: if defined, the name of the stored type.
-    const std::type_info *yytypeid_;
-  };
+};
 
+    /// Symbol semantic values.
+    typedef variant<sizeof (union_type)> semantic_type;
 #else
     typedef PARSER6_STYPE semantic_type;
 #endif
@@ -431,18 +526,7 @@ namespace isc { namespace dhcp {
     /// Syntax errors thrown from user actions.
     struct syntax_error : std::runtime_error
     {
-      syntax_error (const location_type& l, const std::string& m)
-        : std::runtime_error (m)
-        , location (l)
-      {}
-
-      syntax_error (const syntax_error& s)
-        : std::runtime_error (s.what ())
-        , location (s.location)
-      {}
-
-      ~syntax_error () YY_NOEXCEPT YY_NOTHROW;
-
+      syntax_error (const location_type& l, const std::string& m);
       location_type location;
     };
 
@@ -492,6 +576,7 @@ namespace isc { namespace dhcp {
         TOKEN_REQUEST_TIMEOUT = 295,
         TOKEN_TCP_KEEPALIVE = 296,
         TOKEN_TCP_NODELAY = 297,
+<<<<<<< HEAD
         TOKEN_PREFERRED_LIFETIME = 298,
         TOKEN_MIN_PREFERRED_LIFETIME = 299,
         TOKEN_MAX_PREFERRED_LIFETIME = 300,
@@ -613,6 +698,129 @@ namespace isc { namespace dhcp {
         TOKEN_MAXSIZE = 416,
         TOKEN_MAXVER = 417,
         TOKEN_PATTERN = 418,
+=======
+        TOKEN_MAX_ROW_ERRORS = 298,
+        TOKEN_PREFERRED_LIFETIME = 299,
+        TOKEN_MIN_PREFERRED_LIFETIME = 300,
+        TOKEN_MAX_PREFERRED_LIFETIME = 301,
+        TOKEN_VALID_LIFETIME = 302,
+        TOKEN_MIN_VALID_LIFETIME = 303,
+        TOKEN_MAX_VALID_LIFETIME = 304,
+        TOKEN_RENEW_TIMER = 305,
+        TOKEN_REBIND_TIMER = 306,
+        TOKEN_CALCULATE_TEE_TIMES = 307,
+        TOKEN_T1_PERCENT = 308,
+        TOKEN_T2_PERCENT = 309,
+        TOKEN_DECLINE_PROBATION_PERIOD = 310,
+        TOKEN_SERVER_TAG = 311,
+        TOKEN_SUBNET6 = 312,
+        TOKEN_OPTION_DEF = 313,
+        TOKEN_OPTION_DATA = 314,
+        TOKEN_NAME = 315,
+        TOKEN_DATA = 316,
+        TOKEN_CODE = 317,
+        TOKEN_SPACE = 318,
+        TOKEN_CSV_FORMAT = 319,
+        TOKEN_ALWAYS_SEND = 320,
+        TOKEN_RECORD_TYPES = 321,
+        TOKEN_ENCAPSULATE = 322,
+        TOKEN_ARRAY = 323,
+        TOKEN_POOLS = 324,
+        TOKEN_POOL = 325,
+        TOKEN_PD_POOLS = 326,
+        TOKEN_PREFIX = 327,
+        TOKEN_PREFIX_LEN = 328,
+        TOKEN_EXCLUDED_PREFIX = 329,
+        TOKEN_EXCLUDED_PREFIX_LEN = 330,
+        TOKEN_DELEGATED_LEN = 331,
+        TOKEN_USER_CONTEXT = 332,
+        TOKEN_COMMENT = 333,
+        TOKEN_SUBNET = 334,
+        TOKEN_INTERFACE = 335,
+        TOKEN_INTERFACE_ID = 336,
+        TOKEN_ID = 337,
+        TOKEN_RAPID_COMMIT = 338,
+        TOKEN_RESERVATION_MODE = 339,
+        TOKEN_DISABLED = 340,
+        TOKEN_OUT_OF_POOL = 341,
+        TOKEN_GLOBAL = 342,
+        TOKEN_ALL = 343,
+        TOKEN_SHARED_NETWORKS = 344,
+        TOKEN_MAC_SOURCES = 345,
+        TOKEN_RELAY_SUPPLIED_OPTIONS = 346,
+        TOKEN_HOST_RESERVATION_IDENTIFIERS = 347,
+        TOKEN_SANITY_CHECKS = 348,
+        TOKEN_LEASE_CHECKS = 349,
+        TOKEN_CLIENT_CLASSES = 350,
+        TOKEN_REQUIRE_CLIENT_CLASSES = 351,
+        TOKEN_TEST = 352,
+        TOKEN_ONLY_IF_REQUIRED = 353,
+        TOKEN_CLIENT_CLASS = 354,
+        TOKEN_RESERVATIONS = 355,
+        TOKEN_IP_ADDRESSES = 356,
+        TOKEN_PREFIXES = 357,
+        TOKEN_DUID = 358,
+        TOKEN_HW_ADDRESS = 359,
+        TOKEN_HOSTNAME = 360,
+        TOKEN_FLEX_ID = 361,
+        TOKEN_RELAY = 362,
+        TOKEN_IP_ADDRESS = 363,
+        TOKEN_HOOKS_LIBRARIES = 364,
+        TOKEN_LIBRARY = 365,
+        TOKEN_PARAMETERS = 366,
+        TOKEN_EXPIRED_LEASES_PROCESSING = 367,
+        TOKEN_RECLAIM_TIMER_WAIT_TIME = 368,
+        TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 369,
+        TOKEN_HOLD_RECLAIMED_TIME = 370,
+        TOKEN_MAX_RECLAIM_LEASES = 371,
+        TOKEN_MAX_RECLAIM_TIME = 372,
+        TOKEN_UNWARNED_RECLAIM_CYCLES = 373,
+        TOKEN_SERVER_ID = 374,
+        TOKEN_LLT = 375,
+        TOKEN_EN = 376,
+        TOKEN_LL = 377,
+        TOKEN_IDENTIFIER = 378,
+        TOKEN_HTYPE = 379,
+        TOKEN_TIME = 380,
+        TOKEN_ENTERPRISE_ID = 381,
+        TOKEN_DHCP4O6_PORT = 382,
+        TOKEN_CONTROL_SOCKET = 383,
+        TOKEN_SOCKET_TYPE = 384,
+        TOKEN_SOCKET_NAME = 385,
+        TOKEN_DHCP_QUEUE_CONTROL = 386,
+        TOKEN_DHCP_DDNS = 387,
+        TOKEN_ENABLE_UPDATES = 388,
+        TOKEN_QUALIFYING_SUFFIX = 389,
+        TOKEN_SERVER_IP = 390,
+        TOKEN_SERVER_PORT = 391,
+        TOKEN_SENDER_IP = 392,
+        TOKEN_SENDER_PORT = 393,
+        TOKEN_MAX_QUEUE_SIZE = 394,
+        TOKEN_NCR_PROTOCOL = 395,
+        TOKEN_NCR_FORMAT = 396,
+        TOKEN_OVERRIDE_NO_UPDATE = 397,
+        TOKEN_OVERRIDE_CLIENT_UPDATE = 398,
+        TOKEN_REPLACE_CLIENT_NAME = 399,
+        TOKEN_GENERATED_PREFIX = 400,
+        TOKEN_UDP = 401,
+        TOKEN_TCP = 402,
+        TOKEN_JSON = 403,
+        TOKEN_WHEN_PRESENT = 404,
+        TOKEN_NEVER = 405,
+        TOKEN_ALWAYS = 406,
+        TOKEN_WHEN_NOT_PRESENT = 407,
+        TOKEN_HOSTNAME_CHAR_SET = 408,
+        TOKEN_HOSTNAME_CHAR_REPLACEMENT = 409,
+        TOKEN_LOGGING = 410,
+        TOKEN_LOGGERS = 411,
+        TOKEN_OUTPUT_OPTIONS = 412,
+        TOKEN_OUTPUT = 413,
+        TOKEN_DEBUGLEVEL = 414,
+        TOKEN_SEVERITY = 415,
+        TOKEN_FLUSH = 416,
+        TOKEN_MAXSIZE = 417,
+        TOKEN_MAXVER = 418,
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
         TOKEN_DHCP4 = 419,
         TOKEN_DHCPDDNS = 420,
         TOKEN_CONTROL_AGENT = 421,
@@ -663,104 +871,26 @@ namespace isc { namespace dhcp {
       typedef Base super_type;
 
       /// Default constructor.
-      basic_symbol ()
-        : value ()
-        , location ()
-      {}
+      basic_symbol ();
 
-#if 201103L <= YY_CPLUSPLUS
-      /// Move constructor.
-      basic_symbol (basic_symbol&& that);
-#endif
+      /// Move or copy constructor.
+      basic_symbol (YY_RVREF (basic_symbol) other);
 
-      /// Copy constructor.
-      basic_symbol (const basic_symbol& that);
 
       /// Constructor for valueless symbols, and symbols from each type.
-#if 201103L <= YY_CPLUSPLUS
-      basic_symbol (typename Base::kind_type t, location_type&& l)
-        : Base (t)
-        , location (std::move (l))
-      {}
-#else
-      basic_symbol (typename Base::kind_type t, const location_type& l)
-        : Base (t)
-        , location (l)
-      {}
-#endif
-#if 201103L <= YY_CPLUSPLUS
-      basic_symbol (typename Base::kind_type t, ElementPtr&& v, location_type&& l)
-        : Base (t)
-        , value (std::move (v))
-        , location (std::move (l))
-      {}
-#else
-      basic_symbol (typename Base::kind_type t, const ElementPtr& v, const location_type& l)
-        : Base (t)
-        , value (v)
-        , location (l)
-      {}
-#endif
-#if 201103L <= YY_CPLUSPLUS
-      basic_symbol (typename Base::kind_type t, bool&& v, location_type&& l)
-        : Base (t)
-        , value (std::move (v))
-        , location (std::move (l))
-      {}
-#else
-      basic_symbol (typename Base::kind_type t, const bool& v, const location_type& l)
-        : Base (t)
-        , value (v)
-        , location (l)
-      {}
-#endif
-#if 201103L <= YY_CPLUSPLUS
-      basic_symbol (typename Base::kind_type t, double&& v, location_type&& l)
-        : Base (t)
-        , value (std::move (v))
-        , location (std::move (l))
-      {}
-#else
-      basic_symbol (typename Base::kind_type t, const double& v, const location_type& l)
-        : Base (t)
-        , value (v)
-        , location (l)
-      {}
-#endif
-#if 201103L <= YY_CPLUSPLUS
-      basic_symbol (typename Base::kind_type t, int64_t&& v, location_type&& l)
-        : Base (t)
-        , value (std::move (v))
-        , location (std::move (l))
-      {}
-#else
-      basic_symbol (typename Base::kind_type t, const int64_t& v, const location_type& l)
-        : Base (t)
-        , value (v)
-        , location (l)
-      {}
-#endif
-#if 201103L <= YY_CPLUSPLUS
-      basic_symbol (typename Base::kind_type t, std::string&& v, location_type&& l)
-        : Base (t)
-        , value (std::move (v))
-        , location (std::move (l))
-      {}
-#else
-      basic_symbol (typename Base::kind_type t, const std::string& v, const location_type& l)
-        : Base (t)
-        , value (v)
-        , location (l)
-      {}
-#endif
+      basic_symbol (typename Base::kind_type t, YY_RVREF (location_type) l);
+      basic_symbol (typename Base::kind_type t, YY_RVREF (ElementPtr) v, YY_RVREF (location_type) l);
+      basic_symbol (typename Base::kind_type t, YY_RVREF (bool) v, YY_RVREF (location_type) l);
+      basic_symbol (typename Base::kind_type t, YY_RVREF (double) v, YY_RVREF (location_type) l);
+      basic_symbol (typename Base::kind_type t, YY_RVREF (int64_t) v, YY_RVREF (location_type) l);
+      basic_symbol (typename Base::kind_type t, YY_RVREF (std::string) v, YY_RVREF (location_type) l);
+
 
       /// Destroy the symbol.
-      ~basic_symbol ()
-      {
-        clear ();
-      }
+      ~basic_symbol ();
 
       /// Destroy contents, and record that is empty.
+<<<<<<< HEAD
       void clear ()
       {
         // User destructor.
@@ -808,9 +938,12 @@ switch (yytype)
 
         Base::clear ();
       }
+=======
+      void clear ();
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 
       /// Whether empty.
-      bool empty () const YY_NOEXCEPT;
+      bool empty () const;
 
       /// Destructive move, \a s is emptied into this.
       void move (basic_symbol& s);
@@ -822,9 +955,9 @@ switch (yytype)
       location_type location;
 
     private:
-#if YY_CPLUSPLUS < 201103L
+#if !defined __cplusplus || __cplusplus < 201103L
       /// Assignment operator.
-      basic_symbol& operator= (const basic_symbol& that);
+      basic_symbol& operator= (const basic_symbol& other);
 #endif
     };
 
@@ -834,13 +967,8 @@ switch (yytype)
       /// Default constructor.
       by_type ();
 
-#if 201103L <= YY_CPLUSPLUS
-      /// Move constructor.
-      by_type (by_type&& that);
-#endif
-
       /// Copy constructor.
-      by_type (const by_type& that);
+      by_type (const by_type& other);
 
       /// The symbol type as needed by the constructor.
       typedef token_type kind_type;
@@ -856,10 +984,10 @@ switch (yytype)
 
       /// The (internal) type number (corresponding to \a type).
       /// \a empty when empty.
-      symbol_number_type type_get () const YY_NOEXCEPT;
+      symbol_number_type type_get () const;
 
       /// The token.
-      token_type token () const YY_NOEXCEPT;
+      token_type token () const;
 
       /// The symbol type.
       /// \a empty_symbol when empty.
@@ -868,6 +996,7 @@ switch (yytype)
     };
 
     /// "External" symbols: returned by the scanner.
+<<<<<<< HEAD
     struct symbol_type : basic_symbol<by_type>
     {
       /// Superclass.
@@ -943,6 +1072,9 @@ switch (yytype)
       }
 #endif
     };
+=======
+    typedef basic_symbol<by_type> symbol_type;
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 
     /// Build a parser object.
     Dhcp6Parser (isc::dhcp::Parser6Context& ctx_yyarg);
@@ -978,6 +1110,7 @@ switch (yytype)
     /// Report a syntax error.
     void error (const syntax_error& err);
 
+<<<<<<< HEAD
     // Implementation of make_symbol for each symbol type.
 #if 201103L <= YY_CPLUSPLUS
       static
@@ -3723,116 +3856,839 @@ switch (yytype)
       {
         return symbol_type (token::TOKEN_FLOAT, v, l);
       }
-#endif
-#if 201103L <= YY_CPLUSPLUS
-      static
-      symbol_type
-      make_BOOLEAN (bool v, location_type l)
-      {
-        return symbol_type (token::TOKEN_BOOLEAN, std::move (v), std::move (l));
-      }
-#else
-      static
-      symbol_type
-      make_BOOLEAN (const bool& v, const location_type& l)
-      {
-        return symbol_type (token::TOKEN_BOOLEAN, v, l);
-      }
-#endif
+=======
+    // Symbol constructors declarations.
+    static
+    symbol_type
+    make_END (YY_COPY (location_type) l);
 
+    static
+    symbol_type
+    make_COMMA (YY_COPY (location_type) l);
 
-  private:
-    /// This class is not copyable.
-    Dhcp6Parser (const Dhcp6Parser&);
-    Dhcp6Parser& operator= (const Dhcp6Parser&);
+    static
+    symbol_type
+    make_COLON (YY_COPY (location_type) l);
 
-    /// State numbers.
-    typedef int state_type;
+    static
+    symbol_type
+    make_LSQUARE_BRACKET (YY_COPY (location_type) l);
 
-    /// Generate an error message.
-    /// \param yystate   the state where the error occurred.
-    /// \param yyla      the lookahead token.
-    virtual std::string yysyntax_error_ (state_type yystate,
-                                         const symbol_type& yyla) const;
+    static
+    symbol_type
+    make_RSQUARE_BRACKET (YY_COPY (location_type) l);
 
-    /// Compute post-reduction state.
-    /// \param yystate   the current state
-    /// \param yysym     the nonterminal to push on the stack
-    state_type yy_lr_goto_state_ (state_type yystate, int yysym);
+    static
+    symbol_type
+    make_LCURLY_BRACKET (YY_COPY (location_type) l);
 
-    /// Whether the given \c yypact_ value indicates a defaulted state.
-    /// \param yyvalue   the value to check
-    static bool yy_pact_value_is_default_ (int yyvalue);
+    static
+    symbol_type
+    make_RCURLY_BRACKET (YY_COPY (location_type) l);
 
-    /// Whether the given \c yytable_ value indicates a syntax error.
-    /// \param yyvalue   the value to check
-    static bool yy_table_value_is_error_ (int yyvalue);
+    static
+    symbol_type
+    make_NULL_TYPE (YY_COPY (location_type) l);
 
-    static const short yypact_ninf_;
-    static const signed char yytable_ninf_;
+    static
+    symbol_type
+    make_DHCP6 (YY_COPY (location_type) l);
 
-    /// Convert a scanner token number \a t to a symbol number.
-    static token_number_type yytranslate_ (token_type t);
+    static
+    symbol_type
+    make_DATA_DIRECTORY (YY_COPY (location_type) l);
 
-    // Tables.
-  // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
-  // STATE-NUM.
-  static const short yypact_[];
+    static
+    symbol_type
+    make_CONFIG_CONTROL (YY_COPY (location_type) l);
 
-  // YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
-  // Performed when YYTABLE does not specify something else to do.  Zero
-  // means the default is an error.
-  static const unsigned short yydefact_[];
+    static
+    symbol_type
+    make_CONFIG_DATABASES (YY_COPY (location_type) l);
 
-  // YYPGOTO[NTERM-NUM].
-  static const short yypgoto_[];
+    static
+    symbol_type
+    make_CONFIG_FETCH_WAIT_TIME (YY_COPY (location_type) l);
 
-  // YYDEFGOTO[NTERM-NUM].
-  static const short yydefgoto_[];
+    static
+    symbol_type
+    make_INTERFACES_CONFIG (YY_COPY (location_type) l);
 
-  // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
-  // positive, shift that token.  If negative, reduce the rule whose
-  // number is the opposite.  If YYTABLE_NINF, syntax error.
-  static const unsigned short yytable_[];
+    static
+    symbol_type
+    make_INTERFACES (YY_COPY (location_type) l);
 
-  static const short yycheck_[];
+    static
+    symbol_type
+    make_RE_DETECT (YY_COPY (location_type) l);
 
-  // YYSTOS[STATE-NUM] -- The (internal number of the) accessing
-  // symbol of state STATE-NUM.
-  static const unsigned short yystos_[];
+    static
+    symbol_type
+    make_LEASE_DATABASE (YY_COPY (location_type) l);
 
-  // YYR1[YYN] -- Symbol number of symbol that rule YYN derives.
-  static const unsigned short yyr1_[];
+    static
+    symbol_type
+    make_HOSTS_DATABASE (YY_COPY (location_type) l);
 
-  // YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.
-  static const unsigned char yyr2_[];
+    static
+    symbol_type
+    make_HOSTS_DATABASES (YY_COPY (location_type) l);
 
+    static
+    symbol_type
+    make_TYPE (YY_COPY (location_type) l);
 
-    /// Convert the symbol name \a n to a form suitable for a diagnostic.
-    static std::string yytnamerr_ (const char *n);
+    static
+    symbol_type
+    make_MEMFILE (YY_COPY (location_type) l);
 
+    static
+    symbol_type
+    make_MYSQL (YY_COPY (location_type) l);
 
-    /// For a symbol, its name in clear.
-    static const char* const yytname_[];
-#if PARSER6_DEBUG
-  // YYRLINE[YYN] -- Source line where rule number YYN was defined.
-  static const unsigned short yyrline_[];
-    /// Report on the debug stream that the rule \a r is going to be reduced.
-    virtual void yy_reduce_print_ (int r);
-    /// Print the state stack on the debug stream.
-    virtual void yystack_print_ ();
+    static
+    symbol_type
+    make_POSTGRESQL (YY_COPY (location_type) l);
 
-    /// Debugging level.
-    int yydebug_;
-    /// Debug stream.
-    std::ostream* yycdebug_;
+    static
+    symbol_type
+    make_CQL (YY_COPY (location_type) l);
 
-    /// \brief Display a symbol type, value and location.
-    /// \param yyo    The output stream.
-    /// \param yysym  The symbol.
-    template <typename Base>
-    void yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const;
-#endif
+    static
+    symbol_type
+    make_USER (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_PASSWORD (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_HOST (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_PORT (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_PERSIST (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_LFC_INTERVAL (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_READONLY (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_CONNECT_TIMEOUT (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_CONTACT_POINTS (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_MAX_RECONNECT_TRIES (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_RECONNECT_WAIT_TIME (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_KEYSPACE (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_CONSISTENCY (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SERIAL_CONSISTENCY (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_REQUEST_TIMEOUT (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_TCP_KEEPALIVE (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_TCP_NODELAY (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_MAX_ROW_ERRORS (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_PREFERRED_LIFETIME (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_MIN_PREFERRED_LIFETIME (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_MAX_PREFERRED_LIFETIME (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_VALID_LIFETIME (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_MIN_VALID_LIFETIME (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_MAX_VALID_LIFETIME (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_RENEW_TIMER (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_REBIND_TIMER (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_CALCULATE_TEE_TIMES (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_T1_PERCENT (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_T2_PERCENT (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_DECLINE_PROBATION_PERIOD (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SERVER_TAG (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SUBNET6 (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_OPTION_DEF (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_OPTION_DATA (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_NAME (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_DATA (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_CODE (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SPACE (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_CSV_FORMAT (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_ALWAYS_SEND (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_RECORD_TYPES (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_ENCAPSULATE (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_ARRAY (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_POOLS (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_POOL (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_PD_POOLS (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_PREFIX (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_PREFIX_LEN (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_EXCLUDED_PREFIX (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_EXCLUDED_PREFIX_LEN (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_DELEGATED_LEN (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_USER_CONTEXT (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_COMMENT (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SUBNET (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_INTERFACE (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_INTERFACE_ID (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_ID (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_RAPID_COMMIT (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_RESERVATION_MODE (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_DISABLED (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_OUT_OF_POOL (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_GLOBAL (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_ALL (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SHARED_NETWORKS (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_MAC_SOURCES (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_RELAY_SUPPLIED_OPTIONS (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_HOST_RESERVATION_IDENTIFIERS (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SANITY_CHECKS (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_LEASE_CHECKS (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_CLIENT_CLASSES (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_REQUIRE_CLIENT_CLASSES (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_TEST (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_ONLY_IF_REQUIRED (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_CLIENT_CLASS (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_RESERVATIONS (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_IP_ADDRESSES (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_PREFIXES (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_DUID (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_HW_ADDRESS (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_HOSTNAME (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_FLEX_ID (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_RELAY (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_IP_ADDRESS (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_HOOKS_LIBRARIES (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_LIBRARY (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_PARAMETERS (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_EXPIRED_LEASES_PROCESSING (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_RECLAIM_TIMER_WAIT_TIME (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_HOLD_RECLAIMED_TIME (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_MAX_RECLAIM_LEASES (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_MAX_RECLAIM_TIME (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_UNWARNED_RECLAIM_CYCLES (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SERVER_ID (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_LLT (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_EN (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_LL (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_IDENTIFIER (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_HTYPE (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_TIME (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_ENTERPRISE_ID (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_DHCP4O6_PORT (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_CONTROL_SOCKET (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SOCKET_TYPE (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SOCKET_NAME (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_DHCP_QUEUE_CONTROL (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_DHCP_DDNS (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_ENABLE_UPDATES (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_QUALIFYING_SUFFIX (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SERVER_IP (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SERVER_PORT (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SENDER_IP (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SENDER_PORT (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_MAX_QUEUE_SIZE (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_NCR_PROTOCOL (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_NCR_FORMAT (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_OVERRIDE_NO_UPDATE (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_OVERRIDE_CLIENT_UPDATE (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_REPLACE_CLIENT_NAME (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_GENERATED_PREFIX (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_UDP (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_TCP (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_JSON (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_WHEN_PRESENT (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_NEVER (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_ALWAYS (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_WHEN_NOT_PRESENT (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_HOSTNAME_CHAR_SET (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_HOSTNAME_CHAR_REPLACEMENT (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_LOGGING (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_LOGGERS (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_OUTPUT_OPTIONS (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_OUTPUT (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_DEBUGLEVEL (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SEVERITY (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_FLUSH (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_MAXSIZE (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_MAXVER (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_DHCP4 (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_DHCPDDNS (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_CONTROL_AGENT (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_TOPLEVEL_JSON (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_TOPLEVEL_DHCP6 (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SUB_DHCP6 (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SUB_INTERFACES6 (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SUB_SUBNET6 (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SUB_POOL6 (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SUB_PD_POOL (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SUB_RESERVATION (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SUB_OPTION_DEFS (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SUB_OPTION_DEF (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SUB_OPTION_DATA (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SUB_HOOKS_LIBRARY (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SUB_DHCP_DDNS (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SUB_LOGGING (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_SUB_CONFIG_CONTROL (YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_STRING (YY_COPY (std::string) v, YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_INTEGER (YY_COPY (int64_t) v, YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_FLOAT (YY_COPY (double) v, YY_COPY (location_type) l);
+
+    static
+    symbol_type
+    make_BOOLEAN (YY_COPY (bool) v, YY_COPY (location_type) l);
+
+
+
+  private:
+    /// This class is not copyable.
+    Dhcp6Parser (const Dhcp6Parser&);
+    Dhcp6Parser& operator= (const Dhcp6Parser&);
+
+    /// State numbers.
+    typedef int state_type;
+
+    /// Generate an error message.
+    /// \param yystate   the state where the error occurred.
+    /// \param yyla      the lookahead token.
+    virtual std::string yysyntax_error_ (state_type yystate,
+                                         const symbol_type& yyla) const;
+
+    /// Compute post-reduction state.
+    /// \param yystate   the current state
+    /// \param yysym     the nonterminal to push on the stack
+    state_type yy_lr_goto_state_ (state_type yystate, int yysym);
+
+    /// Whether the given \c yypact_ value indicates a defaulted state.
+    /// \param yyvalue   the value to check
+    static bool yy_pact_value_is_default_ (int yyvalue);
+
+    /// Whether the given \c yytable_ value indicates a syntax error.
+    /// \param yyvalue   the value to check
+    static bool yy_table_value_is_error_ (int yyvalue);
+
+    static const short yypact_ninf_;
+    static const signed char yytable_ninf_;
+
+    /// Convert a scanner token number \a t to a symbol number.
+    static token_number_type yytranslate_ (token_type t);
+
+    // Tables.
+  // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+  // STATE-NUM.
+  static const short yypact_[];
+
+  // YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
+  // Performed when YYTABLE does not specify something else to do.  Zero
+  // means the default is an error.
+  static const unsigned short yydefact_[];
+
+  // YYPGOTO[NTERM-NUM].
+  static const short yypgoto_[];
+
+  // YYDEFGOTO[NTERM-NUM].
+  static const short yydefgoto_[];
+
+  // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
+  // positive, shift that token.  If negative, reduce the rule whose
+  // number is the opposite.  If YYTABLE_NINF, syntax error.
+  static const unsigned short yytable_[];
+
+  static const short yycheck_[];
+
+  // YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+  // symbol of state STATE-NUM.
+  static const unsigned short yystos_[];
+
+  // YYR1[YYN] -- Symbol number of symbol that rule YYN derives.
+  static const unsigned short yyr1_[];
+
+  // YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.
+  static const unsigned char yyr2_[];
+
+
+    /// Convert the symbol name \a n to a form suitable for a diagnostic.
+    static std::string yytnamerr_ (const char *n);
+
+
+    /// For a symbol, its name in clear.
+    static const char* const yytname_[];
+#if PARSER6_DEBUG
+  // YYRLINE[YYN] -- Source line where rule number YYN was defined.
+  static const unsigned short yyrline_[];
+    /// Report on the debug stream that the rule \a r is going to be reduced.
+    virtual void yy_reduce_print_ (int r);
+    /// Print the state stack on the debug stream.
+    virtual void yystack_print_ ();
+
+    /// Debugging level.
+    int yydebug_;
+    /// Debug stream.
+    std::ostream* yycdebug_;
+
+    /// \brief Display a symbol type, value and location.
+    /// \param yyo    The output stream.
+    /// \param yysym  The symbol.
+    template <typename Base>
+    void yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const;
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
+#endif
 
     /// \brief Reclaim the memory associated to a symbol.
     /// \param yymsg     Why this token is reclaimed.
@@ -3841,206 +4697,1461 @@ switch (yytype)
     template <typename Base>
     void yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const;
 
-  private:
-    /// Type access provider for state based symbols.
-    struct by_state
-    {
-      /// Default constructor.
-      by_state () YY_NOEXCEPT;
+  private:
+    /// Type access provider for state based symbols.
+    struct by_state
+    {
+      /// Default constructor.
+      by_state ();
+
+      /// The symbol type as needed by the constructor.
+      typedef state_type kind_type;
+
+      /// Constructor.
+      by_state (kind_type s);
+
+      /// Copy constructor.
+      by_state (const by_state& other);
+
+      /// Record that this symbol is empty.
+      void clear ();
+
+      /// Steal the symbol type from \a that.
+      void move (by_state& that);
+
+      /// The (internal) type number (corresponding to \a state).
+      /// \a empty_symbol when empty.
+      symbol_number_type type_get () const;
+
+      /// The state number used to denote an empty symbol.
+      enum { empty_state = -1 };
+
+      /// The state.
+      /// \a empty when empty.
+      state_type state;
+    };
+
+    /// "Internal" symbol: element of the stack.
+    struct stack_symbol_type : basic_symbol<by_state>
+    {
+      /// Superclass.
+      typedef basic_symbol<by_state> super_type;
+      /// Construct an empty symbol.
+      stack_symbol_type ();
+      /// Move or copy construction.
+      stack_symbol_type (YY_RVREF (stack_symbol_type) that);
+      /// Steal the contents from \a sym to build this.
+      stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym);
+#if !defined __cplusplus || __cplusplus < 201103L
+      /// Assignment, needed by push_back by some old implementations.
+      /// Moves the contents of that.
+      stack_symbol_type& operator= (stack_symbol_type& that);
+#endif
+    };
+
+    /// Stack type.
+    typedef stack<stack_symbol_type> stack_type;
+
+    /// The stack.
+    stack_type yystack_;
+
+    /// Push a new state on the stack.
+    /// \param m    a debug message to display
+    ///             if null, no trace is output.
+    /// \param sym  the symbol
+    /// \warning the contents of \a s.value is stolen.
+    void yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym);
+
+    /// Push a new look ahead token on the state on the stack.
+    /// \param m    a debug message to display
+    ///             if null, no trace is output.
+    /// \param s    the state
+    /// \param sym  the symbol (for its value and location).
+    /// \warning the contents of \a sym.value is stolen.
+    void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym);
+
+    /// Pop \a n symbols from the stack.
+    void yypop_ (int n = 1);
+
+    /// Constants.
+    enum
+    {
+      yyeof_ = 0,
+      yylast_ = 1107,     ///< Last index in yytable_.
+      yynnts_ = 404,  ///< Number of nonterminal symbols.
+      yyfinal_ = 32, ///< Termination state number.
+      yyterror_ = 1,
+      yyerrcode_ = 256,
+      yyntokens_ = 186  ///< Number of tokens.
+    };
+
+
+    // User arguments.
+    isc::dhcp::Parser6Context& ctx;
+  };
+
+  // Symbol number corresponding to token number t.
+  inline
+  Dhcp6Parser::token_number_type
+  Dhcp6Parser::yytranslate_ (token_type t)
+  {
+    static
+    const token_number_type
+    translate_table[] =
+    {
+     0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
+      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
+      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
+      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
+      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
+      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
+     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
+     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
+     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
+     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
+     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
+     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
+     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
+     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
+     185
+    };
+    const unsigned user_token_number_max_ = 440;
+    const token_number_type undef_token_ = 2;
+
+    if (static_cast<int> (t) <= yyeof_)
+      return yyeof_;
+    else if (static_cast<unsigned> (t) <= user_token_number_max_)
+      return translate_table[t];
+    else
+      return undef_token_;
+  }
+
+  inline
+  Dhcp6Parser::syntax_error::syntax_error (const location_type& l, const std::string& m)
+    : std::runtime_error (m)
+    , location (l)
+  {}
+
+  // basic_symbol.
+  template <typename Base>
+  Dhcp6Parser::basic_symbol<Base>::basic_symbol ()
+    : value ()
+    , location ()
+  {}
+
+  template <typename Base>
+  Dhcp6Parser::basic_symbol<Base>::basic_symbol (YY_RVREF (basic_symbol) other)
+    : Base (YY_MOVE (other))
+    , value ()
+    , location (YY_MOVE (other.location))
+  {
+    switch (other.type_get ())
+    {
+      case 203: // value
+      case 207: // map_value
+      case 268: // db_type
+      case 362: // hr_mode
+      case 498: // duid_type
+      case 533: // ncr_protocol_value
+      case 540: // replace_client_name_value
+        value.YY_MOVE_OR_COPY< ElementPtr > (YY_MOVE (other.value));
+        break;
+
+      case 185: // "boolean"
+        value.YY_MOVE_OR_COPY< bool > (YY_MOVE (other.value));
+        break;
+
+      case 184: // "floating point"
+        value.YY_MOVE_OR_COPY< double > (YY_MOVE (other.value));
+        break;
+
+      case 183: // "integer"
+        value.YY_MOVE_OR_COPY< int64_t > (YY_MOVE (other.value));
+        break;
+
+      case 182: // "constant string"
+        value.YY_MOVE_OR_COPY< std::string > (YY_MOVE (other.value));
+        break;
+
+      default:
+        break;
+    }
+
+  }
+
+
+  // Implementation of basic_symbol constructor for each type.
+  template <typename Base>
+  Dhcp6Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (location_type) l)
+    : Base (t)
+    , location (YY_MOVE (l))
+  {}
+
+  template <typename Base>
+  Dhcp6Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (ElementPtr) v, YY_RVREF (location_type) l)
+    : Base (t)
+    , value (YY_MOVE (v))
+    , location (YY_MOVE (l))
+  {}
+
+  template <typename Base>
+  Dhcp6Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (bool) v, YY_RVREF (location_type) l)
+    : Base (t)
+    , value (YY_MOVE (v))
+    , location (YY_MOVE (l))
+  {}
+
+  template <typename Base>
+  Dhcp6Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (double) v, YY_RVREF (location_type) l)
+    : Base (t)
+    , value (YY_MOVE (v))
+    , location (YY_MOVE (l))
+  {}
+
+  template <typename Base>
+  Dhcp6Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (int64_t) v, YY_RVREF (location_type) l)
+    : Base (t)
+    , value (YY_MOVE (v))
+    , location (YY_MOVE (l))
+  {}
+
+  template <typename Base>
+  Dhcp6Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (std::string) v, YY_RVREF (location_type) l)
+    : Base (t)
+    , value (YY_MOVE (v))
+    , location (YY_MOVE (l))
+  {}
+
+
+
+  template <typename Base>
+  Dhcp6Parser::basic_symbol<Base>::~basic_symbol ()
+  {
+    clear ();
+  }
+
+  template <typename Base>
+  void
+  Dhcp6Parser::basic_symbol<Base>::clear ()
+  {
+    // User destructor.
+    symbol_number_type yytype = this->type_get ();
+    basic_symbol<Base>& yysym = *this;
+    (void) yysym;
+    switch (yytype)
+    {
+   default:
+      break;
+    }
+
+    // Type destructor.
+  switch (yytype)
+    {
+      case 203: // value
+      case 207: // map_value
+      case 268: // db_type
+      case 362: // hr_mode
+      case 498: // duid_type
+      case 533: // ncr_protocol_value
+      case 540: // replace_client_name_value
+        value.template destroy< ElementPtr > ();
+        break;
+
+      case 185: // "boolean"
+        value.template destroy< bool > ();
+        break;
+
+      case 184: // "floating point"
+        value.template destroy< double > ();
+        break;
+
+      case 183: // "integer"
+        value.template destroy< int64_t > ();
+        break;
+
+      case 182: // "constant string"
+        value.template destroy< std::string > ();
+        break;
+
+      default:
+        break;
+    }
+
+    Base::clear ();
+  }
+
+  template <typename Base>
+  bool
+  Dhcp6Parser::basic_symbol<Base>::empty () const
+  {
+    return Base::type_get () == empty_symbol;
+  }
+
+  template <typename Base>
+  void
+  Dhcp6Parser::basic_symbol<Base>::move (basic_symbol& s)
+  {
+    super_type::move (s);
+    switch (this->type_get ())
+    {
+      case 203: // value
+      case 207: // map_value
+      case 268: // db_type
+      case 362: // hr_mode
+      case 498: // duid_type
+      case 533: // ncr_protocol_value
+      case 540: // replace_client_name_value
+        value.move< ElementPtr > (YY_MOVE (s.value));
+        break;
+
+      case 185: // "boolean"
+        value.move< bool > (YY_MOVE (s.value));
+        break;
+
+      case 184: // "floating point"
+        value.move< double > (YY_MOVE (s.value));
+        break;
+
+      case 183: // "integer"
+        value.move< int64_t > (YY_MOVE (s.value));
+        break;
+
+      case 182: // "constant string"
+        value.move< std::string > (YY_MOVE (s.value));
+        break;
+
+      default:
+        break;
+    }
+
+    location = YY_MOVE (s.location);
+  }
+
+  // by_type.
+  inline
+  Dhcp6Parser::by_type::by_type ()
+    : type (empty_symbol)
+  {}
+
+  inline
+  Dhcp6Parser::by_type::by_type (const by_type& other)
+    : type (other.type)
+  {}
+
+  inline
+  Dhcp6Parser::by_type::by_type (token_type t)
+    : type (yytranslate_ (t))
+  {}
+
+  inline
+  void
+  Dhcp6Parser::by_type::clear ()
+  {
+    type = empty_symbol;
+  }
+
+  inline
+  void
+  Dhcp6Parser::by_type::move (by_type& that)
+  {
+    type = that.type;
+    that.clear ();
+  }
+
+  inline
+  int
+  Dhcp6Parser::by_type::type_get () const
+  {
+    return type;
+  }
+
+  inline
+  Dhcp6Parser::token_type
+  Dhcp6Parser::by_type::token () const
+  {
+    // YYTOKNUM[NUM] -- (External) token number corresponding to the
+    // (internal) symbol number NUM (which must be that of a token).  */
+    static
+    const unsigned short
+    yytoken_number_[] =
+    {
+       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
+     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
+     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
+     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
+     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
+     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
+     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
+     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
+     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
+     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
+     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
+     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
+     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
+     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
+     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
+     435,   436,   437,   438,   439,   440
+    };
+    return static_cast<token_type> (yytoken_number_[type]);
+  }
+
+  // Implementation of make_symbol for each symbol type.
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_END (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_END, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_COMMA (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_COMMA, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_COLON (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_COLON, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_LSQUARE_BRACKET (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_LSQUARE_BRACKET, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_RSQUARE_BRACKET (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_RSQUARE_BRACKET, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_LCURLY_BRACKET (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_LCURLY_BRACKET, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_RCURLY_BRACKET (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_RCURLY_BRACKET, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_NULL_TYPE (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_NULL_TYPE, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_DHCP6 (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_DHCP6, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_DATA_DIRECTORY (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_DATA_DIRECTORY, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_CONFIG_CONTROL (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_CONFIG_CONTROL, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_CONFIG_DATABASES (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_CONFIG_DATABASES, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_CONFIG_FETCH_WAIT_TIME (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_INTERFACES_CONFIG (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_INTERFACES_CONFIG, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_INTERFACES (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_INTERFACES, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_RE_DETECT (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_RE_DETECT, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_LEASE_DATABASE (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_LEASE_DATABASE, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_HOSTS_DATABASE (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_HOSTS_DATABASE, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_HOSTS_DATABASES (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_HOSTS_DATABASES, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_TYPE (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_TYPE, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_MEMFILE (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_MEMFILE, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_MYSQL (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_MYSQL, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_POSTGRESQL (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_POSTGRESQL, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_CQL (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_CQL, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_USER (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_USER, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_PASSWORD (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_PASSWORD, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_HOST (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_HOST, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_PORT (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_PORT, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_PERSIST (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_PERSIST, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_LFC_INTERVAL (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_LFC_INTERVAL, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_READONLY (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_READONLY, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_CONNECT_TIMEOUT (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_CONNECT_TIMEOUT, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_CONTACT_POINTS (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_CONTACT_POINTS, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_MAX_RECONNECT_TRIES (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_RECONNECT_WAIT_TIME (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_KEYSPACE (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_KEYSPACE, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_CONSISTENCY (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_CONSISTENCY, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SERIAL_CONSISTENCY (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_SERIAL_CONSISTENCY, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_REQUEST_TIMEOUT (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_REQUEST_TIMEOUT, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_TCP_KEEPALIVE (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_TCP_KEEPALIVE, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_TCP_NODELAY (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_TCP_NODELAY, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_MAX_ROW_ERRORS (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_MAX_ROW_ERRORS, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_PREFERRED_LIFETIME (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_PREFERRED_LIFETIME, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_MIN_PREFERRED_LIFETIME (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_MIN_PREFERRED_LIFETIME, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_MAX_PREFERRED_LIFETIME (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_MAX_PREFERRED_LIFETIME, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_VALID_LIFETIME (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_VALID_LIFETIME, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_MIN_VALID_LIFETIME (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_MAX_VALID_LIFETIME (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_RENEW_TIMER (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_RENEW_TIMER, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_REBIND_TIMER (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_REBIND_TIMER, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_CALCULATE_TEE_TIMES (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_T1_PERCENT (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_T1_PERCENT, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_T2_PERCENT (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_T2_PERCENT, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_DECLINE_PROBATION_PERIOD (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SERVER_TAG (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_SERVER_TAG, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SUBNET6 (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_SUBNET6, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_OPTION_DEF (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_OPTION_DEF, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_OPTION_DATA (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_OPTION_DATA, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_NAME (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_NAME, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_DATA (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_DATA, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_CODE (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_CODE, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SPACE (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_SPACE, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_CSV_FORMAT (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_CSV_FORMAT, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_ALWAYS_SEND (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_ALWAYS_SEND, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_RECORD_TYPES (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_RECORD_TYPES, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_ENCAPSULATE (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_ENCAPSULATE, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_ARRAY (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_ARRAY, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_POOLS (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_POOLS, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_POOL (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_POOL, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_PD_POOLS (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_PD_POOLS, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_PREFIX (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_PREFIX, YY_MOVE (l));
+  }
 
-      /// The symbol type as needed by the constructor.
-      typedef state_type kind_type;
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_PREFIX_LEN (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_PREFIX_LEN, YY_MOVE (l));
+  }
 
-      /// Constructor.
-      by_state (kind_type s) YY_NOEXCEPT;
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_EXCLUDED_PREFIX (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_EXCLUDED_PREFIX, YY_MOVE (l));
+  }
 
-      /// Copy constructor.
-      by_state (const by_state& that) YY_NOEXCEPT;
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_EXCLUDED_PREFIX_LEN (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_EXCLUDED_PREFIX_LEN, YY_MOVE (l));
+  }
 
-      /// Record that this symbol is empty.
-      void clear () YY_NOEXCEPT;
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_DELEGATED_LEN (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_DELEGATED_LEN, YY_MOVE (l));
+  }
 
-      /// Steal the symbol type from \a that.
-      void move (by_state& that);
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_USER_CONTEXT (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_USER_CONTEXT, YY_MOVE (l));
+  }
 
-      /// The (internal) type number (corresponding to \a state).
-      /// \a empty_symbol when empty.
-      symbol_number_type type_get () const YY_NOEXCEPT;
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_COMMENT (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_COMMENT, YY_MOVE (l));
+  }
 
-      /// The state number used to denote an empty symbol.
-      enum { empty_state = -1 };
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SUBNET (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_SUBNET, YY_MOVE (l));
+  }
 
-      /// The state.
-      /// \a empty when empty.
-      state_type state;
-    };
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_INTERFACE (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_INTERFACE, YY_MOVE (l));
+  }
 
-    /// "Internal" symbol: element of the stack.
-    struct stack_symbol_type : basic_symbol<by_state>
-    {
-      /// Superclass.
-      typedef basic_symbol<by_state> super_type;
-      /// Construct an empty symbol.
-      stack_symbol_type ();
-      /// Move or copy construction.
-      stack_symbol_type (YY_RVREF (stack_symbol_type) that);
-      /// Steal the contents from \a sym to build this.
-      stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym);
-#if YY_CPLUSPLUS < 201103L
-      /// Assignment, needed by push_back by some old implementations.
-      /// Moves the contents of that.
-      stack_symbol_type& operator= (stack_symbol_type& that);
-#endif
-    };
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_INTERFACE_ID (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_INTERFACE_ID, YY_MOVE (l));
+  }
 
-    /// A stack with random access from its top.
-    template <typename T, typename S = std::vector<T> >
-    class stack
-    {
-    public:
-      // Hide our reversed order.
-      typedef typename S::reverse_iterator iterator;
-      typedef typename S::const_reverse_iterator const_iterator;
-      typedef typename S::size_type size_type;
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_ID (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_ID, YY_MOVE (l));
+  }
 
-      stack (size_type n = 200)
-        : seq_ (n)
-      {}
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_RAPID_COMMIT (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_RAPID_COMMIT, YY_MOVE (l));
+  }
 
-      /// Random access.
-      ///
-      /// Index 0 returns the topmost element.
-      T&
-      operator[] (size_type i)
-      {
-        return seq_[size () - 1 - i];
-      }
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_RESERVATION_MODE (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_RESERVATION_MODE, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_DISABLED (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_DISABLED, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_OUT_OF_POOL (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_OUT_OF_POOL, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_GLOBAL (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_GLOBAL, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_ALL (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_ALL, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SHARED_NETWORKS (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_SHARED_NETWORKS, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_MAC_SOURCES (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_MAC_SOURCES, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_RELAY_SUPPLIED_OPTIONS (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_RELAY_SUPPLIED_OPTIONS, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_HOST_RESERVATION_IDENTIFIERS (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SANITY_CHECKS (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_SANITY_CHECKS, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_LEASE_CHECKS (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_LEASE_CHECKS, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_CLIENT_CLASSES (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_CLIENT_CLASSES, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_REQUIRE_CLIENT_CLASSES (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_TEST (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_TEST, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_ONLY_IF_REQUIRED (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_CLIENT_CLASS (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_CLIENT_CLASS, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_RESERVATIONS (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_RESERVATIONS, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_IP_ADDRESSES (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_IP_ADDRESSES, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_PREFIXES (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_PREFIXES, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_DUID (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_DUID, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_HW_ADDRESS (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_HW_ADDRESS, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_HOSTNAME (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_HOSTNAME, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_FLEX_ID (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_FLEX_ID, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_RELAY (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_RELAY, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_IP_ADDRESS (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_IP_ADDRESS, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_HOOKS_LIBRARIES (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_HOOKS_LIBRARIES, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_LIBRARY (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_LIBRARY, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_PARAMETERS (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_PARAMETERS, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_EXPIRED_LEASES_PROCESSING (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_RECLAIM_TIMER_WAIT_TIME (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_HOLD_RECLAIMED_TIME (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_MAX_RECLAIM_LEASES (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_MAX_RECLAIM_TIME (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_UNWARNED_RECLAIM_CYCLES (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SERVER_ID (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_SERVER_ID, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_LLT (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_LLT, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_EN (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_EN, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_LL (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_LL, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_IDENTIFIER (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_IDENTIFIER, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_HTYPE (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_HTYPE, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_TIME (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_TIME, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_ENTERPRISE_ID (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_ENTERPRISE_ID, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_DHCP4O6_PORT (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_DHCP4O6_PORT, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_CONTROL_SOCKET (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_CONTROL_SOCKET, YY_MOVE (l));
+  }
 
-      /// Random access.
-      ///
-      /// Index 0 returns the topmost element.
-      T&
-      operator[] (int i)
-      {
-        return operator[] (size_type (i));
-      }
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SOCKET_TYPE (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_SOCKET_TYPE, YY_MOVE (l));
+  }
 
-      /// Random access.
-      ///
-      /// Index 0 returns the topmost element.
-      const T&
-      operator[] (size_type i) const
-      {
-        return seq_[size () - 1 - i];
-      }
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SOCKET_NAME (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_SOCKET_NAME, YY_MOVE (l));
+  }
 
-      /// Random access.
-      ///
-      /// Index 0 returns the topmost element.
-      const T&
-      operator[] (int i) const
-      {
-        return operator[] (size_type (i));
-      }
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_DHCP_QUEUE_CONTROL (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, YY_MOVE (l));
+  }
 
-      /// Steal the contents of \a t.
-      ///
-      /// Close to move-semantics.
-      void
-      push (YY_MOVE_REF (T) t)
-      {
-        seq_.push_back (T ());
-        operator[] (0).move (t);
-      }
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_DHCP_DDNS (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_DHCP_DDNS, YY_MOVE (l));
+  }
 
-      /// Pop elements from the stack.
-      void
-      pop (int n = 1) YY_NOEXCEPT
-      {
-        for (; 0 < n; --n)
-          seq_.pop_back ();
-      }
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_ENABLE_UPDATES (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_ENABLE_UPDATES, YY_MOVE (l));
+  }
 
-      /// Pop all elements from the stack.
-      void
-      clear () YY_NOEXCEPT
-      {
-        seq_.clear ();
-      }
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_QUALIFYING_SUFFIX (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, YY_MOVE (l));
+  }
 
-      /// Number of elements on the stack.
-      size_type
-      size () const YY_NOEXCEPT
-      {
-        return seq_.size ();
-      }
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SERVER_IP (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_SERVER_IP, YY_MOVE (l));
+  }
 
-      /// Iterator on top of the stack (going downwards).
-      const_iterator
-      begin () const YY_NOEXCEPT
-      {
-        return seq_.rbegin ();
-      }
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SERVER_PORT (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_SERVER_PORT, YY_MOVE (l));
+  }
 
-      /// Bottom of the stack.
-      const_iterator
-      end () const YY_NOEXCEPT
-      {
-        return seq_.rend ();
-      }
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SENDER_IP (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_SENDER_IP, YY_MOVE (l));
+  }
 
-      /// Present a slice of the top of a stack.
-      class slice
-      {
-      public:
-        slice (const stack& stack, int range)
-          : stack_ (stack)
-          , range_ (range)
-        {}
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SENDER_PORT (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_SENDER_PORT, YY_MOVE (l));
+  }
 
-        const T&
-        operator[] (int i) const
-        {
-          return stack_[range_ - i];
-        }
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_MAX_QUEUE_SIZE (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, YY_MOVE (l));
+  }
 
-      private:
-        const stack& stack_;
-        int range_;
-      };
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_NCR_PROTOCOL (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_NCR_PROTOCOL, YY_MOVE (l));
+  }
 
-    private:
-      stack (const stack&);
-      stack& operator= (const stack&);
-      /// The wrapped container.
-      S seq_;
-    };
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_NCR_FORMAT (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_NCR_FORMAT, YY_MOVE (l));
+  }
 
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_OVERRIDE_NO_UPDATE (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, YY_MOVE (l));
+  }
 
-    /// Stack type.
-    typedef stack<stack_symbol_type> stack_type;
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_OVERRIDE_CLIENT_UPDATE (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, YY_MOVE (l));
+  }
 
-    /// The stack.
-    stack_type yystack_;
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_REPLACE_CLIENT_NAME (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, YY_MOVE (l));
+  }
 
-    /// Push a new state on the stack.
-    /// \param m    a debug message to display
-    ///             if null, no trace is output.
-    /// \param sym  the symbol
-    /// \warning the contents of \a s.value is stolen.
-    void yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym);
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_GENERATED_PREFIX (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_GENERATED_PREFIX, YY_MOVE (l));
+  }
 
-    /// Push a new look ahead token on the state on the stack.
-    /// \param m    a debug message to display
-    ///             if null, no trace is output.
-    /// \param s    the state
-    /// \param sym  the symbol (for its value and location).
-    /// \warning the contents of \a sym.value is stolen.
-    void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym);
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_UDP (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_UDP, YY_MOVE (l));
+  }
 
-    /// Pop \a n symbols from the stack.
-    void yypop_ (int n = 1);
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_TCP (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_TCP, YY_MOVE (l));
+  }
 
+<<<<<<< HEAD
     /// Constants.
     enum
     {
@@ -4052,16 +6163,34 @@ switch (yytype)
       yyerrcode_ = 256,
       yyntokens_ = 186  ///< Number of tokens.
     };
+=======
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_JSON (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_JSON, YY_MOVE (l));
+  }
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_WHEN_PRESENT (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_WHEN_PRESENT, YY_MOVE (l));
+  }
 
-    // User arguments.
-    isc::dhcp::Parser6Context& ctx;
-  };
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_NEVER (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_NEVER, YY_MOVE (l));
+  }
 
   inline
-  Dhcp6Parser::token_number_type
-  Dhcp6Parser::yytranslate_ (token_type t)
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_ALWAYS (YY_COPY (location_type) l)
   {
+<<<<<<< HEAD
     // YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to
     // TOKEN-NUM as returned by yylex.
     static
@@ -4116,23 +6245,23 @@ switch (yytype)
     };
     const unsigned user_token_number_max_ = 440;
     const token_number_type undef_token_ = 2;
+=======
+    return symbol_type (token::TOKEN_ALWAYS, YY_MOVE (l));
+  }
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 
-    if (static_cast<int> (t) <= yyeof_)
-      return yyeof_;
-    else if (static_cast<unsigned> (t) <= user_token_number_max_)
-      return translate_table[t];
-    else
-      return undef_token_;
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_WHEN_NOT_PRESENT (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, YY_MOVE (l));
   }
 
-  // basic_symbol.
-#if 201103L <= YY_CPLUSPLUS
-  template <typename Base>
-  Dhcp6Parser::basic_symbol<Base>::basic_symbol (basic_symbol&& that)
-    : Base (std::move (that))
-    , value ()
-    , location (std::move (that.location))
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_HOSTNAME_CHAR_SET (YY_COPY (location_type) l)
   {
+<<<<<<< HEAD
     switch (this->type_get ())
     {
       case 203: // value
@@ -4160,20 +6289,58 @@ switch (yytype)
       case 182: // "constant string"
         value.move< std::string > (std::move (that.value));
         break;
+=======
+    return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, YY_MOVE (l));
+  }
 
-      default:
-        break;
-    }
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_HOSTNAME_CHAR_REPLACEMENT (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_LOGGING (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_LOGGING, YY_MOVE (l));
+  }
 
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_LOGGERS (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_LOGGERS, YY_MOVE (l));
   }
-#endif
 
-  template <typename Base>
-  Dhcp6Parser::basic_symbol<Base>::basic_symbol (const basic_symbol& that)
-    : Base (that)
-    , value ()
-    , location (that.location)
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_OUTPUT_OPTIONS (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_OUTPUT_OPTIONS, YY_MOVE (l));
+  }
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_OUTPUT (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_OUTPUT, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_DEBUGLEVEL (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_DEBUGLEVEL, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SEVERITY (YY_COPY (location_type) l)
   {
+<<<<<<< HEAD
     switch (this->type_get ())
     {
       case 203: // value
@@ -4201,26 +6368,79 @@ switch (yytype)
       case 182: // "constant string"
         value.copy< std::string > (YY_MOVE (that.value));
         break;
+=======
+    return symbol_type (token::TOKEN_SEVERITY, YY_MOVE (l));
+  }
 
-      default:
-        break;
-    }
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_FLUSH (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_FLUSH, YY_MOVE (l));
+  }
 
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_MAXSIZE (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_MAXSIZE, YY_MOVE (l));
   }
 
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_MAXVER (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_MAXVER, YY_MOVE (l));
+  }
 
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_DHCP4 (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_DHCP4, YY_MOVE (l));
+  }
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 
-  template <typename Base>
-  bool
-  Dhcp6Parser::basic_symbol<Base>::empty () const YY_NOEXCEPT
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_DHCPDDNS (YY_COPY (location_type) l)
   {
-    return Base::type_get () == empty_symbol;
+    return symbol_type (token::TOKEN_DHCPDDNS, YY_MOVE (l));
   }
 
-  template <typename Base>
-  void
-  Dhcp6Parser::basic_symbol<Base>::move (basic_symbol& s)
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_CONTROL_AGENT (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_CONTROL_AGENT, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_TOPLEVEL_JSON (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_TOPLEVEL_JSON, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_TOPLEVEL_DHCP6 (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_TOPLEVEL_DHCP6, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SUB_DHCP6 (YY_COPY (location_type) l)
   {
+    return symbol_type (token::TOKEN_SUB_DHCP6, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SUB_INTERFACES6 (YY_COPY (location_type) l)
+  {
+<<<<<<< HEAD
     super_type::move (s);
     switch (this->type_get ())
     {
@@ -4249,65 +6469,107 @@ switch (yytype)
       case 182: // "constant string"
         value.move< std::string > (YY_MOVE (s.value));
         break;
+=======
+    return symbol_type (token::TOKEN_SUB_INTERFACES6, YY_MOVE (l));
+  }
 
-      default:
-        break;
-    }
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SUB_SUBNET6 (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_SUB_SUBNET6, YY_MOVE (l));
+  }
 
-    location = YY_MOVE (s.location);
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SUB_POOL6 (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_SUB_POOL6, YY_MOVE (l));
   }
 
-  // by_type.
   inline
-  Dhcp6Parser::by_type::by_type ()
-    : type (empty_symbol)
-  {}
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SUB_PD_POOL (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_SUB_PD_POOL, YY_MOVE (l));
+  }
 
-#if 201103L <= YY_CPLUSPLUS
   inline
-  Dhcp6Parser::by_type::by_type (by_type&& that)
-    : type (that.type)
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SUB_RESERVATION (YY_COPY (location_type) l)
   {
-    that.clear ();
+    return symbol_type (token::TOKEN_SUB_RESERVATION, YY_MOVE (l));
   }
-#endif
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 
   inline
-  Dhcp6Parser::by_type::by_type (const by_type& that)
-    : type (that.type)
-  {}
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SUB_OPTION_DEFS (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_SUB_OPTION_DEFS, YY_MOVE (l));
+  }
 
   inline
-  Dhcp6Parser::by_type::by_type (token_type t)
-    : type (yytranslate_ (t))
-  {}
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SUB_OPTION_DEF (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_SUB_OPTION_DEF, YY_MOVE (l));
+  }
 
   inline
-  void
-  Dhcp6Parser::by_type::clear ()
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SUB_OPTION_DATA (YY_COPY (location_type) l)
   {
-    type = empty_symbol;
+    return symbol_type (token::TOKEN_SUB_OPTION_DATA, YY_MOVE (l));
   }
 
   inline
-  void
-  Dhcp6Parser::by_type::move (by_type& that)
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SUB_HOOKS_LIBRARY (YY_COPY (location_type) l)
   {
-    type = that.type;
-    that.clear ();
+    return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, YY_MOVE (l));
   }
 
   inline
-  int
-  Dhcp6Parser::by_type::type_get () const YY_NOEXCEPT
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SUB_DHCP_DDNS (YY_COPY (location_type) l)
   {
-    return type;
+    return symbol_type (token::TOKEN_SUB_DHCP_DDNS, YY_MOVE (l));
   }
 
   inline
-  Dhcp6Parser::token_type
-  Dhcp6Parser::by_type::token () const YY_NOEXCEPT
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SUB_LOGGING (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_SUB_LOGGING, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_SUB_CONFIG_CONTROL (YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_STRING (YY_COPY (std::string) v, YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_STRING, YY_MOVE (v), YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_INTEGER (YY_COPY (int64_t) v, YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_INTEGER, YY_MOVE (v), YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_FLOAT (YY_COPY (double) v, YY_COPY (location_type) l)
   {
+<<<<<<< HEAD
     // YYTOKNUM[NUM] -- (External) token number corresponding to the
     // (internal) symbol number NUM (which must be that of a token).  */
     static
@@ -4340,8 +6602,23 @@ switch (yytype)
 #line 14 "dhcp6_parser.yy"
 } } // isc::dhcp
 #line 4343 "dhcp6_parser.h"
+=======
+    return symbol_type (token::TOKEN_FLOAT, YY_MOVE (v), YY_MOVE (l));
+  }
+
+  inline
+  Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_BOOLEAN (YY_COPY (bool) v, YY_COPY (location_type) l)
+  {
+    return symbol_type (token::TOKEN_BOOLEAN, YY_MOVE (v), YY_MOVE (l));
+  }
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 
 
+#line 14 "dhcp6_parser.yy" // lalr1.cc:404
+} } // isc::dhcp
+#line 3424 "dhcp6_parser.h" // lalr1.cc:404
+
 
 
 
index 342588335479a80d70706fe65056f72e9c79647a..3523ad7de649f936b1c6ddae9b11f08a001bd66e 100644 (file)
@@ -84,6 +84,7 @@ using namespace std;
   REQUEST_TIMEOUT "request-timeout"
   TCP_KEEPALIVE "tcp-keepalive"
   TCP_NODELAY "tcp-nodelay"
+  MAX_ROW_ERRORS "max-row-errors"
 
   PREFERRED_LIFETIME "preferred-lifetime"
   MIN_PREFERRED_LIFETIME "min-preferred-lifetime"
@@ -691,6 +692,7 @@ database_map_param: database_type
                   | keyspace
                   | consistency
                   | serial_consistency
+                  | max_row_errors
                   | unknown_map_entry
                   ;
 
@@ -769,6 +771,11 @@ reconnect_wait_time: RECONNECT_WAIT_TIME COLON INTEGER {
     ctx.stack_.back()->set("reconnect-wait-time", n);
 };
 
+max_row_errors: MAX_ROW_ERRORS COLON INTEGER {
+    ElementPtr n(new IntElement($3, ctx.loc2pos(@3)));
+    ctx.stack_.back()->set("max-row-errors", n);
+};
+
 request_timeout: REQUEST_TIMEOUT COLON INTEGER {
     ElementPtr n(new IntElement($3, ctx.loc2pos(@3)));
     ctx.stack_.back()->set("request-timeout", n);
index c13e3da1c6857015a63eb11d551075b3519be4d9..60d1488bd98b8f20be2f73795ea0bb1a920000af 100644 (file)
@@ -1,8 +1,12 @@
+<<<<<<< HEAD
 // A Bison parser, made by GNU Bison 3.4.1.
+=======
+// A Bison parser, made by GNU Bison 3.2.1.
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 
 // Locations for Bison parsers in C++
 
-// Copyright (C) 2002-2015, 2018-2019 Free Software Foundation, Inc.
+// Copyright (C) 2002-2015, 2018 Free Software Foundation, Inc.
 
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
 #  endif
 # endif
 
-#line 14 "dhcp6_parser.yy"
+#line 14 "dhcp6_parser.yy" // location.cc:339
 namespace isc { namespace dhcp {
-#line 60 "location.hh"
-
+#line 60 "location.hh" // location.cc:339
   /// A point in a source file.
   class position
   {
@@ -317,8 +320,7 @@ namespace isc { namespace dhcp {
     return ostr;
   }
 
-#line 14 "dhcp6_parser.yy"
+#line 14 "dhcp6_parser.yy" // location.cc:339
 } } // isc::dhcp
-#line 323 "location.hh"
-
+#line 322 "location.hh" // location.cc:339
 #endif // !YY_PARSER6_LOCATION_HH_INCLUDED
index c1280f1a347f04673eec0c941db19fe333a28d04..7aaa7e26bbe3838df68cca8e90e25f5767078c5d 100644 (file)
@@ -1,4 +1,8 @@
+<<<<<<< HEAD
 // A Bison parser, made by GNU Bison 3.4.1.
+=======
+// A Bison parser, made by GNU Bison 3.2.1.
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 
 // Starting with Bison 3.2, this file is useless: the structure it
 // used to define is now defined in "location.hh".
index 0f7aafe5290020a3e768189165049d4f8a4cc490..3c2de56c0b49cb209e68df2448832bdb5b7eeab6 100644 (file)
@@ -1,4 +1,8 @@
+<<<<<<< HEAD
 // A Bison parser, made by GNU Bison 3.4.1.
+=======
+// A Bison parser, made by GNU Bison 3.2.1.
+>>>>>>> [#805,!5-p] kea-dhcp6 now supports max-row-errors parameter
 
 // Starting with Bison 3.2, this file is useless: the structure it
 // used to define is now defined with the parser itself.
index 8a03c24ce343f447e7ddf35830d862741d3016f4..96b1ba7f949ffbe3692cff86b99ca5ef3fda3949 100644 (file)
@@ -312,7 +312,7 @@ protected:
 };
 
 LeaseFileLoaderTest::LeaseFileLoaderTest()
-    : filename_(absolutePath("leases4.csv")), io_(filename_) {
+    : filename_(absolutePath("leases.csv")), io_(filename_) {
     CfgMgr::instance().clear();
 }
 
@@ -649,72 +649,58 @@ TEST_F(LeaseFileLoaderTest, loadWrite6LeaseRemove) {
     }
 }
 
-// This test verifies that the exception is thrown when the specific
-// number of errors in the test data occur during reading of the lease
-// file.
-TEST_F(LeaseFileLoaderTest, loadMaxErrors) {
-    std::string test_str;
-    std::string a_1 = "192.0.2.1,06:07:08:09:0a:bc,,"
-                      "200,200,8,1,1,host.example.com,1,\n";
-    std::string a_2 = "192.0.2.1,06:07:08:09:0a:bc,,"
-                      "200,500,8,1,1,host.example.com,1,\n";
-
-    std::string b_1 = "192.0.2.3,,a:11:01:04,200,200,8,1,1,host.example.com,"
-                      "0,\n";
-
-    std::string c_1 = "192.0.2.10,01:02:03:04:05:06,,200,300,8,1,1,,1,\n";
-
-    // Create a lease file for which there is a number of invalid
-    // entries.  b_1 is invalid and gets used multiple times.
-    test_str = v4_hdr_ + a_1 + b_1 + b_1 + c_1 + b_1 + b_1 + a_2;
-    io_.writeFile(test_str);
-
-    boost::scoped_ptr<CSVLeaseFile4> lf(new CSVLeaseFile4(filename_));
-    ASSERT_NO_THROW(lf->open());
-
-    // Load leases and set the maximum number of errors to 3. This
-    // should result in an exception because there are 4 invalid entries.
-    Lease4Storage storage;
-    ASSERT_THROW(LeaseFileLoader::load<Lease4>(*lf, storage, 3),
-                 util::CSVFileError);
+// This test verifies that max-row-errors works correctly for
+// DHCPv6 lease files
+TEST_F(LeaseFileLoaderTest, maxRowErrors6) {
+    // We have 9 rows: 2 that are good, 7 that are flawed (too few fields).
+    std::vector<std::string> rows = {
+        "3002::01,00:03:00:01:08:00:27:25:d3:01,30,1565361388,2,20,0,"
+        "11189196,128,0,0,,08:00:27:25:d3:f4,0,\n",
+        "3002::02,00:03:00:01:08:00:27:25:d3:02,30,1565361388,2,20,0\n",
+        "3002::03,00:03:00:01:08:00:27:25:d3:03,30,1565361388,2,20,0\n",
+        "3002::04,00:03:00:01:08:00:27:25:d3:04,30,1565361388,2,20,0\n",
+        "3002::05,00:03:00:01:08:00:27:25:d3:05,30,1565361388,2,20,0\n",
+        "3002::06,00:03:00:01:08:00:27:25:d3:06,30,1565361388,2,20,0\n",
+        "3002::07,00:03:00:01:08:00:27:25:d3:07,30,1565361388,2,20,0\n",
+        "3002::08,00:03:00:01:08:00:27:25:d3:08,30,1565361388,2,20,0\n",
+        "3002::09,00:03:00:01:08:00:27:25:d3:09,30,1565361388,2,20,0,"
+        "11189196,128,0,0,,08:00:27:25:d3:f4,0,\n"
+    };
 
-    // We should have made 6 attempts to read, with 2 leases read and 4 error
-    {
-    SCOPED_TRACE("Read leases 1");
-    checkStats(*lf, 6, 2, 4, 0, 0, 0);
+    std::ostringstream os;
+    os << v6_hdr_;
+    for (auto row : rows) {
+        os << row;
     }
 
-    lf->close();
+    io_.writeFile(os.str());
+
+    boost::scoped_ptr<CSVLeaseFile6> lf(new CSVLeaseFile6(filename_));
     ASSERT_NO_THROW(lf->open());
 
-    // Repeat the test, but this time allow for 4 invalid entries. It
-    // should load just fine.
-    storage.clear();
-    ASSERT_NO_THROW(LeaseFileLoader::load<Lease4>(*lf, storage, 4));
+    // Let's limit the number of errors to 5 (we have 7 in the data) and
+    // try to load the leases.
+    uint32_t max_errors = 5;
+    Lease6Storage storage;
+    ASSERT_THROW(LeaseFileLoader::load<Lease6>(*lf, storage, max_errors), util::CSVFileError);
 
-    // We should have made 8 attempts to read, with 3 leases read and 4 error
+    // We should have made 7 reads, with 1 lease read, and 6 errors.
     {
-    SCOPED_TRACE("Read leases 2");
-    checkStats(*lf, 8, 3, 4, 0, 0, 0);
+        SCOPED_TRACE("Failed load stats");
+        checkStats(*lf, 7, 1, 6, 0, 0, 0);
     }
 
-    ASSERT_EQ(2, storage.size());
-
-    Lease4Ptr lease = getLease<Lease4Ptr>("192.0.2.1", storage);
-    ASSERT_TRUE(lease);
-    EXPECT_EQ(300, lease->cltt_);
-
-    lease = getLease<Lease4Ptr>("192.0.2.10", storage);
-    ASSERT_TRUE(lease);
-    EXPECT_EQ(100, lease->cltt_);
+    // Now let's disable the error limit and try again.
+    max_errors = 0;
 
-    test_str = v4_hdr_ + a_2 + c_1;
-    writeLeases<Lease4, CSVLeaseFile4, Lease4Storage>(*lf, storage, test_str);
+    // Load leases from the file. Note, we have to reopen the file.
+    ASSERT_NO_THROW(lf->open());
+    ASSERT_NO_THROW(LeaseFileLoader::load<Lease6>(*lf, storage, max_errors));
 
-    // We should have made 1 attempts to write, with 1 leases written and 0 errors
+    // We should have made 10 reads, with 2 leases read, and 7 errors.
     {
-    SCOPED_TRACE("Write leases");
-    checkStats(*lf, 0, 0, 0, 2, 2, 0);
+        SCOPED_TRACE("Good load stats");
+        checkStats(*lf, 10, 2, 7, 0, 0, 0);
     }
 }