]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[5014] mac-sources, relay-supplied-options added
authorTomek Mrugalski <tomasz@isc.org>
Fri, 11 Nov 2016 06:34:31 +0000 (15:34 +0900)
committerTomek Mrugalski <tomasz@isc.org>
Fri, 11 Nov 2016 06:34:31 +0000 (15:34 +0900)
src/bin/dhcp6/dhcp6_lexer.ll
src/bin/dhcp6/dhcp6_parser.yy

index 67282f288b2c40e729d508157abb88b650c7fb07..db579f058a43ac8ecba7ef4d92e7fdf29bc50d9f 100644 (file)
@@ -130,6 +130,8 @@ JSONString                              \"{JSONStringCharacter}*\"
 \"interface\" { return  isc::dhcp::Dhcp6Parser::make_INTERFACE(loc); }
 \"type\" { return isc::dhcp::Dhcp6Parser::make_TYPE(loc); }
 \"code\" { return isc::dhcp::Dhcp6Parser::make_CODE(loc); }
+\"mac-sources\" { return isc::dhcp::Dhcp6Parser::make_MAC_SOURCES(loc); }
+\"relay-supplied-options\" { return isc::dhcp::Dhcp6Parser::make_RELAY_SUPPLIED_OPTIONS(loc); }
 
 \"Logging\" { return isc::dhcp::Dhcp6Parser::make_LOGGING(loc); }
 \"loggers\" { return isc::dhcp::Dhcp6Parser::make_LOGGERS(loc); }
index 43e9341667d941e3acd518d415f6a3774b641129..1c927e3235cab19cd71be2488f1121ab7a23935d 100644 (file)
@@ -66,6 +66,8 @@ using namespace std;
   POOL "pool"
   SUBNET "subnet"
   INTERFACE "interface"
+  MAC_SOURCES "mac-sources"
+  RELAY_SUPPLIED_OPTIONS "relay-supplied-options"
 
   LOGGING "Logging"
   LOGGERS "loggers"
@@ -196,6 +198,8 @@ global_param
 | subnet6_list
 | interfaces_config
 | lease_database
+| mac_sources
+| relay_supplied_options
 ;
 
 preferred_lifetime: PREFERRED_LIFETIME COLON INTEGER {
@@ -253,6 +257,22 @@ lease_database_type: TYPE COLON STRING {
     ctx.stack_.back()->set("type", prf);
 };
 
+mac_sources: MAC_SOURCES {
+    ElementPtr l(new ListElement());
+    ctx.stack_.back()->set("mac-sources", l);
+    ctx.stack_.push_back(l);
+} COLON list {
+    ctx.stack_.pop_back();
+};
+
+relay_supplied_options: RELAY_SUPPLIED_OPTIONS {
+    ElementPtr l(new ListElement());
+    ctx.stack_.back()->set("relay-supplied-options", l);
+    ctx.stack_.push_back(l);
+} COLON list {
+    ctx.stack_.pop_back();
+};
+
 // This defines subnet6 as a list of maps.
 // "subnet6": [ ... ]
 subnet6_list: SUBNET6 COLON LSQUARE_BRACKET {