From: Tomek Mrugalski Date: Wed, 7 Mar 2018 12:48:41 +0000 (+0100) Subject: [5484] Grammar updated to handle new Cassandra parameters X-Git-Tag: kea5574_base~6^2~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=80356d27d36a51068866b8e79de031f90abdc28d;p=thirdparty%2Fkea.git [5484] Grammar updated to handle new Cassandra parameters --- diff --git a/src/bin/dhcp4/dhcp4_lexer.ll b/src/bin/dhcp4/dhcp4_lexer.ll index 2917f50423..99ffbb5af3 100644 --- a/src/bin/dhcp4/dhcp4_lexer.ll +++ b/src/bin/dhcp4/dhcp4_lexer.ll @@ -430,6 +430,46 @@ ControlCharacterFill [^"\\]|\\{JSONEscapeSequence} } } +\"reconnect-wait-time\" { + switch(driver.ctx_) { + case isc::dhcp::Parser4Context::LEASE_DATABASE: + case isc::dhcp::Parser4Context::HOSTS_DATABASE: + return isc::dhcp::Dhcp4Parser::make_RECONNECT_WAIT_TIME(driver.loc_); + default: + return isc::dhcp::Dhcp4Parser::make_STRING("reconnect-wait-time", driver.loc_); + } +} + +\"request-timeout\" { + switch(driver.ctx_) { + case isc::dhcp::Parser4Context::LEASE_DATABASE: + case isc::dhcp::Parser4Context::HOSTS_DATABASE: + return isc::dhcp::Dhcp4Parser::make_REQUEST_TIMEOUT(driver.loc_); + default: + return isc::dhcp::Dhcp4Parser::make_STRING("request-timeout", driver.loc_); + } +} + +\"tcp-keepalive\" { + switch(driver.ctx_) { + case isc::dhcp::Parser4Context::LEASE_DATABASE: + case isc::dhcp::Parser4Context::HOSTS_DATABASE: + return isc::dhcp::Dhcp4Parser::make_TCP_KEEPALIVE(driver.loc_); + default: + return isc::dhcp::Dhcp4Parser::make_STRING("tcp-keepalive", driver.loc_); + } +} + +\"tcp-nodelay\" { + switch(driver.ctx_) { + case isc::dhcp::Parser4Context::LEASE_DATABASE: + case isc::dhcp::Parser4Context::HOSTS_DATABASE: + return isc::dhcp::Dhcp4Parser::make_TCP_NODELAY(driver.loc_); + default: + return isc::dhcp::Dhcp4Parser::make_STRING("tcp-nodelay", driver.loc_); + } +} + \"contact-points\" { 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 2e1c0740e3..461c17faf8 100644 --- a/src/bin/dhcp4/dhcp4_parser.yy +++ b/src/bin/dhcp4/dhcp4_parser.yy @@ -85,6 +85,9 @@ using namespace std; KEYSPACE "keyspace" MAX_RECONNECT_TRIES "max-reconnect-tries" RECONNECT_WAIT_TIME "reconnect-wait-time" + REQUEST_TIMEOUT "request-timeout" + TCP_KEEPALIVE "tcp-keepalive" + TCP_NODELAY "tcp-nodelay" VALID_LIFETIME "valid-lifetime" RENEW_TIMER "renew-timer" @@ -587,6 +590,9 @@ database_map_param: database_type | contact_points | max_reconnect_tries | reconnect_wait_time + | request_timeout + | tcp_keepalive + | tcp_nodelay | keyspace | unknown_map_entry ; @@ -661,6 +667,26 @@ connect_timeout: CONNECT_TIMEOUT COLON INTEGER { ctx.stack_.back()->set("connect-timeout", n); }; +reconnect_wait_time: RECONNECT_WAIT_TIME COLON INTEGER { + ElementPtr n(new IntElement($3, ctx.loc2pos(@3))); + ctx.stack_.back()->set("reconnect-wait-time", n); +} + +request_timeout: REQUEST_TIMEOUT COLON INTEGER { + ElementPtr n(new IntElement($3, ctx.loc2pos(@3))); + ctx.stack_.back()->set("request-timeout", n); +} + +tcp_keepalive: TCP_KEEPALIVE COLON INTEGER { + ElementPtr n(new IntElement($3, ctx.loc2pos(@3))); + ctx.stack_.back()->set("tcp-keepalive", n); +} + +tcp_nodelay: TCP_NODELAY COLON BOOLEAN { + ElementPtr n(new BoolElement($3, ctx.loc2pos(@3))); + ctx.stack_.back()->set("tcp-nodelay", n); +} + contact_points: CONTACT_POINTS { ctx.enter(ctx.NO_KEYWORD); } COLON STRING { diff --git a/src/bin/dhcp6/dhcp6_lexer.ll b/src/bin/dhcp6/dhcp6_lexer.ll index 871fd523bc..0b229e001a 100644 --- a/src/bin/dhcp6/dhcp6_lexer.ll +++ b/src/bin/dhcp6/dhcp6_lexer.ll @@ -595,6 +595,46 @@ ControlCharacterFill [^"\\]|\\{JSONEscapeSequence} } } +\"reconnect-wait-time\" { + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::LEASE_DATABASE: + case isc::dhcp::Parser6Context::HOSTS_DATABASE: + return isc::dhcp::Dhcp6Parser::make_RECONNECT_WAIT_TIME(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("reconnect-wait-time", driver.loc_); + } +} + +\"request-timeout\" { + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::LEASE_DATABASE: + case isc::dhcp::Parser6Context::HOSTS_DATABASE: + return isc::dhcp::Dhcp6Parser::make_REQUEST_TIMEOUT(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("request-timeout", driver.loc_); + } +} + +\"tcp-keepalive\" { + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::LEASE_DATABASE: + case isc::dhcp::Parser6Context::HOSTS_DATABASE: + return isc::dhcp::Dhcp6Parser::make_TCP_KEEPALIVE(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("tcp-keepalive", driver.loc_); + } +} + +\"tcp-nodelay\" { + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::LEASE_DATABASE: + case isc::dhcp::Parser6Context::HOSTS_DATABASE: + return isc::dhcp::Dhcp6Parser::make_TCP_NODELAY(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("tcp-nodelay", driver.loc_); + } +} + \"contact-points\" { 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 7637245b41..1a6bc5e5d8 100644 --- a/src/bin/dhcp6/dhcp6_parser.yy +++ b/src/bin/dhcp6/dhcp6_parser.yy @@ -73,6 +73,10 @@ using namespace std; MAX_RECONNECT_TRIES "max-reconnect-tries" RECONNECT_WAIT_TIME "reconnect-wait-time" KEYSPACE "keyspace" + RECONNECT_WAIT_TIME "reconnect-wait-time" + REQUEST_TIMEOUT "request-timeout" + TCP_KEEPALIVE "tcp-keepalive" + TCP_NODELAY "tcp-nodelay" PREFERRED_LIFETIME "preferred-lifetime" VALID_LIFETIME "valid-lifetime" @@ -557,6 +561,9 @@ database_map_param: database_type | contact_points | max_reconnect_tries | reconnect_wait_time + | request_timeout + | tcp_keepalive + | tcp_nodelay | keyspace | unknown_map_entry ; @@ -631,6 +638,26 @@ connect_timeout: CONNECT_TIMEOUT COLON INTEGER { ctx.stack_.back()->set("connect-timeout", n); }; +reconnect_wait_time: RECONNECT_WAIT_TIME COLON INTEGER { + ElementPtr n(new IntElement($3, ctx.loc2pos(@3))); + ctx.stack_.back()->set("reconnect-wait-time", n); +} + +request_timeout: REQUEST_TIMEOUT COLON INTEGER { + ElementPtr n(new IntElement($3, ctx.loc2pos(@3))); + ctx.stack_.back()->set("request-timeout", n); +} + +tcp_keepalive: TCP_KEEPALIVE COLON INTEGER { + ElementPtr n(new IntElement($3, ctx.loc2pos(@3))); + ctx.stack_.back()->set("tcp-keepalive", n); +} + +tcp_nodelay: TCP_NODELAY COLON BOOLEAN { + ElementPtr n(new BoolElement($3, ctx.loc2pos(@3))); + ctx.stack_.back()->set("tcp-nodelay", n); +} + contact_points: CONTACT_POINTS { ctx.enter(ctx.NO_KEYWORD); } COLON STRING {