From: Tomek Mrugalski Date: Fri, 11 Nov 2016 06:34:31 +0000 (+0900) Subject: [5014] mac-sources, relay-supplied-options added X-Git-Tag: trac5036_base2~37 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1bfa0d8f25e54295ca11216d76364fdb4ffaaa63;p=thirdparty%2Fkea.git [5014] mac-sources, relay-supplied-options added --- diff --git a/src/bin/dhcp6/dhcp6_lexer.ll b/src/bin/dhcp6/dhcp6_lexer.ll index 67282f288b..db579f058a 100644 --- a/src/bin/dhcp6/dhcp6_lexer.ll +++ b/src/bin/dhcp6/dhcp6_lexer.ll @@ -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); } diff --git a/src/bin/dhcp6/dhcp6_parser.yy b/src/bin/dhcp6/dhcp6_parser.yy index 43e9341667..1c927e3235 100644 --- a/src/bin/dhcp6/dhcp6_parser.yy +++ b/src/bin/dhcp6/dhcp6_parser.yy @@ -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 {