Browse Source

[5014] dhcp4o6-port, csv-format parameters added

Tomek Mrugalski 8 years ago
parent
commit
3b63aa514c
2 changed files with 16 additions and 4 deletions
  1. 2 0
      src/bin/dhcp6/dhcp6_lexer.ll
  2. 14 4
      src/bin/dhcp6/dhcp6_parser.yy

+ 2 - 0
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.

+ 14 - 4
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