summaryrefslogtreecommitdiffstats
path: root/src/scanner.l
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2021-03-11 14:23:09 +0100
committerFlorian Westphal <fw@strlen.de>2021-03-16 23:59:43 +0100
commitb775b928fdbd97053465e4f9eae5c4d653bdb8c3 (patch)
tree1a720d31e4190c206a47e0b4e14b316a8e3b6a55 /src/scanner.l
parentdf4ee3171f3e3c0e85dd45d555d7d06e8c1647c5 (diff)
scanner: vlan: move to own scope
ID needs to remain exposed as its used by ct, icmp, icmp6 and so on. Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'src/scanner.l')
-rw-r--r--src/scanner.l9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/scanner.l b/src/scanner.l
index 728b2c79..b664a794 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -201,6 +201,7 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr})
%s SCANSTATE_ETH
%s SCANSTATE_IP
%s SCANSTATE_IP6
+%s SCANSTATE_VLAN
%s SCANSTATE_EXPR_FIB
%s SCANSTATE_EXPR_HASH
%s SCANSTATE_EXPR_IPSEC
@@ -403,10 +404,12 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr})
"type" { return TYPE; }
"typeof" { return TYPEOF; }
-"vlan" { return VLAN; }
+"vlan" { scanner_push_start_cond(yyscanner, SCANSTATE_VLAN); return VLAN; }
"id" { return ID; }
-"cfi" { return CFI; }
-"pcp" { return PCP; }
+<SCANSTATE_VLAN>{
+ "cfi" { return CFI; }
+ "pcp" { return PCP; }
+}
"arp" { scanner_push_start_cond(yyscanner, SCANSTATE_ARP); return ARP; }
<SCANSTATE_ARP>{