From 88d3f2f398f3c9cc427115991bebe8507aa14874 Mon Sep 17 00:00:00 2001 From: Tomek Mrugalski Date: Fri, 11 Nov 2016 15:34:31 +0900 Subject: [PATCH] [5014] mac-sources, relay-supplied-options added --- src/bin/dhcp6/dhcp6_lexer.ll | 2 ++ src/bin/dhcp6/dhcp6_parser.yy | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+) 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 { -- 2.47.2