From: Tomek Mrugalski Date: Sun, 13 Nov 2016 02:54:38 +0000 (+0900) Subject: [5014] dhcp4o6-port, csv-format parameters added X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4a9a92d8f813c8826f7feddfd18a8391114e107c;p=thirdparty%2Fkea.git [5014] dhcp4o6-port, csv-format parameters added --- diff --git a/src/bin/dhcp6/dhcp6_lexer.ll b/src/bin/dhcp6/dhcp6_lexer.ll index 57bbb6d43f..8210b5c965 100644 --- a/src/bin/dhcp6/dhcp6_lexer.ll +++ b/src/bin/dhcp6/dhcp6_lexer.ll @@ -166,6 +166,7 @@ JSONString \"{JSONStringCharacter}*\" \"hw-address\" { return isc::dhcp::Dhcp6Parser::make_HW_ADDRESS(loc); } \"hostname\" { return isc::dhcp::Dhcp6Parser::make_HOSTNAME(loc); } \"space\" { return isc::dhcp::Dhcp6Parser::make_SPACE(loc); } +\"csv-format\" { return isc::dhcp::Dhcp6Parser::make_CSV_FORMAT(loc); } \"hooks-libraries\" { return isc::dhcp::Dhcp6Parser::make_HOOKS_LIBRARIES(loc); } \"library\" { return isc::dhcp::Dhcp6Parser::make_LIBRARY(loc); } @@ -177,6 +178,7 @@ JSONString \"{JSONStringCharacter}*\" \"expired-leases-processing\" { return isc::dhcp::Dhcp6Parser::make_EXPIRED_LEASES_PROCESSING(loc); } +\"dhcp4o6-port\" { return isc::dhcp::Dhcp6Parser::make_DHCP4O6_PORT(loc); } {JSONString} { // A string has been matched. It contains the actual string and single quotes. diff --git a/src/bin/dhcp6/dhcp6_parser.yy b/src/bin/dhcp6/dhcp6_parser.yy index 65db4af040..56afaeeb0d 100644 --- a/src/bin/dhcp6/dhcp6_parser.yy +++ b/src/bin/dhcp6/dhcp6_parser.yy @@ -69,6 +69,7 @@ using namespace std; DATA "data" CODE "code" SPACE "space" + CSV_FORMAT "csv-format" POOLS "pools" POOL "pool" @@ -106,6 +107,8 @@ using namespace std; HTYPE "htype" TIME "time" + DHCP4O6_PORT "dhcp4o6-port" + LOGGING "Logging" LOGGERS "loggers" OUTPUT_OPTIONS "output_options" @@ -244,6 +247,7 @@ global_param | hooks_libraries | expired_leases_processing | server_id +| dhcp4o6_port ; preferred_lifetime: PREFERRED_LIFETIME COLON INTEGER { @@ -524,6 +528,7 @@ option_data_param: | option_data_data | option_data_code | option_data_space +| option_data_csv_format ; @@ -543,6 +548,10 @@ option_data_space: SPACE COLON STRING { ElementPtr space(new StringElement($3)); ctx.stack_.back()->set("space", space); }; +option_data_csv_format: CSV_FORMAT COLON BOOLEAN { + ElementPtr space(new BoolElement($3)); ctx.stack_.back()->set("csv-format", space); +}; + // ---- pools ------------------------------------ // This defines the "pools": [ ... ] entry that may appear in subnet6. @@ -771,12 +780,13 @@ time: TIME COLON INTEGER { ElementPtr time(new IntElement($3)); ctx.stack_.back()->set("time", time); }; - - - - // --- end of server-id -------------------------------------- +dhcp4o6_port: DHCP4O6_PORT COLON INTEGER { + ElementPtr time(new IntElement($3)); + ctx.stack_.back()->set("dhcp4o6-port", time); +}; + // --- logging entry ----------------------------------------- // This defines the top level "Logging" object. It parses