summaryrefslogtreecommitdiffstats
path: root/src/lib/eval/parser.yy
diff options
context:
space:
mode:
authorShawn Routhier <sar@isc.org>2016-04-15 05:45:08 +0200
committerShawn Routhier <sar@isc.org>2016-04-15 05:45:08 +0200
commit48be5f5ceaba6b0d0a2b31465e8a5904524e894c (patch)
treea9bf42365d0ffd0f89160cefd03c353d4a484a90 /src/lib/eval/parser.yy
parent[master] Added ChangeLog entry for pull request #19. (diff)
parent[trac4269] Updates per review comments, basically change some variable names (diff)
downloadkea-48be5f5ceaba6b0d0a2b31465e8a5904524e894c.tar.xz
kea-48be5f5ceaba6b0d0a2b31465e8a5904524e894c.zip
Merge branch 'trac4269' Merge 4269 after updates to fix conflicts
Diffstat (limited to 'src/lib/eval/parser.yy')
-rw-r--r--src/lib/eval/parser.yy13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/eval/parser.yy b/src/lib/eval/parser.yy
index cc7ed8fd50..1fd28a66f3 100644
--- a/src/lib/eval/parser.yy
+++ b/src/lib/eval/parser.yy
@@ -58,6 +58,9 @@ using namespace isc::eval;
ALL "all"
COMA ","
CONCAT "concat"
+ PKT6 "pkt6"
+ MSGTYPE "msgtype"
+ TRANSID "transid"
;
%token <std::string> STRING "constant string"
@@ -70,6 +73,7 @@ using namespace isc::eval;
%type <TokenOption::RepresentationType> option_repr_type
%type <TokenRelay6Field::FieldType> relay6_field
%type <uint8_t> nest_level
+%type <TokenPkt6::FieldType> pkt6_field
%left OR
%left AND
@@ -231,6 +235,11 @@ string_expr : STRING
TokenPtr conc(new TokenConcat());
ctx.expression.push_back(conc);
}
+ | PKT6 "." pkt6_field
+ {
+ TokenPtr pkt6_field(new TokenPkt6($3));
+ ctx.expression.push_back(pkt6_field);
+ }
;
option_code : INTEGER
@@ -285,6 +294,10 @@ nest_level : INTEGER
// an option or field.
;
+pkt6_field:MSGTYPE { $$ = TokenPkt6::MSGTYPE; }
+ | TRANSID { $$ = TokenPkt6::TRANSID; }
+ ;
+
%%
void
isc::eval::EvalParser::error(const location_type& loc,