|
@@ -418,66 +418,67 @@ namespace isc { namespace dhcp {
|
|
TOKEN_CIRCUIT_ID = 327,
|
|
TOKEN_CIRCUIT_ID = 327,
|
|
TOKEN_CLIENT_ID = 328,
|
|
TOKEN_CLIENT_ID = 328,
|
|
TOKEN_HOSTNAME = 329,
|
|
TOKEN_HOSTNAME = 329,
|
|
- TOKEN_RELAY = 330,
|
|
|
|
- TOKEN_IP_ADDRESS = 331,
|
|
|
|
- TOKEN_HOOKS_LIBRARIES = 332,
|
|
|
|
- TOKEN_LIBRARY = 333,
|
|
|
|
- TOKEN_PARAMETERS = 334,
|
|
|
|
- TOKEN_EXPIRED_LEASES_PROCESSING = 335,
|
|
|
|
- TOKEN_RECLAIM_TIMER_WAIT_TIME = 336,
|
|
|
|
- TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 337,
|
|
|
|
- TOKEN_HOLD_RECLAIMED_TIME = 338,
|
|
|
|
- TOKEN_MAX_RECLAIM_LEASES = 339,
|
|
|
|
- TOKEN_MAX_RECLAIM_TIME = 340,
|
|
|
|
- TOKEN_UNWARNED_RECLAIM_CYCLES = 341,
|
|
|
|
- TOKEN_DHCP4O6_PORT = 342,
|
|
|
|
- TOKEN_CONTROL_SOCKET = 343,
|
|
|
|
- TOKEN_SOCKET_TYPE = 344,
|
|
|
|
- TOKEN_SOCKET_NAME = 345,
|
|
|
|
- TOKEN_DHCP_DDNS = 346,
|
|
|
|
- TOKEN_ENABLE_UPDATES = 347,
|
|
|
|
- TOKEN_QUALIFYING_SUFFIX = 348,
|
|
|
|
- TOKEN_SERVER_IP = 349,
|
|
|
|
- TOKEN_SERVER_PORT = 350,
|
|
|
|
- TOKEN_SENDER_IP = 351,
|
|
|
|
- TOKEN_SENDER_PORT = 352,
|
|
|
|
- TOKEN_MAX_QUEUE_SIZE = 353,
|
|
|
|
- TOKEN_NCR_PROTOCOL = 354,
|
|
|
|
- TOKEN_NCR_FORMAT = 355,
|
|
|
|
- TOKEN_ALWAYS_INCLUDE_FQDN = 356,
|
|
|
|
- TOKEN_OVERRIDE_NO_UPDATE = 357,
|
|
|
|
- TOKEN_OVERRIDE_CLIENT_UPDATE = 358,
|
|
|
|
- TOKEN_REPLACE_CLIENT_NAME = 359,
|
|
|
|
- TOKEN_GENERATED_PREFIX = 360,
|
|
|
|
- TOKEN_TCP = 361,
|
|
|
|
- TOKEN_JSON = 362,
|
|
|
|
- TOKEN_WHEN_PRESENT = 363,
|
|
|
|
- TOKEN_NEVER = 364,
|
|
|
|
- TOKEN_ALWAYS = 365,
|
|
|
|
- TOKEN_WHEN_NOT_PRESENT = 366,
|
|
|
|
- TOKEN_LOGGING = 367,
|
|
|
|
- TOKEN_LOGGERS = 368,
|
|
|
|
- TOKEN_OUTPUT_OPTIONS = 369,
|
|
|
|
- TOKEN_OUTPUT = 370,
|
|
|
|
- TOKEN_DEBUGLEVEL = 371,
|
|
|
|
- TOKEN_SEVERITY = 372,
|
|
|
|
- TOKEN_DHCP6 = 373,
|
|
|
|
- TOKEN_DHCPDDNS = 374,
|
|
|
|
- TOKEN_TOPLEVEL_JSON = 375,
|
|
|
|
- TOKEN_TOPLEVEL_DHCP4 = 376,
|
|
|
|
- TOKEN_SUB_DHCP4 = 377,
|
|
|
|
- TOKEN_SUB_INTERFACES4 = 378,
|
|
|
|
- TOKEN_SUB_SUBNET4 = 379,
|
|
|
|
- TOKEN_SUB_POOL4 = 380,
|
|
|
|
- TOKEN_SUB_RESERVATION = 381,
|
|
|
|
- TOKEN_SUB_OPTION_DEF = 382,
|
|
|
|
- TOKEN_SUB_OPTION_DATA = 383,
|
|
|
|
- TOKEN_SUB_HOOKS_LIBRARY = 384,
|
|
|
|
- TOKEN_SUB_DHCP_DDNS = 385,
|
|
|
|
- TOKEN_STRING = 386,
|
|
|
|
- TOKEN_INTEGER = 387,
|
|
|
|
- TOKEN_FLOAT = 388,
|
|
|
|
- TOKEN_BOOLEAN = 389
|
|
|
|
|
|
+ TOKEN_FLEX_ID = 330,
|
|
|
|
+ TOKEN_RELAY = 331,
|
|
|
|
+ TOKEN_IP_ADDRESS = 332,
|
|
|
|
+ TOKEN_HOOKS_LIBRARIES = 333,
|
|
|
|
+ TOKEN_LIBRARY = 334,
|
|
|
|
+ TOKEN_PARAMETERS = 335,
|
|
|
|
+ TOKEN_EXPIRED_LEASES_PROCESSING = 336,
|
|
|
|
+ TOKEN_RECLAIM_TIMER_WAIT_TIME = 337,
|
|
|
|
+ TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 338,
|
|
|
|
+ TOKEN_HOLD_RECLAIMED_TIME = 339,
|
|
|
|
+ TOKEN_MAX_RECLAIM_LEASES = 340,
|
|
|
|
+ TOKEN_MAX_RECLAIM_TIME = 341,
|
|
|
|
+ TOKEN_UNWARNED_RECLAIM_CYCLES = 342,
|
|
|
|
+ TOKEN_DHCP4O6_PORT = 343,
|
|
|
|
+ TOKEN_CONTROL_SOCKET = 344,
|
|
|
|
+ TOKEN_SOCKET_TYPE = 345,
|
|
|
|
+ TOKEN_SOCKET_NAME = 346,
|
|
|
|
+ TOKEN_DHCP_DDNS = 347,
|
|
|
|
+ TOKEN_ENABLE_UPDATES = 348,
|
|
|
|
+ TOKEN_QUALIFYING_SUFFIX = 349,
|
|
|
|
+ TOKEN_SERVER_IP = 350,
|
|
|
|
+ TOKEN_SERVER_PORT = 351,
|
|
|
|
+ TOKEN_SENDER_IP = 352,
|
|
|
|
+ TOKEN_SENDER_PORT = 353,
|
|
|
|
+ TOKEN_MAX_QUEUE_SIZE = 354,
|
|
|
|
+ TOKEN_NCR_PROTOCOL = 355,
|
|
|
|
+ TOKEN_NCR_FORMAT = 356,
|
|
|
|
+ TOKEN_ALWAYS_INCLUDE_FQDN = 357,
|
|
|
|
+ TOKEN_OVERRIDE_NO_UPDATE = 358,
|
|
|
|
+ TOKEN_OVERRIDE_CLIENT_UPDATE = 359,
|
|
|
|
+ TOKEN_REPLACE_CLIENT_NAME = 360,
|
|
|
|
+ TOKEN_GENERATED_PREFIX = 361,
|
|
|
|
+ TOKEN_TCP = 362,
|
|
|
|
+ TOKEN_JSON = 363,
|
|
|
|
+ TOKEN_WHEN_PRESENT = 364,
|
|
|
|
+ TOKEN_NEVER = 365,
|
|
|
|
+ TOKEN_ALWAYS = 366,
|
|
|
|
+ TOKEN_WHEN_NOT_PRESENT = 367,
|
|
|
|
+ TOKEN_LOGGING = 368,
|
|
|
|
+ TOKEN_LOGGERS = 369,
|
|
|
|
+ TOKEN_OUTPUT_OPTIONS = 370,
|
|
|
|
+ TOKEN_OUTPUT = 371,
|
|
|
|
+ TOKEN_DEBUGLEVEL = 372,
|
|
|
|
+ TOKEN_SEVERITY = 373,
|
|
|
|
+ TOKEN_DHCP6 = 374,
|
|
|
|
+ TOKEN_DHCPDDNS = 375,
|
|
|
|
+ TOKEN_TOPLEVEL_JSON = 376,
|
|
|
|
+ TOKEN_TOPLEVEL_DHCP4 = 377,
|
|
|
|
+ TOKEN_SUB_DHCP4 = 378,
|
|
|
|
+ TOKEN_SUB_INTERFACES4 = 379,
|
|
|
|
+ TOKEN_SUB_SUBNET4 = 380,
|
|
|
|
+ TOKEN_SUB_POOL4 = 381,
|
|
|
|
+ TOKEN_SUB_RESERVATION = 382,
|
|
|
|
+ TOKEN_SUB_OPTION_DEF = 383,
|
|
|
|
+ TOKEN_SUB_OPTION_DATA = 384,
|
|
|
|
+ TOKEN_SUB_HOOKS_LIBRARY = 385,
|
|
|
|
+ TOKEN_SUB_DHCP_DDNS = 386,
|
|
|
|
+ TOKEN_STRING = 387,
|
|
|
|
+ TOKEN_INTEGER = 388,
|
|
|
|
+ TOKEN_FLOAT = 389,
|
|
|
|
+ TOKEN_BOOLEAN = 390
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
|
|
@@ -886,6 +887,10 @@ namespace isc { namespace dhcp {
|
|
|
|
|
|
static inline
|
|
static inline
|
|
symbol_type
|
|
symbol_type
|
|
|
|
+ make_FLEX_ID (const location_type& l);
|
|
|
|
+
|
|
|
|
+ static inline
|
|
|
|
+ symbol_type
|
|
make_RELAY (const location_type& l);
|
|
make_RELAY (const location_type& l);
|
|
|
|
|
|
static inline
|
|
static inline
|
|
@@ -1329,12 +1334,12 @@ namespace isc { namespace dhcp {
|
|
enum
|
|
enum
|
|
{
|
|
{
|
|
yyeof_ = 0,
|
|
yyeof_ = 0,
|
|
- yylast_ = 729, ///< Last index in yytable_.
|
|
|
|
- yynnts_ = 306, ///< Number of nonterminal symbols.
|
|
|
|
|
|
+ yylast_ = 736, ///< Last index in yytable_.
|
|
|
|
+ yynnts_ = 309, ///< Number of nonterminal symbols.
|
|
yyfinal_ = 24, ///< Termination state number.
|
|
yyfinal_ = 24, ///< Termination state number.
|
|
yyterror_ = 1,
|
|
yyterror_ = 1,
|
|
yyerrcode_ = 256,
|
|
yyerrcode_ = 256,
|
|
- yyntokens_ = 135 ///< Number of tokens.
|
|
|
|
|
|
+ yyntokens_ = 136 ///< Number of tokens.
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -1389,9 +1394,10 @@ namespace isc { namespace dhcp {
|
|
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
|
|
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
|
|
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
|
|
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
|
|
115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
|
|
115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
|
|
- 125, 126, 127, 128, 129, 130, 131, 132, 133, 134
|
|
|
|
|
|
+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
|
|
|
|
+ 135
|
|
};
|
|
};
|
|
- const unsigned int user_token_number_max_ = 389;
|
|
|
|
|
|
+ const unsigned int user_token_number_max_ = 390;
|
|
const token_number_type undef_token_ = 2;
|
|
const token_number_type undef_token_ = 2;
|
|
|
|
|
|
if (static_cast<int>(t) <= yyeof_)
|
|
if (static_cast<int>(t) <= yyeof_)
|
|
@@ -1424,28 +1430,28 @@ namespace isc { namespace dhcp {
|
|
{
|
|
{
|
|
switch (other.type_get ())
|
|
switch (other.type_get ())
|
|
{
|
|
{
|
|
- case 148: // value
|
|
|
|
- case 152: // map_value
|
|
|
|
- case 190: // socket_type
|
|
|
|
- case 199: // db_type
|
|
|
|
- case 404: // ncr_protocol_value
|
|
|
|
- case 412: // replace_client_name_value
|
|
|
|
|
|
+ case 149: // value
|
|
|
|
+ case 153: // map_value
|
|
|
|
+ case 191: // socket_type
|
|
|
|
+ case 200: // db_type
|
|
|
|
+ case 408: // ncr_protocol_value
|
|
|
|
+ case 416: // replace_client_name_value
|
|
value.copy< ElementPtr > (other.value);
|
|
value.copy< ElementPtr > (other.value);
|
|
break;
|
|
break;
|
|
|
|
|
|
- case 134: // "boolean"
|
|
|
|
|
|
+ case 135: // "boolean"
|
|
value.copy< bool > (other.value);
|
|
value.copy< bool > (other.value);
|
|
break;
|
|
break;
|
|
|
|
|
|
- case 133: // "floating point"
|
|
|
|
|
|
+ case 134: // "floating point"
|
|
value.copy< double > (other.value);
|
|
value.copy< double > (other.value);
|
|
break;
|
|
break;
|
|
|
|
|
|
- case 132: // "integer"
|
|
|
|
|
|
+ case 133: // "integer"
|
|
value.copy< int64_t > (other.value);
|
|
value.copy< int64_t > (other.value);
|
|
break;
|
|
break;
|
|
|
|
|
|
- case 131: // "constant string"
|
|
|
|
|
|
+ case 132: // "constant string"
|
|
value.copy< std::string > (other.value);
|
|
value.copy< std::string > (other.value);
|
|
break;
|
|
break;
|
|
|
|
|
|
@@ -1466,28 +1472,28 @@ namespace isc { namespace dhcp {
|
|
(void) v;
|
|
(void) v;
|
|
switch (this->type_get ())
|
|
switch (this->type_get ())
|
|
{
|
|
{
|
|
- case 148: // value
|
|
|
|
- case 152: // map_value
|
|
|
|
- case 190: // socket_type
|
|
|
|
- case 199: // db_type
|
|
|
|
- case 404: // ncr_protocol_value
|
|
|
|
- case 412: // replace_client_name_value
|
|
|
|
|
|
+ case 149: // value
|
|
|
|
+ case 153: // map_value
|
|
|
|
+ case 191: // socket_type
|
|
|
|
+ case 200: // db_type
|
|
|
|
+ case 408: // ncr_protocol_value
|
|
|
|
+ case 416: // replace_client_name_value
|
|
value.copy< ElementPtr > (v);
|
|
value.copy< ElementPtr > (v);
|
|
break;
|
|
break;
|
|
|
|
|
|
- case 134: // "boolean"
|
|
|
|
|
|
+ case 135: // "boolean"
|
|
value.copy< bool > (v);
|
|
value.copy< bool > (v);
|
|
break;
|
|
break;
|
|
|
|
|
|
- case 133: // "floating point"
|
|
|
|
|
|
+ case 134: // "floating point"
|
|
value.copy< double > (v);
|
|
value.copy< double > (v);
|
|
break;
|
|
break;
|
|
|
|
|
|
- case 132: // "integer"
|
|
|
|
|
|
+ case 133: // "integer"
|
|
value.copy< int64_t > (v);
|
|
value.copy< int64_t > (v);
|
|
break;
|
|
break;
|
|
|
|
|
|
- case 131: // "constant string"
|
|
|
|
|
|
+ case 132: // "constant string"
|
|
value.copy< std::string > (v);
|
|
value.copy< std::string > (v);
|
|
break;
|
|
break;
|
|
|
|
|
|
@@ -1567,28 +1573,28 @@ namespace isc { namespace dhcp {
|
|
// Type destructor.
|
|
// Type destructor.
|
|
switch (yytype)
|
|
switch (yytype)
|
|
{
|
|
{
|
|
- case 148: // value
|
|
|
|
- case 152: // map_value
|
|
|
|
- case 190: // socket_type
|
|
|
|
- case 199: // db_type
|
|
|
|
- case 404: // ncr_protocol_value
|
|
|
|
- case 412: // replace_client_name_value
|
|
|
|
|
|
+ case 149: // value
|
|
|
|
+ case 153: // map_value
|
|
|
|
+ case 191: // socket_type
|
|
|
|
+ case 200: // db_type
|
|
|
|
+ case 408: // ncr_protocol_value
|
|
|
|
+ case 416: // replace_client_name_value
|
|
value.template destroy< ElementPtr > ();
|
|
value.template destroy< ElementPtr > ();
|
|
break;
|
|
break;
|
|
|
|
|
|
- case 134: // "boolean"
|
|
|
|
|
|
+ case 135: // "boolean"
|
|
value.template destroy< bool > ();
|
|
value.template destroy< bool > ();
|
|
break;
|
|
break;
|
|
|
|
|
|
- case 133: // "floating point"
|
|
|
|
|
|
+ case 134: // "floating point"
|
|
value.template destroy< double > ();
|
|
value.template destroy< double > ();
|
|
break;
|
|
break;
|
|
|
|
|
|
- case 132: // "integer"
|
|
|
|
|
|
+ case 133: // "integer"
|
|
value.template destroy< int64_t > ();
|
|
value.template destroy< int64_t > ();
|
|
break;
|
|
break;
|
|
|
|
|
|
- case 131: // "constant string"
|
|
|
|
|
|
+ case 132: // "constant string"
|
|
value.template destroy< std::string > ();
|
|
value.template destroy< std::string > ();
|
|
break;
|
|
break;
|
|
|
|
|
|
@@ -1615,28 +1621,28 @@ namespace isc { namespace dhcp {
|
|
super_type::move(s);
|
|
super_type::move(s);
|
|
switch (this->type_get ())
|
|
switch (this->type_get ())
|
|
{
|
|
{
|
|
- case 148: // value
|
|
|
|
- case 152: // map_value
|
|
|
|
- case 190: // socket_type
|
|
|
|
- case 199: // db_type
|
|
|
|
- case 404: // ncr_protocol_value
|
|
|
|
- case 412: // replace_client_name_value
|
|
|
|
|
|
+ case 149: // value
|
|
|
|
+ case 153: // map_value
|
|
|
|
+ case 191: // socket_type
|
|
|
|
+ case 200: // db_type
|
|
|
|
+ case 408: // ncr_protocol_value
|
|
|
|
+ case 416: // replace_client_name_value
|
|
value.move< ElementPtr > (s.value);
|
|
value.move< ElementPtr > (s.value);
|
|
break;
|
|
break;
|
|
|
|
|
|
- case 134: // "boolean"
|
|
|
|
|
|
+ case 135: // "boolean"
|
|
value.move< bool > (s.value);
|
|
value.move< bool > (s.value);
|
|
break;
|
|
break;
|
|
|
|
|
|
- case 133: // "floating point"
|
|
|
|
|
|
+ case 134: // "floating point"
|
|
value.move< double > (s.value);
|
|
value.move< double > (s.value);
|
|
break;
|
|
break;
|
|
|
|
|
|
- case 132: // "integer"
|
|
|
|
|
|
+ case 133: // "integer"
|
|
value.move< int64_t > (s.value);
|
|
value.move< int64_t > (s.value);
|
|
break;
|
|
break;
|
|
|
|
|
|
- case 131: // "constant string"
|
|
|
|
|
|
+ case 132: // "constant string"
|
|
value.move< std::string > (s.value);
|
|
value.move< std::string > (s.value);
|
|
break;
|
|
break;
|
|
|
|
|
|
@@ -1708,7 +1714,7 @@ namespace isc { namespace dhcp {
|
|
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
|
|
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
|
|
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
|
|
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
|
|
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
|
|
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
|
|
- 385, 386, 387, 388, 389
|
|
|
|
|
|
+ 385, 386, 387, 388, 389, 390
|
|
};
|
|
};
|
|
return static_cast<token_type> (yytoken_number_[type]);
|
|
return static_cast<token_type> (yytoken_number_[type]);
|
|
}
|
|
}
|
|
@@ -2152,6 +2158,12 @@ namespace isc { namespace dhcp {
|
|
}
|
|
}
|
|
|
|
|
|
Dhcp4Parser::symbol_type
|
|
Dhcp4Parser::symbol_type
|
|
|
|
+ Dhcp4Parser::make_FLEX_ID (const location_type& l)
|
|
|
|
+ {
|
|
|
|
+ return symbol_type (token::TOKEN_FLEX_ID, l);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ Dhcp4Parser::symbol_type
|
|
Dhcp4Parser::make_RELAY (const location_type& l)
|
|
Dhcp4Parser::make_RELAY (const location_type& l)
|
|
{
|
|
{
|
|
return symbol_type (token::TOKEN_RELAY, l);
|
|
return symbol_type (token::TOKEN_RELAY, l);
|
|
@@ -2514,7 +2526,7 @@ namespace isc { namespace dhcp {
|
|
|
|
|
|
#line 14 "dhcp4_parser.yy" // lalr1.cc:377
|
|
#line 14 "dhcp4_parser.yy" // lalr1.cc:377
|
|
} } // isc::dhcp
|
|
} } // isc::dhcp
|
|
-#line 2518 "dhcp4_parser.h" // lalr1.cc:377
|
|
|
|
|
|
+#line 2530 "dhcp4_parser.h" // lalr1.cc:377
|
|
|
|
|
|
|
|
|
|
|
|
|