summaryrefslogtreecommitdiffstats
path: root/src/scanner.l
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2021-03-11 14:23:03 +0100
committerFlorian Westphal <fw@strlen.de>2021-03-16 23:59:38 +0100
commitffc19f40ac1075a6dc69894d556f8845aaec225b (patch)
tree24072710f69e79c5eae02dd5ac45accf2867c90d /src/scanner.l
parent5a5d809b398a920a5267a508a8620b5ee75ab414 (diff)
scanner: ip: move to own scope
Move the ip option names (rr, lsrr, ...) out of INITIAL scope. Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'src/scanner.l')
-rw-r--r--src/scanner.l17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/scanner.l b/src/scanner.l
index 1358f9d0..26294506 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -197,6 +197,7 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr})
%option warn
%option stack
%s SCANSTATE_CT
+%s SCANSTATE_IP
%s SCANSTATE_EXPR_HASH
%s SCANSTATE_EXPR_IPSEC
%s SCANSTATE_EXPR_NUMGEN
@@ -408,7 +409,7 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr})
"plen" { return PLEN; }
"operation" { return OPERATION; }
-"ip" { return IP; }
+"ip" { scanner_push_start_cond(yyscanner, SCANSTATE_IP); return IP; }
"version" { return HDRVERSION; }
"hdrlength" { return HDRLENGTH; }
"dscp" { return DSCP; }
@@ -419,13 +420,15 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr})
"protocol" { return PROTOCOL; }
"checksum" { return CHECKSUM; }
-"lsrr" { return LSRR; }
-"rr" { return RR; }
-"ssrr" { return SSRR; }
-"ra" { return RA; }
+<SCANSTATE_IP>{
+ "lsrr" { return LSRR; }
+ "rr" { return RR; }
+ "ssrr" { return SSRR; }
+ "ra" { return RA; }
-"value" { return VALUE; }
-"ptr" { return PTR; }
+ "ptr" { return PTR; }
+ "value" { return VALUE; }
+}
"echo" { return ECHO; }
"eol" { return EOL; }