From a336d5f8302a9a00b44800898b3a53ad139816d2 Mon Sep 17 00:00:00 2001 From: Francis Dupont Date: Fri, 27 Jan 2017 15:49:40 +0100 Subject: [PATCH] [5061] Added port parameter --- src/bin/dhcp4/dhcp4_lexer.ll | 10 ++++++++++ src/bin/dhcp4/dhcp4_parser.yy | 7 +++++++ src/bin/dhcp6/dhcp6_lexer.ll | 10 ++++++++++ src/bin/dhcp6/dhcp6_parser.yy | 7 +++++++ 4 files changed, 34 insertions(+) diff --git a/src/bin/dhcp4/dhcp4_lexer.ll b/src/bin/dhcp4/dhcp4_lexer.ll index ac84dd70df..85f1412910 100644 --- a/src/bin/dhcp4/dhcp4_lexer.ll +++ b/src/bin/dhcp4/dhcp4_lexer.ll @@ -330,6 +330,16 @@ ControlCharacterFill [^"\\]|\\{JSONEscapeSequence} } } +\"port\" { + switch(driver.ctx_) { + case isc::dhcp::Parser4Context::LEASE_DATABASE: + case isc::dhcp::Parser4Context::HOSTS_DATABASE: + return isc::dhcp::Dhcp4Parser::make_PORT(driver.loc_); + default: + return isc::dhcp::Dhcp4Parser::make_STRING("port", driver.loc_); + } +} + \"persist\" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: diff --git a/src/bin/dhcp4/dhcp4_parser.yy b/src/bin/dhcp4/dhcp4_parser.yy index a25c101e01..65d945d10e 100644 --- a/src/bin/dhcp4/dhcp4_parser.yy +++ b/src/bin/dhcp4/dhcp4_parser.yy @@ -72,6 +72,7 @@ using namespace std; USER "user" PASSWORD "password" HOST "host" + PORT "port" PERSIST "persist" LFC_INTERVAL "lfc-interval" READONLY "readonly" @@ -513,6 +514,7 @@ database_map_param: database_type | user | password | host + | port | name | persist | lfc_interval @@ -558,6 +560,11 @@ host: HOST { ctx.leave(); }; +port: PORT COLON INTEGER { + ElementPtr p(new IntElement($3, ctx.loc2pos(@3))); + ctx.stack_.back()->set("port", p); +}; + name: NAME { ctx.enter(ctx.NO_KEYWORD); } COLON STRING { diff --git a/src/bin/dhcp6/dhcp6_lexer.ll b/src/bin/dhcp6/dhcp6_lexer.ll index c3402cea33..1847136109 100644 --- a/src/bin/dhcp6/dhcp6_lexer.ll +++ b/src/bin/dhcp6/dhcp6_lexer.ll @@ -530,6 +530,16 @@ ControlCharacterFill [^"\\]|\\{JSONEscapeSequence} } } +\"port\" { + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::LEASE_DATABASE: + case isc::dhcp::Parser6Context::HOSTS_DATABASE: + return isc::dhcp::Dhcp6Parser::make_PORT(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("port", driver.loc_); + } +} + \"persist\" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: diff --git a/src/bin/dhcp6/dhcp6_parser.yy b/src/bin/dhcp6/dhcp6_parser.yy index 76b824a07d..b897e480b9 100644 --- a/src/bin/dhcp6/dhcp6_parser.yy +++ b/src/bin/dhcp6/dhcp6_parser.yy @@ -63,6 +63,7 @@ using namespace std; USER "user" PASSWORD "password" HOST "host" + PORT "port" PERSIST "persist" LFC_INTERVAL "lfc-interval" READONLY "readonly" @@ -498,6 +499,7 @@ database_map_param: database_type | user | password | host + | port | name | persist | lfc_interval @@ -543,6 +545,11 @@ host: HOST { ctx.leave(); }; +port: PORT COLON INTEGER { + ElementPtr p(new IntElement($3, ctx.loc2pos(@3))); + ctx.stack_.back()->set("port", p); +}; + name: NAME { ctx.enter(ctx.NO_KEYWORD); } COLON STRING { -- 2.47.3