|
@@ -411,90 +411,91 @@ namespace isc { namespace dhcp {
|
|
|
TOKEN_POOL = 318,
|
|
|
TOKEN_USER_CONTEXT = 319,
|
|
|
TOKEN_SUBNET = 320,
|
|
|
- TOKEN_INTERFACE = 321,
|
|
|
- TOKEN_INTERFACE_ID = 322,
|
|
|
- TOKEN_ID = 323,
|
|
|
- TOKEN_RAPID_COMMIT = 324,
|
|
|
- TOKEN_RESERVATION_MODE = 325,
|
|
|
- TOKEN_DISABLED = 326,
|
|
|
- TOKEN_OUT_OF_POOL = 327,
|
|
|
- TOKEN_ALL = 328,
|
|
|
- TOKEN_HOST_RESERVATION_IDENTIFIERS = 329,
|
|
|
- TOKEN_CLIENT_CLASSES = 330,
|
|
|
- TOKEN_TEST = 331,
|
|
|
- TOKEN_CLIENT_CLASS = 332,
|
|
|
- TOKEN_RESERVATIONS = 333,
|
|
|
- TOKEN_DUID = 334,
|
|
|
- TOKEN_HW_ADDRESS = 335,
|
|
|
- TOKEN_CIRCUIT_ID = 336,
|
|
|
- TOKEN_CLIENT_ID = 337,
|
|
|
- TOKEN_HOSTNAME = 338,
|
|
|
- TOKEN_FLEX_ID = 339,
|
|
|
- TOKEN_RELAY = 340,
|
|
|
- TOKEN_IP_ADDRESS = 341,
|
|
|
- TOKEN_HOOKS_LIBRARIES = 342,
|
|
|
- TOKEN_LIBRARY = 343,
|
|
|
- TOKEN_PARAMETERS = 344,
|
|
|
- TOKEN_EXPIRED_LEASES_PROCESSING = 345,
|
|
|
- TOKEN_RECLAIM_TIMER_WAIT_TIME = 346,
|
|
|
- TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 347,
|
|
|
- TOKEN_HOLD_RECLAIMED_TIME = 348,
|
|
|
- TOKEN_MAX_RECLAIM_LEASES = 349,
|
|
|
- TOKEN_MAX_RECLAIM_TIME = 350,
|
|
|
- TOKEN_UNWARNED_RECLAIM_CYCLES = 351,
|
|
|
- TOKEN_DHCP4O6_PORT = 352,
|
|
|
- TOKEN_CONTROL_SOCKET = 353,
|
|
|
- TOKEN_SOCKET_TYPE = 354,
|
|
|
- TOKEN_SOCKET_NAME = 355,
|
|
|
- TOKEN_DHCP_DDNS = 356,
|
|
|
- TOKEN_ENABLE_UPDATES = 357,
|
|
|
- TOKEN_QUALIFYING_SUFFIX = 358,
|
|
|
- TOKEN_SERVER_IP = 359,
|
|
|
- TOKEN_SERVER_PORT = 360,
|
|
|
- TOKEN_SENDER_IP = 361,
|
|
|
- TOKEN_SENDER_PORT = 362,
|
|
|
- TOKEN_MAX_QUEUE_SIZE = 363,
|
|
|
- TOKEN_NCR_PROTOCOL = 364,
|
|
|
- TOKEN_NCR_FORMAT = 365,
|
|
|
- TOKEN_ALWAYS_INCLUDE_FQDN = 366,
|
|
|
- TOKEN_OVERRIDE_NO_UPDATE = 367,
|
|
|
- TOKEN_OVERRIDE_CLIENT_UPDATE = 368,
|
|
|
- TOKEN_REPLACE_CLIENT_NAME = 369,
|
|
|
- TOKEN_GENERATED_PREFIX = 370,
|
|
|
- TOKEN_TCP = 371,
|
|
|
- TOKEN_JSON = 372,
|
|
|
- TOKEN_WHEN_PRESENT = 373,
|
|
|
- TOKEN_NEVER = 374,
|
|
|
- TOKEN_ALWAYS = 375,
|
|
|
- TOKEN_WHEN_NOT_PRESENT = 376,
|
|
|
- TOKEN_LOGGING = 377,
|
|
|
- TOKEN_LOGGERS = 378,
|
|
|
- TOKEN_OUTPUT_OPTIONS = 379,
|
|
|
- TOKEN_OUTPUT = 380,
|
|
|
- TOKEN_DEBUGLEVEL = 381,
|
|
|
- TOKEN_SEVERITY = 382,
|
|
|
- TOKEN_FLUSH = 383,
|
|
|
- TOKEN_MAXSIZE = 384,
|
|
|
- TOKEN_MAXVER = 385,
|
|
|
- TOKEN_DHCP6 = 386,
|
|
|
- TOKEN_DHCPDDNS = 387,
|
|
|
- TOKEN_CONTROL_AGENT = 388,
|
|
|
- TOKEN_TOPLEVEL_JSON = 389,
|
|
|
- TOKEN_TOPLEVEL_DHCP4 = 390,
|
|
|
- TOKEN_SUB_DHCP4 = 391,
|
|
|
- TOKEN_SUB_INTERFACES4 = 392,
|
|
|
- TOKEN_SUB_SUBNET4 = 393,
|
|
|
- TOKEN_SUB_POOL4 = 394,
|
|
|
- TOKEN_SUB_RESERVATION = 395,
|
|
|
- TOKEN_SUB_OPTION_DEFS = 396,
|
|
|
- TOKEN_SUB_OPTION_DEF = 397,
|
|
|
- TOKEN_SUB_OPTION_DATA = 398,
|
|
|
- TOKEN_SUB_HOOKS_LIBRARY = 399,
|
|
|
- TOKEN_SUB_DHCP_DDNS = 400,
|
|
|
- TOKEN_STRING = 401,
|
|
|
- TOKEN_INTEGER = 402,
|
|
|
- TOKEN_FLOAT = 403,
|
|
|
- TOKEN_BOOLEAN = 404
|
|
|
+ TOKEN_CLIENT_PREFIX_LEN = 321,
|
|
|
+ TOKEN_INTERFACE = 322,
|
|
|
+ TOKEN_INTERFACE_ID = 323,
|
|
|
+ TOKEN_ID = 324,
|
|
|
+ TOKEN_RAPID_COMMIT = 325,
|
|
|
+ TOKEN_RESERVATION_MODE = 326,
|
|
|
+ TOKEN_DISABLED = 327,
|
|
|
+ TOKEN_OUT_OF_POOL = 328,
|
|
|
+ TOKEN_ALL = 329,
|
|
|
+ TOKEN_HOST_RESERVATION_IDENTIFIERS = 330,
|
|
|
+ TOKEN_CLIENT_CLASSES = 331,
|
|
|
+ TOKEN_TEST = 332,
|
|
|
+ TOKEN_CLIENT_CLASS = 333,
|
|
|
+ TOKEN_RESERVATIONS = 334,
|
|
|
+ TOKEN_DUID = 335,
|
|
|
+ TOKEN_HW_ADDRESS = 336,
|
|
|
+ TOKEN_CIRCUIT_ID = 337,
|
|
|
+ TOKEN_CLIENT_ID = 338,
|
|
|
+ TOKEN_HOSTNAME = 339,
|
|
|
+ TOKEN_FLEX_ID = 340,
|
|
|
+ TOKEN_RELAY = 341,
|
|
|
+ TOKEN_IP_ADDRESS = 342,
|
|
|
+ TOKEN_HOOKS_LIBRARIES = 343,
|
|
|
+ TOKEN_LIBRARY = 344,
|
|
|
+ TOKEN_PARAMETERS = 345,
|
|
|
+ TOKEN_EXPIRED_LEASES_PROCESSING = 346,
|
|
|
+ TOKEN_RECLAIM_TIMER_WAIT_TIME = 347,
|
|
|
+ TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 348,
|
|
|
+ TOKEN_HOLD_RECLAIMED_TIME = 349,
|
|
|
+ TOKEN_MAX_RECLAIM_LEASES = 350,
|
|
|
+ TOKEN_MAX_RECLAIM_TIME = 351,
|
|
|
+ TOKEN_UNWARNED_RECLAIM_CYCLES = 352,
|
|
|
+ TOKEN_DHCP4O6_PORT = 353,
|
|
|
+ TOKEN_CONTROL_SOCKET = 354,
|
|
|
+ TOKEN_SOCKET_TYPE = 355,
|
|
|
+ TOKEN_SOCKET_NAME = 356,
|
|
|
+ TOKEN_DHCP_DDNS = 357,
|
|
|
+ TOKEN_ENABLE_UPDATES = 358,
|
|
|
+ TOKEN_QUALIFYING_SUFFIX = 359,
|
|
|
+ TOKEN_SERVER_IP = 360,
|
|
|
+ TOKEN_SERVER_PORT = 361,
|
|
|
+ TOKEN_SENDER_IP = 362,
|
|
|
+ TOKEN_SENDER_PORT = 363,
|
|
|
+ TOKEN_MAX_QUEUE_SIZE = 364,
|
|
|
+ TOKEN_NCR_PROTOCOL = 365,
|
|
|
+ TOKEN_NCR_FORMAT = 366,
|
|
|
+ TOKEN_ALWAYS_INCLUDE_FQDN = 367,
|
|
|
+ TOKEN_OVERRIDE_NO_UPDATE = 368,
|
|
|
+ TOKEN_OVERRIDE_CLIENT_UPDATE = 369,
|
|
|
+ TOKEN_REPLACE_CLIENT_NAME = 370,
|
|
|
+ TOKEN_GENERATED_PREFIX = 371,
|
|
|
+ TOKEN_TCP = 372,
|
|
|
+ TOKEN_JSON = 373,
|
|
|
+ TOKEN_WHEN_PRESENT = 374,
|
|
|
+ TOKEN_NEVER = 375,
|
|
|
+ TOKEN_ALWAYS = 376,
|
|
|
+ TOKEN_WHEN_NOT_PRESENT = 377,
|
|
|
+ TOKEN_LOGGING = 378,
|
|
|
+ TOKEN_LOGGERS = 379,
|
|
|
+ TOKEN_OUTPUT_OPTIONS = 380,
|
|
|
+ TOKEN_OUTPUT = 381,
|
|
|
+ TOKEN_DEBUGLEVEL = 382,
|
|
|
+ TOKEN_SEVERITY = 383,
|
|
|
+ TOKEN_FLUSH = 384,
|
|
|
+ TOKEN_MAXSIZE = 385,
|
|
|
+ TOKEN_MAXVER = 386,
|
|
|
+ TOKEN_DHCP6 = 387,
|
|
|
+ TOKEN_DHCPDDNS = 388,
|
|
|
+ TOKEN_CONTROL_AGENT = 389,
|
|
|
+ TOKEN_TOPLEVEL_JSON = 390,
|
|
|
+ TOKEN_TOPLEVEL_DHCP4 = 391,
|
|
|
+ TOKEN_SUB_DHCP4 = 392,
|
|
|
+ TOKEN_SUB_INTERFACES4 = 393,
|
|
|
+ TOKEN_SUB_SUBNET4 = 394,
|
|
|
+ TOKEN_SUB_POOL4 = 395,
|
|
|
+ TOKEN_SUB_RESERVATION = 396,
|
|
|
+ TOKEN_SUB_OPTION_DEFS = 397,
|
|
|
+ TOKEN_SUB_OPTION_DEF = 398,
|
|
|
+ TOKEN_SUB_OPTION_DATA = 399,
|
|
|
+ TOKEN_SUB_HOOKS_LIBRARY = 400,
|
|
|
+ TOKEN_SUB_DHCP_DDNS = 401,
|
|
|
+ TOKEN_STRING = 402,
|
|
|
+ TOKEN_INTEGER = 403,
|
|
|
+ TOKEN_FLOAT = 404,
|
|
|
+ TOKEN_BOOLEAN = 405
|
|
|
};
|
|
|
};
|
|
|
|
|
@@ -867,6 +868,10 @@ namespace isc { namespace dhcp {
|
|
|
|
|
|
static inline
|
|
|
symbol_type
|
|
|
+ make_CLIENT_PREFIX_LEN (const location_type& l);
|
|
|
+
|
|
|
+ static inline
|
|
|
+ symbol_type
|
|
|
make_INTERFACE (const location_type& l);
|
|
|
|
|
|
static inline
|
|
@@ -1406,12 +1411,12 @@ namespace isc { namespace dhcp {
|
|
|
enum
|
|
|
{
|
|
|
yyeof_ = 0,
|
|
|
- yylast_ = 804, ///< Last index in yytable_.
|
|
|
- yynnts_ = 332, ///< Number of nonterminal symbols.
|
|
|
+ yylast_ = 809, ///< Last index in yytable_.
|
|
|
+ yynnts_ = 334, ///< Number of nonterminal symbols.
|
|
|
yyfinal_ = 26, ///< Termination state number.
|
|
|
yyterror_ = 1,
|
|
|
yyerrcode_ = 256,
|
|
|
- yyntokens_ = 150 ///< Number of tokens.
|
|
|
+ yyntokens_ = 151 ///< Number of tokens.
|
|
|
};
|
|
|
|
|
|
|
|
@@ -1468,9 +1473,9 @@ namespace isc { namespace dhcp {
|
|
|
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
|
|
|
+ 145, 146, 147, 148, 149, 150
|
|
|
};
|
|
|
- const unsigned int user_token_number_max_ = 404;
|
|
|
+ const unsigned int user_token_number_max_ = 405;
|
|
|
const token_number_type undef_token_ = 2;
|
|
|
|
|
|
if (static_cast<int>(t) <= yyeof_)
|
|
@@ -1503,30 +1508,30 @@ namespace isc { namespace dhcp {
|
|
|
{
|
|
|
switch (other.type_get ())
|
|
|
{
|
|
|
- case 164: // value
|
|
|
- case 168: // map_value
|
|
|
- case 206: // socket_type
|
|
|
- case 209: // outbound_interface_value
|
|
|
- case 219: // db_type
|
|
|
- case 296: // hr_mode
|
|
|
- case 439: // ncr_protocol_value
|
|
|
- case 447: // replace_client_name_value
|
|
|
+ case 165: // value
|
|
|
+ case 169: // map_value
|
|
|
+ case 207: // socket_type
|
|
|
+ case 210: // outbound_interface_value
|
|
|
+ case 220: // db_type
|
|
|
+ case 299: // hr_mode
|
|
|
+ case 442: // ncr_protocol_value
|
|
|
+ case 450: // replace_client_name_value
|
|
|
value.copy< ElementPtr > (other.value);
|
|
|
break;
|
|
|
|
|
|
- case 149: // "boolean"
|
|
|
+ case 150: // "boolean"
|
|
|
value.copy< bool > (other.value);
|
|
|
break;
|
|
|
|
|
|
- case 148: // "floating point"
|
|
|
+ case 149: // "floating point"
|
|
|
value.copy< double > (other.value);
|
|
|
break;
|
|
|
|
|
|
- case 147: // "integer"
|
|
|
+ case 148: // "integer"
|
|
|
value.copy< int64_t > (other.value);
|
|
|
break;
|
|
|
|
|
|
- case 146: // "constant string"
|
|
|
+ case 147: // "constant string"
|
|
|
value.copy< std::string > (other.value);
|
|
|
break;
|
|
|
|
|
@@ -1547,30 +1552,30 @@ namespace isc { namespace dhcp {
|
|
|
(void) v;
|
|
|
switch (this->type_get ())
|
|
|
{
|
|
|
- case 164: // value
|
|
|
- case 168: // map_value
|
|
|
- case 206: // socket_type
|
|
|
- case 209: // outbound_interface_value
|
|
|
- case 219: // db_type
|
|
|
- case 296: // hr_mode
|
|
|
- case 439: // ncr_protocol_value
|
|
|
- case 447: // replace_client_name_value
|
|
|
+ case 165: // value
|
|
|
+ case 169: // map_value
|
|
|
+ case 207: // socket_type
|
|
|
+ case 210: // outbound_interface_value
|
|
|
+ case 220: // db_type
|
|
|
+ case 299: // hr_mode
|
|
|
+ case 442: // ncr_protocol_value
|
|
|
+ case 450: // replace_client_name_value
|
|
|
value.copy< ElementPtr > (v);
|
|
|
break;
|
|
|
|
|
|
- case 149: // "boolean"
|
|
|
+ case 150: // "boolean"
|
|
|
value.copy< bool > (v);
|
|
|
break;
|
|
|
|
|
|
- case 148: // "floating point"
|
|
|
+ case 149: // "floating point"
|
|
|
value.copy< double > (v);
|
|
|
break;
|
|
|
|
|
|
- case 147: // "integer"
|
|
|
+ case 148: // "integer"
|
|
|
value.copy< int64_t > (v);
|
|
|
break;
|
|
|
|
|
|
- case 146: // "constant string"
|
|
|
+ case 147: // "constant string"
|
|
|
value.copy< std::string > (v);
|
|
|
break;
|
|
|
|
|
@@ -1650,30 +1655,30 @@ namespace isc { namespace dhcp {
|
|
|
// Type destructor.
|
|
|
switch (yytype)
|
|
|
{
|
|
|
- case 164: // value
|
|
|
- case 168: // map_value
|
|
|
- case 206: // socket_type
|
|
|
- case 209: // outbound_interface_value
|
|
|
- case 219: // db_type
|
|
|
- case 296: // hr_mode
|
|
|
- case 439: // ncr_protocol_value
|
|
|
- case 447: // replace_client_name_value
|
|
|
+ case 165: // value
|
|
|
+ case 169: // map_value
|
|
|
+ case 207: // socket_type
|
|
|
+ case 210: // outbound_interface_value
|
|
|
+ case 220: // db_type
|
|
|
+ case 299: // hr_mode
|
|
|
+ case 442: // ncr_protocol_value
|
|
|
+ case 450: // replace_client_name_value
|
|
|
value.template destroy< ElementPtr > ();
|
|
|
break;
|
|
|
|
|
|
- case 149: // "boolean"
|
|
|
+ case 150: // "boolean"
|
|
|
value.template destroy< bool > ();
|
|
|
break;
|
|
|
|
|
|
- case 148: // "floating point"
|
|
|
+ case 149: // "floating point"
|
|
|
value.template destroy< double > ();
|
|
|
break;
|
|
|
|
|
|
- case 147: // "integer"
|
|
|
+ case 148: // "integer"
|
|
|
value.template destroy< int64_t > ();
|
|
|
break;
|
|
|
|
|
|
- case 146: // "constant string"
|
|
|
+ case 147: // "constant string"
|
|
|
value.template destroy< std::string > ();
|
|
|
break;
|
|
|
|
|
@@ -1700,30 +1705,30 @@ namespace isc { namespace dhcp {
|
|
|
super_type::move(s);
|
|
|
switch (this->type_get ())
|
|
|
{
|
|
|
- case 164: // value
|
|
|
- case 168: // map_value
|
|
|
- case 206: // socket_type
|
|
|
- case 209: // outbound_interface_value
|
|
|
- case 219: // db_type
|
|
|
- case 296: // hr_mode
|
|
|
- case 439: // ncr_protocol_value
|
|
|
- case 447: // replace_client_name_value
|
|
|
+ case 165: // value
|
|
|
+ case 169: // map_value
|
|
|
+ case 207: // socket_type
|
|
|
+ case 210: // outbound_interface_value
|
|
|
+ case 220: // db_type
|
|
|
+ case 299: // hr_mode
|
|
|
+ case 442: // ncr_protocol_value
|
|
|
+ case 450: // replace_client_name_value
|
|
|
value.move< ElementPtr > (s.value);
|
|
|
break;
|
|
|
|
|
|
- case 149: // "boolean"
|
|
|
+ case 150: // "boolean"
|
|
|
value.move< bool > (s.value);
|
|
|
break;
|
|
|
|
|
|
- case 148: // "floating point"
|
|
|
+ case 149: // "floating point"
|
|
|
value.move< double > (s.value);
|
|
|
break;
|
|
|
|
|
|
- case 147: // "integer"
|
|
|
+ case 148: // "integer"
|
|
|
value.move< int64_t > (s.value);
|
|
|
break;
|
|
|
|
|
|
- case 146: // "constant string"
|
|
|
+ case 147: // "constant string"
|
|
|
value.move< std::string > (s.value);
|
|
|
break;
|
|
|
|
|
@@ -1796,7 +1801,8 @@ namespace isc { namespace dhcp {
|
|
|
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
|
|
|
+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
|
|
|
+ 405
|
|
|
};
|
|
|
return static_cast<token_type> (yytoken_number_[type]);
|
|
|
}
|
|
@@ -2186,6 +2192,12 @@ namespace isc { namespace dhcp {
|
|
|
}
|
|
|
|
|
|
Dhcp4Parser::symbol_type
|
|
|
+ Dhcp4Parser::make_CLIENT_PREFIX_LEN (const location_type& l)
|
|
|
+ {
|
|
|
+ return symbol_type (token::TOKEN_CLIENT_PREFIX_LEN, l);
|
|
|
+ }
|
|
|
+
|
|
|
+ Dhcp4Parser::symbol_type
|
|
|
Dhcp4Parser::make_INTERFACE (const location_type& l)
|
|
|
{
|
|
|
return symbol_type (token::TOKEN_INTERFACE, l);
|
|
@@ -2692,7 +2704,7 @@ namespace isc { namespace dhcp {
|
|
|
|
|
|
#line 14 "dhcp4_parser.yy" // lalr1.cc:377
|
|
|
} } // isc::dhcp
|
|
|
-#line 2696 "dhcp4_parser.h" // lalr1.cc:377
|
|
|
+#line 2708 "dhcp4_parser.h" // lalr1.cc:377
|
|
|
|
|
|
|
|
|
|