summaryrefslogtreecommitdiffstats
path: root/src/scanner.l
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2021-03-11 14:23:10 +0100
committerFlorian Westphal <fw@strlen.de>2021-03-16 23:59:44 +0100
commiteae252568525225102ccc2ad856e4e9d33e1b8ca (patch)
tree8ae82b524bfc58a91028046961e9bff57624620a /src/scanner.l
parentb775b928fdbd97053465e4f9eae5c4d653bdb8c3 (diff)
scanner: limit: move to own scope
Moves rate and burst out of INITIAL. 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 b664a794..2c5aae84 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_LIMIT
%s SCANSTATE_VLAN
%s SCANSTATE_EXPR_FIB
%s SCANSTATE_EXPR_HASH
@@ -363,9 +364,11 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr})
"bypass" { return BYPASS;}
"fanout" { return FANOUT;}
}
-"limit" { return LIMIT; }
-"rate" { return RATE; }
-"burst" { return BURST; }
+"limit" { scanner_push_start_cond(yyscanner, SCANSTATE_LIMIT); return LIMIT; }
+<SCANSTATE_LIMIT>{
+ "rate" { return RATE; }
+ "burst" { return BURST; }
+}
"until" { return UNTIL; }
"over" { return OVER; }