aboutsummaryrefslogtreecommitdiffstats
path: root/nest
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2023-04-27 18:20:49 +0200
committerOndrej Zajicek <santiago@crfreenet.org>2023-04-27 18:41:01 +0200
commita8a64ca0fed41c78376b27880e934296bd3c3a7f (patch)
treeb07dce29bd01d67438438278bc8af89879faba12 /nest
parent9b471e72d75c154f3b8c4fa134c7c9f1a55fe27f (diff)
downloadbird-a8a64ca0fed41c78376b27880e934296bd3c3a7f.tar.gz
Conf: Improve handling of keywords
For whatever reason, parser allocated a symbol for every parsed keyword in each scope. That wasted time and memory. The effect is worsened with recent changes allowing local scopes, so keywords often promote soft scopes (with no symbols) to real scopes. Do not allocate a symbol for a keyword. Take care of keywords that could be promoted to symbols (kw_sym) and do it explicitly.
Diffstat (limited to 'nest')
-rw-r--r--nest/config.Y2
1 files changed, 2 insertions, 0 deletions
diff --git a/nest/config.Y b/nest/config.Y
index e78350ca..c83c715b 100644
--- a/nest/config.Y
+++ b/nest/config.Y
@@ -154,6 +154,8 @@ CF_ENUM_PX(T_ENUM_AF, AF_, AFI_, IPV4, IPV6)
CF_GRAMMAR
+kw_sym: MIN MAX ;
+
/* Setting of router ID */
conf: rtrid ;