|
@@ -305,6 +305,7 @@ namespace isc { namespace dhcp {
|
|
|
union union_type
|
|
|
{
|
|
|
// value
|
|
|
+ // db_type
|
|
|
char dummy1[sizeof(ElementPtr)];
|
|
|
|
|
|
// "boolean"
|
|
@@ -360,86 +361,85 @@ namespace isc { namespace dhcp {
|
|
|
TOKEN_LEASE_DATABASE = 274,
|
|
|
TOKEN_HOSTS_DATABASE = 275,
|
|
|
TOKEN_TYPE = 276,
|
|
|
- TOKEN_USER = 277,
|
|
|
- TOKEN_PASSWORD = 278,
|
|
|
- TOKEN_HOST = 279,
|
|
|
- TOKEN_PERSIST = 280,
|
|
|
- TOKEN_LFC_INTERVAL = 281,
|
|
|
- TOKEN_READONLY = 282,
|
|
|
- TOKEN_VALID_LIFETIME = 283,
|
|
|
- TOKEN_RENEW_TIMER = 284,
|
|
|
- TOKEN_REBIND_TIMER = 285,
|
|
|
- TOKEN_DECLINE_PROBATION_PERIOD = 286,
|
|
|
- TOKEN_SUBNET4 = 287,
|
|
|
- TOKEN_SUBNET_4O6_INTERFACE = 288,
|
|
|
- TOKEN_SUBNET_4O6_INTERFACE_ID = 289,
|
|
|
- TOKEN_SUBNET_4O6_SUBNET = 290,
|
|
|
- TOKEN_OPTION_DEF = 291,
|
|
|
- TOKEN_OPTION_DATA = 292,
|
|
|
- TOKEN_NAME = 293,
|
|
|
- TOKEN_DATA = 294,
|
|
|
- TOKEN_CODE = 295,
|
|
|
- TOKEN_SPACE = 296,
|
|
|
- TOKEN_CSV_FORMAT = 297,
|
|
|
- TOKEN_RECORD_TYPES = 298,
|
|
|
- TOKEN_ENCAPSULATE = 299,
|
|
|
- TOKEN_ARRAY = 300,
|
|
|
- TOKEN_POOLS = 301,
|
|
|
- TOKEN_POOL = 302,
|
|
|
- TOKEN_SUBNET = 303,
|
|
|
- TOKEN_INTERFACE = 304,
|
|
|
- TOKEN_INTERFACE_ID = 305,
|
|
|
- TOKEN_ID = 306,
|
|
|
- TOKEN_RAPID_COMMIT = 307,
|
|
|
- TOKEN_RESERVATION_MODE = 308,
|
|
|
- TOKEN_HOST_RESERVATION_IDENTIFIERS = 309,
|
|
|
- TOKEN_CLIENT_CLASSES = 310,
|
|
|
- TOKEN_TEST = 311,
|
|
|
- TOKEN_CLIENT_CLASS = 312,
|
|
|
- TOKEN_RESERVATIONS = 313,
|
|
|
- TOKEN_DUID = 314,
|
|
|
- TOKEN_HW_ADDRESS = 315,
|
|
|
- TOKEN_CIRCUIT_ID = 316,
|
|
|
- TOKEN_CLIENT_ID = 317,
|
|
|
- TOKEN_HOSTNAME = 318,
|
|
|
- TOKEN_RELAY = 319,
|
|
|
- TOKEN_IP_ADDRESS = 320,
|
|
|
- TOKEN_HOOKS_LIBRARIES = 321,
|
|
|
- TOKEN_LIBRARY = 322,
|
|
|
- TOKEN_PARAMETERS = 323,
|
|
|
- TOKEN_EXPIRED_LEASES_PROCESSING = 324,
|
|
|
- TOKEN_SERVER_ID = 325,
|
|
|
- TOKEN_IDENTIFIER = 326,
|
|
|
- TOKEN_HTYPE = 327,
|
|
|
- TOKEN_TIME = 328,
|
|
|
- TOKEN_ENTERPRISE_ID = 329,
|
|
|
- TOKEN_DHCP4O6_PORT = 330,
|
|
|
- TOKEN_CONTROL_SOCKET = 331,
|
|
|
- TOKEN_SOCKET_TYPE = 332,
|
|
|
- TOKEN_SOCKET_NAME = 333,
|
|
|
- TOKEN_DHCP_DDNS = 334,
|
|
|
- TOKEN_LOGGING = 335,
|
|
|
- TOKEN_LOGGERS = 336,
|
|
|
- TOKEN_OUTPUT_OPTIONS = 337,
|
|
|
- TOKEN_OUTPUT = 338,
|
|
|
- TOKEN_DEBUGLEVEL = 339,
|
|
|
- TOKEN_SEVERITY = 340,
|
|
|
- TOKEN_DHCP6 = 341,
|
|
|
- TOKEN_DHCPDDNS = 342,
|
|
|
- TOKEN_TOPLEVEL_JSON = 343,
|
|
|
- TOKEN_TOPLEVEL_DHCP4 = 344,
|
|
|
- TOKEN_SUB_DHCP4 = 345,
|
|
|
- TOKEN_SUB_INTERFACES4 = 346,
|
|
|
- TOKEN_SUB_SUBNET4 = 347,
|
|
|
- TOKEN_SUB_POOL4 = 348,
|
|
|
- TOKEN_SUB_RESERVATION = 349,
|
|
|
- TOKEN_SUB_OPTION_DEF = 350,
|
|
|
- TOKEN_SUB_OPTION_DATA = 351,
|
|
|
- TOKEN_SUB_HOOKS_LIBRARY = 352,
|
|
|
- TOKEN_STRING = 353,
|
|
|
- TOKEN_INTEGER = 354,
|
|
|
- TOKEN_FLOAT = 355,
|
|
|
- TOKEN_BOOLEAN = 356
|
|
|
+ TOKEN_MEMFILE = 277,
|
|
|
+ TOKEN_MYSQL = 278,
|
|
|
+ TOKEN_POSTGRESQL = 279,
|
|
|
+ TOKEN_USER = 280,
|
|
|
+ TOKEN_PASSWORD = 281,
|
|
|
+ TOKEN_HOST = 282,
|
|
|
+ TOKEN_PERSIST = 283,
|
|
|
+ TOKEN_LFC_INTERVAL = 284,
|
|
|
+ TOKEN_READONLY = 285,
|
|
|
+ TOKEN_CONNECT_TIMEOUT = 286,
|
|
|
+ TOKEN_VALID_LIFETIME = 287,
|
|
|
+ TOKEN_RENEW_TIMER = 288,
|
|
|
+ TOKEN_REBIND_TIMER = 289,
|
|
|
+ TOKEN_DECLINE_PROBATION_PERIOD = 290,
|
|
|
+ TOKEN_SUBNET4 = 291,
|
|
|
+ TOKEN_SUBNET_4O6_INTERFACE = 292,
|
|
|
+ TOKEN_SUBNET_4O6_INTERFACE_ID = 293,
|
|
|
+ TOKEN_SUBNET_4O6_SUBNET = 294,
|
|
|
+ TOKEN_OPTION_DEF = 295,
|
|
|
+ TOKEN_OPTION_DATA = 296,
|
|
|
+ TOKEN_NAME = 297,
|
|
|
+ TOKEN_DATA = 298,
|
|
|
+ TOKEN_CODE = 299,
|
|
|
+ TOKEN_SPACE = 300,
|
|
|
+ TOKEN_CSV_FORMAT = 301,
|
|
|
+ TOKEN_RECORD_TYPES = 302,
|
|
|
+ TOKEN_ENCAPSULATE = 303,
|
|
|
+ TOKEN_ARRAY = 304,
|
|
|
+ TOKEN_POOLS = 305,
|
|
|
+ TOKEN_POOL = 306,
|
|
|
+ TOKEN_SUBNET = 307,
|
|
|
+ TOKEN_INTERFACE = 308,
|
|
|
+ TOKEN_INTERFACE_ID = 309,
|
|
|
+ TOKEN_ID = 310,
|
|
|
+ TOKEN_RAPID_COMMIT = 311,
|
|
|
+ TOKEN_RESERVATION_MODE = 312,
|
|
|
+ TOKEN_HOST_RESERVATION_IDENTIFIERS = 313,
|
|
|
+ TOKEN_CLIENT_CLASSES = 314,
|
|
|
+ TOKEN_TEST = 315,
|
|
|
+ TOKEN_CLIENT_CLASS = 316,
|
|
|
+ TOKEN_RESERVATIONS = 317,
|
|
|
+ TOKEN_DUID = 318,
|
|
|
+ TOKEN_HW_ADDRESS = 319,
|
|
|
+ TOKEN_CIRCUIT_ID = 320,
|
|
|
+ TOKEN_CLIENT_ID = 321,
|
|
|
+ TOKEN_HOSTNAME = 322,
|
|
|
+ TOKEN_RELAY = 323,
|
|
|
+ TOKEN_IP_ADDRESS = 324,
|
|
|
+ TOKEN_HOOKS_LIBRARIES = 325,
|
|
|
+ TOKEN_LIBRARY = 326,
|
|
|
+ TOKEN_PARAMETERS = 327,
|
|
|
+ TOKEN_EXPIRED_LEASES_PROCESSING = 328,
|
|
|
+ TOKEN_DHCP4O6_PORT = 329,
|
|
|
+ TOKEN_CONTROL_SOCKET = 330,
|
|
|
+ TOKEN_SOCKET_TYPE = 331,
|
|
|
+ TOKEN_SOCKET_NAME = 332,
|
|
|
+ TOKEN_DHCP_DDNS = 333,
|
|
|
+ TOKEN_LOGGING = 334,
|
|
|
+ TOKEN_LOGGERS = 335,
|
|
|
+ TOKEN_OUTPUT_OPTIONS = 336,
|
|
|
+ TOKEN_OUTPUT = 337,
|
|
|
+ TOKEN_DEBUGLEVEL = 338,
|
|
|
+ TOKEN_SEVERITY = 339,
|
|
|
+ TOKEN_DHCP6 = 340,
|
|
|
+ TOKEN_DHCPDDNS = 341,
|
|
|
+ TOKEN_TOPLEVEL_JSON = 342,
|
|
|
+ TOKEN_TOPLEVEL_DHCP4 = 343,
|
|
|
+ TOKEN_SUB_DHCP4 = 344,
|
|
|
+ TOKEN_SUB_INTERFACES4 = 345,
|
|
|
+ TOKEN_SUB_SUBNET4 = 346,
|
|
|
+ TOKEN_SUB_POOL4 = 347,
|
|
|
+ TOKEN_SUB_RESERVATION = 348,
|
|
|
+ TOKEN_SUB_OPTION_DEF = 349,
|
|
|
+ TOKEN_SUB_OPTION_DATA = 350,
|
|
|
+ TOKEN_SUB_HOOKS_LIBRARY = 351,
|
|
|
+ TOKEN_STRING = 352,
|
|
|
+ TOKEN_INTEGER = 353,
|
|
|
+ TOKEN_FLOAT = 354,
|
|
|
+ TOKEN_BOOLEAN = 355
|
|
|
};
|
|
|
};
|
|
|
|
|
@@ -636,6 +636,18 @@ namespace isc { namespace dhcp {
|
|
|
|
|
|
static inline
|
|
|
symbol_type
|
|
|
+ make_MEMFILE (const location_type& l);
|
|
|
+
|
|
|
+ static inline
|
|
|
+ symbol_type
|
|
|
+ make_MYSQL (const location_type& l);
|
|
|
+
|
|
|
+ static inline
|
|
|
+ symbol_type
|
|
|
+ make_POSTGRESQL (const location_type& l);
|
|
|
+
|
|
|
+ static inline
|
|
|
+ symbol_type
|
|
|
make_USER (const location_type& l);
|
|
|
|
|
|
static inline
|
|
@@ -660,6 +672,10 @@ namespace isc { namespace dhcp {
|
|
|
|
|
|
static inline
|
|
|
symbol_type
|
|
|
+ make_CONNECT_TIMEOUT (const location_type& l);
|
|
|
+
|
|
|
+ static inline
|
|
|
+ symbol_type
|
|
|
make_VALID_LIFETIME (const location_type& l);
|
|
|
|
|
|
static inline
|
|
@@ -828,26 +844,6 @@ namespace isc { namespace dhcp {
|
|
|
|
|
|
static inline
|
|
|
symbol_type
|
|
|
- make_SERVER_ID (const location_type& l);
|
|
|
-
|
|
|
- static inline
|
|
|
- symbol_type
|
|
|
- make_IDENTIFIER (const location_type& l);
|
|
|
-
|
|
|
- static inline
|
|
|
- symbol_type
|
|
|
- make_HTYPE (const location_type& l);
|
|
|
-
|
|
|
- static inline
|
|
|
- symbol_type
|
|
|
- make_TIME (const location_type& l);
|
|
|
-
|
|
|
- static inline
|
|
|
- symbol_type
|
|
|
- make_ENTERPRISE_ID (const location_type& l);
|
|
|
-
|
|
|
- static inline
|
|
|
- symbol_type
|
|
|
make_DHCP4O6_PORT (const location_type& l);
|
|
|
|
|
|
static inline
|
|
@@ -1159,12 +1155,12 @@ namespace isc { namespace dhcp {
|
|
|
enum
|
|
|
{
|
|
|
yyeof_ = 0,
|
|
|
- yylast_ = 624, ///< Last index in yytable_.
|
|
|
- yynnts_ = 267, ///< Number of nonterminal symbols.
|
|
|
+ yylast_ = 604, ///< Last index in yytable_.
|
|
|
+ yynnts_ = 261, ///< Number of nonterminal symbols.
|
|
|
yyfinal_ = 22, ///< Termination state number.
|
|
|
yyterror_ = 1,
|
|
|
yyerrcode_ = 256,
|
|
|
- yyntokens_ = 102 ///< Number of tokens.
|
|
|
+ yyntokens_ = 101 ///< Number of tokens.
|
|
|
};
|
|
|
|
|
|
|
|
@@ -1216,9 +1212,9 @@ namespace isc { namespace dhcp {
|
|
|
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
|
|
|
+ 95, 96, 97, 98, 99, 100
|
|
|
};
|
|
|
- const unsigned int user_token_number_max_ = 356;
|
|
|
+ const unsigned int user_token_number_max_ = 355;
|
|
|
const token_number_type undef_token_ = 2;
|
|
|
|
|
|
if (static_cast<int>(t) <= yyeof_)
|
|
@@ -1251,23 +1247,24 @@ namespace isc { namespace dhcp {
|
|
|
{
|
|
|
switch (other.type_get ())
|
|
|
{
|
|
|
- case 114: // value
|
|
|
+ case 113: // value
|
|
|
+ case 160: // db_type
|
|
|
value.copy< ElementPtr > (other.value);
|
|
|
break;
|
|
|
|
|
|
- case 101: // "boolean"
|
|
|
+ case 100: // "boolean"
|
|
|
value.copy< bool > (other.value);
|
|
|
break;
|
|
|
|
|
|
- case 100: // "floating point"
|
|
|
+ case 99: // "floating point"
|
|
|
value.copy< double > (other.value);
|
|
|
break;
|
|
|
|
|
|
- case 99: // "integer"
|
|
|
+ case 98: // "integer"
|
|
|
value.copy< int64_t > (other.value);
|
|
|
break;
|
|
|
|
|
|
- case 98: // "constant string"
|
|
|
+ case 97: // "constant string"
|
|
|
value.copy< std::string > (other.value);
|
|
|
break;
|
|
|
|
|
@@ -1288,23 +1285,24 @@ namespace isc { namespace dhcp {
|
|
|
(void) v;
|
|
|
switch (this->type_get ())
|
|
|
{
|
|
|
- case 114: // value
|
|
|
+ case 113: // value
|
|
|
+ case 160: // db_type
|
|
|
value.copy< ElementPtr > (v);
|
|
|
break;
|
|
|
|
|
|
- case 101: // "boolean"
|
|
|
+ case 100: // "boolean"
|
|
|
value.copy< bool > (v);
|
|
|
break;
|
|
|
|
|
|
- case 100: // "floating point"
|
|
|
+ case 99: // "floating point"
|
|
|
value.copy< double > (v);
|
|
|
break;
|
|
|
|
|
|
- case 99: // "integer"
|
|
|
+ case 98: // "integer"
|
|
|
value.copy< int64_t > (v);
|
|
|
break;
|
|
|
|
|
|
- case 98: // "constant string"
|
|
|
+ case 97: // "constant string"
|
|
|
value.copy< std::string > (v);
|
|
|
break;
|
|
|
|
|
@@ -1384,23 +1382,24 @@ namespace isc { namespace dhcp {
|
|
|
// Type destructor.
|
|
|
switch (yytype)
|
|
|
{
|
|
|
- case 114: // value
|
|
|
+ case 113: // value
|
|
|
+ case 160: // db_type
|
|
|
value.template destroy< ElementPtr > ();
|
|
|
break;
|
|
|
|
|
|
- case 101: // "boolean"
|
|
|
+ case 100: // "boolean"
|
|
|
value.template destroy< bool > ();
|
|
|
break;
|
|
|
|
|
|
- case 100: // "floating point"
|
|
|
+ case 99: // "floating point"
|
|
|
value.template destroy< double > ();
|
|
|
break;
|
|
|
|
|
|
- case 99: // "integer"
|
|
|
+ case 98: // "integer"
|
|
|
value.template destroy< int64_t > ();
|
|
|
break;
|
|
|
|
|
|
- case 98: // "constant string"
|
|
|
+ case 97: // "constant string"
|
|
|
value.template destroy< std::string > ();
|
|
|
break;
|
|
|
|
|
@@ -1427,23 +1426,24 @@ namespace isc { namespace dhcp {
|
|
|
super_type::move(s);
|
|
|
switch (this->type_get ())
|
|
|
{
|
|
|
- case 114: // value
|
|
|
+ case 113: // value
|
|
|
+ case 160: // db_type
|
|
|
value.move< ElementPtr > (s.value);
|
|
|
break;
|
|
|
|
|
|
- case 101: // "boolean"
|
|
|
+ case 100: // "boolean"
|
|
|
value.move< bool > (s.value);
|
|
|
break;
|
|
|
|
|
|
- case 100: // "floating point"
|
|
|
+ case 99: // "floating point"
|
|
|
value.move< double > (s.value);
|
|
|
break;
|
|
|
|
|
|
- case 99: // "integer"
|
|
|
+ case 98: // "integer"
|
|
|
value.move< int64_t > (s.value);
|
|
|
break;
|
|
|
|
|
|
- case 98: // "constant string"
|
|
|
+ case 97: // "constant string"
|
|
|
value.move< std::string > (s.value);
|
|
|
break;
|
|
|
|
|
@@ -1512,7 +1512,7 @@ namespace isc { namespace dhcp {
|
|
|
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
|
|
|
+ 355
|
|
|
};
|
|
|
return static_cast<token_type> (yytoken_number_[type]);
|
|
|
}
|
|
@@ -1638,6 +1638,24 @@ namespace isc { namespace dhcp {
|
|
|
}
|
|
|
|
|
|
Dhcp4Parser::symbol_type
|
|
|
+ Dhcp4Parser::make_MEMFILE (const location_type& l)
|
|
|
+ {
|
|
|
+ return symbol_type (token::TOKEN_MEMFILE, l);
|
|
|
+ }
|
|
|
+
|
|
|
+ Dhcp4Parser::symbol_type
|
|
|
+ Dhcp4Parser::make_MYSQL (const location_type& l)
|
|
|
+ {
|
|
|
+ return symbol_type (token::TOKEN_MYSQL, l);
|
|
|
+ }
|
|
|
+
|
|
|
+ Dhcp4Parser::symbol_type
|
|
|
+ Dhcp4Parser::make_POSTGRESQL (const location_type& l)
|
|
|
+ {
|
|
|
+ return symbol_type (token::TOKEN_POSTGRESQL, l);
|
|
|
+ }
|
|
|
+
|
|
|
+ Dhcp4Parser::symbol_type
|
|
|
Dhcp4Parser::make_USER (const location_type& l)
|
|
|
{
|
|
|
return symbol_type (token::TOKEN_USER, l);
|
|
@@ -1674,6 +1692,12 @@ namespace isc { namespace dhcp {
|
|
|
}
|
|
|
|
|
|
Dhcp4Parser::symbol_type
|
|
|
+ Dhcp4Parser::make_CONNECT_TIMEOUT (const location_type& l)
|
|
|
+ {
|
|
|
+ return symbol_type (token::TOKEN_CONNECT_TIMEOUT, l);
|
|
|
+ }
|
|
|
+
|
|
|
+ Dhcp4Parser::symbol_type
|
|
|
Dhcp4Parser::make_VALID_LIFETIME (const location_type& l)
|
|
|
{
|
|
|
return symbol_type (token::TOKEN_VALID_LIFETIME, l);
|
|
@@ -1926,36 +1950,6 @@ namespace isc { namespace dhcp {
|
|
|
}
|
|
|
|
|
|
Dhcp4Parser::symbol_type
|
|
|
- Dhcp4Parser::make_SERVER_ID (const location_type& l)
|
|
|
- {
|
|
|
- return symbol_type (token::TOKEN_SERVER_ID, l);
|
|
|
- }
|
|
|
-
|
|
|
- Dhcp4Parser::symbol_type
|
|
|
- Dhcp4Parser::make_IDENTIFIER (const location_type& l)
|
|
|
- {
|
|
|
- return symbol_type (token::TOKEN_IDENTIFIER, l);
|
|
|
- }
|
|
|
-
|
|
|
- Dhcp4Parser::symbol_type
|
|
|
- Dhcp4Parser::make_HTYPE (const location_type& l)
|
|
|
- {
|
|
|
- return symbol_type (token::TOKEN_HTYPE, l);
|
|
|
- }
|
|
|
-
|
|
|
- Dhcp4Parser::symbol_type
|
|
|
- Dhcp4Parser::make_TIME (const location_type& l)
|
|
|
- {
|
|
|
- return symbol_type (token::TOKEN_TIME, l);
|
|
|
- }
|
|
|
-
|
|
|
- Dhcp4Parser::symbol_type
|
|
|
- Dhcp4Parser::make_ENTERPRISE_ID (const location_type& l)
|
|
|
- {
|
|
|
- return symbol_type (token::TOKEN_ENTERPRISE_ID, l);
|
|
|
- }
|
|
|
-
|
|
|
- Dhcp4Parser::symbol_type
|
|
|
Dhcp4Parser::make_DHCP4O6_PORT (const location_type& l)
|
|
|
{
|
|
|
return symbol_type (token::TOKEN_DHCP4O6_PORT, l);
|
|
@@ -2120,7 +2114,7 @@ namespace isc { namespace dhcp {
|
|
|
|
|
|
#line 14 "dhcp4_parser.yy" // lalr1.cc:377
|
|
|
} } // isc::dhcp
|
|
|
-#line 2124 "dhcp4_parser.h" // lalr1.cc:377
|
|
|
+#line 2118 "dhcp4_parser.h" // lalr1.cc:377
|
|
|
|
|
|
|
|
|
|